diff --git a/Crusader.rep/idata/00/~00000006.db/db.138.gbf b/Crusader.rep/idata/00/~00000006.db/db.155.gbf similarity index 97% rename from Crusader.rep/idata/00/~00000006.db/db.138.gbf rename to Crusader.rep/idata/00/~00000006.db/db.155.gbf index 6059902..1ef8aa5 100644 Binary files a/Crusader.rep/idata/00/~00000006.db/db.138.gbf and b/Crusader.rep/idata/00/~00000006.db/db.155.gbf differ diff --git a/Crusader.rep/idata/00/~00000006.db/db.137.gbf b/Crusader.rep/idata/00/~00000006.db/db.156.gbf similarity index 97% rename from Crusader.rep/idata/00/~00000006.db/db.137.gbf rename to Crusader.rep/idata/00/~00000006.db/db.156.gbf index f4b50ec..33a5a48 100644 Binary files a/Crusader.rep/idata/00/~00000006.db/db.137.gbf and b/Crusader.rep/idata/00/~00000006.db/db.156.gbf differ diff --git a/Crusader.rep/user/00/~00000005.db/db.32.gbf b/Crusader.rep/user/00/~00000005.db/db.34.gbf similarity index 99% rename from Crusader.rep/user/00/~00000005.db/db.32.gbf rename to Crusader.rep/user/00/~00000005.db/db.34.gbf index 90d1205..451399e 100644 Binary files a/Crusader.rep/user/00/~00000005.db/db.32.gbf and b/Crusader.rep/user/00/~00000005.db/db.34.gbf differ diff --git a/Crusader_Decomp.code-workspace b/Crusader_Decomp.code-workspace index f82d8dc..1d47ec6 100644 --- a/Crusader_Decomp.code-workspace +++ b/Crusader_Decomp.code-workspace @@ -8,6 +8,9 @@ }, { "path": "../../misc/scummvm" + }, + { + "path": "../../misc/pentagram" } ], "settings": { diff --git a/USECODE/EUSECODE_extracted/README.md b/USECODE/EUSECODE_extracted/README.md index 99b56eb..22d1a5f 100644 --- a/USECODE/EUSECODE_extracted/README.md +++ b/USECODE/EUSECODE_extracted/README.md @@ -443,3 +443,5 @@ ASCII: `........................................................................ - `vm_mask_ladder.tsv` records the current `entity_vm_context_try_create_masked_for_entity` wrapper ladder in machine-readable form so gameplay mask lanes can be compared against descriptor-side families without reopening the notes. - `readable_script_ir.md` and `readable_script_ir.tsv` join descriptor neighborhoods, the verified VM IR, the runtime owner/source path, and the current mask-family hints into one conservative script-facing bridge artifact. - `runtime_descriptor_family_rankings.md` and `runtime_descriptor_family_rankings.tsv` rank descriptor families against the verified runtime lanes so the current human-readable script bridge is searchable by family fit rather than only by neighborhood dumps. +- `immortality_target_body_scan.md` and `immortality_target_body_scan.tsv` now scan the strongest current immortality candidates (`EVENT`, `NPCTRIG`, `_BOOT`, `SFXTRIG`, `SPECIAL`, `TRIGPAD`) for inline `0x410` literals and record the tightest remaining active-event template frontier. +- `immortality_npctrig_clauses.md` and `immortality_npctrig_clauses.tsv` now split the compact `NPCTRIG` slot `0x0A` / `0x20` bodies into prefix, clause, and tail regions so the event-bearing ladder can be compared against the typed/setup companion body without reopening raw hex. diff --git a/USECODE/EUSECODE_extracted/immortality_body_structure.md b/USECODE/EUSECODE_extracted/immortality_body_structure.md new file mode 100644 index 0000000..c21f635 --- /dev/null +++ b/USECODE/EUSECODE_extracted/immortality_body_structure.md @@ -0,0 +1,75 @@ +# Immortality Body Structure + +This report decodes one layer deeper than the literal scan for the surviving EVENT and NPCTRIG frontier. +It is still heuristic: the output is limited to repeatable byte grammar, subheader boundaries, field-tag trailers, and motif offsets that can be cross-checked against the 000d slot-backed runtime lane. + +## EVENT slot `0x0A` + +- Body length: `8150` bytes. +- Open header: `0x5A 0x2F 0x5C 0x1EF5` -> `EVENT` with embedded event-code byte `0x11`. +- Clause terminators (`0x7A`): `3`; local labels (`0x5B`): `383`. +- Internal labeled subheaders (`0x53 0x5C EVENT`): `90` -> `0x0088->0x1E6E`, `0x00F8->0x1DFE`, `0x0123->0x1DD3`, `0x0149->0x1DAD`, `0x0174->0x1D82`, `0x01CC->0x1D2A`, `0x0210->0x1CE6`, `0x0236->0x1CC0`, `0x0261->0x1C95`, `0x028E->0x1C68`, `0x02B9->0x1C3D`, `0x0361->0x1B95`. +- Tail field tags: `69:0000->referent`, `69:000A->event`, `24:02FE->item`, `69:6574->m`, `24:02FC->source`, `24:02FA->dest`, `24:02F8->door`, `24:05F3->wp`, `69:00F1->counter`, `69:00EF->counter2`, `24:02ED->n`, `69:00EB->link`, `69:00E9->cx`, `69:00E7->cy`, `69:00E5->ex`, `69:00E3->ey`, `69:00E1->time`, `69:00DF->op`, `69:00DD->opp`, `24:02DB->post1`, `24:02D9->post2`, `24:02D7->floor`, `69:00D5->dir`, `69:00D3->qHi`, `24:02D1->flicMan`, `69:4D63->an`. + +| Motif | Count | First Offsets | +|---|---:|---| +| `call_40_06_4c_02` | 47 | `0x0011,0x010F,0x0160,0x024D,0x02A5,0x034D,0x0396,0x03F2,0x0422,0x047C,...` | +| `call_40_06_0f_04` | 50 | `0x001A,0x003C,0x0045,0x00C6,0x00D4,0x01EB,0x01F4,0x032D,0x0374,0x03D2,...` | +| `subheader_53_5c` | 90 | `0x0088,0x00F8,0x0123,0x0149,0x0174,0x01CC,0x0210,0x0236,0x0261,0x028E,...` | +| `writeback_57_02` | 44 | `0x007A,0x00EA,0x013B,0x01BE,0x0228,0x068F,0x0708,0x0799,0x08EA,0x0949,...` | +| `branch_59_0a` | 61 | `0x0072,0x00E2,0x0108,0x0133,0x0159,0x01B6,0x0220,0x0246,0x029E,0x0346,...` | +| `branch_3f_0a` | 39 | `0x0025,0x0057,0x019B,0x0271,0x02D4,0x02EE,0x0308,0x0322,0x03C7,0x045E,...` | +| `field_4b_fe_0f` | 23 | `0x0408,0x0412,0x0439,0x044D,0x0493,0x04A3,0x04EF,0x04FF,0x055E,0x0587,...` | +| `field_4b_fc_0f` | 3 | `0x0569,0x0575,0x057E` | +| `push_24_51` | 51 | `0x0029,0x005B,0x019F,0x0275,0x02D8,0x02F2,0x030C,0x0326,0x033F,0x03CB,...` | +| `event_field_69_0a_00` | 1 | `0x1F09` | + +## NPCTRIG slot `0x0A` + +- Body length: `373` bytes. +- Open header: `0x5A 0x06 0x5C 0x013E` -> `NPCTRIG` with embedded event-code byte `0x11`. +- Clause terminators (`0x7A`): `1`; local labels (`0x5B`): `12`. +- Internal labeled subheaders (`0x53 0x5C NPCTRIG`): `5` -> `0x0064->0x00DB`, `0x0093->0x00AC`, `0x00C2->0x007D`, `0x00F1->0x004E`, `0x0120->0x001F`. +- Tail field tags: `69:0000->referent`, `69:000A->event`, `24:02FE->item`, `69:6574->m`, `24:02FC->item2`, `69:6574->m2`, `24:02FA->n`. + +| Motif | Count | First Offsets | +|---|---:|---| +| `call_40_06_4c_02` | 1 | `0x0011` | +| `call_40_06_0f_04` | 1 | `0x001D` | +| `subheader_53_5c` | 5 | `0x0064,0x0093,0x00C2,0x00F1,0x0120` | +| `writeback_57_02` | 5 | `0x0056,0x0085,0x00B4,0x00E3,0x0112` | +| `branch_59_0a` | 0 | `-` | +| `branch_3f_0a` | 5 | `0x0045,0x0074,0x00A3,0x00D2,0x0101` | +| `field_4b_fe_0f` | 0 | `-` | +| `field_4b_fc_0f` | 0 | `-` | +| `push_24_51` | 5 | `0x0049,0x0078,0x00A7,0x00D6,0x0105` | +| `event_field_69_0a_00` | 1 | `0x0152` | + +## NPCTRIG slot `0x20` + +- Body length: `345` bytes. +- Open header: `0x5A 0x06 0x5C 0x0120` -> `NPCTRIG` with embedded event-code byte `0x01`. +- Clause terminators (`0x7A`): `1`; local labels (`0x5B`): `19`. +- Internal labeled subheaders (`0x53 0x5C NPCTRIG`): `1` -> `0x00BA->0x0067`. +- Tail field tags: `69:0000->referent`, `69:000A->typeNpc`, `24:02FE->n`, `24:02FC->item`, `69:6574->m`, `24:02FA->item2`, `69:6574->m2`. + +| Motif | Count | First Offsets | +|---|---:|---| +| `call_40_06_4c_02` | 2 | `0x0011,0x002C` | +| `call_40_06_0f_04` | 3 | `0x0085,0x008E,0x0097` | +| `subheader_53_5c` | 1 | `0x00BA` | +| `writeback_57_02` | 0 | `-` | +| `branch_59_0a` | 0 | `-` | +| `branch_3f_0a` | 1 | `0x0051` | +| `field_4b_fe_0f` | 10 | `0x0053,0x0060,0x006D,0x007A,0x00A0,0x00CC,0x00D9,0x00E6,0x0107,0x0119` | +| `field_4b_fc_0f` | 0 | `-` | +| `push_24_51` | 0 | `-` | +| `event_field_69_0a_00` | 1 | `0x0134` | + +## Current Read + +- `EVENT 0x0A` is the generic hub-shaped body: it has `90` internal labeled subheaders and the widest field trailer (`69:0000->referent, 69:000A->event, 24:02FE->item, 69:6574->m, 24:02FC->source, 24:02FA->dest, 24:02F8->door, 24:05F3->wp, 69:00F1->counter, 69:00EF->counter2, 24:02ED->n, 69:00EB->link, 69:00E9->cx, 69:00E7->cy, 69:00E5->ex, 69:00E3->ey, 69:00E1->time, 69:00DF->op, 69:00DD->opp, 24:02DB->post1, 24:02D9->post2, 24:02D7->floor, 69:00D5->dir, 69:00D3->qHi, 24:02D1->flicMan, 69:4D63->an`). +- `NPCTRIG 0x0A` is the compact player-trigger candidate: it reuses the same class-labelled open header and subheader grammar, but it stays constrained to `69:0000->referent, 69:000A->event, 24:02FE->item, 69:6574->m, 24:02FC->item2, 69:6574->m2, 24:02FA->n` instead of the wider EVENT field set. +- `NPCTRIG 0x20` keeps the same constrained field set as `NPCTRIG 0x0A` and changes only the embedded prolog event-code byte (`0x01` vs `0x11`), which fits a variant trigger/setup lane better than a separate generic hub. +- The repeated `0x53 0x5C LABEL` subheaders and dense `0x5B ` local labels make these bodies look like inline clause streams rather than single flat payloads, which is consistent with the `000d:21ed -> 000d:22bc` runtime lane that copies variable-length inline bytes first and only then consumes compact metadata bytes plus streamed words. +- The surviving slot focus is still `0x0A`: both EVENT and NPCTRIG expose non-zero slot-`0x0A` bodies, and the runtime side has an exact offset-specialized masked wrapper for slot `0x0A` at `0005:2c35` (`entity_vm_context_try_create_mask_0400_slot0a_with_offset`). diff --git a/USECODE/EUSECODE_extracted/immortality_body_structure.tsv b/USECODE/EUSECODE_extracted/immortality_body_structure.tsv new file mode 100644 index 0000000..dbf2c6d --- /dev/null +++ b/USECODE/EUSECODE_extracted/immortality_body_structure.tsv @@ -0,0 +1,4 @@ +entry_index class_name slot event_name_hint body_length header_open_arg header_target header_label header_event_code clause_terminator_count local_label_count subheader_count subheader_targets tail_fields all_fields motif_counts motif_offsets +190 EVENT 0x0A equip 8150 0x2F 0x1EF5 EVENT 0x11 3 383 90 0x0088->0x1E6E,0x00F8->0x1DFE,0x0123->0x1DD3,0x0149->0x1DAD,0x0174->0x1D82,0x01CC->0x1D2A,0x0210->0x1CE6,0x0236->0x1CC0,0x0261->0x1C95,0x028E->0x1C68,0x02B9->0x1C3D,0x0361->0x1B95,0x03AA->0x1B4C,0x069D->0x1859,0x0716->0x17E0,0x073C->0x17BA,0x07A7->0x174F,0x07CD->0x1729,0x07F3->0x1703,0x0819->0x16DD,0x0849->0x16AD,0x089E->0x1658,0x08F8->0x15FE,0x0926->0x15D0,0x0957->0x159F,0x09BD->0x1539,0x09E4->0x1512,0x0AD0->0x1426,0x0AF6->0x1400,0x0B21->0x13D5,0x0B47->0x13AF,0x0B70->0x1386,0x0C6F->0x1287,0x0C95->0x1261,0x0CC0->0x1236,0x0CE6->0x1210,0x0D0F->0x11E7,0x0DA0->0x1156,0x0DC9->0x112D,0x0DF4->0x1102,0x0E1D->0x10D9,0x0E99->0x105D,0x0EBF->0x1037,0x0EEA->0x100C,0x0F44->0x0FB2,0x0F6A->0x0F8C,0x0FF1->0x0F05,0x1017->0x0EDF,0x1071->0x0E85,0x1097->0x0E5F,0x113F->0x0DB7,0x1165->0x0D91,0x1190->0x0D66,0x11EA->0x0D0C,0x1210->0x0CE6,0x127D->0x0C79,0x136C->0x0B8A,0x13FA->0x0AFC,0x146D->0x0A89,0x14A0->0x0A56,0x14EE->0x0A08,0x1515->0x09E1,0x155C->0x099A,0x1589->0x096D,0x1654->0x08A2,0x16B5->0x0841,0x17F5->0x0701,0x181B->0x06DB,0x1846->0x06B0,0x186C->0x068A,0x18F7->0x05FF,0x19E9->0x050D,0x1A0F->0x04E7,0x1A3A->0x04BC,0x1A60->0x0496,0x1A89->0x046D,0x1AD6->0x0420,0x1B09->0x03ED,0x1B7E->0x0378,0x1C59->0x029D,0x1C80->0x0276,0x1CCF->0x0227,0x1CF5->0x0201,0x1D21->0x01D5,0x1D97->0x015F,0x1DD2->0x0124,0x1E00->0x00F6,0x1E44->0x00B2,0x1E72->0x0084,0x1EE6->0x0010 69:0000->referent,69:000A->event,24:02FE->item,69:6574->m,24:02FC->source,24:02FA->dest,24:02F8->door,24:05F3->wp,69:00F1->counter,69:00EF->counter2,24:02ED->n,69:00EB->link,69:00E9->cx,69:00E7->cy,69:00E5->ex,69:00E3->ey,69:00E1->time,69:00DF->op,69:00DD->opp,24:02DB->post1,24:02D9->post2,24:02D7->floor,69:00D5->dir,69:00D3->qHi,24:02D1->flicMan,69:4D63->an 24:4501->VENT,69:0000->referent,69:000A->event,24:02FE->item,69:6574->m,24:02FC->source,24:02FA->dest,24:02F8->door,24:05F3->wp,69:00F1->counter,69:00EF->counter2,24:02ED->n,69:00EB->link,69:00E9->cx,69:00E7->cy,69:00E5->ex,69:00E3->ey,69:00E1->time,69:00DF->op,69:00DD->opp,24:02DB->post1,24:02D9->post2,24:02D7->floor,69:00D5->dir,69:00D3->qHi,24:02D1->flicMan,69:4D63->an call_40_06_4c_02:47,call_40_06_0f_04:50,subheader_53_5c:90,writeback_57_02:44,branch_59_0a:61,branch_3f_0a:39,field_4b_fe_0f:23,field_4b_fc_0f:3,push_24_51:51,event_field_69_0a_00:1 call_40_06_4c_02=0x0011,0x010F,0x0160,0x024D,0x02A5,0x034D,0x0396,0x03F2,0x0422,0x047C,...,call_40_06_0f_04=0x001A,0x003C,0x0045,0x00C6,0x00D4,0x01EB,0x01F4,0x032D,0x0374,0x03D2,...,subheader_53_5c=0x0088,0x00F8,0x0123,0x0149,0x0174,0x01CC,0x0210,0x0236,0x0261,0x028E,...,writeback_57_02=0x007A,0x00EA,0x013B,0x01BE,0x0228,0x068F,0x0708,0x0799,0x08EA,0x0949,...,branch_59_0a=0x0072,0x00E2,0x0108,0x0133,0x0159,0x01B6,0x0220,0x0246,0x029E,0x0346,...,branch_3f_0a=0x0025,0x0057,0x019B,0x0271,0x02D4,0x02EE,0x0308,0x0322,0x03C7,0x045E,...,field_4b_fe_0f=0x0408,0x0412,0x0439,0x044D,0x0493,0x04A3,0x04EF,0x04FF,0x055E,0x0587,...,field_4b_fc_0f=0x0569,0x0575,0x057E,push_24_51=0x0029,0x005B,0x019F,0x0275,0x02D8,0x02F2,0x030C,0x0326,0x033F,0x03CB,...,event_field_69_0a_00=0x1F09 +191 NPCTRIG 0x0A equip 373 0x06 0x013E NPCTRIG 0x11 1 12 5 0x0064->0x00DB,0x0093->0x00AC,0x00C2->0x007D,0x00F1->0x004E,0x0120->0x001F 69:0000->referent,69:000A->event,24:02FE->item,69:6574->m,24:02FC->item2,69:6574->m2,24:02FA->n 69:0000->referent,69:000A->event,24:02FE->item,69:6574->m,24:02FC->item2,69:6574->m2,24:02FA->n call_40_06_4c_02:1,call_40_06_0f_04:1,subheader_53_5c:5,writeback_57_02:5,branch_59_0a:0,branch_3f_0a:5,field_4b_fe_0f:0,field_4b_fc_0f:0,push_24_51:5,event_field_69_0a_00:1 call_40_06_4c_02=0x0011,call_40_06_0f_04=0x001D,subheader_53_5c=0x0064,0x0093,0x00C2,0x00F1,0x0120,writeback_57_02=0x0056,0x0085,0x00B4,0x00E3,0x0112,branch_3f_0a=0x0045,0x0074,0x00A3,0x00D2,0x0101,push_24_51=0x0049,0x0078,0x00A7,0x00D6,0x0105,event_field_69_0a_00=0x0152 +191 NPCTRIG 0x20 345 0x06 0x0120 NPCTRIG 0x01 1 19 1 0x00BA->0x0067 69:0000->referent,69:000A->typeNpc,24:02FE->n,24:02FC->item,69:6574->m,24:02FA->item2,69:6574->m2 24:3D74->t@[S,69:0000->referent,69:000A->typeNpc,24:02FE->n,24:02FC->item,69:6574->m,24:02FA->item2,69:6574->m2 call_40_06_4c_02:2,call_40_06_0f_04:3,subheader_53_5c:1,writeback_57_02:0,branch_59_0a:0,branch_3f_0a:1,field_4b_fe_0f:10,field_4b_fc_0f:0,push_24_51:0,event_field_69_0a_00:1 call_40_06_4c_02=0x0011,0x002C,call_40_06_0f_04=0x0085,0x008E,0x0097,subheader_53_5c=0x00BA,branch_3f_0a=0x0051,field_4b_fe_0f=0x0053,0x0060,0x006D,0x007A,0x00A0,0x00CC,0x00D9,0x00E6,0x0107,0x0119,event_field_69_0a_00=0x0134 diff --git a/USECODE/EUSECODE_extracted/immortality_npctrig_clauses.md b/USECODE/EUSECODE_extracted/immortality_npctrig_clauses.md new file mode 100644 index 0000000..ad05d97 --- /dev/null +++ b/USECODE/EUSECODE_extracted/immortality_npctrig_clauses.md @@ -0,0 +1,118 @@ +# Immortality NPCTRIG Clauses + +This report focuses on the surviving compact NPCTRIG frontier and splits the extracted slot bodies into prefix, clause, and tail regions. +It is intended to make the slot `0x0A` versus slot `0x20` difference explicit enough to compare against the runtime-side slot-`0x0A` consumer path. + +## NPCTRIG slot `0x0A` + +- Event hint: `equip`. +- Open header: `0x5A 0x06 0x5C 0x013E` -> `NPCTRIG` with event-code byte `0x11`. +- First tail-field offset: `0x0145`. +- Subheader offsets: `0x0064`, `0x0093`, `0x00C2`, `0x00F1`, `0x0120`. +- Subheader targets: `0x00DB`, `0x00AC`, `0x007D`, `0x004E`, `0x001F`. +- Subheader offset deltas: `0x2F`, `0x2F`, `0x2F`, `0x2F`. +- Subheader target deltas: `0xFFD1`, `0xFFD1`, `0xFFD1`, `0xFFD1`. +- Runtime-shape motifs: `writeback_57_02=yes`, `push_24_51=yes`, `field_4b_fe_0f=0`. + +| Segment | Range | Len | Local Labels | Subheaders | Branch 3F 0A | Writeback 57 02 | Push 24 51 | Field 4B FE 0F | Motif Offsets | Prefix | Suffix | +|---|---|---:|---|---:|---:|---:|---:|---:|---|---|---| +| prefix | `0x0000..0x0064` | 100 | `0x0017,0x001A,0x0026,0x0030,0x0036,0x004D` | 0 | 1 | 1 | 1 | 0 | `branch_3f_0a=+0x45; writeback_57_02=+0x56; push_24_51=+0x49` | `5a065c3e014e50435452494700000b11` | `02630320006efe5e54010112` | +| clause_1 | `0x0064..0x0093` | 47 | `0x007C` | 1 | 1 | 1 | 1 | 0 | `subheader_53_5c=+0x00; branch_3f_0a=+0x10; writeback_57_02=+0x21; push_24_51=+0x14` | `535cdb004e504354524947000052bc00` | `02630320006efe5e54010112` | +| clause_2 | `0x0093..0x00C2` | 47 | `0x00AB` | 1 | 1 | 1 | 1 | 0 | `subheader_53_5c=+0x00; branch_3f_0a=+0x10; writeback_57_02=+0x21; push_24_51=+0x14` | `535cac004e5043545249470000528d00` | `02630320006efe5e54010112` | +| clause_3 | `0x00C2..0x00F1` | 47 | `0x00DA` | 1 | 1 | 1 | 1 | 0 | `subheader_53_5c=+0x00; branch_3f_0a=+0x10; writeback_57_02=+0x21; push_24_51=+0x14` | `535c7d004e5043545249470000525e00` | `02630320006efe5e54010112` | +| clause_4 | `0x00F1..0x0120` | 47 | `0x0109` | 1 | 1 | 1 | 1 | 0 | `subheader_53_5c=+0x00; branch_3f_0a=+0x10; writeback_57_02=+0x21; push_24_51=+0x14` | `535c4e004e5043545249470000522f00` | `02630320006efe5e54010112` | +| clause_5 | `0x0120..0x0145` | 37 | `0x0130,0x013F` | 1 | 0 | 0 | 0 | 0 | `subheader_53_5c=+0x00` | `535c1f004e5043545249470000520000` | `1e0a24006efa5b4700500501` | +| tail | `0x0145..0x0175` | 48 | `-` | 0 | 0 | 0 | 0 | 0 | `-` | `6900007265666572656e740000690a00` | `74656d32000024fa026e007a` | + +Repeated windows (8-byte): + +- `4E 50 43 54 52 49 47 00` at `0x0005`, `0x0068`, `0x0097`, `0x00C6`, `0x00F5`, `0x0124` +- `50 43 54 52 49 47 00 00` at `0x0006`, `0x0069`, `0x0098`, `0x00C7`, `0x00F6`, `0x0125` +- `40 06 57 02 02 63 03 20` at `0x0054`, `0x0083`, `0x00B2`, `0x00E1`, `0x0110` +- `06 57 02 02 63 03 20 00` at `0x0055`, `0x0084`, `0x00B3`, `0x00E2`, `0x0111` +- `57 02 02 63 03 20 00 6E` at `0x0056`, `0x0085`, `0x00B4`, `0x00E3`, `0x0112` +- `02 02 63 03 20 00 6E FE` at `0x0057`, `0x0086`, `0x00B5`, `0x00E4`, `0x0113` + +Repeated windows (6-byte): + +- `4E 50 43 54 52 49` at `0x0005`, `0x0068`, `0x0097`, `0x00C6`, `0x00F5`, `0x0124` +- `50 43 54 52 49 47` at `0x0006`, `0x0069`, `0x0098`, `0x00C7`, `0x00F6`, `0x0125` +- `43 54 52 49 47 00` at `0x0007`, `0x006A`, `0x0099`, `0x00C8`, `0x00F7`, `0x0126` +- `54 52 49 47 00 00` at `0x0008`, `0x006B`, `0x009A`, `0x00C9`, `0x00F8`, `0x0127` +- `40 06 57 02 02 63` at `0x0054`, `0x0083`, `0x00B2`, `0x00E1`, `0x0110` +- `06 57 02 02 63 03` at `0x0055`, `0x0084`, `0x00B3`, `0x00E2`, `0x0111` + +Runtime-fit candidates: + +- Candidate clause selector starts: `0x0064`, `0x0093`, `0x00C2`, `0x00F1`, `0x0120`. +- Candidate clause selector targets: `0x00DB`, `0x00AC`, `0x007D`, `0x004E`, `0x001F`. +- Uniform selector stride: `0x2F`; full clauses carrying both `push_24_51` and `writeback_57_02`: `4`. +- Runtime side anchor: `000d:5572` proves the wrapper extra word is additive (`entity_vm_slot_load_value(...) + offset`), while `000d:21ed -> 000d:2433` copies one inline blob, reads two signed metadata bytes, then consumes a word matrix where byte A controls the lead-word row count and byte B controls the shared target-list width. + +Tail field offsets: + +- `0x0145` -> `69:0000->referent` +- `0x0152` -> `69:000A->event` +- `0x015C` -> `24:02FE->item` +- `0x015F` -> `69:6574->m` +- `0x0165` -> `24:02FC->item2` +- `0x0168` -> `69:6574->m2` +- `0x016F` -> `24:02FA->n` + +## NPCTRIG slot `0x20` + +- Event hint: `-`. +- Open header: `0x5A 0x06 0x5C 0x0120` -> `NPCTRIG` with event-code byte `0x01`. +- First tail-field offset: `0x0127`. +- Subheader offsets: `0x00BA`. +- Subheader targets: `0x0067`. +- Subheader offset deltas: `-`. +- Subheader target deltas: `-`. +- Runtime-shape motifs: `writeback_57_02=no`, `push_24_51=no`, `field_4b_fe_0f=10`. + +| Segment | Range | Len | Local Labels | Subheaders | Branch 3F 0A | Writeback 57 02 | Push 24 51 | Field 4B FE 0F | Motif Offsets | Prefix | Suffix | +|---|---|---:|---|---:|---:|---:|---:|---:|---|---|---| +| prefix | `0x0000..0x00BA` | 186 | `0x001C,0x0029,0x0037,0x0044,0x004C,0x004D,0x005B,0x0068` | 0 | 1 | 0 | 0 | 5 | `branch_3f_0a=+0x51; field_4b_fe_0f=+0x53,+0x60,+0x6D,+0x7A,+0xA0` | `5a065c20014e50435452494700000b01` | `570002110a23005e54010112` | +| clause_1 | `0x00BA..0x0127` | 109 | `0x00C7,0x00D4,0x00E1,0x00EE,0x00F1,0x00FF,0x0112,0x0121` | 1 | 0 | 0 | 0 | 5 | `subheader_53_5c=+0x00; field_4b_fe_0f=+0x12,+0x1F,+0x2C,+0x4D,+0x5F` | `535c67004e50435452494700005b6200` | `0f06e5006efa5b6f00500501` | +| tail | `0x0127..0x0159` | 50 | `-` | 0 | 0 | 0 | 0 | 0 | `-` | `6900007265666572656e740000690a00` | `000024fa026974656d32007a` | + +Repeated windows (8-byte): + +- `4E 50 43 54 52 49 47 00` at `0x0005`, `0x00BE` +- `50 43 54 52 49 47 00 00` at `0x0006`, `0x00BF` +- `4B FE 0F 06 52 00 6E FA` at `0x0060`, `0x00CC` +- `FE 0F 06 52 00 6E FA 5B` at `0x0061`, `0x00CD` +- `4B FE 0F 06 53 00 6E FA` at `0x006D`, `0x00D9` +- `FE 0F 06 53 00 6E FA 5B` at `0x006E`, `0x00DA` + +Repeated windows (6-byte): + +- `00 0A 00 4B FE 0F` at `0x005D`, `0x006A`, `0x0077` +- `0A 00 4B FE 0F 06` at `0x005E`, `0x006B`, `0x0078` +- `00 0A 05 4B FE 0F` at `0x00C9`, `0x00D6`, `0x00E3` +- `0A 05 4B FE 0F 06` at `0x00CA`, `0x00D7`, `0x00E4` +- `4E 50 43 54 52 49` at `0x0005`, `0x00BE` +- `50 43 54 52 49 47` at `0x0006`, `0x00BF` + +Runtime-fit candidates: + +- Candidate clause selector starts: `0x00BA`. +- Candidate clause selector targets: `0x0067`. +- Uniform selector stride: `-`; full clauses carrying both `push_24_51` and `writeback_57_02`: `0`. +- Runtime side anchor: `000d:5572` proves the wrapper extra word is additive (`entity_vm_slot_load_value(...) + offset`), while `000d:21ed -> 000d:2433` copies one inline blob, reads two signed metadata bytes, then consumes a word matrix where byte A controls the lead-word row count and byte B controls the shared target-list width. + +Tail field offsets: + +- `0x0127` -> `69:0000->referent` +- `0x0134` -> `69:000A->typeNpc` +- `0x0140` -> `24:02FE->n` +- `0x0146` -> `24:02FC->item` +- `0x0149` -> `69:6574->m` +- `0x014F` -> `24:02FA->item2` +- `0x0152` -> `69:6574->m2` + +## Current Read + +- Slot `0x0A` now reads as a repeated clause ladder, not a monolithic blob: `5` subheaders sit on a uniform `0x2F, 0x2F, 0x2F, 0x2F` byte stride, and their targets walk backward by `0xFFD1, 0xFFD1, 0xFFD1, 0xFFD1`. Each clause block carries one `branch_3f_0a`, one `push_24_51`, and one `writeback_57_02`, which fits an event-bearing clause stream better than a pure type filter. +- Slot `0x20` is structurally different even before the tail fields: its open event-code byte is `0x01` instead of `0x11`, it has only one class-labelled subheader, no `writeback_57_02`, no `push_24_51`, and `10` `field_4b_fe_0f` hits concentrated around repeated `0x0A 00/05 4B FE 0F ...` windows. That is a materially better fit for a typed gate or setup/attachment body than for the live event-emission ladder. +- This split matches the current runtime-side bridge better than the previous undifferentiated frontier. The verified slot-`0x0A` wrapper `0005:2c35` seeds mask `0x0400`, slot `0x0A`, and one additive word that `000d:5572` applies directly to the loaded slot value before `000d:21ed` consumes the result. The exact `000d:21ed -> 000d:22bc` contract is now narrower too: after copying the inline blob it reads two signed bytes, uses byte A as the lead-word row count, uses byte B as the shared target-list width, performs `A x B` `entity_link` calls, and pushes back only non-`0x0400` words. `NPCTRIG slot 0x0A` is the only surviving compact body here with a natural five-row selector family (`5` evenly spaced clause starts at stride `0x2F`), while slot `0x20` offers only one clause and no matching writeback/push motif. diff --git a/USECODE/EUSECODE_extracted/immortality_npctrig_clauses.tsv b/USECODE/EUSECODE_extracted/immortality_npctrig_clauses.tsv new file mode 100644 index 0000000..7442f17 --- /dev/null +++ b/USECODE/EUSECODE_extracted/immortality_npctrig_clauses.tsv @@ -0,0 +1,3 @@ +slot event_name_hint body_length header_target header_event_code subheader_offsets subheader_targets subheader_offset_deltas subheader_target_deltas uniform_stride full_clause_count tail_start has_writeback has_push_2451 field_4b_fe_0f_count repeated_windows_8 repeated_windows_6 +0x0A equip 373 0x013E 0x11 0x0064,0x0093,0x00C2,0x00F1,0x0120 0x00DB,0x00AC,0x007D,0x004E,0x001F 0x2F,0x2F,0x2F,0x2F 0xFFD1,0xFFD1,0xFFD1,0xFFD1 0x2F 4 0x0145 yes yes 0 4e50435452494700@0x0005,0x0068,0x0097,0x00C6,0x00F5,0x0124;5043545249470000@0x0006,0x0069,0x0098,0x00C7,0x00F6,0x0125;4006570202630320@0x0054,0x0083,0x00B2,0x00E1,0x0110;0657020263032000@0x0055,0x0084,0x00B3,0x00E2,0x0111;570202630320006e@0x0056,0x0085,0x00B4,0x00E3,0x0112;0202630320006efe@0x0057,0x0086,0x00B5,0x00E4,0x0113 4e5043545249@0x0005,0x0068,0x0097,0x00C6,0x00F5,0x0124;504354524947@0x0006,0x0069,0x0098,0x00C7,0x00F6,0x0125;435452494700@0x0007,0x006A,0x0099,0x00C8,0x00F7,0x0126;545249470000@0x0008,0x006B,0x009A,0x00C9,0x00F8,0x0127;400657020263@0x0054,0x0083,0x00B2,0x00E1,0x0110;065702026303@0x0055,0x0084,0x00B3,0x00E2,0x0111 +0x20 345 0x0120 0x01 0x00BA 0x0067 0 0x0127 no no 10 4e50435452494700@0x0005,0x00BE;5043545249470000@0x0006,0x00BF;4bfe0f0652006efa@0x0060,0x00CC;fe0f0652006efa5b@0x0061,0x00CD;4bfe0f0653006efa@0x006D,0x00D9;fe0f0653006efa5b@0x006E,0x00DA 000a004bfe0f@0x005D,0x006A,0x0077;0a004bfe0f06@0x005E,0x006B,0x0078;000a054bfe0f@0x00C9,0x00D6,0x00E3;0a054bfe0f06@0x00CA,0x00D7,0x00E4;4e5043545249@0x0005,0x00BE;504354524947@0x0006,0x00BF diff --git a/USECODE/EUSECODE_extracted/immortality_target_body_scan.md b/USECODE/EUSECODE_extracted/immortality_target_body_scan.md new file mode 100644 index 0000000..4949f28 --- /dev/null +++ b/USECODE/EUSECODE_extracted/immortality_target_body_scan.md @@ -0,0 +1,50 @@ +# Immortality Target Body Scan + +This report is a focused follow-up on the player-trigger immortality lane. +It scans the current highest-value EUSECODE candidates for inline `0x410` literals and compares the strongest active-event template bodies. + +- No scanned target body contains inline little-endian `0x0410`, inline dword `0x00000410`, or byte-swapped `0x1004` literals. +- `EVENT` remains the widest unresolved active-event frontier because it still exposes one monolithic slot-`0x0A` body (`8150` bytes) with no finer body split yet. +- `NPCTRIG` remains the strongest compact player-trigger frontier because it is event-bearing and has two non-zero bodies (`0x0A`, `0x20`) but still no inline `0x410` literal. +- `_BOOT` event cores (`COR_BOOT`, `REE_BOOT`) remain near-template event families rather than special immortality emitters: their best pairings share only short common prefixes plus shared suffix-heavy tails. +- `SPECIAL` and `TRIGPAD` stay negative controls here: callable bodies exist, but the new literal scan still shows no inline `0x410` evidence. + +## Body Rows + +| Class | Slot | Hint | Body Range | Len | `0x0410` hits | `0x00000410` hits | `0x1004` hits | Prefix | Suffix | +|---|---:|---|---|---:|---|---|---|---|---| +| EVENT | `0x0A` | equip | `0x00D4..0x20AA` | 8150 | 0:- | 0:- | 0:- | `5a2f5cf51e4556454e54000000000b11` | `4869000024d102666c69634d616e007a` | +| NPCTRIG | `0x0A` | equip | `0x00DA..0x024F` | 373 | 0:- | 0:- | 0:- | `5a065c3e014e50435452494700000b11` | `24fc026974656d32000024fa026e007a` | +| NPCTRIG | `0x20` | - | `0x024F..0x03A8` | 345 | 0:- | 0:- | 0:- | `5a065c20014e50435452494700000b01` | `6974656d000024fa026974656d32007a` | +| COR_BOOT | `0x0A` | equip | `0x00D4..0x02FB` | 551 | 0:- | 0:- | 0:- | `5a025cfd01434f525f424f4f54000b11` | `6e74000069fe00636f756e746572007a` | +| COR_BOOT | `0x0F` | enterFastArea | `0x02FB..0x052F` | 564 | 0:- | 0:- | 0:- | `5a045c0b02434f525f424f4f54000b1b` | `656d000069fc00636f756e746572007a` | +| COR_BOOT | `0x10` | leaveFastArea | `0x052F..0x056A` | 59 | 0:- | 0:- | 0:- | `5a005c2700434f525f424f4f54000b1c` | `5001016900007265666572656e74007a` | +| REE_BOOT | `0x0A` | equip | `0x00D4..0x041F` | 843 | 0:- | 0:- | 0:- | `5a025c21035245455f424f4f54000b11` | `6e74000069fe00636f756e746572007a` | +| REE_BOOT | `0x0F` | enterFastArea | `0x041F..0x067B` | 604 | 0:- | 0:- | 0:- | `5a045c33025245455f424f4f54000b1b` | `656d000069fc00636f756e746572007a` | +| REE_BOOT | `0x10` | leaveFastArea | `0x067B..0x06B6` | 59 | 0:- | 0:- | 0:- | `5a005c27005245455f424f4f54000b1c` | `5001016900007265666572656e74007a` | +| SFXTRIG | `0x0A` | equip | `0x00D4..0x018C` | 184 | 0:- | 0:- | 0:- | `5a005c9a005346585452494700000b11` | `72656e740000690a006576656e74007a` | +| SPECIAL | `0x0A` | equip | `0x00E0..0x0146` | 102 | 0:- | 0:- | 0:- | `5a005c4a005350454349414c00000b11` | `666572656e740000690a00766172007a` | +| SPECIAL | `0x0F` | enterFastArea | `0x0616..0x075B` | 325 | 0:- | 0:- | 0:- | `5a045c1b015350454349414c00000b1b` | `4e756d000069fc006e70634e756d007a` | +| SPECIAL | `0x10` | leaveFastArea | `0x075B..0x080E` | 179 | 0:- | 0:- | 0:- | `5a005c9f005350454349414c00000b1c` | `5001016900007265666572656e74007a` | +| SPECIAL | `0x20` | - | `0x0146..0x04DC` | 918 | 0:- | 0:- | 0:- | `5a065c5c035350454349414c00005b26` | `000024fc026e7063000069fa0071007a` | +| SPECIAL | `0x21` | - | `0x04DC..0x0616` | 314 | 0:- | 0:- | 0:- | `5a085cfb005350454349414c00005b82` | `736531000069f800706861736532007a` | +| TRIGPAD | `0x06` | gotHit | `0x00D4..0x035C` | 648 | 0:- | 0:- | 0:- | `5a065c4c025452494750414400000b0c` | `026974656d000024fa02656c6576007a` | + +## Strongest Template Pairings + +These comparisons are limited to `COR_BOOT`, `REE_BOOT`, `NPCTRIG`, and `SFXTRIG` because they are the current highest-value active-event families near the immortality frontier. + +| Left | Right | Prefix | Suffix | Total | +|---|---|---:|---:|---:| +| COR_BOOT `0x0A` (`551`) | REE_BOOT `0x0A` (`843`) | 3 | 39 | 42 | +| COR_BOOT `0x0F` (`564`) | REE_BOOT `0x0F` (`604`) | 3 | 38 | 41 | +| COR_BOOT `0x10` (`59`) | REE_BOOT `0x10` (`59`) | 5 | 17 | 22 | +| REE_BOOT `0x0A` (`843`) | REE_BOOT `0x0F` (`604`) | 1 | 10 | 11 | +| COR_BOOT `0x0F` (`564`) | REE_BOOT `0x0A` (`843`) | 1 | 10 | 11 | +| COR_BOOT `0x0A` (`551`) | REE_BOOT `0x0F` (`604`) | 1 | 10 | 11 | +| COR_BOOT `0x0A` (`551`) | COR_BOOT `0x0F` (`564`) | 1 | 10 | 11 | +| REE_BOOT `0x10` (`59`) | SFXTRIG `0x0A` (`184`) | 3 | 5 | 8 | +| COR_BOOT `0x10` (`59`) | SFXTRIG `0x0A` (`184`) | 3 | 5 | 8 | +| NPCTRIG `0x0A` (`373`) | NPCTRIG `0x20` (`345`) | 3 | 2 | 5 | +| REE_BOOT `0x0F` (`604`) | SFXTRIG `0x0A` (`184`) | 1 | 2 | 3 | +| REE_BOOT `0x0F` (`604`) | REE_BOOT `0x10` (`59`) | 1 | 2 | 3 | diff --git a/USECODE/EUSECODE_extracted/immortality_target_body_scan.tsv b/USECODE/EUSECODE_extracted/immortality_target_body_scan.tsv new file mode 100644 index 0000000..3b71dcc --- /dev/null +++ b/USECODE/EUSECODE_extracted/immortality_target_body_scan.tsv @@ -0,0 +1,17 @@ +entry_index class_name slot event_name_hint body_start body_end body_length le16_0410_count le16_0410_offsets le32_00000410_count le32_00000410_offsets le16_1004_count le16_1004_offsets body_prefix_hex body_suffix_hex +190 EVENT 0x0A equip 0x00D4 0x20AA 8150 0 0 0 5a2f5cf51e4556454e54000000000b11 4869000024d102666c69634d616e007a +191 NPCTRIG 0x0A equip 0x00DA 0x024F 373 0 0 0 5a065c3e014e50435452494700000b11 24fc026974656d32000024fa026e007a +191 NPCTRIG 0x20 0x024F 0x03A8 345 0 0 0 5a065c20014e50435452494700000b01 6974656d000024fa026974656d32007a +189 COR_BOOT 0x0A equip 0x00D4 0x02FB 551 0 0 0 5a025cfd01434f525f424f4f54000b11 6e74000069fe00636f756e746572007a +189 COR_BOOT 0x0F enterFastArea 0x02FB 0x052F 564 0 0 0 5a045c0b02434f525f424f4f54000b1b 656d000069fc00636f756e746572007a +189 COR_BOOT 0x10 leaveFastArea 0x052F 0x056A 59 0 0 0 5a005c2700434f525f424f4f54000b1c 5001016900007265666572656e74007a +283 REE_BOOT 0x0A equip 0x00D4 0x041F 843 0 0 0 5a025c21035245455f424f4f54000b11 6e74000069fe00636f756e746572007a +283 REE_BOOT 0x0F enterFastArea 0x041F 0x067B 604 0 0 0 5a045c33025245455f424f4f54000b1b 656d000069fc00636f756e746572007a +283 REE_BOOT 0x10 leaveFastArea 0x067B 0x06B6 59 0 0 0 5a005c27005245455f424f4f54000b1c 5001016900007265666572656e74007a +285 SFXTRIG 0x0A equip 0x00D4 0x018C 184 0 0 0 5a005c9a005346585452494700000b11 72656e740000690a006576656e74007a +272 SPECIAL 0x0A equip 0x00E0 0x0146 102 0 0 0 5a005c4a005350454349414c00000b11 666572656e740000690a00766172007a +272 SPECIAL 0x0F enterFastArea 0x0616 0x075B 325 0 0 0 5a045c1b015350454349414c00000b1b 4e756d000069fc006e70634e756d007a +272 SPECIAL 0x10 leaveFastArea 0x075B 0x080E 179 0 0 0 5a005c9f005350454349414c00000b1c 5001016900007265666572656e74007a +272 SPECIAL 0x20 0x0146 0x04DC 918 0 0 0 5a065c5c035350454349414c00005b26 000024fc026e7063000069fa0071007a +272 SPECIAL 0x21 0x04DC 0x0616 314 0 0 0 5a085cfb005350454349414c00005b82 736531000069f800706861736532007a +273 TRIGPAD 0x06 gotHit 0x00D4 0x035C 648 0 0 0 5a065c4c025452494750414400000b0c 026974656d000024fa02656c6576007a diff --git a/USECODE/EUSECODE_extracted/immortality_target_body_scan.txt b/USECODE/EUSECODE_extracted/immortality_target_body_scan.txt new file mode 100644 index 0000000..600ccac --- /dev/null +++ b/USECODE/EUSECODE_extracted/immortality_target_body_scan.txt @@ -0,0 +1,43 @@ +ENTRY 189 COR_BOOT FILE chunk_189_table_1B90_off_01D610_len_00056A.bin +BODY class=COR_BOOT slot=0x0A hint=equip start=0x00D4 end=0x02FB len=551 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a025cfd01434f525f424f4f54000b11 last16=6e74000069fe00636f756e746572007a +BODY class=COR_BOOT slot=0x0F hint=enterFastArea start=0x02FB end=0x052F len=564 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a045c0b02434f525f424f4f54000b1b last16=656d000069fc00636f756e746572007a +BODY class=COR_BOOT slot=0x10 hint=leaveFastArea start=0x052F end=0x056A len=59 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a005c2700434f525f424f4f54000b1c last16=5001016900007265666572656e74007a + +ENTRY 190 EVENT FILE chunk_190_table_1B98_off_02F49E_len_0020AA.bin +BODY class=EVENT slot=0x0A hint=equip start=0x00D4 end=0x20AA len=8150 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a2f5cf51e4556454e54000000000b11 last16=4869000024d102666c69634d616e007a + +ENTRY 191 NPCTRIG FILE chunk_191_table_1BA8_off_04C347_len_0003A8.bin +BODY class=NPCTRIG slot=0x0A hint=equip start=0x00DA end=0x024F len=373 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a065c3e014e50435452494700000b11 last16=24fc026974656d32000024fa026e007a +BODY class=NPCTRIG slot=0x20 hint=- start=0x024F end=0x03A8 len=345 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a065c20014e50435452494700000b01 last16=6974656d000024fa026974656d32007a + +ENTRY 272 SPECIAL FILE chunk_272_table_26E0_off_05B625_len_00080E.bin +BODY class=SPECIAL slot=0x0A hint=equip start=0x00E0 end=0x0146 len=102 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a005c4a005350454349414c00000b11 last16=666572656e740000690a00766172007a +BODY class=SPECIAL slot=0x20 hint=- start=0x0146 end=0x04DC len=918 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a065c5c035350454349414c00005b26 last16=000024fc026e7063000069fa0071007a +BODY class=SPECIAL slot=0x21 hint=- start=0x04DC end=0x0616 len=314 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a085cfb005350454349414c00005b82 last16=736531000069f800706861736532007a +BODY class=SPECIAL slot=0x0F hint=enterFastArea start=0x0616 end=0x075B len=325 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a045c1b015350454349414c00000b1b last16=4e756d000069fc006e70634e756d007a +BODY class=SPECIAL slot=0x10 hint=leaveFastArea start=0x075B end=0x080E len=179 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a005c9f005350454349414c00000b1c last16=5001016900007265666572656e74007a + +ENTRY 273 TRIGPAD FILE chunk_273_table_26F8_off_068FF3_len_00035C.bin +BODY class=TRIGPAD slot=0x06 hint=gotHit start=0x00D4 end=0x035C len=648 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a065c4c025452494750414400000b0c last16=026974656d000024fa02656c6576007a + +ENTRY 283 REE_BOOT FILE chunk_283_table_2768_off_052B90_len_0006B6.bin +BODY class=REE_BOOT slot=0x0A hint=equip start=0x00D4 end=0x041F len=843 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a025c21035245455f424f4f54000b11 last16=6e74000069fe00636f756e746572007a +BODY class=REE_BOOT slot=0x0F hint=enterFastArea start=0x041F end=0x067B len=604 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a045c33025245455f424f4f54000b1b last16=656d000069fc00636f756e746572007a +BODY class=REE_BOOT slot=0x10 hint=leaveFastArea start=0x067B end=0x06B6 len=59 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a005c27005245455f424f4f54000b1c last16=5001016900007265666572656e74007a + +ENTRY 285 SFXTRIG FILE chunk_285_table_27A0_off_05926C_len_00018C.bin +BODY class=SFXTRIG slot=0x0A hint=equip start=0x00D4 end=0x018C len=184 le16_0410=0:- le32_00000410=0:- le16_1004=0:- first16=5a005c9a005346585452494700000b11 last16=72656e740000690a006576656e74007a + +TOP_STRUCTURAL_PAIRS +PAIR COR_BOOT:0x0A len=551 <-> REE_BOOT:0x0A len=843 prefix=3 suffix=39 total=42 +PAIR COR_BOOT:0x0F len=564 <-> REE_BOOT:0x0F len=604 prefix=3 suffix=38 total=41 +PAIR COR_BOOT:0x10 len=59 <-> REE_BOOT:0x10 len=59 prefix=5 suffix=17 total=22 +PAIR REE_BOOT:0x0A len=843 <-> REE_BOOT:0x0F len=604 prefix=1 suffix=10 total=11 +PAIR COR_BOOT:0x0F len=564 <-> REE_BOOT:0x0A len=843 prefix=1 suffix=10 total=11 +PAIR COR_BOOT:0x0A len=551 <-> REE_BOOT:0x0F len=604 prefix=1 suffix=10 total=11 +PAIR COR_BOOT:0x0A len=551 <-> COR_BOOT:0x0F len=564 prefix=1 suffix=10 total=11 +PAIR REE_BOOT:0x10 len=59 <-> SFXTRIG:0x0A len=184 prefix=3 suffix=5 total=8 +PAIR COR_BOOT:0x10 len=59 <-> SFXTRIG:0x0A len=184 prefix=3 suffix=5 total=8 +PAIR NPCTRIG:0x0A len=373 <-> NPCTRIG:0x20 len=345 prefix=3 suffix=2 total=5 +PAIR REE_BOOT:0x0F len=604 <-> SFXTRIG:0x0A len=184 prefix=1 suffix=2 total=3 +PAIR REE_BOOT:0x0F len=604 <-> REE_BOOT:0x10 len=59 prefix=1 suffix=2 total=3 diff --git a/USECODE/EUSECODE_extracted/summary.json b/USECODE/EUSECODE_extracted/summary.json index 9e64951..6f9737d 100644 --- a/USECODE/EUSECODE_extracted/summary.json +++ b/USECODE/EUSECODE_extracted/summary.json @@ -2034,8 +2034,8 @@ "printable_ratio": 0.0857, "zero_ratio": 0.9063, "preview": ".......................................@...BLACK8.un............", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_000_table_0088_off_006090_len_009C00.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_000_table_0088_off_006090_len_009C00.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_000_table_0088_off_006090_len_009C00.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_000_table_0088_off_006090_len_009C00.strings.txt", "text_path": null, "primary_label": "ALARMBOX", "field_names": [ @@ -2067,8 +2067,8 @@ "printable_ratio": 0.2971, "zero_ratio": 0.5067, "preview": "....9...........g.......................................9.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_001_table_00A8_off_087C38_len_00020D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_001_table_00A8_off_087C38_len_00020D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_001_table_00A8_off_087C38_len_00020D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_001_table_00A8_off_087C38_len_00020D.strings.txt", "text_path": null, "primary_label": "BLACK8", "field_names": [ @@ -2100,8 +2100,8 @@ "printable_ratio": 0.1987, "zero_ratio": 0.7264, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_002_table_00B8_off_04F5F9_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_002_table_00B8_off_04F5F9_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_002_table_00B8_off_04F5F9_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_002_table_00B8_off_04F5F9_len_000133.strings.txt", "text_path": null, "primary_label": "RDOOR_N", "field_names": [ @@ -2131,8 +2131,8 @@ "printable_ratio": 0.3029, "zero_ratio": 0.5048, "preview": "....9...........g.......................................9.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_003_table_0108_off_087A2B_len_00020D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_003_table_0108_off_087A2B_len_00020D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_003_table_0108_off_087A2B_len_00020D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_003_table_0108_off_087A2B_len_00020D.strings.txt", "text_path": null, "primary_label": "BLACK16", "field_names": [ @@ -2164,8 +2164,8 @@ "printable_ratio": 0.1463, "zero_ratio": 0.7551, "preview": "....R.......&...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_004_table_0198_off_0102D3_len_000126.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_004_table_0198_off_0102D3_len_000126.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_004_table_0198_off_0102D3_len_000126.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_004_table_0198_off_0102D3_len_000126.strings.txt", "text_path": null, "primary_label": "ALARM_EW", "field_names": [ @@ -2195,8 +2195,8 @@ "printable_ratio": 0.2715, "zero_ratio": 0.5407, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_005_table_01F8_off_05B1F5_len_0001BA.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_005_table_01F8_off_05B1F5_len_0001BA.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_005_table_01F8_off_05B1F5_len_0001BA.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_005_table_01F8_off_05B1F5_len_0001BA.strings.txt", "text_path": null, "primary_label": "SMALLTAB", "field_names": [ @@ -2228,8 +2228,8 @@ "printable_ratio": 0.332, "zero_ratio": 0.424, "preview": "................H...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_006_table_0210_off_069929_len_0002EE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_006_table_0210_off_069929_len_0002EE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_006_table_0210_off_069929_len_0002EE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_006_table_0210_off_069929_len_0002EE.strings.txt", "text_path": null, "primary_label": "VALVE", "field_names": [ @@ -2263,8 +2263,8 @@ "printable_ratio": 0.351, "zero_ratio": 0.4097, "preview": "........................................................_.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_007_table_02C0_off_04124D_len_0002A9.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_007_table_02C0_off_04124D_len_0002A9.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_007_table_02C0_off_04124D_len_0002A9.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_007_table_02C0_off_04124D_len_0002A9.strings.txt", "text_path": null, "primary_label": "MDOOR_E", "field_names": [ @@ -2301,8 +2301,8 @@ "printable_ratio": 0.1463, "zero_ratio": 0.7551, "preview": "....R.......&...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_008_table_02D8_off_0103F9_len_000126.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_008_table_02D8_off_0103F9_len_000126.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_008_table_02D8_off_0103F9_len_000126.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_008_table_02D8_off_0103F9_len_000126.strings.txt", "text_path": null, "primary_label": "ALARM_NS", "field_names": [ @@ -2332,8 +2332,8 @@ "printable_ratio": 0.405, "zero_ratio": 0.3343, "preview": "....^.......2...<.........................................8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_009_table_0380_off_053A49_len_000432.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_009_table_0380_off_053A49_len_000432.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_009_table_0380_off_053A49_len_000432.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_009_table_0380_off_053A49_len_000432.strings.txt", "text_path": null, "primary_label": "RFANEW", "field_names": [ @@ -2380,8 +2380,8 @@ "printable_ratio": 0.2653, "zero_ratio": 0.5578, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_010_table_0388_off_0804A8_len_0001B9.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_010_table_0388_off_0804A8_len_0001B9.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_010_table_0388_off_0804A8_len_0001B9.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_010_table_0388_off_0804A8_len_0001B9.strings.txt", "text_path": null, "primary_label": "FALLINGC", "field_names": [ @@ -2413,8 +2413,8 @@ "printable_ratio": 0.2494, "zero_ratio": 0.6026, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_011_table_0398_off_060A37_len_000181.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_011_table_0398_off_060A37_len_000181.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_011_table_0398_off_060A37_len_000181.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_011_table_0398_off_060A37_len_000181.strings.txt", "text_path": null, "primary_label": "SWITCHEW", "field_names": [ @@ -2444,8 +2444,8 @@ "printable_ratio": 0.3608, "zero_ratio": 0.4176, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_012_table_03E8_off_01C702_len_0002E4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_012_table_03E8_off_01C702_len_0002E4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_012_table_03E8_off_01C702_len_0002E4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_012_table_03E8_off_01C702_len_0002E4.strings.txt", "text_path": null, "primary_label": "CONVEY_N", "field_names": [ @@ -2481,8 +2481,8 @@ "printable_ratio": 0.1994, "zero_ratio": 0.717, "preview": "....c.......7...........................................c.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_013_table_0410_off_073C9C_len_000137.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_013_table_0410_off_073C9C_len_000137.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_013_table_0410_off_073C9C_len_000137.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_013_table_0410_off_073C9C_len_000137.strings.txt", "text_path": null, "primary_label": "YR2X6EW", "field_names": [ @@ -2512,8 +2512,8 @@ "printable_ratio": 0.1954, "zero_ratio": 0.7264, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_014_table_0468_off_04F4C6_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_014_table_0468_off_04F4C6_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_014_table_0468_off_04F4C6_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_014_table_0468_off_04F4C6_len_000133.strings.txt", "text_path": null, "primary_label": "RDOOR_E", "field_names": [ @@ -2543,8 +2543,8 @@ "printable_ratio": 0.3319, "zero_ratio": 0.4328, "preview": "................$...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_015_table_0490_off_016758_len_0002CA.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_015_table_0490_off_016758_len_0002CA.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_015_table_0490_off_016758_len_0002CA.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_015_table_0490_off_016758_len_0002CA.strings.txt", "text_path": null, "primary_label": "BOX_EW", "field_names": [ @@ -2576,8 +2576,8 @@ "printable_ratio": 0.3319, "zero_ratio": 0.4328, "preview": "................$...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_016_table_0498_off_016A22_len_0002CA.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_016_table_0498_off_016A22_len_0002CA.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_016_table_0498_off_016A22_len_0002CA.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_016_table_0498_off_016A22_len_0002CA.strings.txt", "text_path": null, "primary_label": "BOX_NS", "field_names": [ @@ -2609,8 +2609,8 @@ "printable_ratio": 0.2058, "zero_ratio": 0.7106, "preview": "....c.......7...........................................c.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_017_table_04D0_off_0738F7_len_000137.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_017_table_04D0_off_0738F7_len_000137.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_017_table_04D0_off_0738F7_len_000137.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_017_table_04D0_off_0738F7_len_000137.strings.txt", "text_path": null, "primary_label": "YR16X6EW", "field_names": [ @@ -2640,8 +2640,8 @@ "printable_ratio": 0.2058, "zero_ratio": 0.7106, "preview": "....c.......7...........................................c.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_018_table_04E0_off_073A2E_len_000137.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_018_table_04E0_off_073A2E_len_000137.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_018_table_04E0_off_073A2E_len_000137.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_018_table_04E0_off_073A2E_len_000137.strings.txt", "text_path": null, "primary_label": "YR16X6NS", "field_names": [ @@ -2671,8 +2671,8 @@ "printable_ratio": 0.1994, "zero_ratio": 0.717, "preview": "....c.......7...........................................c.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_019_table_04E8_off_0742AF_len_000137.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_019_table_04E8_off_0742AF_len_000137.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_019_table_04E8_off_0742AF_len_000137.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_019_table_04E8_off_0742AF_len_000137.strings.txt", "text_path": null, "primary_label": "YR8X6NS", "field_names": [ @@ -2702,8 +2702,8 @@ "printable_ratio": 0.1994, "zero_ratio": 0.717, "preview": "....c.......7...........................................c.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_020_table_04F0_off_074041_len_000137.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_020_table_04F0_off_074041_len_000137.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_020_table_04F0_off_074041_len_000137.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_020_table_04F0_off_074041_len_000137.strings.txt", "text_path": null, "primary_label": "YR4X6NS", "field_names": [ @@ -2733,8 +2733,8 @@ "printable_ratio": 0.1994, "zero_ratio": 0.717, "preview": "....c.......7...........................................c.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_021_table_04F8_off_073DD3_len_000137.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_021_table_04F8_off_073DD3_len_000137.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_021_table_04F8_off_073DD3_len_000137.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_021_table_04F8_off_073DD3_len_000137.strings.txt", "text_path": null, "primary_label": "YR2X6NS", "field_names": [ @@ -2764,8 +2764,8 @@ "printable_ratio": 0.3121, "zero_ratio": 0.4208, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_022_table_0508_off_03EF6E_len_000284.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_022_table_0508_off_03EF6E_len_000284.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_022_table_0508_off_03EF6E_len_000284.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_022_table_0508_off_03EF6E_len_000284.strings.txt", "text_path": null, "primary_label": "LUGGAGE", "field_names": [ @@ -2799,8 +2799,8 @@ "printable_ratio": 0.1994, "zero_ratio": 0.717, "preview": "....c.......7...........................................c.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_023_table_0518_off_074178_len_000137.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_023_table_0518_off_074178_len_000137.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_023_table_0518_off_074178_len_000137.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_023_table_0518_off_074178_len_000137.strings.txt", "text_path": null, "primary_label": "YR8X6EW", "field_names": [ @@ -2830,8 +2830,8 @@ "printable_ratio": 0.1994, "zero_ratio": 0.717, "preview": "....c.......7...........................................c.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_024_table_0520_off_073F0A_len_000137.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_024_table_0520_off_073F0A_len_000137.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_024_table_0520_off_073F0A_len_000137.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_024_table_0520_off_073F0A_len_000137.strings.txt", "text_path": null, "primary_label": "YR4X6EW", "field_names": [ @@ -2861,8 +2861,8 @@ "printable_ratio": 0.1865, "zero_ratio": 0.7299, "preview": "....c.......7...........................................c.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_025_table_0528_off_073B65_len_000137.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_025_table_0528_off_073B65_len_000137.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_025_table_0528_off_073B65_len_000137.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_025_table_0528_off_073B65_len_000137.strings.txt", "text_path": null, "primary_label": "YR1X1", "field_names": [ @@ -2892,8 +2892,8 @@ "printable_ratio": 0.3641, "zero_ratio": 0.3862, "preview": "....-...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_026_table_0530_off_04D4D7_len_000301.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_026_table_0530_off_04D4D7_len_000301.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_026_table_0530_off_04D4D7_len_000301.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_026_table_0530_off_04D4D7_len_000301.strings.txt", "text_path": null, "primary_label": "PEPSIEW", "field_names": [ @@ -2925,8 +2925,8 @@ "printable_ratio": 0.202, "zero_ratio": 0.7199, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_027_table_0538_off_037941_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_027_table_0538_off_037941_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_027_table_0538_off_037941_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_027_table_0538_off_037941_len_000133.strings.txt", "text_path": null, "primary_label": "GDOOR_E2", "field_names": [ @@ -2956,8 +2956,8 @@ "printable_ratio": 0.224, "zero_ratio": 0.6503, "preview": "............n...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_028_table_0540_off_01A8A7_len_00016E.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_028_table_0540_off_01A8A7_len_00016E.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_028_table_0540_off_01A8A7_len_00016E.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_028_table_0540_off_01A8A7_len_00016E.strings.txt", "text_path": null, "primary_label": "CATWALK1", "field_names": [ @@ -2987,8 +2987,8 @@ "printable_ratio": 0.2007, "zero_ratio": 0.7237, "preview": "....\\.......0...........................................\\.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_029_table_0558_off_037BA7_len_000130.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_029_table_0558_off_037BA7_len_000130.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_029_table_0558_off_037BA7_len_000130.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_029_table_0558_off_037BA7_len_000130.strings.txt", "text_path": null, "primary_label": "GDOOR_N2", "field_names": [ @@ -3018,8 +3018,8 @@ "printable_ratio": 0.3654, "zero_ratio": 0.3875, "preview": "....-...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_030_table_0560_off_04D7D8_len_000301.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_030_table_0560_off_04D7D8_len_000301.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_030_table_0560_off_04D7D8_len_000301.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_030_table_0560_off_04D7D8_len_000301.strings.txt", "text_path": null, "primary_label": "PEPSINS", "field_names": [ @@ -3051,8 +3051,8 @@ "printable_ratio": 0.1977, "zero_ratio": 0.6648, "preview": "............]...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_031_table_0598_off_04D37A_len_00015D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_031_table_0598_off_04D37A_len_00015D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_031_table_0598_off_04D37A_len_00015D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_031_table_0598_off_04D37A_len_00015D.strings.txt", "text_path": null, "primary_label": "PANELNS", "field_names": [ @@ -3082,8 +3082,8 @@ "printable_ratio": 0.1948, "zero_ratio": 0.6648, "preview": "............]...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_032_table_05A0_off_04D21D_len_00015D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_032_table_05A0_off_04D21D_len_00015D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_032_table_05A0_off_04D21D_len_00015D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_032_table_05A0_off_04D21D_len_00015D.strings.txt", "text_path": null, "primary_label": "PANELEW", "field_names": [ @@ -3113,8 +3113,8 @@ "printable_ratio": 0.351, "zero_ratio": 0.4112, "preview": "........................................................_.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_033_table_05D8_off_0414F6_len_0002A9.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_033_table_05D8_off_0414F6_len_0002A9.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_033_table_05D8_off_0414F6_len_0002A9.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_033_table_05D8_off_0414F6_len_0002A9.strings.txt", "text_path": null, "primary_label": "MDOOR_N", "field_names": [ @@ -3151,8 +3151,8 @@ "printable_ratio": 0.202, "zero_ratio": 0.7231, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_034_table_05E0_off_01202A_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_034_table_05E0_off_01202A_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_034_table_05E0_off_01202A_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_034_table_05E0_off_01202A_len_000133.strings.txt", "text_path": null, "primary_label": "BARRELUP", "field_names": [ @@ -3182,8 +3182,8 @@ "printable_ratio": 0.1688, "zero_ratio": 0.7273, "preview": "....`.......4...............................`...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_035_table_0660_off_05A74F_len_000134.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_035_table_0660_off_05A74F_len_000134.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_035_table_0660_off_05A74F_len_000134.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_035_table_0660_off_05A74F_len_000134.strings.txt", "text_path": null, "primary_label": "SIGNEW", "field_names": [ @@ -3213,8 +3213,8 @@ "printable_ratio": 0.1656, "zero_ratio": 0.7273, "preview": "....`.......4...............................`...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_036_table_0668_off_05A883_len_000134.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_036_table_0668_off_05A883_len_000134.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_036_table_0668_off_05A883_len_000134.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_036_table_0668_off_05A883_len_000134.strings.txt", "text_path": null, "primary_label": "SIGNNS", "field_names": [ @@ -3244,8 +3244,8 @@ "printable_ratio": 0.406, "zero_ratio": 0.3343, "preview": "....^.......2...<.........................................8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_037_table_0678_off_053E7B_len_000432.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_037_table_0678_off_053E7B_len_000432.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_037_table_0678_off_053E7B_len_000432.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_037_table_0678_off_053E7B_len_000432.strings.txt", "text_path": null, "primary_label": "RFANNS", "field_names": [ @@ -3292,8 +3292,8 @@ "printable_ratio": 0.2652, "zero_ratio": 0.6298, "preview": "............j..........................................._.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_038_table_06A8_off_077186_len_00016A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_038_table_06A8_off_077186_len_00016A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_038_table_06A8_off_077186_len_00016A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_038_table_06A8_off_077186_len_00016A.strings.txt", "text_path": null, "primary_label": "RDOOR1_E", "field_names": [ @@ -3323,8 +3323,8 @@ "printable_ratio": 0.2652, "zero_ratio": 0.6298, "preview": "............j..........................................._.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_039_table_06B0_off_0772F0_len_00016A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_039_table_06B0_off_0772F0_len_00016A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_039_table_06B0_off_0772F0_len_00016A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_039_table_06B0_off_0772F0_len_00016A.strings.txt", "text_path": null, "primary_label": "RDOOR2_E", "field_names": [ @@ -3354,8 +3354,8 @@ "printable_ratio": 0.2652, "zero_ratio": 0.6298, "preview": "............j..........................................._.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_040_table_06B8_off_07745A_len_00016A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_040_table_06B8_off_07745A_len_00016A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_040_table_06B8_off_07745A_len_00016A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_040_table_06B8_off_07745A_len_00016A.strings.txt", "text_path": null, "primary_label": "RDOOR3_E", "field_names": [ @@ -3385,8 +3385,8 @@ "printable_ratio": 0.2652, "zero_ratio": 0.6298, "preview": "............j..........................................._.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_041_table_06C0_off_0775C4_len_00016A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_041_table_06C0_off_0775C4_len_00016A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_041_table_06C0_off_0775C4_len_00016A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_041_table_06C0_off_0775C4_len_00016A.strings.txt", "text_path": null, "primary_label": "RDOOR4_E", "field_names": [ @@ -3416,8 +3416,8 @@ "printable_ratio": 0.2652, "zero_ratio": 0.6298, "preview": "............j..........................................._.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_042_table_06C8_off_07772E_len_00016A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_042_table_06C8_off_07772E_len_00016A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_042_table_06C8_off_07772E_len_00016A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_042_table_06C8_off_07772E_len_00016A.strings.txt", "text_path": null, "primary_label": "RDOOR5_E", "field_names": [ @@ -3447,8 +3447,8 @@ "printable_ratio": 0.2603, "zero_ratio": 0.5616, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_043_table_0718_off_018081_len_0001B6.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_043_table_0718_off_018081_len_0001B6.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_043_table_0718_off_018081_len_0001B6.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_043_table_0718_off_018081_len_0001B6.strings.txt", "text_path": null, "primary_label": "BROKENCW", "field_names": [ @@ -3480,8 +3480,8 @@ "printable_ratio": 0.3812, "zero_ratio": 0.4116, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_044_table_0808_off_05F483_len_0002D4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_044_table_0808_off_05F483_len_0002D4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_044_table_0808_off_05F483_len_0002D4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_044_table_0808_off_05F483_len_0002D4.strings.txt", "text_path": null, "primary_label": "STELEPAD", "field_names": [ @@ -3515,8 +3515,8 @@ "printable_ratio": 0.4523, "zero_ratio": 0.3364, "preview": "............p...\".........b.............................:.c.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_045_table_08A0_off_049567_len_000370.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_045_table_08A0_off_049567_len_000370.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_045_table_08A0_off_049567_len_000370.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_045_table_08A0_off_049567_len_000370.strings.txt", "text_path": null, "primary_label": "MONITNS", "field_names": [ @@ -3557,8 +3557,8 @@ "printable_ratio": 0.4114, "zero_ratio": 0.3961, "preview": "........................................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_046_table_08D0_off_03753C_len_0002D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_046_table_08D0_off_03753C_len_0002D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_046_table_08D0_off_03753C_len_0002D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_046_table_08D0_off_03753C_len_0002D2.strings.txt", "text_path": null, "primary_label": "GATGUNNS", "field_names": [ @@ -3588,8 +3588,8 @@ "printable_ratio": 0.3812, "zero_ratio": 0.4116, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_047_table_08F8_off_039586_len_0002D4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_047_table_08F8_off_039586_len_0002D4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_047_table_08F8_off_039586_len_0002D4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_047_table_08F8_off_039586_len_0002D4.strings.txt", "text_path": null, "primary_label": "GTELEPAD", "field_names": [ @@ -3623,8 +3623,8 @@ "printable_ratio": 0.4114, "zero_ratio": 0.3961, "preview": "........................................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_048_table_0928_off_03726A_len_0002D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_048_table_0928_off_03726A_len_0002D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_048_table_0928_off_03726A_len_0002D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_048_table_0928_off_03726A_len_0002D2.strings.txt", "text_path": null, "primary_label": "GATGUNEW", "field_names": [ @@ -3654,8 +3654,8 @@ "printable_ratio": 0.3683, "zero_ratio": 0.4029, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_049_table_0990_off_032255_len_0002B7.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_049_table_0990_off_032255_len_0002B7.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_049_table_0990_off_032255_len_0002B7.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_049_table_0990_off_032255_len_0002B7.strings.txt", "text_path": null, "primary_label": "FASTSKIL", "field_names": [ @@ -3687,8 +3687,8 @@ "printable_ratio": 0.4416, "zero_ratio": 0.333, "preview": "....t.......H...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_050_table_0A08_off_02DD4A_len_000448.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_050_table_0A08_off_02DD4A_len_000448.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_050_table_0A08_off_02DD4A_len_000448.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_050_table_0A08_off_02DD4A_len_000448.strings.txt", "text_path": null, "primary_label": "ELEVPLAT", "field_names": [ @@ -3720,8 +3720,8 @@ "printable_ratio": 0.2787, "zero_ratio": 0.4791, "preview": "....Q.......%...........................................Q.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_051_table_0A20_off_01AA15_len_000225.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_051_table_0A20_off_01AA15_len_000225.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_051_table_0A20_off_01AA15_len_000225.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_051_table_0A20_off_01AA15_len_000225.strings.txt", "text_path": null, "primary_label": "CATWALK2", "field_names": [ @@ -3753,8 +3753,8 @@ "printable_ratio": 0.4147, "zero_ratio": 0.3074, "preview": "................,...........F.............................m.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_052_table_0A28_off_03E19C_len_0007CA.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_052_table_0A28_off_03E19C_len_0007CA.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_052_table_0A28_off_03E19C_len_0007CA.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_052_table_0A28_off_03E19C_len_0007CA.strings.txt", "text_path": null, "primary_label": "LIFT", "field_names": [ @@ -3795,8 +3795,8 @@ "printable_ratio": 0.3608, "zero_ratio": 0.4176, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_053_table_0A30_off_01C41E_len_0002E4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_053_table_0A30_off_01C41E_len_0002E4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_053_table_0A30_off_01C41E_len_0002E4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_053_table_0A30_off_01C41E_len_0002E4.strings.txt", "text_path": null, "primary_label": "CONVEY_E", "field_names": [ @@ -3832,8 +3832,8 @@ "printable_ratio": 0.4636, "zero_ratio": 0.2884, "preview": "............k...u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_054_table_0A38_off_03250C_len_00056B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_054_table_0A38_off_03250C_len_00056B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_054_table_0A38_off_03250C_len_00056B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_054_table_0A38_off_03250C_len_00056B.strings.txt", "text_path": null, "primary_label": "FFFLOOR", "field_names": [ @@ -3867,8 +3867,8 @@ "printable_ratio": 0.379, "zero_ratio": 0.3721, "preview": "................-...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_055_table_0A40_off_05219F_len_0002D3.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_055_table_0A40_off_05219F_len_0002D3.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_055_table_0A40_off_05219F_len_0002D3.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_055_table_0A40_off_05219F_len_0002D3.strings.txt", "text_path": null, "primary_label": "RECHAGNS", "field_names": [ @@ -3902,8 +3902,8 @@ "printable_ratio": 0.4029, "zero_ratio": 0.348, "preview": "................A.......................................U.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_056_table_0A50_off_052801_len_00038F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_056_table_0A50_off_052801_len_00038F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_056_table_0A50_off_052801_len_00038F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_056_table_0A50_off_052801_len_00038F.strings.txt", "text_path": null, "primary_label": "RECHFLNS", "field_names": [ @@ -3935,8 +3935,8 @@ "printable_ratio": 0.3306, "zero_ratio": 0.4403, "preview": "............l...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_057_table_0A98_off_07FFA4_len_00026C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_057_table_0A98_off_07FFA4_len_00026C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_057_table_0A98_off_07FFA4_len_00026C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_057_table_0A98_off_07FFA4_len_00026C.strings.txt", "text_path": null, "primary_label": "FIGHT_N2", "field_names": [ @@ -3970,8 +3970,8 @@ "printable_ratio": 0.2406, "zero_ratio": 0.6551, "preview": "............Y...........................................N.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_058_table_0B10_off_020C97_len_000159.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_058_table_0B10_off_020C97_len_000159.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_058_table_0B10_off_020C97_len_000159.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_058_table_0B10_off_020C97_len_000159.strings.txt", "text_path": null, "primary_label": "DEATHFL3", "field_names": [ @@ -4001,8 +4001,8 @@ "printable_ratio": 0.1954, "zero_ratio": 0.7296, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_059_table_0B18_off_011DC4_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_059_table_0B18_off_011DC4_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_059_table_0B18_off_011DC4_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_059_table_0B18_off_011DC4_len_000133.strings.txt", "text_path": null, "primary_label": "BARRELS", "field_names": [ @@ -4032,8 +4032,8 @@ "printable_ratio": 0.202, "zero_ratio": 0.7231, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_060_table_0B20_off_011B5E_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_060_table_0B20_off_011B5E_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_060_table_0B20_off_011B5E_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_060_table_0B20_off_011B5E_len_000133.strings.txt", "text_path": null, "primary_label": "BARRELNS", "field_names": [ @@ -4063,8 +4063,8 @@ "printable_ratio": 0.202, "zero_ratio": 0.7231, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_061_table_0B28_off_011A2B_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_061_table_0B28_off_011A2B_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_061_table_0B28_off_011A2B_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_061_table_0B28_off_011A2B_len_000133.strings.txt", "text_path": null, "primary_label": "BARRELEW", "field_names": [ @@ -4094,8 +4094,8 @@ "printable_ratio": 0.202, "zero_ratio": 0.7231, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_062_table_0B30_off_011C91_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_062_table_0B30_off_011C91_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_062_table_0B30_off_011C91_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_062_table_0B30_off_011C91_len_000133.strings.txt", "text_path": null, "primary_label": "BARRELNW", "field_names": [ @@ -4125,8 +4125,8 @@ "printable_ratio": 0.202, "zero_ratio": 0.7231, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_063_table_0B38_off_011EF7_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_063_table_0B38_off_011EF7_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_063_table_0B38_off_011EF7_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_063_table_0B38_off_011EF7_len_000133.strings.txt", "text_path": null, "primary_label": "BARRELSE", "field_names": [ @@ -4156,8 +4156,8 @@ "printable_ratio": 0.379, "zero_ratio": 0.3721, "preview": "................-...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_064_table_0B50_off_051ECC_len_0002D3.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_064_table_0B50_off_051ECC_len_0002D3.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_064_table_0B50_off_051ECC_len_0002D3.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_064_table_0B50_off_051ECC_len_0002D3.strings.txt", "text_path": null, "primary_label": "RECHAGEW", "field_names": [ @@ -4191,8 +4191,8 @@ "printable_ratio": 0.4029, "zero_ratio": 0.348, "preview": "................A.......................................U.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_065_table_0B60_off_052472_len_00038F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_065_table_0B60_off_052472_len_00038F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_065_table_0B60_off_052472_len_00038F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_065_table_0B60_off_052472_len_00038F.strings.txt", "text_path": null, "primary_label": "RECHFLEW", "field_names": [ @@ -4224,8 +4224,8 @@ "printable_ratio": 0.2998, "zero_ratio": 0.5332, "preview": "................K...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_066_table_0B78_off_039A90_len_0001F1.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_066_table_0B78_off_039A90_len_0001F1.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_066_table_0B78_off_039A90_len_0001F1.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_066_table_0B78_off_039A90_len_0001F1.strings.txt", "text_path": null, "primary_label": "G_POOL", "field_names": [ @@ -4257,8 +4257,8 @@ "printable_ratio": 0.2996, "zero_ratio": 0.5324, "preview": "................H...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_067_table_0B80_off_0743E6_len_0001EE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_067_table_0B80_off_0743E6_len_0001EE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_067_table_0B80_off_0743E6_len_0001EE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_067_table_0B80_off_0743E6_len_0001EE.strings.txt", "text_path": null, "primary_label": "Y_POOL", "field_names": [ @@ -4290,8 +4290,8 @@ "printable_ratio": 0.4511, "zero_ratio": 0.3364, "preview": "............p...\".........b.............................:.c.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_068_table_0BB8_off_0491F7_len_000370.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_068_table_0BB8_off_0491F7_len_000370.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_068_table_0BB8_off_0491F7_len_000370.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_068_table_0BB8_off_0491F7_len_000370.strings.txt", "text_path": null, "primary_label": "MONITEW", "field_names": [ @@ -4332,8 +4332,8 @@ "printable_ratio": 0.1324, "zero_ratio": 0.77, "preview": "....K...........y...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_069_table_0BC8_off_063A7B_len_00011F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_069_table_0BC8_off_063A7B_len_00011F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_069_table_0BC8_off_063A7B_len_00011F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_069_table_0BC8_off_063A7B_len_00011F.strings.txt", "text_path": null, "primary_label": "THERM", "field_names": [ @@ -4363,8 +4363,8 @@ "printable_ratio": 0.1531, "zero_ratio": 0.7551, "preview": "....R.......&...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_070_table_0C30_off_079F25_len_000126.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_070_table_0C30_off_079F25_len_000126.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_070_table_0C30_off_079F25_len_000126.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_070_table_0C30_off_079F25_len_000126.strings.txt", "text_path": null, "primary_label": "MALRM_NS", "field_names": [ @@ -4394,8 +4394,8 @@ "printable_ratio": 0.3614, "zero_ratio": 0.4157, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_071_table_0C88_off_03322B_len_000298.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_071_table_0C88_off_03322B_len_000298.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_071_table_0C88_off_03322B_len_000298.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_071_table_0C88_off_03322B_len_000298.strings.txt", "text_path": null, "primary_label": "FIGHT_NS", "field_names": [ @@ -4429,8 +4429,8 @@ "printable_ratio": 0.3599, "zero_ratio": 0.4157, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_072_table_0C90_off_080210_len_000298.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_072_table_0C90_off_080210_len_000298.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_072_table_0C90_off_080210_len_000298.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_072_table_0C90_off_080210_len_000298.strings.txt", "text_path": null, "primary_label": "FIGHT_N3", "field_names": [ @@ -4464,8 +4464,8 @@ "printable_ratio": 0.3306, "zero_ratio": 0.4403, "preview": "............l...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_073_table_0CA8_off_07FD38_len_00026C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_073_table_0CA8_off_07FD38_len_00026C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_073_table_0CA8_off_07FD38_len_00026C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_073_table_0CA8_off_07FD38_len_00026C.strings.txt", "text_path": null, "primary_label": "FIGHT_N1", "field_names": [ @@ -4499,8 +4499,8 @@ "printable_ratio": 0.3812, "zero_ratio": 0.4116, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_074_table_0CD0_off_0576A3_len_0002D4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_074_table_0CD0_off_0576A3_len_0002D4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_074_table_0CD0_off_0576A3_len_0002D4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_074_table_0CD0_off_0576A3_len_0002D4.strings.txt", "text_path": null, "primary_label": "RTELEPAD", "field_names": [ @@ -4534,8 +4534,8 @@ "printable_ratio": 0.3812, "zero_ratio": 0.4116, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_075_table_0D00_off_04A635_len_0002D4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_075_table_0D00_off_04A635_len_0002D4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_075_table_0D00_off_04A635_len_0002D4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_075_table_0D00_off_04A635_len_0002D4.strings.txt", "text_path": null, "primary_label": "MTELEPAD", "field_names": [ @@ -4569,8 +4569,8 @@ "printable_ratio": 0.3258, "zero_ratio": 0.4403, "preview": "............l...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_076_table_0D08_off_07FACC_len_00026C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_076_table_0D08_off_07FACC_len_00026C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_076_table_0D08_off_07FACC_len_00026C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_076_table_0D08_off_07FACC_len_00026C.strings.txt", "text_path": null, "primary_label": "FIGHT_E3", "field_names": [ @@ -4604,8 +4604,8 @@ "printable_ratio": 0.3258, "zero_ratio": 0.4403, "preview": "............l...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_077_table_0D38_off_07F5F4_len_00026C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_077_table_0D38_off_07F5F4_len_00026C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_077_table_0D38_off_07F5F4_len_00026C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_077_table_0D38_off_07F5F4_len_00026C.strings.txt", "text_path": null, "primary_label": "FIGHT_E1", "field_names": [ @@ -4639,8 +4639,8 @@ "printable_ratio": 0.3274, "zero_ratio": 0.4403, "preview": "............l...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_078_table_0D40_off_07F860_len_00026C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_078_table_0D40_off_07F860_len_00026C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_078_table_0D40_off_07F860_len_00026C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_078_table_0D40_off_07F860_len_00026C.strings.txt", "text_path": null, "primary_label": "FIGHT_E2", "field_names": [ @@ -4674,8 +4674,8 @@ "printable_ratio": 0.3268, "zero_ratio": 0.4641, "preview": "............d...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_079_table_0D50_off_04E30F_len_000264.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_079_table_0D50_off_04E30F_len_000264.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_079_table_0D50_off_04E30F_len_000264.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_079_table_0D50_off_04E30F_len_000264.strings.txt", "text_path": null, "primary_label": "PPLATE", "field_names": [ @@ -4707,8 +4707,8 @@ "printable_ratio": 0.4032, "zero_ratio": 0.3551, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_080_table_0D58_off_04E573_len_0003E5.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_080_table_0D58_off_04E573_len_0003E5.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_080_table_0D58_off_04E573_len_0003E5.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_080_table_0D58_off_04E573_len_0003E5.strings.txt", "text_path": null, "primary_label": "PPLATE2", "field_names": [ @@ -4740,8 +4740,8 @@ "printable_ratio": 0.3258, "zero_ratio": 0.4403, "preview": "............l...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_081_table_0D60_off_032FBF_len_00026C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_081_table_0D60_off_032FBF_len_00026C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_081_table_0D60_off_032FBF_len_00026C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_081_table_0D60_off_032FBF_len_00026C.strings.txt", "text_path": null, "primary_label": "FIGHT_EW", "field_names": [ @@ -4775,8 +4775,8 @@ "printable_ratio": 0.3786, "zero_ratio": 0.3155, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_082_table_0D68_off_03DD17_len_000485.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_082_table_0D68_off_03DD17_len_000485.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_082_table_0D68_off_03DD17_len_000485.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_082_table_0D68_off_03DD17_len_000485.strings.txt", "text_path": null, "primary_label": "LAZERNS", "field_names": [ @@ -4810,8 +4810,8 @@ "printable_ratio": 0.381, "zero_ratio": 0.3164, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_083_table_0D70_off_03D88F_len_000488.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_083_table_0D70_off_03D88F_len_000488.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_083_table_0D70_off_03D88F_len_000488.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_083_table_0D70_off_03D88F_len_000488.strings.txt", "text_path": null, "primary_label": "LAZEREW", "field_names": [ @@ -4845,8 +4845,8 @@ "printable_ratio": 0.1157, "zero_ratio": 0.8097, "preview": "....8...........f...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_084_table_0DA0_off_04F3BA_len_00010C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_084_table_0DA0_off_04F3BA_len_00010C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_084_table_0DA0_off_04F3BA_len_00010C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_084_table_0DA0_off_04F3BA_len_00010C.strings.txt", "text_path": null, "primary_label": "RADAR", "field_names": [ @@ -4876,8 +4876,8 @@ "printable_ratio": 0.1429, "zero_ratio": 0.7596, "preview": "....K...........y...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_085_table_0DC0_off_057584_len_00011F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_085_table_0DC0_off_057584_len_00011F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_085_table_0DC0_off_057584_len_00011F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_085_table_0DC0_off_057584_len_00011F.strings.txt", "text_path": null, "primary_label": "RSTATION", "field_names": [ @@ -4907,8 +4907,8 @@ "printable_ratio": 0.2225, "zero_ratio": 0.6283, "preview": "............~...0.........L.................^.M.................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_086_table_0DF8_off_03C0AA_len_00017E.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_086_table_0DF8_off_03C0AA_len_00017E.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_086_table_0DF8_off_03C0AA_len_00017E.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_086_table_0DF8_off_03C0AA_len_00017E.strings.txt", "text_path": null, "primary_label": "JOHN", "field_names": [ @@ -4940,8 +4940,8 @@ "printable_ratio": 0.1519, "zero_ratio": 0.7562, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_087_table_0E30_off_02EC61_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_087_table_0E30_off_02EC61_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_087_table_0E30_off_02EC61_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_087_table_0E30_off_02EC61_len_00011B.strings.txt", "text_path": null, "primary_label": "ENFORCER", "field_names": [ @@ -4971,8 +4971,8 @@ "printable_ratio": 0.4449, "zero_ratio": 0.2862, "preview": "....s.......G...Q...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_088_table_0E40_off_018E22_len_000647.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_088_table_0E40_off_018E22_len_000647.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_088_table_0E40_off_018E22_len_000647.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_088_table_0E40_off_018E22_len_000647.strings.txt", "text_path": null, "primary_label": "CAMERACO", "field_names": [ @@ -5020,8 +5020,8 @@ "printable_ratio": 0.4275, "zero_ratio": 0.3467, "preview": "....`.......4...>.........................................u.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_089_table_0E48_off_049E7A_len_000434.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_089_table_0E48_off_049E7A_len_000434.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_089_table_0E48_off_049E7A_len_000434.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_089_table_0E48_off_049E7A_len_000434.strings.txt", "text_path": null, "primary_label": "MOTION", "field_names": [ @@ -5063,8 +5063,8 @@ "printable_ratio": 0.4466, "zero_ratio": 0.2867, "preview": "....m.......A...K...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_090_table_0E50_off_019AAA_len_000641.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_090_table_0E50_off_019AAA_len_000641.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_090_table_0E50_off_019AAA_len_000641.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_090_table_0E50_off_019AAA_len_000641.strings.txt", "text_path": null, "primary_label": "CAMERANS", "field_names": [ @@ -5112,8 +5112,8 @@ "printable_ratio": 0.3934, "zero_ratio": 0.4155, "preview": "........................................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_091_table_0E58_off_01A0EB_len_0002D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_091_table_0E58_off_01A0EB_len_0002D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_091_table_0E58_off_01A0EB_len_0002D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_091_table_0E58_off_01A0EB_len_0002D2.strings.txt", "text_path": null, "primary_label": "CAM_EW", "field_names": [ @@ -5143,8 +5143,8 @@ "printable_ratio": 0.3934, "zero_ratio": 0.4155, "preview": "........................................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_092_table_0E60_off_01A3BD_len_0002D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_092_table_0E60_off_01A3BD_len_0002D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_092_table_0E60_off_01A3BD_len_0002D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_092_table_0E60_off_01A3BD_len_0002D2.strings.txt", "text_path": null, "primary_label": "CAM_NS", "field_names": [ @@ -5174,8 +5174,8 @@ "printable_ratio": 0.1269, "zero_ratio": 0.7985, "preview": "....8...........f...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_093_table_0E70_off_03715E_len_00010C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_093_table_0E70_off_03715E_len_00010C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_093_table_0E70_off_03715E_len_00010C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_093_table_0E70_off_03715E_len_00010C.strings.txt", "text_path": null, "primary_label": "FUSREACT", "field_names": [ @@ -5205,8 +5205,8 @@ "printable_ratio": 0.3854, "zero_ratio": 0.388, "preview": "....,.....................................................L.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_094_table_0E88_off_06492B_len_000300.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_094_table_0E88_off_06492B_len_000300.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_094_table_0E88_off_06492B_len_000300.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_094_table_0E88_off_06492B_len_000300.strings.txt", "text_path": null, "primary_label": "TRANSFOR", "field_names": [ @@ -5242,8 +5242,8 @@ "printable_ratio": 0.2937, "zero_ratio": 0.5448, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_095_table_0EA0_off_05987D_len_0001BE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_095_table_0EA0_off_05987D_len_0001BE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_095_table_0EA0_off_05987D_len_0001BE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_095_table_0EA0_off_05987D_len_0001BE.strings.txt", "text_path": null, "primary_label": "SHOCKEW", "field_names": [ @@ -5273,8 +5273,8 @@ "printable_ratio": 0.4667, "zero_ratio": 0.2833, "preview": "....t.......H...R...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_096_table_0ED0_off_032A77_len_000548.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_096_table_0ED0_off_032A77_len_000548.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_096_table_0ED0_off_032A77_len_000548.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_096_table_0ED0_off_032A77_len_000548.strings.txt", "text_path": null, "primary_label": "FFFLOOR2", "field_names": [ @@ -5308,8 +5308,8 @@ "printable_ratio": 0.2937, "zero_ratio": 0.5448, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_097_table_0ED8_off_059C35_len_0001BE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_097_table_0ED8_off_059C35_len_0001BE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_097_table_0ED8_off_059C35_len_0001BE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_097_table_0ED8_off_059C35_len_0001BE.strings.txt", "text_path": null, "primary_label": "SHOCKNS", "field_names": [ @@ -5339,8 +5339,8 @@ "printable_ratio": 0.3539, "zero_ratio": 0.4775, "preview": "............W...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_098_table_0EE8_off_04006F_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_098_table_0EE8_off_04006F_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_098_table_0EE8_off_04006F_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_098_table_0EE8_off_04006F_len_000257.strings.txt", "text_path": null, "primary_label": "L_NS-2", "field_names": [ @@ -5370,8 +5370,8 @@ "printable_ratio": 0.3539, "zero_ratio": 0.4775, "preview": "............W...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_099_table_0EF0_off_0402C6_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_099_table_0EF0_off_0402C6_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_099_table_0EF0_off_0402C6_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_099_table_0EF0_off_0402C6_len_000257.strings.txt", "text_path": null, "primary_label": "L_NS-4", "field_names": [ @@ -5401,8 +5401,8 @@ "printable_ratio": 0.4115, "zero_ratio": 0.387, "preview": "....Z...........@.......................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_100_table_0EF8_off_058F3E_len_00032E.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_100_table_0EF8_off_058F3E_len_00032E.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_100_table_0EF8_off_058F3E_len_00032E.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_100_table_0EF8_off_058F3E_len_00032E.strings.txt", "text_path": null, "primary_label": "SENTRY", "field_names": [ @@ -5432,8 +5432,8 @@ "printable_ratio": 0.3539, "zero_ratio": 0.4775, "preview": "............W...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_101_table_0F00_off_04051D_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_101_table_0F00_off_04051D_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_101_table_0F00_off_04051D_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_101_table_0F00_off_04051D_len_000257.strings.txt", "text_path": null, "primary_label": "L_NS-8", "field_names": [ @@ -5463,8 +5463,8 @@ "printable_ratio": 0.3639, "zero_ratio": 0.4674, "preview": "............W...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_102_table_0F08_off_03FE18_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_102_table_0F08_off_03FE18_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_102_table_0F08_off_03FE18_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_102_table_0F08_off_03FE18_len_000257.strings.txt", "text_path": null, "primary_label": "L_NS-16", "field_names": [ @@ -5494,8 +5494,8 @@ "printable_ratio": 0.3539, "zero_ratio": 0.4775, "preview": "............W...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_103_table_0F10_off_03F713_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_103_table_0F10_off_03F713_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_103_table_0F10_off_03F713_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_103_table_0F10_off_03F713_len_000257.strings.txt", "text_path": null, "primary_label": "L_EW-2", "field_names": [ @@ -5525,8 +5525,8 @@ "printable_ratio": 0.3539, "zero_ratio": 0.4775, "preview": "............W...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_104_table_0F18_off_03F96A_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_104_table_0F18_off_03F96A_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_104_table_0F18_off_03F96A_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_104_table_0F18_off_03F96A_len_000257.strings.txt", "text_path": null, "primary_label": "L_EW-4", "field_names": [ @@ -5556,8 +5556,8 @@ "printable_ratio": 0.3539, "zero_ratio": 0.4775, "preview": "............W...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_105_table_0F20_off_03FBC1_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_105_table_0F20_off_03FBC1_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_105_table_0F20_off_03FBC1_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_105_table_0F20_off_03FBC1_len_000257.strings.txt", "text_path": null, "primary_label": "L_EW-8", "field_names": [ @@ -5587,8 +5587,8 @@ "printable_ratio": 0.3623, "zero_ratio": 0.4674, "preview": "............W...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_106_table_0F28_off_03F4BC_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_106_table_0F28_off_03F4BC_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_106_table_0F28_off_03F4BC_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_106_table_0F28_off_03F4BC_len_000257.strings.txt", "text_path": null, "primary_label": "L_EW-16", "field_names": [ @@ -5618,8 +5618,8 @@ "printable_ratio": 0.2821, "zero_ratio": 0.52, "preview": "................5...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_107_table_0F30_off_040E97_len_0001DB.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_107_table_0F30_off_040E97_len_0001DB.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_107_table_0F30_off_040E97_len_0001DB.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_107_table_0F30_off_040E97_len_0001DB.strings.txt", "text_path": null, "primary_label": "MDESKEW", "field_names": [ @@ -5653,8 +5653,8 @@ "printable_ratio": 0.3589, "zero_ratio": 0.4106, "preview": "................&...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_108_table_0F38_off_03D103_len_0002CC.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_108_table_0F38_off_03D103_len_0002CC.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_108_table_0F38_off_03D103_len_0002CC.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_108_table_0F38_off_03D103_len_0002CC.strings.txt", "text_path": null, "primary_label": "LASERI", "field_names": [ @@ -5688,8 +5688,8 @@ "printable_ratio": 0.3515, "zero_ratio": 0.4324, "preview": "................Z...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_109_table_0F40_off_018867_len_0002A8.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_109_table_0F40_off_018867_len_0002A8.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_109_table_0F40_off_018867_len_0002A8.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_109_table_0F40_off_018867_len_0002A8.strings.txt", "text_path": null, "primary_label": "BUBBLE", "field_names": [ @@ -5721,8 +5721,8 @@ "printable_ratio": 0.446, "zero_ratio": 0.2873, "preview": "....m.......A...K...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_110_table_0F48_off_019469_len_000641.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_110_table_0F48_off_019469_len_000641.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_110_table_0F48_off_019469_len_000641.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_110_table_0F48_off_019469_len_000641.strings.txt", "text_path": null, "primary_label": "CAMERAEW", "field_names": [ @@ -5770,8 +5770,8 @@ "printable_ratio": 0.4533, "zero_ratio": 0.2302, "preview": "..........................................................M.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_111_table_0F68_off_086E9D_len_000B8E.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_111_table_0F68_off_086E9D_len_000B8E.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_111_table_0F68_off_086E9D_len_000B8E.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_111_table_0F68_off_086E9D_len_000B8E.strings.txt", "text_path": null, "primary_label": "TELEPAD", "field_names": [ @@ -5826,8 +5826,8 @@ "printable_ratio": 0.2821, "zero_ratio": 0.52, "preview": "................5...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_112_table_0F70_off_041072_len_0001DB.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_112_table_0F70_off_041072_len_0001DB.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_112_table_0F70_off_041072_len_0001DB.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_112_table_0F70_off_041072_len_0001DB.strings.txt", "text_path": null, "primary_label": "MDESKNS", "field_names": [ @@ -5861,8 +5861,8 @@ "printable_ratio": 0.3825, "zero_ratio": 0.3723, "preview": "............y...+.................................\".............", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_113_table_0F78_off_04088F_len_000379.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_113_table_0F78_off_04088F_len_000379.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_113_table_0F78_off_04088F_len_000379.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_113_table_0F78_off_04088F_len_000379.strings.txt", "text_path": null, "primary_label": "MBARREL", "field_names": [ @@ -5901,8 +5901,8 @@ "printable_ratio": 0.3402, "zero_ratio": 0.4326, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_114_table_0FA0_off_060D39_len_0002AA.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_114_table_0FA0_off_060D39_len_0002AA.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_114_table_0FA0_off_060D39_len_0002AA.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_114_table_0FA0_off_060D39_len_0002AA.strings.txt", "text_path": null, "primary_label": "S_CHAIR", "field_names": [ @@ -5942,8 +5942,8 @@ "printable_ratio": 0.2589, "zero_ratio": 0.5724, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_115_table_1020_off_061188_len_0001A5.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_115_table_1020_off_061188_len_0001A5.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_115_table_1020_off_061188_len_0001A5.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_115_table_1020_off_061188_len_0001A5.strings.txt", "text_path": null, "primary_label": "TARGETNS", "field_names": [ @@ -5975,8 +5975,8 @@ "printable_ratio": 0.2589, "zero_ratio": 0.5724, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_116_table_1028_off_060FE3_len_0001A5.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_116_table_1028_off_060FE3_len_0001A5.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_116_table_1028_off_060FE3_len_0001A5.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_116_table_1028_off_060FE3_len_0001A5.strings.txt", "text_path": null, "primary_label": "TARGETEW", "field_names": [ @@ -6008,8 +6008,8 @@ "printable_ratio": 0.3812, "zero_ratio": 0.3619, "preview": "................Y...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_117_table_1038_off_01215D_len_0004A7.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_117_table_1038_off_01215D_len_0004A7.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_117_table_1038_off_01215D_len_0004A7.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_117_table_1038_off_01215D_len_0004A7.strings.txt", "text_path": null, "primary_label": "BART", "field_names": [ @@ -6046,8 +6046,8 @@ "printable_ratio": 0.3446, "zero_ratio": 0.4282, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_118_table_1068_off_05AF4B_len_0002AA.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_118_table_1068_off_05AF4B_len_0002AA.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_118_table_1068_off_05AF4B_len_0002AA.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_118_table_1068_off_05AF4B_len_0002AA.strings.txt", "text_path": null, "primary_label": "SMALCHAI", "field_names": [ @@ -6087,8 +6087,8 @@ "printable_ratio": 0.225, "zero_ratio": 0.6444, "preview": "............h...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_119_table_1088_off_041D58_len_000168.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_119_table_1088_off_041D58_len_000168.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_119_table_1088_off_041D58_len_000168.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_119_table_1088_off_041D58_len_000168.strings.txt", "text_path": null, "primary_label": "MFAN_NS", "field_names": [ @@ -6118,8 +6118,8 @@ "printable_ratio": 0.225, "zero_ratio": 0.6444, "preview": "............h...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_120_table_1090_off_041BF0_len_000168.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_120_table_1090_off_041BF0_len_000168.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_120_table_1090_off_041BF0_len_000168.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_120_table_1090_off_041BF0_len_000168.strings.txt", "text_path": null, "primary_label": "MFAN_EW", "field_names": [ @@ -6149,8 +6149,8 @@ "printable_ratio": 0.4138, "zero_ratio": 0.333, "preview": "..../...........]...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_121_table_1120_off_057D7A_len_000403.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_121_table_1120_off_057D7A_len_000403.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_121_table_1120_off_057D7A_len_000403.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_121_table_1120_off_057D7A_len_000403.strings.txt", "text_path": null, "primary_label": "SAFE_NS", "field_names": [ @@ -6187,8 +6187,8 @@ "printable_ratio": 0.4109, "zero_ratio": 0.333, "preview": "..../...........]...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_122_table_1128_off_057977_len_000403.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_122_table_1128_off_057977_len_000403.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_122_table_1128_off_057977_len_000403.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_122_table_1128_off_057977_len_000403.strings.txt", "text_path": null, "primary_label": "SAFE_EW", "field_names": [ @@ -6225,8 +6225,8 @@ "printable_ratio": 0.1968, "zero_ratio": 0.6442, "preview": "............s...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_123_table_1178_off_013158_len_000173.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_123_table_1178_off_013158_len_000173.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_123_table_1178_off_013158_len_000173.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_123_table_1178_off_013158_len_000173.strings.txt", "text_path": null, "primary_label": "?\nQF", "field_names": [ @@ -6256,8 +6256,8 @@ "printable_ratio": 0.482, "zero_ratio": 0.1919, "preview": "........................................................u.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_124_table_1180_off_02CD6A_len_000FE0.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_124_table_1180_off_02CD6A_len_000FE0.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_124_table_1180_off_02CD6A_len_000FE0.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_124_table_1180_off_02CD6A_len_000FE0.strings.txt", "text_path": null, "primary_label": "ELEVATOR", "field_names": [ @@ -6311,8 +6311,8 @@ "printable_ratio": 0.2406, "zero_ratio": 0.6551, "preview": "............Y...........................................N.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_125_table_11C8_off_0209E5_len_000159.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_125_table_11C8_off_0209E5_len_000159.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_125_table_11C8_off_0209E5_len_000159.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_125_table_11C8_off_0209E5_len_000159.strings.txt", "text_path": null, "primary_label": "DEATHFL1", "field_names": [ @@ -6342,8 +6342,8 @@ "printable_ratio": 0.2406, "zero_ratio": 0.6551, "preview": "............Y...........................................N.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_126_table_11D0_off_020B3E_len_000159.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_126_table_11D0_off_020B3E_len_000159.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_126_table_11D0_off_020B3E_len_000159.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_126_table_11D0_off_020B3E_len_000159.strings.txt", "text_path": null, "primary_label": "DEATHFL2", "field_names": [ @@ -6373,8 +6373,8 @@ "printable_ratio": 0.2255, "zero_ratio": 0.6359, "preview": "............p...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_127_table_11E8_off_029C98_len_000170.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_127_table_11E8_off_029C98_len_000170.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_127_table_11E8_off_029C98_len_000170.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_127_table_11E8_off_029C98_len_000170.strings.txt", "text_path": null, "primary_label": "D_BARREL", "field_names": [ @@ -6404,8 +6404,8 @@ "printable_ratio": 0.3568, "zero_ratio": 0.4216, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_128_table_11F0_off_01C9E6_len_0002E4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_128_table_11F0_off_01C9E6_len_0002E4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_128_table_11F0_off_01C9E6_len_0002E4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_128_table_11F0_off_01C9E6_len_0002E4.strings.txt", "text_path": null, "primary_label": "CONVFLR", "field_names": [ @@ -6441,8 +6441,8 @@ "printable_ratio": 0.3569, "zero_ratio": 0.3724, "preview": "................;...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_129_table_11F8_off_04DF86_len_000389.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_129_table_11F8_off_04DF86_len_000389.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_129_table_11F8_off_04DF86_len_000389.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_129_table_11F8_off_04DF86_len_000389.strings.txt", "text_path": null, "primary_label": "PODBOY", "field_names": [ @@ -6483,8 +6483,8 @@ "printable_ratio": 0.3107, "zero_ratio": 0.5578, "preview": "................k...........................j...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_130_table_1318_off_069770_len_0001B9.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_130_table_1318_off_069770_len_0001B9.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_130_table_1318_off_069770_len_0001B9.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_130_table_1318_off_069770_len_0001B9.strings.txt", "text_path": null, "primary_label": "VALUEBOX", "field_names": [ @@ -6523,8 +6523,8 @@ "printable_ratio": 0.2348, "zero_ratio": 0.658, "preview": "............Y...........................................[.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_131_table_1330_off_05E523_len_000159.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_131_table_1330_off_05E523_len_000159.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_131_table_1330_off_05E523_len_000159.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_131_table_1330_off_05E523_len_000159.strings.txt", "text_path": null, "primary_label": "STATICNS", "field_names": [ @@ -6554,8 +6554,8 @@ "printable_ratio": 0.2821, "zero_ratio": 0.5573, "preview": "................f...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_132_table_1348_off_013917_len_0001B4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_132_table_1348_off_013917_len_0001B4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_132_table_1348_off_013917_len_0001B4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_132_table_1348_off_013917_len_0001B4.strings.txt", "text_path": null, "primary_label": "BIGCOMNS", "field_names": [ @@ -6587,8 +6587,8 @@ "printable_ratio": 0.2821, "zero_ratio": 0.5573, "preview": "................f...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_133_table_1350_off_013763_len_0001B4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_133_table_1350_off_013763_len_0001B4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_133_table_1350_off_013763_len_0001B4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_133_table_1350_off_013763_len_0001B4.strings.txt", "text_path": null, "primary_label": "BIGCOMEW", "field_names": [ @@ -6620,8 +6620,8 @@ "printable_ratio": 0.4111, "zero_ratio": 0.3921, "preview": "........................................................].......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_134_table_1388_off_031B60_len_0002E1.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_134_table_1388_off_031B60_len_0002E1.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_134_table_1388_off_031B60_len_0002E1.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_134_table_1388_off_031B60_len_0002E1.strings.txt", "text_path": null, "primary_label": "EYECAMNS", "field_names": [ @@ -6651,8 +6651,8 @@ "printable_ratio": 0.4114, "zero_ratio": 0.3961, "preview": "........................................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_135_table_1390_off_03188E_len_0002D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_135_table_1390_off_03188E_len_0002D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_135_table_1390_off_03188E_len_0002D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_135_table_1390_off_03188E_len_0002D2.strings.txt", "text_path": null, "primary_label": "EYECAMEW", "field_names": [ @@ -6682,8 +6682,8 @@ "printable_ratio": 0.1531, "zero_ratio": 0.7551, "preview": "....R.......&...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_136_table_1418_off_079DFF_len_000126.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_136_table_1418_off_079DFF_len_000126.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_136_table_1418_off_079DFF_len_000126.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_136_table_1418_off_079DFF_len_000126.strings.txt", "text_path": null, "primary_label": "MALRM_EW", "field_names": [ @@ -6713,8 +6713,8 @@ "printable_ratio": 0.3746, "zero_ratio": 0.3534, "preview": "....}.......Q...........................................}.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_137_table_1468_off_037E09_len_000351.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_137_table_1468_off_037E09_len_000351.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_137_table_1468_off_037E09_len_000351.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_137_table_1468_off_037E09_len_000351.strings.txt", "text_path": null, "primary_label": "GLASS_EW", "field_names": [ @@ -6754,8 +6754,8 @@ "printable_ratio": 0.3116, "zero_ratio": 0.5089, "preview": "....'...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_138_table_1510_off_02EF77_len_0001FB.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_138_table_1510_off_02EF77_len_0001FB.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_138_table_1510_off_02EF77_len_0001FB.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_138_table_1510_off_02EF77_len_0001FB.strings.txt", "text_path": null, "primary_label": "ESPACE2", "field_names": [ @@ -6785,8 +6785,8 @@ "printable_ratio": 0.3568, "zero_ratio": 0.4216, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_139_table_1520_off_01CFAE_len_0002E4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_139_table_1520_off_01CFAE_len_0002E4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_139_table_1520_off_01CFAE_len_0002E4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_139_table_1520_off_01CFAE_len_0002E4.strings.txt", "text_path": null, "primary_label": "CONV_NL", "field_names": [ @@ -6822,8 +6822,8 @@ "printable_ratio": 0.3568, "zero_ratio": 0.4216, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_140_table_1528_off_01CCCA_len_0002E4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_140_table_1528_off_01CCCA_len_0002E4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_140_table_1528_off_01CCCA_len_0002E4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_140_table_1528_off_01CCCA_len_0002E4.strings.txt", "text_path": null, "primary_label": "CONV_EL", "field_names": [ @@ -6859,8 +6859,8 @@ "printable_ratio": 0.2262, "zero_ratio": 0.6, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_141_table_1530_off_042064_len_0001A4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_141_table_1530_off_042064_len_0001A4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_141_table_1530_off_042064_len_0001A4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_141_table_1530_off_042064_len_0001A4.strings.txt", "text_path": null, "primary_label": "MGR_NS", "field_names": [ @@ -6890,8 +6890,8 @@ "printable_ratio": 0.2219, "zero_ratio": 0.6775, "preview": "....~.......R.....................................I.............", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_142_table_1580_off_042208_len_000152.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_142_table_1580_off_042208_len_000152.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_142_table_1580_off_042208_len_000152.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_142_table_1580_off_042208_len_000152.strings.txt", "text_path": null, "primary_label": "MINELET", "field_names": [ @@ -6921,8 +6921,8 @@ "printable_ratio": 0.3031, "zero_ratio": 0.4954, "preview": "....I...........w.......................................I.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_143_table_1588_off_03483F_len_00021D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_143_table_1588_off_03483F_len_00021D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_143_table_1588_off_03483F_len_00021D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_143_table_1588_off_03483F_len_00021D.strings.txt", "text_path": null, "primary_label": "FLORMINE", "field_names": [ @@ -6956,8 +6956,8 @@ "printable_ratio": 0.2494, "zero_ratio": 0.6026, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_144_table_15A8_off_060BB8_len_000181.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_144_table_15A8_off_060BB8_len_000181.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_144_table_15A8_off_060BB8_len_000181.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_144_table_15A8_off_060BB8_len_000181.strings.txt", "text_path": null, "primary_label": "SWITCHNS", "field_names": [ @@ -6987,8 +6987,8 @@ "printable_ratio": 0.3882, "zero_ratio": 0.4471, "preview": "............S...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_145_table_15E8_off_03B90A_len_000253.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_145_table_15E8_off_03B90A_len_000253.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_145_table_15E8_off_03B90A_len_000253.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_145_table_15E8_off_03B90A_len_000253.strings.txt", "text_path": null, "primary_label": "HOVER_EW", "field_names": [ @@ -7018,8 +7018,8 @@ "printable_ratio": 0.3882, "zero_ratio": 0.4471, "preview": "............S...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_146_table_15F8_off_03BB5D_len_000253.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_146_table_15F8_off_03BB5D_len_000253.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_146_table_15F8_off_03BB5D_len_000253.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_146_table_15F8_off_03BB5D_len_000253.strings.txt", "text_path": null, "primary_label": "HOVER_NS", "field_names": [ @@ -7049,8 +7049,8 @@ "printable_ratio": 0.2262, "zero_ratio": 0.6, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_147_table_1600_off_041EC0_len_0001A4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_147_table_1600_off_041EC0_len_0001A4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_147_table_1600_off_041EC0_len_0001A4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_147_table_1600_off_041EC0_len_0001A4.strings.txt", "text_path": null, "primary_label": "MGR_EW", "field_names": [ @@ -7080,8 +7080,8 @@ "printable_ratio": 0.3377, "zero_ratio": 0.4784, "preview": "....A...........o.......................................A.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_148_table_1628_off_05CBA1_len_000215.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_148_table_1628_off_05CBA1_len_000215.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_148_table_1628_off_05CBA1_len_000215.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_148_table_1628_off_05CBA1_len_000215.strings.txt", "text_path": null, "primary_label": "SSBOX_EW", "field_names": [ @@ -7113,8 +7113,8 @@ "printable_ratio": 0.4342, "zero_ratio": 0.3722, "preview": "....B...........(.................................^.....^.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_149_table_16A8_off_014D32_len_000316.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_149_table_16A8_off_014D32_len_000316.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_149_table_16A8_off_014D32_len_000316.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_149_table_16A8_off_014D32_len_000316.strings.txt", "text_path": null, "primary_label": "BLASERNS", "field_names": [ @@ -7144,8 +7144,8 @@ "printable_ratio": 0.4342, "zero_ratio": 0.3722, "preview": "....B...........(.................................^.....^.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_150_table_16B0_off_014A1C_len_000316.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_150_table_16B0_off_014A1C_len_000316.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_150_table_16B0_off_014A1C_len_000316.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_150_table_16B0_off_014A1C_len_000316.strings.txt", "text_path": null, "primary_label": "BLASEREW", "field_names": [ @@ -7175,8 +7175,8 @@ "printable_ratio": 0.3491, "zero_ratio": 0.4403, "preview": "............|.............................................9.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_151_table_16D8_off_0132CB_len_00027C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_151_table_16D8_off_0132CB_len_00027C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_151_table_16D8_off_0132CB_len_00027C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_151_table_16D8_off_0132CB_len_00027C.strings.txt", "text_path": null, "primary_label": "BETTYUP", "field_names": [ @@ -7210,8 +7210,8 @@ "printable_ratio": 0.3377, "zero_ratio": 0.4784, "preview": "....A...........o.......................................A.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_152_table_16E0_off_05CDB6_len_000215.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_152_table_16E0_off_05CDB6_len_000215.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_152_table_16E0_off_05CDB6_len_000215.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_152_table_16E0_off_05CDB6_len_000215.strings.txt", "text_path": null, "primary_label": "SSBOX_NS", "field_names": [ @@ -7243,8 +7243,8 @@ "printable_ratio": 0.1724, "zero_ratio": 0.6928, "preview": "....k.......?...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_153_table_16E8_off_0542AD_len_00013F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_153_table_16E8_off_0542AD_len_00013F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_153_table_16E8_off_0542AD_len_00013F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_153_table_16E8_off_0542AD_len_00013F.strings.txt", "text_path": null, "primary_label": "ROAMING", "field_names": [ @@ -7274,8 +7274,8 @@ "printable_ratio": 0.3624, "zero_ratio": 0.3916, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_154_table_1770_off_05E11B_len_0002AF.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_154_table_1770_off_05E11B_len_0002AF.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_154_table_1770_off_05E11B_len_0002AF.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_154_table_1770_off_05E11B_len_0002AF.strings.txt", "text_path": null, "primary_label": "STABLE", "field_names": [ @@ -7311,8 +7311,8 @@ "printable_ratio": 0.1759, "zero_ratio": 0.7362, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_155_table_1780_off_03E966_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_155_table_1780_off_03E966_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_155_table_1780_off_03E966_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_155_table_1780_off_03E966_len_000133.strings.txt", "text_path": null, "primary_label": "LIFTPIT", "field_names": [ @@ -7342,8 +7342,8 @@ "printable_ratio": 0.1519, "zero_ratio": 0.7562, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_156_table_1788_off_01BEC8_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_156_table_1788_off_01BEC8_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_156_table_1788_off_01BEC8_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_156_table_1788_off_01BEC8_len_00011B.strings.txt", "text_path": null, "primary_label": "CONGRESS", "field_names": [ @@ -7373,8 +7373,8 @@ "printable_ratio": 0.3604, "zero_ratio": 0.3775, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_157_table_1790_off_05A491_len_0002BE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_157_table_1790_off_05A491_len_0002BE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_157_table_1790_off_05A491_len_0002BE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_157_table_1790_off_05A491_len_0002BE.strings.txt", "text_path": null, "primary_label": "SICBOXNS", "field_names": [ @@ -7408,8 +7408,8 @@ "printable_ratio": 0.4251, "zero_ratio": 0.2938, "preview": "................V.......................................j.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_158_table_1798_off_059FED_len_0004A4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_158_table_1798_off_059FED_len_0004A4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_158_table_1798_off_059FED_len_0004A4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_158_table_1798_off_059FED_len_0004A4.strings.txt", "text_path": null, "primary_label": "SICBFLNS", "field_names": [ @@ -7441,8 +7441,8 @@ "printable_ratio": 0.4029, "zero_ratio": 0.3578, "preview": "............v...(...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_159_table_17B8_off_04E958_len_000376.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_159_table_17B8_off_04E958_len_000376.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_159_table_17B8_off_04E958_len_000376.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_159_table_17B8_off_04E958_len_000376.strings.txt", "text_path": null, "primary_label": "PRISBENC", "field_names": [ @@ -7474,8 +7474,8 @@ "printable_ratio": 0.3905, "zero_ratio": 0.3702, "preview": "............v...(...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_160_table_17C8_off_04F044_len_000376.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_160_table_17C8_off_04F044_len_000376.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_160_table_17C8_off_04F044_len_000376.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_160_table_17C8_off_04F044_len_000376.strings.txt", "text_path": null, "primary_label": "PRISSIT", "field_names": [ @@ -7507,8 +7507,8 @@ "printable_ratio": 0.4029, "zero_ratio": 0.3578, "preview": "............v...(...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_161_table_17D0_off_04ECCE_len_000376.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_161_table_17D0_off_04ECCE_len_000376.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_161_table_17D0_off_04ECCE_len_000376.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_161_table_17D0_off_04ECCE_len_000376.strings.txt", "text_path": null, "primary_label": "PRISLEAN", "field_names": [ @@ -7540,8 +7540,8 @@ "printable_ratio": 0.4127, "zero_ratio": 0.3947, "preview": "........................................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_162_table_1810_off_06B1AF_len_0002D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_162_table_1810_off_06B1AF_len_0002D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_162_table_1810_off_06B1AF_len_0002D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_162_table_1810_off_06B1AF_len_0002D2.strings.txt", "text_path": null, "primary_label": "WALGUNNS", "field_names": [ @@ -7571,8 +7571,8 @@ "printable_ratio": 0.371, "zero_ratio": 0.3534, "preview": "....}.......Q...........................................}.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_163_table_1828_off_03815A_len_000351.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_163_table_1828_off_03815A_len_000351.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_163_table_1828_off_03815A_len_000351.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_163_table_1828_off_03815A_len_000351.strings.txt", "text_path": null, "primary_label": "GLASS_NS", "field_names": [ @@ -7612,8 +7612,8 @@ "printable_ratio": 0.1519, "zero_ratio": 0.7562, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_164_table_1838_off_040774_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_164_table_1838_off_040774_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_164_table_1838_off_040774_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_164_table_1838_off_040774_len_00011B.strings.txt", "text_path": null, "primary_label": "MAINTMAN", "field_names": [ @@ -7643,8 +7643,8 @@ "printable_ratio": 0.1484, "zero_ratio": 0.7562, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_165_table_1840_off_01AF19_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_165_table_1840_off_01AF19_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_165_table_1840_off_01AF19_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_165_table_1840_off_01AF19_len_00011B.strings.txt", "text_path": null, "primary_label": "CHEMSUIT", "field_names": [ @@ -7674,8 +7674,8 @@ "printable_ratio": 0.1484, "zero_ratio": 0.7597, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_166_table_1848_off_04CAD8_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_166_table_1848_off_04CAD8_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_166_table_1848_off_04CAD8_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_166_table_1848_off_04CAD8_len_00011B.strings.txt", "text_path": null, "primary_label": "OFFWORK", "field_names": [ @@ -7705,8 +7705,8 @@ "printable_ratio": 0.1413, "zero_ratio": 0.7668, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_167_table_1878_off_03985A_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_167_table_1878_off_03985A_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_167_table_1878_off_03985A_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_167_table_1878_off_03985A_len_00011B.strings.txt", "text_path": null, "primary_label": "GUARD", "field_names": [ @@ -7736,8 +7736,8 @@ "printable_ratio": 0.1954, "zero_ratio": 0.7264, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_168_table_18E0_off_037A74_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_168_table_18E0_off_037A74_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_168_table_18E0_off_037A74_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_168_table_18E0_off_037A74_len_000133.strings.txt", "text_path": null, "primary_label": "GDOOR_N", "field_names": [ @@ -7767,8 +7767,8 @@ "printable_ratio": 0.1954, "zero_ratio": 0.7264, "preview": "...._.......3..........................................._.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_169_table_18E8_off_03780E_len_000133.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_169_table_18E8_off_03780E_len_000133.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_169_table_18E8_off_03780E_len_000133.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_169_table_18E8_off_03780E_len_000133.strings.txt", "text_path": null, "primary_label": "GDOOR_E", "field_names": [ @@ -7798,8 +7798,8 @@ "printable_ratio": 0.2981, "zero_ratio": 0.4889, "preview": "....H...........v.......................................H.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_170_table_1928_off_013547_len_00021C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_170_table_1928_off_013547_len_00021C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_170_table_1928_off_013547_len_00021C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_170_table_1928_off_013547_len_00021C.strings.txt", "text_path": null, "primary_label": "BIGCAN", "field_names": [ @@ -7831,8 +7831,8 @@ "printable_ratio": 0.4306, "zero_ratio": 0.2861, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_171_table_1930_off_01082E_len_000599.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_171_table_1930_off_01082E_len_000599.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_171_table_1930_off_01082E_len_000599.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_171_table_1930_off_01082E_len_000599.strings.txt", "text_path": null, "primary_label": "AND_BOOT", "field_names": [ @@ -7869,8 +7869,8 @@ "printable_ratio": 0.4451, "zero_ratio": 0.2734, "preview": "....\\.......0...:...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_172_table_1940_off_018237_len_000630.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_172_table_1940_off_018237_len_000630.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_172_table_1940_off_018237_len_000630.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_172_table_1940_off_018237_len_000630.strings.txt", "text_path": null, "primary_label": "BRO_BOOT", "field_names": [ @@ -7907,8 +7907,8 @@ "printable_ratio": 0.3787, "zero_ratio": 0.3951, "preview": "................8...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_173_table_1950_off_01DB7A_len_0002DE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_173_table_1950_off_01DB7A_len_0002DE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_173_table_1950_off_01DB7A_len_0002DE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_173_table_1950_off_01DB7A_len_0002DE.strings.txt", "text_path": null, "primary_label": "CRUMORPH", "field_names": [ @@ -7940,8 +7940,8 @@ "printable_ratio": 0.1484, "zero_ratio": 0.7597, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_174_table_1958_off_039975_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_174_table_1958_off_039975_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_174_table_1958_off_039975_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_174_table_1958_off_039975_len_00011B.strings.txt", "text_path": null, "primary_label": "GUARDSQ", "field_names": [ @@ -7971,8 +7971,8 @@ "printable_ratio": 0.1343, "zero_ratio": 0.8022, "preview": "....8...........f.........8.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_175_table_1978_off_01A79B_len_00010C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_175_table_1978_off_01A79B_len_00010C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_175_table_1978_off_01A79B_len_00010C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_175_table_1978_off_01A79B_len_00010C.strings.txt", "text_path": null, "primary_label": "CARD_NS", "field_names": [ @@ -8002,8 +8002,8 @@ "printable_ratio": 0.1343, "zero_ratio": 0.8022, "preview": "....8...........f.........8.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_176_table_1980_off_01A68F_len_00010C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_176_table_1980_off_01A68F_len_00010C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_176_table_1980_off_01A68F_len_00010C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_176_table_1980_off_01A68F_len_00010C.strings.txt", "text_path": null, "primary_label": "CARD_EW", "field_names": [ @@ -8033,8 +8033,8 @@ "printable_ratio": 0.2959, "zero_ratio": 0.5728, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_177_table_19D8_off_031548_len_0001A3.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_177_table_19D8_off_031548_len_0001A3.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_177_table_19D8_off_031548_len_0001A3.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_177_table_19D8_off_031548_len_0001A3.strings.txt", "text_path": null, "primary_label": "EWALLEW", "field_names": [ @@ -8064,8 +8064,8 @@ "printable_ratio": 0.2959, "zero_ratio": 0.5728, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_178_table_19E0_off_0316EB_len_0001A3.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_178_table_19E0_off_0316EB_len_0001A3.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_178_table_19E0_off_0316EB_len_0001A3.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_178_table_19E0_off_0316EB_len_0001A3.strings.txt", "text_path": null, "primary_label": "EWALLNS", "field_names": [ @@ -8095,8 +8095,8 @@ "printable_ratio": 0.3037, "zero_ratio": 0.5168, "preview": "....'...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_179_table_1A40_off_02ED7C_len_0001FB.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_179_table_1A40_off_02ED7C_len_0001FB.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_179_table_1A40_off_02ED7C_len_0001FB.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_179_table_1A40_off_02ED7C_len_0001FB.strings.txt", "text_path": null, "primary_label": "ESPACE", "field_names": [ @@ -8126,8 +8126,8 @@ "printable_ratio": 0.422, "zero_ratio": 0.2659, "preview": "................$.......................................a.S.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_180_table_1A48_off_072184_len_0006C2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_180_table_1A48_off_072184_len_0006C2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_180_table_1A48_off_072184_len_0006C2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_180_table_1A48_off_072184_len_0006C2.strings.txt", "text_path": null, "primary_label": "WINDSURF", "field_names": [ @@ -8167,8 +8167,8 @@ "printable_ratio": 0.1755, "zero_ratio": 0.6897, "preview": "....k.......?...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_181_table_1A50_off_063B9A_len_00013F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_181_table_1A50_off_063B9A_len_00013F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_181_table_1A50_off_063B9A_len_00013F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_181_table_1A50_off_063B9A_len_00013F.strings.txt", "text_path": null, "primary_label": "THERMATR", "field_names": [ @@ -8198,8 +8198,8 @@ "printable_ratio": 0.3103, "zero_ratio": 0.4604, "preview": "....}.......Q.............d.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_182_table_1A58_off_02A6DB_len_000251.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_182_table_1A58_off_02A6DB_len_000251.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_182_table_1A58_off_02A6DB_len_000251.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_182_table_1A58_off_02A6DB_len_000251.strings.txt", "text_path": null, "primary_label": "D_GUARD", "field_names": [ @@ -8231,8 +8231,8 @@ "printable_ratio": 0.1181, "zero_ratio": 0.8346, "preview": "....*...........X...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_183_table_1A70_off_04C9DA_len_0000FE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_183_table_1A70_off_04C9DA_len_0000FE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_183_table_1A70_off_04C9DA_len_0000FE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_183_table_1A70_off_04C9DA_len_0000FE.strings.txt", "text_path": null, "primary_label": "OBSERVER", "field_names": [ @@ -8262,8 +8262,8 @@ "printable_ratio": 0.2303, "zero_ratio": 0.6573, "preview": "............d.....................................H.I...H.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_184_table_1AA8_off_0391EF_len_000164.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_184_table_1AA8_off_0391EF_len_000164.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_184_table_1AA8_off_0391EF_len_000164.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_184_table_1AA8_off_0391EF_len_000164.strings.txt", "text_path": null, "primary_label": "GRENADE", "field_names": [ @@ -8293,8 +8293,8 @@ "printable_ratio": 0.1519, "zero_ratio": 0.7562, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_185_table_1AB0_off_058A3D_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_185_table_1AB0_off_058A3D_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_185_table_1AB0_off_058A3D_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_185_table_1AB0_off_058A3D_len_00011B.strings.txt", "text_path": null, "primary_label": "SCIENTIS", "field_names": [ @@ -8324,8 +8324,8 @@ "printable_ratio": 0.4439, "zero_ratio": 0.2267, "preview": "............d...v.................................a.$.....;.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_186_table_1AC0_off_056920_len_000C64.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_186_table_1AC0_off_056920_len_000C64.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_186_table_1AC0_off_056920_len_000C64.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_186_table_1AC0_off_056920_len_000C64.strings.txt", "text_path": null, "primary_label": "ROLL_NS", "field_names": [ @@ -8378,8 +8378,8 @@ "printable_ratio": 0.4011, "zero_ratio": 0.3678, "preview": "............f...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_187_table_1AF8_off_050111_len_000366.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_187_table_1AF8_off_050111_len_000366.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_187_table_1AF8_off_050111_len_000366.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_187_table_1AF8_off_050111_len_000366.strings.txt", "text_path": null, "primary_label": "REB_COUP", "field_names": [ @@ -8411,8 +8411,8 @@ "printable_ratio": 0.2901, "zero_ratio": 0.5363, "preview": "....8...........f.........8.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_188_table_1B18_off_04179F_len_00020C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_188_table_1B18_off_04179F_len_00020C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_188_table_1B18_off_04179F_len_00020C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_188_table_1B18_off_04179F_len_00020C.strings.txt", "text_path": null, "primary_label": "MEDIKIT", "field_names": [ @@ -8444,8 +8444,8 @@ "printable_ratio": 0.4437, "zero_ratio": 0.2893, "preview": "............j...t...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_189_table_1B90_off_01D610_len_00056A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_189_table_1B90_off_01D610_len_00056A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_189_table_1B90_off_01D610_len_00056A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_189_table_1B90_off_01D610_len_00056A.strings.txt", "text_path": null, "primary_label": "COR_BOOT", "field_names": [ @@ -8482,8 +8482,8 @@ "printable_ratio": 0.4513, "zero_ratio": 0.1809, "preview": "............. ...!..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_190_table_1B98_off_02F49E_len_0020AA.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_190_table_1B98_off_02F49E_len_0020AA.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_190_table_1B98_off_02F49E_len_0020AA.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_190_table_1B98_off_02F49E_len_0020AA.strings.txt", "text_path": null, "primary_label": "EVENT", "field_names": [ @@ -8542,8 +8542,8 @@ "printable_ratio": 0.4156, "zero_ratio": 0.3536, "preview": "................Z...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_191_table_1BA8_off_04C347_len_0003A8.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_191_table_1BA8_off_04C347_len_0003A8.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_191_table_1BA8_off_04C347_len_0003A8.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_191_table_1BA8_off_04C347_len_0003A8.strings.txt", "text_path": null, "primary_label": "NPCTRIG", "field_names": [ @@ -8584,8 +8584,8 @@ "printable_ratio": 0.2717, "zero_ratio": 0.5394, "preview": "....(...........V.......................................(.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_192_table_1BB0_off_04DC8C_len_0001FC.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_192_table_1BB0_off_04DC8C_len_0001FC.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_192_table_1BB0_off_04DC8C_len_0001FC.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_192_table_1BB0_off_04DC8C_len_0001FC.strings.txt", "text_path": null, "primary_label": "\n\n\n\nK", "field_names": [ @@ -8617,8 +8617,8 @@ "printable_ratio": 0.4045, "zero_ratio": 0.376, "preview": "....w.......K...........................................w.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_193_table_1BB8_off_01DE58_len_00034B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_193_table_1BB8_off_01DE58_len_00034B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_193_table_1BB8_off_01DE58_len_00034B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_193_table_1BB8_off_01DE58_len_00034B.strings.txt", "text_path": null, "primary_label": "CRUZTRIG", "field_names": [ @@ -8652,8 +8652,8 @@ "printable_ratio": 0.3735, "zero_ratio": 0.4096, "preview": "................E...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_194_table_1BC0_off_04C6EF_len_0002EB.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_194_table_1BC0_off_04C6EF_len_0002EB.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_194_table_1BC0_off_04C6EF_len_0002EB.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_194_table_1BC0_off_04C6EF_len_0002EB.strings.txt", "text_path": null, "primary_label": "NPC_ONLY", "field_names": [ @@ -8687,8 +8687,8 @@ "printable_ratio": 0.4162, "zero_ratio": 0.3307, "preview": "............z...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_195_table_1BC8_off_06AA63_len_00047A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_195_table_1BC8_off_06AA63_len_00047A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_195_table_1BC8_off_06AA63_len_00047A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_195_table_1BC8_off_06AA63_len_00047A.strings.txt", "text_path": null, "primary_label": "VMAIL", "field_names": [ @@ -8720,8 +8720,8 @@ "printable_ratio": 0.1484, "zero_ratio": 0.7562, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_196_table_1C18_off_05F757_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_196_table_1C18_off_05F757_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_196_table_1C18_off_05F757_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_196_table_1C18_off_05F757_len_00011B.strings.txt", "text_path": null, "primary_label": "STORMTRO", "field_names": [ @@ -8751,8 +8751,8 @@ "printable_ratio": 0.4127, "zero_ratio": 0.3947, "preview": "........................................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_197_table_1C28_off_06AEDD_len_0002D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_197_table_1C28_off_06AEDD_len_0002D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_197_table_1C28_off_06AEDD_len_0002D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_197_table_1C28_off_06AEDD_len_0002D2.strings.txt", "text_path": null, "primary_label": "WALGUNEW", "field_names": [ @@ -8782,8 +8782,8 @@ "printable_ratio": 0.2348, "zero_ratio": 0.658, "preview": "............Y...........................................[.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_198_table_1C88_off_05E3CA_len_000159.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_198_table_1C88_off_05E3CA_len_000159.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_198_table_1C88_off_05E3CA_len_000159.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_198_table_1C88_off_05E3CA_len_000159.strings.txt", "text_path": null, "primary_label": "STATICEW", "field_names": [ @@ -8813,8 +8813,8 @@ "printable_ratio": 0.3988, "zero_ratio": 0.3704, "preview": "....y.......M...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_199_table_1CA0_off_011169_len_00034D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_199_table_1CA0_off_011169_len_00034D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_199_table_1CA0_off_011169_len_00034D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_199_table_1CA0_off_011169_len_00034D.strings.txt", "text_path": null, "primary_label": "BARDUDES", "field_names": [ @@ -8846,8 +8846,8 @@ "printable_ratio": 0.1449, "zero_ratio": 0.7597, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_200_table_1CA8_off_010713_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_200_table_1CA8_off_010713_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_200_table_1CA8_off_010713_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_200_table_1CA8_off_010713_len_00011B.strings.txt", "text_path": null, "primary_label": "ANDROID", "field_names": [ @@ -8877,8 +8877,8 @@ "printable_ratio": 0.1484, "zero_ratio": 0.7597, "preview": "....G...........u...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_201_table_1CB0_off_05B3AF_len_00011B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_201_table_1CB0_off_05B3AF_len_00011B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_201_table_1CB0_off_05B3AF_len_00011B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_201_table_1CB0_off_05B3AF_len_00011B.strings.txt", "text_path": null, "primary_label": "SOLDIER", "field_names": [ @@ -8908,8 +8908,8 @@ "printable_ratio": 0.1577, "zero_ratio": 0.7248, "preview": "....V.......*...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_202_table_1CB8_off_01ADEF_len_00012A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_202_table_1CB8_off_01ADEF_len_00012A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_202_table_1CB8_off_01ADEF_len_00012A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_202_table_1CB8_off_01ADEF_len_00012A.strings.txt", "text_path": null, "primary_label": "CHEDITRO", "field_names": [ @@ -8939,8 +8939,8 @@ "printable_ratio": 0.2984, "zero_ratio": 0.5664, "preview": "..................................................I.....[.6.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_203_table_1D18_off_05C9F4_len_0001AD.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_203_table_1D18_off_05C9F4_len_0001AD.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_203_table_1D18_off_05C9F4_len_0001AD.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_203_table_1D18_off_05C9F4_len_0001AD.strings.txt", "text_path": null, "primary_label": "SPIDWALK", "field_names": [ @@ -8970,8 +8970,8 @@ "printable_ratio": 0.2563, "zero_ratio": 0.5964, "preview": "................<...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_204_table_1D48_off_05C86A_len_00018A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_204_table_1D48_off_05C86A_len_00018A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_204_table_1D48_off_05C86A_len_00018A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_204_table_1D48_off_05C86A_len_00018A.strings.txt", "text_path": null, "primary_label": "SPIDPAD", "field_names": [ @@ -9001,8 +9001,8 @@ "printable_ratio": 0.4114, "zero_ratio": 0.3961, "preview": "........................................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_205_table_1D58_off_038E1F_len_0002D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_205_table_1D58_off_038E1F_len_0002D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_205_table_1D58_off_038E1F_len_0002D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_205_table_1D58_off_038E1F_len_0002D2.strings.txt", "text_path": null, "primary_label": "GOVGUNNS", "field_names": [ @@ -9032,8 +9032,8 @@ "printable_ratio": 0.4027, "zero_ratio": 0.2904, "preview": "....U.......)...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_206_table_1D60_off_03CADA_len_000629.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_206_table_1D60_off_03CADA_len_000629.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_206_table_1D60_off_03CADA_len_000629.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_206_table_1D60_off_03CADA_len_000629.strings.txt", "text_path": null, "primary_label": "LANDMINE", "field_names": [ @@ -9076,8 +9076,8 @@ "printable_ratio": 0.4731, "zero_ratio": 0.1992, "preview": "............j...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_207_table_1D68_off_015048_len_00106A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_207_table_1D68_off_015048_len_00106A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_207_table_1D68_off_015048_len_00106A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_207_table_1D68_off_015048_len_00106A.strings.txt", "text_path": null, "primary_label": "BLASTPAC", "field_names": [ @@ -9133,8 +9133,8 @@ "printable_ratio": 0.415, "zero_ratio": 0.2642, "preview": "....,...........Z.........,.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_208_table_1D70_off_03695E_len_000800.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_208_table_1D70_off_03695E_len_000800.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_208_table_1D70_off_03695E_len_000800.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_208_table_1D70_off_03695E_len_000800.strings.txt", "text_path": null, "primary_label": "FUSPAC", "field_names": [ @@ -9182,8 +9182,8 @@ "printable_ratio": 0.4114, "zero_ratio": 0.3961, "preview": "........................................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_209_table_1D98_off_038B4D_len_0002D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_209_table_1D98_off_038B4D_len_0002D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_209_table_1D98_off_038B4D_len_0002D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_209_table_1D98_off_038B4D_len_0002D2.strings.txt", "text_path": null, "primary_label": "GOVGUNEW", "field_names": [ @@ -9213,8 +9213,8 @@ "printable_ratio": 0.3112, "zero_ratio": 0.5228, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_210_table_1DC0_off_02BCD2_len_0001E2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_210_table_1DC0_off_02BCD2_len_0001E2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_210_table_1DC0_off_02BCD2_len_0001E2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_210_table_1DC0_off_02BCD2_len_0001E2.strings.txt", "text_path": null, "primary_label": "EBRIDGE", "field_names": [ @@ -9244,8 +9244,8 @@ "printable_ratio": 0.196, "zero_ratio": 0.6686, "preview": "............[...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_211_table_1DE0_off_05B4CA_len_00015B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_211_table_1DE0_off_05B4CA_len_00015B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_211_table_1DE0_off_05B4CA_len_00015B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_211_table_1DE0_off_05B4CA_len_00015B.strings.txt", "text_path": null, "primary_label": "SPANEL", "field_names": [ @@ -9275,8 +9275,8 @@ "printable_ratio": 0.1667, "zero_ratio": 0.719, "preview": "....^.......2...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_212_table_1DF0_off_06A21A_len_000132.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_212_table_1DF0_off_06A21A_len_000132.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_212_table_1DF0_off_06A21A_len_000132.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_212_table_1DF0_off_06A21A_len_000132.strings.txt", "text_path": null, "primary_label": "VARGAS", "field_names": [ @@ -9306,8 +9306,8 @@ "printable_ratio": 0.2382, "zero_ratio": 0.6647, "preview": "............T...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_213_table_1E08_off_076E65_len_000154.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_213_table_1E08_off_076E65_len_000154.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_213_table_1E08_off_076E65_len_000154.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_213_table_1E08_off_076E65_len_000154.strings.txt", "text_path": null, "primary_label": "SL_NS-16", "field_names": [ @@ -9337,8 +9337,8 @@ "printable_ratio": 0.2324, "zero_ratio": 0.6706, "preview": "............T...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_214_table_1E10_off_0749D0_len_000154.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_214_table_1E10_off_0749D0_len_000154.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_214_table_1E10_off_0749D0_len_000154.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_214_table_1E10_off_0749D0_len_000154.strings.txt", "text_path": null, "primary_label": "SL_NS-8", "field_names": [ @@ -9368,8 +9368,8 @@ "printable_ratio": 0.2324, "zero_ratio": 0.6706, "preview": "............T...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_215_table_1E18_off_07487C_len_000154.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_215_table_1E18_off_07487C_len_000154.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_215_table_1E18_off_07487C_len_000154.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_215_table_1E18_off_07487C_len_000154.strings.txt", "text_path": null, "primary_label": "SL_NS-4", "field_names": [ @@ -9399,8 +9399,8 @@ "printable_ratio": 0.2324, "zero_ratio": 0.6706, "preview": "............T...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_216_table_1E30_off_0745D4_len_000154.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_216_table_1E30_off_0745D4_len_000154.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_216_table_1E30_off_0745D4_len_000154.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_216_table_1E30_off_0745D4_len_000154.strings.txt", "text_path": null, "primary_label": "SL_EW-4", "field_names": [ @@ -9430,8 +9430,8 @@ "printable_ratio": 0.2324, "zero_ratio": 0.6706, "preview": "............T...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_217_table_1E38_off_074728_len_000154.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_217_table_1E38_off_074728_len_000154.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_217_table_1E38_off_074728_len_000154.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_217_table_1E38_off_074728_len_000154.strings.txt", "text_path": null, "primary_label": "SL_EW-8", "field_names": [ @@ -9461,8 +9461,8 @@ "printable_ratio": 0.2382, "zero_ratio": 0.6647, "preview": "............T...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_218_table_1E40_off_076D11_len_000154.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_218_table_1E40_off_076D11_len_000154.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_218_table_1E40_off_076D11_len_000154.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_218_table_1E40_off_076D11_len_000154.strings.txt", "text_path": null, "primary_label": "SL_EW-16", "field_names": [ @@ -9492,8 +9492,8 @@ "printable_ratio": 0.3064, "zero_ratio": 0.4802, "preview": "....q.......E.............q.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_219_table_1E68_off_0419AB_len_000245.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_219_table_1E68_off_0419AB_len_000245.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_219_table_1E68_off_0419AB_len_000245.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_219_table_1E68_off_0419AB_len_000245.strings.txt", "text_path": null, "primary_label": "MELF", "field_names": [ @@ -9527,8 +9527,8 @@ "printable_ratio": 0.3596, "zero_ratio": 0.3852, "preview": "....#...........Q.........#.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_220_table_1E70_off_04CE26_len_0003F7.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_220_table_1E70_off_04CE26_len_0003F7.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_220_table_1E70_off_04CE26_len_0003F7.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_220_table_1E70_off_04CE26_len_0003F7.strings.txt", "text_path": null, "primary_label": "]0Q-", "field_names": [ @@ -9564,8 +9564,8 @@ "printable_ratio": 0.1993, "zero_ratio": 0.7222, "preview": "....^.......2...........................................^.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_221_table_1E98_off_037CD7_len_000132.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_221_table_1E98_off_037CD7_len_000132.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_221_table_1E98_off_037CD7_len_000132.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_221_table_1E98_off_037CD7_len_000132.strings.txt", "text_path": null, "primary_label": "GENERATR", "field_names": [ @@ -9595,8 +9595,8 @@ "printable_ratio": 0.399, "zero_ratio": 0.3346, "preview": "....-...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_222_table_1F00_off_053246_len_000401.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_222_table_1F00_off_053246_len_000401.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_222_table_1F00_off_053246_len_000401.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_222_table_1F00_off_053246_len_000401.strings.txt", "text_path": null, "primary_label": "RFANBADE", "field_names": [ @@ -9643,8 +9643,8 @@ "printable_ratio": 0.3977, "zero_ratio": 0.3353, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_223_table_1F28_off_053647_len_000402.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_223_table_1F28_off_053647_len_000402.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_223_table_1F28_off_053647_len_000402.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_223_table_1F28_off_053647_len_000402.strings.txt", "text_path": null, "primary_label": "RFANBADN", "field_names": [ @@ -9691,8 +9691,8 @@ "printable_ratio": 0.3079, "zero_ratio": 0.5244, "preview": "..........................................................8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_224_table_1FC8_off_073294_len_0001D7.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_224_table_1FC8_off_073294_len_0001D7.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_224_table_1FC8_off_073294_len_0001D7.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_224_table_1FC8_off_073294_len_0001D7.strings.txt", "text_path": null, "primary_label": "WVENTNS", "field_names": [ @@ -9726,8 +9726,8 @@ "printable_ratio": 0.3161, "zero_ratio": 0.5145, "preview": "..........................................................8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_225_table_1FD0_off_0730B0_len_0001E4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_225_table_1FD0_off_0730B0_len_0001E4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_225_table_1FD0_off_0730B0_len_0001E4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_225_table_1FD0_off_0730B0_len_0001E4.strings.txt", "text_path": null, "primary_label": "WVENTEW", "field_names": [ @@ -9761,8 +9761,8 @@ "printable_ratio": 0.4076, "zero_ratio": 0.3251, "preview": "....K...........y.........K.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_226_table_1FF8_off_04F72C_len_00041F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_226_table_1FF8_off_04F72C_len_00041F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_226_table_1FF8_off_04F72C_len_00041F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_226_table_1FF8_off_04F72C_len_00041F.strings.txt", "text_path": null, "primary_label": "REBEL_TV", "field_names": [ @@ -9792,8 +9792,8 @@ "printable_ratio": 0.1941, "zero_ratio": 0.7303, "preview": "....\\.......0...........................................\\.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_227_table_2050_off_058C88_len_000130.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_227_table_2050_off_058C88_len_000130.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_227_table_2050_off_058C88_len_000130.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_227_table_2050_off_058C88_len_000130.strings.txt", "text_path": null, "primary_label": "SDOOR_N", "field_names": [ @@ -9823,8 +9823,8 @@ "printable_ratio": 0.1941, "zero_ratio": 0.7303, "preview": "....\\.......0...........................................\\.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_228_table_2088_off_058B58_len_000130.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_228_table_2088_off_058B58_len_000130.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_228_table_2088_off_058B58_len_000130.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_228_table_2088_off_058B58_len_000130.strings.txt", "text_path": null, "primary_label": "SDOOR_E", "field_names": [ @@ -9854,8 +9854,8 @@ "printable_ratio": 0.4256, "zero_ratio": 0.2624, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_229_table_20A8_off_033B37_len_000790.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_229_table_20A8_off_033B37_len_000790.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_229_table_20A8_off_033B37_len_000790.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_229_table_20A8_off_033B37_len_000790.strings.txt", "text_path": null, "primary_label": "FLAMEBOX", "field_names": [ @@ -9900,8 +9900,8 @@ "printable_ratio": 0.3174, "zero_ratio": 0.5145, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_230_table_2128_off_02BEB4_len_0001E2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_230_table_2128_off_02BEB4_len_0001E2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_230_table_2128_off_02BEB4_len_0001E2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_230_table_2128_off_02BEB4_len_0001E2.strings.txt", "text_path": null, "primary_label": "EBRIDGE2", "field_names": [ @@ -9931,8 +9931,8 @@ "printable_ratio": 0.3313, "zero_ratio": 0.4351, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_231_table_2220_off_040C08_len_00028F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_231_table_2220_off_040C08_len_00028F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_231_table_2220_off_040C08_len_00028F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_231_table_2220_off_040C08_len_00028F.strings.txt", "text_path": null, "primary_label": "MCRATE", "field_names": [ @@ -9966,8 +9966,8 @@ "printable_ratio": 0.2662, "zero_ratio": 0.557, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_232_table_2228_off_01D292_len_0001BF.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_232_table_2228_off_01D292_len_0001BF.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_232_table_2228_off_01D292_len_0001BF.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_232_table_2228_off_01D292_len_0001BF.strings.txt", "text_path": null, "primary_label": "COPY_EW", "field_names": [ @@ -10002,8 +10002,8 @@ "printable_ratio": 0.2662, "zero_ratio": 0.557, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_233_table_2230_off_01D451_len_0001BF.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_233_table_2230_off_01D451_len_0001BF.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_233_table_2230_off_01D451_len_0001BF.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_233_table_2230_off_01D451_len_0001BF.strings.txt", "text_path": null, "primary_label": "COPY_NS", "field_names": [ @@ -10038,8 +10038,8 @@ "printable_ratio": 0.2321, "zero_ratio": 0.6124, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_234_table_2238_off_07C2AD_len_0001A2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_234_table_2238_off_07C2AD_len_0001A2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_234_table_2238_off_07C2AD_len_0001A2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_234_table_2238_off_07C2AD_len_0001A2.strings.txt", "text_path": null, "primary_label": null, "field_names": [ @@ -10071,8 +10071,8 @@ "printable_ratio": 0.2472, "zero_ratio": 0.65, "preview": "............h...........................................].8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_235_table_2268_off_033867_len_000168.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_235_table_2268_off_033867_len_000168.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_235_table_2268_off_033867_len_000168.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_235_table_2268_off_033867_len_000168.strings.txt", "text_path": null, "primary_label": "FLAME1", "field_names": [ @@ -10102,8 +10102,8 @@ "printable_ratio": 0.4393, "zero_ratio": 0.2743, "preview": "........................................................6.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_236_table_2278_off_0517FA_len_0006D2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_236_table_2278_off_0517FA_len_0006D2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_236_table_2278_off_0517FA_len_0006D2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_236_table_2278_off_0517FA_len_0006D2.strings.txt", "text_path": null, "primary_label": "REB_PAD", "field_names": [ @@ -10150,8 +10150,8 @@ "printable_ratio": 0.3986, "zero_ratio": 0.3374, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_237_table_2280_off_04AA07_len_000487.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_237_table_2280_off_04AA07_len_000487.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_237_table_2280_off_04AA07_len_000487.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_237_table_2280_off_04AA07_len_000487.strings.txt", "text_path": null, "primary_label": "NOSTRIL", "field_names": [ @@ -10192,8 +10192,8 @@ "printable_ratio": 0.4386, "zero_ratio": 0.2885, "preview": "..../...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_238_table_22A0_off_069C17_len_000603.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_238_table_22A0_off_069C17_len_000603.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_238_table_22A0_off_069C17_len_000603.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_238_table_22A0_off_069C17_len_000603.strings.txt", "text_path": null, "primary_label": "VARDESK", "field_names": [ @@ -10228,8 +10228,8 @@ "printable_ratio": 0.4377, "zero_ratio": 0.2456, "preview": "..................................................^.....^.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_239_table_22A8_off_014134_len_0008E8.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_239_table_22A8_off_014134_len_0008E8.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_239_table_22A8_off_014134_len_0008E8.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_239_table_22A8_off_014134_len_0008E8.strings.txt", "text_path": null, "primary_label": "BLASER1", "field_names": [ @@ -10269,8 +10269,8 @@ "printable_ratio": 0.3135, "zero_ratio": 0.5, "preview": "....4...........b...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_240_table_22B0_off_04FF09_len_000208.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_240_table_22B0_off_04FF09_len_000208.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_240_table_22B0_off_04FF09_len_000208.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_240_table_22B0_off_04FF09_len_000208.strings.txt", "text_path": null, "primary_label": "REB_BOOT", "field_names": [ @@ -10302,8 +10302,8 @@ "printable_ratio": 0.3583, "zero_ratio": 0.4376, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_241_table_22C8_off_06934F_len_0002A9.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_241_table_22C8_off_06934F_len_0002A9.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_241_table_22C8_off_06934F_len_0002A9.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_241_table_22C8_off_06934F_len_0002A9.strings.txt", "text_path": null, "primary_label": "UPPLATE", "field_names": [ @@ -10335,8 +10335,8 @@ "printable_ratio": 0.3111, "zero_ratio": 0.5192, "preview": "................I...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_242_table_22E8_off_03C73F_len_0001EF.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_242_table_22E8_off_03C73F_len_0001EF.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_242_table_22E8_off_03C73F_len_0001EF.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_242_table_22E8_off_03C73F_len_0001EF.strings.txt", "text_path": null, "primary_label": "KEYPADNS", "field_names": [ @@ -10368,8 +10368,8 @@ "printable_ratio": 0.3111, "zero_ratio": 0.5192, "preview": "................I...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_243_table_22F0_off_03C550_len_0001EF.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_243_table_22F0_off_03C550_len_0001EF.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_243_table_22F0_off_03C550_len_0001EF.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_243_table_22F0_off_03C550_len_0001EF.strings.txt", "text_path": null, "primary_label": "KEYPADEW", "field_names": [ @@ -10401,8 +10401,8 @@ "printable_ratio": 0.4039, "zero_ratio": 0.3333, "preview": "....a.......5...?.......................................p.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_244_table_22F8_off_072C7B_len_000435.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_244_table_22F8_off_072C7B_len_000435.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_244_table_22F8_off_072C7B_len_000435.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_244_table_22F8_off_072C7B_len_000435.strings.txt", "text_path": null, "primary_label": "WSHOCKNS", "field_names": [ @@ -10438,8 +10438,8 @@ "printable_ratio": 0.403, "zero_ratio": 0.3333, "preview": "....a.......5...?.......................................p.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_245_table_2300_off_072846_len_000435.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_245_table_2300_off_072846_len_000435.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_245_table_2300_off_072846_len_000435.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_245_table_2300_off_072846_len_000435.strings.txt", "text_path": null, "primary_label": "WSHOCKEW", "field_names": [ @@ -10475,8 +10475,8 @@ "printable_ratio": 0.4387, "zero_ratio": 0.2777, "preview": "..........................r.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_246_table_2308_off_02E2D1_len_0006B2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_246_table_2308_off_02E2D1_len_0006B2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_246_table_2308_off_02E2D1_len_0006B2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_246_table_2308_off_02E2D1_len_0006B2.strings.txt", "text_path": null, "primary_label": "ELYDESK", "field_names": [ @@ -10510,8 +10510,8 @@ "printable_ratio": 0.4404, "zero_ratio": 0.2649, "preview": "................Z.........L.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_247_table_2320_off_05D873_len_0008A8.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_247_table_2320_off_05D873_len_0008A8.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_247_table_2320_off_05D873_len_0008A8.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_247_table_2320_off_05D873_len_0008A8.strings.txt", "text_path": null, "primary_label": "SSWITCHN", "field_names": [ @@ -10566,8 +10566,8 @@ "printable_ratio": 0.4409, "zero_ratio": 0.2649, "preview": "................Z.........L.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_248_table_2348_off_05CFCB_len_0008A8.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_248_table_2348_off_05CFCB_len_0008A8.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_248_table_2348_off_05CFCB_len_0008A8.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_248_table_2348_off_05CFCB_len_0008A8.strings.txt", "text_path": null, "primary_label": "SSWITCHE", "field_names": [ @@ -10622,8 +10622,8 @@ "printable_ratio": 0.3221, "zero_ratio": 0.496, "preview": "....&...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_249_table_2358_off_059DF3_len_0001FA.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_249_table_2358_off_059DF3_len_0001FA.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_249_table_2358_off_059DF3_len_0001FA.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_249_table_2358_off_059DF3_len_0001FA.strings.txt", "text_path": null, "primary_label": "SHOCKNS1", "field_names": [ @@ -10653,8 +10653,8 @@ "printable_ratio": 0.3221, "zero_ratio": 0.496, "preview": "....&...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_250_table_2360_off_059A3B_len_0001FA.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_250_table_2360_off_059A3B_len_0001FA.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_250_table_2360_off_059A3B_len_0001FA.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_250_table_2360_off_059A3B_len_0001FA.strings.txt", "text_path": null, "primary_label": "SHOCKEW1", "field_names": [ @@ -10684,8 +10684,8 @@ "printable_ratio": 0.4279, "zero_ratio": 0.3085, "preview": "..........................*.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_251_table_2368_off_0864BF_len_0004B6.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_251_table_2368_off_0864BF_len_0004B6.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_251_table_2368_off_0864BF_len_0004B6.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_251_table_2368_off_0864BF_len_0004B6.strings.txt", "text_path": null, "primary_label": "WEA_BOOT", "field_names": [ @@ -10717,8 +10717,8 @@ "printable_ratio": 0.4397, "zero_ratio": 0.2788, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_252_table_2370_off_06A34C_len_0005ED.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_252_table_2370_off_06A34C_len_0005ED.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_252_table_2370_off_06A34C_len_0005ED.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_252_table_2370_off_06A34C_len_0005ED.strings.txt", "text_path": null, "primary_label": "VAR_BOOT", "field_names": [ @@ -10755,8 +10755,8 @@ "printable_ratio": 0.1724, "zero_ratio": 0.6928, "preview": "....k.......?...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_253_table_2378_off_07C7D7_len_00013F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_253_table_2378_off_07C7D7_len_00013F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_253_table_2378_off_07C7D7_len_00013F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_253_table_2378_off_07C7D7_len_00013F.strings.txt", "text_path": null, "primary_label": "COURIER", "field_names": [ @@ -10786,8 +10786,8 @@ "printable_ratio": 0.2381, "zero_ratio": 0.6471, "preview": "............e...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_254_table_23C0_off_03F1F2_len_000165.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_254_table_23C0_off_03F1F2_len_000165.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_254_table_23C0_off_03F1F2_len_000165.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_254_table_23C0_off_03F1F2_len_000165.strings.txt", "text_path": null, "primary_label": "LWPLATE4", "field_names": [ @@ -10819,8 +10819,8 @@ "printable_ratio": 0.2381, "zero_ratio": 0.6471, "preview": "............e...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_255_table_23C8_off_03F357_len_000165.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_255_table_23C8_off_03F357_len_000165.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_255_table_23C8_off_03F357_len_000165.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_255_table_23C8_off_03F357_len_000165.strings.txt", "text_path": null, "primary_label": "LWPLATE8", "field_names": [ @@ -10852,8 +10852,8 @@ "printable_ratio": 0.3715, "zero_ratio": 0.3655, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_256_table_2448_off_00FC90_len_0003E4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_256_table_2448_off_00FC90_len_0003E4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_256_table_2448_off_00FC90_len_0003E4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_256_table_2448_off_00FC90_len_0003E4.strings.txt", "text_path": null, "primary_label": "ALARMBOX", "field_names": [ @@ -10885,8 +10885,8 @@ "printable_ratio": 0.2239, "zero_ratio": 0.6234, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_257_table_2650_off_0160B2_len_000189.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_257_table_2650_off_0160B2_len_000189.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_257_table_2650_off_0160B2_len_000189.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_257_table_2650_off_0160B2_len_000189.strings.txt", "text_path": null, "primary_label": "BLOOD", "field_names": [ @@ -10916,8 +10916,8 @@ "printable_ratio": 0.3139, "zero_ratio": 0.4608, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_258_table_2658_off_029E08_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_258_table_2658_off_029E08_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_258_table_2658_off_029E08_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_258_table_2658_off_029E08_len_000257.strings.txt", "text_path": null, "primary_label": "D_CHEM", "field_names": [ @@ -10949,8 +10949,8 @@ "printable_ratio": 0.3139, "zero_ratio": 0.4608, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_259_table_2660_off_02A05F_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_259_table_2660_off_02A05F_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_259_table_2660_off_02A05F_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_259_table_2660_off_02A05F_len_000257.strings.txt", "text_path": null, "primary_label": "D_CONG", "field_names": [ @@ -10982,8 +10982,8 @@ "printable_ratio": 0.3172, "zero_ratio": 0.4574, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_260_table_2668_off_02ACE1_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_260_table_2668_off_02ACE1_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_260_table_2668_off_02ACE1_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_260_table_2668_off_02ACE1_len_000257.strings.txt", "text_path": null, "primary_label": "D_MAINT", "field_names": [ @@ -11015,8 +11015,8 @@ "printable_ratio": 0.3172, "zero_ratio": 0.4574, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_261_table_2670_off_02AF38_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_261_table_2670_off_02AF38_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_261_table_2670_off_02AF38_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_261_table_2670_off_02AF38_len_000257.strings.txt", "text_path": null, "primary_label": "D_OWORK", "field_names": [ @@ -11048,8 +11048,8 @@ "printable_ratio": 0.3172, "zero_ratio": 0.4574, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_262_table_2678_off_02B18F_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_262_table_2678_off_02B18F_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_262_table_2678_off_02B18F_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_262_table_2678_off_02B18F_len_000257.strings.txt", "text_path": null, "primary_label": "D_SCIEN", "field_names": [ @@ -11081,8 +11081,8 @@ "printable_ratio": 0.3172, "zero_ratio": 0.4574, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_263_table_2680_off_02B63D_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_263_table_2680_off_02B63D_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_263_table_2680_off_02B63D_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_263_table_2680_off_02B63D_len_000257.strings.txt", "text_path": null, "primary_label": "D_STORM", "field_names": [ @@ -11114,8 +11114,8 @@ "printable_ratio": 0.3139, "zero_ratio": 0.4608, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_264_table_2688_off_02B3E6_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_264_table_2688_off_02B3E6_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_264_table_2688_off_02B3E6_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_264_table_2688_off_02B3E6_len_000257.strings.txt", "text_path": null, "primary_label": "D_SOLD", "field_names": [ @@ -11147,8 +11147,8 @@ "printable_ratio": 0.1603, "zero_ratio": 0.7212, "preview": "....d.......8.............d.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_265_table_2690_off_02BB9A_len_000138.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_265_table_2690_off_02BB9A_len_000138.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_265_table_2690_off_02BB9A_len_000138.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_265_table_2690_off_02BB9A_len_000138.strings.txt", "text_path": null, "primary_label": "D_VARG", "field_names": [ @@ -11178,8 +11178,8 @@ "printable_ratio": 0.2684, "zero_ratio": 0.5628, "preview": "................(...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_266_table_26A0_off_02A2B6_len_0001CE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_266_table_26A0_off_02A2B6_len_0001CE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_266_table_26A0_off_02A2B6_len_0001CE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_266_table_26A0_off_02A2B6_len_0001CE.strings.txt", "text_path": null, "primary_label": "D_COUR", "field_names": [ @@ -11211,8 +11211,8 @@ "printable_ratio": 0.2771, "zero_ratio": 0.5541, "preview": "................(...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_267_table_26B0_off_02B894_len_0001CE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_267_table_26B0_off_02B894_len_0001CE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_267_table_26B0_off_02B894_len_0001CE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_267_table_26B0_off_02B894_len_0001CE.strings.txt", "text_path": null, "primary_label": "D_SUSAN", "field_names": [ @@ -11244,8 +11244,8 @@ "printable_ratio": 0.1635, "zero_ratio": 0.7179, "preview": "....d.......8.............d.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_268_table_26B8_off_02BA62_len_000138.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_268_table_26B8_off_02BA62_len_000138.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_268_table_26B8_off_02BA62_len_000138.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_268_table_26B8_off_02BA62_len_000138.strings.txt", "text_path": null, "primary_label": "D_THERM", "field_names": [ @@ -11275,8 +11275,8 @@ "printable_ratio": 0.4508, "zero_ratio": 0.2347, "preview": "............n...(.........Q.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_269_table_26C0_off_05F872_len_000D6E.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_269_table_26C0_off_05F872_len_000D6E.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_269_table_26C0_off_05F872_len_000D6E.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_269_table_26C0_off_05F872_len_000D6E.strings.txt", "text_path": null, "primary_label": "SURCAMNS", "field_names": [ @@ -11331,8 +11331,8 @@ "printable_ratio": 0.4367, "zero_ratio": 0.3183, "preview": "....n.......B...T.......................................N.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_270_table_26D0_off_012604_len_000442.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_270_table_26D0_off_012604_len_000442.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_270_table_26D0_off_012604_len_000442.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_270_table_26D0_off_012604_len_000442.strings.txt", "text_path": null, "primary_label": "BASEGUN", "field_names": [ @@ -11364,8 +11364,8 @@ "printable_ratio": 0.4119, "zero_ratio": 0.3267, "preview": "....x.......R...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_271_table_26D8_off_0643D9_len_000552.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_271_table_26D8_off_0643D9_len_000552.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_271_table_26D8_off_0643D9_len_000552.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_271_table_26D8_off_0643D9_len_000552.strings.txt", "text_path": null, "primary_label": "TIMER", "field_names": [ @@ -11399,8 +11399,8 @@ "printable_ratio": 0.4719, "zero_ratio": 0.2556, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_272_table_26E0_off_05B625_len_00080E.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_272_table_26E0_off_05B625_len_00080E.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_272_table_26E0_off_05B625_len_00080E.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_272_table_26E0_off_05B625_len_00080E.strings.txt", "text_path": null, "primary_label": "SPECIAL", "field_names": [ @@ -11446,8 +11446,8 @@ "printable_ratio": 0.3977, "zero_ratio": 0.3814, "preview": "............\\...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_273_table_26F8_off_068FF3_len_00035C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_273_table_26F8_off_068FF3_len_00035C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_273_table_26F8_off_068FF3_len_00035C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_273_table_26F8_off_068FF3_len_00035C.strings.txt", "text_path": null, "primary_label": "TRIGPAD", "field_names": [ @@ -11481,8 +11481,8 @@ "printable_ratio": 0.4948, "zero_ratio": 0.2606, "preview": "................U...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_274_table_2710_off_0498D7_len_0005A3.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_274_table_2710_off_0498D7_len_0005A3.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_274_table_2710_off_0498D7_len_0005A3.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_274_table_2710_off_0498D7_len_0005A3.strings.txt", "text_path": null, "primary_label": "MONSTER", "field_names": [ @@ -11518,8 +11518,8 @@ "printable_ratio": 0.1661, "zero_ratio": 0.6991, "preview": "....k.......?...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_275_table_2718_off_02E192_len_00013F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_275_table_2718_off_02E192_len_00013F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_275_table_2718_off_02E192_len_00013F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_275_table_2718_off_02E192_len_00013F.strings.txt", "text_path": null, "primary_label": "ELITE", "field_names": [ @@ -11549,8 +11549,8 @@ "printable_ratio": 0.3205, "zero_ratio": 0.4541, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_276_table_2720_off_02A484_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_276_table_2720_off_02A484_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_276_table_2720_off_02A484_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_276_table_2720_off_02A484_len_000257.strings.txt", "text_path": null, "primary_label": "D_ESTORM", "field_names": [ @@ -11582,8 +11582,8 @@ "printable_ratio": 0.1142, "zero_ratio": 0.8346, "preview": "....*...........X.........*.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_277_table_2728_off_03BFAC_len_0000FE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_277_table_2728_off_03BFAC_len_0000FE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_277_table_2728_off_03BFAC_len_0000FE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_277_table_2728_off_03BFAC_len_0000FE.strings.txt", "text_path": null, "primary_label": "JELYHACK", "field_names": [ @@ -11613,8 +11613,8 @@ "printable_ratio": 0.715, "zero_ratio": 0.1172, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_278_table_2730_off_01EB10_len_001488.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_278_table_2730_off_01EB10_len_001488.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_278_table_2730_off_01EB10_len_001488.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_278_table_2730_off_01EB10_len_001488.strings.txt", "text_path": null, "primary_label": "DATALINK", "field_names": [ @@ -11678,8 +11678,8 @@ "printable_ratio": 0.3561, "zero_ratio": 0.4348, "preview": "................F...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_279_table_2738_off_05ACB7_len_000294.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_279_table_2738_off_05ACB7_len_000294.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_279_table_2738_off_05ACB7_len_000294.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_279_table_2738_off_05ACB7_len_000294.strings.txt", "text_path": null, "primary_label": "SLIDEFLR", "field_names": [ @@ -11709,8 +11709,8 @@ "printable_ratio": 0.1063, "zero_ratio": 0.8425, "preview": "....*...........X.........*.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_280_table_2740_off_03BEAE_len_0000FE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_280_table_2740_off_03BEAE_len_0000FE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_280_table_2740_off_03BEAE_len_0000FE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_280_table_2740_off_03BEAE_len_0000FE.strings.txt", "text_path": null, "primary_label": "JELYH2", "field_names": [ @@ -11740,8 +11740,8 @@ "printable_ratio": 0.2203, "zero_ratio": 0.6412, "preview": "............b...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_281_table_2758_off_039C81_len_000162.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_281_table_2758_off_039C81_len_000162.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_281_table_2758_off_039C81_len_000162.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_281_table_2758_off_039C81_len_000162.strings.txt", "text_path": null, "primary_label": "HOFFMAN", "field_names": [ @@ -11779,8 +11779,8 @@ "printable_ratio": 0.1667, "zero_ratio": 0.7147, "preview": "....d.......8.............d.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_282_table_2760_off_02ABA9_len_000138.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_282_table_2760_off_02ABA9_len_000138.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_282_table_2760_off_02ABA9_len_000138.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_282_table_2760_off_02ABA9_len_000138.strings.txt", "text_path": null, "primary_label": "D_HOFFMA", "field_names": [ @@ -11810,8 +11810,8 @@ "printable_ratio": 0.4476, "zero_ratio": 0.2637, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_283_table_2768_off_052B90_len_0006B6.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_283_table_2768_off_052B90_len_0006B6.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_283_table_2768_off_052B90_len_0006B6.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_283_table_2768_off_052B90_len_0006B6.strings.txt", "text_path": null, "primary_label": "REE_BOOT", "field_names": [ @@ -11848,8 +11848,8 @@ "printable_ratio": 0.4541, "zero_ratio": 0.2298, "preview": "....z.......`...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_284_table_2780_off_08575F_len_000D60.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_284_table_2780_off_08575F_len_000D60.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_284_table_2780_off_08575F_len_000D60.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_284_table_2780_off_08575F_len_000D60.strings.txt", "text_path": null, "primary_label": "SURCAMEW", "field_names": [ @@ -11904,8 +11904,8 @@ "printable_ratio": 0.2222, "zero_ratio": 0.6162, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_285_table_27A0_off_05926C_len_00018C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_285_table_27A0_off_05926C_len_00018C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_285_table_27A0_off_05926C_len_00018C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_285_table_27A0_off_05926C_len_00018C.strings.txt", "text_path": null, "primary_label": "SFXTRIG", "field_names": [ @@ -11937,8 +11937,8 @@ "printable_ratio": 0.3919, "zero_ratio": 0.3763, "preview": "....,...........Z...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_286_table_27A8_off_05A9B7_len_000300.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_286_table_27A8_off_05A9B7_len_000300.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_286_table_27A8_off_05A9B7_len_000300.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_286_table_27A8_off_05A9B7_len_000300.strings.txt", "text_path": null, "primary_label": "SKILLBOX", "field_names": [ @@ -11970,8 +11970,8 @@ "printable_ratio": 0.3344, "zero_ratio": 0.4411, "preview": "............}.../........... ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_287_table_27B0_off_02A92C_len_00027D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_287_table_27B0_off_02A92C_len_00027D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_287_table_27B0_off_02A92C_len_00027D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_287_table_27B0_off_02A92C_len_00027D.strings.txt", "text_path": null, "primary_label": "D_GURDSQ", "field_names": [ @@ -12003,8 +12003,8 @@ "printable_ratio": 0.151, "zero_ratio": 0.7315, "preview": "....V.......*...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_288_table_27C0_off_06A939_len_00012A.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_288_table_27C0_off_06A939_len_00012A.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_288_table_27C0_off_06A939_len_00012A.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_288_table_27C0_off_06A939_len_00012A.strings.txt", "text_path": null, "primary_label": "VETRON", "field_names": [ @@ -12034,8 +12034,8 @@ "printable_ratio": 0.3621, "zero_ratio": 0.4367, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_289_table_27C8_off_01FF98_len_00029F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_289_table_27C8_off_01FF98_len_00029F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_289_table_27C8_off_01FF98_len_00029F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_289_table_27C8_off_01FF98_len_00029F.strings.txt", "text_path": null, "primary_label": "DEATHBOX", "field_names": [ @@ -12069,8 +12069,8 @@ "printable_ratio": 0.3487, "zero_ratio": 0.4073, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_290_table_27F0_off_05152D_len_0002CD.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_290_table_27F0_off_05152D_len_0002CD.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_290_table_27F0_off_05152D_len_0002CD.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_290_table_27F0_off_05152D_len_0002CD.strings.txt", "text_path": null, "primary_label": "REB_GAR", "field_names": [ @@ -12102,8 +12102,8 @@ "printable_ratio": 0.4194, "zero_ratio": 0.2911, "preview": "....I...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_291_table_2808_off_01623B_len_00051D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_291_table_2808_off_01623B_len_00051D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_291_table_2808_off_01623B_len_00051D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_291_table_2808_off_01623B_len_00051D.strings.txt", "text_path": null, "primary_label": "BOUNCBOX", "field_names": [ @@ -12140,8 +12140,8 @@ "printable_ratio": 0.3681, "zero_ratio": 0.4672, "preview": "............S...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_292_table_2810_off_03B6B7_len_000253.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_292_table_2810_off_03B6B7_len_000253.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_292_table_2810_off_03B6B7_len_000253.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_292_table_2810_off_03B6B7_len_000253.strings.txt", "text_path": null, "primary_label": "HOVER1", "field_names": [ @@ -12171,8 +12171,8 @@ "printable_ratio": 0.2444, "zero_ratio": 0.65, "preview": "............h...........................................].8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_293_table_2860_off_05E9D0_len_000168.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_293_table_2860_off_05E9D0_len_000168.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_293_table_2860_off_05E9D0_len_000168.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_293_table_2860_off_05E9D0_len_000168.strings.txt", "text_path": null, "primary_label": "STEAM1", "field_names": [ @@ -12202,8 +12202,8 @@ "printable_ratio": 0.4109, "zero_ratio": 0.3879, "preview": "....:...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_294_table_2870_off_031E41_len_000414.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_294_table_2870_off_031E41_len_000414.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_294_table_2870_off_031E41_len_000414.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_294_table_2870_off_031E41_len_000414.strings.txt", "text_path": null, "primary_label": "FADE", "field_names": [ @@ -12238,8 +12238,8 @@ "printable_ratio": 0.2276, "zero_ratio": 0.6115, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_295_table_2888_off_04DAD9_len_0001B3.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_295_table_2888_off_04DAD9_len_0001B3.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_295_table_2888_off_04DAD9_len_0001B3.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_295_table_2888_off_04DAD9_len_0001B3.strings.txt", "text_path": null, "primary_label": "PHIR", "field_names": [ @@ -12269,8 +12269,8 @@ "printable_ratio": 0.425, "zero_ratio": 0.262, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_296_table_2890_off_05ECA0_len_0007E3.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_296_table_2890_off_05ECA0_len_0007E3.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_296_table_2890_off_05ECA0_len_0007E3.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_296_table_2890_off_05ECA0_len_0007E3.strings.txt", "text_path": null, "primary_label": "STEAMBOX", "field_names": [ @@ -12313,8 +12313,8 @@ "printable_ratio": 0.2472, "zero_ratio": 0.65, "preview": "............h...........................................].8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_297_table_28E0_off_0339CF_len_000168.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_297_table_28E0_off_0339CF_len_000168.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_297_table_28E0_off_0339CF_len_000168.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_297_table_28E0_off_0339CF_len_000168.strings.txt", "text_path": null, "primary_label": "FLAME2", "field_names": [ @@ -12344,8 +12344,8 @@ "printable_ratio": 0.2444, "zero_ratio": 0.65, "preview": "............h...........................................].8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_298_table_2918_off_05EB38_len_000168.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_298_table_2918_off_05EB38_len_000168.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_298_table_2918_off_05EB38_len_000168.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_298_table_2918_off_05EB38_len_000168.strings.txt", "text_path": null, "primary_label": "STEAM2", "field_names": [ @@ -12375,8 +12375,8 @@ "printable_ratio": 0.2556, "zero_ratio": 0.6417, "preview": "............h...........................................].8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_299_table_2940_off_07BB06_len_000168.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_299_table_2940_off_07BB06_len_000168.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_299_table_2940_off_07BB06_len_000168.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_299_table_2940_off_07BB06_len_000168.strings.txt", "text_path": null, "primary_label": "FLAMELP", "field_names": [ @@ -12406,8 +12406,8 @@ "printable_ratio": 0.3002, "zero_ratio": 0.5159, "preview": "....A...........o.......................................A.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_300_table_29B8_off_07BC6E_len_000215.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_300_table_29B8_off_07BC6E_len_000215.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_300_table_29B8_off_07BC6E_len_000215.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_300_table_29B8_off_07BC6E_len_000215.strings.txt", "text_path": null, "primary_label": "BBOX", "field_names": [ @@ -12439,8 +12439,8 @@ "printable_ratio": 0.3283, "zero_ratio": 0.4878, "preview": "....A...........o.......................................A.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_301_table_29C0_off_07C098_len_000215.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_301_table_29C0_off_07C098_len_000215.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_301_table_29C0_off_07C098_len_000215.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_301_table_29C0_off_07C098_len_000215.strings.txt", "text_path": null, "primary_label": "GBOX_NS", "field_names": [ @@ -12472,8 +12472,8 @@ "printable_ratio": 0.3283, "zero_ratio": 0.4878, "preview": "....A...........o.......................................A.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_302_table_29C8_off_07BE83_len_000215.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_302_table_29C8_off_07BE83_len_000215.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_302_table_29C8_off_07BE83_len_000215.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_302_table_29C8_off_07BE83_len_000215.strings.txt", "text_path": null, "primary_label": "GBOX_EW", "field_names": [ @@ -12505,8 +12505,8 @@ "printable_ratio": 0.1755, "zero_ratio": 0.6897, "preview": "....k.......?...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_303_table_29D0_off_02C096_len_00013F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_303_table_29D0_off_02C096_len_00013F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_303_table_29D0_off_02C096_len_00013F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_303_table_29D0_off_02C096_len_00013F.strings.txt", "text_path": null, "primary_label": "EGRENADE", "field_names": [ @@ -12536,8 +12536,8 @@ "printable_ratio": 0.348, "zero_ratio": 0.4305, "preview": "..........................w.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_304_table_29F8_off_058766_len_0002D7.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_304_table_29F8_off_058766_len_0002D7.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_304_table_29F8_off_058766_len_0002D7.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_304_table_29F8_off_058766_len_0002D7.strings.txt", "text_path": null, "primary_label": "SCANNER", "field_names": [ @@ -12567,8 +12567,8 @@ "printable_ratio": 0.1063, "zero_ratio": 0.8465, "preview": "....*...........X.........*.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_305_table_2A00_off_03BDB0_len_0000FE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_305_table_2A00_off_03BDB0_len_0000FE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_305_table_2A00_off_03BDB0_len_0000FE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_305_table_2A00_off_03BDB0_len_0000FE.strings.txt", "text_path": null, "primary_label": "IONIC", "field_names": [ @@ -12598,8 +12598,8 @@ "printable_ratio": 0.1102, "zero_ratio": 0.8425, "preview": "....*...........X.........*.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_306_table_2A08_off_04DE88_len_0000FE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_306_table_2A08_off_04DE88_len_0000FE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_306_table_2A08_off_04DE88_len_0000FE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_306_table_2A08_off_04DE88_len_0000FE.strings.txt", "text_path": null, "primary_label": "PLASMA", "field_names": [ @@ -12629,8 +12629,8 @@ "printable_ratio": 0.1181, "zero_ratio": 0.8346, "preview": "....*...........X.........*.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_307_table_2A10_off_0390F1_len_0000FE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_307_table_2A10_off_0390F1_len_0000FE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_307_table_2A10_off_0390F1_len_0000FE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_307_table_2A10_off_0390F1_len_0000FE.strings.txt", "text_path": null, "primary_label": "GRAVITON", "field_names": [ @@ -12660,8 +12660,8 @@ "printable_ratio": 0.371, "zero_ratio": 0.3534, "preview": "....}.......Q...........................................}.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_308_table_2A98_off_0384AB_len_000351.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_308_table_2A98_off_0384AB_len_000351.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_308_table_2A98_off_0384AB_len_000351.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_308_table_2A98_off_0384AB_len_000351.strings.txt", "text_path": null, "primary_label": "GLDIV_EW", "field_names": [ @@ -12701,8 +12701,8 @@ "printable_ratio": 0.3698, "zero_ratio": 0.3534, "preview": "....}.......Q...........................................}.......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_309_table_2AA0_off_0387FC_len_000351.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_309_table_2AA0_off_0387FC_len_000351.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_309_table_2AA0_off_0387FC_len_000351.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_309_table_2AA0_off_0387FC_len_000351.strings.txt", "text_path": null, "primary_label": "GLDIV_NS", "field_names": [ @@ -12742,8 +12742,8 @@ "printable_ratio": 0.3412, "zero_ratio": 0.4481, "preview": "............|...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_310_table_2AB0_off_04FB4B_len_00027C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_310_table_2AB0_off_04FB4B_len_00027C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_310_table_2AB0_off_04FB4B_len_00027C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_310_table_2AB0_off_04FB4B_len_00027C.strings.txt", "text_path": null, "primary_label": "REBSNOR", "field_names": [ @@ -12775,8 +12775,8 @@ "printable_ratio": 0.1832, "zero_ratio": 0.7019, "preview": "....n.......B...............................n...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_311_table_2AB8_off_04FDC7_len_000142.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_311_table_2AB8_off_04FDC7_len_000142.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_311_table_2AB8_off_04FDC7_len_000142.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_311_table_2AB8_off_04FDC7_len_000142.strings.txt", "text_path": null, "primary_label": "REBWORK", "field_names": [ @@ -12806,8 +12806,8 @@ "printable_ratio": 0.427, "zero_ratio": 0.312, "preview": "................C...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_312_table_2AD8_off_05817D_len_0005E9.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_312_table_2AD8_off_05817D_len_0005E9.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_312_table_2AD8_off_05817D_len_0005E9.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_312_table_2AD8_off_05817D_len_0005E9.strings.txt", "text_path": null, "primary_label": "SATARG", "field_names": [ @@ -12843,8 +12843,8 @@ "printable_ratio": 0.3173, "zero_ratio": 0.512, "preview": "..........................f.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_313_table_2AE0_off_01BCD6_len_0001F2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_313_table_2AE0_off_01BCD6_len_0001F2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_313_table_2AE0_off_01BCD6_len_0001F2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_313_table_2AE0_off_01BCD6_len_0001F2.strings.txt", "text_path": null, "primary_label": "CHEST_ON", "field_names": [ @@ -12874,8 +12874,8 @@ "printable_ratio": 0.3173, "zero_ratio": 0.512, "preview": "..........................f.....................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_314_table_2AE8_off_01BAE4_len_0001F2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_314_table_2AE8_off_01BAE4_len_0001F2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_314_table_2AE8_off_01BAE4_len_0001F2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_314_table_2AE8_off_01BAE4_len_0001F2.strings.txt", "text_path": null, "primary_label": "CHEST_OE", "field_names": [ @@ -12905,8 +12905,8 @@ "printable_ratio": 0.3205, "zero_ratio": 0.4541, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_315_table_2AF8_off_07CCF5_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_315_table_2AF8_off_07CCF5_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_315_table_2AF8_off_07CCF5_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_315_table_2AF8_off_07CCF5_len_000257.strings.txt", "text_path": null, "primary_label": "D_GRENAD", "field_names": [ @@ -12938,8 +12938,8 @@ "printable_ratio": 0.4269, "zero_ratio": 0.288, "preview": "............m.............w.#...........................\".......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_316_table_2B08_off_01B577_len_00056D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_316_table_2B08_off_01B577_len_00056D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_316_table_2B08_off_01B577_len_00056D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_316_table_2B08_off_01B577_len_00056D.strings.txt", "text_path": null, "primary_label": "CHEST_NS", "field_names": [ @@ -12980,8 +12980,8 @@ "printable_ratio": 0.4276, "zero_ratio": 0.2903, "preview": "....o.......C.............M.#...........................\".......", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_317_table_2B10_off_01B034_len_000543.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_317_table_2B10_off_01B034_len_000543.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_317_table_2B10_off_01B034_len_000543.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_317_table_2B10_off_01B034_len_000543.strings.txt", "text_path": null, "primary_label": "CHEST_EW", "field_names": [ @@ -13022,8 +13022,8 @@ "printable_ratio": 0.3205, "zero_ratio": 0.4541, "preview": "............W.............d. ...................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_318_table_2B78_off_07C916_len_000257.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_318_table_2B78_off_07C916_len_000257.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_318_table_2B78_off_07C916_len_000257.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_318_table_2B78_off_07C916_len_000257.strings.txt", "text_path": null, "primary_label": "D_ENFORC", "field_names": [ @@ -13055,8 +13055,8 @@ "printable_ratio": 0.3738, "zero_ratio": 0.3238, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_319_table_2B88_off_020DF0_len_0004C4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_319_table_2B88_off_020DF0_len_0004C4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_319_table_2B88_off_020DF0_len_0004C4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_319_table_2B88_off_020DF0_len_0004C4.strings.txt", "text_path": null, "primary_label": "DETPAC", "field_names": [ @@ -13096,8 +13096,8 @@ "printable_ratio": 0.4186, "zero_ratio": 0.2495, "preview": "............m...w...........J.....................I.............", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_320_table_2B90_off_01E1A3_len_00096D.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_320_table_2B90_off_01E1A3_len_00096D.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_320_table_2B90_off_01E1A3_len_00096D.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_320_table_2B90_off_01E1A3_len_00096D.strings.txt", "text_path": null, "primary_label": "CRU_SPID", "field_names": [ @@ -13150,8 +13150,8 @@ "printable_ratio": 0.3591, "zero_ratio": 0.4267, "preview": "............_...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_321_table_2B98_off_010074_len_00025F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_321_table_2B98_off_010074_len_00025F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_321_table_2B98_off_010074_len_00025F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_321_table_2B98_off_010074_len_00025F.strings.txt", "text_path": null, "primary_label": "ALARMHAT", "field_names": [ @@ -13183,8 +13183,8 @@ "printable_ratio": 0.2906, "zero_ratio": 0.5788, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_322_table_2BB0_off_02F308_len_000196.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_322_table_2BB0_off_02F308_len_000196.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_322_table_2BB0_off_02F308_len_000196.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_322_table_2BB0_off_02F308_len_000196.strings.txt", "text_path": null, "primary_label": "ETWALLNS", "field_names": [ @@ -13214,8 +13214,8 @@ "printable_ratio": 0.2906, "zero_ratio": 0.5788, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_323_table_2BB8_off_02F172_len_000196.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_323_table_2BB8_off_02F172_len_000196.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_323_table_2BB8_off_02F172_len_000196.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_323_table_2BB8_off_02F172_len_000196.strings.txt", "text_path": null, "primary_label": "ETWALLEW", "field_names": [ @@ -13245,8 +13245,8 @@ "printable_ratio": 0.3772, "zero_ratio": 0.3638, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_324_table_2BC0_off_064059_len_000380.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_324_table_2BC0_off_064059_len_000380.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_324_table_2BC0_off_064059_len_000380.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_324_table_2BC0_off_064059_len_000380.strings.txt", "text_path": null, "primary_label": "THRMBCKN", "field_names": [ @@ -13280,8 +13280,8 @@ "printable_ratio": 0.3772, "zero_ratio": 0.3638, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_325_table_2BC8_off_063CD9_len_000380.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_325_table_2BC8_off_063CD9_len_000380.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_325_table_2BC8_off_063CD9_len_000380.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_325_table_2BC8_off_063CD9_len_000380.strings.txt", "text_path": null, "primary_label": "THRMBCKE", "field_names": [ @@ -13315,8 +13315,8 @@ "printable_ratio": 0.4404, "zero_ratio": 0.232, "preview": "............d...v.................................a.$.....;.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_326_table_2BF0_off_055CBC_len_000C64.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_326_table_2BF0_off_055CBC_len_000C64.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_326_table_2BF0_off_055CBC_len_000C64.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_326_table_2BF0_off_055CBC_len_000C64.strings.txt", "text_path": null, "primary_label": "ROLL_EW", "field_names": [ @@ -13369,8 +13369,8 @@ "printable_ratio": 0.257, "zero_ratio": 0.5678, "preview": "................^...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_327_table_2C40_off_03C92E_len_0001AC.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_327_table_2C40_off_03C92E_len_0001AC.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_327_table_2C40_off_03C92E_len_0001AC.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_327_table_2C40_off_03C92E_len_0001AC.strings.txt", "text_path": null, "primary_label": "KORESH", "field_names": [ @@ -13400,8 +13400,8 @@ "printable_ratio": 0.326, "zero_ratio": 0.506, "preview": ".... ...........N...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_328_table_2C98_off_01051F_len_0001F4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_328_table_2C98_off_01051F_len_0001F4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_328_table_2C98_off_01051F_len_0001F4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_328_table_2C98_off_01051F_len_0001F4.strings.txt", "text_path": null, "primary_label": "ALRMTRIG", "field_names": [ @@ -13431,8 +13431,8 @@ "printable_ratio": 0.3297, "zero_ratio": 0.451, "preview": "................8...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_329_table_2CA0_off_02E983_len_0002DE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_329_table_2CA0_off_02E983_len_0002DE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_329_table_2CA0_off_02E983_len_0002DE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_329_table_2CA0_off_02E983_len_0002DE.strings.txt", "text_path": null, "primary_label": "ENERGY", "field_names": [ @@ -13468,8 +13468,8 @@ "printable_ratio": 0.4442, "zero_ratio": 0.2245, "preview": "............d...v.................................a.$.....;.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_330_table_2CC0_off_055058_len_000C64.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_330_table_2CC0_off_055058_len_000C64.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_330_table_2CC0_off_055058_len_000C64.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_330_table_2CC0_off_055058_len_000C64.strings.txt", "text_path": null, "primary_label": "ROLLB_NS", "field_names": [ @@ -13522,8 +13522,8 @@ "printable_ratio": 0.4484, "zero_ratio": 0.2192, "preview": "............l...~.................................a.,.....C.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_331_table_2CE8_off_0543EC_len_000C6C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_331_table_2CE8_off_0543EC_len_000C6C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_331_table_2CE8_off_0543EC_len_000C6C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_331_table_2CE8_off_0543EC_len_000C6C.strings.txt", "text_path": null, "primary_label": "ROLLB_EW", "field_names": [ @@ -13576,8 +13576,8 @@ "printable_ratio": 0.2602, "zero_ratio": 0.5893, "preview": "................:...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_332_table_2D08_off_076A01_len_000188.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_332_table_2D08_off_076A01_len_000188.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_332_table_2D08_off_076A01_len_000188.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_332_table_2D08_off_076A01_len_000188.strings.txt", "text_path": null, "primary_label": "D_PLASMA", "field_names": [ @@ -13607,8 +13607,8 @@ "printable_ratio": 0.2602, "zero_ratio": 0.5893, "preview": "................:...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_333_table_2D40_off_076B89_len_000188.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_333_table_2D40_off_076B89_len_000188.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_333_table_2D40_off_076B89_len_000188.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_333_table_2D40_off_076B89_len_000188.strings.txt", "text_path": null, "primary_label": "D_SKELET", "field_names": [ @@ -13638,8 +13638,8 @@ "printable_ratio": 0.2602, "zero_ratio": 0.5893, "preview": "................:...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_334_table_2D70_off_07CB6D_len_000188.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_334_table_2D70_off_07CB6D_len_000188.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_334_table_2D70_off_07CB6D_len_000188.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_334_table_2D70_off_07CB6D_len_000188.strings.txt", "text_path": null, "primary_label": "D_EM_GUY", "field_names": [ @@ -13669,8 +13669,8 @@ "printable_ratio": 0.2406, "zero_ratio": 0.6551, "preview": "............Y...........................................N.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_335_table_2D80_off_080661_len_000159.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_335_table_2D80_off_080661_len_000159.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_335_table_2D80_off_080661_len_000159.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_335_table_2D80_off_080661_len_000159.strings.txt", "text_path": null, "primary_label": "DEATHFL4", "field_names": [ @@ -13700,8 +13700,8 @@ "printable_ratio": 0.3031, "zero_ratio": 0.542, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_336_table_2D88_off_07C44F_len_0001C4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_336_table_2D88_off_07C44F_len_0001C4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_336_table_2D88_off_07C44F_len_0001C4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_336_table_2D88_off_07C44F_len_0001C4.strings.txt", "text_path": null, "primary_label": "DAMNLUGG", "field_names": [ @@ -13733,8 +13733,8 @@ "printable_ratio": 0.3031, "zero_ratio": 0.542, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_337_table_2D90_off_07C613_len_0001C4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_337_table_2D90_off_07C613_len_0001C4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_337_table_2D90_off_07C613_len_0001C4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_337_table_2D90_off_07C613_len_0001C4.strings.txt", "text_path": null, "primary_label": "DAMNMCR8", "field_names": [ @@ -13766,8 +13766,8 @@ "printable_ratio": 0.2406, "zero_ratio": 0.6551, "preview": "............Y...........................................N.8.....", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_338_table_2DA0_off_0807BA_len_000159.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_338_table_2DA0_off_0807BA_len_000159.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_338_table_2DA0_off_0807BA_len_000159.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_338_table_2DA0_off_0807BA_len_000159.strings.txt", "text_path": null, "primary_label": "DEATHFL5", "field_names": [ @@ -13797,8 +13797,8 @@ "printable_ratio": 0.3516, "zero_ratio": 0.3301, "preview": "....................*.+...*.................Z.U.................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_339_table_4098_off_010DC7_len_0003A2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_339_table_4098_off_010DC7_len_0003A2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_339_table_4098_off_010DC7_len_0003A2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_339_table_4098_off_010DC7_len_0003A2.strings.txt", "text_path": null, "primary_label": "AVATAR", "field_names": [ @@ -13834,8 +13834,8 @@ "printable_ratio": 0.3062, "zero_ratio": 0.4746, "preview": "....T.......(...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_340_table_4890_off_064C2B_len_000228.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_340_table_4890_off_064C2B_len_000228.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_340_table_4890_off_064C2B_len_000228.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_340_table_4890_off_064C2B_len_000228.strings.txt", "text_path": null, "primary_label": "TRIGEGG", "field_names": [ @@ -13867,8 +13867,8 @@ "printable_ratio": 0.3091, "zero_ratio": 0.4689, "preview": "...._.......3...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_341_table_4898_off_04CBF3_len_000233.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_341_table_4898_off_04CBF3_len_000233.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_341_table_4898_off_04CBF3_len_000233.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_341_table_4898_off_04CBF3_len_000233.strings.txt", "text_path": null, "primary_label": "ONCEEGG", "field_names": [ @@ -13900,8 +13900,8 @@ "printable_ratio": 0.4229, "zero_ratio": 0.305, "preview": "............x...*...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_342_table_48A0_off_0342C7_len_000578.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_342_table_48A0_off_0342C7_len_000578.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_342_table_48A0_off_0342C7_len_000578.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_342_table_48A0_off_0342C7_len_000578.strings.txt", "text_path": null, "primary_label": "FLOOR1", "field_names": [ @@ -13952,8 +13952,8 @@ "printable_ratio": 0.392, "zero_ratio": 0.3699, "preview": "................9.............................................L.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_343_table_48A8_off_04A2AE_len_000387.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_343_table_48A8_off_04A2AE_len_000387.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_343_table_48A8_off_04A2AE_len_000387.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_343_table_48A8_off_04A2AE_len_000387.strings.txt", "text_path": null, "primary_label": "MTAREGG", "field_names": [ @@ -13989,8 +13989,8 @@ "printable_ratio": 0.2563, "zero_ratio": 0.5492, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_344_table_48B0_off_01AC3A_len_0001B5.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_344_table_48B0_off_01AC3A_len_0001B5.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_344_table_48B0_off_01AC3A_len_0001B5.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_344_table_48B0_off_01AC3A_len_0001B5.strings.txt", "text_path": null, "primary_label": "CHANGER", "field_names": [ @@ -14029,8 +14029,8 @@ "printable_ratio": 0.3291, "zero_ratio": 0.3875, "preview": "....?...........................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_345_table_48B8_off_018B0F_len_000313.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_345_table_48B8_off_018B0F_len_000313.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_345_table_48B8_off_018B0F_len_000313.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_345_table_48B8_off_018B0F_len_000313.strings.txt", "text_path": null, "primary_label": "CAMERA", "field_names": [ @@ -14060,8 +14060,8 @@ "printable_ratio": 0.2333, "zero_ratio": 0.6026, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_346_table_48C0_off_058DB8_len_000186.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_346_table_48C0_off_058DB8_len_000186.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_346_table_48C0_off_058DB8_len_000186.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_346_table_48C0_off_058DB8_len_000186.strings.txt", "text_path": null, "primary_label": "SECRTEGG", "field_names": [ @@ -14097,8 +14097,8 @@ "printable_ratio": 0.4741, "zero_ratio": 0.1889, "preview": "............................................Q...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_347_table_48C8_off_050477_len_0010B6.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_347_table_48C8_off_050477_len_0010B6.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_347_table_48C8_off_050477_len_0010B6.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_347_table_48C8_off_050477_len_0010B6.strings.txt", "text_path": null, "primary_label": "REB_EGG", "field_names": [ @@ -14143,8 +14143,8 @@ "printable_ratio": 0.2857, "zero_ratio": 0.544, "preview": "....N.......\"...|.............................................N.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_348_table_48D0_off_06132D_len_000222.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_348_table_48D0_off_06132D_len_000222.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_348_table_48D0_off_06132D_len_000222.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_348_table_48D0_off_06132D_len_000222.strings.txt", "text_path": null, "primary_label": "TEST", "field_names": [ @@ -14174,8 +14174,8 @@ "printable_ratio": 0.3179, "zero_ratio": 0.4547, "preview": "...._.......3................................................._.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_349_table_48D8_off_039353_len_000233.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_349_table_48D8_off_039353_len_000233.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_349_table_48D8_off_039353_len_000233.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_349_table_48D8_off_039353_len_000233.strings.txt", "text_path": null, "primary_label": "GRENEGG", "field_names": [ @@ -14213,8 +14213,8 @@ "printable_ratio": 0.3966, "zero_ratio": 0.431, "preview": "............~.................................................I.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_350_table_48E0_off_029A1A_len_00027E.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_350_table_48E0_off_029A1A_len_00027E.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_350_table_48E0_off_029A1A_len_00027E.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_350_table_48E0_off_029A1A_len_00027E.strings.txt", "text_path": null, "primary_label": "DOOREGG", "field_names": [ @@ -14246,8 +14246,8 @@ "printable_ratio": 0.2324, "zero_ratio": 0.6243, "preview": "............r...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_351_table_48E8_off_012FE6_len_000172.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_351_table_48E8_off_012FE6_len_000172.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_351_table_48E8_off_012FE6_len_000172.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_351_table_48E8_off_012FE6_len_000172.strings.txt", "text_path": null, "primary_label": "BBTRIP", "field_names": [ @@ -14281,8 +14281,8 @@ "printable_ratio": 0.2607, "zero_ratio": 0.5965, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_352_table_48F0_off_03D700_len_00018F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_352_table_48F0_off_03D700_len_00018F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_352_table_48F0_off_03D700_len_00018F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_352_table_48F0_off_03D700_len_00018F.strings.txt", "text_path": null, "primary_label": "LAZEREGG", "field_names": [ @@ -14314,8 +14314,8 @@ "printable_ratio": 0.4927, "zero_ratio": 0.1859, "preview": "..............................................^.................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_353_table_48F8_off_04331A_len_001483.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_353_table_48F8_off_04331A_len_001483.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_353_table_48F8_off_04331A_len_001483.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_353_table_48F8_off_04331A_len_001483.strings.txt", "text_path": null, "primary_label": "MISS1EGG", "field_names": [ @@ -14371,8 +14371,8 @@ "printable_ratio": 0.4545, "zero_ratio": 0.2038, "preview": ".....!.......\"...'..........................3.................3.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_354_table_4900_off_04479D_len_0022DC.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_354_table_4900_off_04479D_len_0022DC.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_354_table_4900_off_04479D_len_0022DC.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_354_table_4900_off_04479D_len_0022DC.strings.txt", "text_path": null, "primary_label": "MISS2", "field_names": [ @@ -14447,8 +14447,8 @@ "printable_ratio": 0.3094, "zero_ratio": 0.5304, "preview": "....K.......................................3...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_355_table_4908_off_046A79_len_00021F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_355_table_4908_off_046A79_len_00021F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_355_table_4908_off_046A79_len_00021F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_355_table_4908_off_046A79_len_00021F.strings.txt", "text_path": null, "primary_label": "MISS3", "field_names": [ @@ -14478,8 +14478,8 @@ "printable_ratio": 0.3457, "zero_ratio": 0.4733, "preview": "..............................................9...............f.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_356_table_4910_off_046C98_len_0002A2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_356_table_4910_off_046C98_len_0002A2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_356_table_4910_off_046C98_len_0002A2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_356_table_4910_off_046C98_len_0002A2.strings.txt", "text_path": null, "primary_label": "MISS4", "field_names": [ @@ -14511,8 +14511,8 @@ "printable_ratio": 0.4184, "zero_ratio": 0.2643, "preview": "............d...n...........................3.................l.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_357_table_4918_off_046F3A_len_000A64.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_357_table_4918_off_046F3A_len_000A64.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_357_table_4918_off_046F3A_len_000A64.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_357_table_4918_off_046F3A_len_000A64.strings.txt", "text_path": null, "primary_label": "MISS5", "field_names": [ @@ -14556,8 +14556,8 @@ "printable_ratio": 0.4474, "zero_ratio": 0.2918, "preview": "................7...........................3...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_358_table_4920_off_04799E_len_0007D5.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_358_table_4920_off_04799E_len_0007D5.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_358_table_4920_off_04799E_len_0007D5.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_358_table_4920_off_04799E_len_0007D5.strings.txt", "text_path": null, "primary_label": "MISS6", "field_names": [ @@ -14596,8 +14596,8 @@ "printable_ratio": 0.1604, "zero_ratio": 0.717, "preview": "....j.......>...............................j...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_359_table_4928_off_048173_len_00013E.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_359_table_4928_off_048173_len_00013E.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_359_table_4928_off_048173_len_00013E.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_359_table_4928_off_048173_len_00013E.strings.txt", "text_path": null, "primary_label": "MISS7", "field_names": [ @@ -14629,8 +14629,8 @@ "printable_ratio": 0.4279, "zero_ratio": 0.2722, "preview": "....o.......I...S...........................3.................c.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_360_table_4930_off_0482B1_len_000949.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_360_table_4930_off_0482B1_len_000949.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_360_table_4930_off_0482B1_len_000949.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_360_table_4930_off_0482B1_len_000949.strings.txt", "text_path": null, "primary_label": "MISS8", "field_names": [ @@ -14672,8 +14672,8 @@ "printable_ratio": 0.4371, "zero_ratio": 0.3125, "preview": "....#.......................................3.................c.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_361_table_4938_off_048BFA_len_0005FD.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_361_table_4938_off_048BFA_len_0005FD.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_361_table_4938_off_048BFA_len_0005FD.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_361_table_4938_off_048BFA_len_0005FD.strings.txt", "text_path": null, "primary_label": "MISS9", "field_names": [ @@ -14713,8 +14713,8 @@ "printable_ratio": 0.2811, "zero_ratio": 0.5806, "preview": "................d...........................3...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_362_table_4940_off_04235A_len_0001B2.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_362_table_4940_off_04235A_len_0001B2.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_362_table_4940_off_04235A_len_0001B2.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_362_table_4940_off_04235A_len_0001B2.strings.txt", "text_path": null, "primary_label": "MISS10", "field_names": [ @@ -14746,8 +14746,8 @@ "printable_ratio": 0.2881, "zero_ratio": 0.5614, "preview": "............................................3...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_363_table_4948_off_04250C_len_0001D8.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_363_table_4948_off_04250C_len_0001D8.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_363_table_4948_off_04250C_len_0001D8.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_363_table_4948_off_04250C_len_0001D8.strings.txt", "text_path": null, "primary_label": "MISS11", "field_names": [ @@ -14777,8 +14777,8 @@ "printable_ratio": 0.2919, "zero_ratio": 0.5247, "preview": "....'.......................................3...................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_364_table_4950_off_0426E4_len_0001FB.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_364_table_4950_off_0426E4_len_0001FB.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_364_table_4950_off_0426E4_len_0001FB.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_364_table_4950_off_0426E4_len_0001FB.strings.txt", "text_path": null, "primary_label": "MISS12", "field_names": [ @@ -14810,8 +14810,8 @@ "printable_ratio": 0.4577, "zero_ratio": 0.281, "preview": "............................................3.................u.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_365_table_4958_off_0428DF_len_000690.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_365_table_4958_off_0428DF_len_000690.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_365_table_4958_off_0428DF_len_000690.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_365_table_4958_off_0428DF_len_000690.strings.txt", "text_path": null, "primary_label": "MISS13", "field_names": [ @@ -14851,8 +14851,8 @@ "printable_ratio": 0.3813, "zero_ratio": 0.3813, "preview": "................].............................Y...............X.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_366_table_4960_off_042F6F_len_0003AB.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_366_table_4960_off_042F6F_len_0003AB.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_366_table_4960_off_042F6F_len_0003AB.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_366_table_4960_off_042F6F_len_0003AB.strings.txt", "text_path": null, "primary_label": "MISS14", "field_names": [ @@ -14886,8 +14886,8 @@ "printable_ratio": 0.4258, "zero_ratio": 0.3182, "preview": "....T.......(...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_367_table_4968_off_086975_len_000528.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_367_table_4968_off_086975_len_000528.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_367_table_4968_off_086975_len_000528.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_367_table_4968_off_086975_len_000528.strings.txt", "text_path": null, "primary_label": "MISS15", "field_names": [ @@ -14923,8 +14923,8 @@ "printable_ratio": 0.1063, "zero_ratio": 0.8465, "preview": "....*...........X.............................................*.", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_368_table_4970_off_04A909_len_0000FE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_368_table_4970_off_04A909_len_0000FE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_368_table_4970_off_04A909_len_0000FE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_368_table_4970_off_04A909_len_0000FE.strings.txt", "text_path": null, "primary_label": "MUSIC", "field_names": [ @@ -14954,8 +14954,8 @@ "printable_ratio": 0.2842, "zero_ratio": 0.5336, "preview": "................'...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_369_table_4978_off_076FB9_len_0001CD.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_369_table_4978_off_076FB9_len_0001CD.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_369_table_4978_off_076FB9_len_0001CD.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_369_table_4978_off_076FB9_len_0001CD.strings.txt", "text_path": null, "primary_label": "STEAMEGG", "field_names": [ @@ -14987,8 +14987,8 @@ "printable_ratio": 0.4037, "zero_ratio": 0.3193, "preview": "............u...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_370_table_5090_off_0114B6_len_000575.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_370_table_5090_off_0114B6_len_000575.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_370_table_5090_off_0114B6_len_000575.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_370_table_5090_off_0114B6_len_000575.strings.txt", "text_path": null, "primary_label": "BARREL", "field_names": [ @@ -15030,8 +15030,8 @@ "printable_ratio": 0.3812, "zero_ratio": 0.3021, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_371_table_5098_off_012A46_len_0005A0.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_371_table_5098_off_012A46_len_0005A0.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_371_table_5098_off_012A46_len_0005A0.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_371_table_5098_off_012A46_len_0005A0.strings.txt", "text_path": null, "primary_label": "BBETTY", "field_names": [ @@ -15074,8 +15074,8 @@ "printable_ratio": 0.3924, "zero_ratio": 0.2864, "preview": "............i...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_372_table_50A0_off_013ACB_len_000669.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_372_table_50A0_off_013ACB_len_000669.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_372_table_50A0_off_013ACB_len_000669.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_372_table_50A0_off_013ACB_len_000669.strings.txt", "text_path": null, "primary_label": "BLASER", "field_names": [ @@ -15115,8 +15115,8 @@ "printable_ratio": 0.4482, "zero_ratio": 0.1753, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_373_table_50A8_off_016CEC_len_001395.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_373_table_50A8_off_016CEC_len_001395.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_373_table_50A8_off_016CEC_len_001395.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_373_table_50A8_off_016CEC_len_001395.strings.txt", "text_path": null, "primary_label": "BRIDGE", "field_names": [ @@ -15176,8 +15176,8 @@ "printable_ratio": 0.4238, "zero_ratio": 0.3398, "preview": "....a.......;...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_374_table_50B0_off_01BFE3_len_00043B.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_374_table_50B0_off_01BFE3_len_00043B.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_374_table_50B0_off_01BFE3_len_00043B.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_374_table_50B0_off_01BFE3_len_00043B.strings.txt", "text_path": null, "primary_label": "CONVEYOR", "field_names": [ @@ -15213,8 +15213,8 @@ "printable_ratio": 0.3896, "zero_ratio": 0.2579, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_375_table_50B8_off_020237_len_0007AE.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_375_table_50B8_off_020237_len_0007AE.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_375_table_50B8_off_020237_len_0007AE.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_375_table_50B8_off_020237_len_0007AE.strings.txt", "text_path": null, "primary_label": "DEATHFL", "field_names": [ @@ -15253,8 +15253,8 @@ "printable_ratio": 0.4807, "zero_ratio": 0.1714, "preview": "....< ......(!...\"..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_376_table_50C0_off_0212B4_len_002128.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_376_table_50C0_off_0212B4_len_002128.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_376_table_50C0_off_0212B4_len_002128.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_376_table_50C0_off_0212B4_len_002128.strings.txt", "text_path": null, "primary_label": "DOOR", "field_names": [ @@ -15312,8 +15312,8 @@ "printable_ratio": 0.4478, "zero_ratio": 0.1674, "preview": ")...%@.......A...P..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_377_table_50C8_off_0233DC_len_0041EF.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_377_table_50C8_off_0233DC_len_0041EF.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_377_table_50C8_off_0233DC_len_0041EF.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_377_table_50C8_off_0233DC_len_0041EF.strings.txt", "text_path": null, "primary_label": "DOOR2", "field_names": [ @@ -15400,8 +15400,8 @@ "printable_ratio": 0.4454, "zero_ratio": 0.1635, "preview": "....3#......O$..q(..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_378_table_50D0_off_0275CB_len_00244F.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_378_table_50D0_off_0275CB_len_00244F.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_378_table_50D0_off_0275CB_len_00244F.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_378_table_50D0_off_0275CB_len_00244F.strings.txt", "text_path": null, "primary_label": "DOOR3", "field_names": [ @@ -15460,8 +15460,8 @@ "printable_ratio": 0.4216, "zero_ratio": 0.2395, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_379_table_50D8_off_02C1D5_len_000B95.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_379_table_50D8_off_02C1D5_len_000B95.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_379_table_50D8_off_02C1D5_len_000B95.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_379_table_50D8_off_02C1D5_len_000B95.strings.txt", "text_path": null, "primary_label": "ELEVAT", "field_names": [ @@ -15533,8 +15533,8 @@ "printable_ratio": 0.0, "zero_ratio": 0.9811, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_380_table_50E0_off_0334C3_len_0000D4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_380_table_50E0_off_0334C3_len_0000D4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_380_table_50E0_off_0334C3_len_0000D4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_380_table_50E0_off_0334C3_len_0000D4.strings.txt", "text_path": null, "primary_label": null, "field_names": [], @@ -15560,8 +15560,8 @@ "printable_ratio": 0.3542, "zero_ratio": 0.4472, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_381_table_50E8_off_033597_len_0002D0.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_381_table_50E8_off_033597_len_0002D0.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_381_table_50E8_off_033597_len_0002D0.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_381_table_50E8_off_033597_len_0002D0.strings.txt", "text_path": null, "primary_label": "FLAME", "field_names": [ @@ -15595,8 +15595,8 @@ "printable_ratio": 0.4248, "zero_ratio": 0.2372, "preview": "\"...b............*..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_382_table_50F0_off_034A5C_len_001F02.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_382_table_50F0_off_034A5C_len_001F02.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_382_table_50F0_off_034A5C_len_001F02.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_382_table_50F0_off_034A5C_len_001F02.strings.txt", "text_path": null, "primary_label": "FREE", "field_names": [ @@ -15700,8 +15700,8 @@ "printable_ratio": 0.4246, "zero_ratio": 0.1723, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_383_table_50F8_off_039DE3_len_0018D4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_383_table_50F8_off_039DE3_len_0018D4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_383_table_50F8_off_039DE3_len_0018D4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_383_table_50F8_off_039DE3_len_0018D4.strings.txt", "text_path": null, "primary_label": "HOVER", "field_names": [ @@ -15771,8 +15771,8 @@ "printable_ratio": 0.3985, "zero_ratio": 0.4072, "preview": "....N.......(...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_384_table_5100_off_03C228_len_000328.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_384_table_5100_off_03C228_len_000328.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_384_table_5100_off_03C228_len_000328.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_384_table_5100_off_03C228_len_000328.strings.txt", "text_path": null, "primary_label": "KEYPAD", "field_names": [ @@ -15816,8 +15816,8 @@ "printable_ratio": 0.3378, "zero_ratio": 0.3721, "preview": "....W.......1...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_385_table_5108_off_03D3CF_len_000331.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_385_table_5108_off_03D3CF_len_000331.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_385_table_5108_off_03D3CF_len_000331.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_385_table_5108_off_03D3CF_len_000331.strings.txt", "text_path": null, "primary_label": "LAZER", "field_names": [ @@ -15851,8 +15851,8 @@ "printable_ratio": 0.4155, "zero_ratio": 0.3185, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_386_table_5110_off_03EA99_len_0004D5.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_386_table_5110_off_03EA99_len_0004D5.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_386_table_5110_off_03EA99_len_0004D5.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_386_table_5110_off_03EA99_len_0004D5.strings.txt", "text_path": null, "primary_label": "LITEWALL", "field_names": [ @@ -15911,8 +15911,8 @@ "printable_ratio": 0.4212, "zero_ratio": 0.249, "preview": "................g...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_387_table_5118_off_04AE8E_len_0013E5.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_387_table_5118_off_04AE8E_len_0013E5.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_387_table_5118_off_04AE8E_len_0013E5.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_387_table_5118_off_04AE8E_len_0013E5.strings.txt", "text_path": null, "primary_label": "$2Q%", "field_names": [ @@ -15959,8 +15959,8 @@ "printable_ratio": 0.0, "zero_ratio": 0.9811, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_388_table_5120_off_04C273_len_0000D4.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_388_table_5120_off_04C273_len_0000D4.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_388_table_5120_off_04C273_len_0000D4.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_388_table_5120_off_04C273_len_0000D4.strings.txt", "text_path": null, "primary_label": null, "field_names": [], @@ -15986,8 +15986,8 @@ "printable_ratio": 0.4201, "zero_ratio": 0.3302, "preview": "................7...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_389_table_5128_off_0593F8_len_000485.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_389_table_5128_off_0593F8_len_000485.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_389_table_5128_off_0593F8_len_000485.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_389_table_5128_off_0593F8_len_000485.strings.txt", "text_path": null, "primary_label": "SHOCKER", "field_names": [ @@ -16029,8 +16029,8 @@ "printable_ratio": 0.4207, "zero_ratio": 0.2474, "preview": "....Q.......7...A...............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_390_table_5130_off_05BE33_len_000A37.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_390_table_5130_off_05BE33_len_000A37.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_390_table_5130_off_05BE33_len_000A37.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_390_table_5130_off_05BE33_len_000A37.strings.txt", "text_path": null, "primary_label": "SPIDER", "field_names": [ @@ -16103,8 +16103,8 @@ "printable_ratio": 0.3697, "zero_ratio": 0.4038, "preview": "....t.......T...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_391_table_5138_off_05E67C_len_000354.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_391_table_5138_off_05E67C_len_000354.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_391_table_5138_off_05E67C_len_000354.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_391_table_5138_off_05E67C_len_000354.strings.txt", "text_path": null, "primary_label": "STEAM", "field_names": [ @@ -16138,8 +16138,8 @@ "printable_ratio": 0.3798, "zero_ratio": 0.3645, "preview": "....w.......W...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_392_table_5140_off_0605E0_len_000457.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_392_table_5140_off_0605E0_len_000457.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_392_table_5140_off_0605E0_len_000457.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_392_table_5140_off_0605E0_len_000457.strings.txt", "text_path": null, "primary_label": "SWITCH", "field_names": [ @@ -16173,9 +16173,9 @@ "printable_ratio": 0.8459, "zero_ratio": 0.0612, "preview": "....@$......,%...&..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_393_table_5148_off_06154F_len_00252C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_393_table_5148_off_06154F_len_00252C.strings.txt", - "text_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_393_table_5148_off_06154F_len_00252C.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_393_table_5148_off_06154F_len_00252C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_393_table_5148_off_06154F_len_00252C.strings.txt", + "text_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_393_table_5148_off_06154F_len_00252C.txt", "primary_label": "TEXTFILE", "field_names": [ "referent", @@ -16219,8 +16219,8 @@ "printable_ratio": 0.4873, "zero_ratio": 0.123, "preview": ".....@.......A...F..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_394_table_5150_off_064E53_len_0041A0.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_394_table_5150_off_064E53_len_0041A0.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_394_table_5150_off_064E53_len_0041A0.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_394_table_5150_off_064E53_len_0041A0.strings.txt", "text_path": null, "primary_label": "TRIGGER", "field_names": [ @@ -16303,8 +16303,8 @@ "printable_ratio": 0.2261, "zero_ratio": 0.6383, "preview": "............x...................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_395_table_5158_off_0695F8_len_000178.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_395_table_5158_off_0695F8_len_000178.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_395_table_5158_off_0695F8_len_000178.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_395_table_5158_off_0695F8_len_000178.strings.txt", "text_path": null, "primary_label": "VALBOX", "field_names": [ @@ -16340,8 +16340,8 @@ "printable_ratio": 0.5022, "zero_ratio": 0.1464, "preview": ",...'k.......m..%|..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_396_table_5160_off_06B481_len_006D03.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_396_table_5160_off_06B481_len_006D03.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_396_table_5160_off_06B481_len_006D03.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_396_table_5160_off_06B481_len_006D03.strings.txt", "text_path": null, "primary_label": "WALLGUN", "field_names": [ @@ -16422,8 +16422,8 @@ "printable_ratio": 0.36, "zero_ratio": 0.3247, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_397_table_5168_off_07346B_len_00048C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_397_table_5168_off_07346B_len_00048C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_397_table_5168_off_07346B_len_00048C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_397_table_5168_off_07346B_len_00048C.strings.txt", "text_path": null, "primary_label": "$4Q2", "field_names": [ @@ -16459,8 +16459,8 @@ "printable_ratio": 0.4287, "zero_ratio": 0.1429, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_398_table_5170_off_074B24_len_001EDD.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_398_table_5170_off_074B24_len_001EDD.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_398_table_5170_off_074B24_len_001EDD.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_398_table_5170_off_074B24_len_001EDD.strings.txt", "text_path": null, "primary_label": "NPCDEATH", "field_names": [ @@ -16532,9 +16532,9 @@ "printable_ratio": 0.8651, "zero_ratio": 0.0489, "preview": ".....$......g%...%..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_399_table_5178_off_077898_len_002567.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_399_table_5178_off_077898_len_002567.strings.txt", - "text_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_399_table_5178_off_077898_len_002567.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_399_table_5178_off_077898_len_002567.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_399_table_5178_off_077898_len_002567.strings.txt", + "text_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_399_table_5178_off_077898_len_002567.txt", "primary_label": "\n<$Q7", "field_names": [ "referent", @@ -16574,8 +16574,8 @@ "printable_ratio": 0.4421, "zero_ratio": 0.1873, "preview": "................................................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_400_table_5180_off_07A04B_len_001ABB.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_400_table_5180_off_07A04B_len_001ABB.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_400_table_5180_off_07A04B_len_001ABB.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_400_table_5180_off_07A04B_len_001ABB.strings.txt", "text_path": null, "primary_label": "ITEM", "field_names": [ @@ -16701,9 +16701,9 @@ "printable_ratio": 0.8269, "zero_ratio": 0.0614, "preview": ".....%.......&...'..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_401_table_5188_off_07CF4C_len_0026A8.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_401_table_5188_off_07CF4C_len_0026A8.strings.txt", - "text_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_401_table_5188_off_07CF4C_len_0026A8.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_401_table_5188_off_07CF4C_len_0026A8.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_401_table_5188_off_07CF4C_len_0026A8.strings.txt", + "text_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_401_table_5188_off_07CF4C_len_0026A8.txt", "primary_label": "\n|$4Q(", "field_names": [ "referent", @@ -16746,8 +16746,8 @@ "printable_ratio": 0.5313, "zero_ratio": 0.1394, "preview": "....lM......LN...N..............................................", - "raw_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_402_table_5190_off_080913_len_004E4C.bin", - "strings_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE_extracted\\chunks\\chunk_402_table_5190_off_080913_len_004E4C.strings.txt", + "raw_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_402_table_5190_off_080913_len_004E4C.bin", + "strings_path": "USECODE\\EUSECODE_extracted\\chunks\\chunk_402_table_5190_off_080913_len_004E4C.strings.txt", "text_path": null, "primary_label": "FLICTEST", "field_names": [ diff --git a/_tmp_targets.py b/_tmp_targets.py new file mode 100644 index 0000000..5b2dfe4 --- /dev/null +++ b/_tmp_targets.py @@ -0,0 +1,19 @@ +import csv, pathlib +p = pathlib.Path('USECODE/EUSECODE_extracted/class_event_index.tsv') +targets = {189,190,191,272,273,283,285} +rows = [r for r in csv.DictReader(p.open('r', encoding='utf-8'), delimiter='\t') if int(r['entry_index'], 0) in targets] +for eid in sorted(targets): + print(f'ENTRY {eid}') + for r in rows: + if int(r['entry_index'], 0) != eid: + continue + length = (r.get('derived_body_length') or '').strip() + if not length: + continue + try: + n = int(length, 0) + except Exception: + continue + if n == 0: + continue + print(f" slot {r['slot']} {r['event_name_hint']}: start={r['derived_body_start']} end={r['derived_body_end']} len={r['derived_body_length']} raw={r['raw_event_entry_word']} template={r.get('repeated_template_status','')}") diff --git a/crusader_decompilation_notes.md b/crusader_decompilation_notes.md index d96f047..86d1483 100644 --- a/crusader_decompilation_notes.md +++ b/crusader_decompilation_notes.md @@ -16,4 +16,6 @@ This file is an index. Detailed notes have been split into the `docs/` folder by | [docs/raw-000a-000d.md](docs/raw-000a-000d.md) | 000d proximity/visibility buckets, 000a tracked handles, cache manager, init/shutdown, seg082 allocator, seg137/138 palette helpers, seg004/005 startup, 0x4588 object-role evidence, 000d VM owner/resource loader follow-up | | [docs/far-call-targets.md](docs/far-call-targets.md) | Top-104 most-called far-call targets (Tiers 1-5, ranks 1-104), supporting functions discovered, analysis gaps and seg043 reconciliation | | [docs/scummvm-crusader-reference.md](docs/scummvm-crusader-reference.md) | ScummVM Ultima8/Pentagram Crusader integration survey: USECODE/event tables, FLEX/resource formats, world/map loaders, HUD/media, and RE follow-up priorities | +| [docs/pentagram-crusader-reference.md](docs/pentagram-crusader-reference.md) | Pentagram-source Crusader/U8 reference: direct Crusader USECODE parser and VM evidence, U8 usecode docs, runtime-confidence limits, and cross-checks against the ScummVM note | | [docs/usecode-roundtrip-ir.md](docs/usecode-roundtrip-ir.md) | ScummVM-to-binary USECODE cross-walk, owner-loaded class-layout and header/event-count reconciliation, conservative IR v0 plan, and the generated class-event/body-window outputs that now ground reversible `_BOOT`, `SURCAM*`, and environmental family decompile artifacts plus repeated-family regression checks | +| [docs/usecode-pentagram-ghidra-path.md](docs/usecode-pentagram-ghidra-path.md) | Pentagram-derived Crusader USECODE parser plan, proof-of-concept workflow, canonical IR v1 goals, and the Ghidra-side annotation import path | diff --git a/crusader_segment_coverage_ledger.csv b/crusader_segment_coverage_ledger.csv index 4e364a6..9c8d5d2 100644 --- a/crusader_segment_coverage_ledger.csv +++ b/crusader_segment_coverage_ledger.csv @@ -4,7 +4,7 @@ "3","code","0x40400","0x55A","None","","","","crusader_ne_segments.csv" "4","code","0x40A00","0x10B1","Foothold","Reset/cache entry path","runtime_cache_reset_sequence","ASYLUM.24 and downstream reset callers still need tighter classification","crusader_decompilation_notes.md; plan-mid.md" "5","code","0x41E00","0x8D7","Partial","Startup/display transition prepare/driver lane","startup_display_transition_prepare; startup_display_transition_driver","The two main seg005 bodies are now named and tied to caller-side validation through vtable +0x0c, the seg108 0x4f38 sprite/object helper lane, the shared active-dispatch hold byte at 0x6828, the seg049 watch/controller lane at 0x2bd8, and the seg126 follow-up path; the exact higher-level state label is still unresolved","crusader_decompilation_notes.md; plan-mid.md" -"6","code","0x42C00","0x75E","None","","","","crusader_ne_segments.csv" +"6","code","0x42C00","0x75E","Foothold","Gameplay-side masked materializer and local state/value selector lane","entity_vm_context_try_create_mask_0008_slot30_with_offset; entity_vm_context_try_create_mask_0010_slot08_with_offset_if_ready","Outer callers for the renamed seg006 helpers are still unresolved, and the higher-level gameplay subsystem owning the local state-selector and adjacent class-linked value family still needs caller-side recovery","plan-mid.md; docs/raw-0008-000c.md" "7","code","0x43600","0x484","None","","","","crusader_ne_segments.csv" "8","code","0x43C00","0x1386","None","","","","crusader_ne_segments.csv" "9","code","0x45400","0x495","None","","","","crusader_ne_segments.csv" @@ -47,7 +47,7 @@ "46","code","0x7A200","0x7DC","None","","","","crusader_ne_segments.csv" "47","code","0x7AC00","0x9B4","None","","","","crusader_ne_segments.csv" "48","code","0x7B800","0x63","None","","","","crusader_ne_segments.csv" -"49","code","0x7BA00","0x1E3F","Foothold","Watch/camera controller object lane","watch_entity_controller_create_global; watch_entity_controller_create; watch_entity_controller_dispatch_if_present; entity_set_watch_ptr","Exact controller-vs-watched-entity ownership is still open, but startup_display_transition_driver now gives caller-side confirmation that the shared active-dispatch hold byte is raised before the 0x2bd8 vtable +0x2c dispatch and cleared again immediately after the same watch/controller phase","crusader_decompilation_notes.md; plan-mid.md" +"49","code","0x7BA00","0x1E3F","Partial","Watch/camera controller object lane","watch_entity_controller_create_global; watch_entity_controller_create; watch_entity_controller_dispatch_if_present; entity_set_watch_ptr","The 0x2bd8 lane is now a real shared watch/controller object with verified vtable +0x2c/+0x30 dispatch, and the startup/display handoff bodies consistently raise or clear the borrowed active-dispatch hold byte around that controller phase; the exact controller-vs-watched-entity ownership label is still open","crusader_decompilation_notes.md; plan-mid.md" "50","code","0x7DE00","0x9C8","None","","","","crusader_ne_segments.csv" "51","code","0x7EA00","0x1D02","None","","","","crusader_ne_segments.csv" "52","code","0x80A00","0x1D65","None","","","","crusader_ne_segments.csv" @@ -68,7 +68,7 @@ "67","code","0x8FE00","0x839","None","","","","crusader_ne_segments.csv" "68","code","0x90800","0xB4A","None","","","","crusader_ne_segments.csv" "69","code","0x91800","0x2A0","None","","","","crusader_ne_segments.csv" -"70","code","0x91C00","0xF24","Foothold","File-handle allocation/open wrappers","file_handle_alloc_init_and_open; file_handle_open_with_mode","Exact DOS open/create flags and mode semantics still need caller-side argument decoding","crusader_decompilation_notes.md" +"70","code","0x91C00","0xF24","Partial","DOS file-handle lifecycle and owner-resource twin file-family loaders","file_handle_alloc_init_and_open; file_handle_open_with_mode","Exact DOS open/create flags and the per-family record schema behind the twin `0009:67b6` / `0009:6916` loader passes still need caller-side decoding","crusader_decompilation_notes.md; docs/raw-000a-000d.md; docs/raw-0008-000c.md" "71","code","0x92E00","0x6C2","None","","","","crusader_ne_segments.csv" "72","code","0x93600","0xCA1","None","","","","crusader_ne_segments.csv" "73","code","0x94600","0x9AA","None","","","","crusader_ne_segments.csv" @@ -106,7 +106,7 @@ "105","code","0xAEC00","0x9F6","None","","","","crusader_ne_segments.csv" "106","code","0xAF800","0x1795","None","","","","crusader_ne_segments.csv" "107","code","0xB1400","0x40C","None","","","","crusader_ne_segments.csv" -"108","code","0xB1A00","0x113F","Foothold","Active sprite/object state lane","sprite_object_clear_flag40_if_present; sprite_object_set_flag40_if_present","startup_display_transition_prepare now confirms repeated seg108 helper use around the shared active-dispatch creation, and the same window shows a bounded local counter/stack at object +0x196/+0x186 rather than reuse of the caller object validated through vtable +0x0c; the local bit 0x40 contract at 0x4f38+0x32 is now separated from the shared active-dispatch owner byte at 0x6828+0x40, but the higher-level meaning of the sprite/object lane and its relation to 0x4588 is still unresolved","crusader_decompilation_notes.md; plan-mid.md" +"108","code","0xB1A00","0x113F","Partial","Active sprite/object state lane","sprite_object_clear_flag40_if_present; sprite_object_set_flag40_if_present; sprite_object_push_state_word; sprite_object_pop_state_word","The 0x4f38 lane is now a verified bounded sprite/object state-word stack at +0x186/+0x196 with a separate local bit-0x40 contract at +0x32. It is reused across startup/display and later UI flows, and it is now clearly separated from both the validated seg005 caller object and the shared active-dispatch hold byte at 0x6828+0x40; the higher-level sprite/object meaning and any link to 0x4588 remain unresolved","crusader_decompilation_notes.md; plan-mid.md" "109","code","0xB2E00","0x1424","None","","","High-value gap around 000b:2e00 still unresolved","crusader_ne_segments.csv; crusader_decomp_progress.md" "110","code","0xB4400","0x4C4","None","","","","crusader_ne_segments.csv" "111","code","0xB4A00","0x489","None","","","","crusader_ne_segments.csv" @@ -131,9 +131,9 @@ "130","code","0xCEA00","0x47D","None","","","","crusader_ne_segments.csv" "131","code","0xCF000","0x44D","None","","","","crusader_ne_segments.csv" "132","code","0xCF600","0x3EB8","None","","","","crusader_ne_segments.csv" -"133","code","0xD3800","0x215A","None","","","","crusader_ne_segments.csv" -"134","code","0xD6000","0xEF0","Foothold","VM runtime bootstrap and post-init seeding","entity_vm_runtime_init_from_path_if_configured; entity_vm_referent_registry_init; entity_vm_runtime_release_slots; entity_vm_runtime_init_slots","Configured path/global at 0x65a and the exact external file format behind the 0x6611 runtime owner table still need tighter classification","plan-mid.md; docs/raw-0008-000c.md" -"135","code","0xD7000","0x3B7","Foothold","VM runtime owner-resource helper","entity_vm_runtime_owner_resource_create; entity_vm_runtime_owner_resource_destroy","Embedded file-backed helper class and 0x0d-stride slot-table population semantics still need callee-side recovery","plan-mid.md; docs/raw-0008-000c.md" +"133","code","0xD3800","0x215A","Partial","VM masked-context creation, context save/load, and slot-value reload lane","entity_vm_context_try_create_masked_for_entity; entity_vm_context_create_from_slot_index; entity_vm_context_save; entity_vm_context_load; entity_vm_slot_load_value_plus_offset","The outer selector into entity_vm_opcode_sequence_run and the direct caller roles for the `0x0400/0x000a` and `0x0800/0x000b` offset-specialized wrappers remain unresolved, but the generic masked-create hub and persisted slot-plus-offset lane are now stable","plan-mid.md; docs/raw-0008-000c.md; docs/raw-000a-000d.md" +"134","code","0xD6000","0xEF0","Partial","VM runtime bootstrap, context seeding, and opcode sequencer support","entity_vm_runtime_init_from_path_if_configured; entity_vm_referent_registry_init; entity_vm_runtime_release_slots; entity_vm_runtime_init_slots; entity_vm_opcode_sequence_run","The upstream selector path into entity_vm_opcode_sequence_run and the exact configured owner-file naming at 0x65a still need caller-side recovery, but the runtime bootstrap, persisted slot-plus-offset lane, and sequencer entry/exit contract are now stable enough for partial coverage","plan-mid.md; docs/raw-0008-000c.md; docs/raw-000a-000d.md" +"135","code","0xD7000","0x3B7","Partial","VM runtime owner-resource helper and paired external file-family loader","entity_vm_runtime_owner_resource_create; entity_vm_runtime_owner_resource_destroy","The helper now has two parallel file-family loops at 0009:67b6 and 0009:6916 feeding separate buffers, but the exact per-family record schema and higher-level resource names are still unresolved","plan-mid.md; docs/raw-0008-000c.md" "136","code","0xD7600","0x5BD","Partial","Shared active dispatch-entry owner and hold-state controller","active_dispatch_entry_mark_enabled; active_dispatch_entry_mark_disabled; active_dispatch_entry_create_default","The shared active entry is now tied to the seg126 DS:0x6341 transition-animation path and to the shared 0x31a2 break/hold depth; current evidence also separates its borrowed +0x40 presentation hold token from the seg108-local 0x4f38 bit-0x40 lane, but the exact higher-level transition/callback subsystem name is still unresolved","crusader_decompilation_notes.md; plan-mid.md" "137","code","0xD7E00","0xFBB","Partial","Palette and dispatch-entry emission helper family","entity_dispatch_entry_init_runtime_state; entity_dispatch_entry_release_runtime_state; vga_palette_set_all_black; vga_palette_set_all_white; vga_palette_set_all_rgb; dispatch_entry_create_black_palette_state_active; dispatch_entry_create_grayscale_palette_state_active; dispatch_entry_create_solid_palette_state_active","Higher-level event/script meaning is still unresolved, especially the paired 0x68bf object and the exact role of the 0004:5ad4-5b6e caller sequence","crusader_decompilation_notes.md; plan-mid.md" "138","code","0xD9200","0x32E4","Partial","Entity cleanup/finalize with callback, watch-controller release, and dispatch-entry palette emission","entity_cleanup_resources_and_dispatch; sprite_redraw_global_if_active; FUN_000d_938c","Concrete callback-object subsystem naming is still unresolved, but this lane now has verified caller-side control of watch/controller state at 0x2bd8, uses the shared active-dispatch byte +0x40 as a borrowed presentation hold token rather than a local owner install, and emits two distinct 0x4588 payload pairs (entity +0x12d/+0x12f and +0x74f/+0x751) in addition to the palette-emission helpers","crusader_decompilation_notes.md; plan-mid.md" diff --git a/docs/ne-segment1.md b/docs/ne-segment1.md index 41c80e8..d4fb7f3 100644 --- a/docs/ne-segment1.md +++ b/docs/ne-segment1.md @@ -366,20 +366,113 @@ The 000c event handler at `000c:9703` is entered via the large cheat-event dispa Key negative result: no function in the compiled C code directly pushes the value `0x410` into the game's event broadcast path. All three occurrences of the immediate `0x410` in the disassembly are: (a) the `CMP BX,0x410` comparison inside the 000c switch, (b) a multi-event subscription list at `000b:b5cb` (registering to receive the event), and (c) an abort-function error code at `000d:5290` unrelated to the cheat. -Conclusion: event 0x410 is generated exclusively by the **interpreted USECODE lane** (centered on `EUSECODE.FLX`), not by any static keyboard-level scan-code path in the compiled binary. The F10 keyboard branch in `seg001_input_keyboard_handler` is a separate `0x44` path gated by `0x6045`, not by `0x410`. Separate follow-up work on the imported `ASYLUM.DLL` shows that DLL exports `ASS_*` audio routines, so it should not be conflated with the immortality toggle path. The in-game trigger is still best modeled as a USECODE item or controller script, consistent with the surrounding string evidence (`000e:6337 "CruHealer"`, `000e:6341 "BatteryCharger"`, `000e:6445 "Controller"`, `000e:64ab "AutoFirer"` — these are USECODE process class names bracketing the Immortality string). +The strongest new compiled-side recovery in this pass is the seg109 listener object behind that subscription site. `cheat_event_listener_create` at `000b:b3b1` allocates one listener object and registers the shared cheat/control event bundle (`0x13d`, `0x1b`, `0x443`, `0x142`, `0x141`, `0x143`, `0x23f`, `0x43e`, `0x41f`, `0x417`, `0x431`, `0x411`, `0x410`, `0x441`, `0x421`, `0x22d`) through the seg109 registration helper at `000b:3d2a`. Its paired `cheat_event_listener_handle_event` body at `000b:b62c` is subscriber-side only: for event `0x410` it rewrites the event object's field `+0x6` to local state `0x0e` and falls into the shared `FUN_000b_b7f3` state-processing tail. That listener does not produce event `0x410`; it only reacts after the event has already been emitted elsewhere. + +The generic compiled dispatch path is one step tighter now too. The larger `000c:8a62` wrapper first peels off local gated cases, then falls into the generic cheat/control event dispatcher at `000c:8c56`, which reads `event_object->code` from field `+0x6` and switches over values like `0x141`, `0x142`, `0x143`, `0x23f`, `0x410`, `0x431`, `0x441`, and `0x443`. That makes the shared event-object contract explicit: `000c:8c56` consumes the original emitted event id from `+0x6`, while `cheat_event_listener_handle_event` reuses the same `+0x6` field as a local state/subcommand code before entering `FUN_000b_b7f3`. + +One extraction-side false lead is now closed too: the `TELEPAD` row in `USECODE/EUSECODE_extracted/class_event_index.tsv` with `raw_code_offset = 0x00000410` is a class-body offset for slot `0x20`, not direct evidence that `TELEPAD` emits gameplay event `0x410`. + +The requested USECODE family sweep also tightened the player-trigger side without closing it. Inside `class_event_index.tsv`, `NPCTRIG` is the only requested family that is both explicitly event-bearing at the descriptor level and also has non-empty callable bodies in the current event-slot extraction (`equip` / slot `0x0a` at raw offset `0x0175`, plus one anonymous slot `0x20` body at raw offset `0x0159`). `SPECIAL`, `TRIGPAD`, and `REB_PAD` all have non-empty callable bodies too, but they remain referent/state neighbors rather than direct event carriers: `SPECIAL` shows bodies for `equip`, `enterFastArea`, `leaveFastArea`, and anonymous slots `0x20/0x21`; `TRIGPAD` shows `gotHit`; `REB_PAD` shows `gotHit` and anonymous slots `0x20/0x21`. None of those extracted bodies currently expose a verified `0x410` immediate or decoded event payload. + +Conclusion: event 0x410 is generated exclusively by the **interpreted USECODE lane** (centered on `EUSECODE.FLX`), not by any static keyboard-level scan-code path in the compiled binary. The F10 keyboard branch in `seg001_input_keyboard_handler` is a separate `0x44` path gated by `0x6045`, not by `0x410`. Separate follow-up work on the imported `ASYLUM.DLL` shows that DLL exports `ASS_*` audio routines, so it should not be conflated with the immortality toggle path. The in-game trigger is still best modeled as a USECODE item or controller script, consistent with the surrounding string evidence (`000e:6337 "CruHealer"`, `000e:6341 "BatteryCharger"`, `000e:6445 "Controller"`, `000e:64ab "AutoFirer"` — these are USECODE process class names bracketing the Immortality string). The new extractor-side report `USECODE/EUSECODE_extracted/immortality_target_body_scan.md` now scans the strongest current bodies in `EVENT`, `NPCTRIG`, `COR_BOOT`, `REE_BOOT`, `SFXTRIG`, `SPECIAL`, and `TRIGPAD` and finds no inline little-endian `0x0410`, no dword `0x00000410`, and no byte-swapped `0x1004` in any of them. That closes the immediate-emitter hypothesis for those currently exposed bodies and narrows the remaining frontier to data-driven decoding of the monolithic `EVENT` slot `0x0a` body and the compact `NPCTRIG` slot `0x0a` / `0x20` bodies, not to `TRIGPAD`, `SPECIAL`, `REB_PAD`, or `TELEPAD`. + +The next extractor pass now pushes that one layer deeper. `USECODE/EUSECODE_extracted/immortality_body_structure.md` shows that `EVENT` slot `0x0a` is structurally a wide generic hub body, not a compact trigger leaf: it carries `90` internal `0x53 0x5c EVENT` subheaders, `383` local `0x5b` labels, and one wide tail-field set covering `event`, `item`, `source`, `dest`, `door`, `counter`, `counter2`, `link`, `time`, `post1`, `post2`, `floor`, and `flicMan`. By contrast, `NPCTRIG` stays compact and trigger-shaped. Slot `0x0a` has only `5` class-labelled subheaders and a narrow tail-field set (`referent`, `event`, `item`, `item2`), while slot `0x20` has only `1` such subheader and swaps the tail `event` field for `typeNpc` while keeping the same compact `item` / `item2` neighborhood. That is the strongest current player-trigger result: `EVENT` now reads as the generic event hub body, while the likeliest player-facing path is the `NPCTRIG` pair with slot `0x0a` as the compact event-bearing trigger body and slot `0x20` as its nearby typed/setup companion. + +The next focused decode pass sharpens that split enough to treat the two `NPCTRIG` bodies differently instead of as one unresolved pair. New report `USECODE/EUSECODE_extracted/immortality_npctrig_clauses.md` fixes the open-header parse and shows that slot `0x0a` starts with `0x5A 0x06 0x5C 0x013E NPCTRIG ... 0x0B 0x11`, then falls into a five-step clause ladder with subheaders at `0x0064/0x0093/0x00c2/0x00f1/0x0120`. Those subheaders sit on a uniform `0x2f` stride, their targets walk backward by the same amount, and each full-width clause carries one `branch_3f_0a`, one `push_24_51`, and one `writeback_57_02`. Slot `0x20` is structurally different: its prolog ends with event-code byte `0x01`, it has only one class-labelled subheader, no `writeback_57_02`, no `push_24_51`, and ten `field_4b_fe_0f` hits clustered around repeated `0x0a 00/05 4b fe 0f ...` windows before the tail field `69:000a -> typeNpc`. That is the strongest current descriptor-side reduction of the search space: slot `0x0a` now reads like the live event-bearing clause ladder, while slot `0x20` reads more like a typed gate or setup/attachment companion body than like a second emitter. + +The runtime-side bridge is tighter too. The binary already had one exact offset-specialized masked wrapper for slot `0x0a`, `entity_vm_context_try_create_mask_0400_slot0a_with_offset` at `0005:2c35`, and the `000d:21ed -> 000d:22bc` lane is still verified as a slot-backed inline-payload consumer that copies a variable-length byte stream first and then consumes compact metadata bytes plus streamed words. The new body-structure report is consistent with that runtime contract: the surviving `EVENT` / `NPCTRIG` bodies are clause streams with repeated internal subheaders and local labels, not flat literal blobs. That still does **not** prove that `NPCTRIG 0x0a` emits `0x410` directly, but it narrows the best remaining emitter frontier from `EVENT or NPCTRIG` down to `NPCTRIG slot 0x0a` with `NPCTRIG slot 0x20` as the strongest adjacent support body. + +The clause report makes that runtime comparison more concrete too. `0005:2c35` is no longer just an abstract "with offset" wrapper: `entity_vm_slot_load_value_plus_offset` at `000d:5572` now proves the extra word is applied additively to the loaded slot value before `000d:21ed` consumes the result. The internal consumer at `000d:21ed -> 000d:22bc` is tighter as well: after copying the inline blob into the context it reads two signed metadata bytes, uses byte A as the lead-word row count, uses byte B as the shared target-list width, performs `A x B` `entity_link` calls, and pushes back only non-`0x0400` words. That makes `NPCTRIG 0x0a` the only surviving compact body with a natural selector family for this lane: it has `5` evenly spaced clause starts at stride `0x2f`, while slot `0x20` has only one clause and no matching writeback/push motif. So the best current working model is no longer "EVENT or NPCTRIG" or even "NPCTRIG 0x0a plus 0x20 as co-equal bodies"; it is specifically "NPCTRIG slot `0x0a` event-bearing clause ladder, with slot `0x20` as a typed companion/setup body feeding or constraining the same family." **Secondary handler (000b:b62c):** -`000b:b62c` subscribes to event 0x410 via the registration at `000b:b5cb`. When event 0x410 is received by this handler, it writes state code `0xe` (decimal 14) into the event object's field `+0x6` and passes it to `000b:b7f3` for processing. This is a parallel state-machine path that runs alongside the 000c toggle; likely it drives an associated USECODE process or animation object into state 14. +`cheat_event_listener_handle_event` (`000b:b62c`) receives event 0x410 through the registration installed by `cheat_event_listener_create` at `000b:b3b1`. When event 0x410 arrives, it writes state code `0xe` (decimal 14) into the event object's field `+0x6` and passes it to `000b:b7f3` for processing. This is a parallel state-machine path that runs alongside the 000c toggle; likely it drives an associated USECODE process or animation object into state 14. | Address | Symbol | Role | |-------------|-------------------------------|------| | `0004:c055` | `player_receive_damage_and_dispatch_effects` | Renamed. Contains the `0x604f` immortality gate at `0004:c205`. | +| `000b:b3b1` | `cheat_event_listener_create` | Allocates one seg109 listener object and subscribes it to the shared cheat/control event bundle that includes `0x410`. | +| `000b:b62c` | `cheat_event_listener_handle_event` | Subscriber-side event mapper: rewrites incoming `0x410` to local state `0x0e` before entering the shared listener state machine. | | `DS:0x604f` | Immortality flag | Set/cleared by event `0x410`. Read only at `0004:c205`. | | `DS:0x60d2` | Immortality-on notification ptr | Near pointer in DS; resolves to far ptr → "Immortality enabled." display. | | `DS:0x60ee` | Immortality-off notification ptr | Near pointer in DS; resolves to far ptr → "Immortality disabled." display. | | `000a:b988` | `video_bios_state_snapshot` | Called after notification display in the 0x410 toggle to refresh screen state. | +### Hidden cheat menu investigation (seg109 UI lane) + +New compiled-side evidence shows a real but likely dormant cheat-menu UI path: + +| Address | Symbol | Role | +|-------------|-------------------------------------|------| +| `000b:9a86` | `cheat_menu_open_from_current_slot` | Builds a `cheat_event_listener` object, preloads selection from current slot state (`0x659c/0x659e`), pushes it through the sprite tree, and runs a modal draw/update loop. | +| `000b:9c0d` | `cheat_menu_open_modal` | Smaller modal wrapper that directly constructs `cheat_event_listener_create(...)`, traverses it, and returns. | +| `000b:b3b1` | `cheat_event_listener_create` | Constructor for the listener object. Registers event bundle including `0x23f`, `0x410`, `0x411`, `0x441`, etc. | +| `000b:b62c` | `cheat_event_listener_handle_event` | Listener event mapper; event `0x23f` toggles armed/visible state byte `+0x47`; event `0x410` remaps to local state `0x0e` then enters `FUN_000b_b7f3`. | + +#### Reachability status in retail binary + +- Static constructor callsites for `cheat_event_listener_create` are exactly two locations: `000b:9a9b` and `000b:9c56`. +- Static inbound xrefs to the wrapper entries `000b:9a86` and `000b:9c0d` are currently empty in the recovered code graph. +- The cheat-code matcher `cheat_code_check` (`0007:0d0a`) toggles `0x844/0x6045` and emits event `0x103`; it does **not** call these menu wrappers directly. +- The 000c handler for `0x103` (`000c:99dd`) executes a status/refresh lane and notification path; no direct call to `cheat_event_listener_create` appears there. + +Current best read: this menu path is compiled and functional at object level, but likely orphaned/hidden in final gameplay flow (possibly debug/dev-only trigger removed, or only reachable through non-recovered data-driven callback wiring). + +#### Retail patch-targeting trail + +The practical patch work ended up being mostly about **finding a call site whose runtime context matches the hidden menu wrappers**, not just finding any place that reaches `000a:5276`. + +Verified retail anchor points: + +| File off | Ghidra | Meaning | Notes | +|----------|--------|---------|-------| +| `0x70d75` | `0007:0d75` | cheat matcher emits event `0x103` | retail bytes = `68 03 01 9A FF FF 00 00 83 C4 02`; NE fixup source = `0007:0d79` -> `seg092:0476` | +| `0x71d68` | fixup entry for `0007:0d79` | seg039 relocation record | exact retail entry: addr_type `0x03`, rel_type `0x00`, chain_off `0x2b79`, target `seg092:0476` | +| `0xc99dd` | `000c:99dd` | later controller-side handler that also executes `push 0x103 / call 000a:5276` | retail fixup source = `000c:99e1` -> `seg092:0476`; this is the first materially safer deferred hook candidate after the direct matcher path failed | +| `0xb9a8d` | `000b:9a8d` | arg setup inside `cheat_menu_open_from_current_slot` | original wrapper uses caller stack words `[BP+8]` and `[BP+6]` plus local armed flag `1` | +| `0xb9c48` | `000b:9c48` | arg setup inside `cheat_menu_open_modal` | original wrapper still feeds caller stack words `[BP+8]` and `[BP+6]` into `cheat_event_listener_create`, but starts with local byte `+0x47 = 0` | + +What failed and why: + +- Direct retarget of `0007:0d79` to `000b:9a86` crashed at startup when the NE relocation table was patched incorrectly as a raw far pointer. That was a file-format problem, not a semantic proof. +- After the patcher was made NE-fixup-aware, direct retarget to `000b:9a86` no longer broke startup, but the game hung when the cheat actually fired. Disassembly shows why: `cheat_menu_open_from_current_slot` consumes caller-supplied words at `[BP+8]` and `[BP+6]`, so the cheat matcher context is the wrong stack shape. +- Retargeting the same early cheat-matcher call to `000b:9c0d` got farther: the mouse pointer appeared, proving the hidden menu/display path was being entered. But it still hung with looping music, which points to **timing/context**, not a bad target address. The modal path appears unsafe when entered directly from the keyboard matcher even after the constructor args are forced to zero. + +Current best patch rationale: + +- `0007:0d75` is still the right place to intercept the cheat sequence itself because it is the verified success emission site. +- `000c:99dd` is the better candidate for the **actual menu-open call** because it is a later controller/event context, not the raw keyboard matcher frame. +- `000b:9c48` is the right argument-fix companion because it is the constructor-argument site for `cheat_menu_open_modal`, and the direct disassembly shows that this is where the wrapper still pulls caller-dependent words. + +Rejected follow-up patch design: + +- Site 1 tried changing `0007:0d75` from `push 0x103` to `push 0x42f`, keeping the original event-dispatch helper call intact. +- Site 2 retargeted the `000c:99e1` relocation so the `0x42f` handler's internal `push 0x103 / call 000a:5276` sequence called `cheat_menu_open_modal` instead. +- Site 3 patched `000b:9c48` from `6A 00 FF 76 08 FF 76 06` to `6A 00 6A 00 6A 00 90 90`. + +Observed result on retail test build: + +- The game no longer failed at startup, and the mouse pointer appeared when the cheat fired, confirming that the hidden modal UI path was being entered. +- But the game then halted with the retail `FILE\FLEX.C, line 83` failure and dropped into the quit/teardown path (`"No pity. No mercy. No remorse."`). +- That is strong evidence that event `0x42f` is the wrong deferred hook context for this experiment even though the retargeted address itself was valid enough to enter the UI path. + +Current patch candidate under test: + +- Site 1: keep the original `0007:0d75` bytes and retarget only its existing far-call fixup from `seg092:0476` to `000b:9a86` (`cheat_menu_open_from_current_slot`). +- Site 2: patch `000b:9a8d` from `6A 01 FF 76 08 FF 76 06` to `6A 01 6A 00 6A 00 90 90`. + +Rationale for the revised wrapper patch: + +- Earlier direct-hook attempts proved that inheriting the two caller-frame words at `000b:9a8f/9a92` is unsafe from the cheat matcher context. +- But later decompilation of `cheat_event_listener_create` showed that the leading `push 0x1` at `000b:9a8d` is a distinct mode byte used by the constructor path, so zeroing all three pushed values was too aggressive. +- The current patch therefore preserves the leading `1` and only forces the two ambiguous 16-bit parameters to zero. + +Risk notes: + +- These remain behavioral exploration hacks, not correctness fixes. +- The evidence now strongly suggests the hard part is runtime context and event timing, not discovering the retail file offsets. +- If the revised direct `0007:0d79 -> 000b:9a86` path with the narrower `000b:9a8d` wrapper patch still fails, the next step should be a queue/defer design or a trampoline/cave patch rather than another blind event substitution. + ### Conservative folklore verification - "Cheats can be enabled with `-laurie`" is **directly verified**. @@ -389,4 +482,6 @@ Conclusion: event 0x410 is generated exclusively by the **interpreted USECODE la - "H enables hack mover" is **real at runtime** (strings confirmed), but not found in the static low-level byte dispatch; the activation comes from the USECODE scripting layer. - "Immortality makes the player invincible" is **partially verified**: damage is divided by 262,144, making HP loss negligible; the hit stagger still plays. There is no bypass of the HP system entirely. - "Immortality is toggled with a keyboard combo" is **not supported in compiled C code**: event 0x410 has no static keyboard dispatch path. It is USECODE-triggered. +- `TELEPAD` slot `0x20` in `class_event_index.tsv` is **not** direct `0x410` event evidence; its `0x00000410` value is the extracted class-body offset for that slot. +- Among the requested USECODE families, `NPCTRIG` is the strongest remaining player-trigger candidate because it is explicitly event-bearing and also has extracted callable bodies, while `TRIGPAD`, `SPECIAL`, and `REB_PAD` currently read as neighboring referent/state/controller bodies rather than direct event carriers. - The hidden five-byte matcher compares bytes from live code at `0007:2833`, and the ordinary keyboard ISR producer does not naturally emit byte values `0x80` and `0xfd` into record byte `+1`. diff --git a/docs/pentagram-crusader-reference.md b/docs/pentagram-crusader-reference.md new file mode 100644 index 0000000..e1bd38b --- /dev/null +++ b/docs/pentagram-crusader-reference.md @@ -0,0 +1,235 @@ +# Pentagram Crusader Reference + +## Purpose + +This note mines Pentagram's Ultima 8 / Crusader code and bundled docs for evidence that is useful to current Crusader reverse-engineering, especially the USECODE / VM lane. + +It complements [docs/scummvm-crusader-reference.md](docs/scummvm-crusader-reference.md). Where Pentagram and ScummVM agree, that usually strengthens provenance, but not always confidence: several of the relevant ScummVM Ultima8 components appear to descend from the same Pentagram-era implementation ideas, so matching behavior between the two should not be treated as fully independent confirmation. + +## Highest-Value Findings + +1. Pentagram contains direct Crusader USECODE parser and VM support, not just generic U8 notes. + Files: `convert/crusader/ConvertUsecodeCrusader.h`, `usecode/UsecodeFlex.cpp`, `usecode/Usecode.cpp`, `usecode/UCMachine.cpp`, `usecode/remorseintrinsics.h`, `kernel/GUIApp.cpp`. + +2. Pentagram's older U8 USECODE documentation is still useful as contrast material because it shows which parts of the object/event model stayed stable and which parts changed in Crusader. + File: `docs/u8usecode.txt`. + +3. Pentagram preserves one practical caution that ScummVM does not show as clearly: its Crusader runtime support is incomplete. + Files: `FAQ`, `world/Item.cpp`, `games/RemorseGame.cpp`. + +4. Pentagram also records a few engine-format deltas that are useful outside USECODE, including Crusader map coordinate scaling, larger map chunks, and a wider Crusader `typeflag.dat` record. + Files: `world/Map.cpp`, `world/CurrentMap.cpp`, `graphics/TypeFlags.cpp`. + +## Direct Pentagram Crusader Evidence + +### USECODE class layout and event lookup + +`usecode/UsecodeFlex.cpp` matches the broad Crusader model already noted from ScummVM: + +- class body object = `classid + 2` +- class names come from object `1` at `name_object + 4 + 13 * classid` +- Crusader class base offset is read from bytes `8..11` of the class object and decremented by `1` +- Crusader event count is computed as `(get_class_base_offset(classid) + 19) / 6` + +`usecode/Usecode.cpp` then resolves Crusader event offsets from class data at `20 + 6 * eventid`, using bytes `+2..+5` of each 6-byte row as the code offset. + +Implication for current RE: + +- Pentagram independently preserves the same `classid + 2` and 6-byte event-row reading used in the ScummVM note. +- The shared `(base + 19) / 6` event-count rule should still be treated carefully in current owner-loaded/raw EUSECODE work, because local binary validation already showed that this shared Pentagram/ScummVM rule is not a clean fit for sampled raw class records. +- In other words, Pentagram is strong provenance for the implementation lineage, but not a reason to override validated binary-side arithmetic. + +### Crusader event-name table + +`convert/crusader/ConvertUsecodeCrusader.h` provides a named Crusader event table for `0x00..0x1f`: + +- clear names: `look`, `use`, `anim`, `setActivity`, `cachein`, `hit`, `gotHit`, `hatch`, `schedule`, `release`, `combine`, `calledFromAnim`, `enterFastArea`, `leaveFastArea`, `justMoved`, `AvatarStoleSomething`, `animGetHit` +- weak placeholders remain for `0x0a`, `0x0b`, `0x0d`, `0x11`, and `0x15..0x1f` + +This is slightly rougher than the current ScummVM note in naming quality, but it is still useful because it shows which ordinals were already considered understood in the older Pentagram work and which ones remained unresolved. + +### Crusader call opcode semantics inside the VM + +`usecode/UCMachine.cpp` contains one especially useful comment-backed distinction: + +- U8 opcode `0x11` calls a function at an explicit class/code offset +- Crusader opcode `0x11` calls function number `yy yy` of class `xx xx`, then translates that number through `get_class_event()` + +That matters for current USECODE analysis because it reinforces the reading that Crusader bytecode is event-ordinal-driven in places where U8 was direct-offset-driven. + +### Remorse intrinsic runtime table exists, but it is partial and sparse + +`kernel/GUIApp.cpp` creates `UCMachine(RemorseIntrinsics, 308)` for Remorse, and `usecode/remorseintrinsics.h` holds that live runtime table. + +What is useful: + +- it confirms a real Remorse-specific runtime intrinsic table with at least `308` entries +- some entries are already mapped to concrete engine hooks such as frame/shape/status/quality accessors, item creation, movement helpers, egg helpers, and timer-tick access + +What is not useful enough yet: + +- the table is far sparser and rougher than ScummVM's later Remorse/Regret intrinsic descriptions +- many entries are still `0` or placeholder comments + +Practical use: + +- treat Pentagram intrinsics as secondary hints or provenance for older naming work +- prefer ScummVM for higher-coverage intrinsic labeling +- prefer raw binary behavior over either table for actual renames + +### Version-sensitive global evidence + +Pentagram's scratch notes add one useful wrinkle to the global-slot story: + +- `docs/scratch/globals/remorse1.01.txt` starts with `global_address 003D` +- `docs/scratch/globals/regret1.01.txt` starts with `global_address 001E` + +Cross-reference with ScummVM: + +- the existing ScummVM note records Remorse global `0x003c` and Regret global `0x001e` + +Safest read: + +- Regret lines up cleanly at `0x001e` +- Remorse appears version-sensitive or notation-sensitive between Pentagram artifacts and later ScummVM code (`0x003d` in the Pentagram scratch output for Remorse 1.01 versus `0x003c` in the ScummVM runtime initialization path) + +Implication for RE: + +- keep Remorse global-slot claims version-tagged when possible +- do not collapse `0x003c` and `0x003d` into one unqualified global statement without checking game/version context + +## U8-Specific Documentation That Still Helps + +### `docs/u8usecode.txt` + +This file is U8-specific, not direct Crusader evidence, but it is still useful in three ways. + +First, it documents the older U8 class/object indexing model: + +- object `0` = global flag names +- object `1` = usecode function names +- object `2 + shape` = shape-linked usecode body +- object `1026 + npc` = NPC-linked usecode body + +Second, it records the classic U8 per-class layout: + +- 12-byte header prefix +- 32 event pointers +- code body after that table + +Third, it preserves an older event-meaning list for ordinals `0x00..0x1f`. + +Why it still matters for Crusader: + +- many semantic event labels survive into the Crusader table: `look`, `use`, `anim`, `cachein`, `hit`, `gotHit`, `hatch`, `schedule`, `release`, `combine`, `enterFastArea`, `leaveFastArea`, `AvatarStoleSomething` +- the document makes the Crusader deltas clearer: Crusader moved away from a fixed 32 x 4-byte event-pointer table and instead uses a 6-byte-per-event structure with event-number lookup in the VM + +Recommended use: + +- use `u8usecode.txt` as a contrast document for inherited VM concepts and event semantics +- do not use it as direct proof of Crusader container layout or opcode contracts + +## Cross-Reference Against The Existing ScummVM Note + +### Where Pentagram and ScummVM clearly agree + +Both references point to the same core Crusader USECODE model: + +- `classid + 2` class lookup +- class names in object `1` +- bytes `8..11` as the class header field used for Crusader code/event addressing +- 6-byte Crusader event rows +- named event ordinals `0x00..0x1f` +- a Crusader-specific VM/global path rather than a straight U8 reuse + +This agreement is useful because it shows the model is not a one-off local interpretation. + +### Where Pentagram adds something materially useful + +Pentagram contributes a few things the ScummVM note did not emphasize as strongly: + +- older U8 documentation that makes Crusader structural deltas easier to isolate +- explicit confirmation in `UCMachine.cpp` that Crusader opcode `0x11` is event-number dispatch, not raw offset dispatch +- scratch global dumps that expose version-sensitive Remorse versus Regret behavior +- explicit incompleteness warnings in the project itself, which help calibrate how much authority to assign to runtime behavior + +### Where Pentagram should not increase confidence much + +For the current header/count dispute in owner-loaded/raw EUSECODE parsing, Pentagram and ScummVM agreeing with each other does not settle the question. + +Reason: + +- the relevant Pentagram and ScummVM Crusader USECODE code paths are very close in structure +- that makes them best treated as one implementation lineage, not two independent external confirmations + +Current rule for RE remains: + +- use Pentagram/ScummVM to anchor object indexing, row size, event labels, and VM intent +- keep the local binary-validated class-header arithmetic as the authority when the shared engine code disagrees with sampled Crusader records + +## Non-USECODE Engine Findings Worth Keeping + +These are lower priority than the USECODE sections, but still useful for future binary-side work. + +### Map loading + +`world/Map.cpp` shows that Crusader on-disk map records are still read as 16-byte records, but Pentagram doubles `x` and `y` after loading when `GAME_IS_CRUSADER`. + +Implication: + +- if a raw loader appears to scale map coordinates or if current external-map tooling sees a factor-of-two mismatch, Pentagram provides a concrete engine-side reason to test that path + +### Current map chunking + +`world/CurrentMap.cpp` sets `mapChunkSize = 1024` for Crusader versus `512` for U8. + +Implication: + +- this matches the broader cross-project pattern that Crusader is not just U8 data with renamed files; some world/grid assumptions are materially different + +### Crusader `typeflag.dat` + +`graphics/TypeFlags.cpp` switches Crusader to 9-byte records instead of U8's 8-byte records, with extended family-bit handling and multiple Crusader-only flag placeholders. + +Implication: + +- Crusader `typeflag.dat` should continue to be treated as its own format family +- any local parser or reverse-engineered structure should not inherit the U8 8-byte layout blindly + +## Confidence Limits + +Pentagram is valuable, but only in bounded ways. + +Direct reasons for caution: + +- `FAQ` says Crusader support was a future goal, not a completed feature +- `games/RemorseGame.cpp` is clearly incomplete compared with the ScummVM Crusader startup path +- `world/Item.cpp` explicitly disables all Crusader usecode events except `use()` + +So for current Crusader RE, the best weighting is: + +- high confidence: parser/disassembler layout clues, event ordinals, VM intent, container/indexing models, file-format deltas +- medium confidence: sparse Remorse intrinsic names and scratch global artifacts +- low confidence: full runtime behavior, startup semantics, and any absence-based conclusion from Pentagram's Crusader execution path + +## Most Useful Pentagram Files + +- `convert/crusader/ConvertUsecodeCrusader.h` +- `usecode/UsecodeFlex.cpp` +- `usecode/Usecode.cpp` +- `usecode/UCMachine.cpp` +- `docs/u8usecode.txt` +- `docs/scratch/globals/remorse1.01.txt` +- `world/Item.cpp` +- `graphics/TypeFlags.cpp` +- `world/Map.cpp` +- `world/CurrentMap.cpp` + +## Practical RE Follow-Ups + +1. Keep using Pentagram and ScummVM event names as slot-label hints only, especially for `0x0a`, `0x0b`, `0x11`, and the still-placeholder high ordinals. +2. When documenting Crusader USECODE VM behavior, cite Pentagram's `opcode 0x11 = class/event dispatch` distinction alongside the existing ScummVM reference. +3. Keep local owner-loaded/raw EUSECODE arithmetic authoritative over the shared Pentagram/ScummVM `(base + 19) / 6` rule until a direct main USECODE sample proves otherwise. +4. Tag Remorse global-slot references with version context when using Pentagram scratch outputs. +5. Reuse Pentagram's map/typeflag deltas when a future binary pass returns to world loaders or shape/type metadata. +6. Treat missing behavior in Pentagram's Crusader runtime as non-evidence unless ScummVM or raw binary analysis supports the same absence. \ No newline at end of file diff --git a/docs/raw-0008-000c.md b/docs/raw-0008-000c.md index c6587ee..8843afc 100644 --- a/docs/raw-0008-000c.md +++ b/docs/raw-0008-000c.md @@ -201,9 +201,9 @@ Second sweep through `000c` adjacent helpers — gated thunk wrappers and input/ | `000c:84c3` | `entity_state_set_byte40_at_global_ptr` | Sets byte `[g_active_dispatch_entry_farptr + 0x40] = 1` then calls thunk unconditionally; current evidence treats this as raising the shared active-entry transition/display hold byte rather than toggling an unrelated global | | `000c:ac55` | `entity_state_fire_if_handle_valid` | Guard: fires thunk dispatch only when `[0x6054] != -1`; no-op otherwise | | `000c:ac6d` | `entity_state_fire_with_args_if_handle_valid` | 3-arg variant: pushes `[BP+0xe]` (byte), `[BP+0xc]`, `[BP+0xa]`, handle `[0x6054]`, then `CALLF 0000:ffff` | -| `000c:afa5` | `entity_state_check_field49_and_call_vfunc3c` | Checks field `[ptr+0x49]`: −1→reset to 0 return 1; 2→call `vtable[0x3c]` return 0; else thunk dispatch | -| `000c:b153` | `entity_state_animation_done_tick` | Checks `[param_2+0x14+0xa]` animation-complete flag; if zero increments `field49` and calls `entity_state_check_field49_and_call_vfunc3c`; if set calls `vtable[0x3c]` | -| `000c:b199` | `entity_state_input_key_handler` | Full input dispatcher: ESC/x/X → `vtable[0x3c]` (cancel); Left/Right arrows `0x14b/0x148` → prev state; n/N/`0x14d/0x150` → next state; e/E → set `field47=1`; `-` with counter → trigger at 4. Manages `field47` and `field49` | +| `000c:afa5` | `transition_file_family_select_and_refresh` | Local startup/display selector: `field49==-1` normalizes to `0`; `field49==2` dispatches `vtable[0x3c]`; `field49==0/1/4` composes one of three sibling filenames from inherited base `0x6aa:0x6ac` plus stem/suffix buffers `0x621c/0x6223`, `0x621c/0x622d`, or `0x621c/0x6237`, loads the result into object `+0x520`, then runs the shared redraw/palette/input refresh path | +| `000c:b153` | `transition_file_family_advance_on_anim_tick` | Polls `[param_2+0x14+0xa]`; when clear increments `field49` and re-enters `transition_file_family_select_and_refresh`, otherwise exits through `vtable[0x3c]` | +| `000c:b199` | `transition_file_family_input_key_handler` | Local selector key handler: ESC/x/X → `vtable[0x3c]`; Left/Right arrows `0x14b/0x148` → previous file-family state; n/N/`0x14d/0x150` → next state; e/E arms `field47`; `-` after arming counts up to forced state `4`; selector moves drain the event queue and clear `0x8a94/0x8a96/0x8a98` | | `000c:b2c3` | `stub_noop_000c_b2c3` | Empty stub; returns immediately | | `000c:b2c8` | `entity_state_dispatch_if_field49_eq4` | Fires thunk only when `[ptr+0x49]==4` | | `000c:b349` | `entity_state_dispatch_if_far_ptr_nonzero_a` | Fires thunk if far-pointer args non-zero | @@ -211,8 +211,8 @@ Second sweep through `000c` adjacent helpers — gated thunk wrappers and input/ | `000c:b3d8` | `entity_state_dispatch_if_far_ptr_nonzero_b` | Same null-guard pattern as `b349`, variant b | **Patterns confirmed:** -- `field49` = state-sequence index; 0=reset, 2=vtable callback, 4=triggered end -- `field47` = keystroke-combo counter +- `field49` = local transition file-family selector state in this startup/display family; `0/1/4` choose sibling filenames under shared base `0x6aa:0x6ac` plus stem `0x621c`, `2` dispatches `vtable[0x3c]`, and `-1` normalizes back to `0` +- `field47` = keystroke arm/counter for the local `e/E` then `-` path into selector state `4` - `field3f` = linked data pointer (event/record reference) - `[0x6054]` = current entity handle; `[0x6828]` = `g_active_dispatch_entry_farptr`, the shared active-dispatch entry owner whose byte `+0x40` is reused across the startup/display lane as a hold/busy token - Bits in `[ptr+0x5b]`: `0x1=init`, `0x2=active/event`, `0x40=pending dispatch`, `0x100=flag100`, `0x180=skip-all mask` @@ -259,15 +259,17 @@ Globals used: `[0x6312]`=start index, `[0x6314]`=count, `[0x630e]`=palette src p - `entity_vm_slot_index_from_entity` (`000d:45c5`) computes one slot index from a gameplay entity by branching on seg021 class/type helpers and then adding one of the current runtime base offsets `0x8c7c/0x8c7e/0x8c80` - `entity_vm_context_try_create_masked_for_entity` (`000d:463a`) uses that slot index to test one owner-side mask entry before it creates a context, which is the strongest current bridge from gameplay entities into this VM lane - `entity_vm_context_create_from_slot_index` (`000d:46ec`) allocates one `0x6714` context object, seeds its `+0xd6/+0xd8` lane through `entity_vm_slot_load_value_plus_offset`, initializes the local mini-VM state, and can prepend caller data into the backward-growing buffer at `+0x102` + - `entity_vm_opcode_sequence_run` (`000d:ebe3`) is now named conservatively in Ghidra: it seeds the stage chain from object `+0xfe`, runs `000d:177c -> 000d:1acb -> 000d:0988 -> 000d:22bc -> optional 000d:1d4a -> 000d:2104`, then finishes with tracked-handle cleanup plus the `0008:ebe7` gate on object `+0xc0` and byte `+0x4b` - `entity_vm_context_sync_global_value_and_dispatch` (`000d:48da`) is the current context-side runner/sync point: it marks the context busy at `+0x123`, calls `entity_vm_set_field_da_to_global`, optionally writes the current value through `+0x11b/+0x11d`, and dispatches through the context vtable on success - `entity_vm_context_save` / `entity_vm_context_load` / `entity_vm_context_destroy` / `entity_vm_context_free_buffer` (`000d:498f`, `000d:4a78`, `000d:4962`, `000d:48b6`) now pin down the lifecycle of this object family rather than leaving the whole `000d:45xx..4exx` island anonymous - `entity_vm_context_try_create_masked_for_entity` is now better constrained at the return-value level too: after the runtime-disable check at `0x6610` and the owner-side slot-mask test succeed, it reports two distinct success shapes. Immediate-flagged contexts (`+0x16 & 0x0008`) clear the caller output word, while object-backed contexts return the created object's low word. That makes the helper a typed bridge from gameplay entities into VM-backed object results, not only a yes/no mask probe. - `entity_vm_runtime_owner_resource_create` (`000d:7000`) is now one step tighter too: the embedded seg069/070 helper is file-backed rather than abstract. Construction starts with `dos_file_handle_init` (`0009:1c00`), then uses helper vtable slot `+0x04` as the size query that drives the child `+0x10/+0x12` allocation and helper vtable slot `+0x0c` as the table-population callback for the `0x0d`-stride owner table. - That file-backed helper is now tighter one step deeper as well. The seg070 loops rooted at raw windows `0009:67b6` and `0009:6916` walk helper-owned record arrays at object `+0x10/+0x18`, format per-entry paths through the seg001 string helpers (`0003:e4d3` / `0003:e590`), then open, read, and close each file through `file_handle_alloc_init_and_open` (`0009:1c3a`), `dos_file_seek` (`0009:2034`), and `dos_file_close` (`0009:1e61`). The paired `+0x18` entries are consumed as 16-bit ids passed into those path-format loops beside the far-pointer path table at `+0x10`; no object-1 or `classid + 2` arithmetic appears there, so the safest current read is slot-local file ids rather than exposed original class/object indices. That is strong evidence that `000d:7000` seeds the owner table from an indexed external file set rather than by copying one monolithic in-memory descriptor blob. -- A final loader-side tightening from the current pass is that `0009:67b6` and `0009:6916` now read as twin entry walkers rather than one isolated path-format callback. Both windows iterate the helper-owned count at `+0x14`, index the far-pointer path table at `+0x10` and paired 16-bit id table at `+0x18`, check the source path through `0003:e669`, build formatted paths with distinct local format strings (`DS:3f2d` vs `DS:3f40`), and then reach the same file open/read/close lane. The remaining open question is not whether they are file-backed, but whether they represent two file families, two record templates, or two load phases inside the same helper class. +- A final loader-side tightening from the current pass is that `0009:67b6` and `0009:6916` now read as paired file-family walkers rather than one isolated path-format callback. Both windows iterate the helper-owned count at `+0x14`, index the far-pointer path table at `+0x10` and paired 16-bit id table at `+0x18`, check the source path through `0003:e669`, build formatted paths with distinct local format strings (`DS:3f2d` vs `DS:3f40`), and then reach the same file open/read/close lane. Each loop also writes into its own independently allocated output far buffer before the shared trailer runs, so the best current reading is two parallel file families or record banks loaded by the same helper rather than two phases over one shared buffer. The remaining open question is the exact per-family record schema and higher-level resource role, not whether the helper is file-backed. - The caller-side bootstrap for that helper is now anchored too: `entity_vm_runtime_init_from_path_if_configured` (`000d:44df`) first checks the configured byte/string global at `0x65a`, builds a path through seg072 helper `0009:3600` using globals `0x6d6:0x6d8` plus `0x65a`, validates that path through `000a:500a`, then calls `entity_vm_runtime_create(0,0,path)`. This is the first verified source-argument path for `entity_vm_runtime_owner_resource_create`, and it strongly suggests the owner/resource table is loaded from an external configured file rather than from a purely in-memory descriptor blob. - Seg072 helper `0009:3600` is now classified more tightly as a rotating slash-aware path composer rather than a generic buffer advance helper. Its prologue cycles through five `0x50`-byte temp buffers, and its inner cases append optional string parts while inserting `\` only when adjacent path components need a separator. That narrows the two globals used by `000d:44df`: `0x65a` behaves as the configured relative runtime-owner filename/path component, while `0x6d6:0x6d8` behaves as the mutable base/resource-root path buffer that gets joined with `0x65a` before `000a:500a` validation. - The two still-xref-dark wrappers `0005:2c35` and `0005:2c68` are also narrower now. Their signed extra word does not participate in owner-mask selection inside `entity_vm_context_try_create_masked_for_entity`; it is forwarded into `entity_vm_context_create_from_slot_index`, stored in context field `+0x34`, and passed on to `entity_vm_slot_load_value_plus_offset`. The best current reading is therefore `offset-specialized masked context creation`, not a separate direct selector lane. +- Ghidra now records that signed-offset contract directly in the wrapper names too: `0005:2c35` = `entity_vm_context_try_create_mask_0400_slot0a_with_offset` and `0005:2c68` = `entity_vm_context_try_create_mask_0800_slot0b_with_offset`. That still stops short of real caller-role recovery, but it removes the last ambiguity about whether the extra stack word is semantically live. - The first opcode-level behavior split inside that runtime is now visible in the `000d:0988` family: - one branch calls `entity_vm_referent_chain_append_unique_from`, which looks like an attach/union operation on the current referent payload chain - the `0x1a/0x1b` branch instead calls `entity_vm_referent_chain_remove_matching_from`, which looks like the inverse operation and makes the opcode family materially closer to a graph-editing script VM than a flat event list @@ -307,11 +309,14 @@ Globals used: `[0x6312]`=start index, `[0x6314]`=count, `[0x630e]`=palette src p Conservative interpretation after this pass: -- The `000d:21ed -> 000d:22bc` lane is strongly supported as a slot-backed payload to entity-link closure path, where two byte-sized metadata fields shape the matrix walk and word entries are link/entity ids. +- The `000d:21ed -> 000d:22bc` lane is strongly supported as a slot-backed payload to entity-link closure path, where two signed byte-sized metadata fields shape an exact `A x B` matrix walk: byte A is the lead-word row count, byte B is the shared target-list width, and the word entries passed to `entity_link` are runtime link/entity ids rather than descriptor selectors. - Descriptor-family alignment is therefore stronger with generic active event ecosystems (`EVENT`/`NPCTRIG`/`*_BOOT`/`SFXTRIG`) than with `SURCAM*` callback holders, because no direct `eventTrigger`-specific discriminator is read in this lane. - Direct descriptor-id attribution is still rejected for now: no code evidence ties the consumed bytes/words here to explicit EUSECODE class indices or to a hard `JELYHACK`/`SURCAM*` switch. +- The new extractor-side structure pass tightens the descriptor-side fit inside that generic active-event ecosystem. `USECODE/EUSECODE_extracted/immortality_body_structure.md` shows `EVENT` slot `0x0a` as a broad hub clause stream with `90` internal `0x53 0x5c EVENT` subheaders and the widest field trailer, while `NPCTRIG` slot `0x0a` stays compact at `5` subheaders and a narrow `referent/event/item/item2` tail. That does not prove a direct class-id bridge into `000d:21ed -> 000d:22bc`, but it does make `NPCTRIG slot 0x0a` the strongest remaining compact descriptor-side candidate for the offset-specialized slot-`0x0a` runtime wrapper `entity_vm_context_try_create_mask_0400_slot0a_with_offset` (`0005:2c35`) instead of the older undifferentiated `EVENT or NPCTRIG` frontier. +- The next focused extractor pass sharpens that fit again. `USECODE/EUSECODE_extracted/immortality_npctrig_clauses.md` now shows `NPCTRIG` slot `0x0a` as a fixed-width five-clause ladder: subheaders at `0x0064/0x0093/0x00c2/0x00f1/0x0120`, uniform `0x2f` stride, backward-walking targets, and one `branch_3f_0a` + `push_24_51` + `writeback_57_02` triple in each full clause. The new runtime-fit section also matters: `000d:5572` proves the extra word from `0005:2c35` is additive (`entity_vm_slot_load_value(...) + offset`), so slot `0x0a` now exposes the only surviving compact five-row selector family that plausibly matches byte A in `000d:21ed`, while slot `0x20` remains a one-clause typeNpc-heavy body with no comparable writeback/push motif or stride family. +- The downstream-use follow-up weakens that direct selector fit. Instruction windows at `000d:47ef..47f3` show `entity_vm_context_create_from_slot_index` storing slot index `SI` at `+0x32` and the dynamic additive word `DI` at `+0x34`, but the live sequencer lane `000d:21ed -> 000d:22bc` never rereads either field: after the create call it only touches the copied blob at `+0x102`, the seeded byte lane at `+0xd6/+0xd8`, and the caller stream at `+0xcc/+0xce`. The persistent uses of `+0x34` are instead the object save/load path: `000d:49e9..4a27` serializes `+0x10c` then `+0x34`, and `000d:4c2d..4c4d` reloads `(+0x32,+0x34)` through `entity_vm_slot_load_value_plus_offset` before storing the returned pair at `+0x10c/+0x10e`. The safest current read is therefore `persisted source offset feeding a later slot-value reload`, not `direct clause selector consumed by the matrix stage`, which weakens the `NPCTRIG slot 0x0a` alignment unless the derived reload value itself can still be tied back to that ladder. -### FUN_000d_ebe3 opcode-to-payload-shape matrix (sequencer-local) +### entity_vm_opcode_sequence_run opcode-to-payload-shape matrix (sequencer-local) | Sequencer stage | Code anchors | Opcode / lane status | Payload shape class | Verified behavior | |---|---|---|---|---| @@ -327,8 +332,9 @@ Conservative interpretation after this pass: What is now hard evidence in code: - `000d:0988` compares one opcode-local word at `[BP-0x32]` against concrete values `0x19`, `0x1a`, and `0x1b` (`000d:099b`, `000d:09a1`, `000d:0a07`, `000d:0a0d`). -- `FUN_000d_ebe3` calls `000d:177c -> 000d:1acb -> 000d:0988 -> 000d:22bc -> optional 000d:1d4a -> 000d:2104` (`000d:ebf5`, `000d:ec09`, `000d:ec1d`, `000d:ec31`, `000d:ec48`, `000d:ec54`). +- `entity_vm_opcode_sequence_run` (`000d:ebe3`) calls `000d:177c -> 000d:1acb -> 000d:0988 -> 000d:22bc -> optional 000d:1d4a -> 000d:2104` (`000d:ebf5`, `000d:ec09`, `000d:ec1d`, `000d:ec31`, `000d:ec48`, `000d:ec54`). - `000d:177c`, `000d:1acb`, and `000d:2104` do not contain their own opcode compares in recovered body ranges; they behave as wrapper stages around the opcode-local family tested in `000d:0988`. +- The entry/exit contract is one step tighter too. `000d:ebe9` seeds the first stage from object field `+0xfe`, while the success tail at `000d:ec62..ec79` runs `tracked_entity_handle_mark_remove_all_if_enabled` and then gates `FUN_0008_ebe7` on object field `+0xc0` plus byte `+0x4b`. So the sequencer is not just an isolated opcode cluster; it also participates in outer runtime cleanup and follow-up dispatch state. Conservative case identity mapping from this pass: @@ -339,9 +345,9 @@ Conservative case identity mapping from this pass: Still unresolved after this pass: -- The animation constructor near calls at `000e:283e`, `000e:2931`, and `000e:29e4` land on a separate mis-split `000e:ebe3` region, not on `FUN_000d_ebe3`. They therefore no longer count as direct xref evidence for the `000d` dispatcher. -- The true upstream selector/write path for `[BP-0x32]` in `FUN_000d_ebe3` is still unresolved, and no additional opcode id can yet be assigned uniquely beyond the internal `0x19/0x1a/0x1b` family already proven inside `000d:0988`. -- Repeated MCP-visible instruction and data-use searches still do not produce a real direct caller edge for `FUN_000d_ebe3`, `0005:2c35`, or `0005:2c68`. For now that makes the next defensible route `caller-frame / shared-consumer recovery`, not more recycled raw call searches or the retired `000a:44fd` and `000e:ebe3` hypotheses. +- The animation constructor near calls at `000e:283e`, `000e:2931`, and `000e:29e4` land on a separate mis-split `000e:ebe3` region, not on `entity_vm_opcode_sequence_run`. They therefore no longer count as direct xref evidence for the `000d` dispatcher. +- The true upstream selector/write path for `[BP-0x32]` in `entity_vm_opcode_sequence_run` is still unresolved, and no additional opcode id can yet be assigned uniquely beyond the internal `0x19/0x1a/0x1b` family already proven inside `000d:0988`. +- Repeated MCP-visible instruction and data-use searches still do not produce a real direct caller edge for `entity_vm_opcode_sequence_run`, `0005:2c35`, or `0005:2c68`. For now that makes the next defensible route `caller-frame / shared-consumer recovery`, not more recycled raw call searches or the retired `000a:44fd` and `000e:ebe3` hypotheses. ### First readable VM IR sketch (verified-only) @@ -466,9 +472,52 @@ The next gameplay-side wrapper pass now extends well past the three earlier seed - Direct callsites are now pinned for the simpler wrappers: `0005:0292 -> 0005:2c06`, `0005:0fee -> 0005:2cd2`, `0005:5946/59e9 -> 0005:2c9b`, and `0007:814e/822e -> 0005:2d01`. - The two direct `0005:2d30` callers are now role-shaped as well: `0005:5370` reaches slot `0x0f` only after `entity_class_has_flag2000` succeeds and class-word bit `0x8000` is clear, while `0005:6f47` reaches the same gate from the complementary branch where class-word bit `0x2000` is still clear before the caller continues into its larger state/update flow. - `0005:2c68` is no longer usable as indirect selector evidence. The `0007:e521` and `0007:e73c` instruction windows do push `0x2c68` immediately before `CALLF 000a:44fd`, but decompile now shows that value is the caller-local data pointer `DAT_0000_2c68` passed into a fatal-report helper, not an indirect call to wrapper `0005:2c68`. -- `0005:2c35` and `0005:2c68` therefore both remain unresolved in direct caller/xref evidence, and the real selector work stays centered on the still-xref-dark upstream edge into `FUN_000d_ebe3` rather than the disproven `000a:44fd` hypothesis. +- `0005:2c35` and `0005:2c68` therefore both remain unresolved in direct caller/xref evidence, and the real selector work stays centered on the still-xref-dark upstream edge into `entity_vm_opcode_sequence_run` rather than the disproven `000a:44fd` hypothesis. - Net effect: the active-event ecosystem fit is reinforced by direct caller behavior and payload shapes, but final slot-to-descriptor ownership still requires real caller-role recovery for the remaining xref-dark entry points. +#### Current batch: masked-context hub and sequencer-internal consumer recovery + +- The generic masked VM-context hub is now instruction-verified at `000d:463a`. That body maps the incoming entity through `entity_vm_slot_index_from_entity`, rejects the path when runtime global `0x6610` is active or the owner/resource table at `0x6611 + 0x1315/+0x1317` is absent, tests the per-slot `0x0d`-stride owner mask pair against the caller-supplied high/low mask words, and only then falls into `entity_vm_context_create_from_slot_index` (`000d:46ec`). +- `search_instructions` on `000d:463a` now confirms this hub is not isolated to the `0005` wrapper island. In addition to the known seg021 wrappers, live direct callers now include `0004:f047` (mask `0x8000:0x0007`), `0004:f076` (mask `0x2000:0x0015`), and larger callers at `0006:0bbc` / `0006:10e7`. That is new caller-side evidence for the wider owner-slot taxonomy even though the offset-specialized wrappers `0005:2c35` and `0005:2c68` themselves still have no direct caller edges. +- The xref-dark offset wrappers are now tighter structurally too. Disassembly of `0005:2c35` and `0005:2c68` confirms they do nothing beyond sign-extending one extra word, passing mask pairs `0x0400:0x000a` and `0x0800:0x000b`, forwarding the entity pointer to `000d:463a`, and returning the out-word on success. That keeps their best current reading at `offset-specialized masked context creation`, not a separate selector lane. +- The offset word is now behaviorally tighter too. `entity_vm_slot_load_value_plus_offset` (`000d:5572`) is a straight `entity_vm_slot_load_value(...) + offset` wrapper, so the extra word passed by `0005:2c35` is not a second mask or opaque cookie; it is an additive selector/value adjustment that can plausibly choose one of the evenly spaced slot-`0x0a` clause starts once a real caller is recovered. +- The next caller-path pass tightens why `0005:2c35` stays dark. MCP xrefs now show only three entries into `entity_vm_context_create_from_slot_index` (`000d:46ac` from the generic masked hub, plus direct internal sequencer islands `000d:208b` and `000d:21ed`), while `0005:2c35` itself still has no recovered code or data xrefs. Stack setup at `000d:208b` hardcodes the `000d:5572` additive slot-load parameter to `0`, which does not match the `NPCTRIG` slot-`0x0a` clause starts (`0x0064/0x0093/0x00c2/0x00f1/0x0120`) or backward targets (`0x00db/0x00ac/0x007d/0x004e/0x001f`). The remaining live selector frontier is therefore the still-overlapped `000d:21ed` caller frame, not a normal visible caller of `0005:2c35`. +- The sequencer lane also gained two concrete internal consumer shapes. `000d:208b` is now the instruction-verified `create one slot-backed context and materialize or forward its result` path: it builds a `0x6714` context from the caller stream state, writes immediate-flagged results straight to the out pointer, and otherwise forwards the created object through `entity_vm_opcode_finish`. `000d:21ed` is the matching `prepend inline payload and build entity-link matrix` path: it creates a context, prepends caller-owned bytes into `+0x102`, consumes the seeded `+0xd6/+0xd8` bytes as shape/count metadata, and builds repeated `entity_link` closures from the following streamed ids before the same finish path. +- A new downstream-use pass narrows the extra-word role further. The stored offset field at context `+0x34` is now confirmed as durable object state rather than an immediate sequencer input: `000d:21ed -> 000d:22bc` does not reread it at all, `000d:498f`/`000d:4a78` serialize and reload it, and `000d:4c2d..4c4d` recomputes a slot-backed value from `(+0x32,+0x34)` into `+0x10c/+0x10e`. That shifts the remaining immortality question one step downstream: if `NPCTRIG slot 0x0a` still fits this runtime lane, it is more likely through the value reloaded from the slot-plus-offset pair than through `+0x34` as a direct clause selector. +- The hidden pre-call span in the `000d:21ed` lane is now recovered from direct program-memory bytes as well. Window `000d:2131..21ed` reads the seeded `+0xd6/+0xd8` stream as three successive words followed by two signed bytes: word0 becomes the slot index pushed at `000d:21d4`, word1 and word2 are added at `000d:21d0` before being pushed as the dynamic additive arg at `000d:21d3`, byte3 is forwarded as the setup-data length byte, and byte4 becomes the inline-blob length used for the later prepend copy. That makes the source classification explicit: context `+0x34` is not loaded from the owner table or from the caller object at `+0xd4`; it is a computed sum of two consecutive words inside the seeded stream itself. +- The same recovered window also tightens the upstream source layout feeding `entity_vm_context_setup`. The current caller frame base is `caller + [caller+0xd4]`, where `+0xd4` matches the saved frame offset written by `entity_vm_stack_push_frame` (`000c:f7c7`) rather than a descriptor-local field. From that frame base, `000d:21db..21e0` pushes `[frame+0x0a/+0x0c]` as a far pointer passed into `entity_vm_context_setup`, and `000d:21bd..21c8` separately derives `[frame+0x0e]` as the inline payload tail copied after context creation. So this consumer is now better modeled as one generic VM frame-record shape with two payload sources: a frame-stored far pointer plus byte-sized setup length for the initial `+0xcc` stack seed, followed by an adjacent inline tail blob with its own byte-sized length. +- The next frame-producer pass recovers the closest non-overlapped writer feeding that lane too. Raw bytes at `000c:fbf7..fc47` (`caseD_0`) show a generic frame-record producer reading one signed placement byte from the same seeded `+0xd6/+0xd8` stream, popping a far-pointer dword from the caller stream at `[caller+0xcc/+0xce]`, computing `frame_base = caller + [caller+0xd4]`, and storing the dword at `[frame_base + placement + 0x4/+0x6]`. That means the immediate source far pointer consumed later by `000d:21ed` is already stream-backed rather than owner-row-backed; if the `000d:21ed` record uses this exact producer family for its `[frame+0x0a/+0x0c]` lane, the relevant placement byte is `0x0006`, which is the only value that lands the written dword at `+0x0a/+0x0c` and leaves the inline tail starting at `+0x0e`. +- That stronger runtime shape weakens any claim that `000d:21ed` is already reading a descriptor-family-specific record. `NPCTRIG` slot `0x0a` still remains the best surviving descriptor-side candidate because its five-clause ladder is the only compact body that fits the row-count frontier, but the code evidence now shows the immediate input to `000d:21ed` is a generic frame-local record containing a source far pointer, a seeded slot/additive pair, and an inline tail. The remaining descriptor-side question is therefore one level earlier again: where the caller frame receives its `[frame+0x0a/+0x0c]` far pointer and whether the summed `add_a + add_b` still corresponds to a clause-base/delta pair inside `NPCTRIG` slot `0x0a` rather than to a more generic descriptor-relative offset. +- That changes the `NPCTRIG` cross-check in one important way. `NPCTRIG` slot `0x0a` remains the strongest surviving descriptor-side hypothesis only as an upstream source for a predecoded caller-stream record, because the recovered writer consumes a caller-stream dword plus a seeded placement byte instead of indexing owner rows or descriptor tables directly. `NPCTRIG` slot `0x20` still reads as the typed/setup companion body, but neither slot is now a good fit for the immediate write into `[frame+0x0a/+0x0c]` itself. +- One more layer of the producer path is now instruction-verified too. The setup call at `000d:4788 -> 000c:f844 -> 000c:f6e8` does not seed the new context's `+0xcc/+0xce` caller stream directly from the owner table row. Instead `entity_vm_context_setup` first allocates or reuses the object-local stream buffer at `context+0x36+0xcc`, then copies a caller-supplied setup blob from the parent frame using the far pointer/length arguments passed through `000d:46ec`. The slot/additive record returned by `entity_vm_slot_load_value_plus_offset` becomes the separate seeded `+0xd6/+0xd8` stream, while the owner-table row at `(+0x10/+0x12) + 0x0d*slot + 4` is mirrored to `0x39ca[slot]` and preserved separately in the context state. +- The closest sibling template to `caseD_0` also sharpens the placement-byte reading. `000c:ff9f..000d:000d` reads one signed placement byte and one length byte from the same seeded `+0xd6/+0xd8` stream, then copies `len` bytes from `[frame_base + placement + 0x4]` back onto the caller stream. Together with the recovered `000d:21ed` consumer layout (`[frame+0x0a/+0x0c]` far ptr, `[frame+0x0e..]` inline tail), that makes the strongest current fit a fixed two-slot family for this record shape: `caseD_0` uses placement `0x0006` for the far-pointer dword, and the sibling blob-copier uses placement `0x000a` for the inline tail starting at `frame+0x0e`. +- The producer side of that same record family is now tighter too. Linear raw-byte recovery across `000c:f98b..000d:000d` shows `000c:fc4b..fcbb` as the forward blob producer matching the reverse `000c:ff9f..000d:000d` case: it reads placement and length from the seeded `+0xd6/+0xd8` lane, computes `frame_base = caller + [caller+0xd4]`, and copies `len` bytes from the caller stream at `[caller+0xcc/+0xce]` into `[frame_base + placement + 0x4]`. For the `000d:21ed` record shape, that makes placement `0x000a` the best fit for the inline tail now consumed from `[frame+0x0e..]`. +- The dword lane now has a matching reverse case as well. Raw bytes at `000c:ff1f..ff83` show the same recursive family in the opposite direction: it reads one signed placement byte from the seeded `+0xd6/+0xd8` lane, computes `frame_base = caller + [caller+0xd4]`, loads a dword from `[frame_base + placement + 0x4/+0x6]`, subtracts `4` from `[caller+0xcc]`, and writes that dword back onto the caller stream. In other words, the immediate upstream producer for the `000c:fbf7..fc47` far-pointer write can already be another frame-record copier, not a direct owner-row or descriptor-table lookup. +- That narrows the remaining source classification again. The setup far pointer consumed by `000d:21ed` is now best modeled as a recursively propagated pointer into another VM-side byte buffer or predecoded descriptor workspace, not as the owner/resource row source mirrored separately through `0x39ca`. The owner row still matters for slot-backed state reloads, but the `entity_vm_context_setup` blob pointer itself is traveling through the frame-record family independently of that owner-row mirror. +- That also weakens the full-tuple `NPCTRIG` fit one more notch without killing it. The surviving tuple is now better read as `(slot, add_a, add_b, setup_len, inline_len, placement=0x0006/0x000a)` feeding a generic recursive frame-record contract. `NPCTRIG` slot `0x0a` remains the strongest descriptor-side candidate only as an earlier decoder that could have produced this predecoded record family, while slot `0x20` still reads as the typed/setup companion body. No recovered instruction in the immediate `000c:f98b..000d:000d` family yet ties the setup far pointer directly back to either slot. +- Net effect on source classification: the `000d:21ed`-relevant frame record is still not best modeled as generic VM scratch. Its immediate setup bytes are recursively copied from a parent frame record, and the wider context-build path is still anchored in descriptor-derived VM state (`+0xd6/+0xd8` from `entity_vm_slot_load_value_plus_offset`, owner-row source mirrored via `0x39ca`). What remains open is not whether this lane is scratch-backed, but which earlier decoder materializes the parent-frame far pointer before `000c:fbf7` consumes the next dword. +- After the new reverse-case recovery, that blocker can be stated more tightly: the missing piece is no longer a generic parent-frame materializer somewhere above `000c:fbf7`, but the first non-recursive decoder that originates the far pointer before the `ff1f/ff9f -> fbf7/fc4b -> 000d:21ed` propagation chain repeats it. +- The next pass closes that specific source-classification gap inside the same hidden interpreter body. Raw bytes at `000c:fa2f..fa5b` recover an inner opcode dispatcher that reads one opcode byte from the seeded `+0xd6/+0xd8` lane, bounds-checks it against `0x79`, and jumps through `CS:[0x3d9f + opcode * 2]`. That matters because the same local case family now exposes both the recursive frame-record replay stages and a separate set of direct caller-stream seed cases. +- Those non-recursive seed cases are now concrete. `000c:fd51` writes one inline byte from the `+0xd6/+0xd8` control stream onto the caller stream after decrementing `[caller+0xcc]` by `1`, `000c:fd91` and `000c:fdd1` do the same for inline words, and `000c:fe11..fe59` does it for an inline dword. In the dword case the interpreter advances through four literal bytes in the control stream, subtracts `4` from `[caller+0xcc]`, and writes the literal dword directly onto the caller stream before any frame replay logic runs. +- That makes `000c:fe11` the strongest current first non-recursive origin for the far-pointer lane later consumed by `000c:fbf7..fc47` and then by `000d:21ed`. The immediate setup far pointer is therefore no longer best modeled as coming from the owner/resource row, the mirrored `0x39ca` lane, or a generic VM scratch buffer. Its immediate compiled-side source is an inline dword literal embedded in the interpreter/control stream itself; `000c:ff1f..ff83` and `000c:fbf7..fc47` are replay stages layered on top of that literal-seeding path. +- That retunes the `NPCTRIG` cross-check again without killing it. `NPCTRIG` slot `0x0a` still remains the best upstream descriptor-side candidate because it is still the only compact active-event body that fits the surviving slot/additive shape, and slot `0x20` still reads as the typed/setup companion. But any direct immortality mapping now has to explain how the upstream decoder turns that descriptor family into a literal-bearing VM control stream before `000c:fe11`, not how `000d:21ed` or `000c:fbf7` index descriptor rows directly. +- One more pass tightens the creator/consumer split enough to rule out the owner row as the immediate control-stream builder. Direct instruction recovery at `000d:46ec` shows `entity_vm_context_create_from_slot_index` using the owner-table row `(+0x10/+0x12) + 0x0d*slot + 4` only for the separate `0x39ca[slot]` mirror, while the live `+0xd6/+0xd8` lane passed into `entity_vm_context_setup` still comes from `entity_vm_slot_load_value_plus_offset`. In the recovered `000d:21ed` pre-call span, that seeded lane is consumed as `word slot_index`, `word add_a`, `word add_b`, `byte setup_len`, `byte inline_len`, with `add_a + add_b` forwarded as the dynamic word stored at context `+0x34`. +- The same pass also clarifies the setup-payload contract that feeds the later link-matrix stage. `000d:21ed` passes `[frame+0x0a/+0x0c]` as the setup far pointer into `entity_vm_context_setup`, copies `[frame+0x0e..]` as a separate inline tail, and then `000d:22bc` consumes two signed metadata bytes plus a streamed word matrix to drive repeated `entity_link` calls. The immediate source is therefore `decoded per-slot VM stream + frame replay`, not `owner-row lookup + direct descriptor row`. +- That changes the opcode-family reading around `000c:fa2f` in a useful way even though the exact opcode indices remain unresolved in the current overlapped table view. The hidden dispatcher now has a verified immediate-literal family: `000c:fd51` pushes one inline byte to the caller stream, `000c:fd91` pushes a sign-extended byte as a word, `000c:fdd1` pushes an inline word, and `000c:fe11` pushes an inline dword. Together with the recursive replay cases `000c:ff1f` and `000c:ff9f`, that is enough to classify the upstream builder as a generic literal-bearing interpreter/control stream rather than a direct `NPCTRIG` clause reader. +- The descriptor-side fit therefore weakens from `specific direct NPCTRIG selector` to `broader descriptor-derived VM workspace` while staying narrow enough to keep `NPCTRIG` slot `0x0a` alive as the best upstream candidate. Slot `0x0a` still matches the event-bearing compact body and its five-clause ladder remains the only surviving compact source family with a plausible row-count/additive shape, but slot `0x20` still looks like the typed/setup companion and neither slot is now a good fit for the immediate control-stream seeding logic itself. +- The slot-load miss path now closes the workspace-materialization side of that question. Inside `entity_vm_slot_load_value` (`000d:51fd`), a cache miss triggers `000d:5066`, which first reads a slot header and then a `count * 6 + 0xc0` subentry table through the owner-resource wrapper `000d:714c`. When one subentry is still unloaded, `000d:5305..53d4` allocates a value object through `000d:3800`, then calls `000d:714c` again with the subentry source range and the new object's buffer at `+0x0a/+0x0c`; the function returns that same buffer pointer as the final `DX:AX` result. The immediate `+0xd6/+0xd8` workspace is therefore first materialized as a file-backed slot-value buffer during the slot-load miss path itself, not synthesized later from the owner-row mirror or from generic scratch state. +- The inline-tail source is not as tightly closed yet. The same hidden case family contains several immediate scalar caller-stream seed cases, so the `000d:21ed` tail at `[frame+0x0e..]` can now plausibly be assembled from control-stream literals or from another nearby non-recursive payload case rather than from a direct owner-row read. No instruction recovered in `000c:f98b..000d:000d` performs a matching direct descriptor-row lookup for that tail. +- Net effect from this pass: the missing outer selector into `entity_vm_opcode_sequence_run` is still unresolved, but the lane is no longer just one opaque dispatcher plus dark wrappers. It now has a verified generic masked-context creation hub, wider caller-family anchors for that hub, and two internally differentiated sequencer consumer blocks built directly on `entity_vm_context_create_from_slot_index`. + +#### Follow-up: four newly surfaced direct `000d:463a` callers + +- `0004:f033` (`0x8000:0x0007`) now reads as a generic gameplay-side materialization lane rather than a state-transition helper. When the local seg021 class-nibble query returns `8`, the wrapper bypasses the VM path and returns object word `+0x02` directly from the locally produced object. Otherwise it forwards through `entity_vm_context_try_create_masked_for_entity` and returns the created object's word `+0x02` on success. +- `0004:f05c` (`0x2000:0x0015`) stays on the gameplay-state side too, but with a stronger caller role. The only current direct caller window at `0004:f2b3` reaches it after overlap/proximity tests and entity byte `+0x32` toggling, so the safest reading is still `stateful gameplay materialization lane`, not `descriptor selector`. +- `entity_vm_context_try_create_mask_0008_slot30_with_offset` (`0006:0ba4`) adds the first strong non-`0005` extra-payload lane. It passes mask `0x0008:0x0030` plus one caller word into `000d:463a`; on failure it drops into `0006:0cfa`, which copies class-detail word `+0x02` to `+0x04`, derives a replacement selector from class-detail words `+0x06/+0x08/+0x0a` or the caller value, may clear flag `0x08` through `entity_class_clear_flag8_and_dispatch`, and then continues into the local state-transition/dispatch table. That is concrete evidence that at least one extra-word masked lane is feeding class-state transition materialization rather than a free-standing VM selector root. +- `entity_vm_context_try_create_mask_0010_slot08_with_offset_if_ready` (`0006:108c`) provides the second strong extra-payload lane. It passes mask `0x0010:0x0008` plus one caller word into `000d:463a`, but only after local readiness gates through `0006:ffed` plus the seg021 availability/flag8-clear path. Unlike the earlier looser reading, the helper itself does not fall back to `0006:13b0` or `0006:13e4`; on miss it simply returns `0`. That makes the function a guarded masked-materialization attempt, while the neighboring `0006:13b0/13e4 -> 0006:07c0` class-linked lookups remain adjacent family evidence rather than a direct local fallback inside `0006:108c`. +- Taken together, the new seg004 and seg006 callers strengthen the existing read of the still-dark wrappers `0005:2c35` (`0x0400:0x000a`) and `0005:2c68` (`0x0800:0x000b`). Those wrappers still have no direct caller evidence, but they now sit inside a larger verified subfamily of `extra-word masked materializers` whose known members feed state selectors, class-linked values, or other gameplay-side payload resolution instead of acting as the real upstream selector into `entity_vm_opcode_sequence_run`. +- MCP-native function xrefs now reinforce that stopping point rather than changing it: `entity_vm_context_try_create_masked_for_entity` reports the expected direct callers through `0004:f047`, `0004:f076`, the named `0005` wrapper island, and the two seg006 callsites `0006:0bbc` / `0006:10e7`, while `entity_vm_opcode_sequence_run` plus the dark `0x0400/0x000a` and `0x0800/0x000b` wrappers still surface no direct function-xref callers in the current database. The best next path therefore remains caller-frame recovery or nearby unnamed-function repair, not another generic masked-hub sweep. + | `000c:f844` | `entity_vm_context_setup` | Calls `entity_vm_stack_init_with_data`, then sets `+0xd6..+0xe3` with position/dimension/state params | | `000c:f600` | `entity_vm_pair_stack_push` | Push (word_a, word_b) onto 31-entry array at `[ptr+0x80]` (count); error if full | | `000c:f63c` | `entity_vm_pair_stack_pop` | Pop and return word from pair stack; error if empty | diff --git a/docs/raw-000a-000d.md b/docs/raw-000a-000d.md index 38aed13..2d38bce 100644 --- a/docs/raw-000a-000d.md +++ b/docs/raw-000a-000d.md @@ -236,6 +236,9 @@ Current verified caller-side detail: - The seg127 fade-controller ownership is also one step tighter in the same lane. `transition_preentry_setup_resources` resets `0x630a` at `000c:c855`, `transition_preentry_step_script` now has a verified early gate at `000c:ca25` that yields to the fade controller whenever `0x630a` is active, and `transition_palette_fade_begin` at `000c:cdca` explicitly installs palette source/range/step state into `0x630e..0x6316`, asserts `0x630a`, and kicks one immediate fade tick. - Fade direction is now pinned to seg126 script-control bytes rather than the outer seg005 wrappers. Inside `transition_preentry_step_script`, control byte `0x5e` reaches `palette_fade_begin_full_down` at `000c:cb06`, while control byte `0x26` reaches `palette_fade_begin_full_up` at `000c:cd1a`; control byte `0x2a` shares the same post-fade bookkeeping path after the full-up call. - The upstream producer path for the remaining seg126 control bytes is now tighter too. `transition_preentry_setup_resources` composes one path from the mutable base at `0x6aa:0x6ac` plus local name buffers (`0x631c`, `0x6335`) through the seg072 slash-aware path helper `0009:3600`, opens that file through `file_handle_alloc_init_and_open`, allocates a buffer of the returned size, reads the full payload into `0x6301:0x6303`, and seeds `0x62fa/0x62fc/0x62ff/0x6305/0x630a/0x6318` before the loop starts. Current best reading is therefore `file-backed transition script/control buffer`, not locally synthesized opcodes. +- The adjacent seg126 selector lane is now classified tightly enough for conservative renames. `transition_file_family_select_and_refresh` (`000c:afa5`) keys object field `+0x49` through values `0`, `1`, and `4`, composes three sibling filenames from the inherited base `0x6aa:0x6ac` plus shared stem `0x621c` with suffix buffers `0x6223`, `0x622d`, and `0x6237`, loads the chosen file into object `+0x520`, and then runs the same redraw/palette/input refresh path. The same helper uses `field49==2` as a direct `vtable[0x3c]` callback branch and `field49==-1` as a normalize-back-to-zero state. +- The local wrappers around that selector now sharpen the caller model without forcing a stronger UI label. `transition_file_family_advance_on_anim_tick` (`000c:b153`) increments `+0x49` when the polled byte at `[param_2+0x14+0xa]` is clear and then re-enters the selector, while `transition_file_family_input_key_handler` (`000c:b199`) maps Left/Right and `n/N` into previous/next selector steps, uses `e/E` plus repeated `-` to force selector state `4`, and otherwise exits through `vtable[0x3c]`. +- This closes the narrow `+0x49` question as a local three-way file-family selector lane, but it still does not justify a stronger UI label for the paired `0x8c5c/0x8c60` renderer presets or the sibling seg127 fade inputs. - The remaining `transition_preentry_step_script` opcodes now have stable local mechanics even though the higher-level text semantics are still open. Control byte `0x21` consumes the next script word into `SI` and advances `0x62ff` by two, which makes it the current baseline/start-position loader for later text draws. Control byte `0x40` renders one null-terminated entry from the same script buffer through renderer object `0x8c5c:0x8c5e`, while control byte `0x24` mirrors that behavior through `0x8c60:0x8c62`; both paths measure width through the renderer vtable, draw through seg088 `000a:30d7`, blit through seg080 `0009:943a`, advance `SI` by rendered width plus four, and then scan forward to the next opcode byte. Control byte `0x23` sets local completion byte `0x62fe = 1` and returns, so the outer shell exits on the next loop test instead of iterating further. - Secondary renderer-factory sampling keeps the `0x8c5c` / `0x8c60` split conservative. Other sampled `000a:9748` xrefs use different adjacent preset pairs such as `0x0d/0x0c` at `0007:df30/df3f` and `0x0c/0x0f` at `0008:47c9/4851`, while no sampled caller reproduced the exact `0x10/0x11` startup pair outside `transition_preentry_setup_resources`. That supports keeping these as paired preset text renderers without forcing a title/body or normal/highlight label. - The missing seg126 step body at `000c:ca1d` still cannot be split out safely because `create_function_by_address` collides with the existing oversized overlap namespace, so this pass preserved the recovery as a decompiler comment instead of forcing a destructive boundary repair. Current best reading is still that `000c:ca1d..cd34` is the real `transition_preentry_step_script` body and that `000c:cd35` starts the fade-tick helper. @@ -317,6 +320,14 @@ Current best neutral conclusion from this pass: the shared `g_active_dispatch_en - The in-scope `0x31a2` readers are now classed cleanly by role. `0004:c24d` and `000c:e4d8` are edge waits; `000c:ca11` is the seg126 modal-break exit; `000c:e546`, `000c:e5c6`, and `000d:c0ee` are cleanup-abort exits; `000d:9304` and `000d:b6b1` are deferred dispatch/state-advance gates. - Two remaining `0x31a2` reads stay outside that presentation classification set. `0005:453d` is only a plain getter wrapper for the shared depth word, and `0008:5149` is a seg008 internal/accounting-side read that adds the current depth to another local count before tripping a `>= 0x10` capacity flag. +### Current batch: renderer preset contract and seg127 fade-input closure + +- `transition_preentry_setup_resources` is now exact on the paired renderer setup path. Instruction window `000c:c659..c6ab` shows that `FUN_000a_9748` is called only with preset ids `0x10` and `0x11`, storing the resulting temporary renderer objects at `0x8c5c:0x8c5e` and `0x8c60:0x8c62`, then immediately drawing the same seed text buffer `DS:0x631a` at `(0x0a,0x0a)` through both. This closes the structural question as `paired preset text lanes` inside one temporary transition presentation path, but still does not justify a stronger title/body or highlight/shadow label. +- The recovered `transition_preentry_step_script` body is also slightly tighter on the two text opcodes. `0x40` and `0x24` both measure their string through renderer vtable slot `+0x0c`, center it inside a `0x280`-wide lane, fetch rendered width through slot `+0x08`, draw through seg088 `000a:30d7`, blit through seg080 `0009:943a`, and advance `SI` by `rendered_width + 4`; only the selected preset lane differs (`0x8c5c` for `0x40`, `0x8c60` for `0x24`). +- The seg127 fade-controller inputs are now exact rather than only role-level. `transition_palette_fade_begin` stores palette source at `0x630e:0x6310`, start index at `0x6312`, count at `0x6314`, step at `0x6316`, brightness at `0x630d`, active flag at `0x630a`, and direction/state at `0x630b`, then immediately ticks the local fade controller. `transition_palette_fade_tick` dispatches `0x630b==1` to `transition_palette_fade_out_step` and `0x630b==2` to `transition_palette_fade_in_step`. +- The two default script-selected fade wrappers are now instruction-verified too. `palette_fade_begin_full_down` at `000c:c616` pushes direction `1`, step `4`, count `0x80`, start `0`, and palette buffer `DS:0x8c64`; `palette_fade_begin_full_up` at `000c:c600` is the same wrapper with direction `2`. Combined with the `0x5e`, `0x26`, and `0x2a` script-byte sites in `transition_preentry_step_script`, this closes the neighboring seg127 fade-input contract for the startup/display lane. +- The late presentation-handoff family is now direct-decompile confirmed rather than only caller-window inferred. `FUN_000d_938c` creates up to two temporary runtime-state palette entries (`kind 0x3c`, then `kind 0x14`), waits for them to clear, redraws, clears `g_active_dispatch_entry_farptr[+0x40]`, and only then dispatches caller vtable `+0x08`; `entity_cleanup_resources_and_dispatch` shows the same late shared-hold clear on the `entity +0x737` branch immediately before the shared `0x2bd8` controller dispatch. That is enough to treat the startup/display major section as materially complete, with only low-impact residual ambiguity around the exact UI label of preset pair `0x10/0x11` and the optional overlap hygiene at `000c:db68`. + --- ## Follow-up: `0x4588` Object-Role Evidence @@ -330,6 +341,10 @@ The `0x4588` FAR object is a runtime-installed callback/dispatch object that par - **Teardown:** `000a:4a56` checks a once-flag at `0x4595`, clears `0x4588` when non-null, optionally performs a vtable `+0x0c` callback when `0x4590 != 0x458c`, then calls vtable slot `+0x04` followed by `FUN_0009_0d30()`. - **Callbacks:** `000a:b9e5`, `000a:ba66`, `000d:9d5e`, and `000d:a3b7` all push a two-word value pair followed by the `0x4588` FAR pointer and call vtable slot `+0x0c`. `entity_conditional_render_dispatch` calls the same vtable slot with a single literal `0x0101` argument. +Current batch note: + +- `runtime_callback_object_init_once`, `runtime_callback_object_teardown_once`, and `entity_conditional_render_dispatch` now line up even more strongly as a video or presentation-state callback lane rather than a generic allocator client. The object is installed only after BIOS video-state snapshot, teardown emits a final callback only when recorded mode/state changed, and one live caller uses the literal mode-like pair `0x0101` through the same vtable `+0x0c` slot. That is enough to keep pushing the role toward `presentation/video-state callback broker`, but still not enough for a fully behavioral subsystem rename. + ### Payload pairs from payload sync callsites - `000d:9d5e` → vtable `+0x0c` payload from object fields `+0x12d/+0x12f` @@ -362,11 +377,14 @@ The next ScummVM-guided validation step now confirms that the sampled owner-load ### Header and event-table shape +- The loader-side count field is now tighter too. The first dword in the sampled owner-loaded class header is not the total slot count; `000d:5066` uses it as the extra-slot count beyond a fixed `0x20` base table, which is why the cached table allocation is `extra_count * 6 + 0xc0` and the refcount array is `extra_count * 2 + 0x40`. +- That reading matches the extracted class-family shapes exactly: `EVENT` keeps first dword `0x00000000`, `NPCTRIG` moves to `0x00000001`, and `ROLL_NS` to `0x00000002`, while the already-validated owner-loaded event counts remain `0x20`, `0x21`, and `0x23` respectively. - The sampled class records do contain a stable 4-byte header field at bytes `8..11`. - The observed values are small boundaries: `0x00d4`, `0x00da`, and `0x00e6` in the current sample set. - Treating that dword directly as the first post-event-table offset makes the layout line up cleanly: `(dword_at_8 - 20) / 6` yields valid tables of 32, 33, or 35 slots before inline payload/name data begins. - The region at `class + 0x14` is therefore now directly confirmed as repeated 6-byte slots with `u16 unknown_word + u32 code_or_payload_field` layout. - Representative low-slot examples are `JELYHACK` slot `1` = `{word=0x002a, dword=0x00000001}`, `SURCAMNS` slot `1` = `{word=0x0051, dword=0x000000d2}`, `SURCAMEW` slot `1` = `{word=0x00f7, dword=0x000000d2}`, `EVENT` slot `10` = `{word=0x1fd6, dword=0x00000001}`, and `REE_BOOT` slots `10/15/16` = `{0x034b,1}`, `{0x025c,0x034c}`, `{0x003b,0x05a8}`. +- The runtime-side selector arithmetic is now exact as well: the owner-resource callbacks operate on `class_id + 2`, which matches the extracted `object_index` column directly. `EVENT` therefore lands on child `0x363` from class id `0x361`, and `NPCTRIG` on child `0x365` from class id `0x363`. - The leading event word is still not decoded semantically. ### What remains open @@ -374,11 +392,50 @@ The next ScummVM-guided validation step now confirms that the sampled owner-load - Scanning with the previously noted ScummVM-style `(base_offset + 19) / 6` interpretation overruns into inline payload/name bytes on these owner-loaded records, so the local sample set does not support that exact event-count formula as written. - The best current arithmetic fit is now tighter: ScummVM's decremented `base_offset` is also used as the live code-stream base in `uc_machine.cpp`, so the local owner-loaded records fit best if bytes `8..11` are the first code-byte offset and event-count derivation is `(base_offset - 19) / 6`, which is exactly equivalent here to `(raw_u32_at_8_11 - 20) / 6`. - Current `000d` loader evidence does not point to a header rewrite before VM consumption. `entity_vm_runtime_init_from_path_if_configured` (`000d:44df`) only builds the external path and creates the runtime, `entity_vm_runtime_create` (`000d:4c99`) only installs the helper returned by `000d:7000`, `entity_vm_runtime_owner_resource_create` (`000d:7000`) only allocates the child owner table and fills it through helper vtable `+0x0c`, and `entity_vm_context_create_from_slot_index` (`000d:46ec`) directly reads slot-backed source data from that owner table. No local step is yet verified as rewriting the sampled class headers. +- The slot-value miss path is now exact enough to align against the extractor rather than only against motifs. `entity_vm_slot_load_value` (`000d:51fd`) does not build the returned workspace out of owner-row fields or late interpreter scratch: on a miss it uses `000d:5066` plus the same owner-resource wrapper `000d:714c` to read a `0x14`-byte class header, then a cached `6 * (0x20 + extra_count)` subentry table, and finally the selected subentry's byte range straight into a newly allocated value-object buffer at `+0x0a/+0x0c`. +- The final body read at `000d:53b4` now matches the extracted row arithmetic exactly. The 6-byte row contributes `word body_len` plus `dword raw_code_offset`, the class header contributes `dword code_base`, and the reader fetches `body_len` bytes from `code_base + raw_code_offset - 1` through `code_base + raw_code_offset + body_len - 2`. +- That gives a direct owner-loaded fit for the two surviving `NPCTRIG` bodies. For class `NPCTRIG` (`class_id = 0x363`, `object_index = 0x365`), slot `0x0a` uses `{len = 0x0175, raw_code_offset = 0x00000001, code_base = 0x00da}` and therefore materializes range `0x00da..0x024e` (`373` bytes), while slot `0x20` uses `{len = 0x0159, raw_code_offset = 0x00000176, code_base = 0x00da}` and therefore materializes range `0x024f..0x03a7` (`345` bytes). `EVENT` slot `0x0a` fits the same runtime arithmetic with `{len = 0x1fd6, raw_code_offset = 0x00000001, code_base = 0x00d4}` -> `0x00d4..0x20a9`. +- Because `000d:5066/51fd/53b4` now line up with the extracted class headers and event rows byte-for-byte, the remaining immortality blocker is no longer header math or slot-number translation. The open step is upstream class selection into this now-verified loader path: whether the live slot `0x0a` request really names `NPCTRIG`, `EVENT`, or another descriptor family sharing the same owner-loaded format. - `entity_vm_runtime_owner_resource_create` (`000d:7000`) still does not expose a direct binary-side class-name lookup or explicit `classid + 2` arithmetic. What it does expose is an indexed file-set loader contract: helper-owned count at `+0x14`, far-pointer table at `+0x10`, paired per-entry word table at `+0x18`, vtable `+0x04` size query, and vtable `+0x0c` materialization of the `0x0d`-stride owner records later consumed by `entity_vm_context_create_from_slot_index`. The current pass also makes the helper shape slightly more concrete: the two raw seg070 windows at `0009:67b6` and `0009:6916` are twin per-entry path/read loops with distinct format strings (`DS:3f2d` and `DS:3f40`) but the same `+0x10/+0x18` indexing and file open/read/close lane, which is better evidence for a multi-table or multi-phase external loader than for direct in-memory descriptor iteration. -- The signed slot-offset lane used by the still-xref-dark wrappers `0005:2c35` / `0005:2c68` is also no longer confined to `entity_vm_context_create_from_slot_index` (`000d:46ec`). Inside `entity_vm_runtime_create`, the pre-entry body at `000d:4c25..4c90` reloads object fields `+0x32/+0x34` through `entity_vm_slot_load_value_plus_offset` (`000d:5572`), stores that returned pair into object fields `+0x10c/+0x10e`, and also caches the owner-source far pointer at `+0x117/+0x119`. The paired save path at `000d:49ec` then serializes `+0x10c` through seg070 `0009:2034`, which makes the slot-plus-offset pair a persisted runtime/dispatch state lane rather than a transient wrapper-only argument. +- The signed slot-offset lane used by the still-xref-dark wrappers `0005:2c35` / `0005:2c68` is also no longer confined to `entity_vm_context_create_from_slot_index` (`000d:46ec`). Ghidra now reflects that contract in the conservative wrapper names `entity_vm_context_try_create_mask_0400_slot0a_with_offset` and `entity_vm_context_try_create_mask_0800_slot0b_with_offset`. Inside `entity_vm_runtime_create`, the pre-entry body at `000d:4c25..4c90` reloads object fields `+0x32/+0x34` through `entity_vm_slot_load_value_plus_offset` (`000d:5572`), stores the reconstructed `DX:AX` pair into object fields `+0x10c/+0x10e`, and also caches the owner-source far pointer at `+0x117/+0x119`. The paired save path at `000d:49ec` is narrower than it first looked: it serializes only the low word at `+0x10c` through seg070 `0009:2034`, while the high word is recomputed on load from the fresh `entity_vm_slot_load_value()` result plus the saved additive word. +- Current disassembly closes the exact low-slot wrapper contracts too. `0005:2c35` sign-extends caller word `[BP+0x0a]`, then calls `entity_vm_context_try_create_masked_for_entity` with slot `0x0a` and packed mask `0x00000400`; `0005:2c68` is the same signed-additive shim for slot `0x0b` and packed mask `0x00000800`. Neither wrapper has a recovered outward code/data xref yet, so the best current provenance remains `extra-word masked materializer family member`, not a gameplay event label. +- The newly recovered post-load consumers of `+0x10c/+0x10e` are weak and do not behave like a recovered event-dispatch selector. Predicate `FUN_0001_a772` returns true only when the pair is exactly `0000:0001`, while normalization block `FUN_0002_1860` checks `segment == 0` and clamps `offset < 0x0080` up to `0x0080`. No recovered downstream comparison or dispatch branch matches the five verified `NPCTRIG` slot `0x0a` clause starts (`0x0064/0x0093/0x00c2/0x00f1/0x0120`) or backward targets (`0x001f/0x004e/0x007d/0x00ac/0x00db`); if anything, the `0x0080` floor cuts across that family instead of confirming it. +- The masked-create hub in front of that lane is now explicit too. Window `000d:463a..46e8` maps one gameplay entity through `entity_vm_slot_index_from_entity`, tests the owner/resource table row mask at `0x6611 -> +0x1315/+0x1317 -> (+0x10/+0x12) + 0x0d*slot`, and only then calls `entity_vm_context_create_from_slot_index`. That matters because the offset-specialized wrappers `0005:2c35` / `0005:2c68` are now instruction-verified as nothing more than sign-extended extra-word shims over this generic masked-context hub, rather than separate selector logic. +- The upstream slot selector is now exact enough to rule out one remaining binary-side shortcut. `entity_vm_slot_index_from_entity` (`000d:45c5`) does not expose a class-family choice like `NPCTRIG` versus `EVENT`; it only chooses one of three generic category spans before the owner row is consulted: `(a)` entity ids `1..255` with class-word bit `0x0002` clear map to `entity_id + base_0x8c7e`, `(b)` class-nibble `4` objects map to `class_byte_0x7e05 + base_0x8c80`, and `(c)` everything else maps to `type_word_0x7df9 + base_0x8c7c`. +- The runtime init path now shows where those bases come from too. After `entity_vm_runtime_create` succeeds, `entity_vm_runtime_init_from_path_if_configured` (`000d:44df`) seeds `0x8c7c/0x8c7e/0x8c80/0x8c82` as cumulative category bases by looping over four word counts at `0x6608..0x660e`. Because the compiled side only sees those category-base spans and the later owner-row mask words, it still does not reveal a direct descriptor-class discriminator before the slot body is loaded. +- One direct non-hub consumer reinforces that read. `FUN_0005_295f` is the only currently recovered caller of `entity_vm_slot_index_from_entity` outside the masked hub; it recomputes the same slot index, directly tests owner-row bit `0x0040`, and then branches into gameplay handling before optionally calling `entity_vm_context_try_create_masked_for_entity` with mask `0x0040:0x0006`. Together with the still-empty xref results for `0005:2c35` and the stable `0005:2c35..2c57` function boundary, the safest current interpretation is that these owner-row words are generic capability masks, not explicit `NPCTRIG` / `EVENT` family tags. +- The next immortality pass separates that owner-row path from the live control-stream path even more sharply. Inside `entity_vm_context_create_from_slot_index` (`000d:46ec`), the owner-table row still feeds only the preserved `0x39ca[slot]` mirror, while the actual `+0xd6/+0xd8` control stream handed to `entity_vm_context_setup` comes from `entity_vm_slot_load_value_plus_offset` and the caller-supplied setup/tail pointers come from the current VM frame record. That makes the immediate builder for the `000d:21ed` lane `slot-backed decoded stream plus frame-local replay`, not `owner-row decode`. +- That is the current hard wall for the immortality frontier. The strongest verified answer remains that `NPCTRIG` slot `0x0a` is the best upstream descriptor-side fit and `EVENT` slot `0x0a` remains the generic-hub baseline, but the binary selector path now bottoms out at category spans plus row-capability bits rather than at a provable class-family discriminator. +- The open descriptor question therefore moves one step earlier again. Current `000d` loader/runtime evidence still supports a descriptor-derived upstream workspace, but not a direct owner-row-to-opcode path for the immortality trigger. The closest verified compiled-side seeding now happens later inside the hidden dispatcher at `000c:fa2f`, where immediate literal cases can push byte/word/dword payloads straight onto the caller stream before the frame replay family re-materializes them into the child frame. +- The seg070 twin-file-family helper is now tighter at the buffer/schema level as well. The paired loops at `0009:67b6` and `0009:6916` do not reuse one ambiguous scratch object: each loop performs its own size query/allocation sequence, builds paths from the same `+0x10/+0x18/+0x14` table trio with its own format string (`DS:3f2d` versus `DS:3f40`), feeds a dedicated temporary far buffer through the shared `file_handle_alloc_init_and_open` / `dos_file_seek` / `dos_file_close` trailer, and then frees that loop-local buffer before returning. Current safest read is therefore `two distinct temporary file-family materialization passes inside one owner-resource helper`, not one callback shard reused for both families. - Additional `0x39ca` consumers are now classified more cleanly. Beyond the already-known static seeds at `000d:7299 -> DS:67f2` and `000d:761c -> DS:6872`, the constructor-like windows at `000d:929a` and `000d:963c` seed rows `DS:68ec` and `DS:68f5` respectively before enabling local timer/dispatch behavior. Those writes behave like dispatch-entry-local static seed rows, not owner-table mirrors. Separately, `FUN_000d_938c` reads temporary dispatch-entry fields `+0x32/+0x34` at `000d:9449..9468` and `000d:9547..9566` only as a wait/poll condition on the scratch-palette (`kind 0x3c`) and current-palette (`kind 0x14`) entries it creates, which further separates active dispatch-entry state from the owner-backed `0x39ca[slot] = {source_off, source_seg}` rows written by `000d:46ec`. - Safe event-label correlation remains intentionally narrow after this pass. The sampled low slot ids are now concrete, but none of them yet have a verified binary-side behavior match strong enough to promote a ScummVM label like `look`, `use`, or `cachein`. +### Current batch: higher-slot masked wrapper ladder (`0x10..0x14`) + +- The gameplay-side masked-wrapper island now extends one verified step past the older `0x0f` frontier. Raw call setup around `0005:3115..322d` shows five higher-slot entries feeding `entity_vm_context_try_create_masked_for_entity` with slot ids `0x10`, `0x11`, `0x12`, `0x13`, and `0x14`. +- The slot `0x10` lane is not yet a clean standalone function object, but the containing body at `0005:3115..3129` is exact enough to classify its call shape: it pushes zero extra word, slot `0x10`, packed mask `0x00010000`, and the live entity pointer before the far call to `000d:463a`. The preceding guard at `0005:30f2..3113` restricts that path to one class-nibble-`4` lane. +- Four neighboring helpers are now renamed directly in Ghidra from stable function objects: + - `0005:313e` = `entity_vm_context_try_create_mask_00020000_slot11_with_offset` + - `0005:3171` = `entity_vm_context_try_create_mask_00040000_slot12` + - `0005:31da` = `entity_vm_context_try_create_mask_00080000_slot13_with_offset_if_valid_entity` + - `0005:31a0` = `entity_vm_context_try_create_mask_00100000_slot14_with_offset` +- Their payload shapes are now exact from disassembly, not only inferred from decompile: + - slot `0x11` pushes one caller-supplied extra word (`MOVZX EAX,[BP+0xa] ; PUSH EAX`) + - slot `0x12` pushes a fixed zero extra word + - slot `0x13` pushes one sign-extended caller word after the same `0005:2686` / `0005:ffed` entity-validity gate used by the older slot-`0x01` helper + - slot `0x14` pushes one caller-supplied extra word +- This widens the verified owner-slot taxonomy in a USECODE-relevant way: the binary is no longer only distinguishing compact low-slot wrappers like `0x0a`/`0x0b`; it also separates a higher-slot family with mixed `no extra word` versus `signed extra word` call contracts. +- The first outward callers in this higher-slot family are now explicit too. `entity_vm_context_try_create_mask_00040000_slot12` (`0005:3171`) is called at `0005:1776` and `0005:1945`; both callsites are currently trapped in non-function windows, but they are real direct edges into the slot-`0x12` zero-extra-word lane. By contrast, current MCP xrefs still show no direct outward callers for the slot `0x11`, `0x13`, or `0x14` wrappers and still none for the dark slot `0x0a` / `0x0b` pair. +- The persisted-context side of the same lane is now tighter at the field level. `entity_vm_context_save` (`000d:498f`) serializes `+0x11f`, `+0x121`, the derived low word at `+0x10c`, the additive word at `+0x34`, and the `0x80`-byte local buffer at `+0x36/+0x38`; `entity_vm_context_load` (`000d:4a78`) rebuilds the frame pointers, reloads the saved low word as the additive argument to `entity_vm_slot_load_value_plus_offset`, restores `+0x10c/+0x10e`, and refreshes the owner-linked source pair at `+0x117/+0x119`. That strengthens the current read that persistence preserves `(slot, additive_word, derived_low_word)` after selector choice, not the upstream class-family selector itself. +- The external event-name correlation can now be tightened slightly but still stays hint-level only: + - slot `0x12` having no extra word is compatible with the external `justMoved()` zero-argument event label + - slot `0x13` carrying one extra word is compatible with Pentagram's `AvatarStoleSomething(uword)` signature + - slot `0x11` carrying one extra word is compatible with Pentagram's placeholder `func11(sint16)` signature and with ScummVM's unresolved `cast`-side slot only at the broad `one scalar argument` level + - slot `0x14` currently does **not** fit Pentagram's older zero-argument `animGetHit()` signature, so that ordinal should remain slot-numbered on the binary side for now +- Operational consequence for the current VM lane: there is now stronger binary evidence that the masked-context family is organized around slot ordinals with distinct payload shapes, not only around one low-slot trigger subset. That helps the current round-trip IR because it justifies keeping higher ordinals as slot-stable records with payload-shape metadata even when their event labels remain external hints. +- The sequencer-side consumer model is also now preserved directly in Ghidra. Address `000d:22bc` carries a decompiler comment recording it as a sequencer-internal matrix stage: it reads two signed metadata bytes from `+0xd6/+0xd8`, consumes caller-stream words as entity/link ids, repeatedly calls `0008:7d27`, and only pushes back words without bit `0x0400` before jumping to `entity_vm_opcode_finish`. + ### Conservative parser rule from this batch - For current owner-loaded/raw EUSECODE work, keep bytes `8..11` raw and derive event count only with `(raw_u32_at_8_11 - 20) / 6` when divisibility and object-size bounds checks succeed. diff --git a/docs/raw-000e.md b/docs/raw-000e.md index f395be4..991bfb2 100644 --- a/docs/raw-000e.md +++ b/docs/raw-000e.md @@ -67,7 +67,13 @@ A small helper cluster in the raw `000e:` area implements a fixed-size CRLF reco - the trigger/object namespace now clearly includes `JELYHACK`, `NPCTRIG`, `CRUZTRIG`, and `TRIGPAD` - `JELYHACK` / `JELYH2` sit in a local extraction neighborhood beside `SPECIAL`, `TRIGPAD`, `DATALINK`, `HOFFMAN`, `REE_BOOT`, `SURCAMEW`, and `SFXTRIG`, which looks more like a map/object grouping than random table order - that neighborhood does not make `JELYHACK` itself event-bearing, but it does place it immediately beside multiple event-capable or trigger-adjacent classes (`REE_BOOT`, `SFXTRIG`, `SURCAMEW.eventTrigger`) - - no extracted chunk has yet been tied directly to event `0x410` + - the requested descriptor-family sweep now sharpens the nearby callable-body picture too: `NPCTRIG` is the only requested family here that is both explicitly event-bearing and non-empty in `class_event_index.tsv` (`equip` at slot `0x0a`, plus anonymous slot `0x20`), while `SPECIAL`, `TRIGPAD`, and `REB_PAD` have callable bodies but still look like state/controller or referent-neighbor records rather than direct event carriers + - the new generated `immortality_target_body_scan.md` / `.tsv` report now scans `EVENT`, `NPCTRIG`, `COR_BOOT`, `REE_BOOT`, `SFXTRIG`, `SPECIAL`, and `TRIGPAD` body windows directly for inline little-endian `0x0410`, dword `0x00000410`, and byte-swapped `0x1004` + - that scan found zero literal hits in every currently targeted body, so no extracted target body is yet tied directly to event `0x410` by immediate-value evidence + - the `TELEPAD` slot-`0x20` row with `raw_code_offset = 0x00000410` in `class_event_index.tsv` is now closed as an offset collision, not proof that `TELEPAD` emits gameplay event `0x410` + - the new body scan also narrows the frontier structurally: `EVENT` remains one monolithic slot-`0x0a` body (`8150` bytes), `NPCTRIG` remains the strongest compact trigger frontier with slot `0x0a` (`373` bytes) plus slot `0x20` (`345` bytes), and `_BOOT` slot pairs (`COR_BOOT`/`REE_BOOT`) stay near-template bodies rather than unique immortality emitters + - `SPECIAL` and `TRIGPAD` are now stronger negative controls too: both still have callable bodies, but the new literal scan found no inline `0x410` evidence there either + - the practical blocker is now narrower: the extractor no longer stops at body offsets only, but it still does not decode emitted payload values or bytecode operands inside the surviving `EVENT` slot-`0x0a` and `NPCTRIG` slot-`0x0a` / `0x20` frontier bodies - one exact `0x410` collision in compiled code is now explained away: `000e:0953` pushes `0x410` into imported `ASYLUM.27` from the animation audio-subframe path immediately after setting the local audio-completion byte at `+0xef1`. Since `ASYLUM.DLL` is the `ASS_*` audio/media library, treat this as a media ordinal/value collision rather than a second gameplay or USECODE event source. - the present best reading is that `0x410` is likely carried by data relationships between generic event-capable descriptors (`EVENT`, `NPCTRIG`, `SFXTRIG`, etc.) and map/object references rather than by a plain-text script line - The `000e:` record parser helpers still matter, but they now appear to cover only the text-oriented subset rather than the entire FLX payload. The strongest concrete caller so far is the raw window at `000e:1b9f..1d49`, where `record_table_parse_buffer` is invoked after setup of fields that match the known animation object layout (`+0x117/+0x11b/+0x11f/+0x123`, `+0xeaf/+0xeb1`, `+0x10f/+0x111`). That makes the currently verified `000e:3639` consumer part of the animation-object lane, not a clean standalone EUSECODE loader. @@ -198,6 +204,10 @@ The game uses standard RIFF/IFF: ### Unresolved callee - `000e:ffb0` remains unresolved (decompiles garbled due to overlapping instructions at `000f:0085/000f:0086`). Current evidence from the `animation_start` loop suggests this path is the video-side subframe loader paired with `anim_load_audio_frame`. +- The caller-side proof is now explicit enough to preserve that note in Ghidra too: `animation_start` invokes `anim_load_video_frame_wrapper` once per active subframe immediately after `anim_load_audio_frame`, and `anim_load_video_frame_wrapper` is only a thin forwarder to `000e:ffb0`. Until the overlap is repaired, the safest label remains `unresolved video-side subframe loader paired with the resolved audio-frame path`. +- A second caller pass tightens the local model without forcing a repair. `search_instructions` now shows `anim_load_video_frame_wrapper` is also called at `000e:11af` and `000e:1245`, not only from the startup prime loop at `000e:220c`. In both of those additional windows the return value is checked as a success/failure result, which makes `000e:ffb0` look like an active chunk-consume/decode step rather than a passive notifier. +- The strongest new evidence is the neighboring tag gate at `000e:121d..1234`: after `anim_load_audio_frame` runs, the same lane checks the current RIFF chunk tag against `0x62643030` / `0x63643030` (`"00db"` / `"00dc"`) before clearing the local busy flag and continuing. That is the first concrete caller-side clue that `000e:ffb0` is consuming AVI video-frame chunk types rather than some unrelated animation-side bookkeeping path. +- Boundary analysis still reports one overlapped function object `FUN_000e_ffb0 @ 000e:ffb0 body 000e:ffb0 - 000f:00e0`, so the function remains comment-only for now. The useful gain is semantic: the unresolved body is now best described as `video-side subframe loader/decoder for the 00db/00dc chunk lane, paired with anim_load_audio_frame`. ### Constructor pattern diff --git a/docs/usecode-pentagram-ghidra-path.md b/docs/usecode-pentagram-ghidra-path.md new file mode 100644 index 0000000..ed4c0c1 --- /dev/null +++ b/docs/usecode-pentagram-ghidra-path.md @@ -0,0 +1,205 @@ +# Pentagram-Derived USECODE Parser And Ghidra Path + +## Purpose + +This note turns the earlier feasibility assessment into a concrete workflow. + +The goal is not to make Ghidra decompile Crusader USECODE as if it were x86 immediately. The goal is to build one trustworthy bridge layer first: + +- reuse Pentagram's Crusader opcode decoding where it is still valid +- replace Pentagram's older Crusader container/header assumptions with the owner-loaded class and slot model already verified in the binary and extractor +- emit a lossless IR that can drive both human-readable USECODE output and future Ghidra annotations + +## What To Reuse From Pentagram + +Useful directly: + +- the opcode tokenization model from `convert/Convert.h` +- the disassembly-oriented mnemonic layout from `tools/disasm/Disasm.cpp` +- the Crusader event ordinal table from `convert/crusader/ConvertUsecodeCrusader.h` + +Useful only as hints: + +- intrinsic names and signatures +- old event-name labels for still-unresolved higher ordinals + +Not safe to reuse unchanged: + +- Pentagram's Crusader header reader +- any assumption that its old `maxOffset` / `externTable` / `fixupTable` structure matches the owner-loaded EUSECODE class bodies now validated in the extractor and DOS binary +- the partial Node-based decompiler path as if it were a general Crusader decompiler + +## Verified Local Model To Use Instead + +The proof-of-concept parser should be grounded in the existing local artifacts, not in Pentagram's old header logic. + +Current authoritative inputs: + +- `USECODE/EUSECODE_extracted/class_layout_index.tsv` +- `USECODE/EUSECODE_extracted/class_event_index.tsv` +- `USECODE/EUSECODE_extracted/chunks/` + +Current authoritative facts: + +- owner-loaded class object index is `class_id + 2` +- class bytes `8..11` provide the code-base anchor already carried in `class_layout_index.tsv` +- slot rows are 6-byte records: `u16 raw_event_entry_word + u32 raw_code_offset` +- slot body windows are already emitted conservatively as `derived_body_start`, `derived_body_end`, and `derived_body_length` + +## End-To-End Process + +### 1. Start from extracted owner-loaded artifacts + +The parser should not reopen `EUSECODE.FLX` directly for the proof of concept. The extractor has already normalized the class and slot selection step. + +Inputs: + +- one row from `class_layout_index.tsv` +- one row from `class_event_index.tsv` +- the corresponding chunk file under `USECODE/EUSECODE_extracted/chunks/` + +### 2. Select one body window conservatively + +For a chosen class and slot: + +- locate `entry_index` +- confirm `derived_body_start` and `derived_body_end` +- slice the chunk-local body bytes exactly from that range + +### 3. Decode opcodes with Pentagram-derived operand formats + +Use Pentagram's operand-width model as the first parser source of truth. + +For the proof of concept, keep decoding conservative: + +- parse the op exactly when the operand format is understood +- keep the raw bytes for every parsed op +- stop cleanly on an unknown opcode and preserve the remaining tail bytes + +### 4. Emit canonical IR v1 + +The parser output should be one machine-friendly object that includes: + +- source artifact metadata +- class metadata +- slot/event metadata +- exact op list with raw bytes +- annotation hints for compiled-side VM anchors + +### 5. Feed Ghidra with annotations, not with fake code yet + +The first Ghidra-side use should be comments, bookmarks, and cross-reference notes on the compiled VM functions. + +Do not try to map the bytecode into a full processor module first. + +## Proof-Of-Concept Parser + +Tool path: + +- `tools/poc_crusader_usecode_parser.py` + +Current scope: + +- uses the extracted TSV and chunk artifacts already in the repo +- disassembles one selected class/slot body at a time +- emits canonical IR JSON +- optionally emits a readable text listing beside the JSON + +Current deliberate limits: + +- no full intrinsic name table yet +- no synthetic control-flow graph yet +- no recompilation path yet +- no Ghidra importer yet + +That keeps the parser useful without pretending the VM is fully solved. + +## Canonical Ghidra Annotation Import Path + +The first importer should consume the parser IR and create only three kinds of output. + +### 1. Bookmarks + +Use bookmarks for class/slot-level evidence that should not be hidden inside comments. + +Good first bookmark payloads: + +- `NPCTRIG slot 0x0A body parsed by POC tool` +- `EVENT slot 0x0A body parsed by POC tool` +- `slot 0x13 payload-shape hint = signed_word` + +### 2. Plate or decompiler comments on compiled anchors + +Use comments on the compiled runtime functions that already consume or materialize the USECODE bodies. + +Best current anchors: + +- `000d:51fd` = slot value load path +- `000d:5572` = slot value plus additive word +- `000d:46ec` = context create from slot index +- `000d:22bc` = decoded matrix/pushback consumer +- `000d:ebe3` = opcode sequence runner + +Comment payload should stay short and evidence-heavy, for example: + +`POC USECODE body anchor: NPCTRIG slot 0x0A -> body 0x00DA..0x024F, raw word 0x013E, payload shape unresolved, parsed via tools/poc_crusader_usecode_parser.py` + +### 3. Optional comment bundles per runtime family + +If a later importer wants to annotate more than one function at once, keep it grouped by runtime family instead of by class name. + +Examples: + +- `slot-backed-owner-loaded-body` +- `slot-plus-offset-value-reload` +- `sequencer-matrix-consumer` +- `literal-replay-interpreter-upstream` + +## Why Not A Ghidra Processor Yet + +The missing pieces are still too important: + +- full opcode semantics are incomplete +- stack and return discipline are incomplete +- the relation between owner-loaded body bytes and the later `000c:fa2f` literal/replay lane is still not closed end-to-end +- the upstream selector into `entity_vm_opcode_sequence_run` is still unresolved + +So the right order is: + +1. parser +2. IR +3. annotation import +4. only then reconsider a language module + +## User Workflow + +Run the proof-of-concept parser from the repo root. + +Example: + +```powershell +c:/Users/Maddo/.PYENV/PYENV-WIN/versions/3.14.3/python.exe tools/poc_crusader_usecode_parser.py --class NPCTRIG --slot 0x0A --emit-text +``` + +Recommended first targets: + +1. `NPCTRIG` slot `0x0A` +2. `NPCTRIG` slot `0x20` +3. `EVENT` slot `0x0A` +4. one `_BOOT` slot `0x10` body as a short repeated-template control sample + +What to look for in the output: + +- exact raw body window +- whether the body terminates cleanly at opcode `0x7A` +- body-local call targets and global-address ops +- repeated structural motifs that can be carried back into the VM notes +- anchor hints for the compiled runtime functions + +## Next Extensions + +1. Add the full Crusader intrinsic-name table from Pentagram as hint-only metadata. +2. Emit repeated-body family diffs directly from the parser instead of only from the extractor reports. +3. Add a small importer that converts `annotation_hints` into Ghidra comments and bookmarks. +4. Extend the IR with control-flow edges only after branch/jump confidence is high enough. +5. Tie parser output back to the current slot/additive runtime tuples used in the compiled VM lane. \ No newline at end of file diff --git a/docs/usecode-roundtrip-ir.md b/docs/usecode-roundtrip-ir.md index 9d877d9..ed88833 100644 --- a/docs/usecode-roundtrip-ir.md +++ b/docs/usecode-roundtrip-ir.md @@ -359,6 +359,135 @@ class: confidence: authoritative-bytes, hinted-label ``` +## IR v1 Parser Schema + +The next tooling step changes the role of this document slightly. IR v0 was a note-level target for reversible human-readable output. IR v1 is the canonical machine-facing schema for the Pentagram-derived proof-of-concept parser and any future Ghidra annotation bridge. + +The design constraints are now explicit: + +- keep every authoritative owner-loaded byte visible +- keep slot identity separate from semantic name hints +- keep runtime-facing metadata visible even when the body decompiler cannot yet explain it +- preserve enough structure to emit Ghidra comments and bookmarks later without reparsing prose notes + +### Top-level IR object + +```yaml +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: 0x365 + class_id: 0x363 + class_name: NPCTRIG + raw_code_base_u32: 0x00da + code_base_minus_one: 0x00d9 + conservative_event_count: 0x21 +event: + slot: 0x0a + event_name_hint: equip + raw_event_entry_word: 0x013e + raw_code_offset: 0x00000001 + derived_body_start: 0x00da + derived_body_end: 0x024f + derived_body_length: 373 + repeated_template_status: "" +body: + end_reason: end_opcode + raw_body_sha1: + unknown_trailing_bytes: "" +ops: + - offset: 0x0000 + absolute_body_offset: 0x00da + opcode: 0x5a + mnemonic: init + raw_bytes: 5a06 + operands: + local_bytes: 0x06 + - offset: 0x0011 + absolute_body_offset: 0x00eb + opcode: 0x40 + mnemonic: push_local_dword + raw_bytes: 40064c02 + operands: + bp_offset: 0x06 +annotation_hints: + runtime_family: slot-backed-owner-loaded-body + compiled_anchors: + - 000d:51fd + - 000d:5572 + - 000d:46ec + - 000d:ebe3 +``` + +### Required fields + +`source` keeps the specific extracted artifact path so the parser output can always be checked against the raw chunk bytes. + +`class` keeps the owner-loaded identity and header math already validated in the binary. + +`event` keeps the exact six-byte row meaningfully split into authoritative fields plus the derived body window. + +`body` records how far the parser got and whether any bytes remain undecoded or trailing. + +`ops` is intentionally lossless. Each decoded op keeps: + +- body-relative offset +- absolute chunk-local offset +- raw opcode byte +- mnemonic +- exact raw bytes for the whole op +- parsed operands as typed fields + +`annotation_hints` is the bridge to Ghidra. It is not a source-language feature. It exists so a later importer can attach the right comments and bookmarks to the compiled VM/runtime addresses without trying to infer them from free text. + +### Opcode result policy + +The parser should use four result classes only: + +- `decoded_op`: normal parsed opcode with structured operands +- `unknown_opcode`: one-byte opcode not yet modeled; stop or fall back conservatively +- `raw_tail`: remaining undecoded bytes after a stop condition +- `debug_blob`: symbol/debug tail such as `0x5c`-anchored metadata + +That keeps the IR trustworthy even before the whole Crusader VM is modeled. + +### Call-site hint policy + +For `call` and `spawn`-family ops, the parser may attach: + +- `target_class_id` +- `target_event_slot` +- `target_event_name_hint` + +It should not attach a stronger semantic claim than that. The body parser is class/event aware, but not yet authoritative about gameplay meaning. + +### Annotation-hint schema + +The Ghidra bridge should consume only small, stable items: + +```yaml +annotation_hints: + runtime_family: slot-backed-owner-loaded-body + payload_shape_hint: signed_word + compiled_anchors: + - address: 000d:51fd + role: slot_value_loader + - address: 000d:5572 + role: slot_value_plus_offset + - address: 000d:46ec + role: context_create_from_slot + - address: 000d:ebe3 + role: opcode_sequence_run + - address: 000d:22bc + role: matrix_pushback_stage +``` + +This is deliberately smaller than a full import format. It keeps the parser reusable even if the first Ghidra-side importer is only a comment/bookmark script. + That is already a real decompilation output. It keeps the exact slot id, the exact six-byte row contents, and the exact class-header facts, while refusing to pretend that `use` is already a proven semantic name for this class. Here is the same style for one active event-bearing attachment class in the same island: @@ -543,6 +672,43 @@ vm_effect_possible: That operator block is authoritative as a recovered VM vocabulary, but only ecosystem-level when attached to one specific descriptor family. +### Binary-side slot and payload-shape evidence to preserve in IR + +The current VM pass also adds one useful binary-side rule for the higher event ordinals: the compiled wrapper family distinguishes slot identity from payload shape, and that distinction should survive in any round-trip IR even when the human label stays unresolved. + +Verified current ladder around `0005:3115..31da`: + +- slot `0x10`: guarded callsite only, zero extra word, packed mask `0x00010000` +- slot `0x11`: named wrapper `entity_vm_context_try_create_mask_00020000_slot11_with_offset`, one caller-supplied extra word +- slot `0x12`: named wrapper `entity_vm_context_try_create_mask_00040000_slot12`, zero extra word +- slot `0x13`: named wrapper `entity_vm_context_try_create_mask_00080000_slot13_with_offset_if_valid_entity`, one sign-extended extra word after an entity-validity gate +- slot `0x14`: named wrapper `entity_vm_context_try_create_mask_00100000_slot14_with_offset`, one caller-supplied extra word + +Why this matters for the IR: + +- It is direct binary evidence that some higher Crusader slot ordinals are already grouped by argument shape before any descriptor-family mapping is proven. +- That means the IR should preserve `slot_id` plus `payload_shape` independently instead of collapsing everything into one guessed event-name table. +- It also gives a bounded way to cross-check external event signatures without over-trusting them: slot `0x12` fits a zero-arg event shape, slot `0x13` fits a one-word event shape, and slot `0x14` currently conflicts with Pentagram's older zero-arg `animGetHit()` note. + +Practical annotation rule to adopt now: + +- keep higher-slot labels binary-stable as `slot 0x10` .. `slot 0x14` unless local behavior closes the label +- attach external event names only as hints +- attach one small `payload_shape_hint` field such as `none`, `word`, or `signed_word` + +Minimal hinted example: + +```yaml +slot_record: + slot_id: 0x13 + event_name_hint: avatarStoleSomething + payload_shape_hint: signed_word + binary_anchor: 0005:31da + wrapper_name: entity_vm_context_try_create_mask_00080000_slot13_with_offset_if_valid_entity +``` + +The same pass also hardens one existing IR operator boundary: the `000d:22bc` stage is now comment-backed in Ghidra as a matrix/pushback consumer over decoded workspace bytes, not a direct descriptor-row reader. The current safe attachment point is therefore still `decoded VM workspace -> link-matrix stage`, not `NPCTRIG row -> direct entity-link emission`. + ## Conservative Parser Rule To Adopt Now For the current owner-loaded EUSECODE and round-trip IR work, the safest reversible rule is: diff --git a/family_diff_NPCTRIG_0A.txt b/family_diff_NPCTRIG_0A.txt new file mode 100644 index 0000000..f12f070 --- /dev/null +++ b/family_diff_NPCTRIG_0A.txt @@ -0,0 +1,592 @@ +Family diff: slot_0x0A_all +Reference entry=191 class=NPCTRIG slot=0x0A +Members: 402 Siblings: 401 + + entry=191 class=NPCTRIG slot=0x0A body_len=373 [REF] + entry=1 class=BLACK8 slot=0x0A body_len=? + entry=2 class=RDOOR_N slot=0x0A body_len=? + entry=3 class=BLACK16 slot=0x0A body_len=? + entry=4 class=ALARM_EW slot=0x0A body_len=? + entry=5 class=SMALLTAB slot=0x0A body_len=? + entry=6 class=VALVE slot=0x0A body_len=? + entry=7 class=MDOOR_E slot=0x0A body_len=? + entry=8 class=ALARM_NS slot=0x0A body_len=? + entry=9 class=RFANEW slot=0x0A body_len=? + entry=10 class=FALLINGC slot=0x0A body_len=? + entry=11 class=SWITCHEW slot=0x0A body_len=? + entry=12 class=CONVEY_N slot=0x0A body_len=? + entry=13 class=YR2X6EW slot=0x0A body_len=? + entry=14 class=RDOOR_E slot=0x0A body_len=? + entry=15 class=BOX_EW slot=0x0A body_len=? + entry=16 class=BOX_NS slot=0x0A body_len=? + entry=17 class=YR16X6EW slot=0x0A body_len=? + entry=18 class=YR16X6NS slot=0x0A body_len=? + entry=19 class=YR8X6NS slot=0x0A body_len=? + entry=20 class=YR4X6NS slot=0x0A body_len=? + entry=21 class=YR2X6NS slot=0x0A body_len=? + entry=22 class=LUGGAGE slot=0x0A body_len=? + entry=23 class=YR8X6EW slot=0x0A body_len=? + entry=24 class=YR4X6EW slot=0x0A body_len=? + entry=25 class=YR1X1 slot=0x0A body_len=? + entry=26 class=PEPSIEW slot=0x0A body_len=? + entry=27 class=GDOOR_E2 slot=0x0A body_len=? + entry=28 class=CATWALK1 slot=0x0A body_len=? + entry=29 class=GDOOR_N2 slot=0x0A body_len=? + entry=30 class=PEPSINS slot=0x0A body_len=? + entry=31 class=PANELNS slot=0x0A body_len=? + entry=32 class=PANELEW slot=0x0A body_len=? + entry=33 class=MDOOR_N slot=0x0A body_len=? + entry=34 class=BARRELUP slot=0x0A body_len=? + entry=35 class=SIGNEW slot=0x0A body_len=? + entry=36 class=SIGNNS slot=0x0A body_len=? + entry=37 class=RFANNS slot=0x0A body_len=? + entry=38 class=RDOOR1_E slot=0x0A body_len=? + entry=39 class=RDOOR2_E slot=0x0A body_len=? + entry=40 class=RDOOR3_E slot=0x0A body_len=? + entry=41 class=RDOOR4_E slot=0x0A body_len=? + entry=42 class=RDOOR5_E slot=0x0A body_len=? + entry=43 class=BROKENCW slot=0x0A body_len=? + entry=44 class=STELEPAD slot=0x0A body_len=? + entry=45 class=MONITNS slot=0x0A body_len=? + entry=46 class=GATGUNNS slot=0x0A body_len=? + entry=47 class=GTELEPAD slot=0x0A body_len=? + entry=48 class=GATGUNEW slot=0x0A body_len=? + entry=49 class=FASTSKIL slot=0x0A body_len=? + entry=50 class=ELEVPLAT slot=0x0A body_len=? + entry=51 class=CATWALK2 slot=0x0A body_len=? + entry=52 class=LIFT slot=0x0A body_len=? + entry=53 class=CONVEY_E slot=0x0A body_len=? + entry=54 class=FFFLOOR slot=0x0A body_len=? + entry=55 class=RECHAGNS slot=0x0A body_len=? + entry=56 class=RECHFLNS slot=0x0A body_len=? + entry=57 class=FIGHT_N2 slot=0x0A body_len=? + entry=58 class=DEATHFL3 slot=0x0A body_len=? + entry=59 class=BARRELS slot=0x0A body_len=? + entry=60 class=BARRELNS slot=0x0A body_len=? + entry=61 class=BARRELEW slot=0x0A body_len=? + entry=62 class=BARRELNW slot=0x0A body_len=? + entry=63 class=BARRELSE slot=0x0A body_len=? + entry=64 class=RECHAGEW slot=0x0A body_len=? + entry=65 class=RECHFLEW slot=0x0A body_len=? + entry=66 class=G_POOL slot=0x0A body_len=? + entry=67 class=Y_POOL slot=0x0A body_len=? + entry=68 class=MONITEW slot=0x0A body_len=? + entry=69 class=THERM slot=0x0A body_len=? + entry=70 class=MALRM_NS slot=0x0A body_len=? + entry=71 class=FIGHT_NS slot=0x0A body_len=? + entry=72 class=FIGHT_N3 slot=0x0A body_len=? + entry=73 class=FIGHT_N1 slot=0x0A body_len=? + entry=74 class=RTELEPAD slot=0x0A body_len=? + entry=75 class=MTELEPAD slot=0x0A body_len=? + entry=76 class=FIGHT_E3 slot=0x0A body_len=? + entry=77 class=FIGHT_E1 slot=0x0A body_len=? + entry=78 class=FIGHT_E2 slot=0x0A body_len=? + entry=79 class=PPLATE slot=0x0A body_len=? + entry=80 class=PPLATE2 slot=0x0A body_len=? + entry=81 class=FIGHT_EW slot=0x0A body_len=? + entry=82 class=LAZERNS slot=0x0A body_len=? + entry=83 class=LAZEREW slot=0x0A body_len=? + entry=84 class=RADAR slot=0x0A body_len=? + entry=85 class=RSTATION slot=0x0A body_len=? + entry=86 class=JOHN slot=0x0A body_len=? + entry=87 class=ENFORCER slot=0x0A body_len=? + entry=88 class=CAMERACO slot=0x0A body_len=? + entry=89 class=MOTION slot=0x0A body_len=? + entry=90 class=CAMERANS slot=0x0A body_len=? + entry=91 class=CAM_EW slot=0x0A body_len=? + entry=92 class=CAM_NS slot=0x0A body_len=? + entry=93 class=FUSREACT slot=0x0A body_len=? + entry=94 class=TRANSFOR slot=0x0A body_len=? + entry=95 class=SHOCKEW slot=0x0A body_len=? + entry=96 class=FFFLOOR2 slot=0x0A body_len=? + entry=97 class=SHOCKNS slot=0x0A body_len=? + entry=98 class=L_NS-2 slot=0x0A body_len=? + entry=99 class=L_NS-4 slot=0x0A body_len=? + entry=100 class=SENTRY slot=0x0A body_len=149 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (146B): 005c790053454e5452590000000b110240064c0277785b35005b34000f001b005e0a0036512b005b3600593f0a0f001b005e40065704021a0a24006efc5e54010112535c370053454e5452590000005227005b3a00593f0a4e3c000240065704021a0a24006efc5e54010112535c0d0053454e5452590000005b3c005002016900007265666572656e740000690a00766172 + entry=101 class=L_NS-8 slot=0x0A body_len=? + entry=102 class=L_NS-16 slot=0x0A body_len=? + entry=103 class=L_EW-2 slot=0x0A body_len=? + entry=104 class=L_EW-4 slot=0x0A body_len=? + entry=105 class=L_EW-8 slot=0x0A body_len=? + entry=106 class=L_EW-16 slot=0x0A body_len=? + entry=107 class=MDESKEW slot=0x0A body_len=? + entry=108 class=LASERI slot=0x0A body_len=? + entry=109 class=BUBBLE slot=0x0A body_len=? + entry=110 class=CAMERAEW slot=0x0A body_len=? + entry=111 class=TELEPAD slot=0x0A body_len=? + entry=112 class=MDESKNS slot=0x0A body_len=? + entry=113 class=MBARREL slot=0x0A body_len=? + entry=114 class=S_CHAIR slot=0x0A body_len=? + entry=115 class=TARGETNS slot=0x0A body_len=? + entry=116 class=TARGETEW slot=0x0A body_len=? + entry=117 class=BART slot=0x0A body_len=? + entry=118 class=SMALCHAI slot=0x0A body_len=? + entry=119 class=MFAN_NS slot=0x0A body_len=? + entry=120 class=MFAN_EW slot=0x0A body_len=? + entry=121 class=SAFE_NS slot=0x0A body_len=815 + prefix=3 suffix=2 + ref_diff_window (368B): 3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (810B): f402534146455f4e5300000b110240064c0277785b12003f0a5143025b15000a4c40060f0615006efa5b16000a0001fa3ffa0a102a5140005b18003ffa40060f0659006efa5b1900590a0a0c000000005702000c0a32006efe5e54010112535c9402534146455f4e5300005b16000a013ffa1401fa52b8ff5b1b000a4c40060f0638006efa5b2100590a0040064c024006570402180a20006efc5e54010112535c5302534146455f4e5300007424743d74405b26000b760474250a0a0a201e5b270040064c0270fe060251fa005b29005b280040060f04ea006efc5e4bfe0f04ea006efc5e2451da005b2a003ffe110c0a2e006efe5e01fc5b33005b32005b31005b2f004bfc0f043c006efc5e0a0a245b30004bfc0f043c006efc5e0a0b24345b31004bfc0f043c006efc5e0a0c24345b32004bfc0f043c006efc5e0a0d2434515a005b37005b36000a013ffc0f04b8006efc5d305142005b38000bb00040060f0615006efa5b39004bfc0f0422006efc5b3a00793c000f0409006efc5d793c000f0414006efc5e793c000f0413006efc5e4bfc0f0a20006ef65226005b3f00593ffc0c000000005702000c0a31006efe5e54010112535c3c01534146455f4e530000735203ff6ec65b6b00590a0140064c024006570402180a20006efc5e54010112535c0f01534146455f4e5300005b6e000a4c40060f0615006efa5b6f000a0001fa3ffa0a102a5143005b71000a103ffa1c40060f0659006efa5b7200590a0a0c000000005702000c0a32006efe5e54010112535cbd00534146455f4e5300005b6f000a013ffa1401fa52b5ff5b74000a4c40060f0638006efa5293005b7a00590a0140064c024006570402180a20006efc5e54010112535c7900534146455f4e5300005b7d000a4c40060f0615006efa5b7e000a0001fa3ffa0a102a5143005b80000a103ffa1c40060f0659006efa5b8100590a0a0c000000005702000c0a32006efe5e54010112535c2700534146455f4e5300005b7e000a013ffa1401fa52b5ff5b83000a4c40060f0638006efa5b86005005016900007265666572656e740000690a00766172000024fe026974656d000024fc026974656d32000069fa00636f756e746572 + entry=122 class=SAFE_EW slot=0x0A body_len=815 + prefix=3 suffix=2 + ref_diff_window (368B): 3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (810B): f402534146455f455700000b110240064c0277785b14003f0a5143025b17000a4c40060f0615006efa5b18000a0001fa3ffa0a102a5140005b1a003ffa40060f0659006efa5b1b00590a0a0c000000005702000c0a32006efe5e54010112535c9402534146455f455700005b18000a013ffa1401fa52b8ff5b1d000a4c40060f0638006efa5b2300590a0040064c024006570402180a20006efc5e54010112535c5302534146455f455700007424743d74405b28000b760474250a0a0a201e5b290040064c0270fe060251fa005b2b005b2a0040060f04ea006efc5e4bfe0f04ea006efc5e2451da005b2c003ffe110c0a2e006efe5e01fc5b35005b34005b33005b31004bfc0f043c006efc5e0a0a245b32004bfc0f043c006efc5e0a0b24345b33004bfc0f043c006efc5e0a0c24345b34004bfc0f043c006efc5e0a0d2434515a005b39005b38000a013ffc0f04b8006efc5d305142005b3a000bb00040060f0615006efa5b3b004bfc0f0422006efc5b3c00793c000f0409006efc5d793c000f0414006efc5e793c000f0413006efc5e4bfc0f0a20006ef65226005b4100593ffc0c000000005702000c0a31006efe5e54010112535c3c01534146455f45570000735203ff6ec65b6e00590a0140064c024006570402180a20006efc5e54010112535c0f01534146455f455700005b71000a4c40060f0615006efa5b72000a0001fa3ffa0a102a5143005b74000a103ffa1c40060f0659006efa5b7500590a0a0c000000005702000c0a32006efe5e54010112535cbd00534146455f455700005b72000a013ffa1401fa52b5ff5b77000a4c40060f0638006efa5293005b7d00590a0140064c024006570402180a20006efc5e54010112535c7900534146455f455700005b80000a4c40060f0615006efa5b81000a0001fa3ffa0a102a5143005b83000a103ffa1c40060f0659006efa5b8400590a0a0c000000005702000c0a32006efe5e54010112535c2700534146455f455700005b81000a013ffa1401fa52b5ff5b86000a4c40060f0638006efa5b89005005016900007265666572656e740000690a00766172000024fe026974656d000024fc026974656d32000069fa00636f756e746572 + entry=123 class=BETTY slot=0x0A body_len=159 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (156B): 005c83004245545459000000000b110240064c0277785b0f003f0a5146005b100040060f0404006efc5e0b0010395106005b1200524c005b15000b00104006111e0a23006efa5b16000a4c40060f062a006efa5b17004006570002010a20005e12521f005b1c000b00104006111e0a24006efa5b1d000a0140064c02110c0a33006efc5b1f005002016900007265666572656e740000690a00766172 + entry=124 class=ELEVATOR slot=0x0A body_len=? + entry=125 class=DEATHFL1 slot=0x0A body_len=? + entry=126 class=DEATHFL2 slot=0x0A body_len=? + entry=127 class=D_BARREL slot=0x0A body_len=? + entry=128 class=CONVFLR slot=0x0A body_len=258 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (255B): 005ce600434f4e56464c5200000b110240064c0277785b0e005b0d003f0a0a0024513c005b0f000bff0040060f062d006efa5b10000b050240064c02110c0a33006efc5b11000a7340060f0638006efa5b12000a7440060f0615006efa5286005b15005b14003f0a0a01245135005b16000b050240064c02110c0a33006efc5b17000a0040060f062d006efa5b18000afd0a004006570402040a20006efc5e125243005b1b005b1a003f0a0a02245135005b1c000b050240064c02110c0a33006efc5b1d000a0140060f062d006efa5b1e000a030a004006570402040a20006efc5e125200005b20005002016900007265666572656e740000690a00766172 + entry=129 class=PODBOY slot=0x0A body_len=? + entry=130 class=VALUEBOX slot=0x0A body_len=? + entry=131 class=STATICNS slot=0x0A body_len=? + entry=132 class=BIGCOMNS slot=0x0A body_len=? + entry=133 class=BIGCOMEW slot=0x0A body_len=? + entry=134 class=EYECAMNS slot=0x0A body_len=149 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (146B): 005c790045594543414d4e53000b110240064c0277785b3a005b39000f001b005e0a0036512b005b3b00593f0a0f001b005e40065704021a0a24006efc5e54010112535c370045594543414d4e53005227005b3f00593f0a4e3c000240065704021a0a24006efc5e54010112535c0d0045594543414d4e53005b41005002016900007265666572656e740000690a00766172 + entry=135 class=EYECAMEW slot=0x0A body_len=149 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (146B): 005c790045594543414d4557000b110240064c0277785b37005b36000f001b005e0a0036512b005b3800593f0a0f001b005e40065704021a0a24006efc5e54010112535c370045594543414d4557005227005b3c00593f0a4e3c000240065704021a0a24006efc5e54010112535c0d0045594543414d4557005b3e005002016900007265666572656e740000690a00766172 + entry=136 class=MALRM_EW slot=0x0A body_len=? + entry=137 class=GLASS_EW slot=0x0A body_len=? + entry=138 class=ESPACE2 slot=0x0A body_len=85 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (82B): 005c39004553504143453200000b110240064c0277785b2b00593f0a4006570202030a20006efe5e54010112535c0d004553504143453200005b2c005002016900007265666572656e740000690a00766172 + entry=139 class=CONV_NL slot=0x0A body_len=258 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (255B): 005ce600434f4e565f4e4c00000b110240064c0277785b0e005b0d003f0a0a0024513c005b0f000bff0040060f062d006efa5b10000b050240064c02110c0a33006efc5b11000a7340060f0638006efa5b12000a7440060f0615006efa5286005b15005b14003f0a0a01245135005b16000b050240064c02110c0a33006efc5b17000a0040060f062d006efa5b18000a000afd4006570402040a20006efc5e125243005b1b005b1a003f0a0a02245135005b1c000b050240064c02110c0a33006efc5b1d000a0140060f062d006efa5b1e000a000a034006570402040a20006efc5e125200005b20005002016900007265666572656e740000690a00766172 + entry=140 class=CONV_EL slot=0x0A body_len=258 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (255B): 005ce600434f4e565f454c00000b110240064c0277785b0e005b0d003f0a0a0024513c005b0f000bff0040060f062d006efa5b10000b050240064c02110c0a33006efc5b11000a7340060f0638006efa5b12000a7440060f0615006efa5286005b15005b14003f0a0a01245135005b16000b050240064c02110c0a33006efc5b17000a0040060f062d006efa5b18000afd0a004006570402040a20006efc5e125243005b1b005b1a003f0a0a02245135005b1c000b050240064c02110c0a33006efc5b1d000a0140060f062d006efa5b1e000a030a004006570402040a20006efc5e125200005b21005002016900007265666572656e740000690a00766172 + entry=141 class=MGR_NS slot=0x0A body_len=? + entry=142 class=MINELET slot=0x0A body_len=? + entry=143 class=FLORMINE slot=0x0A body_len=? + entry=144 class=SWITCHNS slot=0x0A body_len=? + entry=145 class=HOVER_EW slot=0x0A body_len=85 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (82B): 005c3900484f5645525f4557000b110240064c0277785b1800593f0a40065702020d0a22006efe5e54010112535c0d00484f5645525f4557005b19005002016900007265666572656e740000690a00766172 + entry=146 class=HOVER_NS slot=0x0A body_len=85 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (82B): 005c3900484f5645525f4e53000b110240064c0277785b1800593f0a40065702020d0a22006efe5e54010112535c0d00484f5645525f4e53005b19005002016900007265666572656e740000690a00766172 + entry=147 class=MGR_EW slot=0x0A body_len=? + entry=148 class=SSBOX_EW slot=0x0A body_len=? + entry=149 class=BLASERNS slot=0x0A body_len=144 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (141B): 025c6e00424c415345524e53000b110240064c0277785b1b003f0a0a01245121005b1e0040060f0426006efc5e01fe5b1f003ffe0a043a40060f062d006efa522c005b22003f0a0a1f245121005b240040060f0426006efc5e01fe5b25003ffe0a083a40060f062d006efa5200005b27005003016900007265666572656e740000690a00766172000069fe0068 + entry=150 class=BLASEREW slot=0x0A body_len=144 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (141B): 025c6e00424c415345524557000b110240064c0277785b1b003f0a0a01245121005b1e0040060f0426006efc5e01fe5b1f003ffe0a043a40060f062d006efa522c005b22003f0a0a1f245121005b240040060f0426006efc5e01fe5b25003ffe0a083a40060f062d006efa5200005b27005003016900007265666572656e740000690a00766172000069fe0068 + entry=151 class=BETTYUP slot=0x0A body_len=177 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (174B): 005c95004245545459555000000b110240064c0277785b2f003f0a5146005b300040060f0404006efc5e0b0010395106005b3200525e005b35000b00104006111e0a23006efa5b36000a4c40060f062a006efa5b37004006570002010a20005e125231005b3c000b00104006111e0a24006efa5b3d000b050240064c02110c0a33006efc5b3e000bf00040064c02110c0a33006efc5b40005002016900007265666572656e740000690a00766172 + entry=152 class=SSBOX_NS slot=0x0A body_len=? + entry=153 class=ROAMING slot=0x0A body_len=? + entry=154 class=STABLE slot=0x0A body_len=? + entry=155 class=LIFTPIT slot=0x0A body_len=? + entry=156 class=CONGRESS slot=0x0A body_len=? + entry=157 class=SICBOXNS slot=0x0A body_len=? + entry=158 class=SICBFLNS slot=0x0A body_len=? + entry=159 class=PRISBENC slot=0x0A body_len=? + entry=160 class=PRISSIT slot=0x0A body_len=? + entry=161 class=PRISLEAN slot=0x0A body_len=? + entry=162 class=WALGUNNS slot=0x0A body_len=149 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (146B): 005c790057414c47554e4e53000b110240064c0277785b36005b35000f001b005e0a0036512b005b3700593f0a0f001b005e40065704021a0a24006efc5e54010112535c370057414c47554e4e53005227005b3b00593f0a4e3c000240065704021a0a24006efc5e54010112535c0d0057414c47554e4e53005b3d005002016900007265666572656e740000690a00766172 + entry=163 class=GLASS_NS slot=0x0A body_len=? + entry=164 class=MAINTMAN slot=0x0A body_len=? + entry=165 class=CHEMSUIT slot=0x0A body_len=? + entry=166 class=OFFWORK slot=0x0A body_len=? + entry=167 class=GUARD slot=0x0A body_len=? + entry=168 class=GDOOR_N slot=0x0A body_len=? + entry=169 class=GDOOR_E slot=0x0A body_len=? + entry=170 class=BIGCAN slot=0x0A body_len=? + entry=171 class=AND_BOOT slot=0x0A body_len=595 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (592B): 025c2902414e445f424f4f54000b110240064c0277785b14005b130040060f0401006efc5e0a0c245106005b150052f8015b19000a010f020c006efe5b1a000b1b0240064c02110c0a33006efc5b1b000a0140064c02793c000f060d006efa5d793c000f080e006ef85e125b1d0040060f0401006efc5e0a0b365140005b1f0040060f0401006efc5e0a011440060f0602006efa5b2000590a050c000000005702000c0a32006efe5e54010112535c7c01414e445f424f4f540052aeff5b2300590a050c000000005702000c0a32006efe5e54010112535c5301414e445f424f4f54004e1f00010a02245130005b2900590b96000bc8000d02003263006b40060f0c0f0065046ef45e54010112535c1c01414e445f424f4f540052a1004e1f00010a03245130005b2e00590b96000bc8000d02003365006b40060f0c0f0065046ef45e54010112535ce200414e445f424f4f54005267004e1f00010a04245130005b3400590b96000bc8000d02003463006b40060f0c0f0065046ef45e54010112535ca800414e445f424f4f5400522d005b3900590b96000bc8000d02003162006b40060f0c0f0065046ef45e54010112535c7800414e445f424f4f54005b3d000a0001fe3ffe0a0b2a5143005b3f000a0b3ffe1c40060f0602006efa5b4000590a0a0c000000005702000c0a32006efe5e54010112535c3300414e445f424f4f54005b3d000a013ffe1401fe52b5ff5b4400400657000214030f005e125b45000a000f020c006efe5b46005003016900007265666572656e740000690a006576656e74000069fe00636f756e746572 + entry=172 class=BRO_BOOT slot=0x0A body_len=725 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (722B): 025cab0242524f5f424f4f54000b110240064c0277785b15005b140040060f0401006efc5e0a0a245106005b1600527a025b19000a010f020c006efe5b1a000b1b0240064c02110c0a33006efc5b1b000a0140064c02793c000f060d006efa5d793c000f080e006ef85e125b1d0040060f0401006efc5e0a09365140005b1f0040060f0401006efc5e0a011440060f0602006efa5b2000590a050c000000005702000c0a32006efe5e54010112535cfe0142524f5f424f4f540052aeff5b2300590a050c000000005702000c0a32006efe5e54010112535cd50142524f5f424f4f54004e1f00010a02245130005b2900590b96000bc8000d02003264006b40060f0c0f0065046ef45e54010112535c9e0142524f5f424f4f54005223014e1f00010a03245130005b2e00590b96000bc8000d02003361006b40060f0c0f0065046ef45e54010112535c640142524f5f424f4f540052e9004e1f00010a04245130005b3400590b96000bc8000d02003464006b40060f0c0f0065046ef45e54010112535c2a0142524f5f424f4f540052af004e1f00010a05245130005b3900590b96000bc8000d02003564006b40060f0c0f0065046ef45e54010112535cf00042524f5f424f4f54005275004e1f00010a09245130005b3e00590b96000bc8000d02003962006b40060f0c0f0065046ef45e54010112535cb60042524f5f424f4f5400523b004e1f00010a0a245131005b4300590b96000bc8000d0300313062006b40060f0c0f0065046ef45e54010112535c7b0042524f5f424f4f54005200005b49000a0001fe3ffe0a092a5143005b4b000a093ffe1c40060f0602006efa5b4c00590a0a0c000000005702000c0a32006efe5e54010112535c330042524f5f424f4f54005b49000a013ffe1401fe52b5ff5b4f00400657000216030f005e125b50000a000f020c006efe5b52005003016900007265666572656e740000690a006576656e74000069fe00636f756e746572 + entry=173 class=CRUMORPH slot=0x0A body_len=522 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (519B): 045cdc014352554d4f525048000b110240064c0277787424743d743a5b10000a0674250be8030a201e5b110040064c0270fe060251a3015b12004bfe0f0408006efc5d5190015b15005b14004bfe0f040b006efc5e40060f042b006efc5e245174015b16004bfe0f0439006efc5d0a00245162015b19005b18004bfe11110a2b006efc5d305106005b1a00524e015b1e004bfe0f0450006efc5e01fc5b20004bfe0f0451006efc5b21000a014bfe0f0652006efa5b22000a014bfe0f0653006efa5b23000a014bfe0f0654006efa5b24000a704bfe0f0655006efa5b25004bfe0f0451006efc5b2600590a030c000000005702000c0a32006efe5e54010112535cdd004352554d4f525048005b2800594bfe570002110a28005e54010112535cbe004352554d4f525048005b2a003ffe0f0256006efe5b2d000f001b005e0a012c5129005b2f00590a020c000000005702000c0a32006efe5e54010112535c7f004352554d4f5250480052c9ff5b32004bfe0f0439006efc5d0a0024512a005b3400590a0040064c024006570402180a20006efc5e54010112535c43004352554d4f525048005227005b3800590a0140064c024006570402180a20006efc5e54010112535c19004352554d4f525048005b3b0052060073525afe6ec65b40005004016900007265666572656e740000690a00766172000024fe026e000069fc006c617374416374 + entry=174 class=GUARDSQ slot=0x0A body_len=? + entry=175 class=CARD_NS slot=0x0A body_len=? + entry=176 class=CARD_EW slot=0x0A body_len=? + entry=177 class=EWALLEW slot=0x0A body_len=? + entry=178 class=EWALLNS slot=0x0A body_len=? + entry=179 class=ESPACE slot=0x0A body_len=85 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (82B): 005c39004553504143450000000b110240064c0277785b2b00593f0a4006570202030a20006efe5e54010112535c0d004553504143450000005b2c005002016900007265666572656e740000690a00766172 + entry=180 class=WINDSURF slot=0x0A body_len=193 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (190B): 025c9c0057494e4453555246000b110240064c0277785b12003f0a40060f062d006efa5b14000b0c0240064c02110c0a33006efc5b16003f0a0bff00245106005b180052560074245b1b000a080a201e5b1c0040064c0270fe0102513c005b1e005b1d003ffe5b1e0040064c02365125005b1f003ffe40060f06a4006efa5d5114005b21000a003ffe4006570402370306006efc5e127352c1ff6ec65b26005003016900007265666572656e740000690a00766172000024fe026974656d + entry=181 class=THERMATR slot=0x0A body_len=? + entry=182 class=D_GUARD slot=0x0A body_len=? + entry=183 class=OBSERVER slot=0x0A body_len=? + entry=184 class=GRENADE slot=0x0A body_len=? + entry=185 class=SCIENTIS slot=0x0A body_len=? + entry=186 class=ROLL_NS slot=0x0A body_len=167 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (164B): 005c8b00524f4c4c5f4e5300000b110240064c0277785b24003f0a0a0124512a005b27005b260040060f0404006efc5e0b0010390a0024510e005b28004006570002460321005e125240005b2c003f0a0a02245135005b2e0040060f0404006efc5e0b001039511f005b30000b00103b40060f06e9006efa5b31000b1b0240064c020f046c006efc5200005b35005002016900007265666572656e740000690a00766172 + entry=187 class=REB_COUP slot=0x0A body_len=333 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (330B): 025c25015245425f434f5550000b110240064c0277785b2d000b1b0240064c02110c0a33006efc5b30003f0a5187005b32005b310040060f0404006efc5e5b32000b0010395106005b330052d7005b36000b00104006111e0a23006efa5b3a0040060f0401006efc5e01fe3ffe0a092a5140005b3c003ffe40060f0659006efa5b3d00590a0a0c000000005702000c0a32006efe5e54010112535c8c005245425f434f5550005b3a000a013ffe1401fe52b8ff526f005b43000a0001fe3ffe0a092a5143005b45000a093ffe1c40060f0659006efa5b4600590a0a0c000000005702000c0a32006efe5e54010112535c37005245425f434f5550005b43000a013ffe1401fe52b5ff5b49000b00104006111e0a24006efa5b4a0040065700024d030f005e125b4c005003016900007265666572656e740000690a0076616c000069fe00636f756e746572 + entry=188 class=MEDIKIT slot=0x0A body_len=? + entry=189 class=COR_BOOT slot=0x0A body_len=551 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (548B): 025cfd01434f525f424f4f54000b110240064c0277785b14005b130040060f0401006efc5e0a0a245106005b150052cc015b19000a010f020c006efe5b1a000b1b0240064c02110c0a33006efc5b1b000a0140064c02793c000f060d006efa5d793c000f080e006ef85e125b1d0040060f0401006efc5e0a09365140005b1f0040060f0401006efc5e0a011440060f0602006efa5b2000590a050c000000005702000c0a32006efe5e54010112535c5001434f525f424f4f540052aeff5b2300590a050c000000005702000c0a32006efe5e54010112535c2701434f525f424f4f54004e1f00010a02245130005b2900590b96000bc8000d02003265006b40060f0c0f0065046ef45e54010112535cf000434f525f424f4f54005275004e1f00010a08245130005b2e00590b96000bc8000d02003862006b40060f0c0f0065046ef45e54010112535cb600434f525f424f4f5400523b004e1f00010a0c245131005b3300590b96000bc8000d0300313262006b40060f0c0f0065046ef45e54010112535c7b00434f525f424f4f54005200005b38000a0001fe3ffe0a092a5143005b3a000a093ffe1c40060f0602006efa5b3b00590a0a0c000000005702000c0a32006efe5e54010112535c3300434f525f424f4f54005b38000a013ffe1401fe52b5ff5b3e00400657000260030f005e125b3f000a000f020c006efe5b40005003016900007265666572656e740000690a006576656e74000069fe00636f756e746572 + entry=190 class=EVENT slot=0x0A body_len=8150 + prefix=1 suffix=3 + ref_diff_window (369B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa02 + mem_diff_window (8146B): 2f5cf51e4556454e54000000000b110240064c0277785b340040060f0484006efc5e01eb3f0a0a0024512a005b3f00793c000f0411006efc5e0a0040060f0414006efc5e40060f0413006efc5e0f0840006ef8529f1e3f0a0a0124513c015b4500793c000f0433006efc5d5129005b4700590a020c000000005702000c0a32006efe5e54010112535c6e1e4556454e540000000052c7ff5b4a000a010f020c006efe5b4b00793c000f0485006efc5b4c000f0086005e01e95b4d000f0087005e01e75b4f0040060f0413006efc5e01e55b500040060f0414006efc5e01e35b5400590a020c000000005702000c0a32006efe5e54010112535cfe1d4556454e54000000005b5500590a000b80001440064c024006570402180a20006efc5e54010112535cd31d4556454e54000000005b5600590a020c000000005702000c0a32006efe5e54010112535cad1d4556454e54000000005b5800590a010b80001440064c024006570402180a20006efc5e54010112535c821d4556454e54000000005b5a00793c000f047b006efc5b5b000a000f020c006efe525b1d3f0a0a022451ce005b6100793c000f0433006efc5d5129005b6300590a020c000000005702000c0a32006efe5e54010112535c2a1d4556454e540000000052c7ff5b66000a010f020c006efe5b68005940060f0414006efc5e40060f0413006efc5e0c000000005704000c0a3d006efc5e54010112535ce61c4556454e54000000005b6900590a3c0c000000005702000c0a32006efe5e54010112535cc01c4556454e54000000005b6a00590a000b80001440064c024006570402180a20006efc5e54010112535c951c4556454e540000000052851c3f0a0a0324515b005b7000590c000000005700000c0a3e005e54010112535c681c4556454e54000000005b7100590a010b80001440064c024006570402180a20006efc5e54010112535c3d1c4556454e54000000005b73000a000f020c006efe52221c3f0a0a05245112005b79000a000a0040060f0817006ef852081c3f0a0a06245112005b7e000a000a0140060f0817006ef852ee1b3f0a0a07245112005b83000a000a0240060f0817006ef852d41b3f0a0a0824519d005b880040060f044f006efc5e01f15b8a003ff10a0024512e005b8c00590a000b80001440064c024006570402180a20006efc5e54010112535c951b4556454e54000000005253005b900040060f0484006efc5e01ef5b91003ff140060f063b006efa5b9200590a000b80001440064c024006570402180a20006efc5e54010112535c4c1b4556454e54000000005b93003fef40060f063b006efa522f1b3f0a0a0924518f005b990040060f0484006efc5e01f17424743d743a5b9c000a0174250a050a201e5b9d0040064c0270fe0602515c005ba0005b9f005b9e003ff14bfe0f0484006efc5e244bfe0f0403006efc5e0a0024325b9f0040064c023ffe36325128005ba10040060f044f006efc5e4bfe0f0688006efa5ba20040060f0489006efc5e4bfe0f0668006efa7352a1ff6ec652981a3f0a0a0a24513d017424743d74405ba9000b3a0374250a640a201e5baa0040064c0270fe06025136005bab0040060f0484006efc5e4bfe0f0484006efc5e245119005bad004bfe0f0401006efc5e0a00245107005baf003ffe01fc7352c7ff6ec67424743d74405bb4000b3a0374250a640a201e5bb50040064c0270fe06025139005bb7005bb60040060f0484006efc5e4bfe0f0484006efc5e245119005bb8004bfe0f0401006efc5e0a01245107005bba003ffe01fa7352c4ff6ec65bc0005bbf003ffc5bc0003ffa325174005bc1004bfa0f0413006efc5e01f35bc2004bfa0f0414006efc5e01f55bc3004bfa0f0409006efc5d00f75bc5000a000b43034bfe0f081f006ef85bc6004bfc0f0409006efc5d0a3c144bfc0f0414006efc5e4bfc0f0413006efc5e4bfe0f0a20006ef65bc7000a010a404bf34bfe0f0c8a006ef45253193f0a0a0f245137005bcd00793c000f0411006efc5e0a0040060f0414006efc5e40060f0413006efc5e0f0840006ef85bce0040064c020f0241006efe5214193f0a0a10245139005bd300793c000f0411006efc5e0a00793c000f0414006efc5e793c000f0413006efc5e0f0840006ef85bd4004e3c00020f0241006efe52d3183f0a0a1624519e005bda000f0086005e01e95bdb000f0087005e01e75bdd000a3640060f0615006efa5bde00793c000f0411006efc5e0a0040060f0414006efc5e40060f0413006efc5e0f0840006ef85bdf000a3640060f063a006efa5d5129005be100590a020c000000005702000c0a32006efe5e54010112535c59184556454e540000000052c6ff5be300793c000f0411006efc5e0a003fe73fe90f0840006ef8522d183f0a0a28245186005be9005be800793c000f0439006efc5d30516f005bea000a010f020c006efe5beb00793c000f0433006efc5d512600590a020c000000005702000c0a32006efe5e54010112535ce0174556454e540000000052caff5bec00590a010a00793c000f080e006ef85e54010112535cba174556454e54000000005bed0040060f040a006efc529f173f0a0a29245198025bf4005bf3004e2900010a0124793c000f0439006efc5d0a0124345106005bf5005273175bf8000a010f020c006efe5bf900590a3c0c000000005702000c0a32006efe5e54010112535c4f174556454e54000000005bfa00590a030a00793c00570402110a22006efc5e54010112535c29174556454e54000000005bfb00590a040a0e793c00570402110a22006efc5e54010112535c03174556454e54000000005bfc00590a030a0c793c00570402110a22006efc5e54010112535cdd164556454e54000000005bfd00590a000b1027793c000f041c006efc5d0a00793c000f0c36006ef45e54010112535cad164556454e54000000005bfe000a014f29000174245b00010a140a201e5b010140064c0270f801025138005b03015b02014bf80f0484006efc5e0a0524511f005b0401594bf8570002060a20005e54010112535c58164556454e54000000007352c5ff6ec67424743d74405b08010bd90474250a140a201e5b090140064c0270f80602510b005b0a013ff801ed7352f2ff6ec65b0d01590a1e0c000000005702000c0a32006efe5e54010112535cfe154556454e54000000005b0e01590b96000bfa000d0300313065006b40060f0c0f0065046ef45e54010112535cd0154556454e54000000005b0f010a000f020c006efe5b1201590a780c000000005702000c0a32006efe5e54010112535c9f154556454e54000000005b15010a015188005b1701793c000f0439006efc5d01df5b18014bed0f0439006efc5d01dd5b1c015b1b013fdf0a01243fdd0a0124345106005b1d015253155b2001590a0040064c024006570402180a20006efc5e54010112535c39154556454e54000000005b2101590b2c010c000000005702000c0a32006efe5e54010112535c12154556454e54000000005270ff52ff143f0a0a2d245184015b290140060f0489006efc5e01e15b2b010a01516b015b2d010a0001f15b30015b2f0140060f044f006efc5e0a002440064c024e3c0002110c0a29006efc5e0a322c345106005b310152ab147424743d743a5b35010a0674250a320a201e5b36014e3c000270fe0602511d005b37014bfe0f0408006efc5d510a005b39010a013ff11401f17352e0ff6ec65b3e015b3d013ff15b3e010a042a51bc005b400140060f044f006efc5e0a011c40060f062d006efa5b4201590a000b80001440064c024006570402180a20006efc5e54010112535c26144556454e54000000005b4301593fe10c000000005702000c0a32006efe5e54010112535c00144556454e54000000005b4401590a010b80001440064c024006570402180a20006efc5e54010112535cd5134556454e54000000005b4501593fe10c000000005702000c0a32006efe5e54010112535caf134556454e54000000005226005b4901590a780c000000005702000c0a32006efe5e54010112535c86134556454e5400000000528dfe5273133f0a0a2e245197015b500140060f0489006efc5e01e15b52010a01517e015b54010a0001f15b58015b57015b560140060f044f006efc5e0a002440064c024e3c0002110c0a29006efc5e0a322c345b570140060f0407006efc5d0a0124345106005b5901520c137424743d743a5b5e010a0674250a320a201e5b5f014e3c000270fe0602511d005b61015b60013ffe0bff0028510a005b62010a013ff11401f17352e0ff6ec65b67015b66013ff15b67010a042a51bc005b690140060f044f006efc5e0a011c40060f062d006efa5b6b01590a000b80001440064c024006570402180a20006efc5e54010112535c87124556454e54000000005b6c01593fe10c000000005702000c0a32006efe5e54010112535c61124556454e54000000005b6d01590a010b80001440064c024006570402180a20006efc5e54010112535c36124556454e54000000005b6e01593fe10c000000005702000c0a32006efe5e54010112535c10124556454e54000000005226005b7201590a780c000000005702000c0a32006efe5e54010112535ce7114556454e5400000000527afe52d4113f0a0a2f245166025b790140060f0489006efc5e01e15b7a0140060f044f006efc5e01ef5b7c010a01513f025b80015b7f0140060f044f006efc5e0a012451e4005b81010a0101f13ff15b82013fef2a51c2005b83013ff140060f063b006efa5b8401590a000b80001440064c024006570402180a20006efc5e54010112535c56114556454e54000000005b8501593fe10a031e0c000000005702000c0a32006efe5e54010112535c2d114556454e54000000005b8601590a010b80001440064c024006570402180a20006efc5e54010112535c02114556454e54000000005b8701593fe10a031e0c000000005702000c0a32006efe5e54010112535cd9104556454e54000000005b81010a013ff11401f15233ff5b8a013fef40060f062d006efa5243015b8d015b8c0140060f044f006efc5e0a012c51ab005b8e010a0101f13ff15b8f013fef2a5196005b90013ff140060f063b006efa5b9101590a000b80001440064c024006570402180a20006efc5e54010112535c5d104556454e54000000005b9201593fe10c000000005702000c0a32006efe5e54010112535c37104556454e54000000005b9301590a010b80001440064c024006570402180a20006efc5e54010112535c0c104556454e54000000005b8e010a013ff11401f1525fff5283005b99010a0101f13ff15b9a013fef2a516b005b9b013ff140060f063b006efa5b9c01590a000b80001440064c024006570402180a20006efc5e54010112535cb20f4556454e54000000005b9d01593fe10c000000005702000c0a32006efe5e54010112535c8c0f4556454e54000000005b99010a013ff11401f1528aff5ba001526c0f52b9fd52660f3f0a0a3024512f015ba70140060f0489006efc5e01e15ba80140060f044f006efc5e01ef5bab010a0101f13ff15bac013fef2a516b005bad013ff140060f063b006efa5bae01590a000b80001440064c024006570402180a20006efc5e54010112535c050f4556454e54000000005baf01593fe10c000000005702000c0a32006efe5e54010112535cdf0e4556454e54000000005bab010a013ff11401f1528aff5bb2010a0101f13ff15bb3013fef2a516e005bb4013fef3ff11c40060f063b006efa5bb501590a010b80001440064c024006570402180a20006efc5e54010112535c850e4556454e54000000005bb601593fe10c000000005702000c0a32006efe5e54010112535c5f0e4556454e54000000005bb2010a013ff11401f15287ff5bb9013feb40060f063b006efa5bba0152320e522f0e3f0a0a31245167015bc00140060f0489006efc5e01e15bc10140060f044f006efc5e01ef5bc3010a015140015bc50140060f044f006efc5e51ab005bc7010a0101f13ff15bc8013fef2a5196005bc9013ff140060f063b006efa5bca01590a000b80001440064c024006570402180a20006efc5e54010112535cb70d4556454e54000000005bcb01593fe10c000000005702000c0a32006efe5e54010112535c910d4556454e54000000005bcc01590a010b80001440064c024006570402180a20006efc5e54010112535c660d4556454e54000000005bc7010a013ff11401f1525fff5283005bd1010a0101f13ff15bd2013fef2a516b005bd3013ff140060f063b006efa5bd401590a000b80001440064c024006570402180a20006efc5e54010112535c0c0d4556454e54000000005bd501593fe10c000000005702000c0a32006efe5e54010112535ce60c4556454e54000000005bd1010a013ff11401f1528aff5bd80152c60c52b8fe52c00c3f0a0a322451550074245be2010a640a201e5be30140064c0270f801025138005be6015be5014bf80f0484006efc5e0a6424511f005be701594bf8570002060a20005e54010112535c790c4556454e54000000007352c5ff6ec652630c3f0a0a332451fe027424743d74405bf3010b1e0274250a140a201e5bf40140064c0270fe06025119005bf5014bfe0f044f006efc5e01d55bf6013ffe01d77352e4ff6ec674245bfa010bc4010b860174425bfb010a0a0a201e5bfc013fd770fe0602510b005bfd013ffe01db7352f2ff6ec674245b01020bc5010b840174425b02020a0a0a201e5b03023fd770fe0602510b005b04023ffe01d97352f2ff6ec65b09025b08023fdb5b09023fd9325191015b0a020bf400793c000f0615006efa5b0b02590a3c0c000000005702000c0a32006efe5e54010112535c8a0b4556454e54000000005b0c020bf300793c000f0638006efa5b10023fd55187005b11020a004bdb0f0659006efa5b12020a004bd90f0659006efa5b14020a0101f13ff10a042a515b005b16023ff14bdb0f0659006efa5b17023ff14bd90f0659006efa5b18020b93004bdb0f0643006efa5b1902590a1e0c000000005702000c0a32006efe5e54010112535cfc0a4556454e54000000005b14020a013ff11401f1529dff5270005b1e020a0001f13ff10a032a5161005b20020a073ff11c4bdb0f0659006efa5b21020a073ff11c4bd90f0659006efa5b22020b93004bdb0f0643006efa5b2302590a1e0c000000005702000c0a32006efe5e54010112535c890a4556454e54000000005b1e020a013ff11401f15297ff5b2802590a1e0c000000005702000c0a32006efe5e54010112535c560a4556454e54000000005b29020a004bdb0f0659006efa5b2a020a004bd90f0659006efa5b2b020b93004bdb0f0643006efa5b2e02590a3c0c000000005702000c0a32006efe5e54010112535c080a4556454e54000000005b2f02590a0040064c024006570402180a20006efc5e54010112535ce1094556454e540000000074245b32020b93010bc70174425b33020a0a0a201e5b34023fd770fe0602512a005b35023ffe01f85b3602594bf8570002060a20005e54010112535c9a094556454e54000000007352d3ff6ec65b3902590a0140064c024006570402180a20006efc5e54010112535c6d094556454e5400000000525d093f0a0a342451d2005b410240060f0489006efc5e01e15b420240060f044f006efc5e01ef5b44020a0151ab007424743d743a5b47020a0674250a200a201e5b480240064c0270ed06025180005b49024bed0f0408006efc5d5147005b4b024bed0f040b006efc5e40060f0484006efc5e24512e005b4e025b4d024bed0f0439006efc5d30511b005b4f020b99004bed0f0615006efa5b50020a054bed0f067d006efa5b5502593fe10c000000005702000c0a32006efe5e54010112535ca2084556454e540000000073527dff6ec65b5802528908524dff5283083f0a0a352451b8007424743d74405b60020bc80474250a200a201e5b610240064c0270ed06025192005b6202590a010c000000005702000c0a32006efe5e54010112535c41084556454e54000000005b63020a040bc8044bfe0f081f006ef85b64020a2c4bfe0f062d006efa5b65020a044bfe0f0668006efa5b66024bed0f0409006efc5d4bed0f0414006efc5e4bed0f0413006efc5e4bfe0f0a20006ef65b67024bfe0f048b006efc5e125b68024bed0f040a006efc73526bff6ec652c3073f0a0a3624514f007424743d74405b70020bc80474250a200a201e5b710240064c0270ed06025129005b72020a644bed0f062d006efa5b73020a064bed0f0668006efa5b74024bed0f048c006efc7352d4ff6ec6526c073f0a0a37245108015b7e024e380001305106005b7f025253075b820240060f0489006efc5e01e15b84020a0151de005b86020a0001f15b890240060f044f006efc5e0a011c40060f062d006efa5b8b02590a000b80001440064c024006570402180a20006efc5e54010112535c01074556454e54000000005b8c02593fe10c000000005702000c0a32006efe5e54010112535cdb064556454e54000000005b8d02590a010b80001440064c024006570402180a20006efc5e54010112535cb0064556454e54000000005b8e02593fe10c000000005702000c0a32006efe5e54010112535c8a064556454e54000000005b91025b900240060f044f006efc5e0a00245106005b9202526206521aff525c063f0a0a4b24516b007424743d743a5b9c020a0674250a640a201e5b9d0240064c0270fe06025146005b9f025b9e024bfe0f0484006efc5e40060f0484006efc5e245126005ba002590a0a0a0c0a0a0af64bfe0f0c8d006ef45e54010112535cff054556454e54000000007352b7ff6ec652e9053f0a0a55245187015ba80240060f048e006efc5e0a051e01e15baa020a01516b015bac020a0001f15baf025bae0240060f044f006efc5e0a002440064c024e3c0002110c0a29006efc5e0a322c345106005bb0025292057424743d743a5bb4020a0674250a320a201e5bb5024e3c000270fe0602511d005bb6024bfe0f0408006efc5d510a005bb8020a013ff11401f17352e0ff6ec65bbd025bbc023ff15bbd020a042a51bc005bbf0240060f044f006efc5e0a011c40060f062d006efa5bc102590a000b80001440064c024006570402180a20006efc5e54010112535c0d054556454e54000000005bc202593fe10c000000005702000c0a32006efe5e54010112535ce7044556454e54000000005bc302590a010b80001440064c024006570402180a20006efc5e54010112535cbc044556454e54000000005bc402593fe10c000000005702000c0a32006efe5e54010112535c96044556454e54000000005226005bc802590a780c000000005702000c0a32006efe5e54010112535c6d044556454e5400000000528dfe525a043f0a0a58245183005bd1020a010f020c006efe5bd2020f008f005bd4020f0090005bd502590a0a0c000000005702000c0a32006efe5e54010112535c20044556454e54000000005bd6020f0091005bd702590a000a000d03006f3031006b40060f0c920065046ef45e54010112535ced034556454e54000000005bd8020f0093005bd9020f00940052cf033f0a0a6124518b005be002793c000f0411006efc5e0a0040060f0414006efc5e40060f0413006efc5e0f0840006ef85be3025be2020f0095005d305129005be402590a020c000000005702000c0a32006efe5e54010112535c78034556454e540000000052c8ff5be802793c000f0411006efc5e0a00793c000f0414006efc5e793c000f0413006efc5e0f0840006ef8523c033f0a0a62245137007424743d74405bef020b610374250a050a201e5bf00240064c0270fe06025111005bf1020a014bfe0f062d006efa7352ecff6ec652fd023f0a0a63245137007424743d74405bf7020b610374250a050a201e5bf80240064c0270fe06025111005bf9020a004bfe0f062d006efa7352ecff6ec652be023f0a0a64245150005bff02590a3c0c000000005702000c0a32006efe5e54010112535c9d024556454e54000000005b0003590a0040060f0484006efc5e0f0496006efc5e54010112535c76024556454e54000000005266023f0a0bc8002451a1005b06035b05034e2200015b06030a0024518b005b0703590b96000bc8000d05006d76613362006b40060f0c5e0065046ef45e54010112535c27024556454e54000000005b0803590a140c000000005702000c0a32006efe5e54010112535c01024556454e54000000005b0903590d02003368000c000000005702000c0a260065006efe5e54010112535cd5014556454e54000000005b0a030a014f22000152bc013f0a0bc900245164005b100340060f044f006efc5e01d35b13035b12033fd30a0428511a005b14030a013fd31401d35b15033fd340060f062d006efa522b005b1903590a010b80001440064c024006570402180a20006efc5e54010112535c5f014556454e5400000000524f013f0a0bd400245172005b20030a014f2c00015b2103590a3c0c000000005702000c0a32006efe5e54010112535c24014556454e54000000005b2203590b96000bc8000d0300313364006b40060f0c0f0065046ef45e54010112535cf6004556454e54000000005b23030a010f020c006efe5b24030f00970052d4003f0a0bd500245157005b2903590a3c0c000000005702000c0a32006efe5e54010112535cb2004556454e54000000005b2a03590b96000bc8000d0300313365006b40060f0c0f0065046ef45e54010112535c84004556454e54000000005274003f0a0be600245140005b2f0340060f044f006efc5e01d35b32035b31033fd30a0228511a005b33030a013fd31401d35b34033fd340060f062d006efa5207005b38030f009800522b003f0a0bfa00245122005b4003594bd1570002200a20005e54010112535c10004556454e54000000005200005b45035018016900007265666572656e740000690a006576656e74000024fe026974656d000024fc02736f75726365000024fa0264657374000024f802646f6f72000024f3057770000069f100636f756e746572000069ef00636f756e74657232000024ed026e000069eb006c696e6b000069e9006378000069e7006379000069e5006578000069e3006579000069e10074696d65000069df006f70000069dd006f7070000024db02706f737431000024d902706f737432000024d702666c6f6f72000069d500646972000069d300714869000024d102666c69634d61 + entry=192 class=PIT slot=0x0A body_len=? + entry=193 class=CRUZTRIG slot=0x0A body_len=? + entry=194 class=NPC_ONLY slot=0x0A body_len=? + entry=195 class=VMAIL slot=0x0A body_len=934 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (931B): 025c7d03564d41494c000000000b110240064c0277785b1000590a0140064c02793c000f060d006efa5d793c000f080e006ef85e54010112535c4503564d41494c000000005b1f005b1e005b1d005b1c005b1b005b1a005b19005b18005b17005b6d000d20004b494c4c20424f4152443a5e2d2d2d2d2d2d2d2d2d2d2d5e4775617264733a20005b17004e0b00020f0213016efe5e165b18000d0b005e536f6c64696572733a2000164e0d00020f0213016efe5e165b19000d11005e53746f726d2074726f6f706572733a2000164e0f00020f0213016efe5e165b1a000d11005e456c6974652074726f6f706572733a2000164e1100020f0213016efe5e165b1b000d0c005e456e666f72636572733a2000164e1300020f0213016efe5e165b1c000d0c005e5e416e64726f6964733a2000164e1500020f0213016efe5e165b1d000d0e005e546865726d6174726f6e733a2000164e1700020f0213016efe5e165b1e000d0a005e566574726f6e733a2000164e1900020f0213016efe5e165b1f000d0d005e536f6c617274726f6e733a2000164e1b00020f0213016efe5e1662fe01fe5b3d0069fe0f04fe006efc5b3f00590a0a0c000000005702000c0a32006efe5e54010112535cb501564d41494c000000004e1f00010a04245130005b4500590b96000bc8000d02003461006b40060f0c0f0065046ef45e54010112535c7e01564d41494c00000000526c014e1f00010a06245130005b4a00590b96000bc8000d02003661006b40060f0c0f0065046ef45e54010112535c4401564d41494c000000005232014e1f00010a07245130005b4f00590b96000bc8000d02003761006b40060f0c0f0065046ef45e54010112535c0a01564d41494c0000000052f8004e1f00010a08245130005b5400590b96000bc8000d02003861006b40060f0c0f0065046ef45e54010112535cd000564d41494c0000000052be004e1f00010a0b245131005b5900590b96000bc8000d0300313162006b40060f0c0f0065046ef45e54010112535c9500564d41494c000000005283004e1f00010a0c245131005b5e00590b96000bc8000d0300313261006b40060f0c0f0065046ef45e54010112535c5a00564d41494c000000005248004e1f00010a0e245131005b6400590b96000bc8000d0300313461006b40060f0c0f0065046ef45e54010112535c1f00564d41494c00000000520d005b6a000a7e40060f0615006efa62fe5b6d005003016900007265666572656e740000690a00766172000073fe007465787446696c65 + entry=196 class=STORMTRO slot=0x0A body_len=? + entry=197 class=WALGUNEW slot=0x0A body_len=149 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (146B): 005c790057414c47554e4557000b110240064c0277785b36005b35000f001b005e0a0036512b005b3700593f0a0f001b005e40065704021a0a24006efc5e54010112535c370057414c47554e4557005227005b3b00593f0a4e3c000240065704021a0a24006efc5e54010112535c0d0057414c47554e4557005b3d005002016900007265666572656e740000690a00766172 + entry=198 class=STATICEW slot=0x0A body_len=? + entry=199 class=BARDUDES slot=0x0A body_len=? + entry=200 class=ANDROID slot=0x0A body_len=? + entry=201 class=SOLDIER slot=0x0A body_len=? + entry=202 class=CHEDITRO slot=0x0A body_len=? + entry=203 class=SPIDWALK slot=0x0A body_len=? + entry=204 class=SPIDPAD slot=0x0A body_len=109 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (106B): 005c51005350494450414400000b110240064c0277785b19003f0a5115005b1a003f0a4006570202140a20006efe5e12521e005b1e0040064c020a01110c0a33006efc5b1f000a044006111e0a23006efa5b21005002016900007265666572656e740000690a00766172 + entry=205 class=GOVGUNNS slot=0x0A body_len=149 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (146B): 005c7900474f5647554e4e53000b110240064c0277785b37005b36000f001b005e0a0036512b005b3800593f0a0f001b005e40065704021a0a24006efc5e54010112535c3700474f5647554e4e53005227005b3c00593f0a4e3c000240065704021a0a24006efc5e54010112535c0d00474f5647554e4e53005b3e005002016900007265666572656e740000690a00766172 + entry=206 class=LANDMINE slot=0x0A body_len=? + entry=207 class=BLASTPAC slot=0x0A body_len=? + entry=208 class=FUSPAC slot=0x0A body_len=? + entry=209 class=GOVGUNEW slot=0x0A body_len=149 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (146B): 005c7900474f5647554e4557000b110240064c0277785b35005b34000f001b005e0a0036512b005b3600593f0a0f001b005e40065704021a0a24006efc5e54010112535c3700474f5647554e4557005227005b3a00593f0a4e3c000240065704021a0a24006efc5e54010112535c0d00474f5647554e4557005b3c005002016900007265666572656e740000690a00766172 + entry=210 class=EBRIDGE slot=0x0A body_len=98 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (95B): 005c46004542524944474500000b110240064c0277785b25000a5c40060f062a006efa5b2600593f0a4006570202030a20006efe5e54010112535c0d004542524944474500005b27005002016900007265666572656e740000690a00766172 + entry=211 class=SPANEL slot=0x0A body_len=? + entry=212 class=VARGAS slot=0x0A body_len=? + entry=213 class=SL_NS-16 slot=0x0A body_len=? + entry=214 class=SL_NS-8 slot=0x0A body_len=? + entry=215 class=SL_NS-4 slot=0x0A body_len=? + entry=216 class=SL_EW-4 slot=0x0A body_len=? + entry=217 class=SL_EW-8 slot=0x0A body_len=? + entry=218 class=SL_EW-16 slot=0x0A body_len=? + entry=219 class=MELF slot=0x0A body_len=? + entry=220 class=OPC slot=0x0A body_len=? + entry=221 class=GENERATR slot=0x0A body_len=? + entry=222 class=RFANBADE slot=0x0A body_len=532 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (529B): 0a5cc4015246414e42414445000b110240064c0277785b2c005b2b0040060f0401006efc5e0a002440060f0404006efc5e0b001039345106005b2d005285015b31003f0a517d015b32000b00104006111e0a23006efa5b350040060f0401006efc5e01fe5b36000a0001fa5b37000a0101fc3ffc0a0f2a51cc005b39000a013ffe1401fe5b3b005b3a003ffe0a052c5107005b3c000a0101fe5b3e003ffe40060f0659006efa5b3f003ffa0a021401fa5b4000590a1e3ffa1c0c000000005702000c0a32006efe5e54010112535cf8005246414e42414445005b42005b41003ffa0a04245152007424743d74405b45000b760474250a140a201e5b460040064c0270f60602512f005b48005b47004bf60f04ea006efc5e40060f04ea006efc5e24510f005b49000b37033ff6110c0a2f006efc7352ceff6ec65b37000a013ffc1401fc522cff5b4f005b4e003ffe0a042c510d005b50000a0040060f0659006efa5b52000b00104006111e0a24006efa5b54000a000a5e4bf80f081f006ef85b550040060f04ea006efc5e4bf80f063b006efa5b560040060f0409006efc5d40060f0414006efc5e40060f0413006efc5e4bf80f0a20006ef65b570040060f040a006efc5b59005007016900007265666572656e740000690a00766172000069fe006672616d000069fc00636f756e746572000069fa00636f756e74657232000024f8026974656d000024f60277696e64 + entry=223 class=RFANBADN slot=0x0A body_len=533 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (530B): 0a5cc5015246414e4241444e000b110240064c0277785b2c005b2b0040060f0401006efc5e0a002440060f0404006efc5e0b001039345106005b2d005286015b31003f0a517e015b32000b00104006111e0a23006efa5b350040060f0401006efc5e01fe5b36000a0001fa5b37000a0101fc3ffc0a0f2a51cc005b39000a013ffe1401fe5b3b005b3a003ffe0a052c5107005b3c000a0101fe5b3e003ffe40060f0659006efa5b3f003ffa0a021401fa5b4000590a1e3ffa1c0c000000005702000c0a32006efe5e54010112535cf9005246414e4241444e005b42005b41003ffa0a04245152007424743d74405b45000b760474250a140a201e5b460040064c0270f60602512f005b48005b47004bf60f04ea006efc5e40060f04ea006efc5e24510f005b49000b37033ff6110c0a2f006efc7352ceff6ec65b37000a013ffc1401fc522cff5b4f005b4e003ffe0a042c510d005b50000a0040060f0659006efa5b52000b00104006111e0a24006efa5b54000a000bbd004bf80f081f006ef85b550040060f04ea006efc5e4bf80f063b006efa5b560040060f0409006efc5d40060f0414006efc5e40060f0413006efc5e4bf80f0a20006ef65b570040060f040a006efc5b59005007016900007265666572656e740000690a00766172000069fe006672616d000069fc00636f756e746572000069fa00636f756e74657232000024f8026974656d000024f60277696e64 + entry=224 class=WVENTNS slot=0x0A body_len=? + entry=225 class=WVENTEW slot=0x0A body_len=? + entry=226 class=REBEL_TV slot=0x0A body_len=? + entry=227 class=SDOOR_N slot=0x0A body_len=? + entry=228 class=SDOOR_E slot=0x0A body_len=? + entry=229 class=FLAMEBOX slot=0x0A body_len=618 + prefix=3 suffix=3 + ref_diff_window (367B): 3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa02 + mem_diff_window (612B): 2902464c414d45424f58000b110240064c0277783f0a0a002451d10074245b1e000b3b040b0a055b1f000b3a040b180574445b20000a200a201e5b210040064c0270fe0a0251a0005b24005b23004bfe0f04a1006efc5e40060f04a1006efc5e245180005b25004bfe0f0404006efc5e0b001039510300526a004bfe0f0416006efc5e0b3b04244bfe0f0416006efc5e0b3a0424345117005b2f000a003ffe4006570402030421006efc5e125235004bfe0f0416006efc5e0b0a05244bfe0f0416006efc5e0b180524345117005b33000a013ffe4006570402030421006efc5e1252000073525dff6ec6523a013f0a0a012451320174245b3e000b38040b390474425b3f000a200a201e5b400040064c0270fe0602510a015b42005b41004bfe0f04a1006efc5e40060f04a1006efc5e2451ea004bfe0f0416006efc5e0b3904245165005b47000a000b3a044bfc0f081f006ef85b48004bfe0f0409006efc5d4bfe0f0414006efc5e4bfe0f0413006efc5e4bfc0f0a20006ef65b49000a754bfc0f0615006efa5b4a000a003ffc4006570402030420006efc5e125b4b004bfe0f040a006efc5275004bfe0f0416006efc5e0b3804245165005b4f000a000b18054bfc0f081f006ef85b50004bfe0f0409006efc5d4bfe0f0414006efc5e4bfe0f0413006efc5e4bfc0f0a20006ef65b51000a754bfc0f0615006efa5b52000a013ffc4006570402030420006efc5e125b53004bfe0f040a006efc5200007352f3fe6ec65200005b5a005005016900007265666572656e740000690a006576656e74000024fe02666c616d65000024fc02666c616d6532000069fa00646972656374696f + entry=230 class=EBRIDGE2 slot=0x0A body_len=98 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (95B): 005c46004542524944474532000b110240064c0277785b24000a5c40060f062a006efa5b2500593f0a4006570202030a20006efe5e54010112535c0d004542524944474532005b26005002016900007265666572656e740000690a00766172 + entry=231 class=MCRATE slot=0x0A body_len=? + entry=232 class=COPY_EW slot=0x0A body_len=? + entry=233 class=COPY_NS slot=0x0A body_len=? + entry=234 class=ART slot=0x0A body_len=? + entry=235 class=FLAME1 slot=0x0A body_len=? + entry=236 class=REB_PAD slot=0x0A body_len=? + entry=237 class=NOSTRIL slot=0x0A body_len=192 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (189B): 025c99004e4f535452494c00000b110240064c0277783f0a0a0024513a007424743d74405b1a000b160574250bffff5b1b0040064c0270fe06065116005b1c003ffe40065702023e0420006efe5e127352e7ff6ebd5241003f0a0a01245139005b220040060f0404006efc5e0b0010395106005b24005220005b27000b00104006111e0a23006efa5b280040065700023e0421005e125200005b2b005003016900007265666572656e740000690a006576656e74000024fe0266697265 + entry=238 class=VARDESK slot=0x0A body_len=? + entry=239 class=BLASER1 slot=0x0A body_len=144 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (141B): 025c6e00424c415345523100000b110240064c0277785b24003f0a0a01245121005b270040060f0426006efc5e01fe5b28003ffe0a043a40060f062d006efa522c005b2b003f0a0a1f245121005b2d0040060f0426006efc5e01fe5b2e003ffe0a1f3a40060f062d006efa5200005b30005003016900007265666572656e740000690a00766172000069fe0068 + entry=240 class=REB_BOOT slot=0x0A body_len=? + entry=241 class=UPPLATE slot=0x0A body_len=? + entry=242 class=KEYPADNS slot=0x0A body_len=? + entry=243 class=KEYPADEW slot=0x0A body_len=? + entry=244 class=WSHOCKNS slot=0x0A body_len=? + entry=245 class=WSHOCKEW slot=0x0A body_len=? + entry=246 class=ELYDESK slot=0x0A body_len=? + entry=247 class=SSWITCHN slot=0x0A body_len=? + entry=248 class=SSWITCHE slot=0x0A body_len=? + entry=249 class=SHOCKNS1 slot=0x0A body_len=? + entry=250 class=SHOCKEW1 slot=0x0A body_len=? + entry=251 class=WEA_BOOT slot=0x0A body_len=398 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (395B): 025c66015745415f424f4f54000b110240064c0277785b12000a010f020c006efe5b13000b1b0240064c02110c0a33006efc5b14000a0140064c02793c000f060d006efa5d793c000f080e006ef85e125b160040060f0401006efc5e0a05365140005b180040060f0401006efc5e0a011440060f0659006efa5b1900590a050c000000005702000c0a32006efe5e54010112535cd4005745415f424f4f540052aeff5b1d00590a050c000000005702000c0a32006efe5e54010112535cab005745415f424f4f54005b20005b1f004e1f00010a00364e1f00010a0f28325110005b21004e1f00010f0234016efe520b005b25000a000f0234016efe5b29000a0001fe3ffe0a042a5143005b2b000a043ffe1c40060f0659006efa5b2c00590a0a0c000000005702000c0a32006efe5e54010112535c33005745415f424f4f54005b29000a013ffe1401fe52b5ff5b2f0040065700025b040f005e125b30000a000f020c006efe5b31005003016900007265666572656e740000690a00766172000069fe00636f756e746572 + entry=252 class=VAR_BOOT slot=0x0A body_len=666 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (663B): 025c70025641525f424f4f54000b110240064c0277785b13005b120040060f0401006efc5e0a05245106005b1400523f025b17000a010f020c006efe5b18000b1b0240064c02110c0a33006efc5b19000a0140064c02793c000f060d006efa5d793c000f080e006ef85e125b1b0040060f0401006efc5e0a04365140005b1d0040060f0401006efc5e0a011440060f0659006efa5b1e00590a050c000000005702000c0a32006efe5e54010112535cc3015641525f424f4f540052aeff5b2100590a050c000000005702000c0a32006efe5e54010112535c9a015641525f424f4f54004e1f00010a03245130005b2700590b96000bc8000d02003363006b40060f0c0f0065046ef45e54010112535c63015641525f424f4f540052e8004e1f00010a04245130005b2c00590b96000bc8000d02003462006b40060f0c0f0065046ef45e54010112535c29015641525f424f4f540052ae004e1f00010a06245130005b3100590b96000bc8000d02003662006b40060f0c0f0065046ef45e54010112535cef005641525f424f4f54005274004e1f00010a07245130005b3600590b96000bc8000d02003762006b40060f0c0f0065046ef45e54010112535cb5005641525f424f4f5400523a004e1f00010a09245130005b3b00590b96000bc8000d02003961006b40060f0c0f0065046ef45e54010112535c7b005641525f424f4f54005200005b40000a0001fe3ffe0a042a5143005b42000a043ffe1c40060f0659006efa5b4300590a0a0c000000005702000c0a32006efe5e54010112535c33005641525f424f4f54005b40000a013ffe1401fe52b5ff5b460040065700025c040f005e125b47000a000f020c006efe5b48005003016900007265666572656e740000690a006576656e74000069fe00636f756e746572 + entry=253 class=COURIER slot=0x0A body_len=? + entry=254 class=LWPLATE4 slot=0x0A body_len=? + entry=255 class=LWPLATE8 slot=0x0A body_len=? + entry=256 class=ALARMBOX slot=0x0A body_len=406 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (403B): 025c7401414c41524d424f58000b110240064c0277785b58003f0a51c3005b5a005b59000f0000005d30514f0040060f0401006efc5e0a00245110005b5f000a0240060f0602006efa521f0040060f0401006efc5e0a01245110005b64000a0340060f0602006efa5200005b6a000c000000005700000c0a3b005e125b6e0040060f0404006efc5e01fe5b6f003ffe0a04390a00245146005b710040060f0403006efc5e0a00365134005b7300590a0040064c024006570402180a20006efc5e54010112535cb000414c41524d424f58005b74000a0440060f0605006efa5293005b7c000f0000005d51880040060f0401006efc5e0a02245110005b83000a0040060f0602006efa521f0040060f0401006efc5e0a03245110005b87000a0140060f0602006efa5200005b8b000c000000005700000c0a3c005e125b8d0040060f0403006efc5e0a00365127005b8f00590a0140064c024006570402180a20006efc5e54010112535c0d00414c41524d424f58005b93005003016900007265666572656e740000690a00766172000069fe0061 + entry=257 class=BLOOD slot=0x0A body_len=? + entry=258 class=D_CHEM slot=0x0A body_len=? + entry=259 class=D_CONG slot=0x0A body_len=? + entry=260 class=D_MAINT slot=0x0A body_len=? + entry=261 class=D_OWORK slot=0x0A body_len=? + entry=262 class=D_SCIEN slot=0x0A body_len=? + entry=263 class=D_STORM slot=0x0A body_len=? + entry=264 class=D_SOLD slot=0x0A body_len=? + entry=265 class=D_VARG slot=0x0A body_len=? + entry=266 class=D_COUR slot=0x0A body_len=? + entry=267 class=D_SUSAN slot=0x0A body_len=? + entry=268 class=D_THERM slot=0x0A body_len=? + entry=269 class=SURCAMNS slot=0x0A body_len=209 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (206B): 005cb50053555243414d4e53000b110240064c0277785b120040060f0404006efc5e0b0010395106005b14005286005b17003f0a0a0024513f005b1900793c000f0411006efc5e40060f0409006efc5d40060f0414006efc5e40060f0413006efc5e0f0840006ef85b1a004006570002c60421005e12523c005b1e00793c000f0411006efc5e40060f0409006efc5d40060f0414006efc5e40060f0413006efc5e0f0840006ef85b1f004006570002c60420005e125b21005002016900007265666572656e740000690a00766172 + entry=270 class=BASEGUN slot=0x0A body_len=149 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (146B): 005c79004241534547554e00000b110240064c0277785b34005b33000f001b005e0a0036512b005b3500593f0a0f001b005e40065704021a0a24006efc5e54010112535c37004241534547554e00005227005b3900593f0a4e3c000240065704021a0a24006efc5e54010112535c0d004241534547554e00005b3b005002016900007265666572656e740000690a00766172 + entry=271 class=TIMER slot=0x0A body_len=129 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (126B): 005c650054494d4552000000000b110240064c0277785b2d003f0a0a01245127005b2f0040060f0404006efc5e0b0010390a0024510e005b31004006570002c90420005e12521d005b35003f0a0a00245112005b37000b00103b40060f06fc006efa5200005b39005002016900007265666572656e740000690a00766172 + entry=272 class=SPECIAL slot=0x0A body_len=102 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (99B): 005c4a005350454349414c00000b110240064c0277785b1c000b1b0240064c02110c0a33006efc5b1d003f0a40060f062d006efa5b1e003f0a510e005b20004006570002ca0421005e125b22005002016900007265666572656e740000690a00766172 + entry=273 class=TRIGPAD slot=0x0A body_len=? + entry=274 class=MONSTER slot=0x0A body_len=1088 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (1085B): 0a5cf5034d4f4e5354455200000b110240064c0277785b300040060f0401006efc5e0a00365106005b320052c7035b360040064c0201fe5b38000b1b020a00775b39000a0c40064c020f046c006efc3f0a0a00243f0a0a0124343f0a0a0224343f0a0a0324345128005b4200593f0a3ffe40065704021e0a2d006efc5e54010112535c74034d4f4e5354455200005264033f0a0a0a243f0a0a0b24345162017424743d743a5b47000a0674250a080a201e5b48003ffe70fa0602514f005b49004bfa0f0408006efc5d513c005b4c005b4b004bfa0f0409006efc5d4bfe0f0409006efc5d0a0a1c2c4bfa0f0409006efc5d4bfe0f0409006efc5d0a0a1428325106005b4d0052ed027352aeff6ec65b52003f0a0a0a1c010a7424743d743a5b55000a0174250a050a201e5b56003ffe70f8060251c6005b58005b57004bf80f04d9006efc5e4bfe0f04d9006efc5e2451a6005b5900590a014bf8570202060a21006efe5e54010112535c8d024d4f4e5354455200006d61517e005b5d00593f0a3ffe40065704021e0a2d006efc5e54010112535c63024d4f4e5354455200006d6101f65b60003ff6514d005b61000a034bf60f0653006efa5b62000a034bf60f0654006efa5b6300590a020c000000005702000c0a32006efe5e54010112535c17024d4f4e5354455200005b64000a724bf60f06db006efa735237ff6ec652f4013f0a0a0c243f0a0a0d24345132005b6d003f0a0a0a1c010a5b6f00593f0a3ffe40065704021e0a2d006efc5e54010112535cc4014d4f4e53544552000052b4013f0a0a14243f0a0a1524343f0a0a1624343f0a0a1724345189005b73000a0001fc7424743d743a5b75000a0674250a320a201e5b76004e3c000270fa0602511d005b78005b77003ffa0b000128510a005b79000a013ffc1401fc7352e0ff6ec65b7d005b7c003ffc5b7d000a042a512f005b7e003f0a0a141c010a5b8000593f0a3ffe40065704021e0a2d006efc5e54010112535c21014d4f4e5354455200005211013f0a0a32243f0a0a3324343f0a0a3424343f0a0a3524345148005b85000a01110c0a20006efe5e5106005b870052e1005b8a003f0a0a321c010a5b8c00593f0a3ffe40065704021e0a2d006efc5e54010112535cbf004d4f4e53544552000052af003f0a0a50243f0a0a51243451a1007424743d743a5b91000a0674250a080a201e5b92003ffe70fa0602514f005b93004bfa0f0408006efc5d513c005b96005b95004bfa0f0409006efc5d4bfe0f0409006efc5d0a0a1c2c4bfa0f0409006efc5d4bfe0f0409006efc5d0a0a1428325106005b97005238007352aeff6ec65b9c003f0a0a501c010a5b9e00593f0a3ffe40065704021e0a2d006efc5e54010112535c10004d4f4e5354455200005200005ba4005007016900007265666572656e740000690a00766172000024fe026d6f6e7374657231000069fc0061000024fa026e7063000024f802646f6f72000024f6026e65774e7063 + entry=275 class=ELITE slot=0x0A body_len=? + entry=276 class=D_ESTORM slot=0x0A body_len=? + entry=277 class=JELYHACK slot=0x0A body_len=? + entry=278 class=DATALINK slot=0x0A body_len=? + entry=279 class=SLIDEFLR slot=0x0A body_len=? + entry=280 class=JELYH2 slot=0x0A body_len=? + entry=281 class=HOFFMAN slot=0x0A body_len=? + entry=282 class=D_HOFFMA slot=0x0A body_len=? + entry=283 class=REE_BOOT slot=0x0A body_len=843 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (840B): 025c21035245455f424f4f54000b110240064c0277785b15005b140040060f0401006efc5e0a0c245106005b160052f0025b1a000a010f020c006efe5b1b000b1b0240064c02110c0a33006efc5b1c000a0140064c02793c000f060d006efa5d793c000f080e006ef85e125b1e0040060f0401006efc5e0a0b365140005b200040060f0401006efc5e0a011440060f0659006efa5b2100590a050c000000005702000c0a32006efe5e54010112535c74025245455f424f4f540052aeff5b2400590a050c000000005702000c0a32006efe5e54010112535c4b025245455f424f4f54004e1f00010a03245130005b2b00590b96000bc8000d02003364006b40060f0c0f0065046ef45e54010112535c14025245455f424f4f54005299014e1f00010a06245130005b3000590b96000bc8000d02003664006b40060f0c0f0065046ef45e54010112535cda015245455f424f4f5400525f014e1f00010a07245130005b3500590b96000bc8000d02003763006b40060f0c0f0065046ef45e54010112535ca0015245455f424f4f54005225014e1f00010a08245130005b3a00590b96000bc8000d02003863006b40060f0c0f0065046ef45e54010112535c66015245455f424f4f540052eb004e1f00010a09245130005b3f00590b96000bc8000d02003963006b40060f0c0f0065046ef45e54010112535c2c015245455f424f4f540052b1004e1f00010a0b245131005b4400590b96000bc8000d0300313164006b40060f0c0f0065046ef45e54010112535cf1005245455f424f4f54005276004e1f00010a0c245131005b4900590b96000bc8000d0300313263006b40060f0c0f0065046ef45e54010112535cb6005245455f424f4f5400523b004e1f00010a0d245131005b4e00590b96000bc8000d0300313361006b40060f0c0f0065046ef45e54010112535c7b005245455f424f4f54005200005b53000a0001fe3ffe0a0b2a5143005b55000a0b3ffe1c40060f0659006efa5b5600590a0a0c000000005702000c0a32006efe5e54010112535c33005245455f424f4f54005b53000a013ffe1401fe52b5ff5b59004006570002db040f005e125b5a000a000f020c006efe5b5b005003016900007265666572656e740000690a006576656e74000069fe00636f756e746572 + entry=284 class=SURCAMEW slot=0x0A body_len=209 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (206B): 005cb50053555243414d4557000b110240064c0277785b120040060f0404006efc5e0b0010395106005b14005286005b17003f0a0a0024513f005b1900793c000f0411006efc5e40060f0409006efc5d40060f0414006efc5e40060f0413006efc5e0f0840006ef85b1a004006570002de0421005e12523c005b1e00793c000f0411006efc5e40060f0409006efc5d40060f0414006efc5e40060f0413006efc5e0f0840006ef85b1f004006570002de0420005e125b21005002016900007265666572656e740000690a00766172 + entry=285 class=SFXTRIG slot=0x0A body_len=184 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (181B): 005c9a005346585452494700000b110240064c0277785b11005b100040060f0404006efc5e5b11000b0010395106005b12005265005b15000b00104006111e0a23006efa5b1a003f0a40060f0615006efa5b1c003f0a40060f063a006efa5d5129005b1e00590a020c000000005702000c0a32006efe5e54010112535c1f0053465854524947000052c6ff5b22000b00104006111e0a24006efa5b24005002016900007265666572656e740000690a006576656e74 + entry=286 class=SKILLBOX slot=0x0A body_len=556 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (553B): 045cfe01534b494c4c424f58000b110240064c0277785b0c000f0029005e01fe5b0e0040060f0403006efc5e0a0036515e015b12005b110040060f0401006efc5e0a022451e0005b130040060f04ea006efc5e01fc5b14003ffe0a0124512a005b1600590a0040064c024006570402180a20006efc5e54010112535c8401534b494c4c424f5800528a005b19003ffe0a0224513a005b1b003ffc0a011440060f063b006efa5b1c00590a0040064c024006570402180a20006efc5e54010112535c3f01534b494c4c424f58005245005b1f003ffe0a032e513a005b21003ffc0a021440060f063b006efa5b2200590a0040064c024006570402180a20006efc5e54010112535cfa00534b494c4c424f58005200005b24003ffc40060f063b006efa5b250052d7005b28003ffe40060f0401006efc5e0a02142e512a005b2a00590a0040064c024006570402180a20006efc5e54010112535ca800534b494c4c424f58005227005b2e00590a0140064c024006570402180a20006efc5e54010112535c7e00534b494c4c424f5800526e005b33003ffe40060f0401006efc5e0a02142e512e005b3500590a000b80001440064c024006570402180a20006efc5e54010112535c3b00534b494c4c424f5800522b005b3900590a010b80001440064c024006570402180a20006efc5e54010112535c0d00534b494c4c424f58005b3d005004016900007265666572656e740000690a00766172000069fe00736b696c6c000069fc00714c6f + entry=287 class=D_GURDSQ slot=0x0A body_len=? + entry=288 class=VETRON slot=0x0A body_len=? + entry=289 class=DEATHBOX slot=0x0A body_len=459 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (456B): 075c85014445415448424f58000b110240064c0277785b0e00590a020c000000005702000c0a32006efe5e54010112535c56014445415448424f58005b0f0040060f0404006efc5e0b0010395109005b1100523001522d015b1500590a0c0c000000005702000c0a32006efe5e54010112535c14014445415448424f58005b16000b00104006111e0a23006efa3f0a0a022451e1007424743d74405b21000a3074250a1e0a201e5b220040064c0270fe0602515a005b24005b23004bfe0f042b006efc5e0a0a245111005b25004bfe0f0401006efc5e00fd5226005b28005b27004bfe0f042b006efc5e0a0b245111005b29004bfe0f0401006efc5e00fc5200005b2b000a013ff91401f97352a3ff6ec65b2e005b2d003efc0a04243efd0a002432514e005b2f00590a020c000000005702000c0a32006efe5e54010112535c47004445415448424f58005b3000590b800040064c024006570402180a20006efc5e54010112535c1f004445415448424f58005200005b34000b00104006111e0a24006efa5b38005007016900007265666572656e740000690a00766172000024fe0273737769746368000062fd0061000062fc0062000062fb0063000069f900636f756e746572 + entry=290 class=REB_GAR slot=0x0A body_len=? + entry=291 class=BOUNCBOX slot=0x0A body_len=63 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (60B): 005c2300424f554e43424f58000b110240064c0277785b82003f0a40060f062d006efa5b83005002016900007265666572656e740000690a00766172 + entry=292 class=HOVER1 slot=0x0A body_len=85 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (82B): 005c3900484f564552310000000b110240064c0277785b1900593f0a40065702020d0a22006efe5e54010112535c0d00484f564552310000005b1a005002016900007265666572656e740000690a00766172 + entry=293 class=STEAM1 slot=0x0A body_len=? + entry=294 class=FADE slot=0x0A body_len=448 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (445B): 005ca4014641444500000000000b110240064c0277785b11000b00104006111e0a23006efa3f0a0a0024510a005b18000f009a00525e013f0a0a01245121005b1d00590a3c0f029b006efe5e54010112535c54014641444500000000005235013f0a0a02245123005b2200590a140a140f049c006efc5e54010112535c2901464144450000000000520a013f0a0a0324510a005b27000f00970052f8003f0a0a0424510a005b2c000f008f0052e6003f0a0a0524511d005b3100590f0077005e54010112535ce00046414445000000000052c1003f0a0a06245121005b3600590a500f029d006efe5e54010112535cb7004641444500000000005298003f0a0a07245123005b3b00590a140a190f049e006efc5e54010112535c8c00464144450000000000526d003f0a0a08245129005b4000590a3f0a280a3f0a3f0a3f0f0a9f006ef65e54010112535c5b00464144450000000000523c003f0a0a09245120005b45004006570002fc0420005e125b46000b00104006111e0a24006efa5214003f0a0a0a24510c005b4b000a004f0a00015200005b4e000b00104006111e0a24006efa5b4f005002016900007265666572656e740000690a00766172 + entry=295 class=PHIR slot=0x0A body_len=? + entry=296 class=STEAMBOX slot=0x0A body_len=614 + prefix=3 suffix=3 + ref_diff_window (367B): 3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa02 + mem_diff_window (608B): 2502535445414d424f58000b110240064c0277783f0a0a002451d10074245b1b000bfa040b11055b1c000bf9040bfd0474445b1d000a200a201e5b1e0040064c0270fe0a0251a0005b21005b20004bfe0f04ea006efc5e40060f04ea006efc5e245180005b22004bfe0f0404006efc5e0b001039510300526a004bfe0f0416006efc5e0bfa04244bfe0f0416006efc5e0bf90424345117005b2c000a003ffe4006570402000521006efc5e125235004bfe0f0416006efc5e0b1105244bfe0f0416006efc5e0bfd0424345117005b30000a013ffe4006570402000521006efc5e1252000073525dff6ec65236013f0a0a0124512e017424743d74405b3a000ba90374250a200a201e5b3b0040064c0270fe06025108015b3d005b3c004bfe0f04ea006efc5e40060f04ea006efc5e2451e8004bfe0f0401006efc5e0a00245165005b42000a000bf9044bfc0f081f006ef85b43004bfe0f0409006efc5d4bfe0f0414006efc5e4bfe0f0413006efc5e4bfc0f0a20006ef65b44000a5f40060f0615006efa5b45000a003ffc4006570402000520006efc5e125b46004bfe0f040a006efc5274004bfe0f0401006efc5e0a01245165005b4a000a000bfd044bfc0f081f006ef85b4b004bfe0f0409006efc5d4bfe0f0414006efc5e4bfe0f0413006efc5e4bfc0f0a20006ef65b4c000a5f40060f0615006efa5b4d000a013ffc4006570402000520006efc5e125b4e004bfe0f040a006efc5200007352f5fe6ec65200005b55005005016900007265666572656e740000690a006576656e74000024fe02737465616d000024fc02737465616d32000069fa00646972656374696f + entry=297 class=FLAME2 slot=0x0A body_len=? + entry=298 class=STEAM2 slot=0x0A body_len=? + entry=299 class=FLAMELP slot=0x0A body_len=? + entry=300 class=BBOX slot=0x0A body_len=? + entry=301 class=GBOX_NS slot=0x0A body_len=? + entry=302 class=GBOX_EW slot=0x0A body_len=? + entry=303 class=EGRENADE slot=0x0A body_len=? + entry=304 class=SCANNER slot=0x0A body_len=? + entry=305 class=IONIC slot=0x0A body_len=? + entry=306 class=PLASMA slot=0x0A body_len=? + entry=307 class=GRAVITON slot=0x0A body_len=? + entry=308 class=GLDIV_EW slot=0x0A body_len=? + entry=309 class=GLDIV_NS slot=0x0A body_len=? + entry=310 class=REBSNOR slot=0x0A body_len=? + entry=311 class=REBWORK slot=0x0A body_len=? + entry=312 class=SATARG slot=0x0A body_len=? + entry=313 class=CHEST_ON slot=0x0A body_len=? + entry=314 class=CHEST_OE slot=0x0A body_len=? + entry=315 class=D_GRENAD slot=0x0A body_len=? + entry=316 class=CHEST_NS slot=0x0A body_len=? + entry=317 class=CHEST_EW slot=0x0A body_len=? + entry=318 class=D_ENFORC slot=0x0A body_len=? + entry=319 class=DETPAC slot=0x0A body_len=? + entry=320 class=CRU_SPID slot=0x0A body_len=? + entry=321 class=ALARMHAT slot=0x0A body_len=395 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (392B): 045c5e01414c41524d484154000b110240064c0277785b110040060f0401006efc5e515c007424743d74405b15000bd00474250a020a201e5b160040064c0270fe06025136005b17004bfe0f0401006efc5e0a00245120005b1900590a174bfe0f0606006efa5e54010112535cf300414c41524d484154007352c7ff6ec652dd005b22005b210040060f0407006efc5d3051ca007424743d743a5b23000a0674250a080a201e5b240040064c0270fc0602514f005b25004bfc0f0408006efc5d513c005b28005b27004bfc0f0409006efc5d40060f0409006efc5d0a0a1c2c4bfc0f0409006efc5d40060f0409006efc5d0a0a1428325106005b2900525f007352aeff6ec67424743d74405b2d000bd00474250a020a201e5b2e0040064c0270fe06025136005b2f004bfe0f0401006efc5e0a00245120005b3100590a154bfe0f0606006efa5e54010112535c1300414c41524d484154007352c7ff6ec65b36005004016900007265666572656e740000690a00766172000024fe026974656d000024fc026e7063 + entry=322 class=ETWALLNS slot=0x0A body_len=? + entry=323 class=ETWALLEW slot=0x0A body_len=? + entry=324 class=THRMBCKN slot=0x0A body_len=684 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (681B): 085c6f025448524d42434b4e000b110240064c0277785b0d003f0a5151025b0e000a0140060f0659006efa5b0f000a0440060f0615006efa5b10000a0440060f063a006efa5d5129005b1200590a020c000000005702000c0a32006efe5e54010112535c0d025448524d42434b4e0052c6ff5b14000a0440060f0615006efa5b15000a0440060f063a006efa5d5129005b1700590a020c000000005702000c0a32006efe5e54010112535cc6015448524d42434b4e0052c6ff5b19000a0440060f0615006efa5b1a000a0440060f063a006efa5d5129005b1c00590a020c000000005702000c0a32006efe5e54010112535c7f015448524d42434b4e0052c6ff5b1e000a0440060f0638006efa5b1f000a0040060f0659006efa74245b21000b64050b650574425b22000a060a201e5b230040064c0270fe0602511c005b24000a3d40060f0615006efa5b25004bfe0f040a006efc7352e1ff6ec674245b29000b38030b83030be6040b850374445b2a000a080a201e5b2b0040064c0270fc0a0251e9005b2d005b2c004bfc0f040b006efc5e40060f04ea006efc5e2451c9005b2f000a0301f85b32005b31000f0029005e0a022c510a005b33000a0a01fa5207005b37000a0501fa5b3a003ff84bfc0f0653006efa5b3b003ff84bfc0f0654006efa5b3c000a724bfc0f06f2006efa5b3e00590a280c000000005702000c0a32006efe5e54010112535c66005448524d42434b4e005b40003ffa4bfc0f0654006efa5b4100590a020c000000005702000c0a32006efe5e54010112535c33005448524d42434b4e005b42000a724bfc0f06f2006efa5b44000a0040060f063b006efa5b4600520600735214ff6ec65b4b005006016900007265666572656e740000690a00766172000024fe026577616c6c000024fc02746865726d61000069fa0061000069f80062 + entry=325 class=THRMBCKE slot=0x0A body_len=684 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (681B): 085c6f025448524d42434b45000b110240064c0277785b0d003f0a5151025b0e000a0140060f0659006efa5b0f000a0440060f0615006efa5b10000a0440060f063a006efa5d5129005b1200590a020c000000005702000c0a32006efe5e54010112535c0d025448524d42434b450052c6ff5b14000a0440060f0615006efa5b15000a0440060f063a006efa5d5129005b1700590a020c000000005702000c0a32006efe5e54010112535cc6015448524d42434b450052c6ff5b19000a0440060f0615006efa5b1a000a0440060f063a006efa5d5129005b1c00590a020c000000005702000c0a32006efe5e54010112535c7f015448524d42434b450052c6ff5b1e000a0440060f0638006efa5b1f000a0040060f0659006efa74245b21000b64050b650574425b22000a060a201e5b230040064c0270fe0602511c005b24000a3d40060f0615006efa5b25004bfe0f040a006efc7352e1ff6ec674245b29000b38030b83030be6040b850374445b2a000a080a201e5b2b0040064c0270fc0a0251e9005b2d005b2c004bfc0f040b006efc5e40060f04ea006efc5e2451c9005b2f000a0301f85b32005b31000f0029005e0a022c510a005b33000a0a01fa5207005b37000a0501fa5b3a003ff84bfc0f0653006efa5b3b003ff84bfc0f0654006efa5b3c000a724bfc0f06f2006efa5b3e00590a280c000000005702000c0a32006efe5e54010112535c66005448524d42434b45005b40003ffa4bfc0f0654006efa5b4100590a020c000000005702000c0a32006efe5e54010112535c33005448524d42434b45005b42000a724bfc0f06f2006efa5b44000a0040060f063b006efa5b4600520600735214ff6ec65b4b005006016900007265666572656e740000690a00766172000024fe026577616c6c000024fc02746865726d61000069fa0061000069f80062 + entry=326 class=ROLL_EW slot=0x0A body_len=167 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (164B): 005c8b00524f4c4c5f455700000b110240064c0277785b24003f0a0a0124512a005b27005b260040060f0404006efc5e0b0010390a0024510e005b280040065700026c0521005e125240005b2c003f0a0a02245135005b2e0040060f0404006efc5e0b001039511f005b30000b00103b40060f06e9006efa5b31000b1b0240064c020f046c006efc5200005b35005002016900007265666572656e740000690a00766172 + entry=327 class=KORESH slot=0x0A body_len=? + entry=328 class=ALRMTRIG slot=0x0A body_len=288 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (285B): 005c0401414c524d54524947000b110240064c0277785b0d0040060f0403006efc5e0a0036515f005b10000f0000005d512a005b1200590a0040064c024006570402180a20006efc5e54010112535cb700414c524d54524947005227005b1600590a0140064c024006570402180a20006efc5e54010112535c8d00414c524d54524947005264005b1b000f0000005d512e005b1d00590a000b80001440064c024006570402180a20006efc5e54010112535c5400414c524d5452494700522b005b2100590a010b80001440064c024006570402180a20006efc5e54010112535c2600414c524d54524947005b27005b26003f0a0a0124510b005b280040060f040a006efc5b2a005002016900007265666572656e740000690a00766172 + entry=329 class=ENERGY slot=0x0A body_len=? + entry=330 class=ROLLB_NS slot=0x0A body_len=167 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (164B): 005c8b00524f4c4c425f4e53000b110240064c0277785b24003f0a0a0124512a005b27005b260040060f0404006efc5e0b0010390a0024510e005b28004006570002860521005e125240005b2c003f0a0a02245135005b2e0040060f0404006efc5e0b001039511f005b30000b00103b40060f06e9006efa5b31000b1b0240064c020f046c006efc5200005b35005002016900007265666572656e740000690a00766172 + entry=331 class=ROLLB_EW slot=0x0A body_len=167 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (164B): 005c8b00524f4c4c425f4557000b110240064c0277785b24003f0a0a0124512a005b27005b260040060f0404006efc5e0b0010390a0024510e005b280040065700028b0521005e125240005b2c003f0a0a02245135005b2e0040060f0404006efc5e0b001039511f005b30000b00103b40060f06e9006efa5b31000b1b0240064c020f046c006efc5200005b35005002016900007265666572656e740000690a00766172 + entry=332 class=D_PLASMA slot=0x0A body_len=? + entry=333 class=D_SKELET slot=0x0A body_len=? + entry=334 class=D_EM_GUY slot=0x0A body_len=? + entry=335 class=DEATHFL4 slot=0x0A body_len=? + entry=336 class=DAMNLUGG slot=0x0A body_len=? + entry=337 class=DAMNMCR8 slot=0x0A body_len=? + entry=338 class=DEATHFL5 slot=0x0A body_len=? + entry=339 class=AVATAR slot=0x0A body_len=? + entry=340 class=TRIGEGG slot=0x0A body_len=? + entry=341 class=ONCEEGG slot=0x0A body_len=? + entry=342 class=FLOOR1 slot=0x0A body_len=? + entry=343 class=MTAREGG slot=0x0A body_len=? + entry=344 class=CHANGER slot=0x0A body_len=? + entry=345 class=CAMERA slot=0x0A body_len=? + entry=346 class=SECRTEGG slot=0x0A body_len=? + entry=347 class=REB_EGG slot=0x0A body_len=? + entry=348 class=TEST slot=0x0A body_len=? + entry=349 class=GRENEGG slot=0x0A body_len=? + entry=350 class=DOOREGG slot=0x0A body_len=? + entry=351 class=BBTRIP slot=0x0A body_len=? + entry=352 class=LAZEREGG slot=0x0A body_len=? + entry=353 class=MISS1EGG slot=0x0A body_len=? + entry=354 class=MISS2 slot=0x0A body_len=? + entry=355 class=MISS3 slot=0x0A body_len=? + entry=356 class=MISS4 slot=0x0A body_len=? + entry=357 class=MISS5 slot=0x0A body_len=? + entry=358 class=MISS6 slot=0x0A body_len=? + entry=359 class=MISS7 slot=0x0A body_len=? + entry=360 class=MISS8 slot=0x0A body_len=? + entry=361 class=MISS9 slot=0x0A body_len=? + entry=362 class=MISS10 slot=0x0A body_len=? + entry=363 class=MISS11 slot=0x0A body_len=? + entry=364 class=MISS12 slot=0x0A body_len=? + entry=365 class=MISS13 slot=0x0A body_len=? + entry=366 class=MISS14 slot=0x0A body_len=? + entry=367 class=MISS15 slot=0x0A body_len=? + entry=368 class=MUSIC slot=0x0A body_len=? + entry=369 class=STEAMEGG slot=0x0A body_len=? + entry=370 class=BARREL slot=0x0A body_len=? + entry=371 class=BBETTY slot=0x0A body_len=? + entry=372 class=BLASER slot=0x0A body_len=? + entry=373 class=BRIDGE slot=0x0A body_len=? + entry=374 class=CONVEYOR slot=0x0A body_len=? + entry=375 class=DEATHFL slot=0x0A body_len=? + entry=376 class=DOOR slot=0x0A body_len=? + entry=377 class=DOOR2 slot=0x0A body_len=? + entry=378 class=DOOR3 slot=0x0A body_len=? + entry=379 class=ELEVAT slot=0x0A body_len=? + entry=380 class=FLAGS slot=0x0A body_len=? + entry=381 class=FLAME slot=0x0A body_len=? + entry=382 class=FREE slot=0x0A body_len=? + entry=383 class=HOVER slot=0x0A body_len=? + entry=384 class=KEYPAD slot=0x0A body_len=? + entry=385 class=LAZER slot=0x0A body_len=? + entry=386 class=LITEWALL slot=0x0A body_len=? + entry=387 class=NPC slot=0x0A body_len=604 + prefix=1 suffix=2 + ref_diff_window (370B): 065c3e014e50435452494700000b110240064c0277785b20005b1f0040060f0404006efc5e5b20000b0010395106005b21005209015b24000b00104006111e0a23006efa3f0a0a01245127005b2c00590bfd024006570202630320006efe5e54010112535cdb004e504354524947000052bc003f0a0a02245127005b3100590b84034006570202630320006efe5e54010112535cac004e5043545249470000528d003f0a0a03245127005b3600590b71034006570202630320006efe5e54010112535c7d004e5043545249470000525e003f0a0a04245127005b3b00590bd1044006570202630320006efe5e54010112535c4e004e5043545249470000522f003f0a0a05245127005b4000590bb4014006570202630320006efe5e54010112535c1f004e50435452494700005200005b45000b00104006111e0a24006efa5b47005005016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e + mem_diff_window (601B): 0e5c12024e50430000000000000b110240064c0277785b250140060f0439006efc5d5106005b270152e7013f0a0a0124511d005b2e010a0040060f06de006efa5b2f010a7040060f06db006efa52c2013f0a0a0224511d005b33010a0040060f06de006efa5b34010a7140060f06db006efa529d013f0a0a0324511d005b38010a0040060f06de006efa5b39010a7240060f06db006efa5278013f0a0a0a2451cf005b3d010a0140060f0652006efa5b3e01590a020c000000005702000c0a32006efe5e54010112535c4a014e50430000000000005b3f010a7040060f06db006efa5b43010f0086005e01fe5b44010f0087005e01fc5b460140060f0413006efc5e01fa5b470140060f0414006efc5e01f85b4901593ff83ffa3ffc3ffe4006570802110a29006ef85e54010112535ce4004e50430000000000005b4a01590a0a0c000000005702000c0a32006efe5e54010112535cbe004e50430000000000005b4c0140064c020f0256006efe52a1003f0a0a1e245151005b51010a0140060f06df006efa5e01f65b52010a0240060f06df006efa5e01f45b53010a0040060f06df006efa5e01f25b56013ff40a0140060f08e0006ef85b57013ff60a0240060f08e0006ef85248003f0a0a1f245140005b5b0140060f043d006efc5b5c01590a000b10270a080a2140060f0c36006ef45e54010112535c1b004e50430000000000005b5d0140060f040a006efc5200005b60015009016900007265666572656e740000690a00766172000069fe006378000069fc006379000069fa006e78000069f8006e79000069f60061000069f40062000069f20063 + entry=388 class=NPCS slot=0x0A body_len=? + entry=389 class=SHOCKER slot=0x0A body_len=? + entry=390 class=SPIDER slot=0x0A body_len=? + entry=391 class=STEAM slot=0x0A body_len=? + entry=392 class=SWITCH slot=0x0A body_len=? + entry=393 class=TEXTFILE slot=0x0A body_len=? + entry=394 class=TRIGGER slot=0x0A body_len=? + entry=395 class=VALBOX slot=0x0A body_len=? + entry=396 class=WALLGUN slot=0x0A body_len=? + entry=397 class=YELRAIL slot=0x0A body_len=? + entry=398 class=NPCDEATH slot=0x0A body_len=? + entry=399 class=TEXTFIL1 slot=0x0A body_len=? + entry=400 class=ITEM slot=0x0A body_len=? + entry=401 class=TEXTFIL2 slot=0x0A body_len=? + entry=402 class=FLICTEST slot=0x0A body_len=? diff --git a/out_EVENT_0A.json b/out_EVENT_0A.json new file mode 100644 index 0000000..2db8297 --- /dev/null +++ b/out_EVENT_0A.json @@ -0,0 +1,30278 @@ +{ + "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_190_table_1B98_off_02F49E_len_0020AA.bin" + }, + "class": { + "entry_index": 190, + "object_index": 867, + "class_id": 865, + "class_name": "EVENT", + "raw_code_base_u32": 212, + "code_base_minus_one": 211, + "conservative_event_count": 32 + }, + "event": { + "slot": 10, + "event_name_hint": "equip", + "raw_event_entry_word": 8150, + "raw_code_offset": 1, + "derived_body_start": 212, + "derived_body_end": 8362, + "derived_body_length": 8150, + "repeated_template_status": "" + }, + "body": { + "end_reason": "unknown_opcode", + "raw_body_sha1": "6374a2975627a39e6dacc92ec3947fd37acd1d5e", + "unknown_trailing_bytes": "18016900007265666572656e740000690a006576656e74000024fe026974656d000024fc02736f75726365000024fa0264657374000024f802646f6f72000024f3057770000069f100636f756e746572000069ef00636f756e74657232000024ed026e000069eb006c696e6b000069e9006378000069e7006379000069e5006578000069e3006579000069e10074696d65000069df006f70000069dd006f7070000024db02706f737431000024d902706f737432000024d702666c6f6f72000069d500646972000069d300714869000024d102666c69634d616e007a", + "decoded_op_count": 2938 + }, + "ops": [ + { + "offset": 0, + "absolute_body_offset": 212, + "opcode": 90, + "mnemonic": "init", + "raw_bytes": "5a2f", + "operands": { + "local_bytes": 47 + } + }, + { + "offset": 2, + "absolute_body_offset": 214, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cf51e4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 14, + "absolute_body_offset": 226, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b1102", + "operands": { + "value_u16": 529 + } + }, + { + "offset": 17, + "absolute_body_offset": 229, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 19, + "absolute_body_offset": 231, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 21, + "absolute_body_offset": 233, + "opcode": 119, + "mnemonic": "set_info", + "raw_bytes": "77", + "operands": {} + }, + { + "offset": 22, + "absolute_body_offset": 234, + "opcode": 120, + "mnemonic": "process_exclude", + "raw_bytes": "78", + "operands": {} + }, + { + "offset": 23, + "absolute_body_offset": 235, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3400", + "operands": { + "line_number": 52 + } + }, + { + "offset": 26, + "absolute_body_offset": 238, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 28, + "absolute_body_offset": 240, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 32, + "absolute_body_offset": 244, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 34, + "absolute_body_offset": 246, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 35, + "absolute_body_offset": 247, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01eb", + "operands": { + "bp_offset": 235, + "target": "[BP-15h]" + } + }, + { + "offset": 37, + "absolute_body_offset": 249, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 39, + "absolute_body_offset": 251, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 41, + "absolute_body_offset": 253, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 42, + "absolute_body_offset": 254, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512a00", + "operands": { + "relative_u16": 42, + "relative_signed": 42, + "target_offset": 87 + } + }, + { + "offset": 45, + "absolute_body_offset": 257, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3f00", + "operands": { + "line_number": 63 + } + }, + { + "offset": 48, + "absolute_body_offset": 260, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 51, + "absolute_body_offset": 263, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041100", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 17, + "intrinsic_name_hint": "Item::getType(void)" + } + }, + { + "offset": 55, + "absolute_body_offset": 267, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 57, + "absolute_body_offset": 269, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 58, + "absolute_body_offset": 270, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 60, + "absolute_body_offset": 272, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 62, + "absolute_body_offset": 274, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 66, + "absolute_body_offset": 278, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 68, + "absolute_body_offset": 280, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 69, + "absolute_body_offset": 281, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 71, + "absolute_body_offset": 283, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 75, + "absolute_body_offset": 287, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 77, + "absolute_body_offset": 289, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 78, + "absolute_body_offset": 290, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f084000", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 64, + "intrinsic_name_hint": "Intrinsic0040()" + } + }, + { + "offset": 82, + "absolute_body_offset": 294, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 84, + "absolute_body_offset": 296, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "529f1e", + "operands": { + "relative_u16": 7839, + "relative_signed": 7839, + "target_offset": 7926 + } + }, + { + "offset": 87, + "absolute_body_offset": 299, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 89, + "absolute_body_offset": 301, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 91, + "absolute_body_offset": 303, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 92, + "absolute_body_offset": 304, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513c01", + "operands": { + "relative_u16": 316, + "relative_signed": 316, + "target_offset": 411 + } + }, + { + "offset": 95, + "absolute_body_offset": 307, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4500", + "operands": { + "line_number": 69 + } + }, + { + "offset": 98, + "absolute_body_offset": 310, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 101, + "absolute_body_offset": 313, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f043300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 51, + "intrinsic_name_hint": "Intrinsic0033()" + } + }, + { + "offset": 105, + "absolute_body_offset": 317, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 107, + "absolute_body_offset": 319, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 108, + "absolute_body_offset": 320, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512900", + "operands": { + "relative_u16": 41, + "relative_signed": 41, + "target_offset": 152 + } + }, + { + "offset": 111, + "absolute_body_offset": 323, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4700", + "operands": { + "line_number": 71 + } + }, + { + "offset": 114, + "absolute_body_offset": 326, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 115, + "absolute_body_offset": 327, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 117, + "absolute_body_offset": 329, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 122, + "absolute_body_offset": 334, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 129, + "absolute_body_offset": 341, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 131, + "absolute_body_offset": 343, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 132, + "absolute_body_offset": 344, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 135, + "absolute_body_offset": 347, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 136, + "absolute_body_offset": 348, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 137, + "absolute_body_offset": 349, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c6e1e4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 149, + "absolute_body_offset": 361, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c7ff", + "operands": { + "relative_u16": 65479, + "relative_signed": -57, + "target_offset": 95 + } + }, + { + "offset": 152, + "absolute_body_offset": 364, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4a00", + "operands": { + "line_number": 74 + } + }, + { + "offset": 155, + "absolute_body_offset": 367, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 157, + "absolute_body_offset": 369, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f020c00", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 12, + "intrinsic_name_hint": "Item::destroy(void)" + } + }, + { + "offset": 161, + "absolute_body_offset": 373, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 163, + "absolute_body_offset": 375, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4b00", + "operands": { + "line_number": 75 + } + }, + { + "offset": 166, + "absolute_body_offset": 378, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 169, + "absolute_body_offset": 381, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048500", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 133, + "intrinsic_name_hint": "Intrinsic0085()" + } + }, + { + "offset": 173, + "absolute_body_offset": 385, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 175, + "absolute_body_offset": 387, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4c00", + "operands": { + "line_number": 76 + } + }, + { + "offset": 178, + "absolute_body_offset": 390, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f008600", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 134, + "intrinsic_name_hint": "teleportToEgg(sint16,int,uint8)" + } + }, + { + "offset": 182, + "absolute_body_offset": 394, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 183, + "absolute_body_offset": 395, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e9", + "operands": { + "bp_offset": 233, + "target": "[BP-17h]" + } + }, + { + "offset": 185, + "absolute_body_offset": 397, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4d00", + "operands": { + "line_number": 77 + } + }, + { + "offset": 188, + "absolute_body_offset": 400, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f008700", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 135, + "intrinsic_name_hint": "Intrinsic0087()" + } + }, + { + "offset": 192, + "absolute_body_offset": 404, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 193, + "absolute_body_offset": 405, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e7", + "operands": { + "bp_offset": 231, + "target": "[BP-19h]" + } + }, + { + "offset": 195, + "absolute_body_offset": 407, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4f00", + "operands": { + "line_number": 79 + } + }, + { + "offset": 198, + "absolute_body_offset": 410, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 200, + "absolute_body_offset": 412, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 204, + "absolute_body_offset": 416, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 206, + "absolute_body_offset": 418, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 207, + "absolute_body_offset": 419, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e5", + "operands": { + "bp_offset": 229, + "target": "[BP-1Bh]" + } + }, + { + "offset": 209, + "absolute_body_offset": 421, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5000", + "operands": { + "line_number": 80 + } + }, + { + "offset": 212, + "absolute_body_offset": 424, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 214, + "absolute_body_offset": 426, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 218, + "absolute_body_offset": 430, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 220, + "absolute_body_offset": 432, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 221, + "absolute_body_offset": 433, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e3", + "operands": { + "bp_offset": 227, + "target": "[BP-1Dh]" + } + }, + { + "offset": 223, + "absolute_body_offset": 435, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5400", + "operands": { + "line_number": 84 + } + }, + { + "offset": 226, + "absolute_body_offset": 438, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 227, + "absolute_body_offset": 439, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 229, + "absolute_body_offset": 441, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 234, + "absolute_body_offset": 446, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 241, + "absolute_body_offset": 453, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 243, + "absolute_body_offset": 455, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 244, + "absolute_body_offset": 456, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 247, + "absolute_body_offset": 459, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 248, + "absolute_body_offset": 460, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 249, + "absolute_body_offset": 461, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cfe1d4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 261, + "absolute_body_offset": 473, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5500", + "operands": { + "line_number": 85 + } + }, + { + "offset": 264, + "absolute_body_offset": 476, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 265, + "absolute_body_offset": 477, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 267, + "absolute_body_offset": 479, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 270, + "absolute_body_offset": 482, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 271, + "absolute_body_offset": 483, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 273, + "absolute_body_offset": 485, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 275, + "absolute_body_offset": 487, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 277, + "absolute_body_offset": 489, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 284, + "absolute_body_offset": 496, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 286, + "absolute_body_offset": 498, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 287, + "absolute_body_offset": 499, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 290, + "absolute_body_offset": 502, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 291, + "absolute_body_offset": 503, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 292, + "absolute_body_offset": 504, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cd31d4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 304, + "absolute_body_offset": 516, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5600", + "operands": { + "line_number": 86 + } + }, + { + "offset": 307, + "absolute_body_offset": 519, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 308, + "absolute_body_offset": 520, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 310, + "absolute_body_offset": 522, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 315, + "absolute_body_offset": 527, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 322, + "absolute_body_offset": 534, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 324, + "absolute_body_offset": 536, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 325, + "absolute_body_offset": 537, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 328, + "absolute_body_offset": 540, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 329, + "absolute_body_offset": 541, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 330, + "absolute_body_offset": 542, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cad1d4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 342, + "absolute_body_offset": 554, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5800", + "operands": { + "line_number": 88 + } + }, + { + "offset": 345, + "absolute_body_offset": 557, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 346, + "absolute_body_offset": 558, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 348, + "absolute_body_offset": 560, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 351, + "absolute_body_offset": 563, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 352, + "absolute_body_offset": 564, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 354, + "absolute_body_offset": 566, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 356, + "absolute_body_offset": 568, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 358, + "absolute_body_offset": 570, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 365, + "absolute_body_offset": 577, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 367, + "absolute_body_offset": 579, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 368, + "absolute_body_offset": 580, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 371, + "absolute_body_offset": 583, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 372, + "absolute_body_offset": 584, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 373, + "absolute_body_offset": 585, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c821d4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 385, + "absolute_body_offset": 597, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5a00", + "operands": { + "line_number": 90 + } + }, + { + "offset": 388, + "absolute_body_offset": 600, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 391, + "absolute_body_offset": 603, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f047b00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 123, + "intrinsic_name_hint": "Intrinsic007B()" + } + }, + { + "offset": 395, + "absolute_body_offset": 607, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 397, + "absolute_body_offset": 609, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5b00", + "operands": { + "line_number": 91 + } + }, + { + "offset": 400, + "absolute_body_offset": 612, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 402, + "absolute_body_offset": 614, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f020c00", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 12, + "intrinsic_name_hint": "Item::destroy(void)" + } + }, + { + "offset": 406, + "absolute_body_offset": 618, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 408, + "absolute_body_offset": 620, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525b1d", + "operands": { + "relative_u16": 7515, + "relative_signed": 7515, + "target_offset": 7926 + } + }, + { + "offset": 411, + "absolute_body_offset": 623, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 413, + "absolute_body_offset": 625, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 415, + "absolute_body_offset": 627, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 416, + "absolute_body_offset": 628, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51ce00", + "operands": { + "relative_u16": 206, + "relative_signed": 206, + "target_offset": 625 + } + }, + { + "offset": 419, + "absolute_body_offset": 631, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6100", + "operands": { + "line_number": 97 + } + }, + { + "offset": 422, + "absolute_body_offset": 634, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 425, + "absolute_body_offset": 637, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f043300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 51, + "intrinsic_name_hint": "Intrinsic0033()" + } + }, + { + "offset": 429, + "absolute_body_offset": 641, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 431, + "absolute_body_offset": 643, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 432, + "absolute_body_offset": 644, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512900", + "operands": { + "relative_u16": 41, + "relative_signed": 41, + "target_offset": 476 + } + }, + { + "offset": 435, + "absolute_body_offset": 647, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6300", + "operands": { + "line_number": 99 + } + }, + { + "offset": 438, + "absolute_body_offset": 650, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 439, + "absolute_body_offset": 651, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 441, + "absolute_body_offset": 653, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 446, + "absolute_body_offset": 658, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 453, + "absolute_body_offset": 665, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 455, + "absolute_body_offset": 667, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 456, + "absolute_body_offset": 668, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 459, + "absolute_body_offset": 671, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 460, + "absolute_body_offset": 672, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 461, + "absolute_body_offset": 673, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c2a1d4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 473, + "absolute_body_offset": 685, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c7ff", + "operands": { + "relative_u16": 65479, + "relative_signed": -57, + "target_offset": 419 + } + }, + { + "offset": 476, + "absolute_body_offset": 688, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6600", + "operands": { + "line_number": 102 + } + }, + { + "offset": 479, + "absolute_body_offset": 691, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 481, + "absolute_body_offset": 693, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f020c00", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 12, + "intrinsic_name_hint": "Item::destroy(void)" + } + }, + { + "offset": 485, + "absolute_body_offset": 697, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 487, + "absolute_body_offset": 699, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6800", + "operands": { + "line_number": 104 + } + }, + { + "offset": 490, + "absolute_body_offset": 702, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 491, + "absolute_body_offset": 703, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 493, + "absolute_body_offset": 705, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 497, + "absolute_body_offset": 709, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 499, + "absolute_body_offset": 711, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 500, + "absolute_body_offset": 712, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 502, + "absolute_body_offset": 714, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 506, + "absolute_body_offset": 718, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 508, + "absolute_body_offset": 720, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 509, + "absolute_body_offset": 721, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 514, + "absolute_body_offset": 726, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5704000c0a3d00", + "operands": { + "arg_bytes": 4, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 61, + "target_event_name_hint": null + } + }, + { + "offset": 521, + "absolute_body_offset": 733, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 523, + "absolute_body_offset": 735, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 524, + "absolute_body_offset": 736, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 527, + "absolute_body_offset": 739, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 528, + "absolute_body_offset": 740, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 529, + "absolute_body_offset": 741, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5ce61c4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 541, + "absolute_body_offset": 753, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6900", + "operands": { + "line_number": 105 + } + }, + { + "offset": 544, + "absolute_body_offset": 756, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 545, + "absolute_body_offset": 757, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a3c", + "operands": { + "value_u8": 60, + "value_signed": 60 + } + }, + { + "offset": 547, + "absolute_body_offset": 759, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 552, + "absolute_body_offset": 764, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 559, + "absolute_body_offset": 771, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 561, + "absolute_body_offset": 773, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 562, + "absolute_body_offset": 774, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 565, + "absolute_body_offset": 777, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 566, + "absolute_body_offset": 778, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 567, + "absolute_body_offset": 779, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cc01c4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 579, + "absolute_body_offset": 791, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6a00", + "operands": { + "line_number": 106 + } + }, + { + "offset": 582, + "absolute_body_offset": 794, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 583, + "absolute_body_offset": 795, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 585, + "absolute_body_offset": 797, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 588, + "absolute_body_offset": 800, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 589, + "absolute_body_offset": 801, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 591, + "absolute_body_offset": 803, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 593, + "absolute_body_offset": 805, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 595, + "absolute_body_offset": 807, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 602, + "absolute_body_offset": 814, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 604, + "absolute_body_offset": 816, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 605, + "absolute_body_offset": 817, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 608, + "absolute_body_offset": 820, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 609, + "absolute_body_offset": 821, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 610, + "absolute_body_offset": 822, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c951c4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 622, + "absolute_body_offset": 834, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52851c", + "operands": { + "relative_u16": 7301, + "relative_signed": 7301, + "target_offset": 7926 + } + }, + { + "offset": 625, + "absolute_body_offset": 837, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 627, + "absolute_body_offset": 839, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a03", + "operands": { + "value_u8": 3, + "value_signed": 3 + } + }, + { + "offset": 629, + "absolute_body_offset": 841, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 630, + "absolute_body_offset": 842, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "515b00", + "operands": { + "relative_u16": 91, + "relative_signed": 91, + "target_offset": 724 + } + }, + { + "offset": 633, + "absolute_body_offset": 845, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7000", + "operands": { + "line_number": 112 + } + }, + { + "offset": 636, + "absolute_body_offset": 848, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 637, + "absolute_body_offset": 849, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 642, + "absolute_body_offset": 854, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5700000c0a3e00", + "operands": { + "arg_bytes": 0, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 62, + "target_event_name_hint": null + } + }, + { + "offset": 649, + "absolute_body_offset": 861, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 650, + "absolute_body_offset": 862, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 653, + "absolute_body_offset": 865, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 654, + "absolute_body_offset": 866, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 655, + "absolute_body_offset": 867, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c681c4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 667, + "absolute_body_offset": 879, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7100", + "operands": { + "line_number": 113 + } + }, + { + "offset": 670, + "absolute_body_offset": 882, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 671, + "absolute_body_offset": 883, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 673, + "absolute_body_offset": 885, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 676, + "absolute_body_offset": 888, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 677, + "absolute_body_offset": 889, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 679, + "absolute_body_offset": 891, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 681, + "absolute_body_offset": 893, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 683, + "absolute_body_offset": 895, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 690, + "absolute_body_offset": 902, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 692, + "absolute_body_offset": 904, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 693, + "absolute_body_offset": 905, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 696, + "absolute_body_offset": 908, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 697, + "absolute_body_offset": 909, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 698, + "absolute_body_offset": 910, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c3d1c4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 710, + "absolute_body_offset": 922, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7300", + "operands": { + "line_number": 115 + } + }, + { + "offset": 713, + "absolute_body_offset": 925, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 715, + "absolute_body_offset": 927, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f020c00", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 12, + "intrinsic_name_hint": "Item::destroy(void)" + } + }, + { + "offset": 719, + "absolute_body_offset": 931, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 721, + "absolute_body_offset": 933, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52221c", + "operands": { + "relative_u16": 7202, + "relative_signed": 7202, + "target_offset": 7926 + } + }, + { + "offset": 724, + "absolute_body_offset": 936, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 726, + "absolute_body_offset": 938, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 728, + "absolute_body_offset": 940, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 729, + "absolute_body_offset": 941, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511200", + "operands": { + "relative_u16": 18, + "relative_signed": 18, + "target_offset": 750 + } + }, + { + "offset": 732, + "absolute_body_offset": 944, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7900", + "operands": { + "line_number": 121 + } + }, + { + "offset": 735, + "absolute_body_offset": 947, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 737, + "absolute_body_offset": 949, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 739, + "absolute_body_offset": 951, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 741, + "absolute_body_offset": 953, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f081700", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 23, + "intrinsic_name_hint": "Intrinsic00C3()" + } + }, + { + "offset": 745, + "absolute_body_offset": 957, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 747, + "absolute_body_offset": 959, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52081c", + "operands": { + "relative_u16": 7176, + "relative_signed": 7176, + "target_offset": 7926 + } + }, + { + "offset": 750, + "absolute_body_offset": 962, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 752, + "absolute_body_offset": 964, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a06", + "operands": { + "value_u8": 6, + "value_signed": 6 + } + }, + { + "offset": 754, + "absolute_body_offset": 966, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 755, + "absolute_body_offset": 967, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511200", + "operands": { + "relative_u16": 18, + "relative_signed": 18, + "target_offset": 776 + } + }, + { + "offset": 758, + "absolute_body_offset": 970, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7e00", + "operands": { + "line_number": 126 + } + }, + { + "offset": 761, + "absolute_body_offset": 973, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 763, + "absolute_body_offset": 975, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 765, + "absolute_body_offset": 977, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 767, + "absolute_body_offset": 979, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f081700", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 23, + "intrinsic_name_hint": "Intrinsic00C3()" + } + }, + { + "offset": 771, + "absolute_body_offset": 983, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 773, + "absolute_body_offset": 985, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52ee1b", + "operands": { + "relative_u16": 7150, + "relative_signed": 7150, + "target_offset": 7926 + } + }, + { + "offset": 776, + "absolute_body_offset": 988, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 778, + "absolute_body_offset": 990, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a07", + "operands": { + "value_u8": 7, + "value_signed": 7 + } + }, + { + "offset": 780, + "absolute_body_offset": 992, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 781, + "absolute_body_offset": 993, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511200", + "operands": { + "relative_u16": 18, + "relative_signed": 18, + "target_offset": 802 + } + }, + { + "offset": 784, + "absolute_body_offset": 996, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8300", + "operands": { + "line_number": 131 + } + }, + { + "offset": 787, + "absolute_body_offset": 999, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 789, + "absolute_body_offset": 1001, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 791, + "absolute_body_offset": 1003, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 793, + "absolute_body_offset": 1005, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f081700", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 23, + "intrinsic_name_hint": "Intrinsic00C3()" + } + }, + { + "offset": 797, + "absolute_body_offset": 1009, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 799, + "absolute_body_offset": 1011, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52d41b", + "operands": { + "relative_u16": 7124, + "relative_signed": 7124, + "target_offset": 7926 + } + }, + { + "offset": 802, + "absolute_body_offset": 1014, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 804, + "absolute_body_offset": 1016, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a08", + "operands": { + "value_u8": 8, + "value_signed": 8 + } + }, + { + "offset": 806, + "absolute_body_offset": 1018, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 807, + "absolute_body_offset": 1019, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "519d00", + "operands": { + "relative_u16": 157, + "relative_signed": 157, + "target_offset": 967 + } + }, + { + "offset": 810, + "absolute_body_offset": 1022, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8800", + "operands": { + "line_number": 136 + } + }, + { + "offset": 813, + "absolute_body_offset": 1025, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 815, + "absolute_body_offset": 1027, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 819, + "absolute_body_offset": 1031, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 821, + "absolute_body_offset": 1033, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 822, + "absolute_body_offset": 1034, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 824, + "absolute_body_offset": 1036, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8a00", + "operands": { + "line_number": 138 + } + }, + { + "offset": 827, + "absolute_body_offset": 1039, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 829, + "absolute_body_offset": 1041, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 831, + "absolute_body_offset": 1043, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 832, + "absolute_body_offset": 1044, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512e00", + "operands": { + "relative_u16": 46, + "relative_signed": 46, + "target_offset": 881 + } + }, + { + "offset": 835, + "absolute_body_offset": 1047, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8c00", + "operands": { + "line_number": 140 + } + }, + { + "offset": 838, + "absolute_body_offset": 1050, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 839, + "absolute_body_offset": 1051, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 841, + "absolute_body_offset": 1053, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 844, + "absolute_body_offset": 1056, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 845, + "absolute_body_offset": 1057, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 847, + "absolute_body_offset": 1059, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 849, + "absolute_body_offset": 1061, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 851, + "absolute_body_offset": 1063, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 858, + "absolute_body_offset": 1070, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 860, + "absolute_body_offset": 1072, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 861, + "absolute_body_offset": 1073, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 864, + "absolute_body_offset": 1076, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 865, + "absolute_body_offset": 1077, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 866, + "absolute_body_offset": 1078, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c951b4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 878, + "absolute_body_offset": 1090, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525300", + "operands": { + "relative_u16": 83, + "relative_signed": 83, + "target_offset": 964 + } + }, + { + "offset": 881, + "absolute_body_offset": 1093, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9000", + "operands": { + "line_number": 144 + } + }, + { + "offset": 884, + "absolute_body_offset": 1096, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 886, + "absolute_body_offset": 1098, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 890, + "absolute_body_offset": 1102, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 892, + "absolute_body_offset": 1104, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 893, + "absolute_body_offset": 1105, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01ef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 895, + "absolute_body_offset": 1107, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9100", + "operands": { + "line_number": 145 + } + }, + { + "offset": 898, + "absolute_body_offset": 1110, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 900, + "absolute_body_offset": 1112, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 902, + "absolute_body_offset": 1114, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 906, + "absolute_body_offset": 1118, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 908, + "absolute_body_offset": 1120, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9200", + "operands": { + "line_number": 146 + } + }, + { + "offset": 911, + "absolute_body_offset": 1123, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 912, + "absolute_body_offset": 1124, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 914, + "absolute_body_offset": 1126, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 917, + "absolute_body_offset": 1129, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 918, + "absolute_body_offset": 1130, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 920, + "absolute_body_offset": 1132, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 922, + "absolute_body_offset": 1134, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 924, + "absolute_body_offset": 1136, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 931, + "absolute_body_offset": 1143, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 933, + "absolute_body_offset": 1145, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 934, + "absolute_body_offset": 1146, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 937, + "absolute_body_offset": 1149, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 938, + "absolute_body_offset": 1150, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 939, + "absolute_body_offset": 1151, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c4c1b4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 951, + "absolute_body_offset": 1163, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9300", + "operands": { + "line_number": 147 + } + }, + { + "offset": 954, + "absolute_body_offset": 1166, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 956, + "absolute_body_offset": 1168, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 958, + "absolute_body_offset": 1170, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 962, + "absolute_body_offset": 1174, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 964, + "absolute_body_offset": 1176, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "522f1b", + "operands": { + "relative_u16": 6959, + "relative_signed": 6959, + "target_offset": 7926 + } + }, + { + "offset": 967, + "absolute_body_offset": 1179, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 969, + "absolute_body_offset": 1181, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a09", + "operands": { + "value_u8": 9, + "value_signed": 9 + } + }, + { + "offset": 971, + "absolute_body_offset": 1183, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 972, + "absolute_body_offset": 1184, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518f00", + "operands": { + "relative_u16": 143, + "relative_signed": 143, + "target_offset": 1118 + } + }, + { + "offset": 975, + "absolute_body_offset": 1187, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9900", + "operands": { + "line_number": 153 + } + }, + { + "offset": 978, + "absolute_body_offset": 1190, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 980, + "absolute_body_offset": 1192, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 984, + "absolute_body_offset": 1196, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 986, + "absolute_body_offset": 1198, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 987, + "absolute_body_offset": 1199, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 989, + "absolute_body_offset": 1201, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 991, + "absolute_body_offset": 1203, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 993, + "absolute_body_offset": 1205, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743a", + "operands": { + "value_u8": 58 + } + }, + { + "offset": 995, + "absolute_body_offset": 1207, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9c00", + "operands": { + "line_number": 156 + } + }, + { + "offset": 998, + "absolute_body_offset": 1210, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 1000, + "absolute_body_offset": 1212, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 1002, + "absolute_body_offset": 1214, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 1004, + "absolute_body_offset": 1216, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 1006, + "absolute_body_offset": 1218, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 1007, + "absolute_body_offset": 1219, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9d00", + "operands": { + "line_number": 157 + } + }, + { + "offset": 1010, + "absolute_body_offset": 1222, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1012, + "absolute_body_offset": 1224, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 1014, + "absolute_body_offset": 1226, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 1018, + "absolute_body_offset": 1230, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "515c00", + "operands": { + "relative_u16": 92, + "relative_signed": 92, + "target_offset": 1113 + } + }, + { + "offset": 1021, + "absolute_body_offset": 1233, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5ba000", + "operands": { + "line_number": 160 + } + }, + { + "offset": 1024, + "absolute_body_offset": 1236, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9f00", + "operands": { + "line_number": 159 + } + }, + { + "offset": 1027, + "absolute_body_offset": 1239, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9e00", + "operands": { + "line_number": 158 + } + }, + { + "offset": 1030, + "absolute_body_offset": 1242, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 1032, + "absolute_body_offset": 1244, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1034, + "absolute_body_offset": 1246, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 1038, + "absolute_body_offset": 1250, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1040, + "absolute_body_offset": 1252, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1041, + "absolute_body_offset": 1253, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1042, + "absolute_body_offset": 1254, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1044, + "absolute_body_offset": 1256, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 3, + "intrinsic_name_hint": "Item::getMapNum(void)" + } + }, + { + "offset": 1048, + "absolute_body_offset": 1260, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1050, + "absolute_body_offset": 1262, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1051, + "absolute_body_offset": 1263, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 1053, + "absolute_body_offset": 1265, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1054, + "absolute_body_offset": 1266, + "opcode": 50, + "mnemonic": "and", + "raw_bytes": "32", + "operands": {} + }, + { + "offset": 1055, + "absolute_body_offset": 1267, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9f00", + "operands": { + "line_number": 159 + } + }, + { + "offset": 1058, + "absolute_body_offset": 1270, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1060, + "absolute_body_offset": 1272, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 1062, + "absolute_body_offset": 1274, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1064, + "absolute_body_offset": 1276, + "opcode": 54, + "mnemonic": "ne", + "raw_bytes": "36", + "operands": {} + }, + { + "offset": 1065, + "absolute_body_offset": 1277, + "opcode": 50, + "mnemonic": "and", + "raw_bytes": "32", + "operands": {} + }, + { + "offset": 1066, + "absolute_body_offset": 1278, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512800", + "operands": { + "relative_u16": 40, + "relative_signed": 40, + "target_offset": 1109 + } + }, + { + "offset": 1069, + "absolute_body_offset": 1281, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5ba100", + "operands": { + "line_number": 161 + } + }, + { + "offset": 1072, + "absolute_body_offset": 1284, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1074, + "absolute_body_offset": 1286, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 1078, + "absolute_body_offset": 1290, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1080, + "absolute_body_offset": 1292, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1081, + "absolute_body_offset": 1293, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1083, + "absolute_body_offset": 1295, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f068800", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 136, + "intrinsic_name_hint": "Intrinsic0088()" + } + }, + { + "offset": 1087, + "absolute_body_offset": 1299, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 1089, + "absolute_body_offset": 1301, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5ba200", + "operands": { + "line_number": 162 + } + }, + { + "offset": 1092, + "absolute_body_offset": 1304, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1094, + "absolute_body_offset": 1306, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 137, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 1098, + "absolute_body_offset": 1310, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1100, + "absolute_body_offset": 1312, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1101, + "absolute_body_offset": 1313, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1103, + "absolute_body_offset": 1315, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f066800", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 104, + "intrinsic_name_hint": "Kernel::getNumProcesses(uint16,ProcessType)" + } + }, + { + "offset": 1107, + "absolute_body_offset": 1319, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 1109, + "absolute_body_offset": 1321, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 1110, + "absolute_body_offset": 1322, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52a1ff", + "operands": { + "relative_u16": 65441, + "relative_signed": -95, + "target_offset": 1018 + } + }, + { + "offset": 1113, + "absolute_body_offset": 1325, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 1115, + "absolute_body_offset": 1327, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52981a", + "operands": { + "relative_u16": 6808, + "relative_signed": 6808, + "target_offset": 7926 + } + }, + { + "offset": 1118, + "absolute_body_offset": 1330, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 1120, + "absolute_body_offset": 1332, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0a", + "operands": { + "value_u8": 10, + "value_signed": 10 + } + }, + { + "offset": 1122, + "absolute_body_offset": 1334, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1123, + "absolute_body_offset": 1335, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513d01", + "operands": { + "relative_u16": 317, + "relative_signed": 317, + "target_offset": 1443 + } + }, + { + "offset": 1126, + "absolute_body_offset": 1338, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 1128, + "absolute_body_offset": 1340, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 1130, + "absolute_body_offset": 1342, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7440", + "operands": { + "value_u8": 64 + } + }, + { + "offset": 1132, + "absolute_body_offset": 1344, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5ba900", + "operands": { + "line_number": 169 + } + }, + { + "offset": 1135, + "absolute_body_offset": 1347, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b3a03", + "operands": { + "value_u16": 826 + } + }, + { + "offset": 1138, + "absolute_body_offset": 1350, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 1140, + "absolute_body_offset": 1352, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a64", + "operands": { + "value_u8": 100, + "value_signed": 100 + } + }, + { + "offset": 1142, + "absolute_body_offset": 1354, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 1144, + "absolute_body_offset": 1356, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 1145, + "absolute_body_offset": 1357, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5baa00", + "operands": { + "line_number": 170 + } + }, + { + "offset": 1148, + "absolute_body_offset": 1360, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1150, + "absolute_body_offset": 1362, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 1152, + "absolute_body_offset": 1364, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 1156, + "absolute_body_offset": 1368, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513600", + "operands": { + "relative_u16": 54, + "relative_signed": 54, + "target_offset": 1213 + } + }, + { + "offset": 1159, + "absolute_body_offset": 1371, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bab00", + "operands": { + "line_number": 171 + } + }, + { + "offset": 1162, + "absolute_body_offset": 1374, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1164, + "absolute_body_offset": 1376, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 1168, + "absolute_body_offset": 1380, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1170, + "absolute_body_offset": 1382, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1171, + "absolute_body_offset": 1383, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1173, + "absolute_body_offset": 1385, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 1177, + "absolute_body_offset": 1389, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1179, + "absolute_body_offset": 1391, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1180, + "absolute_body_offset": 1392, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1181, + "absolute_body_offset": 1393, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511900", + "operands": { + "relative_u16": 25, + "relative_signed": 25, + "target_offset": 1209 + } + }, + { + "offset": 1184, + "absolute_body_offset": 1396, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bad00", + "operands": { + "line_number": 173 + } + }, + { + "offset": 1187, + "absolute_body_offset": 1399, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1189, + "absolute_body_offset": 1401, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040100", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 1, + "intrinsic_name_hint": "Item::getFrame(void)" + } + }, + { + "offset": 1193, + "absolute_body_offset": 1405, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1195, + "absolute_body_offset": 1407, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1196, + "absolute_body_offset": 1408, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 1198, + "absolute_body_offset": 1410, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1199, + "absolute_body_offset": 1411, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510700", + "operands": { + "relative_u16": 7, + "relative_signed": 7, + "target_offset": 1209 + } + }, + { + "offset": 1202, + "absolute_body_offset": 1414, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5baf00", + "operands": { + "line_number": 175 + } + }, + { + "offset": 1205, + "absolute_body_offset": 1417, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1207, + "absolute_body_offset": 1419, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01fc", + "operands": { + "bp_offset": 252, + "target": "[BP-04h]" + } + }, + { + "offset": 1209, + "absolute_body_offset": 1421, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 1210, + "absolute_body_offset": 1422, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c7ff", + "operands": { + "relative_u16": 65479, + "relative_signed": -57, + "target_offset": 1156 + } + }, + { + "offset": 1213, + "absolute_body_offset": 1425, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 1215, + "absolute_body_offset": 1427, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 1217, + "absolute_body_offset": 1429, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 1219, + "absolute_body_offset": 1431, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7440", + "operands": { + "value_u8": 64 + } + }, + { + "offset": 1221, + "absolute_body_offset": 1433, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb400", + "operands": { + "line_number": 180 + } + }, + { + "offset": 1224, + "absolute_body_offset": 1436, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b3a03", + "operands": { + "value_u16": 826 + } + }, + { + "offset": 1227, + "absolute_body_offset": 1439, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 1229, + "absolute_body_offset": 1441, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a64", + "operands": { + "value_u8": 100, + "value_signed": 100 + } + }, + { + "offset": 1231, + "absolute_body_offset": 1443, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 1233, + "absolute_body_offset": 1445, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 1234, + "absolute_body_offset": 1446, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb500", + "operands": { + "line_number": 181 + } + }, + { + "offset": 1237, + "absolute_body_offset": 1449, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1239, + "absolute_body_offset": 1451, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 1241, + "absolute_body_offset": 1453, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 1245, + "absolute_body_offset": 1457, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513900", + "operands": { + "relative_u16": 57, + "relative_signed": 57, + "target_offset": 1305 + } + }, + { + "offset": 1248, + "absolute_body_offset": 1460, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb700", + "operands": { + "line_number": 183 + } + }, + { + "offset": 1251, + "absolute_body_offset": 1463, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb600", + "operands": { + "line_number": 182 + } + }, + { + "offset": 1254, + "absolute_body_offset": 1466, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1256, + "absolute_body_offset": 1468, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 1260, + "absolute_body_offset": 1472, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1262, + "absolute_body_offset": 1474, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1263, + "absolute_body_offset": 1475, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1265, + "absolute_body_offset": 1477, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 1269, + "absolute_body_offset": 1481, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1271, + "absolute_body_offset": 1483, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1272, + "absolute_body_offset": 1484, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1273, + "absolute_body_offset": 1485, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511900", + "operands": { + "relative_u16": 25, + "relative_signed": 25, + "target_offset": 1301 + } + }, + { + "offset": 1276, + "absolute_body_offset": 1488, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb800", + "operands": { + "line_number": 184 + } + }, + { + "offset": 1279, + "absolute_body_offset": 1491, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1281, + "absolute_body_offset": 1493, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040100", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 1, + "intrinsic_name_hint": "Item::getFrame(void)" + } + }, + { + "offset": 1285, + "absolute_body_offset": 1497, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1287, + "absolute_body_offset": 1499, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1288, + "absolute_body_offset": 1500, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 1290, + "absolute_body_offset": 1502, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1291, + "absolute_body_offset": 1503, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510700", + "operands": { + "relative_u16": 7, + "relative_signed": 7, + "target_offset": 1301 + } + }, + { + "offset": 1294, + "absolute_body_offset": 1506, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bba00", + "operands": { + "line_number": 186 + } + }, + { + "offset": 1297, + "absolute_body_offset": 1509, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1299, + "absolute_body_offset": 1511, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01fa", + "operands": { + "bp_offset": 250, + "target": "[BP-06h]" + } + }, + { + "offset": 1301, + "absolute_body_offset": 1513, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 1302, + "absolute_body_offset": 1514, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c4ff", + "operands": { + "relative_u16": 65476, + "relative_signed": -60, + "target_offset": 1245 + } + }, + { + "offset": 1305, + "absolute_body_offset": 1517, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 1307, + "absolute_body_offset": 1519, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc000", + "operands": { + "line_number": 192 + } + }, + { + "offset": 1310, + "absolute_body_offset": 1522, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bbf00", + "operands": { + "line_number": 191 + } + }, + { + "offset": 1313, + "absolute_body_offset": 1525, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffc", + "operands": { + "bp_offset": 252, + "target": "[BP-04h]" + } + }, + { + "offset": 1315, + "absolute_body_offset": 1527, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc000", + "operands": { + "line_number": 192 + } + }, + { + "offset": 1318, + "absolute_body_offset": 1530, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffa", + "operands": { + "bp_offset": 250, + "target": "[BP-06h]" + } + }, + { + "offset": 1320, + "absolute_body_offset": 1532, + "opcode": 50, + "mnemonic": "and", + "raw_bytes": "32", + "operands": {} + }, + { + "offset": 1321, + "absolute_body_offset": 1533, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "517400", + "operands": { + "relative_u16": 116, + "relative_signed": 116, + "target_offset": 1440 + } + }, + { + "offset": 1324, + "absolute_body_offset": 1536, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc100", + "operands": { + "line_number": 193 + } + }, + { + "offset": 1327, + "absolute_body_offset": 1539, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfa", + "operands": { + "bp_offset": 250, + "target": "[BP-06h]" + } + }, + { + "offset": 1329, + "absolute_body_offset": 1541, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 1333, + "absolute_body_offset": 1545, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1335, + "absolute_body_offset": 1547, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1336, + "absolute_body_offset": 1548, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f3", + "operands": { + "bp_offset": 243, + "target": "[BP-0Dh]" + } + }, + { + "offset": 1338, + "absolute_body_offset": 1550, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc200", + "operands": { + "line_number": 194 + } + }, + { + "offset": 1341, + "absolute_body_offset": 1553, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfa", + "operands": { + "bp_offset": 250, + "target": "[BP-06h]" + } + }, + { + "offset": 1343, + "absolute_body_offset": 1555, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 1347, + "absolute_body_offset": 1559, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1349, + "absolute_body_offset": 1561, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1350, + "absolute_body_offset": 1562, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f5", + "operands": { + "bp_offset": 245, + "target": "[BP-0Bh]" + } + }, + { + "offset": 1352, + "absolute_body_offset": 1564, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc300", + "operands": { + "line_number": 195 + } + }, + { + "offset": 1355, + "absolute_body_offset": 1567, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfa", + "operands": { + "bp_offset": 250, + "target": "[BP-06h]" + } + }, + { + "offset": 1357, + "absolute_body_offset": 1569, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 9, + "intrinsic_name_hint": "Item::getZ(void)" + } + }, + { + "offset": 1361, + "absolute_body_offset": 1573, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1363, + "absolute_body_offset": 1575, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 1364, + "absolute_body_offset": 1576, + "opcode": 0, + "mnemonic": "pop_local_byte", + "raw_bytes": "00f7", + "operands": { + "bp_offset": 247, + "target": "[BP-09h]" + } + }, + { + "offset": 1366, + "absolute_body_offset": 1578, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc500", + "operands": { + "line_number": 197 + } + }, + { + "offset": 1369, + "absolute_body_offset": 1581, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 1371, + "absolute_body_offset": 1583, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b4303", + "operands": { + "value_u16": 835 + } + }, + { + "offset": 1374, + "absolute_body_offset": 1586, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1376, + "absolute_body_offset": 1588, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f081f00", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 31, + "intrinsic_name_hint": "Item::getQLo(void)" + } + }, + { + "offset": 1380, + "absolute_body_offset": 1592, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 1382, + "absolute_body_offset": 1594, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc600", + "operands": { + "line_number": 198 + } + }, + { + "offset": 1385, + "absolute_body_offset": 1597, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfc", + "operands": { + "bp_offset": 252, + "target": "[BP-04h]" + } + }, + { + "offset": 1387, + "absolute_body_offset": 1599, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 9, + "intrinsic_name_hint": "Item::getZ(void)" + } + }, + { + "offset": 1391, + "absolute_body_offset": 1603, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1393, + "absolute_body_offset": 1605, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 1394, + "absolute_body_offset": 1606, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a3c", + "operands": { + "value_u8": 60, + "value_signed": 60 + } + }, + { + "offset": 1396, + "absolute_body_offset": 1608, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 1397, + "absolute_body_offset": 1609, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfc", + "operands": { + "bp_offset": 252, + "target": "[BP-04h]" + } + }, + { + "offset": 1399, + "absolute_body_offset": 1611, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 1403, + "absolute_body_offset": 1615, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1405, + "absolute_body_offset": 1617, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1406, + "absolute_body_offset": 1618, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfc", + "operands": { + "bp_offset": 252, + "target": "[BP-04h]" + } + }, + { + "offset": 1408, + "absolute_body_offset": 1620, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 1412, + "absolute_body_offset": 1624, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1414, + "absolute_body_offset": 1626, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1415, + "absolute_body_offset": 1627, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1417, + "absolute_body_offset": 1629, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0a2000", + "operands": { + "arg_bytes": 10, + "intrinsic_ordinal": 32, + "intrinsic_name_hint": "Item::setQLo(sint16)" + } + }, + { + "offset": 1421, + "absolute_body_offset": 1633, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef6", + "operands": { + "value_u8": 246 + } + }, + { + "offset": 1423, + "absolute_body_offset": 1635, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc700", + "operands": { + "line_number": 199 + } + }, + { + "offset": 1426, + "absolute_body_offset": 1638, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 1428, + "absolute_body_offset": 1640, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a40", + "operands": { + "value_u8": 64, + "value_signed": 64 + } + }, + { + "offset": 1430, + "absolute_body_offset": 1642, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bf3", + "operands": { + "bp_offset": 243, + "target": "[BP-0Dh]" + } + }, + { + "offset": 1432, + "absolute_body_offset": 1644, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 1434, + "absolute_body_offset": 1646, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0c8a00", + "operands": { + "arg_bytes": 12, + "intrinsic_ordinal": 138, + "intrinsic_name_hint": "Item::getQuality(void)" + } + }, + { + "offset": 1438, + "absolute_body_offset": 1650, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef4", + "operands": { + "value_u8": 244 + } + }, + { + "offset": 1440, + "absolute_body_offset": 1652, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525319", + "operands": { + "relative_u16": 6483, + "relative_signed": 6483, + "target_offset": 7926 + } + }, + { + "offset": 1443, + "absolute_body_offset": 1655, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 1445, + "absolute_body_offset": 1657, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0f", + "operands": { + "value_u8": 15, + "value_signed": 15 + } + }, + { + "offset": 1447, + "absolute_body_offset": 1659, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1448, + "absolute_body_offset": 1660, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513700", + "operands": { + "relative_u16": 55, + "relative_signed": 55, + "target_offset": 1506 + } + }, + { + "offset": 1451, + "absolute_body_offset": 1663, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bcd00", + "operands": { + "line_number": 205 + } + }, + { + "offset": 1454, + "absolute_body_offset": 1666, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1457, + "absolute_body_offset": 1669, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041100", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 17, + "intrinsic_name_hint": "Item::getType(void)" + } + }, + { + "offset": 1461, + "absolute_body_offset": 1673, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1463, + "absolute_body_offset": 1675, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1464, + "absolute_body_offset": 1676, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 1466, + "absolute_body_offset": 1678, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1468, + "absolute_body_offset": 1680, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 1472, + "absolute_body_offset": 1684, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1474, + "absolute_body_offset": 1686, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1475, + "absolute_body_offset": 1687, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1477, + "absolute_body_offset": 1689, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 1481, + "absolute_body_offset": 1693, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1483, + "absolute_body_offset": 1695, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1484, + "absolute_body_offset": 1696, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f084000", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 64, + "intrinsic_name_hint": "Intrinsic0040()" + } + }, + { + "offset": 1488, + "absolute_body_offset": 1700, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 1490, + "absolute_body_offset": 1702, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bce00", + "operands": { + "line_number": 206 + } + }, + { + "offset": 1493, + "absolute_body_offset": 1705, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1495, + "absolute_body_offset": 1707, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 1497, + "absolute_body_offset": 1709, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f024100", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 65, + "intrinsic_name_hint": "Item::isOn(uint16)" + } + }, + { + "offset": 1501, + "absolute_body_offset": 1713, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 1503, + "absolute_body_offset": 1715, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "521419", + "operands": { + "relative_u16": 6420, + "relative_signed": 6420, + "target_offset": 7926 + } + }, + { + "offset": 1506, + "absolute_body_offset": 1718, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 1508, + "absolute_body_offset": 1720, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a10", + "operands": { + "value_u8": 16, + "value_signed": 16 + } + }, + { + "offset": 1510, + "absolute_body_offset": 1722, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1511, + "absolute_body_offset": 1723, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513900", + "operands": { + "relative_u16": 57, + "relative_signed": 57, + "target_offset": 1571 + } + }, + { + "offset": 1514, + "absolute_body_offset": 1726, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd300", + "operands": { + "line_number": 211 + } + }, + { + "offset": 1517, + "absolute_body_offset": 1729, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1520, + "absolute_body_offset": 1732, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041100", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 17, + "intrinsic_name_hint": "Item::getType(void)" + } + }, + { + "offset": 1524, + "absolute_body_offset": 1736, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1526, + "absolute_body_offset": 1738, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1527, + "absolute_body_offset": 1739, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 1529, + "absolute_body_offset": 1741, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1532, + "absolute_body_offset": 1744, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 1536, + "absolute_body_offset": 1748, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1538, + "absolute_body_offset": 1750, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1539, + "absolute_body_offset": 1751, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1542, + "absolute_body_offset": 1754, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 1546, + "absolute_body_offset": 1758, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1548, + "absolute_body_offset": 1760, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1549, + "absolute_body_offset": 1761, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f084000", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 64, + "intrinsic_name_hint": "Intrinsic0040()" + } + }, + { + "offset": 1553, + "absolute_body_offset": 1765, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 1555, + "absolute_body_offset": 1767, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd400", + "operands": { + "line_number": 212 + } + }, + { + "offset": 1558, + "absolute_body_offset": 1770, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e3c0002", + "operands": { + "global_id": 60, + "size": 2 + } + }, + { + "offset": 1562, + "absolute_body_offset": 1774, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f024100", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 65, + "intrinsic_name_hint": "Item::isOn(uint16)" + } + }, + { + "offset": 1566, + "absolute_body_offset": 1778, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 1568, + "absolute_body_offset": 1780, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52d318", + "operands": { + "relative_u16": 6355, + "relative_signed": 6355, + "target_offset": 7926 + } + }, + { + "offset": 1571, + "absolute_body_offset": 1783, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 1573, + "absolute_body_offset": 1785, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a16", + "operands": { + "value_u8": 22, + "value_signed": 22 + } + }, + { + "offset": 1575, + "absolute_body_offset": 1787, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1576, + "absolute_body_offset": 1788, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "519e00", + "operands": { + "relative_u16": 158, + "relative_signed": 158, + "target_offset": 1737 + } + }, + { + "offset": 1579, + "absolute_body_offset": 1791, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bda00", + "operands": { + "line_number": 218 + } + }, + { + "offset": 1582, + "absolute_body_offset": 1794, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f008600", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 134, + "intrinsic_name_hint": "teleportToEgg(sint16,int,uint8)" + } + }, + { + "offset": 1586, + "absolute_body_offset": 1798, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1587, + "absolute_body_offset": 1799, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e9", + "operands": { + "bp_offset": 233, + "target": "[BP-17h]" + } + }, + { + "offset": 1589, + "absolute_body_offset": 1801, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bdb00", + "operands": { + "line_number": 219 + } + }, + { + "offset": 1592, + "absolute_body_offset": 1804, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f008700", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 135, + "intrinsic_name_hint": "Intrinsic0087()" + } + }, + { + "offset": 1596, + "absolute_body_offset": 1808, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1597, + "absolute_body_offset": 1809, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e7", + "operands": { + "bp_offset": 231, + "target": "[BP-19h]" + } + }, + { + "offset": 1599, + "absolute_body_offset": 1811, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bdd00", + "operands": { + "line_number": 221 + } + }, + { + "offset": 1602, + "absolute_body_offset": 1814, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a36", + "operands": { + "value_u8": 54, + "value_signed": 54 + } + }, + { + "offset": 1604, + "absolute_body_offset": 1816, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1606, + "absolute_body_offset": 1818, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f061500", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 21, + "intrinsic_name_hint": "Item::andStatus(void)" + } + }, + { + "offset": 1610, + "absolute_body_offset": 1822, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 1612, + "absolute_body_offset": 1824, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bde00", + "operands": { + "line_number": 222 + } + }, + { + "offset": 1615, + "absolute_body_offset": 1827, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1618, + "absolute_body_offset": 1830, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041100", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 17, + "intrinsic_name_hint": "Item::getType(void)" + } + }, + { + "offset": 1622, + "absolute_body_offset": 1834, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1624, + "absolute_body_offset": 1836, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1625, + "absolute_body_offset": 1837, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 1627, + "absolute_body_offset": 1839, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1629, + "absolute_body_offset": 1841, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 1633, + "absolute_body_offset": 1845, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1635, + "absolute_body_offset": 1847, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1636, + "absolute_body_offset": 1848, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1638, + "absolute_body_offset": 1850, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 1642, + "absolute_body_offset": 1854, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1644, + "absolute_body_offset": 1856, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1645, + "absolute_body_offset": 1857, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f084000", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 64, + "intrinsic_name_hint": "Intrinsic0040()" + } + }, + { + "offset": 1649, + "absolute_body_offset": 1861, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 1651, + "absolute_body_offset": 1863, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bdf00", + "operands": { + "line_number": 223 + } + }, + { + "offset": 1654, + "absolute_body_offset": 1866, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a36", + "operands": { + "value_u8": 54, + "value_signed": 54 + } + }, + { + "offset": 1656, + "absolute_body_offset": 1868, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1658, + "absolute_body_offset": 1870, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063a00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 58, + "intrinsic_name_hint": "Item::touch(void)" + } + }, + { + "offset": 1662, + "absolute_body_offset": 1874, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 1664, + "absolute_body_offset": 1876, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 1665, + "absolute_body_offset": 1877, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512900", + "operands": { + "relative_u16": 41, + "relative_signed": 41, + "target_offset": 1709 + } + }, + { + "offset": 1668, + "absolute_body_offset": 1880, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be100", + "operands": { + "line_number": 225 + } + }, + { + "offset": 1671, + "absolute_body_offset": 1883, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 1672, + "absolute_body_offset": 1884, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 1674, + "absolute_body_offset": 1886, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 1679, + "absolute_body_offset": 1891, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 1686, + "absolute_body_offset": 1898, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 1688, + "absolute_body_offset": 1900, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1689, + "absolute_body_offset": 1901, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 1692, + "absolute_body_offset": 1904, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 1693, + "absolute_body_offset": 1905, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 1694, + "absolute_body_offset": 1906, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c59184556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 1706, + "absolute_body_offset": 1918, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c6ff", + "operands": { + "relative_u16": 65478, + "relative_signed": -58, + "target_offset": 1651 + } + }, + { + "offset": 1709, + "absolute_body_offset": 1921, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be300", + "operands": { + "line_number": 227 + } + }, + { + "offset": 1712, + "absolute_body_offset": 1924, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1715, + "absolute_body_offset": 1927, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041100", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 17, + "intrinsic_name_hint": "Item::getType(void)" + } + }, + { + "offset": 1719, + "absolute_body_offset": 1931, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1721, + "absolute_body_offset": 1933, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1722, + "absolute_body_offset": 1934, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 1724, + "absolute_body_offset": 1936, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe7", + "operands": { + "bp_offset": 231, + "target": "[BP-19h]" + } + }, + { + "offset": 1726, + "absolute_body_offset": 1938, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe9", + "operands": { + "bp_offset": 233, + "target": "[BP-17h]" + } + }, + { + "offset": 1728, + "absolute_body_offset": 1940, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f084000", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 64, + "intrinsic_name_hint": "Intrinsic0040()" + } + }, + { + "offset": 1732, + "absolute_body_offset": 1944, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 1734, + "absolute_body_offset": 1946, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "522d18", + "operands": { + "relative_u16": 6189, + "relative_signed": 6189, + "target_offset": 7926 + } + }, + { + "offset": 1737, + "absolute_body_offset": 1949, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 1739, + "absolute_body_offset": 1951, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a28", + "operands": { + "value_u8": 40, + "value_signed": 40 + } + }, + { + "offset": 1741, + "absolute_body_offset": 1953, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1742, + "absolute_body_offset": 1954, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518600", + "operands": { + "relative_u16": 134, + "relative_signed": 134, + "target_offset": 1879 + } + }, + { + "offset": 1745, + "absolute_body_offset": 1957, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be900", + "operands": { + "line_number": 233 + } + }, + { + "offset": 1748, + "absolute_body_offset": 1960, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be800", + "operands": { + "line_number": 232 + } + }, + { + "offset": 1751, + "absolute_body_offset": 1963, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1754, + "absolute_body_offset": 1966, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f043900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 57, + "intrinsic_name_hint": "Kernel::resetRef(uint16,ProcessType)" + } + }, + { + "offset": 1758, + "absolute_body_offset": 1970, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1760, + "absolute_body_offset": 1972, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 1761, + "absolute_body_offset": 1973, + "opcode": 48, + "mnemonic": "not", + "raw_bytes": "30", + "operands": {} + }, + { + "offset": 1762, + "absolute_body_offset": 1974, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516f00", + "operands": { + "relative_u16": 111, + "relative_signed": 111, + "target_offset": 1876 + } + }, + { + "offset": 1765, + "absolute_body_offset": 1977, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bea00", + "operands": { + "line_number": 234 + } + }, + { + "offset": 1768, + "absolute_body_offset": 1980, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 1770, + "absolute_body_offset": 1982, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f020c00", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 12, + "intrinsic_name_hint": "Item::destroy(void)" + } + }, + { + "offset": 1774, + "absolute_body_offset": 1986, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 1776, + "absolute_body_offset": 1988, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5beb00", + "operands": { + "line_number": 235 + } + }, + { + "offset": 1779, + "absolute_body_offset": 1991, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1782, + "absolute_body_offset": 1994, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f043300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 51, + "intrinsic_name_hint": "Intrinsic0033()" + } + }, + { + "offset": 1786, + "absolute_body_offset": 1998, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1788, + "absolute_body_offset": 2000, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 1789, + "absolute_body_offset": 2001, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512600", + "operands": { + "relative_u16": 38, + "relative_signed": 38, + "target_offset": 1830 + } + }, + { + "offset": 1792, + "absolute_body_offset": 2004, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 1793, + "absolute_body_offset": 2005, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 1795, + "absolute_body_offset": 2007, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 1800, + "absolute_body_offset": 2012, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 1807, + "absolute_body_offset": 2019, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 1809, + "absolute_body_offset": 2021, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1810, + "absolute_body_offset": 2022, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 1813, + "absolute_body_offset": 2025, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 1814, + "absolute_body_offset": 2026, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 1815, + "absolute_body_offset": 2027, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5ce0174556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 1827, + "absolute_body_offset": 2039, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52caff", + "operands": { + "relative_u16": 65482, + "relative_signed": -54, + "target_offset": 1776 + } + }, + { + "offset": 1830, + "absolute_body_offset": 2042, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bec00", + "operands": { + "line_number": 236 + } + }, + { + "offset": 1833, + "absolute_body_offset": 2045, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 1834, + "absolute_body_offset": 2046, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 1836, + "absolute_body_offset": 2048, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 1838, + "absolute_body_offset": 2050, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1841, + "absolute_body_offset": 2053, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f080e00", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 14, + "intrinsic_name_hint": "Item::getX(void)" + } + }, + { + "offset": 1845, + "absolute_body_offset": 2057, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 1847, + "absolute_body_offset": 2059, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1848, + "absolute_body_offset": 2060, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 1851, + "absolute_body_offset": 2063, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 1852, + "absolute_body_offset": 2064, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 1853, + "absolute_body_offset": 2065, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cba174556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 1865, + "absolute_body_offset": 2077, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bed00", + "operands": { + "line_number": 237 + } + }, + { + "offset": 1868, + "absolute_body_offset": 2080, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 1870, + "absolute_body_offset": 2082, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040a00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 10, + "intrinsic_name_hint": "Intrinsic000A()" + } + }, + { + "offset": 1874, + "absolute_body_offset": 2086, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1876, + "absolute_body_offset": 2088, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "529f17", + "operands": { + "relative_u16": 6047, + "relative_signed": 6047, + "target_offset": 7926 + } + }, + { + "offset": 1879, + "absolute_body_offset": 2091, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 1881, + "absolute_body_offset": 2093, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a29", + "operands": { + "value_u8": 41, + "value_signed": 41 + } + }, + { + "offset": 1883, + "absolute_body_offset": 2095, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1884, + "absolute_body_offset": 2096, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "519802", + "operands": { + "relative_u16": 664, + "relative_signed": 664, + "target_offset": 2551 + } + }, + { + "offset": 1887, + "absolute_body_offset": 2099, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf400", + "operands": { + "line_number": 244 + } + }, + { + "offset": 1890, + "absolute_body_offset": 2102, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf300", + "operands": { + "line_number": 243 + } + }, + { + "offset": 1893, + "absolute_body_offset": 2105, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e290001", + "operands": { + "global_id": 41, + "size": 1 + } + }, + { + "offset": 1897, + "absolute_body_offset": 2109, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 1899, + "absolute_body_offset": 2111, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1900, + "absolute_body_offset": 2112, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1903, + "absolute_body_offset": 2115, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f043900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 57, + "intrinsic_name_hint": "Kernel::resetRef(uint16,ProcessType)" + } + }, + { + "offset": 1907, + "absolute_body_offset": 2119, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1909, + "absolute_body_offset": 2121, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 1910, + "absolute_body_offset": 2122, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 1912, + "absolute_body_offset": 2124, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 1913, + "absolute_body_offset": 2125, + "opcode": 52, + "mnemonic": "or", + "raw_bytes": "34", + "operands": {} + }, + { + "offset": 1914, + "absolute_body_offset": 2126, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510600", + "operands": { + "relative_u16": 6, + "relative_signed": 6, + "target_offset": 1923 + } + }, + { + "offset": 1917, + "absolute_body_offset": 2129, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf500", + "operands": { + "line_number": 245 + } + }, + { + "offset": 1920, + "absolute_body_offset": 2132, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "527317", + "operands": { + "relative_u16": 6003, + "relative_signed": 6003, + "target_offset": 7926 + } + }, + { + "offset": 1923, + "absolute_body_offset": 2135, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf800", + "operands": { + "line_number": 248 + } + }, + { + "offset": 1926, + "absolute_body_offset": 2138, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 1928, + "absolute_body_offset": 2140, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f020c00", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 12, + "intrinsic_name_hint": "Item::destroy(void)" + } + }, + { + "offset": 1932, + "absolute_body_offset": 2144, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 1934, + "absolute_body_offset": 2146, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf900", + "operands": { + "line_number": 249 + } + }, + { + "offset": 1937, + "absolute_body_offset": 2149, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 1938, + "absolute_body_offset": 2150, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a3c", + "operands": { + "value_u8": 60, + "value_signed": 60 + } + }, + { + "offset": 1940, + "absolute_body_offset": 2152, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 1945, + "absolute_body_offset": 2157, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 1952, + "absolute_body_offset": 2164, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 1954, + "absolute_body_offset": 2166, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1955, + "absolute_body_offset": 2167, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 1958, + "absolute_body_offset": 2170, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 1959, + "absolute_body_offset": 2171, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 1960, + "absolute_body_offset": 2172, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c4f174556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 1972, + "absolute_body_offset": 2184, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bfa00", + "operands": { + "line_number": 250 + } + }, + { + "offset": 1975, + "absolute_body_offset": 2187, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 1976, + "absolute_body_offset": 2188, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a03", + "operands": { + "value_u8": 3, + "value_signed": 3 + } + }, + { + "offset": 1978, + "absolute_body_offset": 2190, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 1980, + "absolute_body_offset": 2192, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 1983, + "absolute_body_offset": 2195, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402110a2200", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2577, + "target_event_slot": 34, + "target_event_name_hint": null + } + }, + { + "offset": 1990, + "absolute_body_offset": 2202, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 1992, + "absolute_body_offset": 2204, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 1993, + "absolute_body_offset": 2205, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 1996, + "absolute_body_offset": 2208, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 1997, + "absolute_body_offset": 2209, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 1998, + "absolute_body_offset": 2210, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c29174556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2010, + "absolute_body_offset": 2222, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bfb00", + "operands": { + "line_number": 251 + } + }, + { + "offset": 2013, + "absolute_body_offset": 2225, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2014, + "absolute_body_offset": 2226, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a04", + "operands": { + "value_u8": 4, + "value_signed": 4 + } + }, + { + "offset": 2016, + "absolute_body_offset": 2228, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0e", + "operands": { + "value_u8": 14, + "value_signed": 14 + } + }, + { + "offset": 2018, + "absolute_body_offset": 2230, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 2021, + "absolute_body_offset": 2233, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402110a2200", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2577, + "target_event_slot": 34, + "target_event_name_hint": null + } + }, + { + "offset": 2028, + "absolute_body_offset": 2240, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2030, + "absolute_body_offset": 2242, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2031, + "absolute_body_offset": 2243, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2034, + "absolute_body_offset": 2246, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2035, + "absolute_body_offset": 2247, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2036, + "absolute_body_offset": 2248, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c03174556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2048, + "absolute_body_offset": 2260, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bfc00", + "operands": { + "line_number": 252 + } + }, + { + "offset": 2051, + "absolute_body_offset": 2263, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2052, + "absolute_body_offset": 2264, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a03", + "operands": { + "value_u8": 3, + "value_signed": 3 + } + }, + { + "offset": 2054, + "absolute_body_offset": 2266, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0c", + "operands": { + "value_u8": 12, + "value_signed": 12 + } + }, + { + "offset": 2056, + "absolute_body_offset": 2268, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 2059, + "absolute_body_offset": 2271, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402110a2200", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2577, + "target_event_slot": 34, + "target_event_name_hint": null + } + }, + { + "offset": 2066, + "absolute_body_offset": 2278, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2068, + "absolute_body_offset": 2280, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2069, + "absolute_body_offset": 2281, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2072, + "absolute_body_offset": 2284, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2073, + "absolute_body_offset": 2285, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2074, + "absolute_body_offset": 2286, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cdd164556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2086, + "absolute_body_offset": 2298, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bfd00", + "operands": { + "line_number": 253 + } + }, + { + "offset": 2089, + "absolute_body_offset": 2301, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2090, + "absolute_body_offset": 2302, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 2092, + "absolute_body_offset": 2304, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b1027", + "operands": { + "value_u16": 10000 + } + }, + { + "offset": 2095, + "absolute_body_offset": 2307, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 2098, + "absolute_body_offset": 2310, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041c00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 28, + "intrinsic_name_hint": "Intrinsic00FA()" + } + }, + { + "offset": 2102, + "absolute_body_offset": 2314, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2104, + "absolute_body_offset": 2316, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 2105, + "absolute_body_offset": 2317, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 2107, + "absolute_body_offset": 2319, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 2110, + "absolute_body_offset": 2322, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0c3600", + "operands": { + "arg_bytes": 12, + "intrinsic_ordinal": 54, + "intrinsic_name_hint": "Intrinsic0036()" + } + }, + { + "offset": 2114, + "absolute_body_offset": 2326, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef4", + "operands": { + "value_u8": 244 + } + }, + { + "offset": 2116, + "absolute_body_offset": 2328, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2117, + "absolute_body_offset": 2329, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2120, + "absolute_body_offset": 2332, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2121, + "absolute_body_offset": 2333, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2122, + "absolute_body_offset": 2334, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cad164556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2134, + "absolute_body_offset": 2346, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bfe00", + "operands": { + "line_number": 254 + } + }, + { + "offset": 2137, + "absolute_body_offset": 2349, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 2139, + "absolute_body_offset": 2351, + "opcode": 79, + "mnemonic": "pop_global", + "raw_bytes": "4f290001", + "operands": { + "global_id": 41, + "size": 1 + } + }, + { + "offset": 2143, + "absolute_body_offset": 2355, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 2145, + "absolute_body_offset": 2357, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0001", + "operands": { + "line_number": 256 + } + }, + { + "offset": 2148, + "absolute_body_offset": 2360, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a14", + "operands": { + "value_u8": 20, + "value_signed": 20 + } + }, + { + "offset": 2150, + "absolute_body_offset": 2362, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 2152, + "absolute_body_offset": 2364, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 2153, + "absolute_body_offset": 2365, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0101", + "operands": { + "line_number": 257 + } + }, + { + "offset": 2156, + "absolute_body_offset": 2368, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2158, + "absolute_body_offset": 2370, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 2160, + "absolute_body_offset": 2372, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70f80102", + "operands": { + "current_var": 248, + "string_bytes": 1, + "loop_type": 2 + } + }, + { + "offset": 2164, + "absolute_body_offset": 2376, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513800", + "operands": { + "relative_u16": 56, + "relative_signed": 56, + "target_offset": 2223 + } + }, + { + "offset": 2167, + "absolute_body_offset": 2379, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0301", + "operands": { + "line_number": 259 + } + }, + { + "offset": 2170, + "absolute_body_offset": 2382, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0201", + "operands": { + "line_number": 258 + } + }, + { + "offset": 2173, + "absolute_body_offset": 2385, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bf8", + "operands": { + "bp_offset": 248, + "target": "[BP-08h]" + } + }, + { + "offset": 2175, + "absolute_body_offset": 2387, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 2179, + "absolute_body_offset": 2391, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2181, + "absolute_body_offset": 2393, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2182, + "absolute_body_offset": 2394, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 2184, + "absolute_body_offset": 2396, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 2185, + "absolute_body_offset": 2397, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511f00", + "operands": { + "relative_u16": 31, + "relative_signed": 31, + "target_offset": 2219 + } + }, + { + "offset": 2188, + "absolute_body_offset": 2400, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0401", + "operands": { + "line_number": 260 + } + }, + { + "offset": 2191, + "absolute_body_offset": 2403, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2192, + "absolute_body_offset": 2404, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bf8", + "operands": { + "bp_offset": 248, + "target": "[BP-08h]" + } + }, + { + "offset": 2194, + "absolute_body_offset": 2406, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570002060a2000", + "operands": { + "arg_bytes": 0, + "this_size": 2, + "target_class_id": 2566, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 2201, + "absolute_body_offset": 2413, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2202, + "absolute_body_offset": 2414, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2205, + "absolute_body_offset": 2417, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2206, + "absolute_body_offset": 2418, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2207, + "absolute_body_offset": 2419, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c58164556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2219, + "absolute_body_offset": 2431, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 2220, + "absolute_body_offset": 2432, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c5ff", + "operands": { + "relative_u16": 65477, + "relative_signed": -59, + "target_offset": 2164 + } + }, + { + "offset": 2223, + "absolute_body_offset": 2435, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 2225, + "absolute_body_offset": 2437, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 2227, + "absolute_body_offset": 2439, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 2229, + "absolute_body_offset": 2441, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7440", + "operands": { + "value_u8": 64 + } + }, + { + "offset": 2231, + "absolute_body_offset": 2443, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0801", + "operands": { + "line_number": 264 + } + }, + { + "offset": 2234, + "absolute_body_offset": 2446, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bd904", + "operands": { + "value_u16": 1241 + } + }, + { + "offset": 2237, + "absolute_body_offset": 2449, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 2239, + "absolute_body_offset": 2451, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a14", + "operands": { + "value_u8": 20, + "value_signed": 20 + } + }, + { + "offset": 2241, + "absolute_body_offset": 2453, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 2243, + "absolute_body_offset": 2455, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 2244, + "absolute_body_offset": 2456, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0901", + "operands": { + "line_number": 265 + } + }, + { + "offset": 2247, + "absolute_body_offset": 2459, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2249, + "absolute_body_offset": 2461, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 2251, + "absolute_body_offset": 2463, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70f80602", + "operands": { + "current_var": 248, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 2255, + "absolute_body_offset": 2467, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510b00", + "operands": { + "relative_u16": 11, + "relative_signed": 11, + "target_offset": 2269 + } + }, + { + "offset": 2258, + "absolute_body_offset": 2470, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0a01", + "operands": { + "line_number": 266 + } + }, + { + "offset": 2261, + "absolute_body_offset": 2473, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff8", + "operands": { + "bp_offset": 248, + "target": "[BP-08h]" + } + }, + { + "offset": 2263, + "absolute_body_offset": 2475, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01ed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 2265, + "absolute_body_offset": 2477, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 2266, + "absolute_body_offset": 2478, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52f2ff", + "operands": { + "relative_u16": 65522, + "relative_signed": -14, + "target_offset": 2255 + } + }, + { + "offset": 2269, + "absolute_body_offset": 2481, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 2271, + "absolute_body_offset": 2483, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0d01", + "operands": { + "line_number": 269 + } + }, + { + "offset": 2274, + "absolute_body_offset": 2486, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2275, + "absolute_body_offset": 2487, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a1e", + "operands": { + "value_u8": 30, + "value_signed": 30 + } + }, + { + "offset": 2277, + "absolute_body_offset": 2489, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 2282, + "absolute_body_offset": 2494, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 2289, + "absolute_body_offset": 2501, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 2291, + "absolute_body_offset": 2503, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2292, + "absolute_body_offset": 2504, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2295, + "absolute_body_offset": 2507, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2296, + "absolute_body_offset": 2508, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2297, + "absolute_body_offset": 2509, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cfe154556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2309, + "absolute_body_offset": 2521, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0e01", + "operands": { + "line_number": 270 + } + }, + { + "offset": 2312, + "absolute_body_offset": 2524, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2313, + "absolute_body_offset": 2525, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b9600", + "operands": { + "value_u16": 150 + } + }, + { + "offset": 2316, + "absolute_body_offset": 2528, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bfa00", + "operands": { + "value_u16": 250 + } + }, + { + "offset": 2319, + "absolute_body_offset": 2531, + "opcode": 13, + "mnemonic": "push_string_immediate", + "raw_bytes": "0d030031306500", + "operands": { + "declared_length": 3, + "string": "10e" + } + }, + { + "offset": 2326, + "absolute_body_offset": 2538, + "opcode": 107, + "mnemonic": "str_to_ptr", + "raw_bytes": "6b", + "operands": {} + }, + { + "offset": 2327, + "absolute_body_offset": 2539, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2329, + "absolute_body_offset": 2541, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0c0f00", + "operands": { + "arg_bytes": 12, + "intrinsic_ordinal": 15, + "intrinsic_name_hint": "Item::getY(void)" + } + }, + { + "offset": 2333, + "absolute_body_offset": 2545, + "opcode": 101, + "mnemonic": "free_stack_string", + "raw_bytes": "6504", + "operands": { + "value_u8": 4, + "target": "[SP+04h]" + } + }, + { + "offset": 2335, + "absolute_body_offset": 2547, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef4", + "operands": { + "value_u8": 244 + } + }, + { + "offset": 2337, + "absolute_body_offset": 2549, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2338, + "absolute_body_offset": 2550, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2341, + "absolute_body_offset": 2553, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2342, + "absolute_body_offset": 2554, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2343, + "absolute_body_offset": 2555, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cd0154556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2355, + "absolute_body_offset": 2567, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0f01", + "operands": { + "line_number": 271 + } + }, + { + "offset": 2358, + "absolute_body_offset": 2570, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 2360, + "absolute_body_offset": 2572, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f020c00", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 12, + "intrinsic_name_hint": "Item::destroy(void)" + } + }, + { + "offset": 2364, + "absolute_body_offset": 2576, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 2366, + "absolute_body_offset": 2578, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1201", + "operands": { + "line_number": 274 + } + }, + { + "offset": 2369, + "absolute_body_offset": 2581, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2370, + "absolute_body_offset": 2582, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a78", + "operands": { + "value_u8": 120, + "value_signed": 120 + } + }, + { + "offset": 2372, + "absolute_body_offset": 2584, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 2377, + "absolute_body_offset": 2589, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 2384, + "absolute_body_offset": 2596, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 2386, + "absolute_body_offset": 2598, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2387, + "absolute_body_offset": 2599, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2390, + "absolute_body_offset": 2602, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2391, + "absolute_body_offset": 2603, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2392, + "absolute_body_offset": 2604, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c9f154556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2404, + "absolute_body_offset": 2616, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1501", + "operands": { + "line_number": 277 + } + }, + { + "offset": 2407, + "absolute_body_offset": 2619, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 2409, + "absolute_body_offset": 2621, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518800", + "operands": { + "relative_u16": 136, + "relative_signed": 136, + "target_offset": 2548 + } + }, + { + "offset": 2412, + "absolute_body_offset": 2624, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1701", + "operands": { + "line_number": 279 + } + }, + { + "offset": 2415, + "absolute_body_offset": 2627, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 2418, + "absolute_body_offset": 2630, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f043900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 57, + "intrinsic_name_hint": "Kernel::resetRef(uint16,ProcessType)" + } + }, + { + "offset": 2422, + "absolute_body_offset": 2634, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2424, + "absolute_body_offset": 2636, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 2425, + "absolute_body_offset": 2637, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01df", + "operands": { + "bp_offset": 223, + "target": "[BP-21h]" + } + }, + { + "offset": 2427, + "absolute_body_offset": 2639, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1801", + "operands": { + "line_number": 280 + } + }, + { + "offset": 2430, + "absolute_body_offset": 2642, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 2432, + "absolute_body_offset": 2644, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f043900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 57, + "intrinsic_name_hint": "Kernel::resetRef(uint16,ProcessType)" + } + }, + { + "offset": 2436, + "absolute_body_offset": 2648, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2438, + "absolute_body_offset": 2650, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 2439, + "absolute_body_offset": 2651, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01dd", + "operands": { + "bp_offset": 221, + "target": "[BP-23h]" + } + }, + { + "offset": 2441, + "absolute_body_offset": 2653, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1c01", + "operands": { + "line_number": 284 + } + }, + { + "offset": 2444, + "absolute_body_offset": 2656, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1b01", + "operands": { + "line_number": 283 + } + }, + { + "offset": 2447, + "absolute_body_offset": 2659, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fdf", + "operands": { + "bp_offset": 223, + "target": "[BP-21h]" + } + }, + { + "offset": 2449, + "absolute_body_offset": 2661, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 2451, + "absolute_body_offset": 2663, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 2452, + "absolute_body_offset": 2664, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fdd", + "operands": { + "bp_offset": 221, + "target": "[BP-23h]" + } + }, + { + "offset": 2454, + "absolute_body_offset": 2666, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 2456, + "absolute_body_offset": 2668, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 2457, + "absolute_body_offset": 2669, + "opcode": 52, + "mnemonic": "or", + "raw_bytes": "34", + "operands": {} + }, + { + "offset": 2458, + "absolute_body_offset": 2670, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510600", + "operands": { + "relative_u16": 6, + "relative_signed": 6, + "target_offset": 2467 + } + }, + { + "offset": 2461, + "absolute_body_offset": 2673, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1d01", + "operands": { + "line_number": 285 + } + }, + { + "offset": 2464, + "absolute_body_offset": 2676, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525315", + "operands": { + "relative_u16": 5459, + "relative_signed": 5459, + "target_offset": 7926 + } + }, + { + "offset": 2467, + "absolute_body_offset": 2679, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2001", + "operands": { + "line_number": 288 + } + }, + { + "offset": 2470, + "absolute_body_offset": 2682, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2471, + "absolute_body_offset": 2683, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 2473, + "absolute_body_offset": 2685, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2475, + "absolute_body_offset": 2687, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 2477, + "absolute_body_offset": 2689, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2479, + "absolute_body_offset": 2691, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 2486, + "absolute_body_offset": 2698, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2488, + "absolute_body_offset": 2700, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2489, + "absolute_body_offset": 2701, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2492, + "absolute_body_offset": 2704, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2493, + "absolute_body_offset": 2705, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2494, + "absolute_body_offset": 2706, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c39154556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2506, + "absolute_body_offset": 2718, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2101", + "operands": { + "line_number": 289 + } + }, + { + "offset": 2509, + "absolute_body_offset": 2721, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2510, + "absolute_body_offset": 2722, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b2c01", + "operands": { + "value_u16": 300 + } + }, + { + "offset": 2513, + "absolute_body_offset": 2725, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 2518, + "absolute_body_offset": 2730, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 2525, + "absolute_body_offset": 2737, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 2527, + "absolute_body_offset": 2739, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2528, + "absolute_body_offset": 2740, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2531, + "absolute_body_offset": 2743, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2532, + "absolute_body_offset": 2744, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2533, + "absolute_body_offset": 2745, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c12154556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2545, + "absolute_body_offset": 2757, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "5270ff", + "operands": { + "relative_u16": 65392, + "relative_signed": -144, + "target_offset": 2404 + } + }, + { + "offset": 2548, + "absolute_body_offset": 2760, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52ff14", + "operands": { + "relative_u16": 5375, + "relative_signed": 5375, + "target_offset": 7926 + } + }, + { + "offset": 2551, + "absolute_body_offset": 2763, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 2553, + "absolute_body_offset": 2765, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a2d", + "operands": { + "value_u8": 45, + "value_signed": 45 + } + }, + { + "offset": 2555, + "absolute_body_offset": 2767, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 2556, + "absolute_body_offset": 2768, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518401", + "operands": { + "relative_u16": 388, + "relative_signed": 388, + "target_offset": 2947 + } + }, + { + "offset": 2559, + "absolute_body_offset": 2771, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2901", + "operands": { + "line_number": 297 + } + }, + { + "offset": 2562, + "absolute_body_offset": 2774, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2564, + "absolute_body_offset": 2776, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 137, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 2568, + "absolute_body_offset": 2780, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2570, + "absolute_body_offset": 2782, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2571, + "absolute_body_offset": 2783, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 2573, + "absolute_body_offset": 2785, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2b01", + "operands": { + "line_number": 299 + } + }, + { + "offset": 2576, + "absolute_body_offset": 2788, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 2578, + "absolute_body_offset": 2790, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516b01", + "operands": { + "relative_u16": 363, + "relative_signed": 363, + "target_offset": 2944 + } + }, + { + "offset": 2581, + "absolute_body_offset": 2793, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2d01", + "operands": { + "line_number": 301 + } + }, + { + "offset": 2584, + "absolute_body_offset": 2796, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 2586, + "absolute_body_offset": 2798, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 2588, + "absolute_body_offset": 2800, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3001", + "operands": { + "line_number": 304 + } + }, + { + "offset": 2591, + "absolute_body_offset": 2803, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2f01", + "operands": { + "line_number": 303 + } + }, + { + "offset": 2594, + "absolute_body_offset": 2806, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2596, + "absolute_body_offset": 2808, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 2600, + "absolute_body_offset": 2812, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2602, + "absolute_body_offset": 2814, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2603, + "absolute_body_offset": 2815, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 2605, + "absolute_body_offset": 2817, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 2606, + "absolute_body_offset": 2818, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2608, + "absolute_body_offset": 2820, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 2610, + "absolute_body_offset": 2822, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e3c0002", + "operands": { + "global_id": 60, + "size": 2 + } + }, + { + "offset": 2614, + "absolute_body_offset": 2826, + "opcode": 17, + "mnemonic": "call_class_event", + "raw_bytes": "110c0a2900", + "operands": { + "target_class_id": 2572, + "target_event_slot": 41, + "target_event_name_hint": null + } + }, + { + "offset": 2619, + "absolute_body_offset": 2831, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2621, + "absolute_body_offset": 2833, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2622, + "absolute_body_offset": 2834, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a32", + "operands": { + "value_u8": 50, + "value_signed": 50 + } + }, + { + "offset": 2624, + "absolute_body_offset": 2836, + "opcode": 44, + "mnemonic": "gt", + "raw_bytes": "2c", + "operands": {} + }, + { + "offset": 2625, + "absolute_body_offset": 2837, + "opcode": 52, + "mnemonic": "or", + "raw_bytes": "34", + "operands": {} + }, + { + "offset": 2626, + "absolute_body_offset": 2838, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510600", + "operands": { + "relative_u16": 6, + "relative_signed": 6, + "target_offset": 2635 + } + }, + { + "offset": 2629, + "absolute_body_offset": 2841, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3101", + "operands": { + "line_number": 305 + } + }, + { + "offset": 2632, + "absolute_body_offset": 2844, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52ab14", + "operands": { + "relative_u16": 5291, + "relative_signed": 5291, + "target_offset": 7926 + } + }, + { + "offset": 2635, + "absolute_body_offset": 2847, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 2637, + "absolute_body_offset": 2849, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 2639, + "absolute_body_offset": 2851, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743a", + "operands": { + "value_u8": 58 + } + }, + { + "offset": 2641, + "absolute_body_offset": 2853, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3501", + "operands": { + "line_number": 309 + } + }, + { + "offset": 2644, + "absolute_body_offset": 2856, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a06", + "operands": { + "value_u8": 6, + "value_signed": 6 + } + }, + { + "offset": 2646, + "absolute_body_offset": 2858, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 2648, + "absolute_body_offset": 2860, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a32", + "operands": { + "value_u8": 50, + "value_signed": 50 + } + }, + { + "offset": 2650, + "absolute_body_offset": 2862, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 2652, + "absolute_body_offset": 2864, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 2653, + "absolute_body_offset": 2865, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3601", + "operands": { + "line_number": 310 + } + }, + { + "offset": 2656, + "absolute_body_offset": 2868, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e3c0002", + "operands": { + "global_id": 60, + "size": 2 + } + }, + { + "offset": 2660, + "absolute_body_offset": 2872, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 2664, + "absolute_body_offset": 2876, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511d00", + "operands": { + "relative_u16": 29, + "relative_signed": 29, + "target_offset": 2696 + } + }, + { + "offset": 2667, + "absolute_body_offset": 2879, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3701", + "operands": { + "line_number": 311 + } + }, + { + "offset": 2670, + "absolute_body_offset": 2882, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 2672, + "absolute_body_offset": 2884, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040800", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 8, + "intrinsic_name_hint": "Item::isNpc(void)" + } + }, + { + "offset": 2676, + "absolute_body_offset": 2888, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2678, + "absolute_body_offset": 2890, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 2679, + "absolute_body_offset": 2891, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510a00", + "operands": { + "relative_u16": 10, + "relative_signed": 10, + "target_offset": 2692 + } + }, + { + "offset": 2682, + "absolute_body_offset": 2894, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3901", + "operands": { + "line_number": 313 + } + }, + { + "offset": 2685, + "absolute_body_offset": 2897, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 2687, + "absolute_body_offset": 2899, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 2689, + "absolute_body_offset": 2901, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 2690, + "absolute_body_offset": 2902, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 2692, + "absolute_body_offset": 2904, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 2693, + "absolute_body_offset": 2905, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52e0ff", + "operands": { + "relative_u16": 65504, + "relative_signed": -32, + "target_offset": 2664 + } + }, + { + "offset": 2696, + "absolute_body_offset": 2908, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 2698, + "absolute_body_offset": 2910, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3e01", + "operands": { + "line_number": 318 + } + }, + { + "offset": 2701, + "absolute_body_offset": 2913, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3d01", + "operands": { + "line_number": 317 + } + }, + { + "offset": 2704, + "absolute_body_offset": 2916, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 2706, + "absolute_body_offset": 2918, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3e01", + "operands": { + "line_number": 318 + } + }, + { + "offset": 2709, + "absolute_body_offset": 2921, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a04", + "operands": { + "value_u8": 4, + "value_signed": 4 + } + }, + { + "offset": 2711, + "absolute_body_offset": 2923, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 2712, + "absolute_body_offset": 2924, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51bc00", + "operands": { + "relative_u16": 188, + "relative_signed": 188, + "target_offset": 2903 + } + }, + { + "offset": 2715, + "absolute_body_offset": 2927, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4001", + "operands": { + "line_number": 320 + } + }, + { + "offset": 2718, + "absolute_body_offset": 2930, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2720, + "absolute_body_offset": 2932, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 2724, + "absolute_body_offset": 2936, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2726, + "absolute_body_offset": 2938, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2727, + "absolute_body_offset": 2939, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 2729, + "absolute_body_offset": 2941, + "opcode": 28, + "mnemonic": "sub", + "raw_bytes": "1c", + "operands": {} + }, + { + "offset": 2730, + "absolute_body_offset": 2942, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2732, + "absolute_body_offset": 2944, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 2736, + "absolute_body_offset": 2948, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 2738, + "absolute_body_offset": 2950, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4201", + "operands": { + "line_number": 322 + } + }, + { + "offset": 2741, + "absolute_body_offset": 2953, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2742, + "absolute_body_offset": 2954, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 2744, + "absolute_body_offset": 2956, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 2747, + "absolute_body_offset": 2959, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 2748, + "absolute_body_offset": 2960, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2750, + "absolute_body_offset": 2962, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 2752, + "absolute_body_offset": 2964, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2754, + "absolute_body_offset": 2966, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 2761, + "absolute_body_offset": 2973, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2763, + "absolute_body_offset": 2975, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2764, + "absolute_body_offset": 2976, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2767, + "absolute_body_offset": 2979, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2768, + "absolute_body_offset": 2980, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2769, + "absolute_body_offset": 2981, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c26144556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2781, + "absolute_body_offset": 2993, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4301", + "operands": { + "line_number": 323 + } + }, + { + "offset": 2784, + "absolute_body_offset": 2996, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2785, + "absolute_body_offset": 2997, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 2787, + "absolute_body_offset": 2999, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 2792, + "absolute_body_offset": 3004, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 2799, + "absolute_body_offset": 3011, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 2801, + "absolute_body_offset": 3013, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2802, + "absolute_body_offset": 3014, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2805, + "absolute_body_offset": 3017, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2806, + "absolute_body_offset": 3018, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2807, + "absolute_body_offset": 3019, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c00144556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2819, + "absolute_body_offset": 3031, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4401", + "operands": { + "line_number": 324 + } + }, + { + "offset": 2822, + "absolute_body_offset": 3034, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2823, + "absolute_body_offset": 3035, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 2825, + "absolute_body_offset": 3037, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 2828, + "absolute_body_offset": 3040, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 2829, + "absolute_body_offset": 3041, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2831, + "absolute_body_offset": 3043, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 2833, + "absolute_body_offset": 3045, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2835, + "absolute_body_offset": 3047, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 2842, + "absolute_body_offset": 3054, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2844, + "absolute_body_offset": 3056, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2845, + "absolute_body_offset": 3057, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2848, + "absolute_body_offset": 3060, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2849, + "absolute_body_offset": 3061, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2850, + "absolute_body_offset": 3062, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cd5134556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2862, + "absolute_body_offset": 3074, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4501", + "operands": { + "line_number": 325 + } + }, + { + "offset": 2865, + "absolute_body_offset": 3077, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2866, + "absolute_body_offset": 3078, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 2868, + "absolute_body_offset": 3080, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 2873, + "absolute_body_offset": 3085, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 2880, + "absolute_body_offset": 3092, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 2882, + "absolute_body_offset": 3094, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2883, + "absolute_body_offset": 3095, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2886, + "absolute_body_offset": 3098, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2887, + "absolute_body_offset": 3099, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2888, + "absolute_body_offset": 3100, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5caf134556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2900, + "absolute_body_offset": 3112, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "522600", + "operands": { + "relative_u16": 38, + "relative_signed": 38, + "target_offset": 2941 + } + }, + { + "offset": 2903, + "absolute_body_offset": 3115, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4901", + "operands": { + "line_number": 329 + } + }, + { + "offset": 2906, + "absolute_body_offset": 3118, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 2907, + "absolute_body_offset": 3119, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a78", + "operands": { + "value_u8": 120, + "value_signed": 120 + } + }, + { + "offset": 2909, + "absolute_body_offset": 3121, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 2914, + "absolute_body_offset": 3126, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 2921, + "absolute_body_offset": 3133, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 2923, + "absolute_body_offset": 3135, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2924, + "absolute_body_offset": 3136, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 2927, + "absolute_body_offset": 3139, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 2928, + "absolute_body_offset": 3140, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 2929, + "absolute_body_offset": 3141, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c86134556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 2941, + "absolute_body_offset": 3153, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528dfe", + "operands": { + "relative_u16": 65165, + "relative_signed": -371, + "target_offset": 2573 + } + }, + { + "offset": 2944, + "absolute_body_offset": 3156, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "527313", + "operands": { + "relative_u16": 4979, + "relative_signed": 4979, + "target_offset": 7926 + } + }, + { + "offset": 2947, + "absolute_body_offset": 3159, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 2949, + "absolute_body_offset": 3161, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a2e", + "operands": { + "value_u8": 46, + "value_signed": 46 + } + }, + { + "offset": 2951, + "absolute_body_offset": 3163, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 2952, + "absolute_body_offset": 3164, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "519701", + "operands": { + "relative_u16": 407, + "relative_signed": 407, + "target_offset": 3362 + } + }, + { + "offset": 2955, + "absolute_body_offset": 3167, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5001", + "operands": { + "line_number": 336 + } + }, + { + "offset": 2958, + "absolute_body_offset": 3170, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2960, + "absolute_body_offset": 3172, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 137, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 2964, + "absolute_body_offset": 3176, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 2966, + "absolute_body_offset": 3178, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 2967, + "absolute_body_offset": 3179, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 2969, + "absolute_body_offset": 3181, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5201", + "operands": { + "line_number": 338 + } + }, + { + "offset": 2972, + "absolute_body_offset": 3184, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 2974, + "absolute_body_offset": 3186, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "517e01", + "operands": { + "relative_u16": 382, + "relative_signed": 382, + "target_offset": 3359 + } + }, + { + "offset": 2977, + "absolute_body_offset": 3189, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5401", + "operands": { + "line_number": 340 + } + }, + { + "offset": 2980, + "absolute_body_offset": 3192, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 2982, + "absolute_body_offset": 3194, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 2984, + "absolute_body_offset": 3196, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5801", + "operands": { + "line_number": 344 + } + }, + { + "offset": 2987, + "absolute_body_offset": 3199, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5701", + "operands": { + "line_number": 343 + } + }, + { + "offset": 2990, + "absolute_body_offset": 3202, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5601", + "operands": { + "line_number": 342 + } + }, + { + "offset": 2993, + "absolute_body_offset": 3205, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 2995, + "absolute_body_offset": 3207, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 2999, + "absolute_body_offset": 3211, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3001, + "absolute_body_offset": 3213, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3002, + "absolute_body_offset": 3214, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 3004, + "absolute_body_offset": 3216, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 3005, + "absolute_body_offset": 3217, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3007, + "absolute_body_offset": 3219, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 3009, + "absolute_body_offset": 3221, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e3c0002", + "operands": { + "global_id": 60, + "size": 2 + } + }, + { + "offset": 3013, + "absolute_body_offset": 3225, + "opcode": 17, + "mnemonic": "call_class_event", + "raw_bytes": "110c0a2900", + "operands": { + "target_class_id": 2572, + "target_event_slot": 41, + "target_event_name_hint": null + } + }, + { + "offset": 3018, + "absolute_body_offset": 3230, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3020, + "absolute_body_offset": 3232, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3021, + "absolute_body_offset": 3233, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a32", + "operands": { + "value_u8": 50, + "value_signed": 50 + } + }, + { + "offset": 3023, + "absolute_body_offset": 3235, + "opcode": 44, + "mnemonic": "gt", + "raw_bytes": "2c", + "operands": {} + }, + { + "offset": 3024, + "absolute_body_offset": 3236, + "opcode": 52, + "mnemonic": "or", + "raw_bytes": "34", + "operands": {} + }, + { + "offset": 3025, + "absolute_body_offset": 3237, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5701", + "operands": { + "line_number": 343 + } + }, + { + "offset": 3028, + "absolute_body_offset": 3240, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3030, + "absolute_body_offset": 3242, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040700", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 7, + "intrinsic_name_hint": "Intrinsic0007()" + } + }, + { + "offset": 3034, + "absolute_body_offset": 3246, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3036, + "absolute_body_offset": 3248, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 3037, + "absolute_body_offset": 3249, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3039, + "absolute_body_offset": 3251, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 3040, + "absolute_body_offset": 3252, + "opcode": 52, + "mnemonic": "or", + "raw_bytes": "34", + "operands": {} + }, + { + "offset": 3041, + "absolute_body_offset": 3253, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510600", + "operands": { + "relative_u16": 6, + "relative_signed": 6, + "target_offset": 3050 + } + }, + { + "offset": 3044, + "absolute_body_offset": 3256, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5901", + "operands": { + "line_number": 345 + } + }, + { + "offset": 3047, + "absolute_body_offset": 3259, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "520c13", + "operands": { + "relative_u16": 4876, + "relative_signed": 4876, + "target_offset": 7926 + } + }, + { + "offset": 3050, + "absolute_body_offset": 3262, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 3052, + "absolute_body_offset": 3264, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 3054, + "absolute_body_offset": 3266, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743a", + "operands": { + "value_u8": 58 + } + }, + { + "offset": 3056, + "absolute_body_offset": 3268, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5e01", + "operands": { + "line_number": 350 + } + }, + { + "offset": 3059, + "absolute_body_offset": 3271, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a06", + "operands": { + "value_u8": 6, + "value_signed": 6 + } + }, + { + "offset": 3061, + "absolute_body_offset": 3273, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 3063, + "absolute_body_offset": 3275, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a32", + "operands": { + "value_u8": 50, + "value_signed": 50 + } + }, + { + "offset": 3065, + "absolute_body_offset": 3277, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 3067, + "absolute_body_offset": 3279, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 3068, + "absolute_body_offset": 3280, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5f01", + "operands": { + "line_number": 351 + } + }, + { + "offset": 3071, + "absolute_body_offset": 3283, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e3c0002", + "operands": { + "global_id": 60, + "size": 2 + } + }, + { + "offset": 3075, + "absolute_body_offset": 3287, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 3079, + "absolute_body_offset": 3291, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511d00", + "operands": { + "relative_u16": 29, + "relative_signed": 29, + "target_offset": 3111 + } + }, + { + "offset": 3082, + "absolute_body_offset": 3294, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6101", + "operands": { + "line_number": 353 + } + }, + { + "offset": 3085, + "absolute_body_offset": 3297, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6001", + "operands": { + "line_number": 352 + } + }, + { + "offset": 3088, + "absolute_body_offset": 3300, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 3090, + "absolute_body_offset": 3302, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bff00", + "operands": { + "value_u16": 255 + } + }, + { + "offset": 3093, + "absolute_body_offset": 3305, + "opcode": 40, + "mnemonic": "lt", + "raw_bytes": "28", + "operands": {} + }, + { + "offset": 3094, + "absolute_body_offset": 3306, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510a00", + "operands": { + "relative_u16": 10, + "relative_signed": 10, + "target_offset": 3107 + } + }, + { + "offset": 3097, + "absolute_body_offset": 3309, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6201", + "operands": { + "line_number": 354 + } + }, + { + "offset": 3100, + "absolute_body_offset": 3312, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3102, + "absolute_body_offset": 3314, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3104, + "absolute_body_offset": 3316, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3105, + "absolute_body_offset": 3317, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3107, + "absolute_body_offset": 3319, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 3108, + "absolute_body_offset": 3320, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52e0ff", + "operands": { + "relative_u16": 65504, + "relative_signed": -32, + "target_offset": 3079 + } + }, + { + "offset": 3111, + "absolute_body_offset": 3323, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 3113, + "absolute_body_offset": 3325, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6701", + "operands": { + "line_number": 359 + } + }, + { + "offset": 3116, + "absolute_body_offset": 3328, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6601", + "operands": { + "line_number": 358 + } + }, + { + "offset": 3119, + "absolute_body_offset": 3331, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3121, + "absolute_body_offset": 3333, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6701", + "operands": { + "line_number": 359 + } + }, + { + "offset": 3124, + "absolute_body_offset": 3336, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a04", + "operands": { + "value_u8": 4, + "value_signed": 4 + } + }, + { + "offset": 3126, + "absolute_body_offset": 3338, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 3127, + "absolute_body_offset": 3339, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51bc00", + "operands": { + "relative_u16": 188, + "relative_signed": 188, + "target_offset": 3318 + } + }, + { + "offset": 3130, + "absolute_body_offset": 3342, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6901", + "operands": { + "line_number": 361 + } + }, + { + "offset": 3133, + "absolute_body_offset": 3345, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3135, + "absolute_body_offset": 3347, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 3139, + "absolute_body_offset": 3351, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3141, + "absolute_body_offset": 3353, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3142, + "absolute_body_offset": 3354, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3144, + "absolute_body_offset": 3356, + "opcode": 28, + "mnemonic": "sub", + "raw_bytes": "1c", + "operands": {} + }, + { + "offset": 3145, + "absolute_body_offset": 3357, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3147, + "absolute_body_offset": 3359, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 3151, + "absolute_body_offset": 3363, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 3153, + "absolute_body_offset": 3365, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6b01", + "operands": { + "line_number": 363 + } + }, + { + "offset": 3156, + "absolute_body_offset": 3368, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3157, + "absolute_body_offset": 3369, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 3159, + "absolute_body_offset": 3371, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 3162, + "absolute_body_offset": 3374, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3163, + "absolute_body_offset": 3375, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3165, + "absolute_body_offset": 3377, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 3167, + "absolute_body_offset": 3379, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3169, + "absolute_body_offset": 3381, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 3176, + "absolute_body_offset": 3388, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3178, + "absolute_body_offset": 3390, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3179, + "absolute_body_offset": 3391, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3182, + "absolute_body_offset": 3394, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3183, + "absolute_body_offset": 3395, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3184, + "absolute_body_offset": 3396, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c87124556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3196, + "absolute_body_offset": 3408, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6c01", + "operands": { + "line_number": 364 + } + }, + { + "offset": 3199, + "absolute_body_offset": 3411, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3200, + "absolute_body_offset": 3412, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 3202, + "absolute_body_offset": 3414, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 3207, + "absolute_body_offset": 3419, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 3214, + "absolute_body_offset": 3426, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 3216, + "absolute_body_offset": 3428, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3217, + "absolute_body_offset": 3429, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3220, + "absolute_body_offset": 3432, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3221, + "absolute_body_offset": 3433, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3222, + "absolute_body_offset": 3434, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c61124556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3234, + "absolute_body_offset": 3446, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6d01", + "operands": { + "line_number": 365 + } + }, + { + "offset": 3237, + "absolute_body_offset": 3449, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3238, + "absolute_body_offset": 3450, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3240, + "absolute_body_offset": 3452, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 3243, + "absolute_body_offset": 3455, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3244, + "absolute_body_offset": 3456, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3246, + "absolute_body_offset": 3458, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 3248, + "absolute_body_offset": 3460, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3250, + "absolute_body_offset": 3462, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 3257, + "absolute_body_offset": 3469, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3259, + "absolute_body_offset": 3471, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3260, + "absolute_body_offset": 3472, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3263, + "absolute_body_offset": 3475, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3264, + "absolute_body_offset": 3476, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3265, + "absolute_body_offset": 3477, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c36124556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3277, + "absolute_body_offset": 3489, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6e01", + "operands": { + "line_number": 366 + } + }, + { + "offset": 3280, + "absolute_body_offset": 3492, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3281, + "absolute_body_offset": 3493, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 3283, + "absolute_body_offset": 3495, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 3288, + "absolute_body_offset": 3500, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 3295, + "absolute_body_offset": 3507, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 3297, + "absolute_body_offset": 3509, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3298, + "absolute_body_offset": 3510, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3301, + "absolute_body_offset": 3513, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3302, + "absolute_body_offset": 3514, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3303, + "absolute_body_offset": 3515, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c10124556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3315, + "absolute_body_offset": 3527, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "522600", + "operands": { + "relative_u16": 38, + "relative_signed": 38, + "target_offset": 3356 + } + }, + { + "offset": 3318, + "absolute_body_offset": 3530, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7201", + "operands": { + "line_number": 370 + } + }, + { + "offset": 3321, + "absolute_body_offset": 3533, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3322, + "absolute_body_offset": 3534, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a78", + "operands": { + "value_u8": 120, + "value_signed": 120 + } + }, + { + "offset": 3324, + "absolute_body_offset": 3536, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 3329, + "absolute_body_offset": 3541, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 3336, + "absolute_body_offset": 3548, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 3338, + "absolute_body_offset": 3550, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3339, + "absolute_body_offset": 3551, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3342, + "absolute_body_offset": 3554, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3343, + "absolute_body_offset": 3555, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3344, + "absolute_body_offset": 3556, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5ce7114556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3356, + "absolute_body_offset": 3568, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "527afe", + "operands": { + "relative_u16": 65146, + "relative_signed": -390, + "target_offset": 2969 + } + }, + { + "offset": 3359, + "absolute_body_offset": 3571, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52d411", + "operands": { + "relative_u16": 4564, + "relative_signed": 4564, + "target_offset": 7926 + } + }, + { + "offset": 3362, + "absolute_body_offset": 3574, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 3364, + "absolute_body_offset": 3576, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a2f", + "operands": { + "value_u8": 47, + "value_signed": 47 + } + }, + { + "offset": 3366, + "absolute_body_offset": 3578, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 3367, + "absolute_body_offset": 3579, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516602", + "operands": { + "relative_u16": 614, + "relative_signed": 614, + "target_offset": 3984 + } + }, + { + "offset": 3370, + "absolute_body_offset": 3582, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7901", + "operands": { + "line_number": 377 + } + }, + { + "offset": 3373, + "absolute_body_offset": 3585, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3375, + "absolute_body_offset": 3587, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 137, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 3379, + "absolute_body_offset": 3591, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3381, + "absolute_body_offset": 3593, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3382, + "absolute_body_offset": 3594, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 3384, + "absolute_body_offset": 3596, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7a01", + "operands": { + "line_number": 378 + } + }, + { + "offset": 3387, + "absolute_body_offset": 3599, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3389, + "absolute_body_offset": 3601, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 3393, + "absolute_body_offset": 3605, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3395, + "absolute_body_offset": 3607, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3396, + "absolute_body_offset": 3608, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01ef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 3398, + "absolute_body_offset": 3610, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7c01", + "operands": { + "line_number": 380 + } + }, + { + "offset": 3401, + "absolute_body_offset": 3613, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3403, + "absolute_body_offset": 3615, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513f02", + "operands": { + "relative_u16": 575, + "relative_signed": 575, + "target_offset": 3981 + } + }, + { + "offset": 3406, + "absolute_body_offset": 3618, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8001", + "operands": { + "line_number": 384 + } + }, + { + "offset": 3409, + "absolute_body_offset": 3621, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7f01", + "operands": { + "line_number": 383 + } + }, + { + "offset": 3412, + "absolute_body_offset": 3624, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3414, + "absolute_body_offset": 3626, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 3418, + "absolute_body_offset": 3630, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3420, + "absolute_body_offset": 3632, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3421, + "absolute_body_offset": 3633, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3423, + "absolute_body_offset": 3635, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 3424, + "absolute_body_offset": 3636, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51e400", + "operands": { + "relative_u16": 228, + "relative_signed": 228, + "target_offset": 3655 + } + }, + { + "offset": 3427, + "absolute_body_offset": 3639, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8101", + "operands": { + "line_number": 385 + } + }, + { + "offset": 3430, + "absolute_body_offset": 3642, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3432, + "absolute_body_offset": 3644, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3434, + "absolute_body_offset": 3646, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3436, + "absolute_body_offset": 3648, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8201", + "operands": { + "line_number": 386 + } + }, + { + "offset": 3439, + "absolute_body_offset": 3651, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 3441, + "absolute_body_offset": 3653, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 3442, + "absolute_body_offset": 3654, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51c200", + "operands": { + "relative_u16": 194, + "relative_signed": 194, + "target_offset": 3639 + } + }, + { + "offset": 3445, + "absolute_body_offset": 3657, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8301", + "operands": { + "line_number": 387 + } + }, + { + "offset": 3448, + "absolute_body_offset": 3660, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3450, + "absolute_body_offset": 3662, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3452, + "absolute_body_offset": 3664, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 3456, + "absolute_body_offset": 3668, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 3458, + "absolute_body_offset": 3670, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8401", + "operands": { + "line_number": 388 + } + }, + { + "offset": 3461, + "absolute_body_offset": 3673, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3462, + "absolute_body_offset": 3674, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 3464, + "absolute_body_offset": 3676, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 3467, + "absolute_body_offset": 3679, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3468, + "absolute_body_offset": 3680, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3470, + "absolute_body_offset": 3682, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 3472, + "absolute_body_offset": 3684, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3474, + "absolute_body_offset": 3686, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 3481, + "absolute_body_offset": 3693, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3483, + "absolute_body_offset": 3695, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3484, + "absolute_body_offset": 3696, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3487, + "absolute_body_offset": 3699, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3488, + "absolute_body_offset": 3700, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3489, + "absolute_body_offset": 3701, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c56114556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3501, + "absolute_body_offset": 3713, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8501", + "operands": { + "line_number": 389 + } + }, + { + "offset": 3504, + "absolute_body_offset": 3716, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3505, + "absolute_body_offset": 3717, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 3507, + "absolute_body_offset": 3719, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a03", + "operands": { + "value_u8": 3, + "value_signed": 3 + } + }, + { + "offset": 3509, + "absolute_body_offset": 3721, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 3510, + "absolute_body_offset": 3722, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 3515, + "absolute_body_offset": 3727, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 3522, + "absolute_body_offset": 3734, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 3524, + "absolute_body_offset": 3736, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3525, + "absolute_body_offset": 3737, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3528, + "absolute_body_offset": 3740, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3529, + "absolute_body_offset": 3741, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3530, + "absolute_body_offset": 3742, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c2d114556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3542, + "absolute_body_offset": 3754, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8601", + "operands": { + "line_number": 390 + } + }, + { + "offset": 3545, + "absolute_body_offset": 3757, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3546, + "absolute_body_offset": 3758, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3548, + "absolute_body_offset": 3760, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 3551, + "absolute_body_offset": 3763, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3552, + "absolute_body_offset": 3764, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3554, + "absolute_body_offset": 3766, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 3556, + "absolute_body_offset": 3768, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3558, + "absolute_body_offset": 3770, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 3565, + "absolute_body_offset": 3777, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3567, + "absolute_body_offset": 3779, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3568, + "absolute_body_offset": 3780, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3571, + "absolute_body_offset": 3783, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3572, + "absolute_body_offset": 3784, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3573, + "absolute_body_offset": 3785, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c02114556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3585, + "absolute_body_offset": 3797, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8701", + "operands": { + "line_number": 391 + } + }, + { + "offset": 3588, + "absolute_body_offset": 3800, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3589, + "absolute_body_offset": 3801, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 3591, + "absolute_body_offset": 3803, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a03", + "operands": { + "value_u8": 3, + "value_signed": 3 + } + }, + { + "offset": 3593, + "absolute_body_offset": 3805, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 3594, + "absolute_body_offset": 3806, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 3599, + "absolute_body_offset": 3811, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 3606, + "absolute_body_offset": 3818, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 3608, + "absolute_body_offset": 3820, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3609, + "absolute_body_offset": 3821, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3612, + "absolute_body_offset": 3824, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3613, + "absolute_body_offset": 3825, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3614, + "absolute_body_offset": 3826, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cd9104556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3626, + "absolute_body_offset": 3838, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8101", + "operands": { + "line_number": 385 + } + }, + { + "offset": 3629, + "absolute_body_offset": 3841, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3631, + "absolute_body_offset": 3843, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3633, + "absolute_body_offset": 3845, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3634, + "absolute_body_offset": 3846, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3636, + "absolute_body_offset": 3848, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "5233ff", + "operands": { + "relative_u16": 65331, + "relative_signed": -205, + "target_offset": 3434 + } + }, + { + "offset": 3639, + "absolute_body_offset": 3851, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8a01", + "operands": { + "line_number": 394 + } + }, + { + "offset": 3642, + "absolute_body_offset": 3854, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 3644, + "absolute_body_offset": 3856, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3646, + "absolute_body_offset": 3858, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 3650, + "absolute_body_offset": 3862, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 3652, + "absolute_body_offset": 3864, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "524301", + "operands": { + "relative_u16": 323, + "relative_signed": 323, + "target_offset": 3978 + } + }, + { + "offset": 3655, + "absolute_body_offset": 3867, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8d01", + "operands": { + "line_number": 397 + } + }, + { + "offset": 3658, + "absolute_body_offset": 3870, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8c01", + "operands": { + "line_number": 396 + } + }, + { + "offset": 3661, + "absolute_body_offset": 3873, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3663, + "absolute_body_offset": 3875, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 3667, + "absolute_body_offset": 3879, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3669, + "absolute_body_offset": 3881, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3670, + "absolute_body_offset": 3882, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3672, + "absolute_body_offset": 3884, + "opcode": 44, + "mnemonic": "gt", + "raw_bytes": "2c", + "operands": {} + }, + { + "offset": 3673, + "absolute_body_offset": 3885, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51ab00", + "operands": { + "relative_u16": 171, + "relative_signed": 171, + "target_offset": 3847 + } + }, + { + "offset": 3676, + "absolute_body_offset": 3888, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8e01", + "operands": { + "line_number": 398 + } + }, + { + "offset": 3679, + "absolute_body_offset": 3891, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3681, + "absolute_body_offset": 3893, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3683, + "absolute_body_offset": 3895, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3685, + "absolute_body_offset": 3897, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8f01", + "operands": { + "line_number": 399 + } + }, + { + "offset": 3688, + "absolute_body_offset": 3900, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 3690, + "absolute_body_offset": 3902, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 3691, + "absolute_body_offset": 3903, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "519600", + "operands": { + "relative_u16": 150, + "relative_signed": 150, + "target_offset": 3844 + } + }, + { + "offset": 3694, + "absolute_body_offset": 3906, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9001", + "operands": { + "line_number": 400 + } + }, + { + "offset": 3697, + "absolute_body_offset": 3909, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3699, + "absolute_body_offset": 3911, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3701, + "absolute_body_offset": 3913, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 3705, + "absolute_body_offset": 3917, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 3707, + "absolute_body_offset": 3919, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9101", + "operands": { + "line_number": 401 + } + }, + { + "offset": 3710, + "absolute_body_offset": 3922, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3711, + "absolute_body_offset": 3923, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 3713, + "absolute_body_offset": 3925, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 3716, + "absolute_body_offset": 3928, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3717, + "absolute_body_offset": 3929, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3719, + "absolute_body_offset": 3931, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 3721, + "absolute_body_offset": 3933, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3723, + "absolute_body_offset": 3935, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 3730, + "absolute_body_offset": 3942, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3732, + "absolute_body_offset": 3944, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3733, + "absolute_body_offset": 3945, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3736, + "absolute_body_offset": 3948, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3737, + "absolute_body_offset": 3949, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3738, + "absolute_body_offset": 3950, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c5d104556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3750, + "absolute_body_offset": 3962, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9201", + "operands": { + "line_number": 402 + } + }, + { + "offset": 3753, + "absolute_body_offset": 3965, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3754, + "absolute_body_offset": 3966, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 3756, + "absolute_body_offset": 3968, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 3761, + "absolute_body_offset": 3973, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 3768, + "absolute_body_offset": 3980, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 3770, + "absolute_body_offset": 3982, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3771, + "absolute_body_offset": 3983, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3774, + "absolute_body_offset": 3986, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3775, + "absolute_body_offset": 3987, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3776, + "absolute_body_offset": 3988, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c37104556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3788, + "absolute_body_offset": 4000, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9301", + "operands": { + "line_number": 403 + } + }, + { + "offset": 3791, + "absolute_body_offset": 4003, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3792, + "absolute_body_offset": 4004, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3794, + "absolute_body_offset": 4006, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 3797, + "absolute_body_offset": 4009, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3798, + "absolute_body_offset": 4010, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3800, + "absolute_body_offset": 4012, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 3802, + "absolute_body_offset": 4014, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3804, + "absolute_body_offset": 4016, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 3811, + "absolute_body_offset": 4023, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3813, + "absolute_body_offset": 4025, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3814, + "absolute_body_offset": 4026, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3817, + "absolute_body_offset": 4029, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3818, + "absolute_body_offset": 4030, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3819, + "absolute_body_offset": 4031, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c0c104556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3831, + "absolute_body_offset": 4043, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8e01", + "operands": { + "line_number": 398 + } + }, + { + "offset": 3834, + "absolute_body_offset": 4046, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3836, + "absolute_body_offset": 4048, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3838, + "absolute_body_offset": 4050, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3839, + "absolute_body_offset": 4051, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3841, + "absolute_body_offset": 4053, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525fff", + "operands": { + "relative_u16": 65375, + "relative_signed": -161, + "target_offset": 3683 + } + }, + { + "offset": 3844, + "absolute_body_offset": 4056, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528300", + "operands": { + "relative_u16": 131, + "relative_signed": 131, + "target_offset": 3978 + } + }, + { + "offset": 3847, + "absolute_body_offset": 4059, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9901", + "operands": { + "line_number": 409 + } + }, + { + "offset": 3850, + "absolute_body_offset": 4062, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3852, + "absolute_body_offset": 4064, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3854, + "absolute_body_offset": 4066, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3856, + "absolute_body_offset": 4068, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9a01", + "operands": { + "line_number": 410 + } + }, + { + "offset": 3859, + "absolute_body_offset": 4071, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 3861, + "absolute_body_offset": 4073, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 3862, + "absolute_body_offset": 4074, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516b00", + "operands": { + "relative_u16": 107, + "relative_signed": 107, + "target_offset": 3972 + } + }, + { + "offset": 3865, + "absolute_body_offset": 4077, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9b01", + "operands": { + "line_number": 411 + } + }, + { + "offset": 3868, + "absolute_body_offset": 4080, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3870, + "absolute_body_offset": 4082, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3872, + "absolute_body_offset": 4084, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 3876, + "absolute_body_offset": 4088, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 3878, + "absolute_body_offset": 4090, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9c01", + "operands": { + "line_number": 412 + } + }, + { + "offset": 3881, + "absolute_body_offset": 4093, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3882, + "absolute_body_offset": 4094, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 3884, + "absolute_body_offset": 4096, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 3887, + "absolute_body_offset": 4099, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3888, + "absolute_body_offset": 4100, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3890, + "absolute_body_offset": 4102, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 3892, + "absolute_body_offset": 4104, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3894, + "absolute_body_offset": 4106, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 3901, + "absolute_body_offset": 4113, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 3903, + "absolute_body_offset": 4115, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3904, + "absolute_body_offset": 4116, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3907, + "absolute_body_offset": 4119, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3908, + "absolute_body_offset": 4120, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3909, + "absolute_body_offset": 4121, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cb20f4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3921, + "absolute_body_offset": 4133, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9d01", + "operands": { + "line_number": 413 + } + }, + { + "offset": 3924, + "absolute_body_offset": 4136, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 3925, + "absolute_body_offset": 4137, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 3927, + "absolute_body_offset": 4139, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 3932, + "absolute_body_offset": 4144, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 3939, + "absolute_body_offset": 4151, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 3941, + "absolute_body_offset": 4153, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 3942, + "absolute_body_offset": 4154, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 3945, + "absolute_body_offset": 4157, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 3946, + "absolute_body_offset": 4158, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 3947, + "absolute_body_offset": 4159, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c8c0f4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 3959, + "absolute_body_offset": 4171, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9901", + "operands": { + "line_number": 409 + } + }, + { + "offset": 3962, + "absolute_body_offset": 4174, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 3964, + "absolute_body_offset": 4176, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3966, + "absolute_body_offset": 4178, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 3967, + "absolute_body_offset": 4179, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 3969, + "absolute_body_offset": 4181, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528aff", + "operands": { + "relative_u16": 65418, + "relative_signed": -118, + "target_offset": 3854 + } + }, + { + "offset": 3972, + "absolute_body_offset": 4184, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5ba001", + "operands": { + "line_number": 416 + } + }, + { + "offset": 3975, + "absolute_body_offset": 4187, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "526c0f", + "operands": { + "relative_u16": 3948, + "relative_signed": 3948, + "target_offset": 7926 + } + }, + { + "offset": 3978, + "absolute_body_offset": 4190, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52b9fd", + "operands": { + "relative_u16": 64953, + "relative_signed": -583, + "target_offset": 3398 + } + }, + { + "offset": 3981, + "absolute_body_offset": 4193, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52660f", + "operands": { + "relative_u16": 3942, + "relative_signed": 3942, + "target_offset": 7926 + } + }, + { + "offset": 3984, + "absolute_body_offset": 4196, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 3986, + "absolute_body_offset": 4198, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a30", + "operands": { + "value_u8": 48, + "value_signed": 48 + } + }, + { + "offset": 3988, + "absolute_body_offset": 4200, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 3989, + "absolute_body_offset": 4201, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512f01", + "operands": { + "relative_u16": 303, + "relative_signed": 303, + "target_offset": 4295 + } + }, + { + "offset": 3992, + "absolute_body_offset": 4204, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5ba701", + "operands": { + "line_number": 423 + } + }, + { + "offset": 3995, + "absolute_body_offset": 4207, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 3997, + "absolute_body_offset": 4209, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 137, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 4001, + "absolute_body_offset": 4213, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4003, + "absolute_body_offset": 4215, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4004, + "absolute_body_offset": 4216, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 4006, + "absolute_body_offset": 4218, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5ba801", + "operands": { + "line_number": 424 + } + }, + { + "offset": 4009, + "absolute_body_offset": 4221, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4011, + "absolute_body_offset": 4223, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 4015, + "absolute_body_offset": 4227, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4017, + "absolute_body_offset": 4229, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4018, + "absolute_body_offset": 4230, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01ef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 4020, + "absolute_body_offset": 4232, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bab01", + "operands": { + "line_number": 427 + } + }, + { + "offset": 4023, + "absolute_body_offset": 4235, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4025, + "absolute_body_offset": 4237, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4027, + "absolute_body_offset": 4239, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4029, + "absolute_body_offset": 4241, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bac01", + "operands": { + "line_number": 428 + } + }, + { + "offset": 4032, + "absolute_body_offset": 4244, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 4034, + "absolute_body_offset": 4246, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 4035, + "absolute_body_offset": 4247, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516b00", + "operands": { + "relative_u16": 107, + "relative_signed": 107, + "target_offset": 4145 + } + }, + { + "offset": 4038, + "absolute_body_offset": 4250, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bad01", + "operands": { + "line_number": 429 + } + }, + { + "offset": 4041, + "absolute_body_offset": 4253, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4043, + "absolute_body_offset": 4255, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4045, + "absolute_body_offset": 4257, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 4049, + "absolute_body_offset": 4261, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 4051, + "absolute_body_offset": 4263, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bae01", + "operands": { + "line_number": 430 + } + }, + { + "offset": 4054, + "absolute_body_offset": 4266, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4055, + "absolute_body_offset": 4267, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 4057, + "absolute_body_offset": 4269, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 4060, + "absolute_body_offset": 4272, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 4061, + "absolute_body_offset": 4273, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4063, + "absolute_body_offset": 4275, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 4065, + "absolute_body_offset": 4277, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4067, + "absolute_body_offset": 4279, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 4074, + "absolute_body_offset": 4286, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4076, + "absolute_body_offset": 4288, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4077, + "absolute_body_offset": 4289, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4080, + "absolute_body_offset": 4292, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4081, + "absolute_body_offset": 4293, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4082, + "absolute_body_offset": 4294, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c050f4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4094, + "absolute_body_offset": 4306, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5baf01", + "operands": { + "line_number": 431 + } + }, + { + "offset": 4097, + "absolute_body_offset": 4309, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4098, + "absolute_body_offset": 4310, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 4100, + "absolute_body_offset": 4312, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 4105, + "absolute_body_offset": 4317, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 4112, + "absolute_body_offset": 4324, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 4114, + "absolute_body_offset": 4326, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4115, + "absolute_body_offset": 4327, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4118, + "absolute_body_offset": 4330, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4119, + "absolute_body_offset": 4331, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4120, + "absolute_body_offset": 4332, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cdf0e4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4132, + "absolute_body_offset": 4344, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bab01", + "operands": { + "line_number": 427 + } + }, + { + "offset": 4135, + "absolute_body_offset": 4347, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4137, + "absolute_body_offset": 4349, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4139, + "absolute_body_offset": 4351, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 4140, + "absolute_body_offset": 4352, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4142, + "absolute_body_offset": 4354, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528aff", + "operands": { + "relative_u16": 65418, + "relative_signed": -118, + "target_offset": 4027 + } + }, + { + "offset": 4145, + "absolute_body_offset": 4357, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb201", + "operands": { + "line_number": 434 + } + }, + { + "offset": 4148, + "absolute_body_offset": 4360, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4150, + "absolute_body_offset": 4362, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4152, + "absolute_body_offset": 4364, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4154, + "absolute_body_offset": 4366, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb301", + "operands": { + "line_number": 435 + } + }, + { + "offset": 4157, + "absolute_body_offset": 4369, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 4159, + "absolute_body_offset": 4371, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 4160, + "absolute_body_offset": 4372, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516e00", + "operands": { + "relative_u16": 110, + "relative_signed": 110, + "target_offset": 4273 + } + }, + { + "offset": 4163, + "absolute_body_offset": 4375, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb401", + "operands": { + "line_number": 436 + } + }, + { + "offset": 4166, + "absolute_body_offset": 4378, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 4168, + "absolute_body_offset": 4380, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4170, + "absolute_body_offset": 4382, + "opcode": 28, + "mnemonic": "sub", + "raw_bytes": "1c", + "operands": {} + }, + { + "offset": 4171, + "absolute_body_offset": 4383, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4173, + "absolute_body_offset": 4385, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 4177, + "absolute_body_offset": 4389, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 4179, + "absolute_body_offset": 4391, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb501", + "operands": { + "line_number": 437 + } + }, + { + "offset": 4182, + "absolute_body_offset": 4394, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4183, + "absolute_body_offset": 4395, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4185, + "absolute_body_offset": 4397, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 4188, + "absolute_body_offset": 4400, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 4189, + "absolute_body_offset": 4401, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4191, + "absolute_body_offset": 4403, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 4193, + "absolute_body_offset": 4405, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4195, + "absolute_body_offset": 4407, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 4202, + "absolute_body_offset": 4414, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4204, + "absolute_body_offset": 4416, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4205, + "absolute_body_offset": 4417, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4208, + "absolute_body_offset": 4420, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4209, + "absolute_body_offset": 4421, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4210, + "absolute_body_offset": 4422, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c850e4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4222, + "absolute_body_offset": 4434, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb601", + "operands": { + "line_number": 438 + } + }, + { + "offset": 4225, + "absolute_body_offset": 4437, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4226, + "absolute_body_offset": 4438, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 4228, + "absolute_body_offset": 4440, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 4233, + "absolute_body_offset": 4445, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 4240, + "absolute_body_offset": 4452, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 4242, + "absolute_body_offset": 4454, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4243, + "absolute_body_offset": 4455, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4246, + "absolute_body_offset": 4458, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4247, + "absolute_body_offset": 4459, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4248, + "absolute_body_offset": 4460, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c5f0e4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4260, + "absolute_body_offset": 4472, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb201", + "operands": { + "line_number": 434 + } + }, + { + "offset": 4263, + "absolute_body_offset": 4475, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4265, + "absolute_body_offset": 4477, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4267, + "absolute_body_offset": 4479, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 4268, + "absolute_body_offset": 4480, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4270, + "absolute_body_offset": 4482, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "5287ff", + "operands": { + "relative_u16": 65415, + "relative_signed": -121, + "target_offset": 4152 + } + }, + { + "offset": 4273, + "absolute_body_offset": 4485, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb901", + "operands": { + "line_number": 441 + } + }, + { + "offset": 4276, + "absolute_body_offset": 4488, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3feb", + "operands": { + "bp_offset": 235, + "target": "[BP-15h]" + } + }, + { + "offset": 4278, + "absolute_body_offset": 4490, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4280, + "absolute_body_offset": 4492, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 4284, + "absolute_body_offset": 4496, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 4286, + "absolute_body_offset": 4498, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bba01", + "operands": { + "line_number": 442 + } + }, + { + "offset": 4289, + "absolute_body_offset": 4501, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52320e", + "operands": { + "relative_u16": 3634, + "relative_signed": 3634, + "target_offset": 7926 + } + }, + { + "offset": 4292, + "absolute_body_offset": 4504, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "522f0e", + "operands": { + "relative_u16": 3631, + "relative_signed": 3631, + "target_offset": 7926 + } + }, + { + "offset": 4295, + "absolute_body_offset": 4507, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 4297, + "absolute_body_offset": 4509, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a31", + "operands": { + "value_u8": 49, + "value_signed": 49 + } + }, + { + "offset": 4299, + "absolute_body_offset": 4511, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 4300, + "absolute_body_offset": 4512, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516701", + "operands": { + "relative_u16": 359, + "relative_signed": 359, + "target_offset": 4662 + } + }, + { + "offset": 4303, + "absolute_body_offset": 4515, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc001", + "operands": { + "line_number": 448 + } + }, + { + "offset": 4306, + "absolute_body_offset": 4518, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4308, + "absolute_body_offset": 4520, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 137, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 4312, + "absolute_body_offset": 4524, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4314, + "absolute_body_offset": 4526, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4315, + "absolute_body_offset": 4527, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 4317, + "absolute_body_offset": 4529, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc101", + "operands": { + "line_number": 449 + } + }, + { + "offset": 4320, + "absolute_body_offset": 4532, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4322, + "absolute_body_offset": 4534, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 4326, + "absolute_body_offset": 4538, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4328, + "absolute_body_offset": 4540, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4329, + "absolute_body_offset": 4541, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01ef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 4331, + "absolute_body_offset": 4543, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc301", + "operands": { + "line_number": 451 + } + }, + { + "offset": 4334, + "absolute_body_offset": 4546, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4336, + "absolute_body_offset": 4548, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "514001", + "operands": { + "relative_u16": 320, + "relative_signed": 320, + "target_offset": 4659 + } + }, + { + "offset": 4339, + "absolute_body_offset": 4551, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc501", + "operands": { + "line_number": 453 + } + }, + { + "offset": 4342, + "absolute_body_offset": 4554, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4344, + "absolute_body_offset": 4556, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 4348, + "absolute_body_offset": 4560, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4350, + "absolute_body_offset": 4562, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4351, + "absolute_body_offset": 4563, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51ab00", + "operands": { + "relative_u16": 171, + "relative_signed": 171, + "target_offset": 4525 + } + }, + { + "offset": 4354, + "absolute_body_offset": 4566, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc701", + "operands": { + "line_number": 455 + } + }, + { + "offset": 4357, + "absolute_body_offset": 4569, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4359, + "absolute_body_offset": 4571, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4361, + "absolute_body_offset": 4573, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4363, + "absolute_body_offset": 4575, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc801", + "operands": { + "line_number": 456 + } + }, + { + "offset": 4366, + "absolute_body_offset": 4578, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 4368, + "absolute_body_offset": 4580, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 4369, + "absolute_body_offset": 4581, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "519600", + "operands": { + "relative_u16": 150, + "relative_signed": 150, + "target_offset": 4522 + } + }, + { + "offset": 4372, + "absolute_body_offset": 4584, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc901", + "operands": { + "line_number": 457 + } + }, + { + "offset": 4375, + "absolute_body_offset": 4587, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4377, + "absolute_body_offset": 4589, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4379, + "absolute_body_offset": 4591, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 4383, + "absolute_body_offset": 4595, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 4385, + "absolute_body_offset": 4597, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bca01", + "operands": { + "line_number": 458 + } + }, + { + "offset": 4388, + "absolute_body_offset": 4600, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4389, + "absolute_body_offset": 4601, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 4391, + "absolute_body_offset": 4603, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 4394, + "absolute_body_offset": 4606, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 4395, + "absolute_body_offset": 4607, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4397, + "absolute_body_offset": 4609, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 4399, + "absolute_body_offset": 4611, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4401, + "absolute_body_offset": 4613, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 4408, + "absolute_body_offset": 4620, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4410, + "absolute_body_offset": 4622, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4411, + "absolute_body_offset": 4623, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4414, + "absolute_body_offset": 4626, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4415, + "absolute_body_offset": 4627, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4416, + "absolute_body_offset": 4628, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cb70d4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4428, + "absolute_body_offset": 4640, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bcb01", + "operands": { + "line_number": 459 + } + }, + { + "offset": 4431, + "absolute_body_offset": 4643, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4432, + "absolute_body_offset": 4644, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 4434, + "absolute_body_offset": 4646, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 4439, + "absolute_body_offset": 4651, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 4446, + "absolute_body_offset": 4658, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 4448, + "absolute_body_offset": 4660, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4449, + "absolute_body_offset": 4661, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4452, + "absolute_body_offset": 4664, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4453, + "absolute_body_offset": 4665, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4454, + "absolute_body_offset": 4666, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c910d4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4466, + "absolute_body_offset": 4678, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bcc01", + "operands": { + "line_number": 460 + } + }, + { + "offset": 4469, + "absolute_body_offset": 4681, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4470, + "absolute_body_offset": 4682, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4472, + "absolute_body_offset": 4684, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 4475, + "absolute_body_offset": 4687, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 4476, + "absolute_body_offset": 4688, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4478, + "absolute_body_offset": 4690, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 4480, + "absolute_body_offset": 4692, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4482, + "absolute_body_offset": 4694, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 4489, + "absolute_body_offset": 4701, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4491, + "absolute_body_offset": 4703, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4492, + "absolute_body_offset": 4704, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4495, + "absolute_body_offset": 4707, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4496, + "absolute_body_offset": 4708, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4497, + "absolute_body_offset": 4709, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c660d4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4509, + "absolute_body_offset": 4721, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc701", + "operands": { + "line_number": 455 + } + }, + { + "offset": 4512, + "absolute_body_offset": 4724, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4514, + "absolute_body_offset": 4726, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4516, + "absolute_body_offset": 4728, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 4517, + "absolute_body_offset": 4729, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4519, + "absolute_body_offset": 4731, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525fff", + "operands": { + "relative_u16": 65375, + "relative_signed": -161, + "target_offset": 4361 + } + }, + { + "offset": 4522, + "absolute_body_offset": 4734, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528300", + "operands": { + "relative_u16": 131, + "relative_signed": 131, + "target_offset": 4656 + } + }, + { + "offset": 4525, + "absolute_body_offset": 4737, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd101", + "operands": { + "line_number": 465 + } + }, + { + "offset": 4528, + "absolute_body_offset": 4740, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4530, + "absolute_body_offset": 4742, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4532, + "absolute_body_offset": 4744, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4534, + "absolute_body_offset": 4746, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd201", + "operands": { + "line_number": 466 + } + }, + { + "offset": 4537, + "absolute_body_offset": 4749, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 4539, + "absolute_body_offset": 4751, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 4540, + "absolute_body_offset": 4752, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516b00", + "operands": { + "relative_u16": 107, + "relative_signed": 107, + "target_offset": 4650 + } + }, + { + "offset": 4543, + "absolute_body_offset": 4755, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd301", + "operands": { + "line_number": 467 + } + }, + { + "offset": 4546, + "absolute_body_offset": 4758, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4548, + "absolute_body_offset": 4760, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4550, + "absolute_body_offset": 4762, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063b00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 59, + "intrinsic_name_hint": "Egg::getEggId(void)" + } + }, + { + "offset": 4554, + "absolute_body_offset": 4766, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 4556, + "absolute_body_offset": 4768, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd401", + "operands": { + "line_number": 468 + } + }, + { + "offset": 4559, + "absolute_body_offset": 4771, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4560, + "absolute_body_offset": 4772, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 4562, + "absolute_body_offset": 4774, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 4565, + "absolute_body_offset": 4777, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 4566, + "absolute_body_offset": 4778, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4568, + "absolute_body_offset": 4780, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 4570, + "absolute_body_offset": 4782, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4572, + "absolute_body_offset": 4784, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 4579, + "absolute_body_offset": 4791, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4581, + "absolute_body_offset": 4793, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4582, + "absolute_body_offset": 4794, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4585, + "absolute_body_offset": 4797, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4586, + "absolute_body_offset": 4798, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4587, + "absolute_body_offset": 4799, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c0c0d4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4599, + "absolute_body_offset": 4811, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd501", + "operands": { + "line_number": 469 + } + }, + { + "offset": 4602, + "absolute_body_offset": 4814, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4603, + "absolute_body_offset": 4815, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 4605, + "absolute_body_offset": 4817, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 4610, + "absolute_body_offset": 4822, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 4617, + "absolute_body_offset": 4829, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 4619, + "absolute_body_offset": 4831, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4620, + "absolute_body_offset": 4832, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4623, + "absolute_body_offset": 4835, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4624, + "absolute_body_offset": 4836, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4625, + "absolute_body_offset": 4837, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5ce60c4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4637, + "absolute_body_offset": 4849, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd101", + "operands": { + "line_number": 465 + } + }, + { + "offset": 4640, + "absolute_body_offset": 4852, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 4642, + "absolute_body_offset": 4854, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4644, + "absolute_body_offset": 4856, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 4645, + "absolute_body_offset": 4857, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 4647, + "absolute_body_offset": 4859, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528aff", + "operands": { + "relative_u16": 65418, + "relative_signed": -118, + "target_offset": 4532 + } + }, + { + "offset": 4650, + "absolute_body_offset": 4862, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd801", + "operands": { + "line_number": 472 + } + }, + { + "offset": 4653, + "absolute_body_offset": 4865, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c60c", + "operands": { + "relative_u16": 3270, + "relative_signed": 3270, + "target_offset": 7926 + } + }, + { + "offset": 4656, + "absolute_body_offset": 4868, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52b8fe", + "operands": { + "relative_u16": 65208, + "relative_signed": -328, + "target_offset": 4331 + } + }, + { + "offset": 4659, + "absolute_body_offset": 4871, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c00c", + "operands": { + "relative_u16": 3264, + "relative_signed": 3264, + "target_offset": 7926 + } + }, + { + "offset": 4662, + "absolute_body_offset": 4874, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 4664, + "absolute_body_offset": 4876, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a32", + "operands": { + "value_u8": 50, + "value_signed": 50 + } + }, + { + "offset": 4666, + "absolute_body_offset": 4878, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 4667, + "absolute_body_offset": 4879, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "515500", + "operands": { + "relative_u16": 85, + "relative_signed": 85, + "target_offset": 4755 + } + }, + { + "offset": 4670, + "absolute_body_offset": 4882, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 4672, + "absolute_body_offset": 4884, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be201", + "operands": { + "line_number": 482 + } + }, + { + "offset": 4675, + "absolute_body_offset": 4887, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a64", + "operands": { + "value_u8": 100, + "value_signed": 100 + } + }, + { + "offset": 4677, + "absolute_body_offset": 4889, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 4679, + "absolute_body_offset": 4891, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 4680, + "absolute_body_offset": 4892, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be301", + "operands": { + "line_number": 483 + } + }, + { + "offset": 4683, + "absolute_body_offset": 4895, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4685, + "absolute_body_offset": 4897, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 4687, + "absolute_body_offset": 4899, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70f80102", + "operands": { + "current_var": 248, + "string_bytes": 1, + "loop_type": 2 + } + }, + { + "offset": 4691, + "absolute_body_offset": 4903, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513800", + "operands": { + "relative_u16": 56, + "relative_signed": 56, + "target_offset": 4750 + } + }, + { + "offset": 4694, + "absolute_body_offset": 4906, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be601", + "operands": { + "line_number": 486 + } + }, + { + "offset": 4697, + "absolute_body_offset": 4909, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be501", + "operands": { + "line_number": 485 + } + }, + { + "offset": 4700, + "absolute_body_offset": 4912, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bf8", + "operands": { + "bp_offset": 248, + "target": "[BP-08h]" + } + }, + { + "offset": 4702, + "absolute_body_offset": 4914, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 4706, + "absolute_body_offset": 4918, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4708, + "absolute_body_offset": 4920, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4709, + "absolute_body_offset": 4921, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a64", + "operands": { + "value_u8": 100, + "value_signed": 100 + } + }, + { + "offset": 4711, + "absolute_body_offset": 4923, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 4712, + "absolute_body_offset": 4924, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511f00", + "operands": { + "relative_u16": 31, + "relative_signed": 31, + "target_offset": 4746 + } + }, + { + "offset": 4715, + "absolute_body_offset": 4927, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be701", + "operands": { + "line_number": 487 + } + }, + { + "offset": 4718, + "absolute_body_offset": 4930, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4719, + "absolute_body_offset": 4931, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bf8", + "operands": { + "bp_offset": 248, + "target": "[BP-08h]" + } + }, + { + "offset": 4721, + "absolute_body_offset": 4933, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570002060a2000", + "operands": { + "arg_bytes": 0, + "this_size": 2, + "target_class_id": 2566, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 4728, + "absolute_body_offset": 4940, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4729, + "absolute_body_offset": 4941, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4732, + "absolute_body_offset": 4944, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4733, + "absolute_body_offset": 4945, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4734, + "absolute_body_offset": 4946, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c790c4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4746, + "absolute_body_offset": 4958, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 4747, + "absolute_body_offset": 4959, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c5ff", + "operands": { + "relative_u16": 65477, + "relative_signed": -59, + "target_offset": 4691 + } + }, + { + "offset": 4750, + "absolute_body_offset": 4962, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 4752, + "absolute_body_offset": 4964, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52630c", + "operands": { + "relative_u16": 3171, + "relative_signed": 3171, + "target_offset": 7926 + } + }, + { + "offset": 4755, + "absolute_body_offset": 4967, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 4757, + "absolute_body_offset": 4969, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a33", + "operands": { + "value_u8": 51, + "value_signed": 51 + } + }, + { + "offset": 4759, + "absolute_body_offset": 4971, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 4760, + "absolute_body_offset": 4972, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51fe02", + "operands": { + "relative_u16": 766, + "relative_signed": 766, + "target_offset": 5529 + } + }, + { + "offset": 4763, + "absolute_body_offset": 4975, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 4765, + "absolute_body_offset": 4977, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 4767, + "absolute_body_offset": 4979, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7440", + "operands": { + "value_u8": 64 + } + }, + { + "offset": 4769, + "absolute_body_offset": 4981, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf301", + "operands": { + "line_number": 499 + } + }, + { + "offset": 4772, + "absolute_body_offset": 4984, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b1e02", + "operands": { + "value_u16": 542 + } + }, + { + "offset": 4775, + "absolute_body_offset": 4987, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 4777, + "absolute_body_offset": 4989, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a14", + "operands": { + "value_u8": 20, + "value_signed": 20 + } + }, + { + "offset": 4779, + "absolute_body_offset": 4991, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 4781, + "absolute_body_offset": 4993, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 4782, + "absolute_body_offset": 4994, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf401", + "operands": { + "line_number": 500 + } + }, + { + "offset": 4785, + "absolute_body_offset": 4997, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 4787, + "absolute_body_offset": 4999, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 4789, + "absolute_body_offset": 5001, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 4793, + "absolute_body_offset": 5005, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511900", + "operands": { + "relative_u16": 25, + "relative_signed": 25, + "target_offset": 4821 + } + }, + { + "offset": 4796, + "absolute_body_offset": 5008, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf501", + "operands": { + "line_number": 501 + } + }, + { + "offset": 4799, + "absolute_body_offset": 5011, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 4801, + "absolute_body_offset": 5013, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 4805, + "absolute_body_offset": 5017, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 4807, + "absolute_body_offset": 5019, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4808, + "absolute_body_offset": 5020, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01d5", + "operands": { + "bp_offset": 213, + "target": "[BP-2Bh]" + } + }, + { + "offset": 4810, + "absolute_body_offset": 5022, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf601", + "operands": { + "line_number": 502 + } + }, + { + "offset": 4813, + "absolute_body_offset": 5025, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 4815, + "absolute_body_offset": 5027, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01d7", + "operands": { + "bp_offset": 215, + "target": "[BP-29h]" + } + }, + { + "offset": 4817, + "absolute_body_offset": 5029, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 4818, + "absolute_body_offset": 5030, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52e4ff", + "operands": { + "relative_u16": 65508, + "relative_signed": -28, + "target_offset": 4793 + } + }, + { + "offset": 4821, + "absolute_body_offset": 5033, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 4823, + "absolute_body_offset": 5035, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 4825, + "absolute_body_offset": 5037, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bfa01", + "operands": { + "line_number": 506 + } + }, + { + "offset": 4828, + "absolute_body_offset": 5040, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc401", + "operands": { + "value_u16": 452 + } + }, + { + "offset": 4831, + "absolute_body_offset": 5043, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8601", + "operands": { + "value_u16": 390 + } + }, + { + "offset": 4834, + "absolute_body_offset": 5046, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7442", + "operands": { + "value_u8": 66 + } + }, + { + "offset": 4836, + "absolute_body_offset": 5048, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bfb01", + "operands": { + "line_number": 507 + } + }, + { + "offset": 4839, + "absolute_body_offset": 5051, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0a", + "operands": { + "value_u8": 10, + "value_signed": 10 + } + }, + { + "offset": 4841, + "absolute_body_offset": 5053, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 4843, + "absolute_body_offset": 5055, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 4844, + "absolute_body_offset": 5056, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bfc01", + "operands": { + "line_number": 508 + } + }, + { + "offset": 4847, + "absolute_body_offset": 5059, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd7", + "operands": { + "bp_offset": 215, + "target": "[BP-29h]" + } + }, + { + "offset": 4849, + "absolute_body_offset": 5061, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 4853, + "absolute_body_offset": 5065, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510b00", + "operands": { + "relative_u16": 11, + "relative_signed": 11, + "target_offset": 4867 + } + }, + { + "offset": 4856, + "absolute_body_offset": 5068, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bfd01", + "operands": { + "line_number": 509 + } + }, + { + "offset": 4859, + "absolute_body_offset": 5071, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 4861, + "absolute_body_offset": 5073, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01db", + "operands": { + "bp_offset": 219, + "target": "[BP-25h]" + } + }, + { + "offset": 4863, + "absolute_body_offset": 5075, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 4864, + "absolute_body_offset": 5076, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52f2ff", + "operands": { + "relative_u16": 65522, + "relative_signed": -14, + "target_offset": 4853 + } + }, + { + "offset": 4867, + "absolute_body_offset": 5079, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 4869, + "absolute_body_offset": 5081, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 4871, + "absolute_body_offset": 5083, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0102", + "operands": { + "line_number": 513 + } + }, + { + "offset": 4874, + "absolute_body_offset": 5086, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc501", + "operands": { + "value_u16": 453 + } + }, + { + "offset": 4877, + "absolute_body_offset": 5089, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8401", + "operands": { + "value_u16": 388 + } + }, + { + "offset": 4880, + "absolute_body_offset": 5092, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7442", + "operands": { + "value_u8": 66 + } + }, + { + "offset": 4882, + "absolute_body_offset": 5094, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0202", + "operands": { + "line_number": 514 + } + }, + { + "offset": 4885, + "absolute_body_offset": 5097, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0a", + "operands": { + "value_u8": 10, + "value_signed": 10 + } + }, + { + "offset": 4887, + "absolute_body_offset": 5099, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 4889, + "absolute_body_offset": 5101, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 4890, + "absolute_body_offset": 5102, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0302", + "operands": { + "line_number": 515 + } + }, + { + "offset": 4893, + "absolute_body_offset": 5105, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd7", + "operands": { + "bp_offset": 215, + "target": "[BP-29h]" + } + }, + { + "offset": 4895, + "absolute_body_offset": 5107, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 4899, + "absolute_body_offset": 5111, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510b00", + "operands": { + "relative_u16": 11, + "relative_signed": 11, + "target_offset": 4913 + } + }, + { + "offset": 4902, + "absolute_body_offset": 5114, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0402", + "operands": { + "line_number": 516 + } + }, + { + "offset": 4905, + "absolute_body_offset": 5117, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 4907, + "absolute_body_offset": 5119, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01d9", + "operands": { + "bp_offset": 217, + "target": "[BP-27h]" + } + }, + { + "offset": 4909, + "absolute_body_offset": 5121, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 4910, + "absolute_body_offset": 5122, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52f2ff", + "operands": { + "relative_u16": 65522, + "relative_signed": -14, + "target_offset": 4899 + } + }, + { + "offset": 4913, + "absolute_body_offset": 5125, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 4915, + "absolute_body_offset": 5127, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0902", + "operands": { + "line_number": 521 + } + }, + { + "offset": 4918, + "absolute_body_offset": 5130, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0802", + "operands": { + "line_number": 520 + } + }, + { + "offset": 4921, + "absolute_body_offset": 5133, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fdb", + "operands": { + "bp_offset": 219, + "target": "[BP-25h]" + } + }, + { + "offset": 4923, + "absolute_body_offset": 5135, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0902", + "operands": { + "line_number": 521 + } + }, + { + "offset": 4926, + "absolute_body_offset": 5138, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd9", + "operands": { + "bp_offset": 217, + "target": "[BP-27h]" + } + }, + { + "offset": 4928, + "absolute_body_offset": 5140, + "opcode": 50, + "mnemonic": "and", + "raw_bytes": "32", + "operands": {} + }, + { + "offset": 4929, + "absolute_body_offset": 5141, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "519101", + "operands": { + "relative_u16": 401, + "relative_signed": 401, + "target_offset": 5333 + } + }, + { + "offset": 4932, + "absolute_body_offset": 5144, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0a02", + "operands": { + "line_number": 522 + } + }, + { + "offset": 4935, + "absolute_body_offset": 5147, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bf400", + "operands": { + "value_u16": 244 + } + }, + { + "offset": 4938, + "absolute_body_offset": 5150, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 4941, + "absolute_body_offset": 5153, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f061500", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 21, + "intrinsic_name_hint": "Item::andStatus(void)" + } + }, + { + "offset": 4945, + "absolute_body_offset": 5157, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 4947, + "absolute_body_offset": 5159, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0b02", + "operands": { + "line_number": 523 + } + }, + { + "offset": 4950, + "absolute_body_offset": 5162, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 4951, + "absolute_body_offset": 5163, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a3c", + "operands": { + "value_u8": 60, + "value_signed": 60 + } + }, + { + "offset": 4953, + "absolute_body_offset": 5165, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 4958, + "absolute_body_offset": 5170, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 4965, + "absolute_body_offset": 5177, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 4967, + "absolute_body_offset": 5179, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 4968, + "absolute_body_offset": 5180, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 4971, + "absolute_body_offset": 5183, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 4972, + "absolute_body_offset": 5184, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 4973, + "absolute_body_offset": 5185, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c8a0b4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 4985, + "absolute_body_offset": 5197, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0c02", + "operands": { + "line_number": 524 + } + }, + { + "offset": 4988, + "absolute_body_offset": 5200, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bf300", + "operands": { + "value_u16": 243 + } + }, + { + "offset": 4991, + "absolute_body_offset": 5203, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 4994, + "absolute_body_offset": 5206, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f063800", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 56, + "intrinsic_name_hint": "Item::andStatus(void)" + } + }, + { + "offset": 4998, + "absolute_body_offset": 5210, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5000, + "absolute_body_offset": 5212, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1002", + "operands": { + "line_number": 528 + } + }, + { + "offset": 5003, + "absolute_body_offset": 5215, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd5", + "operands": { + "bp_offset": 213, + "target": "[BP-2Bh]" + } + }, + { + "offset": 5005, + "absolute_body_offset": 5217, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518700", + "operands": { + "relative_u16": 135, + "relative_signed": 135, + "target_offset": 5143 + } + }, + { + "offset": 5008, + "absolute_body_offset": 5220, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1102", + "operands": { + "line_number": 529 + } + }, + { + "offset": 5011, + "absolute_body_offset": 5223, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 5013, + "absolute_body_offset": 5225, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bdb", + "operands": { + "bp_offset": 219, + "target": "[BP-25h]" + } + }, + { + "offset": 5015, + "absolute_body_offset": 5227, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065900", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 89, + "intrinsic_name_hint": "Item::setQuantity(sint16)" + } + }, + { + "offset": 5019, + "absolute_body_offset": 5231, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5021, + "absolute_body_offset": 5233, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1202", + "operands": { + "line_number": 530 + } + }, + { + "offset": 5024, + "absolute_body_offset": 5236, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 5026, + "absolute_body_offset": 5238, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bd9", + "operands": { + "bp_offset": 217, + "target": "[BP-27h]" + } + }, + { + "offset": 5028, + "absolute_body_offset": 5240, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065900", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 89, + "intrinsic_name_hint": "Item::setQuantity(sint16)" + } + }, + { + "offset": 5032, + "absolute_body_offset": 5244, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5034, + "absolute_body_offset": 5246, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1402", + "operands": { + "line_number": 532 + } + }, + { + "offset": 5037, + "absolute_body_offset": 5249, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 5039, + "absolute_body_offset": 5251, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5041, + "absolute_body_offset": 5253, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5043, + "absolute_body_offset": 5255, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a04", + "operands": { + "value_u8": 4, + "value_signed": 4 + } + }, + { + "offset": 5045, + "absolute_body_offset": 5257, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 5046, + "absolute_body_offset": 5258, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "515b00", + "operands": { + "relative_u16": 91, + "relative_signed": 91, + "target_offset": 5140 + } + }, + { + "offset": 5049, + "absolute_body_offset": 5261, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1602", + "operands": { + "line_number": 534 + } + }, + { + "offset": 5052, + "absolute_body_offset": 5264, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5054, + "absolute_body_offset": 5266, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bdb", + "operands": { + "bp_offset": 219, + "target": "[BP-25h]" + } + }, + { + "offset": 5056, + "absolute_body_offset": 5268, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065900", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 89, + "intrinsic_name_hint": "Item::setQuantity(sint16)" + } + }, + { + "offset": 5060, + "absolute_body_offset": 5272, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5062, + "absolute_body_offset": 5274, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1702", + "operands": { + "line_number": 535 + } + }, + { + "offset": 5065, + "absolute_body_offset": 5277, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5067, + "absolute_body_offset": 5279, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bd9", + "operands": { + "bp_offset": 217, + "target": "[BP-27h]" + } + }, + { + "offset": 5069, + "absolute_body_offset": 5281, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065900", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 89, + "intrinsic_name_hint": "Item::setQuantity(sint16)" + } + }, + { + "offset": 5073, + "absolute_body_offset": 5285, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5075, + "absolute_body_offset": 5287, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1802", + "operands": { + "line_number": 536 + } + }, + { + "offset": 5078, + "absolute_body_offset": 5290, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b9300", + "operands": { + "value_u16": 147 + } + }, + { + "offset": 5081, + "absolute_body_offset": 5293, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bdb", + "operands": { + "bp_offset": 219, + "target": "[BP-25h]" + } + }, + { + "offset": 5083, + "absolute_body_offset": 5295, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f064300", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 67, + "intrinsic_name_hint": "Item::isOn(uint16)" + } + }, + { + "offset": 5087, + "absolute_body_offset": 5299, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5089, + "absolute_body_offset": 5301, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1902", + "operands": { + "line_number": 537 + } + }, + { + "offset": 5092, + "absolute_body_offset": 5304, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 5093, + "absolute_body_offset": 5305, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a1e", + "operands": { + "value_u8": 30, + "value_signed": 30 + } + }, + { + "offset": 5095, + "absolute_body_offset": 5307, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 5100, + "absolute_body_offset": 5312, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 5107, + "absolute_body_offset": 5319, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 5109, + "absolute_body_offset": 5321, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5110, + "absolute_body_offset": 5322, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 5113, + "absolute_body_offset": 5325, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5114, + "absolute_body_offset": 5326, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 5115, + "absolute_body_offset": 5327, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cfc0a4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 5127, + "absolute_body_offset": 5339, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1402", + "operands": { + "line_number": 532 + } + }, + { + "offset": 5130, + "absolute_body_offset": 5342, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 5132, + "absolute_body_offset": 5344, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5134, + "absolute_body_offset": 5346, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 5135, + "absolute_body_offset": 5347, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5137, + "absolute_body_offset": 5349, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "529dff", + "operands": { + "relative_u16": 65437, + "relative_signed": -99, + "target_offset": 5041 + } + }, + { + "offset": 5140, + "absolute_body_offset": 5352, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "527000", + "operands": { + "relative_u16": 112, + "relative_signed": 112, + "target_offset": 5255 + } + }, + { + "offset": 5143, + "absolute_body_offset": 5355, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1e02", + "operands": { + "line_number": 542 + } + }, + { + "offset": 5146, + "absolute_body_offset": 5358, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 5148, + "absolute_body_offset": 5360, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5150, + "absolute_body_offset": 5362, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5152, + "absolute_body_offset": 5364, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a03", + "operands": { + "value_u8": 3, + "value_signed": 3 + } + }, + { + "offset": 5154, + "absolute_body_offset": 5366, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 5155, + "absolute_body_offset": 5367, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516100", + "operands": { + "relative_u16": 97, + "relative_signed": 97, + "target_offset": 5255 + } + }, + { + "offset": 5158, + "absolute_body_offset": 5370, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2002", + "operands": { + "line_number": 544 + } + }, + { + "offset": 5161, + "absolute_body_offset": 5373, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a07", + "operands": { + "value_u8": 7, + "value_signed": 7 + } + }, + { + "offset": 5163, + "absolute_body_offset": 5375, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5165, + "absolute_body_offset": 5377, + "opcode": 28, + "mnemonic": "sub", + "raw_bytes": "1c", + "operands": {} + }, + { + "offset": 5166, + "absolute_body_offset": 5378, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bdb", + "operands": { + "bp_offset": 219, + "target": "[BP-25h]" + } + }, + { + "offset": 5168, + "absolute_body_offset": 5380, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065900", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 89, + "intrinsic_name_hint": "Item::setQuantity(sint16)" + } + }, + { + "offset": 5172, + "absolute_body_offset": 5384, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5174, + "absolute_body_offset": 5386, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2102", + "operands": { + "line_number": 545 + } + }, + { + "offset": 5177, + "absolute_body_offset": 5389, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a07", + "operands": { + "value_u8": 7, + "value_signed": 7 + } + }, + { + "offset": 5179, + "absolute_body_offset": 5391, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5181, + "absolute_body_offset": 5393, + "opcode": 28, + "mnemonic": "sub", + "raw_bytes": "1c", + "operands": {} + }, + { + "offset": 5182, + "absolute_body_offset": 5394, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bd9", + "operands": { + "bp_offset": 217, + "target": "[BP-27h]" + } + }, + { + "offset": 5184, + "absolute_body_offset": 5396, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065900", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 89, + "intrinsic_name_hint": "Item::setQuantity(sint16)" + } + }, + { + "offset": 5188, + "absolute_body_offset": 5400, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5190, + "absolute_body_offset": 5402, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2202", + "operands": { + "line_number": 546 + } + }, + { + "offset": 5193, + "absolute_body_offset": 5405, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b9300", + "operands": { + "value_u16": 147 + } + }, + { + "offset": 5196, + "absolute_body_offset": 5408, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bdb", + "operands": { + "bp_offset": 219, + "target": "[BP-25h]" + } + }, + { + "offset": 5198, + "absolute_body_offset": 5410, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f064300", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 67, + "intrinsic_name_hint": "Item::isOn(uint16)" + } + }, + { + "offset": 5202, + "absolute_body_offset": 5414, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5204, + "absolute_body_offset": 5416, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2302", + "operands": { + "line_number": 547 + } + }, + { + "offset": 5207, + "absolute_body_offset": 5419, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 5208, + "absolute_body_offset": 5420, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a1e", + "operands": { + "value_u8": 30, + "value_signed": 30 + } + }, + { + "offset": 5210, + "absolute_body_offset": 5422, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 5215, + "absolute_body_offset": 5427, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 5222, + "absolute_body_offset": 5434, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 5224, + "absolute_body_offset": 5436, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5225, + "absolute_body_offset": 5437, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 5228, + "absolute_body_offset": 5440, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5229, + "absolute_body_offset": 5441, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 5230, + "absolute_body_offset": 5442, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c890a4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 5242, + "absolute_body_offset": 5454, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1e02", + "operands": { + "line_number": 542 + } + }, + { + "offset": 5245, + "absolute_body_offset": 5457, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 5247, + "absolute_body_offset": 5459, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5249, + "absolute_body_offset": 5461, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 5250, + "absolute_body_offset": 5462, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 5252, + "absolute_body_offset": 5464, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "5297ff", + "operands": { + "relative_u16": 65431, + "relative_signed": -105, + "target_offset": 5150 + } + }, + { + "offset": 5255, + "absolute_body_offset": 5467, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2802", + "operands": { + "line_number": 552 + } + }, + { + "offset": 5258, + "absolute_body_offset": 5470, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 5259, + "absolute_body_offset": 5471, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a1e", + "operands": { + "value_u8": 30, + "value_signed": 30 + } + }, + { + "offset": 5261, + "absolute_body_offset": 5473, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 5266, + "absolute_body_offset": 5478, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 5273, + "absolute_body_offset": 5485, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 5275, + "absolute_body_offset": 5487, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5276, + "absolute_body_offset": 5488, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 5279, + "absolute_body_offset": 5491, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5280, + "absolute_body_offset": 5492, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 5281, + "absolute_body_offset": 5493, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c560a4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 5293, + "absolute_body_offset": 5505, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2902", + "operands": { + "line_number": 553 + } + }, + { + "offset": 5296, + "absolute_body_offset": 5508, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 5298, + "absolute_body_offset": 5510, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bdb", + "operands": { + "bp_offset": 219, + "target": "[BP-25h]" + } + }, + { + "offset": 5300, + "absolute_body_offset": 5512, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065900", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 89, + "intrinsic_name_hint": "Item::setQuantity(sint16)" + } + }, + { + "offset": 5304, + "absolute_body_offset": 5516, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5306, + "absolute_body_offset": 5518, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2a02", + "operands": { + "line_number": 554 + } + }, + { + "offset": 5309, + "absolute_body_offset": 5521, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 5311, + "absolute_body_offset": 5523, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bd9", + "operands": { + "bp_offset": 217, + "target": "[BP-27h]" + } + }, + { + "offset": 5313, + "absolute_body_offset": 5525, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065900", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 89, + "intrinsic_name_hint": "Item::setQuantity(sint16)" + } + }, + { + "offset": 5317, + "absolute_body_offset": 5529, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5319, + "absolute_body_offset": 5531, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2b02", + "operands": { + "line_number": 555 + } + }, + { + "offset": 5322, + "absolute_body_offset": 5534, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b9300", + "operands": { + "value_u16": 147 + } + }, + { + "offset": 5325, + "absolute_body_offset": 5537, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bdb", + "operands": { + "bp_offset": 219, + "target": "[BP-25h]" + } + }, + { + "offset": 5327, + "absolute_body_offset": 5539, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f064300", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 67, + "intrinsic_name_hint": "Item::isOn(uint16)" + } + }, + { + "offset": 5331, + "absolute_body_offset": 5543, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5333, + "absolute_body_offset": 5545, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2e02", + "operands": { + "line_number": 558 + } + }, + { + "offset": 5336, + "absolute_body_offset": 5548, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 5337, + "absolute_body_offset": 5549, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a3c", + "operands": { + "value_u8": 60, + "value_signed": 60 + } + }, + { + "offset": 5339, + "absolute_body_offset": 5551, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 5344, + "absolute_body_offset": 5556, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 5351, + "absolute_body_offset": 5563, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 5353, + "absolute_body_offset": 5565, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5354, + "absolute_body_offset": 5566, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 5357, + "absolute_body_offset": 5569, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5358, + "absolute_body_offset": 5570, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 5359, + "absolute_body_offset": 5571, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c080a4556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 5371, + "absolute_body_offset": 5583, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2f02", + "operands": { + "line_number": 559 + } + }, + { + "offset": 5374, + "absolute_body_offset": 5586, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 5375, + "absolute_body_offset": 5587, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 5377, + "absolute_body_offset": 5589, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5379, + "absolute_body_offset": 5591, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 5381, + "absolute_body_offset": 5593, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5383, + "absolute_body_offset": 5595, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 5390, + "absolute_body_offset": 5602, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5392, + "absolute_body_offset": 5604, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5393, + "absolute_body_offset": 5605, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 5396, + "absolute_body_offset": 5608, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5397, + "absolute_body_offset": 5609, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 5398, + "absolute_body_offset": 5610, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5ce1094556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 5410, + "absolute_body_offset": 5622, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 5412, + "absolute_body_offset": 5624, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3202", + "operands": { + "line_number": 562 + } + }, + { + "offset": 5415, + "absolute_body_offset": 5627, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b9301", + "operands": { + "value_u16": 403 + } + }, + { + "offset": 5418, + "absolute_body_offset": 5630, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc701", + "operands": { + "value_u16": 455 + } + }, + { + "offset": 5421, + "absolute_body_offset": 5633, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7442", + "operands": { + "value_u8": 66 + } + }, + { + "offset": 5423, + "absolute_body_offset": 5635, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3302", + "operands": { + "line_number": 563 + } + }, + { + "offset": 5426, + "absolute_body_offset": 5638, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0a", + "operands": { + "value_u8": 10, + "value_signed": 10 + } + }, + { + "offset": 5428, + "absolute_body_offset": 5640, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 5430, + "absolute_body_offset": 5642, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 5431, + "absolute_body_offset": 5643, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3402", + "operands": { + "line_number": 564 + } + }, + { + "offset": 5434, + "absolute_body_offset": 5646, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd7", + "operands": { + "bp_offset": 215, + "target": "[BP-29h]" + } + }, + { + "offset": 5436, + "absolute_body_offset": 5648, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 5440, + "absolute_body_offset": 5652, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512a00", + "operands": { + "relative_u16": 42, + "relative_signed": 42, + "target_offset": 5485 + } + }, + { + "offset": 5443, + "absolute_body_offset": 5655, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3502", + "operands": { + "line_number": 565 + } + }, + { + "offset": 5446, + "absolute_body_offset": 5658, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 5448, + "absolute_body_offset": 5660, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f8", + "operands": { + "bp_offset": 248, + "target": "[BP-08h]" + } + }, + { + "offset": 5450, + "absolute_body_offset": 5662, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3602", + "operands": { + "line_number": 566 + } + }, + { + "offset": 5453, + "absolute_body_offset": 5665, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 5454, + "absolute_body_offset": 5666, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bf8", + "operands": { + "bp_offset": 248, + "target": "[BP-08h]" + } + }, + { + "offset": 5456, + "absolute_body_offset": 5668, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570002060a2000", + "operands": { + "arg_bytes": 0, + "this_size": 2, + "target_class_id": 2566, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 5463, + "absolute_body_offset": 5675, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5464, + "absolute_body_offset": 5676, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 5467, + "absolute_body_offset": 5679, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5468, + "absolute_body_offset": 5680, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 5469, + "absolute_body_offset": 5681, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c9a094556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 5481, + "absolute_body_offset": 5693, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 5482, + "absolute_body_offset": 5694, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52d3ff", + "operands": { + "relative_u16": 65491, + "relative_signed": -45, + "target_offset": 5440 + } + }, + { + "offset": 5485, + "absolute_body_offset": 5697, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 5487, + "absolute_body_offset": 5699, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3902", + "operands": { + "line_number": 569 + } + }, + { + "offset": 5490, + "absolute_body_offset": 5702, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 5491, + "absolute_body_offset": 5703, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 5493, + "absolute_body_offset": 5705, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5495, + "absolute_body_offset": 5707, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 5497, + "absolute_body_offset": 5709, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5499, + "absolute_body_offset": 5711, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 5506, + "absolute_body_offset": 5718, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5508, + "absolute_body_offset": 5720, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5509, + "absolute_body_offset": 5721, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 5512, + "absolute_body_offset": 5724, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5513, + "absolute_body_offset": 5725, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 5514, + "absolute_body_offset": 5726, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c6d094556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 5526, + "absolute_body_offset": 5738, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525d09", + "operands": { + "relative_u16": 2397, + "relative_signed": 2397, + "target_offset": 7926 + } + }, + { + "offset": 5529, + "absolute_body_offset": 5741, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 5531, + "absolute_body_offset": 5743, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a34", + "operands": { + "value_u8": 52, + "value_signed": 52 + } + }, + { + "offset": 5533, + "absolute_body_offset": 5745, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 5534, + "absolute_body_offset": 5746, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51d200", + "operands": { + "relative_u16": 210, + "relative_signed": 210, + "target_offset": 5747 + } + }, + { + "offset": 5537, + "absolute_body_offset": 5749, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4102", + "operands": { + "line_number": 577 + } + }, + { + "offset": 5540, + "absolute_body_offset": 5752, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5542, + "absolute_body_offset": 5754, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 137, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 5546, + "absolute_body_offset": 5758, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5548, + "absolute_body_offset": 5760, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5549, + "absolute_body_offset": 5761, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 5551, + "absolute_body_offset": 5763, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4202", + "operands": { + "line_number": 578 + } + }, + { + "offset": 5554, + "absolute_body_offset": 5766, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5556, + "absolute_body_offset": 5768, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 5560, + "absolute_body_offset": 5772, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5562, + "absolute_body_offset": 5774, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5563, + "absolute_body_offset": 5775, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01ef", + "operands": { + "bp_offset": 239, + "target": "[BP-11h]" + } + }, + { + "offset": 5565, + "absolute_body_offset": 5777, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4402", + "operands": { + "line_number": 580 + } + }, + { + "offset": 5568, + "absolute_body_offset": 5780, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 5570, + "absolute_body_offset": 5782, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51ab00", + "operands": { + "relative_u16": 171, + "relative_signed": 171, + "target_offset": 5744 + } + }, + { + "offset": 5573, + "absolute_body_offset": 5785, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 5575, + "absolute_body_offset": 5787, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 5577, + "absolute_body_offset": 5789, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743a", + "operands": { + "value_u8": 58 + } + }, + { + "offset": 5579, + "absolute_body_offset": 5791, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4702", + "operands": { + "line_number": 583 + } + }, + { + "offset": 5582, + "absolute_body_offset": 5794, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a06", + "operands": { + "value_u8": 6, + "value_signed": 6 + } + }, + { + "offset": 5584, + "absolute_body_offset": 5796, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 5586, + "absolute_body_offset": 5798, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 5588, + "absolute_body_offset": 5800, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 5590, + "absolute_body_offset": 5802, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 5591, + "absolute_body_offset": 5803, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4802", + "operands": { + "line_number": 584 + } + }, + { + "offset": 5594, + "absolute_body_offset": 5806, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5596, + "absolute_body_offset": 5808, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 5598, + "absolute_body_offset": 5810, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70ed0602", + "operands": { + "current_var": 237, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 5602, + "absolute_body_offset": 5814, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518000", + "operands": { + "relative_u16": 128, + "relative_signed": 128, + "target_offset": 5733 + } + }, + { + "offset": 5605, + "absolute_body_offset": 5817, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4902", + "operands": { + "line_number": 585 + } + }, + { + "offset": 5608, + "absolute_body_offset": 5820, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5610, + "absolute_body_offset": 5822, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040800", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 8, + "intrinsic_name_hint": "Item::isNpc(void)" + } + }, + { + "offset": 5614, + "absolute_body_offset": 5826, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5616, + "absolute_body_offset": 5828, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 5617, + "absolute_body_offset": 5829, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "514700", + "operands": { + "relative_u16": 71, + "relative_signed": 71, + "target_offset": 5691 + } + }, + { + "offset": 5620, + "absolute_body_offset": 5832, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4b02", + "operands": { + "line_number": 587 + } + }, + { + "offset": 5623, + "absolute_body_offset": 5835, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5625, + "absolute_body_offset": 5837, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040b00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 11, + "intrinsic_name_hint": "Item::getQLo(void)" + } + }, + { + "offset": 5629, + "absolute_body_offset": 5841, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5631, + "absolute_body_offset": 5843, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5632, + "absolute_body_offset": 5844, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5634, + "absolute_body_offset": 5846, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 5638, + "absolute_body_offset": 5850, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5640, + "absolute_body_offset": 5852, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5641, + "absolute_body_offset": 5853, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 5642, + "absolute_body_offset": 5854, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512e00", + "operands": { + "relative_u16": 46, + "relative_signed": 46, + "target_offset": 5691 + } + }, + { + "offset": 5645, + "absolute_body_offset": 5857, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4e02", + "operands": { + "line_number": 590 + } + }, + { + "offset": 5648, + "absolute_body_offset": 5860, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4d02", + "operands": { + "line_number": 589 + } + }, + { + "offset": 5651, + "absolute_body_offset": 5863, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5653, + "absolute_body_offset": 5865, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f043900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 57, + "intrinsic_name_hint": "Kernel::resetRef(uint16,ProcessType)" + } + }, + { + "offset": 5657, + "absolute_body_offset": 5869, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5659, + "absolute_body_offset": 5871, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 5660, + "absolute_body_offset": 5872, + "opcode": 48, + "mnemonic": "not", + "raw_bytes": "30", + "operands": {} + }, + { + "offset": 5661, + "absolute_body_offset": 5873, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511b00", + "operands": { + "relative_u16": 27, + "relative_signed": 27, + "target_offset": 5691 + } + }, + { + "offset": 5664, + "absolute_body_offset": 5876, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4f02", + "operands": { + "line_number": 591 + } + }, + { + "offset": 5667, + "absolute_body_offset": 5879, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b9900", + "operands": { + "value_u16": 153 + } + }, + { + "offset": 5670, + "absolute_body_offset": 5882, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5672, + "absolute_body_offset": 5884, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f061500", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 21, + "intrinsic_name_hint": "Item::andStatus(void)" + } + }, + { + "offset": 5676, + "absolute_body_offset": 5888, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5678, + "absolute_body_offset": 5890, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5002", + "operands": { + "line_number": 592 + } + }, + { + "offset": 5681, + "absolute_body_offset": 5893, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 5683, + "absolute_body_offset": 5895, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5685, + "absolute_body_offset": 5897, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f067d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 125, + "intrinsic_name_hint": "Intrinsic007D()" + } + }, + { + "offset": 5689, + "absolute_body_offset": 5901, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5691, + "absolute_body_offset": 5903, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5502", + "operands": { + "line_number": 597 + } + }, + { + "offset": 5694, + "absolute_body_offset": 5906, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 5695, + "absolute_body_offset": 5907, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 5697, + "absolute_body_offset": 5909, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 5702, + "absolute_body_offset": 5914, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 5709, + "absolute_body_offset": 5921, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 5711, + "absolute_body_offset": 5923, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5712, + "absolute_body_offset": 5924, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 5715, + "absolute_body_offset": 5927, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5716, + "absolute_body_offset": 5928, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 5717, + "absolute_body_offset": 5929, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5ca2084556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 5729, + "absolute_body_offset": 5941, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 5730, + "absolute_body_offset": 5942, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "527dff", + "operands": { + "relative_u16": 65405, + "relative_signed": -131, + "target_offset": 5602 + } + }, + { + "offset": 5733, + "absolute_body_offset": 5945, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 5735, + "absolute_body_offset": 5947, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5802", + "operands": { + "line_number": 600 + } + }, + { + "offset": 5738, + "absolute_body_offset": 5950, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528908", + "operands": { + "relative_u16": 2185, + "relative_signed": 2185, + "target_offset": 7926 + } + }, + { + "offset": 5741, + "absolute_body_offset": 5953, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "524dff", + "operands": { + "relative_u16": 65357, + "relative_signed": -179, + "target_offset": 5565 + } + }, + { + "offset": 5744, + "absolute_body_offset": 5956, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528308", + "operands": { + "relative_u16": 2179, + "relative_signed": 2179, + "target_offset": 7926 + } + }, + { + "offset": 5747, + "absolute_body_offset": 5959, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 5749, + "absolute_body_offset": 5961, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a35", + "operands": { + "value_u8": 53, + "value_signed": 53 + } + }, + { + "offset": 5751, + "absolute_body_offset": 5963, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 5752, + "absolute_body_offset": 5964, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51b800", + "operands": { + "relative_u16": 184, + "relative_signed": 184, + "target_offset": 5939 + } + }, + { + "offset": 5755, + "absolute_body_offset": 5967, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 5757, + "absolute_body_offset": 5969, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 5759, + "absolute_body_offset": 5971, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7440", + "operands": { + "value_u8": 64 + } + }, + { + "offset": 5761, + "absolute_body_offset": 5973, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6002", + "operands": { + "line_number": 608 + } + }, + { + "offset": 5764, + "absolute_body_offset": 5976, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc804", + "operands": { + "value_u16": 1224 + } + }, + { + "offset": 5767, + "absolute_body_offset": 5979, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 5769, + "absolute_body_offset": 5981, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 5771, + "absolute_body_offset": 5983, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 5773, + "absolute_body_offset": 5985, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 5774, + "absolute_body_offset": 5986, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6102", + "operands": { + "line_number": 609 + } + }, + { + "offset": 5777, + "absolute_body_offset": 5989, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5779, + "absolute_body_offset": 5991, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 5781, + "absolute_body_offset": 5993, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70ed0602", + "operands": { + "current_var": 237, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 5785, + "absolute_body_offset": 5997, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "519200", + "operands": { + "relative_u16": 146, + "relative_signed": 146, + "target_offset": 5934 + } + }, + { + "offset": 5788, + "absolute_body_offset": 6000, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6202", + "operands": { + "line_number": 610 + } + }, + { + "offset": 5791, + "absolute_body_offset": 6003, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 5792, + "absolute_body_offset": 6004, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 5794, + "absolute_body_offset": 6006, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 5799, + "absolute_body_offset": 6011, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 5806, + "absolute_body_offset": 6018, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 5808, + "absolute_body_offset": 6020, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5809, + "absolute_body_offset": 6021, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 5812, + "absolute_body_offset": 6024, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5813, + "absolute_body_offset": 6025, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 5814, + "absolute_body_offset": 6026, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c41084556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 5826, + "absolute_body_offset": 6038, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6302", + "operands": { + "line_number": 611 + } + }, + { + "offset": 5829, + "absolute_body_offset": 6041, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a04", + "operands": { + "value_u8": 4, + "value_signed": 4 + } + }, + { + "offset": 5831, + "absolute_body_offset": 6043, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc804", + "operands": { + "value_u16": 1224 + } + }, + { + "offset": 5834, + "absolute_body_offset": 6046, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 5836, + "absolute_body_offset": 6048, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f081f00", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 31, + "intrinsic_name_hint": "Item::getQLo(void)" + } + }, + { + "offset": 5840, + "absolute_body_offset": 6052, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 5842, + "absolute_body_offset": 6054, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6402", + "operands": { + "line_number": 612 + } + }, + { + "offset": 5845, + "absolute_body_offset": 6057, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a2c", + "operands": { + "value_u8": 44, + "value_signed": 44 + } + }, + { + "offset": 5847, + "absolute_body_offset": 6059, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 5849, + "absolute_body_offset": 6061, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 5853, + "absolute_body_offset": 6065, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5855, + "absolute_body_offset": 6067, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6502", + "operands": { + "line_number": 613 + } + }, + { + "offset": 5858, + "absolute_body_offset": 6070, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a04", + "operands": { + "value_u8": 4, + "value_signed": 4 + } + }, + { + "offset": 5860, + "absolute_body_offset": 6072, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 5862, + "absolute_body_offset": 6074, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f066800", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 104, + "intrinsic_name_hint": "Kernel::getNumProcesses(uint16,ProcessType)" + } + }, + { + "offset": 5866, + "absolute_body_offset": 6078, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5868, + "absolute_body_offset": 6080, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6602", + "operands": { + "line_number": 614 + } + }, + { + "offset": 5871, + "absolute_body_offset": 6083, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5873, + "absolute_body_offset": 6085, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 9, + "intrinsic_name_hint": "Item::getZ(void)" + } + }, + { + "offset": 5877, + "absolute_body_offset": 6089, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5879, + "absolute_body_offset": 6091, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 5880, + "absolute_body_offset": 6092, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5882, + "absolute_body_offset": 6094, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 5886, + "absolute_body_offset": 6098, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5888, + "absolute_body_offset": 6100, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5889, + "absolute_body_offset": 6101, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5891, + "absolute_body_offset": 6103, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 5895, + "absolute_body_offset": 6107, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5897, + "absolute_body_offset": 6109, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5898, + "absolute_body_offset": 6110, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 5900, + "absolute_body_offset": 6112, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0a2000", + "operands": { + "arg_bytes": 10, + "intrinsic_ordinal": 32, + "intrinsic_name_hint": "Item::setQLo(sint16)" + } + }, + { + "offset": 5904, + "absolute_body_offset": 6116, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef6", + "operands": { + "value_u8": 246 + } + }, + { + "offset": 5906, + "absolute_body_offset": 6118, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6702", + "operands": { + "line_number": 615 + } + }, + { + "offset": 5909, + "absolute_body_offset": 6121, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 5911, + "absolute_body_offset": 6123, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048b00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 139, + "intrinsic_name_hint": "Item::setQuality(sint16)" + } + }, + { + "offset": 5915, + "absolute_body_offset": 6127, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5917, + "absolute_body_offset": 6129, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 5918, + "absolute_body_offset": 6130, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 5919, + "absolute_body_offset": 6131, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6802", + "operands": { + "line_number": 616 + } + }, + { + "offset": 5922, + "absolute_body_offset": 6134, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5924, + "absolute_body_offset": 6136, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040a00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 10, + "intrinsic_name_hint": "Intrinsic000A()" + } + }, + { + "offset": 5928, + "absolute_body_offset": 6140, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 5930, + "absolute_body_offset": 6142, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 5931, + "absolute_body_offset": 6143, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "526bff", + "operands": { + "relative_u16": 65387, + "relative_signed": -149, + "target_offset": 5785 + } + }, + { + "offset": 5934, + "absolute_body_offset": 6146, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 5936, + "absolute_body_offset": 6148, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c307", + "operands": { + "relative_u16": 1987, + "relative_signed": 1987, + "target_offset": 7926 + } + }, + { + "offset": 5939, + "absolute_body_offset": 6151, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 5941, + "absolute_body_offset": 6153, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a36", + "operands": { + "value_u8": 54, + "value_signed": 54 + } + }, + { + "offset": 5943, + "absolute_body_offset": 6155, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 5944, + "absolute_body_offset": 6156, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "514f00", + "operands": { + "relative_u16": 79, + "relative_signed": 79, + "target_offset": 6026 + } + }, + { + "offset": 5947, + "absolute_body_offset": 6159, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 5949, + "absolute_body_offset": 6161, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 5951, + "absolute_body_offset": 6163, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7440", + "operands": { + "value_u8": 64 + } + }, + { + "offset": 5953, + "absolute_body_offset": 6165, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7002", + "operands": { + "line_number": 624 + } + }, + { + "offset": 5956, + "absolute_body_offset": 6168, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc804", + "operands": { + "value_u16": 1224 + } + }, + { + "offset": 5959, + "absolute_body_offset": 6171, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 5961, + "absolute_body_offset": 6173, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 5963, + "absolute_body_offset": 6175, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 5965, + "absolute_body_offset": 6177, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 5966, + "absolute_body_offset": 6178, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7102", + "operands": { + "line_number": 625 + } + }, + { + "offset": 5969, + "absolute_body_offset": 6181, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 5971, + "absolute_body_offset": 6183, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 5973, + "absolute_body_offset": 6185, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70ed0602", + "operands": { + "current_var": 237, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 5977, + "absolute_body_offset": 6189, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512900", + "operands": { + "relative_u16": 41, + "relative_signed": 41, + "target_offset": 6021 + } + }, + { + "offset": 5980, + "absolute_body_offset": 6192, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7202", + "operands": { + "line_number": 626 + } + }, + { + "offset": 5983, + "absolute_body_offset": 6195, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a64", + "operands": { + "value_u8": 100, + "value_signed": 100 + } + }, + { + "offset": 5985, + "absolute_body_offset": 6197, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 5987, + "absolute_body_offset": 6199, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 5991, + "absolute_body_offset": 6203, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 5993, + "absolute_body_offset": 6205, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7302", + "operands": { + "line_number": 627 + } + }, + { + "offset": 5996, + "absolute_body_offset": 6208, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a06", + "operands": { + "value_u8": 6, + "value_signed": 6 + } + }, + { + "offset": 5998, + "absolute_body_offset": 6210, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 6000, + "absolute_body_offset": 6212, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f066800", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 104, + "intrinsic_name_hint": "Kernel::getNumProcesses(uint16,ProcessType)" + } + }, + { + "offset": 6004, + "absolute_body_offset": 6216, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 6006, + "absolute_body_offset": 6218, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7402", + "operands": { + "line_number": 628 + } + }, + { + "offset": 6009, + "absolute_body_offset": 6221, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bed", + "operands": { + "bp_offset": 237, + "target": "[BP-13h]" + } + }, + { + "offset": 6011, + "absolute_body_offset": 6223, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048c00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 140, + "intrinsic_name_hint": "Intrinsic008C()" + } + }, + { + "offset": 6015, + "absolute_body_offset": 6227, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6017, + "absolute_body_offset": 6229, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 6018, + "absolute_body_offset": 6230, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52d4ff", + "operands": { + "relative_u16": 65492, + "relative_signed": -44, + "target_offset": 5977 + } + }, + { + "offset": 6021, + "absolute_body_offset": 6233, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 6023, + "absolute_body_offset": 6235, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "526c07", + "operands": { + "relative_u16": 1900, + "relative_signed": 1900, + "target_offset": 7926 + } + }, + { + "offset": 6026, + "absolute_body_offset": 6238, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 6028, + "absolute_body_offset": 6240, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a37", + "operands": { + "value_u8": 55, + "value_signed": 55 + } + }, + { + "offset": 6030, + "absolute_body_offset": 6242, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 6031, + "absolute_body_offset": 6243, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510801", + "operands": { + "relative_u16": 264, + "relative_signed": 264, + "target_offset": 6298 + } + }, + { + "offset": 6034, + "absolute_body_offset": 6246, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7e02", + "operands": { + "line_number": 638 + } + }, + { + "offset": 6037, + "absolute_body_offset": 6249, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e380001", + "operands": { + "global_id": 56, + "size": 1 + } + }, + { + "offset": 6041, + "absolute_body_offset": 6253, + "opcode": 48, + "mnemonic": "not", + "raw_bytes": "30", + "operands": {} + }, + { + "offset": 6042, + "absolute_body_offset": 6254, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510600", + "operands": { + "relative_u16": 6, + "relative_signed": 6, + "target_offset": 6051 + } + }, + { + "offset": 6045, + "absolute_body_offset": 6257, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b7f02", + "operands": { + "line_number": 639 + } + }, + { + "offset": 6048, + "absolute_body_offset": 6260, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525307", + "operands": { + "relative_u16": 1875, + "relative_signed": 1875, + "target_offset": 7926 + } + }, + { + "offset": 6051, + "absolute_body_offset": 6263, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8202", + "operands": { + "line_number": 642 + } + }, + { + "offset": 6054, + "absolute_body_offset": 6266, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6056, + "absolute_body_offset": 6268, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 137, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 6060, + "absolute_body_offset": 6272, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6062, + "absolute_body_offset": 6274, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6063, + "absolute_body_offset": 6275, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 6065, + "absolute_body_offset": 6277, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8402", + "operands": { + "line_number": 644 + } + }, + { + "offset": 6068, + "absolute_body_offset": 6280, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 6070, + "absolute_body_offset": 6282, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51de00", + "operands": { + "relative_u16": 222, + "relative_signed": 222, + "target_offset": 6295 + } + }, + { + "offset": 6073, + "absolute_body_offset": 6285, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8602", + "operands": { + "line_number": 646 + } + }, + { + "offset": 6076, + "absolute_body_offset": 6288, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 6078, + "absolute_body_offset": 6290, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 6080, + "absolute_body_offset": 6292, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8902", + "operands": { + "line_number": 649 + } + }, + { + "offset": 6083, + "absolute_body_offset": 6295, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6085, + "absolute_body_offset": 6297, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 6089, + "absolute_body_offset": 6301, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6091, + "absolute_body_offset": 6303, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6092, + "absolute_body_offset": 6304, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 6094, + "absolute_body_offset": 6306, + "opcode": 28, + "mnemonic": "sub", + "raw_bytes": "1c", + "operands": {} + }, + { + "offset": 6095, + "absolute_body_offset": 6307, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6097, + "absolute_body_offset": 6309, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 6101, + "absolute_body_offset": 6313, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 6103, + "absolute_body_offset": 6315, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8b02", + "operands": { + "line_number": 651 + } + }, + { + "offset": 6106, + "absolute_body_offset": 6318, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6107, + "absolute_body_offset": 6319, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 6109, + "absolute_body_offset": 6321, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 6112, + "absolute_body_offset": 6324, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 6113, + "absolute_body_offset": 6325, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6115, + "absolute_body_offset": 6327, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 6117, + "absolute_body_offset": 6329, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6119, + "absolute_body_offset": 6331, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 6126, + "absolute_body_offset": 6338, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6128, + "absolute_body_offset": 6340, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6129, + "absolute_body_offset": 6341, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6132, + "absolute_body_offset": 6344, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6133, + "absolute_body_offset": 6345, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6134, + "absolute_body_offset": 6346, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c01074556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6146, + "absolute_body_offset": 6358, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8c02", + "operands": { + "line_number": 652 + } + }, + { + "offset": 6149, + "absolute_body_offset": 6361, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6150, + "absolute_body_offset": 6362, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 6152, + "absolute_body_offset": 6364, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 6157, + "absolute_body_offset": 6369, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 6164, + "absolute_body_offset": 6376, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 6166, + "absolute_body_offset": 6378, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6167, + "absolute_body_offset": 6379, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6170, + "absolute_body_offset": 6382, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6171, + "absolute_body_offset": 6383, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6172, + "absolute_body_offset": 6384, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cdb064556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6184, + "absolute_body_offset": 6396, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8d02", + "operands": { + "line_number": 653 + } + }, + { + "offset": 6187, + "absolute_body_offset": 6399, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6188, + "absolute_body_offset": 6400, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 6190, + "absolute_body_offset": 6402, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 6193, + "absolute_body_offset": 6405, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 6194, + "absolute_body_offset": 6406, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6196, + "absolute_body_offset": 6408, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 6198, + "absolute_body_offset": 6410, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6200, + "absolute_body_offset": 6412, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 6207, + "absolute_body_offset": 6419, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6209, + "absolute_body_offset": 6421, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6210, + "absolute_body_offset": 6422, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6213, + "absolute_body_offset": 6425, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6214, + "absolute_body_offset": 6426, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6215, + "absolute_body_offset": 6427, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cb0064556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6227, + "absolute_body_offset": 6439, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b8e02", + "operands": { + "line_number": 654 + } + }, + { + "offset": 6230, + "absolute_body_offset": 6442, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6231, + "absolute_body_offset": 6443, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 6233, + "absolute_body_offset": 6445, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 6238, + "absolute_body_offset": 6450, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 6245, + "absolute_body_offset": 6457, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 6247, + "absolute_body_offset": 6459, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6248, + "absolute_body_offset": 6460, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6251, + "absolute_body_offset": 6463, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6252, + "absolute_body_offset": 6464, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6253, + "absolute_body_offset": 6465, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c8a064556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6265, + "absolute_body_offset": 6477, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9102", + "operands": { + "line_number": 657 + } + }, + { + "offset": 6268, + "absolute_body_offset": 6480, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9002", + "operands": { + "line_number": 656 + } + }, + { + "offset": 6271, + "absolute_body_offset": 6483, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6273, + "absolute_body_offset": 6485, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 6277, + "absolute_body_offset": 6489, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6279, + "absolute_body_offset": 6491, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6280, + "absolute_body_offset": 6492, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 6282, + "absolute_body_offset": 6494, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 6283, + "absolute_body_offset": 6495, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510600", + "operands": { + "relative_u16": 6, + "relative_signed": 6, + "target_offset": 6292 + } + }, + { + "offset": 6286, + "absolute_body_offset": 6498, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9202", + "operands": { + "line_number": 658 + } + }, + { + "offset": 6289, + "absolute_body_offset": 6501, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "526206", + "operands": { + "relative_u16": 1634, + "relative_signed": 1634, + "target_offset": 7926 + } + }, + { + "offset": 6292, + "absolute_body_offset": 6504, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "521aff", + "operands": { + "relative_u16": 65306, + "relative_signed": -230, + "target_offset": 6065 + } + }, + { + "offset": 6295, + "absolute_body_offset": 6507, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525c06", + "operands": { + "relative_u16": 1628, + "relative_signed": 1628, + "target_offset": 7926 + } + }, + { + "offset": 6298, + "absolute_body_offset": 6510, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 6300, + "absolute_body_offset": 6512, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a4b", + "operands": { + "value_u8": 75, + "value_signed": 75 + } + }, + { + "offset": 6302, + "absolute_body_offset": 6514, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 6303, + "absolute_body_offset": 6515, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516b00", + "operands": { + "relative_u16": 107, + "relative_signed": 107, + "target_offset": 6413 + } + }, + { + "offset": 6306, + "absolute_body_offset": 6518, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 6308, + "absolute_body_offset": 6520, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 6310, + "absolute_body_offset": 6522, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743a", + "operands": { + "value_u8": 58 + } + }, + { + "offset": 6312, + "absolute_body_offset": 6524, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9c02", + "operands": { + "line_number": 668 + } + }, + { + "offset": 6315, + "absolute_body_offset": 6527, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a06", + "operands": { + "value_u8": 6, + "value_signed": 6 + } + }, + { + "offset": 6317, + "absolute_body_offset": 6529, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 6319, + "absolute_body_offset": 6531, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a64", + "operands": { + "value_u8": 100, + "value_signed": 100 + } + }, + { + "offset": 6321, + "absolute_body_offset": 6533, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 6323, + "absolute_body_offset": 6535, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 6324, + "absolute_body_offset": 6536, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9d02", + "operands": { + "line_number": 669 + } + }, + { + "offset": 6327, + "absolute_body_offset": 6539, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6329, + "absolute_body_offset": 6541, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 6331, + "absolute_body_offset": 6543, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 6335, + "absolute_body_offset": 6547, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "514600", + "operands": { + "relative_u16": 70, + "relative_signed": 70, + "target_offset": 6408 + } + }, + { + "offset": 6338, + "absolute_body_offset": 6550, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9f02", + "operands": { + "line_number": 671 + } + }, + { + "offset": 6341, + "absolute_body_offset": 6553, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b9e02", + "operands": { + "line_number": 670 + } + }, + { + "offset": 6344, + "absolute_body_offset": 6556, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 6346, + "absolute_body_offset": 6558, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 6350, + "absolute_body_offset": 6562, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6352, + "absolute_body_offset": 6564, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6353, + "absolute_body_offset": 6565, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6355, + "absolute_body_offset": 6567, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 6359, + "absolute_body_offset": 6571, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6361, + "absolute_body_offset": 6573, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6362, + "absolute_body_offset": 6574, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 6363, + "absolute_body_offset": 6575, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512600", + "operands": { + "relative_u16": 38, + "relative_signed": 38, + "target_offset": 6404 + } + }, + { + "offset": 6366, + "absolute_body_offset": 6578, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5ba002", + "operands": { + "line_number": 672 + } + }, + { + "offset": 6369, + "absolute_body_offset": 6581, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6370, + "absolute_body_offset": 6582, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0a", + "operands": { + "value_u8": 10, + "value_signed": 10 + } + }, + { + "offset": 6372, + "absolute_body_offset": 6584, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0c", + "operands": { + "value_u8": 12, + "value_signed": 12 + } + }, + { + "offset": 6374, + "absolute_body_offset": 6586, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0a", + "operands": { + "value_u8": 10, + "value_signed": 10 + } + }, + { + "offset": 6376, + "absolute_body_offset": 6588, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0af6", + "operands": { + "value_u8": 246, + "value_signed": -10 + } + }, + { + "offset": 6378, + "absolute_body_offset": 6590, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 6380, + "absolute_body_offset": 6592, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0c8d00", + "operands": { + "arg_bytes": 12, + "intrinsic_ordinal": 141, + "intrinsic_name_hint": "Intrinsic008D()" + } + }, + { + "offset": 6384, + "absolute_body_offset": 6596, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef4", + "operands": { + "value_u8": 244 + } + }, + { + "offset": 6386, + "absolute_body_offset": 6598, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6387, + "absolute_body_offset": 6599, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6390, + "absolute_body_offset": 6602, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6391, + "absolute_body_offset": 6603, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6392, + "absolute_body_offset": 6604, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cff054556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6404, + "absolute_body_offset": 6616, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 6405, + "absolute_body_offset": 6617, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52b7ff", + "operands": { + "relative_u16": 65463, + "relative_signed": -73, + "target_offset": 6335 + } + }, + { + "offset": 6408, + "absolute_body_offset": 6620, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 6410, + "absolute_body_offset": 6622, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52e905", + "operands": { + "relative_u16": 1513, + "relative_signed": 1513, + "target_offset": 7926 + } + }, + { + "offset": 6413, + "absolute_body_offset": 6625, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 6415, + "absolute_body_offset": 6627, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a55", + "operands": { + "value_u8": 85, + "value_signed": 85 + } + }, + { + "offset": 6417, + "absolute_body_offset": 6629, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 6418, + "absolute_body_offset": 6630, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518701", + "operands": { + "relative_u16": 391, + "relative_signed": 391, + "target_offset": 6812 + } + }, + { + "offset": 6421, + "absolute_body_offset": 6633, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5ba802", + "operands": { + "line_number": 680 + } + }, + { + "offset": 6424, + "absolute_body_offset": 6636, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6426, + "absolute_body_offset": 6638, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048e00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 142, + "intrinsic_name_hint": "Intrinsic008E()" + } + }, + { + "offset": 6430, + "absolute_body_offset": 6642, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6432, + "absolute_body_offset": 6644, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6433, + "absolute_body_offset": 6645, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 6435, + "absolute_body_offset": 6647, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 6436, + "absolute_body_offset": 6648, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01e1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 6438, + "absolute_body_offset": 6650, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5baa02", + "operands": { + "line_number": 682 + } + }, + { + "offset": 6441, + "absolute_body_offset": 6653, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 6443, + "absolute_body_offset": 6655, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516b01", + "operands": { + "relative_u16": 363, + "relative_signed": 363, + "target_offset": 6809 + } + }, + { + "offset": 6446, + "absolute_body_offset": 6658, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bac02", + "operands": { + "line_number": 684 + } + }, + { + "offset": 6449, + "absolute_body_offset": 6661, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 6451, + "absolute_body_offset": 6663, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 6453, + "absolute_body_offset": 6665, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5baf02", + "operands": { + "line_number": 687 + } + }, + { + "offset": 6456, + "absolute_body_offset": 6668, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bae02", + "operands": { + "line_number": 686 + } + }, + { + "offset": 6459, + "absolute_body_offset": 6671, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6461, + "absolute_body_offset": 6673, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 6465, + "absolute_body_offset": 6677, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6467, + "absolute_body_offset": 6679, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6468, + "absolute_body_offset": 6680, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 6470, + "absolute_body_offset": 6682, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 6471, + "absolute_body_offset": 6683, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6473, + "absolute_body_offset": 6685, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 6475, + "absolute_body_offset": 6687, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e3c0002", + "operands": { + "global_id": 60, + "size": 2 + } + }, + { + "offset": 6479, + "absolute_body_offset": 6691, + "opcode": 17, + "mnemonic": "call_class_event", + "raw_bytes": "110c0a2900", + "operands": { + "target_class_id": 2572, + "target_event_slot": 41, + "target_event_name_hint": null + } + }, + { + "offset": 6484, + "absolute_body_offset": 6696, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6486, + "absolute_body_offset": 6698, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6487, + "absolute_body_offset": 6699, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a32", + "operands": { + "value_u8": 50, + "value_signed": 50 + } + }, + { + "offset": 6489, + "absolute_body_offset": 6701, + "opcode": 44, + "mnemonic": "gt", + "raw_bytes": "2c", + "operands": {} + }, + { + "offset": 6490, + "absolute_body_offset": 6702, + "opcode": 52, + "mnemonic": "or", + "raw_bytes": "34", + "operands": {} + }, + { + "offset": 6491, + "absolute_body_offset": 6703, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510600", + "operands": { + "relative_u16": 6, + "relative_signed": 6, + "target_offset": 6500 + } + }, + { + "offset": 6494, + "absolute_body_offset": 6706, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb002", + "operands": { + "line_number": 688 + } + }, + { + "offset": 6497, + "absolute_body_offset": 6709, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "529205", + "operands": { + "relative_u16": 1426, + "relative_signed": 1426, + "target_offset": 7926 + } + }, + { + "offset": 6500, + "absolute_body_offset": 6712, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 6502, + "absolute_body_offset": 6714, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 6504, + "absolute_body_offset": 6716, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743a", + "operands": { + "value_u8": 58 + } + }, + { + "offset": 6506, + "absolute_body_offset": 6718, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb402", + "operands": { + "line_number": 692 + } + }, + { + "offset": 6509, + "absolute_body_offset": 6721, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a06", + "operands": { + "value_u8": 6, + "value_signed": 6 + } + }, + { + "offset": 6511, + "absolute_body_offset": 6723, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 6513, + "absolute_body_offset": 6725, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a32", + "operands": { + "value_u8": 50, + "value_signed": 50 + } + }, + { + "offset": 6515, + "absolute_body_offset": 6727, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 6517, + "absolute_body_offset": 6729, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 6518, + "absolute_body_offset": 6730, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb502", + "operands": { + "line_number": 693 + } + }, + { + "offset": 6521, + "absolute_body_offset": 6733, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e3c0002", + "operands": { + "global_id": 60, + "size": 2 + } + }, + { + "offset": 6525, + "absolute_body_offset": 6737, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 6529, + "absolute_body_offset": 6741, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511d00", + "operands": { + "relative_u16": 29, + "relative_signed": 29, + "target_offset": 6561 + } + }, + { + "offset": 6532, + "absolute_body_offset": 6744, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb602", + "operands": { + "line_number": 694 + } + }, + { + "offset": 6535, + "absolute_body_offset": 6747, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 6537, + "absolute_body_offset": 6749, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040800", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 8, + "intrinsic_name_hint": "Item::isNpc(void)" + } + }, + { + "offset": 6541, + "absolute_body_offset": 6753, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6543, + "absolute_body_offset": 6755, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 6544, + "absolute_body_offset": 6756, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510a00", + "operands": { + "relative_u16": 10, + "relative_signed": 10, + "target_offset": 6557 + } + }, + { + "offset": 6547, + "absolute_body_offset": 6759, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bb802", + "operands": { + "line_number": 696 + } + }, + { + "offset": 6550, + "absolute_body_offset": 6762, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 6552, + "absolute_body_offset": 6764, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 6554, + "absolute_body_offset": 6766, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 6555, + "absolute_body_offset": 6767, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01f1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 6557, + "absolute_body_offset": 6769, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 6558, + "absolute_body_offset": 6770, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52e0ff", + "operands": { + "relative_u16": 65504, + "relative_signed": -32, + "target_offset": 6529 + } + }, + { + "offset": 6561, + "absolute_body_offset": 6773, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 6563, + "absolute_body_offset": 6775, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bbd02", + "operands": { + "line_number": 701 + } + }, + { + "offset": 6566, + "absolute_body_offset": 6778, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bbc02", + "operands": { + "line_number": 700 + } + }, + { + "offset": 6569, + "absolute_body_offset": 6781, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ff1", + "operands": { + "bp_offset": 241, + "target": "[BP-0Fh]" + } + }, + { + "offset": 6571, + "absolute_body_offset": 6783, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bbd02", + "operands": { + "line_number": 701 + } + }, + { + "offset": 6574, + "absolute_body_offset": 6786, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a04", + "operands": { + "value_u8": 4, + "value_signed": 4 + } + }, + { + "offset": 6576, + "absolute_body_offset": 6788, + "opcode": 42, + "mnemonic": "le", + "raw_bytes": "2a", + "operands": {} + }, + { + "offset": 6577, + "absolute_body_offset": 6789, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51bc00", + "operands": { + "relative_u16": 188, + "relative_signed": 188, + "target_offset": 6768 + } + }, + { + "offset": 6580, + "absolute_body_offset": 6792, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bbf02", + "operands": { + "line_number": 703 + } + }, + { + "offset": 6583, + "absolute_body_offset": 6795, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6585, + "absolute_body_offset": 6797, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 6589, + "absolute_body_offset": 6801, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6591, + "absolute_body_offset": 6803, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6592, + "absolute_body_offset": 6804, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 6594, + "absolute_body_offset": 6806, + "opcode": 28, + "mnemonic": "sub", + "raw_bytes": "1c", + "operands": {} + }, + { + "offset": 6595, + "absolute_body_offset": 6807, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6597, + "absolute_body_offset": 6809, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 6601, + "absolute_body_offset": 6813, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 6603, + "absolute_body_offset": 6815, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc102", + "operands": { + "line_number": 705 + } + }, + { + "offset": 6606, + "absolute_body_offset": 6818, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6607, + "absolute_body_offset": 6819, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 6609, + "absolute_body_offset": 6821, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 6612, + "absolute_body_offset": 6824, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 6613, + "absolute_body_offset": 6825, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6615, + "absolute_body_offset": 6827, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 6617, + "absolute_body_offset": 6829, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6619, + "absolute_body_offset": 6831, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 6626, + "absolute_body_offset": 6838, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6628, + "absolute_body_offset": 6840, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6629, + "absolute_body_offset": 6841, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6632, + "absolute_body_offset": 6844, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6633, + "absolute_body_offset": 6845, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6634, + "absolute_body_offset": 6846, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c0d054556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6646, + "absolute_body_offset": 6858, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc202", + "operands": { + "line_number": 706 + } + }, + { + "offset": 6649, + "absolute_body_offset": 6861, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6650, + "absolute_body_offset": 6862, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 6652, + "absolute_body_offset": 6864, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 6657, + "absolute_body_offset": 6869, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 6664, + "absolute_body_offset": 6876, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 6666, + "absolute_body_offset": 6878, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6667, + "absolute_body_offset": 6879, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6670, + "absolute_body_offset": 6882, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6671, + "absolute_body_offset": 6883, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6672, + "absolute_body_offset": 6884, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5ce7044556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6684, + "absolute_body_offset": 6896, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc302", + "operands": { + "line_number": 707 + } + }, + { + "offset": 6687, + "absolute_body_offset": 6899, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6688, + "absolute_body_offset": 6900, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 6690, + "absolute_body_offset": 6902, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 6693, + "absolute_body_offset": 6905, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 6694, + "absolute_body_offset": 6906, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6696, + "absolute_body_offset": 6908, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 6698, + "absolute_body_offset": 6910, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6700, + "absolute_body_offset": 6912, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 6707, + "absolute_body_offset": 6919, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6709, + "absolute_body_offset": 6921, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6710, + "absolute_body_offset": 6922, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6713, + "absolute_body_offset": 6925, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6714, + "absolute_body_offset": 6926, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6715, + "absolute_body_offset": 6927, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cbc044556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6727, + "absolute_body_offset": 6939, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc402", + "operands": { + "line_number": 708 + } + }, + { + "offset": 6730, + "absolute_body_offset": 6942, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6731, + "absolute_body_offset": 6943, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fe1", + "operands": { + "bp_offset": 225, + "target": "[BP-1Fh]" + } + }, + { + "offset": 6733, + "absolute_body_offset": 6945, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 6738, + "absolute_body_offset": 6950, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 6745, + "absolute_body_offset": 6957, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 6747, + "absolute_body_offset": 6959, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6748, + "absolute_body_offset": 6960, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6751, + "absolute_body_offset": 6963, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6752, + "absolute_body_offset": 6964, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6753, + "absolute_body_offset": 6965, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c96044556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6765, + "absolute_body_offset": 6977, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "522600", + "operands": { + "relative_u16": 38, + "relative_signed": 38, + "target_offset": 6806 + } + }, + { + "offset": 6768, + "absolute_body_offset": 6980, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bc802", + "operands": { + "line_number": 712 + } + }, + { + "offset": 6771, + "absolute_body_offset": 6983, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6772, + "absolute_body_offset": 6984, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a78", + "operands": { + "value_u8": 120, + "value_signed": 120 + } + }, + { + "offset": 6774, + "absolute_body_offset": 6986, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 6779, + "absolute_body_offset": 6991, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 6786, + "absolute_body_offset": 6998, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 6788, + "absolute_body_offset": 7000, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6789, + "absolute_body_offset": 7001, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6792, + "absolute_body_offset": 7004, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6793, + "absolute_body_offset": 7005, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6794, + "absolute_body_offset": 7006, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c6d044556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6806, + "absolute_body_offset": 7018, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "528dfe", + "operands": { + "relative_u16": 65165, + "relative_signed": -371, + "target_offset": 6438 + } + }, + { + "offset": 6809, + "absolute_body_offset": 7021, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "525a04", + "operands": { + "relative_u16": 1114, + "relative_signed": 1114, + "target_offset": 7926 + } + }, + { + "offset": 6812, + "absolute_body_offset": 7024, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 6814, + "absolute_body_offset": 7026, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a58", + "operands": { + "value_u8": 88, + "value_signed": 88 + } + }, + { + "offset": 6816, + "absolute_body_offset": 7028, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 6817, + "absolute_body_offset": 7029, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518300", + "operands": { + "relative_u16": 131, + "relative_signed": 131, + "target_offset": 6951 + } + }, + { + "offset": 6820, + "absolute_body_offset": 7032, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd102", + "operands": { + "line_number": 721 + } + }, + { + "offset": 6823, + "absolute_body_offset": 7035, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 6825, + "absolute_body_offset": 7037, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f020c00", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 12, + "intrinsic_name_hint": "Item::destroy(void)" + } + }, + { + "offset": 6829, + "absolute_body_offset": 7041, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 6831, + "absolute_body_offset": 7043, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd202", + "operands": { + "line_number": 722 + } + }, + { + "offset": 6834, + "absolute_body_offset": 7046, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f008f00", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 143, + "intrinsic_name_hint": "Camera::getX(void)" + } + }, + { + "offset": 6838, + "absolute_body_offset": 7050, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd402", + "operands": { + "line_number": 724 + } + }, + { + "offset": 6841, + "absolute_body_offset": 7053, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f009000", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 144, + "intrinsic_name_hint": "Camera::getY(void)" + } + }, + { + "offset": 6845, + "absolute_body_offset": 7057, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd502", + "operands": { + "line_number": 725 + } + }, + { + "offset": 6848, + "absolute_body_offset": 7060, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6849, + "absolute_body_offset": 7061, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a0a", + "operands": { + "value_u8": 10, + "value_signed": 10 + } + }, + { + "offset": 6851, + "absolute_body_offset": 7063, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 6856, + "absolute_body_offset": 7068, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 6863, + "absolute_body_offset": 7075, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 6865, + "absolute_body_offset": 7077, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6866, + "absolute_body_offset": 7078, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6869, + "absolute_body_offset": 7081, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6870, + "absolute_body_offset": 7082, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6871, + "absolute_body_offset": 7083, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c20044556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6883, + "absolute_body_offset": 7095, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd602", + "operands": { + "line_number": 726 + } + }, + { + "offset": 6886, + "absolute_body_offset": 7098, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f009100", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 145, + "intrinsic_name_hint": "Item::setMapNum(sint16)" + } + }, + { + "offset": 6890, + "absolute_body_offset": 7102, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd702", + "operands": { + "line_number": 727 + } + }, + { + "offset": 6893, + "absolute_body_offset": 7105, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 6894, + "absolute_body_offset": 7106, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 6896, + "absolute_body_offset": 7108, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 6898, + "absolute_body_offset": 7110, + "opcode": 13, + "mnemonic": "push_string_immediate", + "raw_bytes": "0d03006f303100", + "operands": { + "declared_length": 3, + "string": "o01" + } + }, + { + "offset": 6905, + "absolute_body_offset": 7117, + "opcode": 107, + "mnemonic": "str_to_ptr", + "raw_bytes": "6b", + "operands": {} + }, + { + "offset": 6906, + "absolute_body_offset": 7118, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6908, + "absolute_body_offset": 7120, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0c9200", + "operands": { + "arg_bytes": 12, + "intrinsic_ordinal": 146, + "intrinsic_name_hint": "Item::getNpcNum(void)" + } + }, + { + "offset": 6912, + "absolute_body_offset": 7124, + "opcode": 101, + "mnemonic": "free_stack_string", + "raw_bytes": "6504", + "operands": { + "value_u8": 4, + "target": "[SP+04h]" + } + }, + { + "offset": 6914, + "absolute_body_offset": 7126, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef4", + "operands": { + "value_u8": 244 + } + }, + { + "offset": 6916, + "absolute_body_offset": 7128, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6917, + "absolute_body_offset": 7129, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 6920, + "absolute_body_offset": 7132, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 6921, + "absolute_body_offset": 7133, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 6922, + "absolute_body_offset": 7134, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5ced034556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 6934, + "absolute_body_offset": 7146, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd802", + "operands": { + "line_number": 728 + } + }, + { + "offset": 6937, + "absolute_body_offset": 7149, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f009300", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 147, + "intrinsic_name_hint": "Item::shoot(WorldPoint&,sint16,sint16)" + } + }, + { + "offset": 6941, + "absolute_body_offset": 7153, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bd902", + "operands": { + "line_number": 729 + } + }, + { + "offset": 6944, + "absolute_body_offset": 7156, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f009400", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 148, + "intrinsic_name_hint": "Intrinsic0094()" + } + }, + { + "offset": 6948, + "absolute_body_offset": 7160, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52cf03", + "operands": { + "relative_u16": 975, + "relative_signed": 975, + "target_offset": 7926 + } + }, + { + "offset": 6951, + "absolute_body_offset": 7163, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 6953, + "absolute_body_offset": 7165, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a61", + "operands": { + "value_u8": 97, + "value_signed": 97 + } + }, + { + "offset": 6955, + "absolute_body_offset": 7167, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 6956, + "absolute_body_offset": 7168, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518b00", + "operands": { + "relative_u16": 139, + "relative_signed": 139, + "target_offset": 7098 + } + }, + { + "offset": 6959, + "absolute_body_offset": 7171, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be002", + "operands": { + "line_number": 736 + } + }, + { + "offset": 6962, + "absolute_body_offset": 7174, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 6965, + "absolute_body_offset": 7177, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041100", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 17, + "intrinsic_name_hint": "Item::getType(void)" + } + }, + { + "offset": 6969, + "absolute_body_offset": 7181, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6971, + "absolute_body_offset": 7183, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6972, + "absolute_body_offset": 7184, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 6974, + "absolute_body_offset": 7186, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6976, + "absolute_body_offset": 7188, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 6980, + "absolute_body_offset": 7192, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6982, + "absolute_body_offset": 7194, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6983, + "absolute_body_offset": 7195, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 6985, + "absolute_body_offset": 7197, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 6989, + "absolute_body_offset": 7201, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 6991, + "absolute_body_offset": 7203, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 6992, + "absolute_body_offset": 7204, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f084000", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 64, + "intrinsic_name_hint": "Intrinsic0040()" + } + }, + { + "offset": 6996, + "absolute_body_offset": 7208, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 6998, + "absolute_body_offset": 7210, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be302", + "operands": { + "line_number": 739 + } + }, + { + "offset": 7001, + "absolute_body_offset": 7213, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be202", + "operands": { + "line_number": 738 + } + }, + { + "offset": 7004, + "absolute_body_offset": 7216, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f009500", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 149, + "intrinsic_name_hint": "Item::enterFastArea(void)" + } + }, + { + "offset": 7008, + "absolute_body_offset": 7220, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 7009, + "absolute_body_offset": 7221, + "opcode": 48, + "mnemonic": "not", + "raw_bytes": "30", + "operands": {} + }, + { + "offset": 7010, + "absolute_body_offset": 7222, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512900", + "operands": { + "relative_u16": 41, + "relative_signed": 41, + "target_offset": 7054 + } + }, + { + "offset": 7013, + "absolute_body_offset": 7225, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be402", + "operands": { + "line_number": 740 + } + }, + { + "offset": 7016, + "absolute_body_offset": 7228, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7017, + "absolute_body_offset": 7229, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 7019, + "absolute_body_offset": 7231, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 7024, + "absolute_body_offset": 7236, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 7031, + "absolute_body_offset": 7243, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 7033, + "absolute_body_offset": 7245, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7034, + "absolute_body_offset": 7246, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7037, + "absolute_body_offset": 7249, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7038, + "absolute_body_offset": 7250, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7039, + "absolute_body_offset": 7251, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c78034556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7051, + "absolute_body_offset": 7263, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52c8ff", + "operands": { + "relative_u16": 65480, + "relative_signed": -56, + "target_offset": 6998 + } + }, + { + "offset": 7054, + "absolute_body_offset": 7266, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5be802", + "operands": { + "line_number": 744 + } + }, + { + "offset": 7057, + "absolute_body_offset": 7269, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 7060, + "absolute_body_offset": 7272, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041100", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 17, + "intrinsic_name_hint": "Item::getType(void)" + } + }, + { + "offset": 7064, + "absolute_body_offset": 7276, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 7066, + "absolute_body_offset": 7278, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7067, + "absolute_body_offset": 7279, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 7069, + "absolute_body_offset": 7281, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 7072, + "absolute_body_offset": 7284, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 7076, + "absolute_body_offset": 7288, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 7078, + "absolute_body_offset": 7290, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7079, + "absolute_body_offset": 7291, + "opcode": 121, + "mnemonic": "global_address", + "raw_bytes": "793c00", + "operands": { + "global_id": 60 + } + }, + { + "offset": 7082, + "absolute_body_offset": 7294, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 7086, + "absolute_body_offset": 7298, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 7088, + "absolute_body_offset": 7300, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7089, + "absolute_body_offset": 7301, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f084000", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 64, + "intrinsic_name_hint": "Intrinsic0040()" + } + }, + { + "offset": 7093, + "absolute_body_offset": 7305, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 7095, + "absolute_body_offset": 7307, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "523c03", + "operands": { + "relative_u16": 828, + "relative_signed": 828, + "target_offset": 7926 + } + }, + { + "offset": 7098, + "absolute_body_offset": 7310, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 7100, + "absolute_body_offset": 7312, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a62", + "operands": { + "value_u8": 98, + "value_signed": 98 + } + }, + { + "offset": 7102, + "absolute_body_offset": 7314, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7103, + "absolute_body_offset": 7315, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513700", + "operands": { + "relative_u16": 55, + "relative_signed": 55, + "target_offset": 7161 + } + }, + { + "offset": 7106, + "absolute_body_offset": 7318, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 7108, + "absolute_body_offset": 7320, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 7110, + "absolute_body_offset": 7322, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7440", + "operands": { + "value_u8": 64 + } + }, + { + "offset": 7112, + "absolute_body_offset": 7324, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bef02", + "operands": { + "line_number": 751 + } + }, + { + "offset": 7115, + "absolute_body_offset": 7327, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b6103", + "operands": { + "value_u16": 865 + } + }, + { + "offset": 7118, + "absolute_body_offset": 7330, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 7120, + "absolute_body_offset": 7332, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 7122, + "absolute_body_offset": 7334, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 7124, + "absolute_body_offset": 7336, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 7125, + "absolute_body_offset": 7337, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf002", + "operands": { + "line_number": 752 + } + }, + { + "offset": 7128, + "absolute_body_offset": 7340, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7130, + "absolute_body_offset": 7342, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 7132, + "absolute_body_offset": 7344, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 7136, + "absolute_body_offset": 7348, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511100", + "operands": { + "relative_u16": 17, + "relative_signed": 17, + "target_offset": 7156 + } + }, + { + "offset": 7139, + "absolute_body_offset": 7351, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf102", + "operands": { + "line_number": 753 + } + }, + { + "offset": 7142, + "absolute_body_offset": 7354, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 7144, + "absolute_body_offset": 7356, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 7146, + "absolute_body_offset": 7358, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 7150, + "absolute_body_offset": 7362, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 7152, + "absolute_body_offset": 7364, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 7153, + "absolute_body_offset": 7365, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52ecff", + "operands": { + "relative_u16": 65516, + "relative_signed": -20, + "target_offset": 7136 + } + }, + { + "offset": 7156, + "absolute_body_offset": 7368, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 7158, + "absolute_body_offset": 7370, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52fd02", + "operands": { + "relative_u16": 765, + "relative_signed": 765, + "target_offset": 7926 + } + }, + { + "offset": 7161, + "absolute_body_offset": 7373, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 7163, + "absolute_body_offset": 7375, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a63", + "operands": { + "value_u8": 99, + "value_signed": 99 + } + }, + { + "offset": 7165, + "absolute_body_offset": 7377, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7166, + "absolute_body_offset": 7378, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "513700", + "operands": { + "relative_u16": 55, + "relative_signed": 55, + "target_offset": 7224 + } + }, + { + "offset": 7169, + "absolute_body_offset": 7381, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 7171, + "absolute_body_offset": 7383, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 7173, + "absolute_body_offset": 7385, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7440", + "operands": { + "value_u8": 64 + } + }, + { + "offset": 7175, + "absolute_body_offset": 7387, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf702", + "operands": { + "line_number": 759 + } + }, + { + "offset": 7178, + "absolute_body_offset": 7390, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b6103", + "operands": { + "value_u16": 865 + } + }, + { + "offset": 7181, + "absolute_body_offset": 7393, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 7183, + "absolute_body_offset": 7395, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 7185, + "absolute_body_offset": 7397, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 7187, + "absolute_body_offset": 7399, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 7188, + "absolute_body_offset": 7400, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf802", + "operands": { + "line_number": 760 + } + }, + { + "offset": 7191, + "absolute_body_offset": 7403, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7193, + "absolute_body_offset": 7405, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 7195, + "absolute_body_offset": 7407, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fe0602", + "operands": { + "current_var": 254, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 7199, + "absolute_body_offset": 7411, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511100", + "operands": { + "relative_u16": 17, + "relative_signed": 17, + "target_offset": 7219 + } + }, + { + "offset": 7202, + "absolute_body_offset": 7414, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bf902", + "operands": { + "line_number": 761 + } + }, + { + "offset": 7205, + "absolute_body_offset": 7417, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 7207, + "absolute_body_offset": 7419, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 7209, + "absolute_body_offset": 7421, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 7213, + "absolute_body_offset": 7425, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 7215, + "absolute_body_offset": 7427, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 7216, + "absolute_body_offset": 7428, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52ecff", + "operands": { + "relative_u16": 65516, + "relative_signed": -20, + "target_offset": 7199 + } + }, + { + "offset": 7219, + "absolute_body_offset": 7431, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 7221, + "absolute_body_offset": 7433, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52be02", + "operands": { + "relative_u16": 702, + "relative_signed": 702, + "target_offset": 7926 + } + }, + { + "offset": 7224, + "absolute_body_offset": 7436, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 7226, + "absolute_body_offset": 7438, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a64", + "operands": { + "value_u8": 100, + "value_signed": 100 + } + }, + { + "offset": 7228, + "absolute_body_offset": 7440, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7229, + "absolute_body_offset": 7441, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "515000", + "operands": { + "relative_u16": 80, + "relative_signed": 80, + "target_offset": 7312 + } + }, + { + "offset": 7232, + "absolute_body_offset": 7444, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5bff02", + "operands": { + "line_number": 767 + } + }, + { + "offset": 7235, + "absolute_body_offset": 7447, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7236, + "absolute_body_offset": 7448, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a3c", + "operands": { + "value_u8": 60, + "value_signed": 60 + } + }, + { + "offset": 7238, + "absolute_body_offset": 7450, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 7243, + "absolute_body_offset": 7455, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 7250, + "absolute_body_offset": 7462, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 7252, + "absolute_body_offset": 7464, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7253, + "absolute_body_offset": 7465, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7256, + "absolute_body_offset": 7468, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7257, + "absolute_body_offset": 7469, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7258, + "absolute_body_offset": 7470, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c9d024556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7270, + "absolute_body_offset": 7482, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0003", + "operands": { + "line_number": 768 + } + }, + { + "offset": 7273, + "absolute_body_offset": 7485, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7274, + "absolute_body_offset": 7486, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 7276, + "absolute_body_offset": 7488, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7278, + "absolute_body_offset": 7490, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f048400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 132, + "intrinsic_name_hint": "Intrinsic0084()" + } + }, + { + "offset": 7282, + "absolute_body_offset": 7494, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 7284, + "absolute_body_offset": 7496, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7285, + "absolute_body_offset": 7497, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f049600", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 150, + "intrinsic_name_hint": "Intrinsic00CA()" + } + }, + { + "offset": 7289, + "absolute_body_offset": 7501, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 7291, + "absolute_body_offset": 7503, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7292, + "absolute_body_offset": 7504, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7295, + "absolute_body_offset": 7507, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7296, + "absolute_body_offset": 7508, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7297, + "absolute_body_offset": 7509, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c76024556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7309, + "absolute_body_offset": 7521, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "526602", + "operands": { + "relative_u16": 614, + "relative_signed": 614, + "target_offset": 7926 + } + }, + { + "offset": 7312, + "absolute_body_offset": 7524, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 7314, + "absolute_body_offset": 7526, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc800", + "operands": { + "value_u16": 200 + } + }, + { + "offset": 7317, + "absolute_body_offset": 7529, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7318, + "absolute_body_offset": 7530, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51a100", + "operands": { + "relative_u16": 161, + "relative_signed": 161, + "target_offset": 7482 + } + }, + { + "offset": 7321, + "absolute_body_offset": 7533, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0603", + "operands": { + "line_number": 774 + } + }, + { + "offset": 7324, + "absolute_body_offset": 7536, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0503", + "operands": { + "line_number": 773 + } + }, + { + "offset": 7327, + "absolute_body_offset": 7539, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e220001", + "operands": { + "global_id": 34, + "size": 1 + } + }, + { + "offset": 7331, + "absolute_body_offset": 7543, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0603", + "operands": { + "line_number": 774 + } + }, + { + "offset": 7334, + "absolute_body_offset": 7546, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 7336, + "absolute_body_offset": 7548, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7337, + "absolute_body_offset": 7549, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "518b00", + "operands": { + "relative_u16": 139, + "relative_signed": 139, + "target_offset": 7479 + } + }, + { + "offset": 7340, + "absolute_body_offset": 7552, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0703", + "operands": { + "line_number": 775 + } + }, + { + "offset": 7343, + "absolute_body_offset": 7555, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7344, + "absolute_body_offset": 7556, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b9600", + "operands": { + "value_u16": 150 + } + }, + { + "offset": 7347, + "absolute_body_offset": 7559, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc800", + "operands": { + "value_u16": 200 + } + }, + { + "offset": 7350, + "absolute_body_offset": 7562, + "opcode": 13, + "mnemonic": "push_string_immediate", + "raw_bytes": "0d05006d7661336200", + "operands": { + "declared_length": 5, + "string": "mva3b" + } + }, + { + "offset": 7359, + "absolute_body_offset": 7571, + "opcode": 107, + "mnemonic": "str_to_ptr", + "raw_bytes": "6b", + "operands": {} + }, + { + "offset": 7360, + "absolute_body_offset": 7572, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7362, + "absolute_body_offset": 7574, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0c5e00", + "operands": { + "arg_bytes": 12, + "intrinsic_ordinal": 94, + "intrinsic_name_hint": "Intrinsic00DA()" + } + }, + { + "offset": 7366, + "absolute_body_offset": 7578, + "opcode": 101, + "mnemonic": "free_stack_string", + "raw_bytes": "6504", + "operands": { + "value_u8": 4, + "target": "[SP+04h]" + } + }, + { + "offset": 7368, + "absolute_body_offset": 7580, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef4", + "operands": { + "value_u8": 244 + } + }, + { + "offset": 7370, + "absolute_body_offset": 7582, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7371, + "absolute_body_offset": 7583, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7374, + "absolute_body_offset": 7586, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7375, + "absolute_body_offset": 7587, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7376, + "absolute_body_offset": 7588, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c27024556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7388, + "absolute_body_offset": 7600, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0803", + "operands": { + "line_number": 776 + } + }, + { + "offset": 7391, + "absolute_body_offset": 7603, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7392, + "absolute_body_offset": 7604, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a14", + "operands": { + "value_u8": 20, + "value_signed": 20 + } + }, + { + "offset": 7394, + "absolute_body_offset": 7606, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 7399, + "absolute_body_offset": 7611, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 7406, + "absolute_body_offset": 7618, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 7408, + "absolute_body_offset": 7620, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7409, + "absolute_body_offset": 7621, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7412, + "absolute_body_offset": 7624, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7413, + "absolute_body_offset": 7625, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7414, + "absolute_body_offset": 7626, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c01024556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7426, + "absolute_body_offset": 7638, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0903", + "operands": { + "line_number": 777 + } + }, + { + "offset": 7429, + "absolute_body_offset": 7641, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7430, + "absolute_body_offset": 7642, + "opcode": 13, + "mnemonic": "push_string_immediate", + "raw_bytes": "0d0200336800", + "operands": { + "declared_length": 2, + "string": "3h" + } + }, + { + "offset": 7436, + "absolute_body_offset": 7648, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 7441, + "absolute_body_offset": 7653, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a2600", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 38, + "target_event_name_hint": null + } + }, + { + "offset": 7448, + "absolute_body_offset": 7660, + "opcode": 101, + "mnemonic": "free_stack_string", + "raw_bytes": "6500", + "operands": { + "value_u8": 0, + "target": "[SP+00h]" + } + }, + { + "offset": 7450, + "absolute_body_offset": 7662, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 7452, + "absolute_body_offset": 7664, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7453, + "absolute_body_offset": 7665, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7456, + "absolute_body_offset": 7668, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7457, + "absolute_body_offset": 7669, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7458, + "absolute_body_offset": 7670, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cd5014556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7470, + "absolute_body_offset": 7682, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b0a03", + "operands": { + "line_number": 778 + } + }, + { + "offset": 7473, + "absolute_body_offset": 7685, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 7475, + "absolute_body_offset": 7687, + "opcode": 79, + "mnemonic": "pop_global", + "raw_bytes": "4f220001", + "operands": { + "global_id": 34, + "size": 1 + } + }, + { + "offset": 7479, + "absolute_body_offset": 7691, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52bc01", + "operands": { + "relative_u16": 444, + "relative_signed": 444, + "target_offset": 7926 + } + }, + { + "offset": 7482, + "absolute_body_offset": 7694, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 7484, + "absolute_body_offset": 7696, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc900", + "operands": { + "value_u16": 201 + } + }, + { + "offset": 7487, + "absolute_body_offset": 7699, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7488, + "absolute_body_offset": 7700, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "516400", + "operands": { + "relative_u16": 100, + "relative_signed": 100, + "target_offset": 7591 + } + }, + { + "offset": 7491, + "absolute_body_offset": 7703, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1003", + "operands": { + "line_number": 784 + } + }, + { + "offset": 7494, + "absolute_body_offset": 7706, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7496, + "absolute_body_offset": 7708, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 7500, + "absolute_body_offset": 7712, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 7502, + "absolute_body_offset": 7714, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7503, + "absolute_body_offset": 7715, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01d3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7505, + "absolute_body_offset": 7717, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1303", + "operands": { + "line_number": 787 + } + }, + { + "offset": 7508, + "absolute_body_offset": 7720, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1203", + "operands": { + "line_number": 786 + } + }, + { + "offset": 7511, + "absolute_body_offset": 7723, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7513, + "absolute_body_offset": 7725, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a04", + "operands": { + "value_u8": 4, + "value_signed": 4 + } + }, + { + "offset": 7515, + "absolute_body_offset": 7727, + "opcode": 40, + "mnemonic": "lt", + "raw_bytes": "28", + "operands": {} + }, + { + "offset": 7516, + "absolute_body_offset": 7728, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511a00", + "operands": { + "relative_u16": 26, + "relative_signed": 26, + "target_offset": 7545 + } + }, + { + "offset": 7519, + "absolute_body_offset": 7731, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1403", + "operands": { + "line_number": 788 + } + }, + { + "offset": 7522, + "absolute_body_offset": 7734, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 7524, + "absolute_body_offset": 7736, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7526, + "absolute_body_offset": 7738, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 7527, + "absolute_body_offset": 7739, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01d3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7529, + "absolute_body_offset": 7741, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1503", + "operands": { + "line_number": 789 + } + }, + { + "offset": 7532, + "absolute_body_offset": 7744, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7534, + "absolute_body_offset": 7746, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7536, + "absolute_body_offset": 7748, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 7540, + "absolute_body_offset": 7752, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 7542, + "absolute_body_offset": 7754, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "522b00", + "operands": { + "relative_u16": 43, + "relative_signed": 43, + "target_offset": 7588 + } + }, + { + "offset": 7545, + "absolute_body_offset": 7757, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b1903", + "operands": { + "line_number": 793 + } + }, + { + "offset": 7548, + "absolute_body_offset": 7760, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7549, + "absolute_body_offset": 7761, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 7551, + "absolute_body_offset": 7763, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b8000", + "operands": { + "value_u16": 128 + } + }, + { + "offset": 7554, + "absolute_body_offset": 7766, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 7555, + "absolute_body_offset": 7767, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7557, + "absolute_body_offset": 7769, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 7559, + "absolute_body_offset": 7771, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7561, + "absolute_body_offset": 7773, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570402180a2000", + "operands": { + "arg_bytes": 4, + "this_size": 2, + "target_class_id": 2584, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 7568, + "absolute_body_offset": 7780, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 7570, + "absolute_body_offset": 7782, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7571, + "absolute_body_offset": 7783, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7574, + "absolute_body_offset": 7786, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7575, + "absolute_body_offset": 7787, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7576, + "absolute_body_offset": 7788, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c5f014556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7588, + "absolute_body_offset": 7800, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "524f01", + "operands": { + "relative_u16": 335, + "relative_signed": 335, + "target_offset": 7926 + } + }, + { + "offset": 7591, + "absolute_body_offset": 7803, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 7593, + "absolute_body_offset": 7805, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bd400", + "operands": { + "value_u16": 212 + } + }, + { + "offset": 7596, + "absolute_body_offset": 7808, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7597, + "absolute_body_offset": 7809, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "517200", + "operands": { + "relative_u16": 114, + "relative_signed": 114, + "target_offset": 7714 + } + }, + { + "offset": 7600, + "absolute_body_offset": 7812, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2003", + "operands": { + "line_number": 800 + } + }, + { + "offset": 7603, + "absolute_body_offset": 7815, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 7605, + "absolute_body_offset": 7817, + "opcode": 79, + "mnemonic": "pop_global", + "raw_bytes": "4f2c0001", + "operands": { + "global_id": 44, + "size": 1 + } + }, + { + "offset": 7609, + "absolute_body_offset": 7821, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2103", + "operands": { + "line_number": 801 + } + }, + { + "offset": 7612, + "absolute_body_offset": 7824, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7613, + "absolute_body_offset": 7825, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a3c", + "operands": { + "value_u8": 60, + "value_signed": 60 + } + }, + { + "offset": 7615, + "absolute_body_offset": 7827, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 7620, + "absolute_body_offset": 7832, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 7627, + "absolute_body_offset": 7839, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 7629, + "absolute_body_offset": 7841, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7630, + "absolute_body_offset": 7842, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7633, + "absolute_body_offset": 7845, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7634, + "absolute_body_offset": 7846, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7635, + "absolute_body_offset": 7847, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c24014556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7647, + "absolute_body_offset": 7859, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2203", + "operands": { + "line_number": 802 + } + }, + { + "offset": 7650, + "absolute_body_offset": 7862, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7651, + "absolute_body_offset": 7863, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b9600", + "operands": { + "value_u16": 150 + } + }, + { + "offset": 7654, + "absolute_body_offset": 7866, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc800", + "operands": { + "value_u16": 200 + } + }, + { + "offset": 7657, + "absolute_body_offset": 7869, + "opcode": 13, + "mnemonic": "push_string_immediate", + "raw_bytes": "0d030031336400", + "operands": { + "declared_length": 3, + "string": "13d" + } + }, + { + "offset": 7664, + "absolute_body_offset": 7876, + "opcode": 107, + "mnemonic": "str_to_ptr", + "raw_bytes": "6b", + "operands": {} + }, + { + "offset": 7665, + "absolute_body_offset": 7877, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7667, + "absolute_body_offset": 7879, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0c0f00", + "operands": { + "arg_bytes": 12, + "intrinsic_ordinal": 15, + "intrinsic_name_hint": "Item::getY(void)" + } + }, + { + "offset": 7671, + "absolute_body_offset": 7883, + "opcode": 101, + "mnemonic": "free_stack_string", + "raw_bytes": "6504", + "operands": { + "value_u8": 4, + "target": "[SP+04h]" + } + }, + { + "offset": 7673, + "absolute_body_offset": 7885, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef4", + "operands": { + "value_u8": 244 + } + }, + { + "offset": 7675, + "absolute_body_offset": 7887, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7676, + "absolute_body_offset": 7888, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7679, + "absolute_body_offset": 7891, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7680, + "absolute_body_offset": 7892, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7681, + "absolute_body_offset": 7893, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cf6004556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7693, + "absolute_body_offset": 7905, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2303", + "operands": { + "line_number": 803 + } + }, + { + "offset": 7696, + "absolute_body_offset": 7908, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 7698, + "absolute_body_offset": 7910, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f020c00", + "operands": { + "arg_bytes": 2, + "intrinsic_ordinal": 12, + "intrinsic_name_hint": "Item::destroy(void)" + } + }, + { + "offset": 7702, + "absolute_body_offset": 7914, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 7704, + "absolute_body_offset": 7916, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2403", + "operands": { + "line_number": 804 + } + }, + { + "offset": 7707, + "absolute_body_offset": 7919, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f009700", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 151, + "intrinsic_name_hint": "Item::hurl(sint16,sint16,sint16,sint16)" + } + }, + { + "offset": 7711, + "absolute_body_offset": 7923, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52d400", + "operands": { + "relative_u16": 212, + "relative_signed": 212, + "target_offset": 7926 + } + }, + { + "offset": 7714, + "absolute_body_offset": 7926, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 7716, + "absolute_body_offset": 7928, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bd500", + "operands": { + "value_u16": 213 + } + }, + { + "offset": 7719, + "absolute_body_offset": 7931, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7720, + "absolute_body_offset": 7932, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "515700", + "operands": { + "relative_u16": 87, + "relative_signed": 87, + "target_offset": 7810 + } + }, + { + "offset": 7723, + "absolute_body_offset": 7935, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2903", + "operands": { + "line_number": 809 + } + }, + { + "offset": 7726, + "absolute_body_offset": 7938, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7727, + "absolute_body_offset": 7939, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a3c", + "operands": { + "value_u8": 60, + "value_signed": 60 + } + }, + { + "offset": 7729, + "absolute_body_offset": 7941, + "opcode": 12, + "mnemonic": "push_dword_immediate", + "raw_bytes": "0c00000000", + "operands": { + "value_u32": 0 + } + }, + { + "offset": 7734, + "absolute_body_offset": 7946, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "5702000c0a3200", + "operands": { + "arg_bytes": 2, + "this_size": 0, + "target_class_id": 2572, + "target_event_slot": 50, + "target_event_name_hint": null + } + }, + { + "offset": 7741, + "absolute_body_offset": 7953, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efe", + "operands": { + "value_u8": 254 + } + }, + { + "offset": 7743, + "absolute_body_offset": 7955, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7744, + "absolute_body_offset": 7956, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7747, + "absolute_body_offset": 7959, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7748, + "absolute_body_offset": 7960, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7749, + "absolute_body_offset": 7961, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5cb2004556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7761, + "absolute_body_offset": 7973, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2a03", + "operands": { + "line_number": 810 + } + }, + { + "offset": 7764, + "absolute_body_offset": 7976, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7765, + "absolute_body_offset": 7977, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b9600", + "operands": { + "value_u16": 150 + } + }, + { + "offset": 7768, + "absolute_body_offset": 7980, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bc800", + "operands": { + "value_u16": 200 + } + }, + { + "offset": 7771, + "absolute_body_offset": 7983, + "opcode": 13, + "mnemonic": "push_string_immediate", + "raw_bytes": "0d030031336500", + "operands": { + "declared_length": 3, + "string": "13e" + } + }, + { + "offset": 7778, + "absolute_body_offset": 7990, + "opcode": 107, + "mnemonic": "str_to_ptr", + "raw_bytes": "6b", + "operands": {} + }, + { + "offset": 7779, + "absolute_body_offset": 7991, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7781, + "absolute_body_offset": 7993, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0c0f00", + "operands": { + "arg_bytes": 12, + "intrinsic_ordinal": 15, + "intrinsic_name_hint": "Item::getY(void)" + } + }, + { + "offset": 7785, + "absolute_body_offset": 7997, + "opcode": 101, + "mnemonic": "free_stack_string", + "raw_bytes": "6504", + "operands": { + "value_u8": 4, + "target": "[SP+04h]" + } + }, + { + "offset": 7787, + "absolute_body_offset": 7999, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef4", + "operands": { + "value_u8": 244 + } + }, + { + "offset": 7789, + "absolute_body_offset": 8001, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7790, + "absolute_body_offset": 8002, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7793, + "absolute_body_offset": 8005, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7794, + "absolute_body_offset": 8006, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7795, + "absolute_body_offset": 8007, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c84004556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7807, + "absolute_body_offset": 8019, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "527400", + "operands": { + "relative_u16": 116, + "relative_signed": 116, + "target_offset": 7926 + } + }, + { + "offset": 7810, + "absolute_body_offset": 8022, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 7812, + "absolute_body_offset": 8024, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0be600", + "operands": { + "value_u16": 230 + } + }, + { + "offset": 7815, + "absolute_body_offset": 8027, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7816, + "absolute_body_offset": 8028, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "514000", + "operands": { + "relative_u16": 64, + "relative_signed": 64, + "target_offset": 7883 + } + }, + { + "offset": 7819, + "absolute_body_offset": 8031, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b2f03", + "operands": { + "line_number": 815 + } + }, + { + "offset": 7822, + "absolute_body_offset": 8034, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7824, + "absolute_body_offset": 8036, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f044f00", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 79, + "intrinsic_name_hint": "Intrinsic009C()" + } + }, + { + "offset": 7828, + "absolute_body_offset": 8040, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 7830, + "absolute_body_offset": 8042, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7831, + "absolute_body_offset": 8043, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01d3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7833, + "absolute_body_offset": 8045, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3203", + "operands": { + "line_number": 818 + } + }, + { + "offset": 7836, + "absolute_body_offset": 8048, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3103", + "operands": { + "line_number": 817 + } + }, + { + "offset": 7839, + "absolute_body_offset": 8051, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7841, + "absolute_body_offset": 8053, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a02", + "operands": { + "value_u8": 2, + "value_signed": 2 + } + }, + { + "offset": 7843, + "absolute_body_offset": 8055, + "opcode": 40, + "mnemonic": "lt", + "raw_bytes": "28", + "operands": {} + }, + { + "offset": 7844, + "absolute_body_offset": 8056, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511a00", + "operands": { + "relative_u16": 26, + "relative_signed": 26, + "target_offset": 7873 + } + }, + { + "offset": 7847, + "absolute_body_offset": 8059, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3303", + "operands": { + "line_number": 819 + } + }, + { + "offset": 7850, + "absolute_body_offset": 8062, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a01", + "operands": { + "value_u8": 1, + "value_signed": 1 + } + }, + { + "offset": 7852, + "absolute_body_offset": 8064, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7854, + "absolute_body_offset": 8066, + "opcode": 20, + "mnemonic": "add", + "raw_bytes": "14", + "operands": {} + }, + { + "offset": 7855, + "absolute_body_offset": 8067, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01d3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7857, + "absolute_body_offset": 8069, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3403", + "operands": { + "line_number": 820 + } + }, + { + "offset": 7860, + "absolute_body_offset": 8072, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3fd3", + "operands": { + "bp_offset": 211, + "target": "[BP-2Dh]" + } + }, + { + "offset": 7862, + "absolute_body_offset": 8074, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 7864, + "absolute_body_offset": 8076, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f062d00", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 45, + "intrinsic_name_hint": "Item::isCompletelyOn(uint16)" + } + }, + { + "offset": 7868, + "absolute_body_offset": 8080, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 7870, + "absolute_body_offset": 8082, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "520700", + "operands": { + "relative_u16": 7, + "relative_signed": 7, + "target_offset": 7880 + } + }, + { + "offset": 7873, + "absolute_body_offset": 8085, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b3803", + "operands": { + "line_number": 824 + } + }, + { + "offset": 7876, + "absolute_body_offset": 8088, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f009800", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 152, + "intrinsic_name_hint": "Item::getNpcNum(void)" + } + }, + { + "offset": 7880, + "absolute_body_offset": 8092, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "522b00", + "operands": { + "relative_u16": 43, + "relative_signed": 43, + "target_offset": 7926 + } + }, + { + "offset": 7883, + "absolute_body_offset": 8095, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 7885, + "absolute_body_offset": 8097, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bfa00", + "operands": { + "value_u16": 250 + } + }, + { + "offset": 7888, + "absolute_body_offset": 8100, + "opcode": 36, + "mnemonic": "cmp", + "raw_bytes": "24", + "operands": {} + }, + { + "offset": 7889, + "absolute_body_offset": 8101, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "512200", + "operands": { + "relative_u16": 34, + "relative_signed": 34, + "target_offset": 7926 + } + }, + { + "offset": 7892, + "absolute_body_offset": 8104, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4003", + "operands": { + "line_number": 832 + } + }, + { + "offset": 7895, + "absolute_body_offset": 8107, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 7896, + "absolute_body_offset": 8108, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bd1", + "operands": { + "bp_offset": 209, + "target": "[BP-2Fh]" + } + }, + { + "offset": 7898, + "absolute_body_offset": 8110, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570002200a2000", + "operands": { + "arg_bytes": 0, + "this_size": 2, + "target_class_id": 2592, + "target_event_slot": 32, + "target_event_name_hint": null + } + }, + { + "offset": 7905, + "absolute_body_offset": 8117, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 7906, + "absolute_body_offset": 8118, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 7909, + "absolute_body_offset": 8121, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 7910, + "absolute_body_offset": 8122, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 7911, + "absolute_body_offset": 8123, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c10004556454e5400000000", + "operands": { + "symbol_offset": 7930, + "symbol": "EVENT", + "trailing_zero": 0 + } + }, + { + "offset": 7923, + "absolute_body_offset": 8135, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "520000", + "operands": { + "relative_u16": 0, + "relative_signed": 0, + "target_offset": 7926 + } + }, + { + "offset": 7926, + "absolute_body_offset": 8138, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b4503", + "operands": { + "line_number": 837 + } + }, + { + "offset": 7929, + "absolute_body_offset": 8141, + "opcode": 80, + "mnemonic": "ret", + "raw_bytes": "50", + "operands": {} + } + ], + "annotation_hints": { + "runtime_family": "slot-backed-owner-loaded-body", + "payload_shape_hint": "word", + "compiled_anchors": [ + { + "address": "000d:51fd", + "role": "slot_value_loader" + }, + { + "address": "000d:5572", + "role": "slot_value_plus_offset" + }, + { + "address": "000d:46ec", + "role": "context_create_from_slot" + }, + { + "address": "000d:22bc", + "role": "matrix_pushback_stage" + }, + { + "address": "000d:ebe3", + "role": "opcode_sequence_run" + } + ], + "slot_taxonomy": { + "slot": 10, + "event_name_hint": "equip" + } + } +} diff --git a/out_EVENT_0A.txt b/out_EVENT_0A.txt new file mode 100644 index 0000000..eaadedf --- /dev/null +++ b/out_EVENT_0A.txt @@ -0,0 +1,2944 @@ +Class EVENT entry=190 class_id=0x361 +Slot 0x0A hint=equip body=0x00D4..0x20AA +End reason: unknown_opcode ops=2938 sha1=6374a2975627a39e6dacc92ec3947fd37acd1d5e + +00D4: 5A init local_bytes=0x2F raw=5a2f +00D6: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cf51e4556454e5400000000 +00E2: 0B push_word_immediate value_u16=0x211 raw=0b1102 +00E5: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +00E7: 4C push_indirect size=0x2 raw=4c02 +00E9: 77 set_info raw=77 +00EA: 78 process_exclude raw=78 +00EB: 5B line_number line_number=0x34 raw=5b3400 +00EE: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +00F0: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +00F4: 6E add_sp value_u8=0xFC raw=6efc +00F6: 5E push_retval_word raw=5e +00F7: 01 pop_local_word bp_offset=0xEB target=[BP-15h] raw=01eb +00F9: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +00FB: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +00FD: 24 cmp raw=24 +00FE: 51 jne relative_u16=0x2A relative_signed=0x2A target_offset=0x57 raw=512a00 +0101: 5B line_number line_number=0x3F raw=5b3f00 +0104: 79 global_address global_id=0x3C raw=793c00 +0107: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x11 intrinsic_name_hint=Item::getType(void) raw=0f041100 +010B: 6E add_sp value_u8=0xFC raw=6efc +010D: 5E push_retval_word raw=5e +010E: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0110: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0112: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +0116: 6E add_sp value_u8=0xFC raw=6efc +0118: 5E push_retval_word raw=5e +0119: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +011B: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +011F: 6E add_sp value_u8=0xFC raw=6efc +0121: 5E push_retval_word raw=5e +0122: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x40 intrinsic_name_hint=Intrinsic0040() raw=0f084000 +0126: 6E add_sp value_u8=0xF8 raw=6ef8 +0128: 52 jmp relative_u16=0x1E9F relative_signed=0x1E9F target_offset=0x1EF6 raw=529f1e +012B: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +012D: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +012F: 24 cmp raw=24 +0130: 51 jne relative_u16=0x13C relative_signed=0x13C target_offset=0x19B raw=513c01 +0133: 5B line_number line_number=0x45 raw=5b4500 +0136: 79 global_address global_id=0x3C raw=793c00 +0139: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x33 intrinsic_name_hint=Intrinsic0033() raw=0f043300 +013D: 6E add_sp value_u8=0xFC raw=6efc +013F: 5D push_retval_byte raw=5d +0140: 51 jne relative_u16=0x29 relative_signed=0x29 target_offset=0x98 raw=512900 +0143: 5B line_number line_number=0x47 raw=5b4700 +0146: 59 push_pid raw=59 +0147: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +0149: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +014E: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0155: 6E add_sp value_u8=0xFE raw=6efe +0157: 5E push_retval_word raw=5e +0158: 54 implies arg0=0x1 arg1=0x1 raw=540101 +015B: 12 pop_temp raw=12 +015C: 53 suspend raw=53 +015D: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c6e1e4556454e5400000000 +0169: 52 jmp relative_u16=0xFFC7 relative_signed=0x-39 target_offset=0x5F raw=52c7ff +016C: 5B line_number line_number=0x4A raw=5b4a00 +016F: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0171: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0xC intrinsic_name_hint=Item::destroy(void) raw=0f020c00 +0175: 6E add_sp value_u8=0xFE raw=6efe +0177: 5B line_number line_number=0x4B raw=5b4b00 +017A: 79 global_address global_id=0x3C raw=793c00 +017D: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x85 intrinsic_name_hint=Intrinsic0085() raw=0f048500 +0181: 6E add_sp value_u8=0xFC raw=6efc +0183: 5B line_number line_number=0x4C raw=5b4c00 +0186: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x86 intrinsic_name_hint=teleportToEgg(sint16,int,uint8) raw=0f008600 +018A: 5E push_retval_word raw=5e +018B: 01 pop_local_word bp_offset=0xE9 target=[BP-17h] raw=01e9 +018D: 5B line_number line_number=0x4D raw=5b4d00 +0190: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x87 intrinsic_name_hint=Intrinsic0087() raw=0f008700 +0194: 5E push_retval_word raw=5e +0195: 01 pop_local_word bp_offset=0xE7 target=[BP-19h] raw=01e7 +0197: 5B line_number line_number=0x4F raw=5b4f00 +019A: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +019C: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +01A0: 6E add_sp value_u8=0xFC raw=6efc +01A2: 5E push_retval_word raw=5e +01A3: 01 pop_local_word bp_offset=0xE5 target=[BP-1Bh] raw=01e5 +01A5: 5B line_number line_number=0x50 raw=5b5000 +01A8: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +01AA: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +01AE: 6E add_sp value_u8=0xFC raw=6efc +01B0: 5E push_retval_word raw=5e +01B1: 01 pop_local_word bp_offset=0xE3 target=[BP-1Dh] raw=01e3 +01B3: 5B line_number line_number=0x54 raw=5b5400 +01B6: 59 push_pid raw=59 +01B7: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +01B9: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +01BE: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +01C5: 6E add_sp value_u8=0xFE raw=6efe +01C7: 5E push_retval_word raw=5e +01C8: 54 implies arg0=0x1 arg1=0x1 raw=540101 +01CB: 12 pop_temp raw=12 +01CC: 53 suspend raw=53 +01CD: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cfe1d4556454e5400000000 +01D9: 5B line_number line_number=0x55 raw=5b5500 +01DC: 59 push_pid raw=59 +01DD: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +01DF: 0B push_word_immediate value_u16=0x80 raw=0b8000 +01E2: 14 add raw=14 +01E3: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +01E5: 4C push_indirect size=0x2 raw=4c02 +01E7: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +01E9: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +01F0: 6E add_sp value_u8=0xFC raw=6efc +01F2: 5E push_retval_word raw=5e +01F3: 54 implies arg0=0x1 arg1=0x1 raw=540101 +01F6: 12 pop_temp raw=12 +01F7: 53 suspend raw=53 +01F8: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cd31d4556454e5400000000 +0204: 5B line_number line_number=0x56 raw=5b5600 +0207: 59 push_pid raw=59 +0208: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +020A: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +020F: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0216: 6E add_sp value_u8=0xFE raw=6efe +0218: 5E push_retval_word raw=5e +0219: 54 implies arg0=0x1 arg1=0x1 raw=540101 +021C: 12 pop_temp raw=12 +021D: 53 suspend raw=53 +021E: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cad1d4556454e5400000000 +022A: 5B line_number line_number=0x58 raw=5b5800 +022D: 59 push_pid raw=59 +022E: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0230: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0233: 14 add raw=14 +0234: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0236: 4C push_indirect size=0x2 raw=4c02 +0238: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +023A: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0241: 6E add_sp value_u8=0xFC raw=6efc +0243: 5E push_retval_word raw=5e +0244: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0247: 12 pop_temp raw=12 +0248: 53 suspend raw=53 +0249: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c821d4556454e5400000000 +0255: 5B line_number line_number=0x5A raw=5b5a00 +0258: 79 global_address global_id=0x3C raw=793c00 +025B: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x7B intrinsic_name_hint=Intrinsic007B() raw=0f047b00 +025F: 6E add_sp value_u8=0xFC raw=6efc +0261: 5B line_number line_number=0x5B raw=5b5b00 +0264: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0266: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0xC intrinsic_name_hint=Item::destroy(void) raw=0f020c00 +026A: 6E add_sp value_u8=0xFE raw=6efe +026C: 52 jmp relative_u16=0x1D5B relative_signed=0x1D5B target_offset=0x1EF6 raw=525b1d +026F: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +0271: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +0273: 24 cmp raw=24 +0274: 51 jne relative_u16=0xCE relative_signed=0xCE target_offset=0x271 raw=51ce00 +0277: 5B line_number line_number=0x61 raw=5b6100 +027A: 79 global_address global_id=0x3C raw=793c00 +027D: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x33 intrinsic_name_hint=Intrinsic0033() raw=0f043300 +0281: 6E add_sp value_u8=0xFC raw=6efc +0283: 5D push_retval_byte raw=5d +0284: 51 jne relative_u16=0x29 relative_signed=0x29 target_offset=0x1DC raw=512900 +0287: 5B line_number line_number=0x63 raw=5b6300 +028A: 59 push_pid raw=59 +028B: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +028D: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0292: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0299: 6E add_sp value_u8=0xFE raw=6efe +029B: 5E push_retval_word raw=5e +029C: 54 implies arg0=0x1 arg1=0x1 raw=540101 +029F: 12 pop_temp raw=12 +02A0: 53 suspend raw=53 +02A1: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c2a1d4556454e5400000000 +02AD: 52 jmp relative_u16=0xFFC7 relative_signed=0x-39 target_offset=0x1A3 raw=52c7ff +02B0: 5B line_number line_number=0x66 raw=5b6600 +02B3: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +02B5: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0xC intrinsic_name_hint=Item::destroy(void) raw=0f020c00 +02B9: 6E add_sp value_u8=0xFE raw=6efe +02BB: 5B line_number line_number=0x68 raw=5b6800 +02BE: 59 push_pid raw=59 +02BF: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +02C1: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +02C5: 6E add_sp value_u8=0xFC raw=6efc +02C7: 5E push_retval_word raw=5e +02C8: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +02CA: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +02CE: 6E add_sp value_u8=0xFC raw=6efc +02D0: 5E push_retval_word raw=5e +02D1: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +02D6: 57 spawn arg_bytes=0x4 this_size=0x0 target_class_id=0xA0C target_event_slot=0x3D target_event_name_hint=None raw=5704000c0a3d00 +02DD: 6E add_sp value_u8=0xFC raw=6efc +02DF: 5E push_retval_word raw=5e +02E0: 54 implies arg0=0x1 arg1=0x1 raw=540101 +02E3: 12 pop_temp raw=12 +02E4: 53 suspend raw=53 +02E5: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5ce61c4556454e5400000000 +02F1: 5B line_number line_number=0x69 raw=5b6900 +02F4: 59 push_pid raw=59 +02F5: 0A push_byte_immediate value_u8=0x3C value_signed=0x3C raw=0a3c +02F7: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +02FC: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0303: 6E add_sp value_u8=0xFE raw=6efe +0305: 5E push_retval_word raw=5e +0306: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0309: 12 pop_temp raw=12 +030A: 53 suspend raw=53 +030B: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cc01c4556454e5400000000 +0317: 5B line_number line_number=0x6A raw=5b6a00 +031A: 59 push_pid raw=59 +031B: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +031D: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0320: 14 add raw=14 +0321: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0323: 4C push_indirect size=0x2 raw=4c02 +0325: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0327: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +032E: 6E add_sp value_u8=0xFC raw=6efc +0330: 5E push_retval_word raw=5e +0331: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0334: 12 pop_temp raw=12 +0335: 53 suspend raw=53 +0336: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c951c4556454e5400000000 +0342: 52 jmp relative_u16=0x1C85 relative_signed=0x1C85 target_offset=0x1EF6 raw=52851c +0345: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +0347: 0A push_byte_immediate value_u8=0x3 value_signed=0x3 raw=0a03 +0349: 24 cmp raw=24 +034A: 51 jne relative_u16=0x5B relative_signed=0x5B target_offset=0x2D4 raw=515b00 +034D: 5B line_number line_number=0x70 raw=5b7000 +0350: 59 push_pid raw=59 +0351: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0356: 57 spawn arg_bytes=0x0 this_size=0x0 target_class_id=0xA0C target_event_slot=0x3E target_event_name_hint=None raw=5700000c0a3e00 +035D: 5E push_retval_word raw=5e +035E: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0361: 12 pop_temp raw=12 +0362: 53 suspend raw=53 +0363: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c681c4556454e5400000000 +036F: 5B line_number line_number=0x71 raw=5b7100 +0372: 59 push_pid raw=59 +0373: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0375: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0378: 14 add raw=14 +0379: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +037B: 4C push_indirect size=0x2 raw=4c02 +037D: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +037F: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0386: 6E add_sp value_u8=0xFC raw=6efc +0388: 5E push_retval_word raw=5e +0389: 54 implies arg0=0x1 arg1=0x1 raw=540101 +038C: 12 pop_temp raw=12 +038D: 53 suspend raw=53 +038E: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c3d1c4556454e5400000000 +039A: 5B line_number line_number=0x73 raw=5b7300 +039D: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +039F: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0xC intrinsic_name_hint=Item::destroy(void) raw=0f020c00 +03A3: 6E add_sp value_u8=0xFE raw=6efe +03A5: 52 jmp relative_u16=0x1C22 relative_signed=0x1C22 target_offset=0x1EF6 raw=52221c +03A8: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +03AA: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +03AC: 24 cmp raw=24 +03AD: 51 jne relative_u16=0x12 relative_signed=0x12 target_offset=0x2EE raw=511200 +03B0: 5B line_number line_number=0x79 raw=5b7900 +03B3: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +03B5: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +03B7: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +03B9: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x17 intrinsic_name_hint=Intrinsic00C3() raw=0f081700 +03BD: 6E add_sp value_u8=0xF8 raw=6ef8 +03BF: 52 jmp relative_u16=0x1C08 relative_signed=0x1C08 target_offset=0x1EF6 raw=52081c +03C2: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +03C4: 0A push_byte_immediate value_u8=0x6 value_signed=0x6 raw=0a06 +03C6: 24 cmp raw=24 +03C7: 51 jne relative_u16=0x12 relative_signed=0x12 target_offset=0x308 raw=511200 +03CA: 5B line_number line_number=0x7E raw=5b7e00 +03CD: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +03CF: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +03D1: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +03D3: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x17 intrinsic_name_hint=Intrinsic00C3() raw=0f081700 +03D7: 6E add_sp value_u8=0xF8 raw=6ef8 +03D9: 52 jmp relative_u16=0x1BEE relative_signed=0x1BEE target_offset=0x1EF6 raw=52ee1b +03DC: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +03DE: 0A push_byte_immediate value_u8=0x7 value_signed=0x7 raw=0a07 +03E0: 24 cmp raw=24 +03E1: 51 jne relative_u16=0x12 relative_signed=0x12 target_offset=0x322 raw=511200 +03E4: 5B line_number line_number=0x83 raw=5b8300 +03E7: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +03E9: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +03EB: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +03ED: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x17 intrinsic_name_hint=Intrinsic00C3() raw=0f081700 +03F1: 6E add_sp value_u8=0xF8 raw=6ef8 +03F3: 52 jmp relative_u16=0x1BD4 relative_signed=0x1BD4 target_offset=0x1EF6 raw=52d41b +03F6: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +03F8: 0A push_byte_immediate value_u8=0x8 value_signed=0x8 raw=0a08 +03FA: 24 cmp raw=24 +03FB: 51 jne relative_u16=0x9D relative_signed=0x9D target_offset=0x3C7 raw=519d00 +03FE: 5B line_number line_number=0x88 raw=5b8800 +0401: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0403: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +0407: 6E add_sp value_u8=0xFC raw=6efc +0409: 5E push_retval_word raw=5e +040A: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +040C: 5B line_number line_number=0x8A raw=5b8a00 +040F: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0411: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0413: 24 cmp raw=24 +0414: 51 jne relative_u16=0x2E relative_signed=0x2E target_offset=0x371 raw=512e00 +0417: 5B line_number line_number=0x8C raw=5b8c00 +041A: 59 push_pid raw=59 +041B: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +041D: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0420: 14 add raw=14 +0421: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0423: 4C push_indirect size=0x2 raw=4c02 +0425: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0427: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +042E: 6E add_sp value_u8=0xFC raw=6efc +0430: 5E push_retval_word raw=5e +0431: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0434: 12 pop_temp raw=12 +0435: 53 suspend raw=53 +0436: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c951b4556454e5400000000 +0442: 52 jmp relative_u16=0x53 relative_signed=0x53 target_offset=0x3C4 raw=525300 +0445: 5B line_number line_number=0x90 raw=5b9000 +0448: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +044A: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +044E: 6E add_sp value_u8=0xFC raw=6efc +0450: 5E push_retval_word raw=5e +0451: 01 pop_local_word bp_offset=0xEF target=[BP-11h] raw=01ef +0453: 5B line_number line_number=0x91 raw=5b9100 +0456: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0458: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +045A: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +045E: 6E add_sp value_u8=0xFA raw=6efa +0460: 5B line_number line_number=0x92 raw=5b9200 +0463: 59 push_pid raw=59 +0464: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0466: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0469: 14 add raw=14 +046A: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +046C: 4C push_indirect size=0x2 raw=4c02 +046E: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0470: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0477: 6E add_sp value_u8=0xFC raw=6efc +0479: 5E push_retval_word raw=5e +047A: 54 implies arg0=0x1 arg1=0x1 raw=540101 +047D: 12 pop_temp raw=12 +047E: 53 suspend raw=53 +047F: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c4c1b4556454e5400000000 +048B: 5B line_number line_number=0x93 raw=5b9300 +048E: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +0490: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0492: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +0496: 6E add_sp value_u8=0xFA raw=6efa +0498: 52 jmp relative_u16=0x1B2F relative_signed=0x1B2F target_offset=0x1EF6 raw=522f1b +049B: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +049D: 0A push_byte_immediate value_u8=0x9 value_signed=0x9 raw=0a09 +049F: 24 cmp raw=24 +04A0: 51 jne relative_u16=0x8F relative_signed=0x8F target_offset=0x45E raw=518f00 +04A3: 5B line_number line_number=0x99 raw=5b9900 +04A6: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +04A8: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +04AC: 6E add_sp value_u8=0xFC raw=6efc +04AE: 5E push_retval_word raw=5e +04AF: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +04B1: 74 loopscr value_u8=0x24 raw=7424 +04B3: 74 loopscr value_u8=0x3D raw=743d +04B5: 74 loopscr value_u8=0x3A raw=743a +04B7: 5B line_number line_number=0x9C raw=5b9c00 +04BA: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +04BC: 74 loopscr value_u8=0x25 raw=7425 +04BE: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +04C0: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +04C2: 1E mul raw=1e +04C3: 5B line_number line_number=0x9D raw=5b9d00 +04C6: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +04C8: 4C push_indirect size=0x2 raw=4c02 +04CA: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +04CE: 51 jne relative_u16=0x5C relative_signed=0x5C target_offset=0x459 raw=515c00 +04D1: 5B line_number line_number=0xA0 raw=5ba000 +04D4: 5B line_number line_number=0x9F raw=5b9f00 +04D7: 5B line_number line_number=0x9E raw=5b9e00 +04DA: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +04DC: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +04DE: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +04E2: 6E add_sp value_u8=0xFC raw=6efc +04E4: 5E push_retval_word raw=5e +04E5: 24 cmp raw=24 +04E6: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +04E8: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x3 intrinsic_name_hint=Item::getMapNum(void) raw=0f040300 +04EC: 6E add_sp value_u8=0xFC raw=6efc +04EE: 5E push_retval_word raw=5e +04EF: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +04F1: 24 cmp raw=24 +04F2: 32 and raw=32 +04F3: 5B line_number line_number=0x9F raw=5b9f00 +04F6: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +04F8: 4C push_indirect size=0x2 raw=4c02 +04FA: 3F push_local_word bp_offset=0xFE target=[BP-02h] raw=3ffe +04FC: 36 ne raw=36 +04FD: 32 and raw=32 +04FE: 51 jne relative_u16=0x28 relative_signed=0x28 target_offset=0x455 raw=512800 +0501: 5B line_number line_number=0xA1 raw=5ba100 +0504: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0506: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +050A: 6E add_sp value_u8=0xFC raw=6efc +050C: 5E push_retval_word raw=5e +050D: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +050F: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x88 intrinsic_name_hint=Intrinsic0088() raw=0f068800 +0513: 6E add_sp value_u8=0xFA raw=6efa +0515: 5B line_number line_number=0xA2 raw=5ba200 +0518: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +051A: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x89 intrinsic_name_hint=Intrinsic00BD() raw=0f048900 +051E: 6E add_sp value_u8=0xFC raw=6efc +0520: 5E push_retval_word raw=5e +0521: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +0523: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x68 intrinsic_name_hint=Kernel::getNumProcesses(uint16,ProcessType) raw=0f066800 +0527: 6E add_sp value_u8=0xFA raw=6efa +0529: 73 loopnext raw=73 +052A: 52 jmp relative_u16=0xFFA1 relative_signed=0x-5F target_offset=0x3FA raw=52a1ff +052D: 6E add_sp value_u8=0xC6 raw=6ec6 +052F: 52 jmp relative_u16=0x1A98 relative_signed=0x1A98 target_offset=0x1EF6 raw=52981a +0532: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +0534: 0A push_byte_immediate value_u8=0xA value_signed=0xA raw=0a0a +0536: 24 cmp raw=24 +0537: 51 jne relative_u16=0x13D relative_signed=0x13D target_offset=0x5A3 raw=513d01 +053A: 74 loopscr value_u8=0x24 raw=7424 +053C: 74 loopscr value_u8=0x3D raw=743d +053E: 74 loopscr value_u8=0x40 raw=7440 +0540: 5B line_number line_number=0xA9 raw=5ba900 +0543: 0B push_word_immediate value_u16=0x33A raw=0b3a03 +0546: 74 loopscr value_u8=0x25 raw=7425 +0548: 0A push_byte_immediate value_u8=0x64 value_signed=0x64 raw=0a64 +054A: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +054C: 1E mul raw=1e +054D: 5B line_number line_number=0xAA raw=5baa00 +0550: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0552: 4C push_indirect size=0x2 raw=4c02 +0554: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +0558: 51 jne relative_u16=0x36 relative_signed=0x36 target_offset=0x4BD raw=513600 +055B: 5B line_number line_number=0xAB raw=5bab00 +055E: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0560: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +0564: 6E add_sp value_u8=0xFC raw=6efc +0566: 5E push_retval_word raw=5e +0567: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +0569: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +056D: 6E add_sp value_u8=0xFC raw=6efc +056F: 5E push_retval_word raw=5e +0570: 24 cmp raw=24 +0571: 51 jne relative_u16=0x19 relative_signed=0x19 target_offset=0x4B9 raw=511900 +0574: 5B line_number line_number=0xAD raw=5bad00 +0577: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +0579: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x1 intrinsic_name_hint=Item::getFrame(void) raw=0f040100 +057D: 6E add_sp value_u8=0xFC raw=6efc +057F: 5E push_retval_word raw=5e +0580: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0582: 24 cmp raw=24 +0583: 51 jne relative_u16=0x7 relative_signed=0x7 target_offset=0x4B9 raw=510700 +0586: 5B line_number line_number=0xAF raw=5baf00 +0589: 3F push_local_word bp_offset=0xFE target=[BP-02h] raw=3ffe +058B: 01 pop_local_word bp_offset=0xFC target=[BP-04h] raw=01fc +058D: 73 loopnext raw=73 +058E: 52 jmp relative_u16=0xFFC7 relative_signed=0x-39 target_offset=0x484 raw=52c7ff +0591: 6E add_sp value_u8=0xC6 raw=6ec6 +0593: 74 loopscr value_u8=0x24 raw=7424 +0595: 74 loopscr value_u8=0x3D raw=743d +0597: 74 loopscr value_u8=0x40 raw=7440 +0599: 5B line_number line_number=0xB4 raw=5bb400 +059C: 0B push_word_immediate value_u16=0x33A raw=0b3a03 +059F: 74 loopscr value_u8=0x25 raw=7425 +05A1: 0A push_byte_immediate value_u8=0x64 value_signed=0x64 raw=0a64 +05A3: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +05A5: 1E mul raw=1e +05A6: 5B line_number line_number=0xB5 raw=5bb500 +05A9: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +05AB: 4C push_indirect size=0x2 raw=4c02 +05AD: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +05B1: 51 jne relative_u16=0x39 relative_signed=0x39 target_offset=0x519 raw=513900 +05B4: 5B line_number line_number=0xB7 raw=5bb700 +05B7: 5B line_number line_number=0xB6 raw=5bb600 +05BA: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +05BC: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +05C0: 6E add_sp value_u8=0xFC raw=6efc +05C2: 5E push_retval_word raw=5e +05C3: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +05C5: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +05C9: 6E add_sp value_u8=0xFC raw=6efc +05CB: 5E push_retval_word raw=5e +05CC: 24 cmp raw=24 +05CD: 51 jne relative_u16=0x19 relative_signed=0x19 target_offset=0x515 raw=511900 +05D0: 5B line_number line_number=0xB8 raw=5bb800 +05D3: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +05D5: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x1 intrinsic_name_hint=Item::getFrame(void) raw=0f040100 +05D9: 6E add_sp value_u8=0xFC raw=6efc +05DB: 5E push_retval_word raw=5e +05DC: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +05DE: 24 cmp raw=24 +05DF: 51 jne relative_u16=0x7 relative_signed=0x7 target_offset=0x515 raw=510700 +05E2: 5B line_number line_number=0xBA raw=5bba00 +05E5: 3F push_local_word bp_offset=0xFE target=[BP-02h] raw=3ffe +05E7: 01 pop_local_word bp_offset=0xFA target=[BP-06h] raw=01fa +05E9: 73 loopnext raw=73 +05EA: 52 jmp relative_u16=0xFFC4 relative_signed=0x-3C target_offset=0x4DD raw=52c4ff +05ED: 6E add_sp value_u8=0xC6 raw=6ec6 +05EF: 5B line_number line_number=0xC0 raw=5bc000 +05F2: 5B line_number line_number=0xBF raw=5bbf00 +05F5: 3F push_local_word bp_offset=0xFC target=[BP-04h] raw=3ffc +05F7: 5B line_number line_number=0xC0 raw=5bc000 +05FA: 3F push_local_word bp_offset=0xFA target=[BP-06h] raw=3ffa +05FC: 32 and raw=32 +05FD: 51 jne relative_u16=0x74 relative_signed=0x74 target_offset=0x5A0 raw=517400 +0600: 5B line_number line_number=0xC1 raw=5bc100 +0603: 4B push_local_addr bp_offset=0xFA target=[BP-06h] raw=4bfa +0605: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +0609: 6E add_sp value_u8=0xFC raw=6efc +060B: 5E push_retval_word raw=5e +060C: 01 pop_local_word bp_offset=0xF3 target=[BP-0Dh] raw=01f3 +060E: 5B line_number line_number=0xC2 raw=5bc200 +0611: 4B push_local_addr bp_offset=0xFA target=[BP-06h] raw=4bfa +0613: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +0617: 6E add_sp value_u8=0xFC raw=6efc +0619: 5E push_retval_word raw=5e +061A: 01 pop_local_word bp_offset=0xF5 target=[BP-0Bh] raw=01f5 +061C: 5B line_number line_number=0xC3 raw=5bc300 +061F: 4B push_local_addr bp_offset=0xFA target=[BP-06h] raw=4bfa +0621: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x9 intrinsic_name_hint=Item::getZ(void) raw=0f040900 +0625: 6E add_sp value_u8=0xFC raw=6efc +0627: 5D push_retval_byte raw=5d +0628: 00 pop_local_byte bp_offset=0xF7 target=[BP-09h] raw=00f7 +062A: 5B line_number line_number=0xC5 raw=5bc500 +062D: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +062F: 0B push_word_immediate value_u16=0x343 raw=0b4303 +0632: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +0634: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x1F intrinsic_name_hint=Item::getQLo(void) raw=0f081f00 +0638: 6E add_sp value_u8=0xF8 raw=6ef8 +063A: 5B line_number line_number=0xC6 raw=5bc600 +063D: 4B push_local_addr bp_offset=0xFC target=[BP-04h] raw=4bfc +063F: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x9 intrinsic_name_hint=Item::getZ(void) raw=0f040900 +0643: 6E add_sp value_u8=0xFC raw=6efc +0645: 5D push_retval_byte raw=5d +0646: 0A push_byte_immediate value_u8=0x3C value_signed=0x3C raw=0a3c +0648: 14 add raw=14 +0649: 4B push_local_addr bp_offset=0xFC target=[BP-04h] raw=4bfc +064B: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +064F: 6E add_sp value_u8=0xFC raw=6efc +0651: 5E push_retval_word raw=5e +0652: 4B push_local_addr bp_offset=0xFC target=[BP-04h] raw=4bfc +0654: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +0658: 6E add_sp value_u8=0xFC raw=6efc +065A: 5E push_retval_word raw=5e +065B: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +065D: 0F call_intrinsic arg_bytes=0xA intrinsic_ordinal=0x20 intrinsic_name_hint=Item::setQLo(sint16) raw=0f0a2000 +0661: 6E add_sp value_u8=0xF6 raw=6ef6 +0663: 5B line_number line_number=0xC7 raw=5bc700 +0666: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0668: 0A push_byte_immediate value_u8=0x40 value_signed=0x40 raw=0a40 +066A: 4B push_local_addr bp_offset=0xF3 target=[BP-0Dh] raw=4bf3 +066C: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +066E: 0F call_intrinsic arg_bytes=0xC intrinsic_ordinal=0x8A intrinsic_name_hint=Item::getQuality(void) raw=0f0c8a00 +0672: 6E add_sp value_u8=0xF4 raw=6ef4 +0674: 52 jmp relative_u16=0x1953 relative_signed=0x1953 target_offset=0x1EF6 raw=525319 +0677: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +0679: 0A push_byte_immediate value_u8=0xF value_signed=0xF raw=0a0f +067B: 24 cmp raw=24 +067C: 51 jne relative_u16=0x37 relative_signed=0x37 target_offset=0x5E2 raw=513700 +067F: 5B line_number line_number=0xCD raw=5bcd00 +0682: 79 global_address global_id=0x3C raw=793c00 +0685: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x11 intrinsic_name_hint=Item::getType(void) raw=0f041100 +0689: 6E add_sp value_u8=0xFC raw=6efc +068B: 5E push_retval_word raw=5e +068C: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +068E: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0690: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +0694: 6E add_sp value_u8=0xFC raw=6efc +0696: 5E push_retval_word raw=5e +0697: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0699: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +069D: 6E add_sp value_u8=0xFC raw=6efc +069F: 5E push_retval_word raw=5e +06A0: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x40 intrinsic_name_hint=Intrinsic0040() raw=0f084000 +06A4: 6E add_sp value_u8=0xF8 raw=6ef8 +06A6: 5B line_number line_number=0xCE raw=5bce00 +06A9: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +06AB: 4C push_indirect size=0x2 raw=4c02 +06AD: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0x41 intrinsic_name_hint=Item::isOn(uint16) raw=0f024100 +06B1: 6E add_sp value_u8=0xFE raw=6efe +06B3: 52 jmp relative_u16=0x1914 relative_signed=0x1914 target_offset=0x1EF6 raw=521419 +06B6: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +06B8: 0A push_byte_immediate value_u8=0x10 value_signed=0x10 raw=0a10 +06BA: 24 cmp raw=24 +06BB: 51 jne relative_u16=0x39 relative_signed=0x39 target_offset=0x623 raw=513900 +06BE: 5B line_number line_number=0xD3 raw=5bd300 +06C1: 79 global_address global_id=0x3C raw=793c00 +06C4: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x11 intrinsic_name_hint=Item::getType(void) raw=0f041100 +06C8: 6E add_sp value_u8=0xFC raw=6efc +06CA: 5E push_retval_word raw=5e +06CB: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +06CD: 79 global_address global_id=0x3C raw=793c00 +06D0: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +06D4: 6E add_sp value_u8=0xFC raw=6efc +06D6: 5E push_retval_word raw=5e +06D7: 79 global_address global_id=0x3C raw=793c00 +06DA: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +06DE: 6E add_sp value_u8=0xFC raw=6efc +06E0: 5E push_retval_word raw=5e +06E1: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x40 intrinsic_name_hint=Intrinsic0040() raw=0f084000 +06E5: 6E add_sp value_u8=0xF8 raw=6ef8 +06E7: 5B line_number line_number=0xD4 raw=5bd400 +06EA: 4E push_global global_id=0x3C size=0x2 raw=4e3c0002 +06EE: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0x41 intrinsic_name_hint=Item::isOn(uint16) raw=0f024100 +06F2: 6E add_sp value_u8=0xFE raw=6efe +06F4: 52 jmp relative_u16=0x18D3 relative_signed=0x18D3 target_offset=0x1EF6 raw=52d318 +06F7: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +06F9: 0A push_byte_immediate value_u8=0x16 value_signed=0x16 raw=0a16 +06FB: 24 cmp raw=24 +06FC: 51 jne relative_u16=0x9E relative_signed=0x9E target_offset=0x6C9 raw=519e00 +06FF: 5B line_number line_number=0xDA raw=5bda00 +0702: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x86 intrinsic_name_hint=teleportToEgg(sint16,int,uint8) raw=0f008600 +0706: 5E push_retval_word raw=5e +0707: 01 pop_local_word bp_offset=0xE9 target=[BP-17h] raw=01e9 +0709: 5B line_number line_number=0xDB raw=5bdb00 +070C: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x87 intrinsic_name_hint=Intrinsic0087() raw=0f008700 +0710: 5E push_retval_word raw=5e +0711: 01 pop_local_word bp_offset=0xE7 target=[BP-19h] raw=01e7 +0713: 5B line_number line_number=0xDD raw=5bdd00 +0716: 0A push_byte_immediate value_u8=0x36 value_signed=0x36 raw=0a36 +0718: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +071A: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x15 intrinsic_name_hint=Item::andStatus(void) raw=0f061500 +071E: 6E add_sp value_u8=0xFA raw=6efa +0720: 5B line_number line_number=0xDE raw=5bde00 +0723: 79 global_address global_id=0x3C raw=793c00 +0726: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x11 intrinsic_name_hint=Item::getType(void) raw=0f041100 +072A: 6E add_sp value_u8=0xFC raw=6efc +072C: 5E push_retval_word raw=5e +072D: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +072F: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0731: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +0735: 6E add_sp value_u8=0xFC raw=6efc +0737: 5E push_retval_word raw=5e +0738: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +073A: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +073E: 6E add_sp value_u8=0xFC raw=6efc +0740: 5E push_retval_word raw=5e +0741: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x40 intrinsic_name_hint=Intrinsic0040() raw=0f084000 +0745: 6E add_sp value_u8=0xF8 raw=6ef8 +0747: 5B line_number line_number=0xDF raw=5bdf00 +074A: 0A push_byte_immediate value_u8=0x36 value_signed=0x36 raw=0a36 +074C: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +074E: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3A intrinsic_name_hint=Item::touch(void) raw=0f063a00 +0752: 6E add_sp value_u8=0xFA raw=6efa +0754: 5D push_retval_byte raw=5d +0755: 51 jne relative_u16=0x29 relative_signed=0x29 target_offset=0x6AD raw=512900 +0758: 5B line_number line_number=0xE1 raw=5be100 +075B: 59 push_pid raw=59 +075C: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +075E: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0763: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +076A: 6E add_sp value_u8=0xFE raw=6efe +076C: 5E push_retval_word raw=5e +076D: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0770: 12 pop_temp raw=12 +0771: 53 suspend raw=53 +0772: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c59184556454e5400000000 +077E: 52 jmp relative_u16=0xFFC6 relative_signed=0x-3A target_offset=0x673 raw=52c6ff +0781: 5B line_number line_number=0xE3 raw=5be300 +0784: 79 global_address global_id=0x3C raw=793c00 +0787: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x11 intrinsic_name_hint=Item::getType(void) raw=0f041100 +078B: 6E add_sp value_u8=0xFC raw=6efc +078D: 5E push_retval_word raw=5e +078E: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0790: 3F push_local_word bp_offset=0xE7 target=[BP-19h] raw=3fe7 +0792: 3F push_local_word bp_offset=0xE9 target=[BP-17h] raw=3fe9 +0794: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x40 intrinsic_name_hint=Intrinsic0040() raw=0f084000 +0798: 6E add_sp value_u8=0xF8 raw=6ef8 +079A: 52 jmp relative_u16=0x182D relative_signed=0x182D target_offset=0x1EF6 raw=522d18 +079D: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +079F: 0A push_byte_immediate value_u8=0x28 value_signed=0x28 raw=0a28 +07A1: 24 cmp raw=24 +07A2: 51 jne relative_u16=0x86 relative_signed=0x86 target_offset=0x757 raw=518600 +07A5: 5B line_number line_number=0xE9 raw=5be900 +07A8: 5B line_number line_number=0xE8 raw=5be800 +07AB: 79 global_address global_id=0x3C raw=793c00 +07AE: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x39 intrinsic_name_hint=Kernel::resetRef(uint16,ProcessType) raw=0f043900 +07B2: 6E add_sp value_u8=0xFC raw=6efc +07B4: 5D push_retval_byte raw=5d +07B5: 30 not raw=30 +07B6: 51 jne relative_u16=0x6F relative_signed=0x6F target_offset=0x754 raw=516f00 +07B9: 5B line_number line_number=0xEA raw=5bea00 +07BC: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +07BE: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0xC intrinsic_name_hint=Item::destroy(void) raw=0f020c00 +07C2: 6E add_sp value_u8=0xFE raw=6efe +07C4: 5B line_number line_number=0xEB raw=5beb00 +07C7: 79 global_address global_id=0x3C raw=793c00 +07CA: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x33 intrinsic_name_hint=Intrinsic0033() raw=0f043300 +07CE: 6E add_sp value_u8=0xFC raw=6efc +07D0: 5D push_retval_byte raw=5d +07D1: 51 jne relative_u16=0x26 relative_signed=0x26 target_offset=0x726 raw=512600 +07D4: 59 push_pid raw=59 +07D5: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +07D7: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +07DC: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +07E3: 6E add_sp value_u8=0xFE raw=6efe +07E5: 5E push_retval_word raw=5e +07E6: 54 implies arg0=0x1 arg1=0x1 raw=540101 +07E9: 12 pop_temp raw=12 +07EA: 53 suspend raw=53 +07EB: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5ce0174556454e5400000000 +07F7: 52 jmp relative_u16=0xFFCA relative_signed=0x-36 target_offset=0x6F0 raw=52caff +07FA: 5B line_number line_number=0xEC raw=5bec00 +07FD: 59 push_pid raw=59 +07FE: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0800: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0802: 79 global_address global_id=0x3C raw=793c00 +0805: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0xE intrinsic_name_hint=Item::getX(void) raw=0f080e00 +0809: 6E add_sp value_u8=0xF8 raw=6ef8 +080B: 5E push_retval_word raw=5e +080C: 54 implies arg0=0x1 arg1=0x1 raw=540101 +080F: 12 pop_temp raw=12 +0810: 53 suspend raw=53 +0811: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cba174556454e5400000000 +081D: 5B line_number line_number=0xED raw=5bed00 +0820: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0822: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0xA intrinsic_name_hint=Intrinsic000A() raw=0f040a00 +0826: 6E add_sp value_u8=0xFC raw=6efc +0828: 52 jmp relative_u16=0x179F relative_signed=0x179F target_offset=0x1EF6 raw=529f17 +082B: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +082D: 0A push_byte_immediate value_u8=0x29 value_signed=0x29 raw=0a29 +082F: 24 cmp raw=24 +0830: 51 jne relative_u16=0x298 relative_signed=0x298 target_offset=0x9F7 raw=519802 +0833: 5B line_number line_number=0xF4 raw=5bf400 +0836: 5B line_number line_number=0xF3 raw=5bf300 +0839: 4E push_global global_id=0x29 size=0x1 raw=4e290001 +083D: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +083F: 24 cmp raw=24 +0840: 79 global_address global_id=0x3C raw=793c00 +0843: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x39 intrinsic_name_hint=Kernel::resetRef(uint16,ProcessType) raw=0f043900 +0847: 6E add_sp value_u8=0xFC raw=6efc +0849: 5D push_retval_byte raw=5d +084A: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +084C: 24 cmp raw=24 +084D: 34 or raw=34 +084E: 51 jne relative_u16=0x6 relative_signed=0x6 target_offset=0x783 raw=510600 +0851: 5B line_number line_number=0xF5 raw=5bf500 +0854: 52 jmp relative_u16=0x1773 relative_signed=0x1773 target_offset=0x1EF6 raw=527317 +0857: 5B line_number line_number=0xF8 raw=5bf800 +085A: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +085C: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0xC intrinsic_name_hint=Item::destroy(void) raw=0f020c00 +0860: 6E add_sp value_u8=0xFE raw=6efe +0862: 5B line_number line_number=0xF9 raw=5bf900 +0865: 59 push_pid raw=59 +0866: 0A push_byte_immediate value_u8=0x3C value_signed=0x3C raw=0a3c +0868: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +086D: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0874: 6E add_sp value_u8=0xFE raw=6efe +0876: 5E push_retval_word raw=5e +0877: 54 implies arg0=0x1 arg1=0x1 raw=540101 +087A: 12 pop_temp raw=12 +087B: 53 suspend raw=53 +087C: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c4f174556454e5400000000 +0888: 5B line_number line_number=0xFA raw=5bfa00 +088B: 59 push_pid raw=59 +088C: 0A push_byte_immediate value_u8=0x3 value_signed=0x3 raw=0a03 +088E: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0890: 79 global_address global_id=0x3C raw=793c00 +0893: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA11 target_event_slot=0x22 target_event_name_hint=None raw=570402110a2200 +089A: 6E add_sp value_u8=0xFC raw=6efc +089C: 5E push_retval_word raw=5e +089D: 54 implies arg0=0x1 arg1=0x1 raw=540101 +08A0: 12 pop_temp raw=12 +08A1: 53 suspend raw=53 +08A2: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c29174556454e5400000000 +08AE: 5B line_number line_number=0xFB raw=5bfb00 +08B1: 59 push_pid raw=59 +08B2: 0A push_byte_immediate value_u8=0x4 value_signed=0x4 raw=0a04 +08B4: 0A push_byte_immediate value_u8=0xE value_signed=0xE raw=0a0e +08B6: 79 global_address global_id=0x3C raw=793c00 +08B9: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA11 target_event_slot=0x22 target_event_name_hint=None raw=570402110a2200 +08C0: 6E add_sp value_u8=0xFC raw=6efc +08C2: 5E push_retval_word raw=5e +08C3: 54 implies arg0=0x1 arg1=0x1 raw=540101 +08C6: 12 pop_temp raw=12 +08C7: 53 suspend raw=53 +08C8: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c03174556454e5400000000 +08D4: 5B line_number line_number=0xFC raw=5bfc00 +08D7: 59 push_pid raw=59 +08D8: 0A push_byte_immediate value_u8=0x3 value_signed=0x3 raw=0a03 +08DA: 0A push_byte_immediate value_u8=0xC value_signed=0xC raw=0a0c +08DC: 79 global_address global_id=0x3C raw=793c00 +08DF: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA11 target_event_slot=0x22 target_event_name_hint=None raw=570402110a2200 +08E6: 6E add_sp value_u8=0xFC raw=6efc +08E8: 5E push_retval_word raw=5e +08E9: 54 implies arg0=0x1 arg1=0x1 raw=540101 +08EC: 12 pop_temp raw=12 +08ED: 53 suspend raw=53 +08EE: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cdd164556454e5400000000 +08FA: 5B line_number line_number=0xFD raw=5bfd00 +08FD: 59 push_pid raw=59 +08FE: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0900: 0B push_word_immediate value_u16=0x2710 raw=0b1027 +0903: 79 global_address global_id=0x3C raw=793c00 +0906: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x1C intrinsic_name_hint=Intrinsic00FA() raw=0f041c00 +090A: 6E add_sp value_u8=0xFC raw=6efc +090C: 5D push_retval_byte raw=5d +090D: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +090F: 79 global_address global_id=0x3C raw=793c00 +0912: 0F call_intrinsic arg_bytes=0xC intrinsic_ordinal=0x36 intrinsic_name_hint=Intrinsic0036() raw=0f0c3600 +0916: 6E add_sp value_u8=0xF4 raw=6ef4 +0918: 5E push_retval_word raw=5e +0919: 54 implies arg0=0x1 arg1=0x1 raw=540101 +091C: 12 pop_temp raw=12 +091D: 53 suspend raw=53 +091E: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cad164556454e5400000000 +092A: 5B line_number line_number=0xFE raw=5bfe00 +092D: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +092F: 4F pop_global global_id=0x29 size=0x1 raw=4f290001 +0933: 74 loopscr value_u8=0x24 raw=7424 +0935: 5B line_number line_number=0x100 raw=5b0001 +0938: 0A push_byte_immediate value_u8=0x14 value_signed=0x14 raw=0a14 +093A: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +093C: 1E mul raw=1e +093D: 5B line_number line_number=0x101 raw=5b0101 +0940: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0942: 4C push_indirect size=0x2 raw=4c02 +0944: 70 loop current_var=0xF8 string_bytes=0x1 loop_type=0x2 raw=70f80102 +0948: 51 jne relative_u16=0x38 relative_signed=0x38 target_offset=0x8AF raw=513800 +094B: 5B line_number line_number=0x103 raw=5b0301 +094E: 5B line_number line_number=0x102 raw=5b0201 +0951: 4B push_local_addr bp_offset=0xF8 target=[BP-08h] raw=4bf8 +0953: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +0957: 6E add_sp value_u8=0xFC raw=6efc +0959: 5E push_retval_word raw=5e +095A: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +095C: 24 cmp raw=24 +095D: 51 jne relative_u16=0x1F relative_signed=0x1F target_offset=0x8AB raw=511f00 +0960: 5B line_number line_number=0x104 raw=5b0401 +0963: 59 push_pid raw=59 +0964: 4B push_local_addr bp_offset=0xF8 target=[BP-08h] raw=4bf8 +0966: 57 spawn arg_bytes=0x0 this_size=0x2 target_class_id=0xA06 target_event_slot=0x20 target_event_name_hint=None raw=570002060a2000 +096D: 5E push_retval_word raw=5e +096E: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0971: 12 pop_temp raw=12 +0972: 53 suspend raw=53 +0973: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c58164556454e5400000000 +097F: 73 loopnext raw=73 +0980: 52 jmp relative_u16=0xFFC5 relative_signed=0x-3B target_offset=0x874 raw=52c5ff +0983: 6E add_sp value_u8=0xC6 raw=6ec6 +0985: 74 loopscr value_u8=0x24 raw=7424 +0987: 74 loopscr value_u8=0x3D raw=743d +0989: 74 loopscr value_u8=0x40 raw=7440 +098B: 5B line_number line_number=0x108 raw=5b0801 +098E: 0B push_word_immediate value_u16=0x4D9 raw=0bd904 +0991: 74 loopscr value_u8=0x25 raw=7425 +0993: 0A push_byte_immediate value_u8=0x14 value_signed=0x14 raw=0a14 +0995: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +0997: 1E mul raw=1e +0998: 5B line_number line_number=0x109 raw=5b0901 +099B: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +099D: 4C push_indirect size=0x2 raw=4c02 +099F: 70 loop current_var=0xF8 string_bytes=0x6 loop_type=0x2 raw=70f80602 +09A3: 51 jne relative_u16=0xB relative_signed=0xB target_offset=0x8DD raw=510b00 +09A6: 5B line_number line_number=0x10A raw=5b0a01 +09A9: 3F push_local_word bp_offset=0xF8 target=[BP-08h] raw=3ff8 +09AB: 01 pop_local_word bp_offset=0xED target=[BP-13h] raw=01ed +09AD: 73 loopnext raw=73 +09AE: 52 jmp relative_u16=0xFFF2 relative_signed=0x-E target_offset=0x8CF raw=52f2ff +09B1: 6E add_sp value_u8=0xC6 raw=6ec6 +09B3: 5B line_number line_number=0x10D raw=5b0d01 +09B6: 59 push_pid raw=59 +09B7: 0A push_byte_immediate value_u8=0x1E value_signed=0x1E raw=0a1e +09B9: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +09BE: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +09C5: 6E add_sp value_u8=0xFE raw=6efe +09C7: 5E push_retval_word raw=5e +09C8: 54 implies arg0=0x1 arg1=0x1 raw=540101 +09CB: 12 pop_temp raw=12 +09CC: 53 suspend raw=53 +09CD: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cfe154556454e5400000000 +09D9: 5B line_number line_number=0x10E raw=5b0e01 +09DC: 59 push_pid raw=59 +09DD: 0B push_word_immediate value_u16=0x96 raw=0b9600 +09E0: 0B push_word_immediate value_u16=0xFA raw=0bfa00 +09E3: 0D push_string_immediate declared_length=0x3 string=10e raw=0d030031306500 +09EA: 6B str_to_ptr raw=6b +09EB: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +09ED: 0F call_intrinsic arg_bytes=0xC intrinsic_ordinal=0xF intrinsic_name_hint=Item::getY(void) raw=0f0c0f00 +09F1: 65 free_stack_string value_u8=0x4 target=[SP+04h] raw=6504 +09F3: 6E add_sp value_u8=0xF4 raw=6ef4 +09F5: 5E push_retval_word raw=5e +09F6: 54 implies arg0=0x1 arg1=0x1 raw=540101 +09F9: 12 pop_temp raw=12 +09FA: 53 suspend raw=53 +09FB: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cd0154556454e5400000000 +0A07: 5B line_number line_number=0x10F raw=5b0f01 +0A0A: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0A0C: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0xC intrinsic_name_hint=Item::destroy(void) raw=0f020c00 +0A10: 6E add_sp value_u8=0xFE raw=6efe +0A12: 5B line_number line_number=0x112 raw=5b1201 +0A15: 59 push_pid raw=59 +0A16: 0A push_byte_immediate value_u8=0x78 value_signed=0x78 raw=0a78 +0A18: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0A1D: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0A24: 6E add_sp value_u8=0xFE raw=6efe +0A26: 5E push_retval_word raw=5e +0A27: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0A2A: 12 pop_temp raw=12 +0A2B: 53 suspend raw=53 +0A2C: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c9f154556454e5400000000 +0A38: 5B line_number line_number=0x115 raw=5b1501 +0A3B: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0A3D: 51 jne relative_u16=0x88 relative_signed=0x88 target_offset=0x9F4 raw=518800 +0A40: 5B line_number line_number=0x117 raw=5b1701 +0A43: 79 global_address global_id=0x3C raw=793c00 +0A46: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x39 intrinsic_name_hint=Kernel::resetRef(uint16,ProcessType) raw=0f043900 +0A4A: 6E add_sp value_u8=0xFC raw=6efc +0A4C: 5D push_retval_byte raw=5d +0A4D: 01 pop_local_word bp_offset=0xDF target=[BP-21h] raw=01df +0A4F: 5B line_number line_number=0x118 raw=5b1801 +0A52: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +0A54: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x39 intrinsic_name_hint=Kernel::resetRef(uint16,ProcessType) raw=0f043900 +0A58: 6E add_sp value_u8=0xFC raw=6efc +0A5A: 5D push_retval_byte raw=5d +0A5B: 01 pop_local_word bp_offset=0xDD target=[BP-23h] raw=01dd +0A5D: 5B line_number line_number=0x11C raw=5b1c01 +0A60: 5B line_number line_number=0x11B raw=5b1b01 +0A63: 3F push_local_word bp_offset=0xDF target=[BP-21h] raw=3fdf +0A65: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0A67: 24 cmp raw=24 +0A68: 3F push_local_word bp_offset=0xDD target=[BP-23h] raw=3fdd +0A6A: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0A6C: 24 cmp raw=24 +0A6D: 34 or raw=34 +0A6E: 51 jne relative_u16=0x6 relative_signed=0x6 target_offset=0x9A3 raw=510600 +0A71: 5B line_number line_number=0x11D raw=5b1d01 +0A74: 52 jmp relative_u16=0x1553 relative_signed=0x1553 target_offset=0x1EF6 raw=525315 +0A77: 5B line_number line_number=0x120 raw=5b2001 +0A7A: 59 push_pid raw=59 +0A7B: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0A7D: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0A7F: 4C push_indirect size=0x2 raw=4c02 +0A81: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0A83: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0A8A: 6E add_sp value_u8=0xFC raw=6efc +0A8C: 5E push_retval_word raw=5e +0A8D: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0A90: 12 pop_temp raw=12 +0A91: 53 suspend raw=53 +0A92: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c39154556454e5400000000 +0A9E: 5B line_number line_number=0x121 raw=5b2101 +0AA1: 59 push_pid raw=59 +0AA2: 0B push_word_immediate value_u16=0x12C raw=0b2c01 +0AA5: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0AAA: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0AB1: 6E add_sp value_u8=0xFE raw=6efe +0AB3: 5E push_retval_word raw=5e +0AB4: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0AB7: 12 pop_temp raw=12 +0AB8: 53 suspend raw=53 +0AB9: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c12154556454e5400000000 +0AC5: 52 jmp relative_u16=0xFF70 relative_signed=0x-90 target_offset=0x964 raw=5270ff +0AC8: 52 jmp relative_u16=0x14FF relative_signed=0x14FF target_offset=0x1EF6 raw=52ff14 +0ACB: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +0ACD: 0A push_byte_immediate value_u8=0x2D value_signed=0x2D raw=0a2d +0ACF: 24 cmp raw=24 +0AD0: 51 jne relative_u16=0x184 relative_signed=0x184 target_offset=0xB83 raw=518401 +0AD3: 5B line_number line_number=0x129 raw=5b2901 +0AD6: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0AD8: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x89 intrinsic_name_hint=Intrinsic00BD() raw=0f048900 +0ADC: 6E add_sp value_u8=0xFC raw=6efc +0ADE: 5E push_retval_word raw=5e +0ADF: 01 pop_local_word bp_offset=0xE1 target=[BP-1Fh] raw=01e1 +0AE1: 5B line_number line_number=0x12B raw=5b2b01 +0AE4: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0AE6: 51 jne relative_u16=0x16B relative_signed=0x16B target_offset=0xB80 raw=516b01 +0AE9: 5B line_number line_number=0x12D raw=5b2d01 +0AEC: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0AEE: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +0AF0: 5B line_number line_number=0x130 raw=5b3001 +0AF3: 5B line_number line_number=0x12F raw=5b2f01 +0AF6: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0AF8: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +0AFC: 6E add_sp value_u8=0xFC raw=6efc +0AFE: 5E push_retval_word raw=5e +0AFF: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0B01: 24 cmp raw=24 +0B02: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0B04: 4C push_indirect size=0x2 raw=4c02 +0B06: 4E push_global global_id=0x3C size=0x2 raw=4e3c0002 +0B0A: 11 call_class_event target_class_id=0xA0C target_event_slot=0x29 target_event_name_hint=None raw=110c0a2900 +0B0F: 6E add_sp value_u8=0xFC raw=6efc +0B11: 5E push_retval_word raw=5e +0B12: 0A push_byte_immediate value_u8=0x32 value_signed=0x32 raw=0a32 +0B14: 2C gt raw=2c +0B15: 34 or raw=34 +0B16: 51 jne relative_u16=0x6 relative_signed=0x6 target_offset=0xA4B raw=510600 +0B19: 5B line_number line_number=0x131 raw=5b3101 +0B1C: 52 jmp relative_u16=0x14AB relative_signed=0x14AB target_offset=0x1EF6 raw=52ab14 +0B1F: 74 loopscr value_u8=0x24 raw=7424 +0B21: 74 loopscr value_u8=0x3D raw=743d +0B23: 74 loopscr value_u8=0x3A raw=743a +0B25: 5B line_number line_number=0x135 raw=5b3501 +0B28: 0A push_byte_immediate value_u8=0x6 value_signed=0x6 raw=0a06 +0B2A: 74 loopscr value_u8=0x25 raw=7425 +0B2C: 0A push_byte_immediate value_u8=0x32 value_signed=0x32 raw=0a32 +0B2E: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +0B30: 1E mul raw=1e +0B31: 5B line_number line_number=0x136 raw=5b3601 +0B34: 4E push_global global_id=0x3C size=0x2 raw=4e3c0002 +0B38: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +0B3C: 51 jne relative_u16=0x1D relative_signed=0x1D target_offset=0xA88 raw=511d00 +0B3F: 5B line_number line_number=0x137 raw=5b3701 +0B42: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +0B44: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x8 intrinsic_name_hint=Item::isNpc(void) raw=0f040800 +0B48: 6E add_sp value_u8=0xFC raw=6efc +0B4A: 5D push_retval_byte raw=5d +0B4B: 51 jne relative_u16=0xA relative_signed=0xA target_offset=0xA84 raw=510a00 +0B4E: 5B line_number line_number=0x139 raw=5b3901 +0B51: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0B53: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0B55: 14 add raw=14 +0B56: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +0B58: 73 loopnext raw=73 +0B59: 52 jmp relative_u16=0xFFE0 relative_signed=0x-20 target_offset=0xA68 raw=52e0ff +0B5C: 6E add_sp value_u8=0xC6 raw=6ec6 +0B5E: 5B line_number line_number=0x13E raw=5b3e01 +0B61: 5B line_number line_number=0x13D raw=5b3d01 +0B64: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0B66: 5B line_number line_number=0x13E raw=5b3e01 +0B69: 0A push_byte_immediate value_u8=0x4 value_signed=0x4 raw=0a04 +0B6B: 2A le raw=2a +0B6C: 51 jne relative_u16=0xBC relative_signed=0xBC target_offset=0xB57 raw=51bc00 +0B6F: 5B line_number line_number=0x140 raw=5b4001 +0B72: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0B74: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +0B78: 6E add_sp value_u8=0xFC raw=6efc +0B7A: 5E push_retval_word raw=5e +0B7B: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0B7D: 1C sub raw=1c +0B7E: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0B80: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +0B84: 6E add_sp value_u8=0xFA raw=6efa +0B86: 5B line_number line_number=0x142 raw=5b4201 +0B89: 59 push_pid raw=59 +0B8A: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0B8C: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0B8F: 14 add raw=14 +0B90: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0B92: 4C push_indirect size=0x2 raw=4c02 +0B94: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0B96: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0B9D: 6E add_sp value_u8=0xFC raw=6efc +0B9F: 5E push_retval_word raw=5e +0BA0: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0BA3: 12 pop_temp raw=12 +0BA4: 53 suspend raw=53 +0BA5: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c26144556454e5400000000 +0BB1: 5B line_number line_number=0x143 raw=5b4301 +0BB4: 59 push_pid raw=59 +0BB5: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +0BB7: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0BBC: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0BC3: 6E add_sp value_u8=0xFE raw=6efe +0BC5: 5E push_retval_word raw=5e +0BC6: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0BC9: 12 pop_temp raw=12 +0BCA: 53 suspend raw=53 +0BCB: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c00144556454e5400000000 +0BD7: 5B line_number line_number=0x144 raw=5b4401 +0BDA: 59 push_pid raw=59 +0BDB: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0BDD: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0BE0: 14 add raw=14 +0BE1: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0BE3: 4C push_indirect size=0x2 raw=4c02 +0BE5: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0BE7: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0BEE: 6E add_sp value_u8=0xFC raw=6efc +0BF0: 5E push_retval_word raw=5e +0BF1: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0BF4: 12 pop_temp raw=12 +0BF5: 53 suspend raw=53 +0BF6: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cd5134556454e5400000000 +0C02: 5B line_number line_number=0x145 raw=5b4501 +0C05: 59 push_pid raw=59 +0C06: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +0C08: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0C0D: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0C14: 6E add_sp value_u8=0xFE raw=6efe +0C16: 5E push_retval_word raw=5e +0C17: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0C1A: 12 pop_temp raw=12 +0C1B: 53 suspend raw=53 +0C1C: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5caf134556454e5400000000 +0C28: 52 jmp relative_u16=0x26 relative_signed=0x26 target_offset=0xB7D raw=522600 +0C2B: 5B line_number line_number=0x149 raw=5b4901 +0C2E: 59 push_pid raw=59 +0C2F: 0A push_byte_immediate value_u8=0x78 value_signed=0x78 raw=0a78 +0C31: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0C36: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0C3D: 6E add_sp value_u8=0xFE raw=6efe +0C3F: 5E push_retval_word raw=5e +0C40: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0C43: 12 pop_temp raw=12 +0C44: 53 suspend raw=53 +0C45: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c86134556454e5400000000 +0C51: 52 jmp relative_u16=0xFE8D relative_signed=0x-173 target_offset=0xA0D raw=528dfe +0C54: 52 jmp relative_u16=0x1373 relative_signed=0x1373 target_offset=0x1EF6 raw=527313 +0C57: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +0C59: 0A push_byte_immediate value_u8=0x2E value_signed=0x2E raw=0a2e +0C5B: 24 cmp raw=24 +0C5C: 51 jne relative_u16=0x197 relative_signed=0x197 target_offset=0xD22 raw=519701 +0C5F: 5B line_number line_number=0x150 raw=5b5001 +0C62: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0C64: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x89 intrinsic_name_hint=Intrinsic00BD() raw=0f048900 +0C68: 6E add_sp value_u8=0xFC raw=6efc +0C6A: 5E push_retval_word raw=5e +0C6B: 01 pop_local_word bp_offset=0xE1 target=[BP-1Fh] raw=01e1 +0C6D: 5B line_number line_number=0x152 raw=5b5201 +0C70: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0C72: 51 jne relative_u16=0x17E relative_signed=0x17E target_offset=0xD1F raw=517e01 +0C75: 5B line_number line_number=0x154 raw=5b5401 +0C78: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0C7A: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +0C7C: 5B line_number line_number=0x158 raw=5b5801 +0C7F: 5B line_number line_number=0x157 raw=5b5701 +0C82: 5B line_number line_number=0x156 raw=5b5601 +0C85: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0C87: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +0C8B: 6E add_sp value_u8=0xFC raw=6efc +0C8D: 5E push_retval_word raw=5e +0C8E: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0C90: 24 cmp raw=24 +0C91: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0C93: 4C push_indirect size=0x2 raw=4c02 +0C95: 4E push_global global_id=0x3C size=0x2 raw=4e3c0002 +0C99: 11 call_class_event target_class_id=0xA0C target_event_slot=0x29 target_event_name_hint=None raw=110c0a2900 +0C9E: 6E add_sp value_u8=0xFC raw=6efc +0CA0: 5E push_retval_word raw=5e +0CA1: 0A push_byte_immediate value_u8=0x32 value_signed=0x32 raw=0a32 +0CA3: 2C gt raw=2c +0CA4: 34 or raw=34 +0CA5: 5B line_number line_number=0x157 raw=5b5701 +0CA8: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0CAA: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x7 intrinsic_name_hint=Intrinsic0007() raw=0f040700 +0CAE: 6E add_sp value_u8=0xFC raw=6efc +0CB0: 5D push_retval_byte raw=5d +0CB1: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0CB3: 24 cmp raw=24 +0CB4: 34 or raw=34 +0CB5: 51 jne relative_u16=0x6 relative_signed=0x6 target_offset=0xBEA raw=510600 +0CB8: 5B line_number line_number=0x159 raw=5b5901 +0CBB: 52 jmp relative_u16=0x130C relative_signed=0x130C target_offset=0x1EF6 raw=520c13 +0CBE: 74 loopscr value_u8=0x24 raw=7424 +0CC0: 74 loopscr value_u8=0x3D raw=743d +0CC2: 74 loopscr value_u8=0x3A raw=743a +0CC4: 5B line_number line_number=0x15E raw=5b5e01 +0CC7: 0A push_byte_immediate value_u8=0x6 value_signed=0x6 raw=0a06 +0CC9: 74 loopscr value_u8=0x25 raw=7425 +0CCB: 0A push_byte_immediate value_u8=0x32 value_signed=0x32 raw=0a32 +0CCD: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +0CCF: 1E mul raw=1e +0CD0: 5B line_number line_number=0x15F raw=5b5f01 +0CD3: 4E push_global global_id=0x3C size=0x2 raw=4e3c0002 +0CD7: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +0CDB: 51 jne relative_u16=0x1D relative_signed=0x1D target_offset=0xC27 raw=511d00 +0CDE: 5B line_number line_number=0x161 raw=5b6101 +0CE1: 5B line_number line_number=0x160 raw=5b6001 +0CE4: 3F push_local_word bp_offset=0xFE target=[BP-02h] raw=3ffe +0CE6: 0B push_word_immediate value_u16=0xFF raw=0bff00 +0CE9: 28 lt raw=28 +0CEA: 51 jne relative_u16=0xA relative_signed=0xA target_offset=0xC23 raw=510a00 +0CED: 5B line_number line_number=0x162 raw=5b6201 +0CF0: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0CF2: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0CF4: 14 add raw=14 +0CF5: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +0CF7: 73 loopnext raw=73 +0CF8: 52 jmp relative_u16=0xFFE0 relative_signed=0x-20 target_offset=0xC07 raw=52e0ff +0CFB: 6E add_sp value_u8=0xC6 raw=6ec6 +0CFD: 5B line_number line_number=0x167 raw=5b6701 +0D00: 5B line_number line_number=0x166 raw=5b6601 +0D03: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0D05: 5B line_number line_number=0x167 raw=5b6701 +0D08: 0A push_byte_immediate value_u8=0x4 value_signed=0x4 raw=0a04 +0D0A: 2A le raw=2a +0D0B: 51 jne relative_u16=0xBC relative_signed=0xBC target_offset=0xCF6 raw=51bc00 +0D0E: 5B line_number line_number=0x169 raw=5b6901 +0D11: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0D13: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +0D17: 6E add_sp value_u8=0xFC raw=6efc +0D19: 5E push_retval_word raw=5e +0D1A: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0D1C: 1C sub raw=1c +0D1D: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0D1F: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +0D23: 6E add_sp value_u8=0xFA raw=6efa +0D25: 5B line_number line_number=0x16B raw=5b6b01 +0D28: 59 push_pid raw=59 +0D29: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0D2B: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0D2E: 14 add raw=14 +0D2F: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0D31: 4C push_indirect size=0x2 raw=4c02 +0D33: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0D35: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0D3C: 6E add_sp value_u8=0xFC raw=6efc +0D3E: 5E push_retval_word raw=5e +0D3F: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0D42: 12 pop_temp raw=12 +0D43: 53 suspend raw=53 +0D44: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c87124556454e5400000000 +0D50: 5B line_number line_number=0x16C raw=5b6c01 +0D53: 59 push_pid raw=59 +0D54: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +0D56: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0D5B: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0D62: 6E add_sp value_u8=0xFE raw=6efe +0D64: 5E push_retval_word raw=5e +0D65: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0D68: 12 pop_temp raw=12 +0D69: 53 suspend raw=53 +0D6A: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c61124556454e5400000000 +0D76: 5B line_number line_number=0x16D raw=5b6d01 +0D79: 59 push_pid raw=59 +0D7A: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0D7C: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0D7F: 14 add raw=14 +0D80: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0D82: 4C push_indirect size=0x2 raw=4c02 +0D84: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0D86: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0D8D: 6E add_sp value_u8=0xFC raw=6efc +0D8F: 5E push_retval_word raw=5e +0D90: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0D93: 12 pop_temp raw=12 +0D94: 53 suspend raw=53 +0D95: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c36124556454e5400000000 +0DA1: 5B line_number line_number=0x16E raw=5b6e01 +0DA4: 59 push_pid raw=59 +0DA5: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +0DA7: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0DAC: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0DB3: 6E add_sp value_u8=0xFE raw=6efe +0DB5: 5E push_retval_word raw=5e +0DB6: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0DB9: 12 pop_temp raw=12 +0DBA: 53 suspend raw=53 +0DBB: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c10124556454e5400000000 +0DC7: 52 jmp relative_u16=0x26 relative_signed=0x26 target_offset=0xD1C raw=522600 +0DCA: 5B line_number line_number=0x172 raw=5b7201 +0DCD: 59 push_pid raw=59 +0DCE: 0A push_byte_immediate value_u8=0x78 value_signed=0x78 raw=0a78 +0DD0: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0DD5: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0DDC: 6E add_sp value_u8=0xFE raw=6efe +0DDE: 5E push_retval_word raw=5e +0DDF: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0DE2: 12 pop_temp raw=12 +0DE3: 53 suspend raw=53 +0DE4: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5ce7114556454e5400000000 +0DF0: 52 jmp relative_u16=0xFE7A relative_signed=0x-186 target_offset=0xB99 raw=527afe +0DF3: 52 jmp relative_u16=0x11D4 relative_signed=0x11D4 target_offset=0x1EF6 raw=52d411 +0DF6: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +0DF8: 0A push_byte_immediate value_u8=0x2F value_signed=0x2F raw=0a2f +0DFA: 24 cmp raw=24 +0DFB: 51 jne relative_u16=0x266 relative_signed=0x266 target_offset=0xF90 raw=516602 +0DFE: 5B line_number line_number=0x179 raw=5b7901 +0E01: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0E03: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x89 intrinsic_name_hint=Intrinsic00BD() raw=0f048900 +0E07: 6E add_sp value_u8=0xFC raw=6efc +0E09: 5E push_retval_word raw=5e +0E0A: 01 pop_local_word bp_offset=0xE1 target=[BP-1Fh] raw=01e1 +0E0C: 5B line_number line_number=0x17A raw=5b7a01 +0E0F: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0E11: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +0E15: 6E add_sp value_u8=0xFC raw=6efc +0E17: 5E push_retval_word raw=5e +0E18: 01 pop_local_word bp_offset=0xEF target=[BP-11h] raw=01ef +0E1A: 5B line_number line_number=0x17C raw=5b7c01 +0E1D: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0E1F: 51 jne relative_u16=0x23F relative_signed=0x23F target_offset=0xF8D raw=513f02 +0E22: 5B line_number line_number=0x180 raw=5b8001 +0E25: 5B line_number line_number=0x17F raw=5b7f01 +0E28: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0E2A: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +0E2E: 6E add_sp value_u8=0xFC raw=6efc +0E30: 5E push_retval_word raw=5e +0E31: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0E33: 24 cmp raw=24 +0E34: 51 jne relative_u16=0xE4 relative_signed=0xE4 target_offset=0xE47 raw=51e400 +0E37: 5B line_number line_number=0x181 raw=5b8101 +0E3A: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0E3C: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +0E3E: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0E40: 5B line_number line_number=0x182 raw=5b8201 +0E43: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +0E45: 2A le raw=2a +0E46: 51 jne relative_u16=0xC2 relative_signed=0xC2 target_offset=0xE37 raw=51c200 +0E49: 5B line_number line_number=0x183 raw=5b8301 +0E4C: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0E4E: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0E50: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +0E54: 6E add_sp value_u8=0xFA raw=6efa +0E56: 5B line_number line_number=0x184 raw=5b8401 +0E59: 59 push_pid raw=59 +0E5A: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0E5C: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0E5F: 14 add raw=14 +0E60: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0E62: 4C push_indirect size=0x2 raw=4c02 +0E64: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0E66: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0E6D: 6E add_sp value_u8=0xFC raw=6efc +0E6F: 5E push_retval_word raw=5e +0E70: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0E73: 12 pop_temp raw=12 +0E74: 53 suspend raw=53 +0E75: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c56114556454e5400000000 +0E81: 5B line_number line_number=0x185 raw=5b8501 +0E84: 59 push_pid raw=59 +0E85: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +0E87: 0A push_byte_immediate value_u8=0x3 value_signed=0x3 raw=0a03 +0E89: 1E mul raw=1e +0E8A: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0E8F: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0E96: 6E add_sp value_u8=0xFE raw=6efe +0E98: 5E push_retval_word raw=5e +0E99: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0E9C: 12 pop_temp raw=12 +0E9D: 53 suspend raw=53 +0E9E: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c2d114556454e5400000000 +0EAA: 5B line_number line_number=0x186 raw=5b8601 +0EAD: 59 push_pid raw=59 +0EAE: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0EB0: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0EB3: 14 add raw=14 +0EB4: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0EB6: 4C push_indirect size=0x2 raw=4c02 +0EB8: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0EBA: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0EC1: 6E add_sp value_u8=0xFC raw=6efc +0EC3: 5E push_retval_word raw=5e +0EC4: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0EC7: 12 pop_temp raw=12 +0EC8: 53 suspend raw=53 +0EC9: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c02114556454e5400000000 +0ED5: 5B line_number line_number=0x187 raw=5b8701 +0ED8: 59 push_pid raw=59 +0ED9: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +0EDB: 0A push_byte_immediate value_u8=0x3 value_signed=0x3 raw=0a03 +0EDD: 1E mul raw=1e +0EDE: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0EE3: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0EEA: 6E add_sp value_u8=0xFE raw=6efe +0EEC: 5E push_retval_word raw=5e +0EED: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0EF0: 12 pop_temp raw=12 +0EF1: 53 suspend raw=53 +0EF2: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cd9104556454e5400000000 +0EFE: 5B line_number line_number=0x181 raw=5b8101 +0F01: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0F03: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0F05: 14 add raw=14 +0F06: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +0F08: 52 jmp relative_u16=0xFF33 relative_signed=0x-CD target_offset=0xD6A raw=5233ff +0F0B: 5B line_number line_number=0x18A raw=5b8a01 +0F0E: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +0F10: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0F12: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +0F16: 6E add_sp value_u8=0xFA raw=6efa +0F18: 52 jmp relative_u16=0x143 relative_signed=0x143 target_offset=0xF8A raw=524301 +0F1B: 5B line_number line_number=0x18D raw=5b8d01 +0F1E: 5B line_number line_number=0x18C raw=5b8c01 +0F21: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0F23: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +0F27: 6E add_sp value_u8=0xFC raw=6efc +0F29: 5E push_retval_word raw=5e +0F2A: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0F2C: 2C gt raw=2c +0F2D: 51 jne relative_u16=0xAB relative_signed=0xAB target_offset=0xF07 raw=51ab00 +0F30: 5B line_number line_number=0x18E raw=5b8e01 +0F33: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0F35: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +0F37: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0F39: 5B line_number line_number=0x18F raw=5b8f01 +0F3C: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +0F3E: 2A le raw=2a +0F3F: 51 jne relative_u16=0x96 relative_signed=0x96 target_offset=0xF04 raw=519600 +0F42: 5B line_number line_number=0x190 raw=5b9001 +0F45: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0F47: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0F49: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +0F4D: 6E add_sp value_u8=0xFA raw=6efa +0F4F: 5B line_number line_number=0x191 raw=5b9101 +0F52: 59 push_pid raw=59 +0F53: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +0F55: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0F58: 14 add raw=14 +0F59: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0F5B: 4C push_indirect size=0x2 raw=4c02 +0F5D: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0F5F: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0F66: 6E add_sp value_u8=0xFC raw=6efc +0F68: 5E push_retval_word raw=5e +0F69: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0F6C: 12 pop_temp raw=12 +0F6D: 53 suspend raw=53 +0F6E: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c5d104556454e5400000000 +0F7A: 5B line_number line_number=0x192 raw=5b9201 +0F7D: 59 push_pid raw=59 +0F7E: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +0F80: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +0F85: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +0F8C: 6E add_sp value_u8=0xFE raw=6efe +0F8E: 5E push_retval_word raw=5e +0F8F: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0F92: 12 pop_temp raw=12 +0F93: 53 suspend raw=53 +0F94: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c37104556454e5400000000 +0FA0: 5B line_number line_number=0x193 raw=5b9301 +0FA3: 59 push_pid raw=59 +0FA4: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0FA6: 0B push_word_immediate value_u16=0x80 raw=0b8000 +0FA9: 14 add raw=14 +0FAA: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0FAC: 4C push_indirect size=0x2 raw=4c02 +0FAE: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0FB0: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +0FB7: 6E add_sp value_u8=0xFC raw=6efc +0FB9: 5E push_retval_word raw=5e +0FBA: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0FBD: 12 pop_temp raw=12 +0FBE: 53 suspend raw=53 +0FBF: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c0c104556454e5400000000 +0FCB: 5B line_number line_number=0x18E raw=5b8e01 +0FCE: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0FD0: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0FD2: 14 add raw=14 +0FD3: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +0FD5: 52 jmp relative_u16=0xFF5F relative_signed=0x-A1 target_offset=0xE63 raw=525fff +0FD8: 52 jmp relative_u16=0x83 relative_signed=0x83 target_offset=0xF8A raw=528300 +0FDB: 5B line_number line_number=0x199 raw=5b9901 +0FDE: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0FE0: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +0FE2: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0FE4: 5B line_number line_number=0x19A raw=5b9a01 +0FE7: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +0FE9: 2A le raw=2a +0FEA: 51 jne relative_u16=0x6B relative_signed=0x6B target_offset=0xF84 raw=516b00 +0FED: 5B line_number line_number=0x19B raw=5b9b01 +0FF0: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +0FF2: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0FF4: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +0FF8: 6E add_sp value_u8=0xFA raw=6efa +0FFA: 5B line_number line_number=0x19C raw=5b9c01 +0FFD: 59 push_pid raw=59 +0FFE: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1000: 0B push_word_immediate value_u16=0x80 raw=0b8000 +1003: 14 add raw=14 +1004: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1006: 4C push_indirect size=0x2 raw=4c02 +1008: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +100A: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +1011: 6E add_sp value_u8=0xFC raw=6efc +1013: 5E push_retval_word raw=5e +1014: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1017: 12 pop_temp raw=12 +1018: 53 suspend raw=53 +1019: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cb20f4556454e5400000000 +1025: 5B line_number line_number=0x19D raw=5b9d01 +1028: 59 push_pid raw=59 +1029: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +102B: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1030: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1037: 6E add_sp value_u8=0xFE raw=6efe +1039: 5E push_retval_word raw=5e +103A: 54 implies arg0=0x1 arg1=0x1 raw=540101 +103D: 12 pop_temp raw=12 +103E: 53 suspend raw=53 +103F: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c8c0f4556454e5400000000 +104B: 5B line_number line_number=0x199 raw=5b9901 +104E: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1050: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1052: 14 add raw=14 +1053: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +1055: 52 jmp relative_u16=0xFF8A relative_signed=0x-76 target_offset=0xF0E raw=528aff +1058: 5B line_number line_number=0x1A0 raw=5ba001 +105B: 52 jmp relative_u16=0xF6C relative_signed=0xF6C target_offset=0x1EF6 raw=526c0f +105E: 52 jmp relative_u16=0xFDB9 relative_signed=0x-247 target_offset=0xD46 raw=52b9fd +1061: 52 jmp relative_u16=0xF66 relative_signed=0xF66 target_offset=0x1EF6 raw=52660f +1064: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1066: 0A push_byte_immediate value_u8=0x30 value_signed=0x30 raw=0a30 +1068: 24 cmp raw=24 +1069: 51 jne relative_u16=0x12F relative_signed=0x12F target_offset=0x10C7 raw=512f01 +106C: 5B line_number line_number=0x1A7 raw=5ba701 +106F: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1071: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x89 intrinsic_name_hint=Intrinsic00BD() raw=0f048900 +1075: 6E add_sp value_u8=0xFC raw=6efc +1077: 5E push_retval_word raw=5e +1078: 01 pop_local_word bp_offset=0xE1 target=[BP-1Fh] raw=01e1 +107A: 5B line_number line_number=0x1A8 raw=5ba801 +107D: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +107F: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +1083: 6E add_sp value_u8=0xFC raw=6efc +1085: 5E push_retval_word raw=5e +1086: 01 pop_local_word bp_offset=0xEF target=[BP-11h] raw=01ef +1088: 5B line_number line_number=0x1AB raw=5bab01 +108B: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +108D: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +108F: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1091: 5B line_number line_number=0x1AC raw=5bac01 +1094: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +1096: 2A le raw=2a +1097: 51 jne relative_u16=0x6B relative_signed=0x6B target_offset=0x1031 raw=516b00 +109A: 5B line_number line_number=0x1AD raw=5bad01 +109D: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +109F: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +10A1: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +10A5: 6E add_sp value_u8=0xFA raw=6efa +10A7: 5B line_number line_number=0x1AE raw=5bae01 +10AA: 59 push_pid raw=59 +10AB: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +10AD: 0B push_word_immediate value_u16=0x80 raw=0b8000 +10B0: 14 add raw=14 +10B1: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +10B3: 4C push_indirect size=0x2 raw=4c02 +10B5: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +10B7: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +10BE: 6E add_sp value_u8=0xFC raw=6efc +10C0: 5E push_retval_word raw=5e +10C1: 54 implies arg0=0x1 arg1=0x1 raw=540101 +10C4: 12 pop_temp raw=12 +10C5: 53 suspend raw=53 +10C6: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c050f4556454e5400000000 +10D2: 5B line_number line_number=0x1AF raw=5baf01 +10D5: 59 push_pid raw=59 +10D6: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +10D8: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +10DD: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +10E4: 6E add_sp value_u8=0xFE raw=6efe +10E6: 5E push_retval_word raw=5e +10E7: 54 implies arg0=0x1 arg1=0x1 raw=540101 +10EA: 12 pop_temp raw=12 +10EB: 53 suspend raw=53 +10EC: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cdf0e4556454e5400000000 +10F8: 5B line_number line_number=0x1AB raw=5bab01 +10FB: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +10FD: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +10FF: 14 add raw=14 +1100: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +1102: 52 jmp relative_u16=0xFF8A relative_signed=0x-76 target_offset=0xFBB raw=528aff +1105: 5B line_number line_number=0x1B2 raw=5bb201 +1108: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +110A: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +110C: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +110E: 5B line_number line_number=0x1B3 raw=5bb301 +1111: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +1113: 2A le raw=2a +1114: 51 jne relative_u16=0x6E relative_signed=0x6E target_offset=0x10B1 raw=516e00 +1117: 5B line_number line_number=0x1B4 raw=5bb401 +111A: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +111C: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +111E: 1C sub raw=1c +111F: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1121: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +1125: 6E add_sp value_u8=0xFA raw=6efa +1127: 5B line_number line_number=0x1B5 raw=5bb501 +112A: 59 push_pid raw=59 +112B: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +112D: 0B push_word_immediate value_u16=0x80 raw=0b8000 +1130: 14 add raw=14 +1131: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1133: 4C push_indirect size=0x2 raw=4c02 +1135: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1137: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +113E: 6E add_sp value_u8=0xFC raw=6efc +1140: 5E push_retval_word raw=5e +1141: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1144: 12 pop_temp raw=12 +1145: 53 suspend raw=53 +1146: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c850e4556454e5400000000 +1152: 5B line_number line_number=0x1B6 raw=5bb601 +1155: 59 push_pid raw=59 +1156: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +1158: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +115D: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1164: 6E add_sp value_u8=0xFE raw=6efe +1166: 5E push_retval_word raw=5e +1167: 54 implies arg0=0x1 arg1=0x1 raw=540101 +116A: 12 pop_temp raw=12 +116B: 53 suspend raw=53 +116C: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c5f0e4556454e5400000000 +1178: 5B line_number line_number=0x1B2 raw=5bb201 +117B: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +117D: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +117F: 14 add raw=14 +1180: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +1182: 52 jmp relative_u16=0xFF87 relative_signed=0x-79 target_offset=0x1038 raw=5287ff +1185: 5B line_number line_number=0x1B9 raw=5bb901 +1188: 3F push_local_word bp_offset=0xEB target=[BP-15h] raw=3feb +118A: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +118C: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +1190: 6E add_sp value_u8=0xFA raw=6efa +1192: 5B line_number line_number=0x1BA raw=5bba01 +1195: 52 jmp relative_u16=0xE32 relative_signed=0xE32 target_offset=0x1EF6 raw=52320e +1198: 52 jmp relative_u16=0xE2F relative_signed=0xE2F target_offset=0x1EF6 raw=522f0e +119B: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +119D: 0A push_byte_immediate value_u8=0x31 value_signed=0x31 raw=0a31 +119F: 24 cmp raw=24 +11A0: 51 jne relative_u16=0x167 relative_signed=0x167 target_offset=0x1236 raw=516701 +11A3: 5B line_number line_number=0x1C0 raw=5bc001 +11A6: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +11A8: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x89 intrinsic_name_hint=Intrinsic00BD() raw=0f048900 +11AC: 6E add_sp value_u8=0xFC raw=6efc +11AE: 5E push_retval_word raw=5e +11AF: 01 pop_local_word bp_offset=0xE1 target=[BP-1Fh] raw=01e1 +11B1: 5B line_number line_number=0x1C1 raw=5bc101 +11B4: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +11B6: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +11BA: 6E add_sp value_u8=0xFC raw=6efc +11BC: 5E push_retval_word raw=5e +11BD: 01 pop_local_word bp_offset=0xEF target=[BP-11h] raw=01ef +11BF: 5B line_number line_number=0x1C3 raw=5bc301 +11C2: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +11C4: 51 jne relative_u16=0x140 relative_signed=0x140 target_offset=0x1233 raw=514001 +11C7: 5B line_number line_number=0x1C5 raw=5bc501 +11CA: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +11CC: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +11D0: 6E add_sp value_u8=0xFC raw=6efc +11D2: 5E push_retval_word raw=5e +11D3: 51 jne relative_u16=0xAB relative_signed=0xAB target_offset=0x11AD raw=51ab00 +11D6: 5B line_number line_number=0x1C7 raw=5bc701 +11D9: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +11DB: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +11DD: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +11DF: 5B line_number line_number=0x1C8 raw=5bc801 +11E2: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +11E4: 2A le raw=2a +11E5: 51 jne relative_u16=0x96 relative_signed=0x96 target_offset=0x11AA raw=519600 +11E8: 5B line_number line_number=0x1C9 raw=5bc901 +11EB: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +11ED: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +11EF: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +11F3: 6E add_sp value_u8=0xFA raw=6efa +11F5: 5B line_number line_number=0x1CA raw=5bca01 +11F8: 59 push_pid raw=59 +11F9: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +11FB: 0B push_word_immediate value_u16=0x80 raw=0b8000 +11FE: 14 add raw=14 +11FF: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1201: 4C push_indirect size=0x2 raw=4c02 +1203: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1205: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +120C: 6E add_sp value_u8=0xFC raw=6efc +120E: 5E push_retval_word raw=5e +120F: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1212: 12 pop_temp raw=12 +1213: 53 suspend raw=53 +1214: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cb70d4556454e5400000000 +1220: 5B line_number line_number=0x1CB raw=5bcb01 +1223: 59 push_pid raw=59 +1224: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +1226: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +122B: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1232: 6E add_sp value_u8=0xFE raw=6efe +1234: 5E push_retval_word raw=5e +1235: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1238: 12 pop_temp raw=12 +1239: 53 suspend raw=53 +123A: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c910d4556454e5400000000 +1246: 5B line_number line_number=0x1CC raw=5bcc01 +1249: 59 push_pid raw=59 +124A: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +124C: 0B push_word_immediate value_u16=0x80 raw=0b8000 +124F: 14 add raw=14 +1250: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1252: 4C push_indirect size=0x2 raw=4c02 +1254: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1256: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +125D: 6E add_sp value_u8=0xFC raw=6efc +125F: 5E push_retval_word raw=5e +1260: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1263: 12 pop_temp raw=12 +1264: 53 suspend raw=53 +1265: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c660d4556454e5400000000 +1271: 5B line_number line_number=0x1C7 raw=5bc701 +1274: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1276: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1278: 14 add raw=14 +1279: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +127B: 52 jmp relative_u16=0xFF5F relative_signed=0x-A1 target_offset=0x1109 raw=525fff +127E: 52 jmp relative_u16=0x83 relative_signed=0x83 target_offset=0x1230 raw=528300 +1281: 5B line_number line_number=0x1D1 raw=5bd101 +1284: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1286: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +1288: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +128A: 5B line_number line_number=0x1D2 raw=5bd201 +128D: 3F push_local_word bp_offset=0xEF target=[BP-11h] raw=3fef +128F: 2A le raw=2a +1290: 51 jne relative_u16=0x6B relative_signed=0x6B target_offset=0x122A raw=516b00 +1293: 5B line_number line_number=0x1D3 raw=5bd301 +1296: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1298: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +129A: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x3B intrinsic_name_hint=Egg::getEggId(void) raw=0f063b00 +129E: 6E add_sp value_u8=0xFA raw=6efa +12A0: 5B line_number line_number=0x1D4 raw=5bd401 +12A3: 59 push_pid raw=59 +12A4: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +12A6: 0B push_word_immediate value_u16=0x80 raw=0b8000 +12A9: 14 add raw=14 +12AA: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +12AC: 4C push_indirect size=0x2 raw=4c02 +12AE: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +12B0: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +12B7: 6E add_sp value_u8=0xFC raw=6efc +12B9: 5E push_retval_word raw=5e +12BA: 54 implies arg0=0x1 arg1=0x1 raw=540101 +12BD: 12 pop_temp raw=12 +12BE: 53 suspend raw=53 +12BF: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c0c0d4556454e5400000000 +12CB: 5B line_number line_number=0x1D5 raw=5bd501 +12CE: 59 push_pid raw=59 +12CF: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +12D1: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +12D6: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +12DD: 6E add_sp value_u8=0xFE raw=6efe +12DF: 5E push_retval_word raw=5e +12E0: 54 implies arg0=0x1 arg1=0x1 raw=540101 +12E3: 12 pop_temp raw=12 +12E4: 53 suspend raw=53 +12E5: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5ce60c4556454e5400000000 +12F1: 5B line_number line_number=0x1D1 raw=5bd101 +12F4: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +12F6: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +12F8: 14 add raw=14 +12F9: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +12FB: 52 jmp relative_u16=0xFF8A relative_signed=0x-76 target_offset=0x11B4 raw=528aff +12FE: 5B line_number line_number=0x1D8 raw=5bd801 +1301: 52 jmp relative_u16=0xCC6 relative_signed=0xCC6 target_offset=0x1EF6 raw=52c60c +1304: 52 jmp relative_u16=0xFEB8 relative_signed=0x-148 target_offset=0x10EB raw=52b8fe +1307: 52 jmp relative_u16=0xCC0 relative_signed=0xCC0 target_offset=0x1EF6 raw=52c00c +130A: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +130C: 0A push_byte_immediate value_u8=0x32 value_signed=0x32 raw=0a32 +130E: 24 cmp raw=24 +130F: 51 jne relative_u16=0x55 relative_signed=0x55 target_offset=0x1293 raw=515500 +1312: 74 loopscr value_u8=0x24 raw=7424 +1314: 5B line_number line_number=0x1E2 raw=5be201 +1317: 0A push_byte_immediate value_u8=0x64 value_signed=0x64 raw=0a64 +1319: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +131B: 1E mul raw=1e +131C: 5B line_number line_number=0x1E3 raw=5be301 +131F: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1321: 4C push_indirect size=0x2 raw=4c02 +1323: 70 loop current_var=0xF8 string_bytes=0x1 loop_type=0x2 raw=70f80102 +1327: 51 jne relative_u16=0x38 relative_signed=0x38 target_offset=0x128E raw=513800 +132A: 5B line_number line_number=0x1E6 raw=5be601 +132D: 5B line_number line_number=0x1E5 raw=5be501 +1330: 4B push_local_addr bp_offset=0xF8 target=[BP-08h] raw=4bf8 +1332: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +1336: 6E add_sp value_u8=0xFC raw=6efc +1338: 5E push_retval_word raw=5e +1339: 0A push_byte_immediate value_u8=0x64 value_signed=0x64 raw=0a64 +133B: 24 cmp raw=24 +133C: 51 jne relative_u16=0x1F relative_signed=0x1F target_offset=0x128A raw=511f00 +133F: 5B line_number line_number=0x1E7 raw=5be701 +1342: 59 push_pid raw=59 +1343: 4B push_local_addr bp_offset=0xF8 target=[BP-08h] raw=4bf8 +1345: 57 spawn arg_bytes=0x0 this_size=0x2 target_class_id=0xA06 target_event_slot=0x20 target_event_name_hint=None raw=570002060a2000 +134C: 5E push_retval_word raw=5e +134D: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1350: 12 pop_temp raw=12 +1351: 53 suspend raw=53 +1352: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c790c4556454e5400000000 +135E: 73 loopnext raw=73 +135F: 52 jmp relative_u16=0xFFC5 relative_signed=0x-3B target_offset=0x1253 raw=52c5ff +1362: 6E add_sp value_u8=0xC6 raw=6ec6 +1364: 52 jmp relative_u16=0xC63 relative_signed=0xC63 target_offset=0x1EF6 raw=52630c +1367: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1369: 0A push_byte_immediate value_u8=0x33 value_signed=0x33 raw=0a33 +136B: 24 cmp raw=24 +136C: 51 jne relative_u16=0x2FE relative_signed=0x2FE target_offset=0x1599 raw=51fe02 +136F: 74 loopscr value_u8=0x24 raw=7424 +1371: 74 loopscr value_u8=0x3D raw=743d +1373: 74 loopscr value_u8=0x40 raw=7440 +1375: 5B line_number line_number=0x1F3 raw=5bf301 +1378: 0B push_word_immediate value_u16=0x21E raw=0b1e02 +137B: 74 loopscr value_u8=0x25 raw=7425 +137D: 0A push_byte_immediate value_u8=0x14 value_signed=0x14 raw=0a14 +137F: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +1381: 1E mul raw=1e +1382: 5B line_number line_number=0x1F4 raw=5bf401 +1385: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1387: 4C push_indirect size=0x2 raw=4c02 +1389: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +138D: 51 jne relative_u16=0x19 relative_signed=0x19 target_offset=0x12D5 raw=511900 +1390: 5B line_number line_number=0x1F5 raw=5bf501 +1393: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +1395: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +1399: 6E add_sp value_u8=0xFC raw=6efc +139B: 5E push_retval_word raw=5e +139C: 01 pop_local_word bp_offset=0xD5 target=[BP-2Bh] raw=01d5 +139E: 5B line_number line_number=0x1F6 raw=5bf601 +13A1: 3F push_local_word bp_offset=0xFE target=[BP-02h] raw=3ffe +13A3: 01 pop_local_word bp_offset=0xD7 target=[BP-29h] raw=01d7 +13A5: 73 loopnext raw=73 +13A6: 52 jmp relative_u16=0xFFE4 relative_signed=0x-1C target_offset=0x12B9 raw=52e4ff +13A9: 6E add_sp value_u8=0xC6 raw=6ec6 +13AB: 74 loopscr value_u8=0x24 raw=7424 +13AD: 5B line_number line_number=0x1FA raw=5bfa01 +13B0: 0B push_word_immediate value_u16=0x1C4 raw=0bc401 +13B3: 0B push_word_immediate value_u16=0x186 raw=0b8601 +13B6: 74 loopscr value_u8=0x42 raw=7442 +13B8: 5B line_number line_number=0x1FB raw=5bfb01 +13BB: 0A push_byte_immediate value_u8=0xA value_signed=0xA raw=0a0a +13BD: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +13BF: 1E mul raw=1e +13C0: 5B line_number line_number=0x1FC raw=5bfc01 +13C3: 3F push_local_word bp_offset=0xD7 target=[BP-29h] raw=3fd7 +13C5: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +13C9: 51 jne relative_u16=0xB relative_signed=0xB target_offset=0x1303 raw=510b00 +13CC: 5B line_number line_number=0x1FD raw=5bfd01 +13CF: 3F push_local_word bp_offset=0xFE target=[BP-02h] raw=3ffe +13D1: 01 pop_local_word bp_offset=0xDB target=[BP-25h] raw=01db +13D3: 73 loopnext raw=73 +13D4: 52 jmp relative_u16=0xFFF2 relative_signed=0x-E target_offset=0x12F5 raw=52f2ff +13D7: 6E add_sp value_u8=0xC6 raw=6ec6 +13D9: 74 loopscr value_u8=0x24 raw=7424 +13DB: 5B line_number line_number=0x201 raw=5b0102 +13DE: 0B push_word_immediate value_u16=0x1C5 raw=0bc501 +13E1: 0B push_word_immediate value_u16=0x184 raw=0b8401 +13E4: 74 loopscr value_u8=0x42 raw=7442 +13E6: 5B line_number line_number=0x202 raw=5b0202 +13E9: 0A push_byte_immediate value_u8=0xA value_signed=0xA raw=0a0a +13EB: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +13ED: 1E mul raw=1e +13EE: 5B line_number line_number=0x203 raw=5b0302 +13F1: 3F push_local_word bp_offset=0xD7 target=[BP-29h] raw=3fd7 +13F3: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +13F7: 51 jne relative_u16=0xB relative_signed=0xB target_offset=0x1331 raw=510b00 +13FA: 5B line_number line_number=0x204 raw=5b0402 +13FD: 3F push_local_word bp_offset=0xFE target=[BP-02h] raw=3ffe +13FF: 01 pop_local_word bp_offset=0xD9 target=[BP-27h] raw=01d9 +1401: 73 loopnext raw=73 +1402: 52 jmp relative_u16=0xFFF2 relative_signed=0x-E target_offset=0x1323 raw=52f2ff +1405: 6E add_sp value_u8=0xC6 raw=6ec6 +1407: 5B line_number line_number=0x209 raw=5b0902 +140A: 5B line_number line_number=0x208 raw=5b0802 +140D: 3F push_local_word bp_offset=0xDB target=[BP-25h] raw=3fdb +140F: 5B line_number line_number=0x209 raw=5b0902 +1412: 3F push_local_word bp_offset=0xD9 target=[BP-27h] raw=3fd9 +1414: 32 and raw=32 +1415: 51 jne relative_u16=0x191 relative_signed=0x191 target_offset=0x14D5 raw=519101 +1418: 5B line_number line_number=0x20A raw=5b0a02 +141B: 0B push_word_immediate value_u16=0xF4 raw=0bf400 +141E: 79 global_address global_id=0x3C raw=793c00 +1421: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x15 intrinsic_name_hint=Item::andStatus(void) raw=0f061500 +1425: 6E add_sp value_u8=0xFA raw=6efa +1427: 5B line_number line_number=0x20B raw=5b0b02 +142A: 59 push_pid raw=59 +142B: 0A push_byte_immediate value_u8=0x3C value_signed=0x3C raw=0a3c +142D: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1432: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1439: 6E add_sp value_u8=0xFE raw=6efe +143B: 5E push_retval_word raw=5e +143C: 54 implies arg0=0x1 arg1=0x1 raw=540101 +143F: 12 pop_temp raw=12 +1440: 53 suspend raw=53 +1441: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c8a0b4556454e5400000000 +144D: 5B line_number line_number=0x20C raw=5b0c02 +1450: 0B push_word_immediate value_u16=0xF3 raw=0bf300 +1453: 79 global_address global_id=0x3C raw=793c00 +1456: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x38 intrinsic_name_hint=Item::andStatus(void) raw=0f063800 +145A: 6E add_sp value_u8=0xFA raw=6efa +145C: 5B line_number line_number=0x210 raw=5b1002 +145F: 3F push_local_word bp_offset=0xD5 target=[BP-2Bh] raw=3fd5 +1461: 51 jne relative_u16=0x87 relative_signed=0x87 target_offset=0x1417 raw=518700 +1464: 5B line_number line_number=0x211 raw=5b1102 +1467: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1469: 4B push_local_addr bp_offset=0xDB target=[BP-25h] raw=4bdb +146B: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x59 intrinsic_name_hint=Item::setQuantity(sint16) raw=0f065900 +146F: 6E add_sp value_u8=0xFA raw=6efa +1471: 5B line_number line_number=0x212 raw=5b1202 +1474: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1476: 4B push_local_addr bp_offset=0xD9 target=[BP-27h] raw=4bd9 +1478: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x59 intrinsic_name_hint=Item::setQuantity(sint16) raw=0f065900 +147C: 6E add_sp value_u8=0xFA raw=6efa +147E: 5B line_number line_number=0x214 raw=5b1402 +1481: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1483: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +1485: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1487: 0A push_byte_immediate value_u8=0x4 value_signed=0x4 raw=0a04 +1489: 2A le raw=2a +148A: 51 jne relative_u16=0x5B relative_signed=0x5B target_offset=0x1414 raw=515b00 +148D: 5B line_number line_number=0x216 raw=5b1602 +1490: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1492: 4B push_local_addr bp_offset=0xDB target=[BP-25h] raw=4bdb +1494: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x59 intrinsic_name_hint=Item::setQuantity(sint16) raw=0f065900 +1498: 6E add_sp value_u8=0xFA raw=6efa +149A: 5B line_number line_number=0x217 raw=5b1702 +149D: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +149F: 4B push_local_addr bp_offset=0xD9 target=[BP-27h] raw=4bd9 +14A1: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x59 intrinsic_name_hint=Item::setQuantity(sint16) raw=0f065900 +14A5: 6E add_sp value_u8=0xFA raw=6efa +14A7: 5B line_number line_number=0x218 raw=5b1802 +14AA: 0B push_word_immediate value_u16=0x93 raw=0b9300 +14AD: 4B push_local_addr bp_offset=0xDB target=[BP-25h] raw=4bdb +14AF: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x43 intrinsic_name_hint=Item::isOn(uint16) raw=0f064300 +14B3: 6E add_sp value_u8=0xFA raw=6efa +14B5: 5B line_number line_number=0x219 raw=5b1902 +14B8: 59 push_pid raw=59 +14B9: 0A push_byte_immediate value_u8=0x1E value_signed=0x1E raw=0a1e +14BB: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +14C0: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +14C7: 6E add_sp value_u8=0xFE raw=6efe +14C9: 5E push_retval_word raw=5e +14CA: 54 implies arg0=0x1 arg1=0x1 raw=540101 +14CD: 12 pop_temp raw=12 +14CE: 53 suspend raw=53 +14CF: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cfc0a4556454e5400000000 +14DB: 5B line_number line_number=0x214 raw=5b1402 +14DE: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +14E0: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +14E2: 14 add raw=14 +14E3: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +14E5: 52 jmp relative_u16=0xFF9D relative_signed=0x-63 target_offset=0x13B1 raw=529dff +14E8: 52 jmp relative_u16=0x70 relative_signed=0x70 target_offset=0x1487 raw=527000 +14EB: 5B line_number line_number=0x21E raw=5b1e02 +14EE: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +14F0: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +14F2: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +14F4: 0A push_byte_immediate value_u8=0x3 value_signed=0x3 raw=0a03 +14F6: 2A le raw=2a +14F7: 51 jne relative_u16=0x61 relative_signed=0x61 target_offset=0x1487 raw=516100 +14FA: 5B line_number line_number=0x220 raw=5b2002 +14FD: 0A push_byte_immediate value_u8=0x7 value_signed=0x7 raw=0a07 +14FF: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1501: 1C sub raw=1c +1502: 4B push_local_addr bp_offset=0xDB target=[BP-25h] raw=4bdb +1504: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x59 intrinsic_name_hint=Item::setQuantity(sint16) raw=0f065900 +1508: 6E add_sp value_u8=0xFA raw=6efa +150A: 5B line_number line_number=0x221 raw=5b2102 +150D: 0A push_byte_immediate value_u8=0x7 value_signed=0x7 raw=0a07 +150F: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1511: 1C sub raw=1c +1512: 4B push_local_addr bp_offset=0xD9 target=[BP-27h] raw=4bd9 +1514: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x59 intrinsic_name_hint=Item::setQuantity(sint16) raw=0f065900 +1518: 6E add_sp value_u8=0xFA raw=6efa +151A: 5B line_number line_number=0x222 raw=5b2202 +151D: 0B push_word_immediate value_u16=0x93 raw=0b9300 +1520: 4B push_local_addr bp_offset=0xDB target=[BP-25h] raw=4bdb +1522: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x43 intrinsic_name_hint=Item::isOn(uint16) raw=0f064300 +1526: 6E add_sp value_u8=0xFA raw=6efa +1528: 5B line_number line_number=0x223 raw=5b2302 +152B: 59 push_pid raw=59 +152C: 0A push_byte_immediate value_u8=0x1E value_signed=0x1E raw=0a1e +152E: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1533: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +153A: 6E add_sp value_u8=0xFE raw=6efe +153C: 5E push_retval_word raw=5e +153D: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1540: 12 pop_temp raw=12 +1541: 53 suspend raw=53 +1542: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c890a4556454e5400000000 +154E: 5B line_number line_number=0x21E raw=5b1e02 +1551: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1553: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1555: 14 add raw=14 +1556: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +1558: 52 jmp relative_u16=0xFF97 relative_signed=0x-69 target_offset=0x141E raw=5297ff +155B: 5B line_number line_number=0x228 raw=5b2802 +155E: 59 push_pid raw=59 +155F: 0A push_byte_immediate value_u8=0x1E value_signed=0x1E raw=0a1e +1561: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1566: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +156D: 6E add_sp value_u8=0xFE raw=6efe +156F: 5E push_retval_word raw=5e +1570: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1573: 12 pop_temp raw=12 +1574: 53 suspend raw=53 +1575: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c560a4556454e5400000000 +1581: 5B line_number line_number=0x229 raw=5b2902 +1584: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1586: 4B push_local_addr bp_offset=0xDB target=[BP-25h] raw=4bdb +1588: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x59 intrinsic_name_hint=Item::setQuantity(sint16) raw=0f065900 +158C: 6E add_sp value_u8=0xFA raw=6efa +158E: 5B line_number line_number=0x22A raw=5b2a02 +1591: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1593: 4B push_local_addr bp_offset=0xD9 target=[BP-27h] raw=4bd9 +1595: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x59 intrinsic_name_hint=Item::setQuantity(sint16) raw=0f065900 +1599: 6E add_sp value_u8=0xFA raw=6efa +159B: 5B line_number line_number=0x22B raw=5b2b02 +159E: 0B push_word_immediate value_u16=0x93 raw=0b9300 +15A1: 4B push_local_addr bp_offset=0xDB target=[BP-25h] raw=4bdb +15A3: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x43 intrinsic_name_hint=Item::isOn(uint16) raw=0f064300 +15A7: 6E add_sp value_u8=0xFA raw=6efa +15A9: 5B line_number line_number=0x22E raw=5b2e02 +15AC: 59 push_pid raw=59 +15AD: 0A push_byte_immediate value_u8=0x3C value_signed=0x3C raw=0a3c +15AF: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +15B4: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +15BB: 6E add_sp value_u8=0xFE raw=6efe +15BD: 5E push_retval_word raw=5e +15BE: 54 implies arg0=0x1 arg1=0x1 raw=540101 +15C1: 12 pop_temp raw=12 +15C2: 53 suspend raw=53 +15C3: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c080a4556454e5400000000 +15CF: 5B line_number line_number=0x22F raw=5b2f02 +15D2: 59 push_pid raw=59 +15D3: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +15D5: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +15D7: 4C push_indirect size=0x2 raw=4c02 +15D9: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +15DB: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +15E2: 6E add_sp value_u8=0xFC raw=6efc +15E4: 5E push_retval_word raw=5e +15E5: 54 implies arg0=0x1 arg1=0x1 raw=540101 +15E8: 12 pop_temp raw=12 +15E9: 53 suspend raw=53 +15EA: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5ce1094556454e5400000000 +15F6: 74 loopscr value_u8=0x24 raw=7424 +15F8: 5B line_number line_number=0x232 raw=5b3202 +15FB: 0B push_word_immediate value_u16=0x193 raw=0b9301 +15FE: 0B push_word_immediate value_u16=0x1C7 raw=0bc701 +1601: 74 loopscr value_u8=0x42 raw=7442 +1603: 5B line_number line_number=0x233 raw=5b3302 +1606: 0A push_byte_immediate value_u8=0xA value_signed=0xA raw=0a0a +1608: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +160A: 1E mul raw=1e +160B: 5B line_number line_number=0x234 raw=5b3402 +160E: 3F push_local_word bp_offset=0xD7 target=[BP-29h] raw=3fd7 +1610: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +1614: 51 jne relative_u16=0x2A relative_signed=0x2A target_offset=0x156D raw=512a00 +1617: 5B line_number line_number=0x235 raw=5b3502 +161A: 3F push_local_word bp_offset=0xFE target=[BP-02h] raw=3ffe +161C: 01 pop_local_word bp_offset=0xF8 target=[BP-08h] raw=01f8 +161E: 5B line_number line_number=0x236 raw=5b3602 +1621: 59 push_pid raw=59 +1622: 4B push_local_addr bp_offset=0xF8 target=[BP-08h] raw=4bf8 +1624: 57 spawn arg_bytes=0x0 this_size=0x2 target_class_id=0xA06 target_event_slot=0x20 target_event_name_hint=None raw=570002060a2000 +162B: 5E push_retval_word raw=5e +162C: 54 implies arg0=0x1 arg1=0x1 raw=540101 +162F: 12 pop_temp raw=12 +1630: 53 suspend raw=53 +1631: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c9a094556454e5400000000 +163D: 73 loopnext raw=73 +163E: 52 jmp relative_u16=0xFFD3 relative_signed=0x-2D target_offset=0x1540 raw=52d3ff +1641: 6E add_sp value_u8=0xC6 raw=6ec6 +1643: 5B line_number line_number=0x239 raw=5b3902 +1646: 59 push_pid raw=59 +1647: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1649: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +164B: 4C push_indirect size=0x2 raw=4c02 +164D: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +164F: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +1656: 6E add_sp value_u8=0xFC raw=6efc +1658: 5E push_retval_word raw=5e +1659: 54 implies arg0=0x1 arg1=0x1 raw=540101 +165C: 12 pop_temp raw=12 +165D: 53 suspend raw=53 +165E: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c6d094556454e5400000000 +166A: 52 jmp relative_u16=0x95D relative_signed=0x95D target_offset=0x1EF6 raw=525d09 +166D: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +166F: 0A push_byte_immediate value_u8=0x34 value_signed=0x34 raw=0a34 +1671: 24 cmp raw=24 +1672: 51 jne relative_u16=0xD2 relative_signed=0xD2 target_offset=0x1673 raw=51d200 +1675: 5B line_number line_number=0x241 raw=5b4102 +1678: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +167A: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x89 intrinsic_name_hint=Intrinsic00BD() raw=0f048900 +167E: 6E add_sp value_u8=0xFC raw=6efc +1680: 5E push_retval_word raw=5e +1681: 01 pop_local_word bp_offset=0xE1 target=[BP-1Fh] raw=01e1 +1683: 5B line_number line_number=0x242 raw=5b4202 +1686: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1688: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +168C: 6E add_sp value_u8=0xFC raw=6efc +168E: 5E push_retval_word raw=5e +168F: 01 pop_local_word bp_offset=0xEF target=[BP-11h] raw=01ef +1691: 5B line_number line_number=0x244 raw=5b4402 +1694: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1696: 51 jne relative_u16=0xAB relative_signed=0xAB target_offset=0x1670 raw=51ab00 +1699: 74 loopscr value_u8=0x24 raw=7424 +169B: 74 loopscr value_u8=0x3D raw=743d +169D: 74 loopscr value_u8=0x3A raw=743a +169F: 5B line_number line_number=0x247 raw=5b4702 +16A2: 0A push_byte_immediate value_u8=0x6 value_signed=0x6 raw=0a06 +16A4: 74 loopscr value_u8=0x25 raw=7425 +16A6: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +16A8: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +16AA: 1E mul raw=1e +16AB: 5B line_number line_number=0x248 raw=5b4802 +16AE: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +16B0: 4C push_indirect size=0x2 raw=4c02 +16B2: 70 loop current_var=0xED string_bytes=0x6 loop_type=0x2 raw=70ed0602 +16B6: 51 jne relative_u16=0x80 relative_signed=0x80 target_offset=0x1665 raw=518000 +16B9: 5B line_number line_number=0x249 raw=5b4902 +16BC: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +16BE: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x8 intrinsic_name_hint=Item::isNpc(void) raw=0f040800 +16C2: 6E add_sp value_u8=0xFC raw=6efc +16C4: 5D push_retval_byte raw=5d +16C5: 51 jne relative_u16=0x47 relative_signed=0x47 target_offset=0x163B raw=514700 +16C8: 5B line_number line_number=0x24B raw=5b4b02 +16CB: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +16CD: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0xB intrinsic_name_hint=Item::getQLo(void) raw=0f040b00 +16D1: 6E add_sp value_u8=0xFC raw=6efc +16D3: 5E push_retval_word raw=5e +16D4: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +16D6: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +16DA: 6E add_sp value_u8=0xFC raw=6efc +16DC: 5E push_retval_word raw=5e +16DD: 24 cmp raw=24 +16DE: 51 jne relative_u16=0x2E relative_signed=0x2E target_offset=0x163B raw=512e00 +16E1: 5B line_number line_number=0x24E raw=5b4e02 +16E4: 5B line_number line_number=0x24D raw=5b4d02 +16E7: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +16E9: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x39 intrinsic_name_hint=Kernel::resetRef(uint16,ProcessType) raw=0f043900 +16ED: 6E add_sp value_u8=0xFC raw=6efc +16EF: 5D push_retval_byte raw=5d +16F0: 30 not raw=30 +16F1: 51 jne relative_u16=0x1B relative_signed=0x1B target_offset=0x163B raw=511b00 +16F4: 5B line_number line_number=0x24F raw=5b4f02 +16F7: 0B push_word_immediate value_u16=0x99 raw=0b9900 +16FA: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +16FC: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x15 intrinsic_name_hint=Item::andStatus(void) raw=0f061500 +1700: 6E add_sp value_u8=0xFA raw=6efa +1702: 5B line_number line_number=0x250 raw=5b5002 +1705: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +1707: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +1709: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x7D intrinsic_name_hint=Intrinsic007D() raw=0f067d00 +170D: 6E add_sp value_u8=0xFA raw=6efa +170F: 5B line_number line_number=0x255 raw=5b5502 +1712: 59 push_pid raw=59 +1713: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +1715: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +171A: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1721: 6E add_sp value_u8=0xFE raw=6efe +1723: 5E push_retval_word raw=5e +1724: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1727: 12 pop_temp raw=12 +1728: 53 suspend raw=53 +1729: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5ca2084556454e5400000000 +1735: 73 loopnext raw=73 +1736: 52 jmp relative_u16=0xFF7D relative_signed=0x-83 target_offset=0x15E2 raw=527dff +1739: 6E add_sp value_u8=0xC6 raw=6ec6 +173B: 5B line_number line_number=0x258 raw=5b5802 +173E: 52 jmp relative_u16=0x889 relative_signed=0x889 target_offset=0x1EF6 raw=528908 +1741: 52 jmp relative_u16=0xFF4D relative_signed=0x-B3 target_offset=0x15BD raw=524dff +1744: 52 jmp relative_u16=0x883 relative_signed=0x883 target_offset=0x1EF6 raw=528308 +1747: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1749: 0A push_byte_immediate value_u8=0x35 value_signed=0x35 raw=0a35 +174B: 24 cmp raw=24 +174C: 51 jne relative_u16=0xB8 relative_signed=0xB8 target_offset=0x1733 raw=51b800 +174F: 74 loopscr value_u8=0x24 raw=7424 +1751: 74 loopscr value_u8=0x3D raw=743d +1753: 74 loopscr value_u8=0x40 raw=7440 +1755: 5B line_number line_number=0x260 raw=5b6002 +1758: 0B push_word_immediate value_u16=0x4C8 raw=0bc804 +175B: 74 loopscr value_u8=0x25 raw=7425 +175D: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +175F: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +1761: 1E mul raw=1e +1762: 5B line_number line_number=0x261 raw=5b6102 +1765: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1767: 4C push_indirect size=0x2 raw=4c02 +1769: 70 loop current_var=0xED string_bytes=0x6 loop_type=0x2 raw=70ed0602 +176D: 51 jne relative_u16=0x92 relative_signed=0x92 target_offset=0x172E raw=519200 +1770: 5B line_number line_number=0x262 raw=5b6202 +1773: 59 push_pid raw=59 +1774: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1776: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +177B: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1782: 6E add_sp value_u8=0xFE raw=6efe +1784: 5E push_retval_word raw=5e +1785: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1788: 12 pop_temp raw=12 +1789: 53 suspend raw=53 +178A: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c41084556454e5400000000 +1796: 5B line_number line_number=0x263 raw=5b6302 +1799: 0A push_byte_immediate value_u8=0x4 value_signed=0x4 raw=0a04 +179B: 0B push_word_immediate value_u16=0x4C8 raw=0bc804 +179E: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +17A0: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x1F intrinsic_name_hint=Item::getQLo(void) raw=0f081f00 +17A4: 6E add_sp value_u8=0xF8 raw=6ef8 +17A6: 5B line_number line_number=0x264 raw=5b6402 +17A9: 0A push_byte_immediate value_u8=0x2C value_signed=0x2C raw=0a2c +17AB: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +17AD: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +17B1: 6E add_sp value_u8=0xFA raw=6efa +17B3: 5B line_number line_number=0x265 raw=5b6502 +17B6: 0A push_byte_immediate value_u8=0x4 value_signed=0x4 raw=0a04 +17B8: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +17BA: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x68 intrinsic_name_hint=Kernel::getNumProcesses(uint16,ProcessType) raw=0f066800 +17BE: 6E add_sp value_u8=0xFA raw=6efa +17C0: 5B line_number line_number=0x266 raw=5b6602 +17C3: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +17C5: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x9 intrinsic_name_hint=Item::getZ(void) raw=0f040900 +17C9: 6E add_sp value_u8=0xFC raw=6efc +17CB: 5D push_retval_byte raw=5d +17CC: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +17CE: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +17D2: 6E add_sp value_u8=0xFC raw=6efc +17D4: 5E push_retval_word raw=5e +17D5: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +17D7: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +17DB: 6E add_sp value_u8=0xFC raw=6efc +17DD: 5E push_retval_word raw=5e +17DE: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +17E0: 0F call_intrinsic arg_bytes=0xA intrinsic_ordinal=0x20 intrinsic_name_hint=Item::setQLo(sint16) raw=0f0a2000 +17E4: 6E add_sp value_u8=0xF6 raw=6ef6 +17E6: 5B line_number line_number=0x267 raw=5b6702 +17E9: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +17EB: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x8B intrinsic_name_hint=Item::setQuality(sint16) raw=0f048b00 +17EF: 6E add_sp value_u8=0xFC raw=6efc +17F1: 5E push_retval_word raw=5e +17F2: 12 pop_temp raw=12 +17F3: 5B line_number line_number=0x268 raw=5b6802 +17F6: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +17F8: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0xA intrinsic_name_hint=Intrinsic000A() raw=0f040a00 +17FC: 6E add_sp value_u8=0xFC raw=6efc +17FE: 73 loopnext raw=73 +17FF: 52 jmp relative_u16=0xFF6B relative_signed=0x-95 target_offset=0x1699 raw=526bff +1802: 6E add_sp value_u8=0xC6 raw=6ec6 +1804: 52 jmp relative_u16=0x7C3 relative_signed=0x7C3 target_offset=0x1EF6 raw=52c307 +1807: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1809: 0A push_byte_immediate value_u8=0x36 value_signed=0x36 raw=0a36 +180B: 24 cmp raw=24 +180C: 51 jne relative_u16=0x4F relative_signed=0x4F target_offset=0x178A raw=514f00 +180F: 74 loopscr value_u8=0x24 raw=7424 +1811: 74 loopscr value_u8=0x3D raw=743d +1813: 74 loopscr value_u8=0x40 raw=7440 +1815: 5B line_number line_number=0x270 raw=5b7002 +1818: 0B push_word_immediate value_u16=0x4C8 raw=0bc804 +181B: 74 loopscr value_u8=0x25 raw=7425 +181D: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +181F: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +1821: 1E mul raw=1e +1822: 5B line_number line_number=0x271 raw=5b7102 +1825: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1827: 4C push_indirect size=0x2 raw=4c02 +1829: 70 loop current_var=0xED string_bytes=0x6 loop_type=0x2 raw=70ed0602 +182D: 51 jne relative_u16=0x29 relative_signed=0x29 target_offset=0x1785 raw=512900 +1830: 5B line_number line_number=0x272 raw=5b7202 +1833: 0A push_byte_immediate value_u8=0x64 value_signed=0x64 raw=0a64 +1835: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +1837: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +183B: 6E add_sp value_u8=0xFA raw=6efa +183D: 5B line_number line_number=0x273 raw=5b7302 +1840: 0A push_byte_immediate value_u8=0x6 value_signed=0x6 raw=0a06 +1842: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +1844: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x68 intrinsic_name_hint=Kernel::getNumProcesses(uint16,ProcessType) raw=0f066800 +1848: 6E add_sp value_u8=0xFA raw=6efa +184A: 5B line_number line_number=0x274 raw=5b7402 +184D: 4B push_local_addr bp_offset=0xED target=[BP-13h] raw=4bed +184F: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x8C intrinsic_name_hint=Intrinsic008C() raw=0f048c00 +1853: 6E add_sp value_u8=0xFC raw=6efc +1855: 73 loopnext raw=73 +1856: 52 jmp relative_u16=0xFFD4 relative_signed=0x-2C target_offset=0x1759 raw=52d4ff +1859: 6E add_sp value_u8=0xC6 raw=6ec6 +185B: 52 jmp relative_u16=0x76C relative_signed=0x76C target_offset=0x1EF6 raw=526c07 +185E: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1860: 0A push_byte_immediate value_u8=0x37 value_signed=0x37 raw=0a37 +1862: 24 cmp raw=24 +1863: 51 jne relative_u16=0x108 relative_signed=0x108 target_offset=0x189A raw=510801 +1866: 5B line_number line_number=0x27E raw=5b7e02 +1869: 4E push_global global_id=0x38 size=0x1 raw=4e380001 +186D: 30 not raw=30 +186E: 51 jne relative_u16=0x6 relative_signed=0x6 target_offset=0x17A3 raw=510600 +1871: 5B line_number line_number=0x27F raw=5b7f02 +1874: 52 jmp relative_u16=0x753 relative_signed=0x753 target_offset=0x1EF6 raw=525307 +1877: 5B line_number line_number=0x282 raw=5b8202 +187A: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +187C: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x89 intrinsic_name_hint=Intrinsic00BD() raw=0f048900 +1880: 6E add_sp value_u8=0xFC raw=6efc +1882: 5E push_retval_word raw=5e +1883: 01 pop_local_word bp_offset=0xE1 target=[BP-1Fh] raw=01e1 +1885: 5B line_number line_number=0x284 raw=5b8402 +1888: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +188A: 51 jne relative_u16=0xDE relative_signed=0xDE target_offset=0x1897 raw=51de00 +188D: 5B line_number line_number=0x286 raw=5b8602 +1890: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1892: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +1894: 5B line_number line_number=0x289 raw=5b8902 +1897: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1899: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +189D: 6E add_sp value_u8=0xFC raw=6efc +189F: 5E push_retval_word raw=5e +18A0: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +18A2: 1C sub raw=1c +18A3: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +18A5: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +18A9: 6E add_sp value_u8=0xFA raw=6efa +18AB: 5B line_number line_number=0x28B raw=5b8b02 +18AE: 59 push_pid raw=59 +18AF: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +18B1: 0B push_word_immediate value_u16=0x80 raw=0b8000 +18B4: 14 add raw=14 +18B5: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +18B7: 4C push_indirect size=0x2 raw=4c02 +18B9: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +18BB: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +18C2: 6E add_sp value_u8=0xFC raw=6efc +18C4: 5E push_retval_word raw=5e +18C5: 54 implies arg0=0x1 arg1=0x1 raw=540101 +18C8: 12 pop_temp raw=12 +18C9: 53 suspend raw=53 +18CA: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c01074556454e5400000000 +18D6: 5B line_number line_number=0x28C raw=5b8c02 +18D9: 59 push_pid raw=59 +18DA: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +18DC: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +18E1: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +18E8: 6E add_sp value_u8=0xFE raw=6efe +18EA: 5E push_retval_word raw=5e +18EB: 54 implies arg0=0x1 arg1=0x1 raw=540101 +18EE: 12 pop_temp raw=12 +18EF: 53 suspend raw=53 +18F0: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cdb064556454e5400000000 +18FC: 5B line_number line_number=0x28D raw=5b8d02 +18FF: 59 push_pid raw=59 +1900: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1902: 0B push_word_immediate value_u16=0x80 raw=0b8000 +1905: 14 add raw=14 +1906: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1908: 4C push_indirect size=0x2 raw=4c02 +190A: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +190C: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +1913: 6E add_sp value_u8=0xFC raw=6efc +1915: 5E push_retval_word raw=5e +1916: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1919: 12 pop_temp raw=12 +191A: 53 suspend raw=53 +191B: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cb0064556454e5400000000 +1927: 5B line_number line_number=0x28E raw=5b8e02 +192A: 59 push_pid raw=59 +192B: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +192D: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1932: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1939: 6E add_sp value_u8=0xFE raw=6efe +193B: 5E push_retval_word raw=5e +193C: 54 implies arg0=0x1 arg1=0x1 raw=540101 +193F: 12 pop_temp raw=12 +1940: 53 suspend raw=53 +1941: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c8a064556454e5400000000 +194D: 5B line_number line_number=0x291 raw=5b9102 +1950: 5B line_number line_number=0x290 raw=5b9002 +1953: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1955: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +1959: 6E add_sp value_u8=0xFC raw=6efc +195B: 5E push_retval_word raw=5e +195C: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +195E: 24 cmp raw=24 +195F: 51 jne relative_u16=0x6 relative_signed=0x6 target_offset=0x1894 raw=510600 +1962: 5B line_number line_number=0x292 raw=5b9202 +1965: 52 jmp relative_u16=0x662 relative_signed=0x662 target_offset=0x1EF6 raw=526206 +1968: 52 jmp relative_u16=0xFF1A relative_signed=0x-E6 target_offset=0x17B1 raw=521aff +196B: 52 jmp relative_u16=0x65C relative_signed=0x65C target_offset=0x1EF6 raw=525c06 +196E: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1970: 0A push_byte_immediate value_u8=0x4B value_signed=0x4B raw=0a4b +1972: 24 cmp raw=24 +1973: 51 jne relative_u16=0x6B relative_signed=0x6B target_offset=0x190D raw=516b00 +1976: 74 loopscr value_u8=0x24 raw=7424 +1978: 74 loopscr value_u8=0x3D raw=743d +197A: 74 loopscr value_u8=0x3A raw=743a +197C: 5B line_number line_number=0x29C raw=5b9c02 +197F: 0A push_byte_immediate value_u8=0x6 value_signed=0x6 raw=0a06 +1981: 74 loopscr value_u8=0x25 raw=7425 +1983: 0A push_byte_immediate value_u8=0x64 value_signed=0x64 raw=0a64 +1985: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +1987: 1E mul raw=1e +1988: 5B line_number line_number=0x29D raw=5b9d02 +198B: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +198D: 4C push_indirect size=0x2 raw=4c02 +198F: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +1993: 51 jne relative_u16=0x46 relative_signed=0x46 target_offset=0x1908 raw=514600 +1996: 5B line_number line_number=0x29F raw=5b9f02 +1999: 5B line_number line_number=0x29E raw=5b9e02 +199C: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +199E: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +19A2: 6E add_sp value_u8=0xFC raw=6efc +19A4: 5E push_retval_word raw=5e +19A5: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +19A7: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +19AB: 6E add_sp value_u8=0xFC raw=6efc +19AD: 5E push_retval_word raw=5e +19AE: 24 cmp raw=24 +19AF: 51 jne relative_u16=0x26 relative_signed=0x26 target_offset=0x1904 raw=512600 +19B2: 5B line_number line_number=0x2A0 raw=5ba002 +19B5: 59 push_pid raw=59 +19B6: 0A push_byte_immediate value_u8=0xA value_signed=0xA raw=0a0a +19B8: 0A push_byte_immediate value_u8=0xC value_signed=0xC raw=0a0c +19BA: 0A push_byte_immediate value_u8=0xA value_signed=0xA raw=0a0a +19BC: 0A push_byte_immediate value_u8=0xF6 value_signed=0x-A raw=0af6 +19BE: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +19C0: 0F call_intrinsic arg_bytes=0xC intrinsic_ordinal=0x8D intrinsic_name_hint=Intrinsic008D() raw=0f0c8d00 +19C4: 6E add_sp value_u8=0xF4 raw=6ef4 +19C6: 5E push_retval_word raw=5e +19C7: 54 implies arg0=0x1 arg1=0x1 raw=540101 +19CA: 12 pop_temp raw=12 +19CB: 53 suspend raw=53 +19CC: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cff054556454e5400000000 +19D8: 73 loopnext raw=73 +19D9: 52 jmp relative_u16=0xFFB7 relative_signed=0x-49 target_offset=0x18BF raw=52b7ff +19DC: 6E add_sp value_u8=0xC6 raw=6ec6 +19DE: 52 jmp relative_u16=0x5E9 relative_signed=0x5E9 target_offset=0x1EF6 raw=52e905 +19E1: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +19E3: 0A push_byte_immediate value_u8=0x55 value_signed=0x55 raw=0a55 +19E5: 24 cmp raw=24 +19E6: 51 jne relative_u16=0x187 relative_signed=0x187 target_offset=0x1A9C raw=518701 +19E9: 5B line_number line_number=0x2A8 raw=5ba802 +19EC: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +19EE: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x8E intrinsic_name_hint=Intrinsic008E() raw=0f048e00 +19F2: 6E add_sp value_u8=0xFC raw=6efc +19F4: 5E push_retval_word raw=5e +19F5: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +19F7: 1E mul raw=1e +19F8: 01 pop_local_word bp_offset=0xE1 target=[BP-1Fh] raw=01e1 +19FA: 5B line_number line_number=0x2AA raw=5baa02 +19FD: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +19FF: 51 jne relative_u16=0x16B relative_signed=0x16B target_offset=0x1A99 raw=516b01 +1A02: 5B line_number line_number=0x2AC raw=5bac02 +1A05: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1A07: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +1A09: 5B line_number line_number=0x2AF raw=5baf02 +1A0C: 5B line_number line_number=0x2AE raw=5bae02 +1A0F: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1A11: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +1A15: 6E add_sp value_u8=0xFC raw=6efc +1A17: 5E push_retval_word raw=5e +1A18: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1A1A: 24 cmp raw=24 +1A1B: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1A1D: 4C push_indirect size=0x2 raw=4c02 +1A1F: 4E push_global global_id=0x3C size=0x2 raw=4e3c0002 +1A23: 11 call_class_event target_class_id=0xA0C target_event_slot=0x29 target_event_name_hint=None raw=110c0a2900 +1A28: 6E add_sp value_u8=0xFC raw=6efc +1A2A: 5E push_retval_word raw=5e +1A2B: 0A push_byte_immediate value_u8=0x32 value_signed=0x32 raw=0a32 +1A2D: 2C gt raw=2c +1A2E: 34 or raw=34 +1A2F: 51 jne relative_u16=0x6 relative_signed=0x6 target_offset=0x1964 raw=510600 +1A32: 5B line_number line_number=0x2B0 raw=5bb002 +1A35: 52 jmp relative_u16=0x592 relative_signed=0x592 target_offset=0x1EF6 raw=529205 +1A38: 74 loopscr value_u8=0x24 raw=7424 +1A3A: 74 loopscr value_u8=0x3D raw=743d +1A3C: 74 loopscr value_u8=0x3A raw=743a +1A3E: 5B line_number line_number=0x2B4 raw=5bb402 +1A41: 0A push_byte_immediate value_u8=0x6 value_signed=0x6 raw=0a06 +1A43: 74 loopscr value_u8=0x25 raw=7425 +1A45: 0A push_byte_immediate value_u8=0x32 value_signed=0x32 raw=0a32 +1A47: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +1A49: 1E mul raw=1e +1A4A: 5B line_number line_number=0x2B5 raw=5bb502 +1A4D: 4E push_global global_id=0x3C size=0x2 raw=4e3c0002 +1A51: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +1A55: 51 jne relative_u16=0x1D relative_signed=0x1D target_offset=0x19A1 raw=511d00 +1A58: 5B line_number line_number=0x2B6 raw=5bb602 +1A5B: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +1A5D: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x8 intrinsic_name_hint=Item::isNpc(void) raw=0f040800 +1A61: 6E add_sp value_u8=0xFC raw=6efc +1A63: 5D push_retval_byte raw=5d +1A64: 51 jne relative_u16=0xA relative_signed=0xA target_offset=0x199D raw=510a00 +1A67: 5B line_number line_number=0x2B8 raw=5bb802 +1A6A: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1A6C: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1A6E: 14 add raw=14 +1A6F: 01 pop_local_word bp_offset=0xF1 target=[BP-0Fh] raw=01f1 +1A71: 73 loopnext raw=73 +1A72: 52 jmp relative_u16=0xFFE0 relative_signed=0x-20 target_offset=0x1981 raw=52e0ff +1A75: 6E add_sp value_u8=0xC6 raw=6ec6 +1A77: 5B line_number line_number=0x2BD raw=5bbd02 +1A7A: 5B line_number line_number=0x2BC raw=5bbc02 +1A7D: 3F push_local_word bp_offset=0xF1 target=[BP-0Fh] raw=3ff1 +1A7F: 5B line_number line_number=0x2BD raw=5bbd02 +1A82: 0A push_byte_immediate value_u8=0x4 value_signed=0x4 raw=0a04 +1A84: 2A le raw=2a +1A85: 51 jne relative_u16=0xBC relative_signed=0xBC target_offset=0x1A70 raw=51bc00 +1A88: 5B line_number line_number=0x2BF raw=5bbf02 +1A8B: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1A8D: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +1A91: 6E add_sp value_u8=0xFC raw=6efc +1A93: 5E push_retval_word raw=5e +1A94: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1A96: 1C sub raw=1c +1A97: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1A99: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +1A9D: 6E add_sp value_u8=0xFA raw=6efa +1A9F: 5B line_number line_number=0x2C1 raw=5bc102 +1AA2: 59 push_pid raw=59 +1AA3: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1AA5: 0B push_word_immediate value_u16=0x80 raw=0b8000 +1AA8: 14 add raw=14 +1AA9: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1AAB: 4C push_indirect size=0x2 raw=4c02 +1AAD: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1AAF: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +1AB6: 6E add_sp value_u8=0xFC raw=6efc +1AB8: 5E push_retval_word raw=5e +1AB9: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1ABC: 12 pop_temp raw=12 +1ABD: 53 suspend raw=53 +1ABE: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c0d054556454e5400000000 +1ACA: 5B line_number line_number=0x2C2 raw=5bc202 +1ACD: 59 push_pid raw=59 +1ACE: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +1AD0: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1AD5: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1ADC: 6E add_sp value_u8=0xFE raw=6efe +1ADE: 5E push_retval_word raw=5e +1ADF: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1AE2: 12 pop_temp raw=12 +1AE3: 53 suspend raw=53 +1AE4: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5ce7044556454e5400000000 +1AF0: 5B line_number line_number=0x2C3 raw=5bc302 +1AF3: 59 push_pid raw=59 +1AF4: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1AF6: 0B push_word_immediate value_u16=0x80 raw=0b8000 +1AF9: 14 add raw=14 +1AFA: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1AFC: 4C push_indirect size=0x2 raw=4c02 +1AFE: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1B00: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +1B07: 6E add_sp value_u8=0xFC raw=6efc +1B09: 5E push_retval_word raw=5e +1B0A: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1B0D: 12 pop_temp raw=12 +1B0E: 53 suspend raw=53 +1B0F: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cbc044556454e5400000000 +1B1B: 5B line_number line_number=0x2C4 raw=5bc402 +1B1E: 59 push_pid raw=59 +1B1F: 3F push_local_word bp_offset=0xE1 target=[BP-1Fh] raw=3fe1 +1B21: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1B26: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1B2D: 6E add_sp value_u8=0xFE raw=6efe +1B2F: 5E push_retval_word raw=5e +1B30: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1B33: 12 pop_temp raw=12 +1B34: 53 suspend raw=53 +1B35: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c96044556454e5400000000 +1B41: 52 jmp relative_u16=0x26 relative_signed=0x26 target_offset=0x1A96 raw=522600 +1B44: 5B line_number line_number=0x2C8 raw=5bc802 +1B47: 59 push_pid raw=59 +1B48: 0A push_byte_immediate value_u8=0x78 value_signed=0x78 raw=0a78 +1B4A: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1B4F: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1B56: 6E add_sp value_u8=0xFE raw=6efe +1B58: 5E push_retval_word raw=5e +1B59: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1B5C: 12 pop_temp raw=12 +1B5D: 53 suspend raw=53 +1B5E: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c6d044556454e5400000000 +1B6A: 52 jmp relative_u16=0xFE8D relative_signed=0x-173 target_offset=0x1926 raw=528dfe +1B6D: 52 jmp relative_u16=0x45A relative_signed=0x45A target_offset=0x1EF6 raw=525a04 +1B70: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1B72: 0A push_byte_immediate value_u8=0x58 value_signed=0x58 raw=0a58 +1B74: 24 cmp raw=24 +1B75: 51 jne relative_u16=0x83 relative_signed=0x83 target_offset=0x1B27 raw=518300 +1B78: 5B line_number line_number=0x2D1 raw=5bd102 +1B7B: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1B7D: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0xC intrinsic_name_hint=Item::destroy(void) raw=0f020c00 +1B81: 6E add_sp value_u8=0xFE raw=6efe +1B83: 5B line_number line_number=0x2D2 raw=5bd202 +1B86: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x8F intrinsic_name_hint=Camera::getX(void) raw=0f008f00 +1B8A: 5B line_number line_number=0x2D4 raw=5bd402 +1B8D: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x90 intrinsic_name_hint=Camera::getY(void) raw=0f009000 +1B91: 5B line_number line_number=0x2D5 raw=5bd502 +1B94: 59 push_pid raw=59 +1B95: 0A push_byte_immediate value_u8=0xA value_signed=0xA raw=0a0a +1B97: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1B9C: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1BA3: 6E add_sp value_u8=0xFE raw=6efe +1BA5: 5E push_retval_word raw=5e +1BA6: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1BA9: 12 pop_temp raw=12 +1BAA: 53 suspend raw=53 +1BAB: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c20044556454e5400000000 +1BB7: 5B line_number line_number=0x2D6 raw=5bd602 +1BBA: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x91 intrinsic_name_hint=Item::setMapNum(sint16) raw=0f009100 +1BBE: 5B line_number line_number=0x2D7 raw=5bd702 +1BC1: 59 push_pid raw=59 +1BC2: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1BC4: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1BC6: 0D push_string_immediate declared_length=0x3 string=o01 raw=0d03006f303100 +1BCD: 6B str_to_ptr raw=6b +1BCE: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1BD0: 0F call_intrinsic arg_bytes=0xC intrinsic_ordinal=0x92 intrinsic_name_hint=Item::getNpcNum(void) raw=0f0c9200 +1BD4: 65 free_stack_string value_u8=0x4 target=[SP+04h] raw=6504 +1BD6: 6E add_sp value_u8=0xF4 raw=6ef4 +1BD8: 5E push_retval_word raw=5e +1BD9: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1BDC: 12 pop_temp raw=12 +1BDD: 53 suspend raw=53 +1BDE: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5ced034556454e5400000000 +1BEA: 5B line_number line_number=0x2D8 raw=5bd802 +1BED: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x93 intrinsic_name_hint=Item::shoot(WorldPoint&,sint16,sint16) raw=0f009300 +1BF1: 5B line_number line_number=0x2D9 raw=5bd902 +1BF4: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x94 intrinsic_name_hint=Intrinsic0094() raw=0f009400 +1BF8: 52 jmp relative_u16=0x3CF relative_signed=0x3CF target_offset=0x1EF6 raw=52cf03 +1BFB: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1BFD: 0A push_byte_immediate value_u8=0x61 value_signed=0x61 raw=0a61 +1BFF: 24 cmp raw=24 +1C00: 51 jne relative_u16=0x8B relative_signed=0x8B target_offset=0x1BBA raw=518b00 +1C03: 5B line_number line_number=0x2E0 raw=5be002 +1C06: 79 global_address global_id=0x3C raw=793c00 +1C09: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x11 intrinsic_name_hint=Item::getType(void) raw=0f041100 +1C0D: 6E add_sp value_u8=0xFC raw=6efc +1C0F: 5E push_retval_word raw=5e +1C10: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1C12: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1C14: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +1C18: 6E add_sp value_u8=0xFC raw=6efc +1C1A: 5E push_retval_word raw=5e +1C1B: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1C1D: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +1C21: 6E add_sp value_u8=0xFC raw=6efc +1C23: 5E push_retval_word raw=5e +1C24: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x40 intrinsic_name_hint=Intrinsic0040() raw=0f084000 +1C28: 6E add_sp value_u8=0xF8 raw=6ef8 +1C2A: 5B line_number line_number=0x2E3 raw=5be302 +1C2D: 5B line_number line_number=0x2E2 raw=5be202 +1C30: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x95 intrinsic_name_hint=Item::enterFastArea(void) raw=0f009500 +1C34: 5D push_retval_byte raw=5d +1C35: 30 not raw=30 +1C36: 51 jne relative_u16=0x29 relative_signed=0x29 target_offset=0x1B8E raw=512900 +1C39: 5B line_number line_number=0x2E4 raw=5be402 +1C3C: 59 push_pid raw=59 +1C3D: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +1C3F: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1C44: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1C4B: 6E add_sp value_u8=0xFE raw=6efe +1C4D: 5E push_retval_word raw=5e +1C4E: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1C51: 12 pop_temp raw=12 +1C52: 53 suspend raw=53 +1C53: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c78034556454e5400000000 +1C5F: 52 jmp relative_u16=0xFFC8 relative_signed=0x-38 target_offset=0x1B56 raw=52c8ff +1C62: 5B line_number line_number=0x2E8 raw=5be802 +1C65: 79 global_address global_id=0x3C raw=793c00 +1C68: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x11 intrinsic_name_hint=Item::getType(void) raw=0f041100 +1C6C: 6E add_sp value_u8=0xFC raw=6efc +1C6E: 5E push_retval_word raw=5e +1C6F: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1C71: 79 global_address global_id=0x3C raw=793c00 +1C74: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +1C78: 6E add_sp value_u8=0xFC raw=6efc +1C7A: 5E push_retval_word raw=5e +1C7B: 79 global_address global_id=0x3C raw=793c00 +1C7E: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +1C82: 6E add_sp value_u8=0xFC raw=6efc +1C84: 5E push_retval_word raw=5e +1C85: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x40 intrinsic_name_hint=Intrinsic0040() raw=0f084000 +1C89: 6E add_sp value_u8=0xF8 raw=6ef8 +1C8B: 52 jmp relative_u16=0x33C relative_signed=0x33C target_offset=0x1EF6 raw=523c03 +1C8E: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1C90: 0A push_byte_immediate value_u8=0x62 value_signed=0x62 raw=0a62 +1C92: 24 cmp raw=24 +1C93: 51 jne relative_u16=0x37 relative_signed=0x37 target_offset=0x1BF9 raw=513700 +1C96: 74 loopscr value_u8=0x24 raw=7424 +1C98: 74 loopscr value_u8=0x3D raw=743d +1C9A: 74 loopscr value_u8=0x40 raw=7440 +1C9C: 5B line_number line_number=0x2EF raw=5bef02 +1C9F: 0B push_word_immediate value_u16=0x361 raw=0b6103 +1CA2: 74 loopscr value_u8=0x25 raw=7425 +1CA4: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +1CA6: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +1CA8: 1E mul raw=1e +1CA9: 5B line_number line_number=0x2F0 raw=5bf002 +1CAC: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1CAE: 4C push_indirect size=0x2 raw=4c02 +1CB0: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +1CB4: 51 jne relative_u16=0x11 relative_signed=0x11 target_offset=0x1BF4 raw=511100 +1CB7: 5B line_number line_number=0x2F1 raw=5bf102 +1CBA: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1CBC: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +1CBE: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +1CC2: 6E add_sp value_u8=0xFA raw=6efa +1CC4: 73 loopnext raw=73 +1CC5: 52 jmp relative_u16=0xFFEC relative_signed=0x-14 target_offset=0x1BE0 raw=52ecff +1CC8: 6E add_sp value_u8=0xC6 raw=6ec6 +1CCA: 52 jmp relative_u16=0x2FD relative_signed=0x2FD target_offset=0x1EF6 raw=52fd02 +1CCD: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1CCF: 0A push_byte_immediate value_u8=0x63 value_signed=0x63 raw=0a63 +1CD1: 24 cmp raw=24 +1CD2: 51 jne relative_u16=0x37 relative_signed=0x37 target_offset=0x1C38 raw=513700 +1CD5: 74 loopscr value_u8=0x24 raw=7424 +1CD7: 74 loopscr value_u8=0x3D raw=743d +1CD9: 74 loopscr value_u8=0x40 raw=7440 +1CDB: 5B line_number line_number=0x2F7 raw=5bf702 +1CDE: 0B push_word_immediate value_u16=0x361 raw=0b6103 +1CE1: 74 loopscr value_u8=0x25 raw=7425 +1CE3: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +1CE5: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +1CE7: 1E mul raw=1e +1CE8: 5B line_number line_number=0x2F8 raw=5bf802 +1CEB: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1CED: 4C push_indirect size=0x2 raw=4c02 +1CEF: 70 loop current_var=0xFE string_bytes=0x6 loop_type=0x2 raw=70fe0602 +1CF3: 51 jne relative_u16=0x11 relative_signed=0x11 target_offset=0x1C33 raw=511100 +1CF6: 5B line_number line_number=0x2F9 raw=5bf902 +1CF9: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1CFB: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +1CFD: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +1D01: 6E add_sp value_u8=0xFA raw=6efa +1D03: 73 loopnext raw=73 +1D04: 52 jmp relative_u16=0xFFEC relative_signed=0x-14 target_offset=0x1C1F raw=52ecff +1D07: 6E add_sp value_u8=0xC6 raw=6ec6 +1D09: 52 jmp relative_u16=0x2BE relative_signed=0x2BE target_offset=0x1EF6 raw=52be02 +1D0C: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1D0E: 0A push_byte_immediate value_u8=0x64 value_signed=0x64 raw=0a64 +1D10: 24 cmp raw=24 +1D11: 51 jne relative_u16=0x50 relative_signed=0x50 target_offset=0x1C90 raw=515000 +1D14: 5B line_number line_number=0x2FF raw=5bff02 +1D17: 59 push_pid raw=59 +1D18: 0A push_byte_immediate value_u8=0x3C value_signed=0x3C raw=0a3c +1D1A: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1D1F: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1D26: 6E add_sp value_u8=0xFE raw=6efe +1D28: 5E push_retval_word raw=5e +1D29: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1D2C: 12 pop_temp raw=12 +1D2D: 53 suspend raw=53 +1D2E: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c9d024556454e5400000000 +1D3A: 5B line_number line_number=0x300 raw=5b0003 +1D3D: 59 push_pid raw=59 +1D3E: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1D40: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1D42: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x84 intrinsic_name_hint=Intrinsic0084() raw=0f048400 +1D46: 6E add_sp value_u8=0xFC raw=6efc +1D48: 5E push_retval_word raw=5e +1D49: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x96 intrinsic_name_hint=Intrinsic00CA() raw=0f049600 +1D4D: 6E add_sp value_u8=0xFC raw=6efc +1D4F: 5E push_retval_word raw=5e +1D50: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1D53: 12 pop_temp raw=12 +1D54: 53 suspend raw=53 +1D55: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c76024556454e5400000000 +1D61: 52 jmp relative_u16=0x266 relative_signed=0x266 target_offset=0x1EF6 raw=526602 +1D64: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1D66: 0B push_word_immediate value_u16=0xC8 raw=0bc800 +1D69: 24 cmp raw=24 +1D6A: 51 jne relative_u16=0xA1 relative_signed=0xA1 target_offset=0x1D3A raw=51a100 +1D6D: 5B line_number line_number=0x306 raw=5b0603 +1D70: 5B line_number line_number=0x305 raw=5b0503 +1D73: 4E push_global global_id=0x22 size=0x1 raw=4e220001 +1D77: 5B line_number line_number=0x306 raw=5b0603 +1D7A: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +1D7C: 24 cmp raw=24 +1D7D: 51 jne relative_u16=0x8B relative_signed=0x8B target_offset=0x1D37 raw=518b00 +1D80: 5B line_number line_number=0x307 raw=5b0703 +1D83: 59 push_pid raw=59 +1D84: 0B push_word_immediate value_u16=0x96 raw=0b9600 +1D87: 0B push_word_immediate value_u16=0xC8 raw=0bc800 +1D8A: 0D push_string_immediate declared_length=0x5 string=mva3b raw=0d05006d7661336200 +1D93: 6B str_to_ptr raw=6b +1D94: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1D96: 0F call_intrinsic arg_bytes=0xC intrinsic_ordinal=0x5E intrinsic_name_hint=Intrinsic00DA() raw=0f0c5e00 +1D9A: 65 free_stack_string value_u8=0x4 target=[SP+04h] raw=6504 +1D9C: 6E add_sp value_u8=0xF4 raw=6ef4 +1D9E: 5E push_retval_word raw=5e +1D9F: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1DA2: 12 pop_temp raw=12 +1DA3: 53 suspend raw=53 +1DA4: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c27024556454e5400000000 +1DB0: 5B line_number line_number=0x308 raw=5b0803 +1DB3: 59 push_pid raw=59 +1DB4: 0A push_byte_immediate value_u8=0x14 value_signed=0x14 raw=0a14 +1DB6: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1DBB: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1DC2: 6E add_sp value_u8=0xFE raw=6efe +1DC4: 5E push_retval_word raw=5e +1DC5: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1DC8: 12 pop_temp raw=12 +1DC9: 53 suspend raw=53 +1DCA: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c01024556454e5400000000 +1DD6: 5B line_number line_number=0x309 raw=5b0903 +1DD9: 59 push_pid raw=59 +1DDA: 0D push_string_immediate declared_length=0x2 string=3h raw=0d0200336800 +1DE0: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1DE5: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x26 target_event_name_hint=None raw=5702000c0a2600 +1DEC: 65 free_stack_string value_u8=0x0 target=[SP+00h] raw=6500 +1DEE: 6E add_sp value_u8=0xFE raw=6efe +1DF0: 5E push_retval_word raw=5e +1DF1: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1DF4: 12 pop_temp raw=12 +1DF5: 53 suspend raw=53 +1DF6: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cd5014556454e5400000000 +1E02: 5B line_number line_number=0x30A raw=5b0a03 +1E05: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1E07: 4F pop_global global_id=0x22 size=0x1 raw=4f220001 +1E0B: 52 jmp relative_u16=0x1BC relative_signed=0x1BC target_offset=0x1EF6 raw=52bc01 +1E0E: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1E10: 0B push_word_immediate value_u16=0xC9 raw=0bc900 +1E13: 24 cmp raw=24 +1E14: 51 jne relative_u16=0x64 relative_signed=0x64 target_offset=0x1DA7 raw=516400 +1E17: 5B line_number line_number=0x310 raw=5b1003 +1E1A: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1E1C: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +1E20: 6E add_sp value_u8=0xFC raw=6efc +1E22: 5E push_retval_word raw=5e +1E23: 01 pop_local_word bp_offset=0xD3 target=[BP-2Dh] raw=01d3 +1E25: 5B line_number line_number=0x313 raw=5b1303 +1E28: 5B line_number line_number=0x312 raw=5b1203 +1E2B: 3F push_local_word bp_offset=0xD3 target=[BP-2Dh] raw=3fd3 +1E2D: 0A push_byte_immediate value_u8=0x4 value_signed=0x4 raw=0a04 +1E2F: 28 lt raw=28 +1E30: 51 jne relative_u16=0x1A relative_signed=0x1A target_offset=0x1D79 raw=511a00 +1E33: 5B line_number line_number=0x314 raw=5b1403 +1E36: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1E38: 3F push_local_word bp_offset=0xD3 target=[BP-2Dh] raw=3fd3 +1E3A: 14 add raw=14 +1E3B: 01 pop_local_word bp_offset=0xD3 target=[BP-2Dh] raw=01d3 +1E3D: 5B line_number line_number=0x315 raw=5b1503 +1E40: 3F push_local_word bp_offset=0xD3 target=[BP-2Dh] raw=3fd3 +1E42: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1E44: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +1E48: 6E add_sp value_u8=0xFA raw=6efa +1E4A: 52 jmp relative_u16=0x2B relative_signed=0x2B target_offset=0x1DA4 raw=522b00 +1E4D: 5B line_number line_number=0x319 raw=5b1903 +1E50: 59 push_pid raw=59 +1E51: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1E53: 0B push_word_immediate value_u16=0x80 raw=0b8000 +1E56: 14 add raw=14 +1E57: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1E59: 4C push_indirect size=0x2 raw=4c02 +1E5B: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1E5D: 57 spawn arg_bytes=0x4 this_size=0x2 target_class_id=0xA18 target_event_slot=0x20 target_event_name_hint=None raw=570402180a2000 +1E64: 6E add_sp value_u8=0xFC raw=6efc +1E66: 5E push_retval_word raw=5e +1E67: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1E6A: 12 pop_temp raw=12 +1E6B: 53 suspend raw=53 +1E6C: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c5f014556454e5400000000 +1E78: 52 jmp relative_u16=0x14F relative_signed=0x14F target_offset=0x1EF6 raw=524f01 +1E7B: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1E7D: 0B push_word_immediate value_u16=0xD4 raw=0bd400 +1E80: 24 cmp raw=24 +1E81: 51 jne relative_u16=0x72 relative_signed=0x72 target_offset=0x1E22 raw=517200 +1E84: 5B line_number line_number=0x320 raw=5b2003 +1E87: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1E89: 4F pop_global global_id=0x2C size=0x1 raw=4f2c0001 +1E8D: 5B line_number line_number=0x321 raw=5b2103 +1E90: 59 push_pid raw=59 +1E91: 0A push_byte_immediate value_u8=0x3C value_signed=0x3C raw=0a3c +1E93: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1E98: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1E9F: 6E add_sp value_u8=0xFE raw=6efe +1EA1: 5E push_retval_word raw=5e +1EA2: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1EA5: 12 pop_temp raw=12 +1EA6: 53 suspend raw=53 +1EA7: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c24014556454e5400000000 +1EB3: 5B line_number line_number=0x322 raw=5b2203 +1EB6: 59 push_pid raw=59 +1EB7: 0B push_word_immediate value_u16=0x96 raw=0b9600 +1EBA: 0B push_word_immediate value_u16=0xC8 raw=0bc800 +1EBD: 0D push_string_immediate declared_length=0x3 string=13d raw=0d030031336400 +1EC4: 6B str_to_ptr raw=6b +1EC5: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1EC7: 0F call_intrinsic arg_bytes=0xC intrinsic_ordinal=0xF intrinsic_name_hint=Item::getY(void) raw=0f0c0f00 +1ECB: 65 free_stack_string value_u8=0x4 target=[SP+04h] raw=6504 +1ECD: 6E add_sp value_u8=0xF4 raw=6ef4 +1ECF: 5E push_retval_word raw=5e +1ED0: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1ED3: 12 pop_temp raw=12 +1ED4: 53 suspend raw=53 +1ED5: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cf6004556454e5400000000 +1EE1: 5B line_number line_number=0x323 raw=5b2303 +1EE4: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1EE6: 0F call_intrinsic arg_bytes=0x2 intrinsic_ordinal=0xC intrinsic_name_hint=Item::destroy(void) raw=0f020c00 +1EEA: 6E add_sp value_u8=0xFE raw=6efe +1EEC: 5B line_number line_number=0x324 raw=5b2403 +1EEF: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x97 intrinsic_name_hint=Item::hurl(sint16,sint16,sint16,sint16) raw=0f009700 +1EF3: 52 jmp relative_u16=0xD4 relative_signed=0xD4 target_offset=0x1EF6 raw=52d400 +1EF6: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1EF8: 0B push_word_immediate value_u16=0xD5 raw=0bd500 +1EFB: 24 cmp raw=24 +1EFC: 51 jne relative_u16=0x57 relative_signed=0x57 target_offset=0x1E82 raw=515700 +1EFF: 5B line_number line_number=0x329 raw=5b2903 +1F02: 59 push_pid raw=59 +1F03: 0A push_byte_immediate value_u8=0x3C value_signed=0x3C raw=0a3c +1F05: 0C push_dword_immediate value_u32=0x0 raw=0c00000000 +1F0A: 57 spawn arg_bytes=0x2 this_size=0x0 target_class_id=0xA0C target_event_slot=0x32 target_event_name_hint=None raw=5702000c0a3200 +1F11: 6E add_sp value_u8=0xFE raw=6efe +1F13: 5E push_retval_word raw=5e +1F14: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1F17: 12 pop_temp raw=12 +1F18: 53 suspend raw=53 +1F19: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5cb2004556454e5400000000 +1F25: 5B line_number line_number=0x32A raw=5b2a03 +1F28: 59 push_pid raw=59 +1F29: 0B push_word_immediate value_u16=0x96 raw=0b9600 +1F2C: 0B push_word_immediate value_u16=0xC8 raw=0bc800 +1F2F: 0D push_string_immediate declared_length=0x3 string=13e raw=0d030031336500 +1F36: 6B str_to_ptr raw=6b +1F37: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1F39: 0F call_intrinsic arg_bytes=0xC intrinsic_ordinal=0xF intrinsic_name_hint=Item::getY(void) raw=0f0c0f00 +1F3D: 65 free_stack_string value_u8=0x4 target=[SP+04h] raw=6504 +1F3F: 6E add_sp value_u8=0xF4 raw=6ef4 +1F41: 5E push_retval_word raw=5e +1F42: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1F45: 12 pop_temp raw=12 +1F46: 53 suspend raw=53 +1F47: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c84004556454e5400000000 +1F53: 52 jmp relative_u16=0x74 relative_signed=0x74 target_offset=0x1EF6 raw=527400 +1F56: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1F58: 0B push_word_immediate value_u16=0xE6 raw=0be600 +1F5B: 24 cmp raw=24 +1F5C: 51 jne relative_u16=0x40 relative_signed=0x40 target_offset=0x1ECB raw=514000 +1F5F: 5B line_number line_number=0x32F raw=5b2f03 +1F62: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1F64: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4F intrinsic_name_hint=Intrinsic009C() raw=0f044f00 +1F68: 6E add_sp value_u8=0xFC raw=6efc +1F6A: 5E push_retval_word raw=5e +1F6B: 01 pop_local_word bp_offset=0xD3 target=[BP-2Dh] raw=01d3 +1F6D: 5B line_number line_number=0x332 raw=5b3203 +1F70: 5B line_number line_number=0x331 raw=5b3103 +1F73: 3F push_local_word bp_offset=0xD3 target=[BP-2Dh] raw=3fd3 +1F75: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +1F77: 28 lt raw=28 +1F78: 51 jne relative_u16=0x1A relative_signed=0x1A target_offset=0x1EC1 raw=511a00 +1F7B: 5B line_number line_number=0x333 raw=5b3303 +1F7E: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +1F80: 3F push_local_word bp_offset=0xD3 target=[BP-2Dh] raw=3fd3 +1F82: 14 add raw=14 +1F83: 01 pop_local_word bp_offset=0xD3 target=[BP-2Dh] raw=01d3 +1F85: 5B line_number line_number=0x334 raw=5b3403 +1F88: 3F push_local_word bp_offset=0xD3 target=[BP-2Dh] raw=3fd3 +1F8A: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +1F8C: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x2D intrinsic_name_hint=Item::isCompletelyOn(uint16) raw=0f062d00 +1F90: 6E add_sp value_u8=0xFA raw=6efa +1F92: 52 jmp relative_u16=0x7 relative_signed=0x7 target_offset=0x1EC8 raw=520700 +1F95: 5B line_number line_number=0x338 raw=5b3803 +1F98: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x98 intrinsic_name_hint=Item::getNpcNum(void) raw=0f009800 +1F9C: 52 jmp relative_u16=0x2B relative_signed=0x2B target_offset=0x1EF6 raw=522b00 +1F9F: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +1FA1: 0B push_word_immediate value_u16=0xFA raw=0bfa00 +1FA4: 24 cmp raw=24 +1FA5: 51 jne relative_u16=0x22 relative_signed=0x22 target_offset=0x1EF6 raw=512200 +1FA8: 5B line_number line_number=0x340 raw=5b4003 +1FAB: 59 push_pid raw=59 +1FAC: 4B push_local_addr bp_offset=0xD1 target=[BP-2Fh] raw=4bd1 +1FAE: 57 spawn arg_bytes=0x0 this_size=0x2 target_class_id=0xA20 target_event_slot=0x20 target_event_name_hint=None raw=570002200a2000 +1FB5: 5E push_retval_word raw=5e +1FB6: 54 implies arg0=0x1 arg1=0x1 raw=540101 +1FB9: 12 pop_temp raw=12 +1FBA: 53 suspend raw=53 +1FBB: 5C symbol_info symbol_offset=0x1EFA symbol=EVENT trailing_zero=0x0 raw=5c10004556454e5400000000 +1FC7: 52 jmp relative_u16=0x0 relative_signed=0x0 target_offset=0x1EF6 raw=520000 +1FCA: 5B line_number line_number=0x345 raw=5b4503 +1FCD: 50 ret raw=50 + +unknown_trailing_bytes=18016900007265666572656e740000690a006576656e74000024fe026974656d000024fc02736f75726365000024fa0264657374000024f802646f6f72000024f3057770000069f100636f756e746572000069ef00636f756e74657232000024ed026e000069eb006c696e6b000069e9006378000069e7006379000069e5006578000069e3006579000069e10074696d65000069df006f70000069dd006f7070000024db02706f737431000024d902706f737432000024d702666c6f6f72000069d500646972000069d300714869000024d102666c69634d616e007a diff --git a/out_NPCTRIG_0A.json b/out_NPCTRIG_0A.json new file mode 100644 index 0000000..1e055c8 --- /dev/null +++ b/out_NPCTRIG_0A.json @@ -0,0 +1,1201 @@ +{ + "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": "unknown_opcode", + "raw_body_sha1": "98524ea452eae2723f4b27e630c33a920c16def7", + "unknown_trailing_bytes": "05016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e007a", + "decoded_op_count": 111 + }, + "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": {} + } + ], + "annotation_hints": { + "runtime_family": "slot-backed-owner-loaded-body", + "payload_shape_hint": "word", + "compiled_anchors": [ + { + "address": "000d:51fd", + "role": "slot_value_loader" + }, + { + "address": "000d:5572", + "role": "slot_value_plus_offset" + }, + { + "address": "000d:46ec", + "role": "context_create_from_slot" + }, + { + "address": "000d:22bc", + "role": "matrix_pushback_stage" + }, + { + "address": "000d:ebe3", + "role": "opcode_sequence_run" + } + ], + "slot_taxonomy": { + "slot": 10, + "event_name_hint": "equip" + } + } +} diff --git a/out_NPCTRIG_0A.txt b/out_NPCTRIG_0A.txt new file mode 100644 index 0000000..6f73316 --- /dev/null +++ b/out_NPCTRIG_0A.txt @@ -0,0 +1,117 @@ +Class NPCTRIG entry=191 class_id=0x363 +Slot 0x0A hint=equip body=0x00DA..0x024F +End reason: unknown_opcode ops=111 sha1=98524ea452eae2723f4b27e630c33a920c16def7 + +00DA: 5A init local_bytes=0x6 raw=5a06 +00DC: 5C symbol_info symbol_offset=0x143 symbol=NPCTRIG trailing_zero=0x0 raw=5c3e014e5043545249470000 +00E8: 0B push_word_immediate value_u16=0x211 raw=0b1102 +00EB: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +00ED: 4C push_indirect size=0x2 raw=4c02 +00EF: 77 set_info raw=77 +00F0: 78 process_exclude raw=78 +00F1: 5B line_number line_number=0x20 raw=5b2000 +00F4: 5B line_number line_number=0x1F raw=5b1f00 +00F7: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +00F9: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x4 intrinsic_name_hint=Item::getStatus(void) raw=0f040400 +00FD: 6E add_sp value_u8=0xFC raw=6efc +00FF: 5E push_retval_word raw=5e +0100: 5B line_number line_number=0x20 raw=5b2000 +0103: 0B push_word_immediate value_u16=0x1000 raw=0b0010 +0106: 39 bit_and raw=39 +0107: 51 jne relative_u16=0x6 relative_signed=0x6 target_offset=0x36 raw=510600 +010A: 5B line_number line_number=0x21 raw=5b2100 +010D: 52 jmp relative_u16=0x109 relative_signed=0x109 target_offset=0x13F raw=520901 +0110: 5B line_number line_number=0x24 raw=5b2400 +0113: 0B push_word_immediate value_u16=0x1000 raw=0b0010 +0116: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0118: 11 call_class_event target_class_id=0xA1E target_event_slot=0x23 target_event_name_hint=None raw=111e0a2300 +011D: 6E add_sp value_u8=0xFA raw=6efa +011F: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +0121: 0A push_byte_immediate value_u8=0x1 value_signed=0x1 raw=0a01 +0123: 24 cmp raw=24 +0124: 51 jne relative_u16=0x27 relative_signed=0x27 target_offset=0x74 raw=512700 +0127: 5B line_number line_number=0x2C raw=5b2c00 +012A: 59 push_pid raw=59 +012B: 0B push_word_immediate value_u16=0x2FD raw=0bfd02 +012E: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0130: 57 spawn arg_bytes=0x2 this_size=0x2 target_class_id=0x363 target_event_slot=0x20 target_event_name_hint=None raw=57020263032000 +0137: 6E add_sp value_u8=0xFE raw=6efe +0139: 5E push_retval_word raw=5e +013A: 54 implies arg0=0x1 arg1=0x1 raw=540101 +013D: 12 pop_temp raw=12 +013E: 53 suspend raw=53 +013F: 5C symbol_info symbol_offset=0x143 symbol=NPCTRIG trailing_zero=0x0 raw=5cdb004e5043545249470000 +014B: 52 jmp relative_u16=0xBC relative_signed=0xBC target_offset=0x130 raw=52bc00 +014E: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +0150: 0A push_byte_immediate value_u8=0x2 value_signed=0x2 raw=0a02 +0152: 24 cmp raw=24 +0153: 51 jne relative_u16=0x27 relative_signed=0x27 target_offset=0xA3 raw=512700 +0156: 5B line_number line_number=0x31 raw=5b3100 +0159: 59 push_pid raw=59 +015A: 0B push_word_immediate value_u16=0x384 raw=0b8403 +015D: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +015F: 57 spawn arg_bytes=0x2 this_size=0x2 target_class_id=0x363 target_event_slot=0x20 target_event_name_hint=None raw=57020263032000 +0166: 6E add_sp value_u8=0xFE raw=6efe +0168: 5E push_retval_word raw=5e +0169: 54 implies arg0=0x1 arg1=0x1 raw=540101 +016C: 12 pop_temp raw=12 +016D: 53 suspend raw=53 +016E: 5C symbol_info symbol_offset=0x143 symbol=NPCTRIG trailing_zero=0x0 raw=5cac004e5043545249470000 +017A: 52 jmp relative_u16=0x8D relative_signed=0x8D target_offset=0x130 raw=528d00 +017D: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +017F: 0A push_byte_immediate value_u8=0x3 value_signed=0x3 raw=0a03 +0181: 24 cmp raw=24 +0182: 51 jne relative_u16=0x27 relative_signed=0x27 target_offset=0xD2 raw=512700 +0185: 5B line_number line_number=0x36 raw=5b3600 +0188: 59 push_pid raw=59 +0189: 0B push_word_immediate value_u16=0x371 raw=0b7103 +018C: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +018E: 57 spawn arg_bytes=0x2 this_size=0x2 target_class_id=0x363 target_event_slot=0x20 target_event_name_hint=None raw=57020263032000 +0195: 6E add_sp value_u8=0xFE raw=6efe +0197: 5E push_retval_word raw=5e +0198: 54 implies arg0=0x1 arg1=0x1 raw=540101 +019B: 12 pop_temp raw=12 +019C: 53 suspend raw=53 +019D: 5C symbol_info symbol_offset=0x143 symbol=NPCTRIG trailing_zero=0x0 raw=5c7d004e5043545249470000 +01A9: 52 jmp relative_u16=0x5E relative_signed=0x5E target_offset=0x130 raw=525e00 +01AC: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +01AE: 0A push_byte_immediate value_u8=0x4 value_signed=0x4 raw=0a04 +01B0: 24 cmp raw=24 +01B1: 51 jne relative_u16=0x27 relative_signed=0x27 target_offset=0x101 raw=512700 +01B4: 5B line_number line_number=0x3B raw=5b3b00 +01B7: 59 push_pid raw=59 +01B8: 0B push_word_immediate value_u16=0x4D1 raw=0bd104 +01BB: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +01BD: 57 spawn arg_bytes=0x2 this_size=0x2 target_class_id=0x363 target_event_slot=0x20 target_event_name_hint=None raw=57020263032000 +01C4: 6E add_sp value_u8=0xFE raw=6efe +01C6: 5E push_retval_word raw=5e +01C7: 54 implies arg0=0x1 arg1=0x1 raw=540101 +01CA: 12 pop_temp raw=12 +01CB: 53 suspend raw=53 +01CC: 5C symbol_info symbol_offset=0x143 symbol=NPCTRIG trailing_zero=0x0 raw=5c4e004e5043545249470000 +01D8: 52 jmp relative_u16=0x2F relative_signed=0x2F target_offset=0x130 raw=522f00 +01DB: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +01DD: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +01DF: 24 cmp raw=24 +01E0: 51 jne relative_u16=0x27 relative_signed=0x27 target_offset=0x130 raw=512700 +01E3: 5B line_number line_number=0x40 raw=5b4000 +01E6: 59 push_pid raw=59 +01E7: 0B push_word_immediate value_u16=0x1B4 raw=0bb401 +01EA: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +01EC: 57 spawn arg_bytes=0x2 this_size=0x2 target_class_id=0x363 target_event_slot=0x20 target_event_name_hint=None raw=57020263032000 +01F3: 6E add_sp value_u8=0xFE raw=6efe +01F5: 5E push_retval_word raw=5e +01F6: 54 implies arg0=0x1 arg1=0x1 raw=540101 +01F9: 12 pop_temp raw=12 +01FA: 53 suspend raw=53 +01FB: 5C symbol_info symbol_offset=0x143 symbol=NPCTRIG trailing_zero=0x0 raw=5c1f004e5043545249470000 +0207: 52 jmp relative_u16=0x0 relative_signed=0x0 target_offset=0x130 raw=520000 +020A: 5B line_number line_number=0x45 raw=5b4500 +020D: 0B push_word_immediate value_u16=0x1000 raw=0b0010 +0210: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0212: 11 call_class_event target_class_id=0xA1E target_event_slot=0x24 target_event_name_hint=None raw=111e0a2400 +0217: 6E add_sp value_u8=0xFA raw=6efa +0219: 5B line_number line_number=0x47 raw=5b4700 +021C: 50 ret raw=50 + +unknown_trailing_bytes=05016900007265666572656e740000690a006576656e74000024fe026974656d000024fc026974656d32000024fa026e007a diff --git a/out_NPCTRIG_20.json b/out_NPCTRIG_20.json new file mode 100644 index 0000000..526046e --- /dev/null +++ b/out_NPCTRIG_20.json @@ -0,0 +1,1229 @@ +{ + "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": 32, + "event_name_hint": null, + "raw_event_entry_word": 345, + "raw_code_offset": 374, + "derived_body_start": 591, + "derived_body_end": 936, + "derived_body_length": 345, + "repeated_template_status": "" + }, + "body": { + "end_reason": "unknown_opcode", + "raw_body_sha1": "2e696a6562c2a44adbd645948a442c9a55a63ba0", + "unknown_trailing_bytes": "05016900007265666572656e740000690a00747970654e7063000024fe026e000024fc026974656d000024fa026974656d32007a", + "decoded_op_count": 111 + }, + "ops": [ + { + "offset": 0, + "absolute_body_offset": 591, + "opcode": 90, + "mnemonic": "init", + "raw_bytes": "5a06", + "operands": { + "local_bytes": 6 + } + }, + { + "offset": 2, + "absolute_body_offset": 593, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c20014e5043545249470000", + "operands": { + "symbol_offset": 293, + "symbol": "NPCTRIG", + "trailing_zero": 0 + } + }, + { + "offset": 14, + "absolute_body_offset": 605, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0b0100", + "operands": { + "value_u16": 1 + } + }, + { + "offset": 17, + "absolute_body_offset": 608, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 19, + "absolute_body_offset": 610, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 21, + "absolute_body_offset": 612, + "opcode": 119, + "mnemonic": "set_info", + "raw_bytes": "77", + "operands": {} + }, + { + "offset": 22, + "absolute_body_offset": 613, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7424", + "operands": { + "value_u8": 36 + } + }, + { + "offset": 24, + "absolute_body_offset": 615, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "743d", + "operands": { + "value_u8": 61 + } + }, + { + "offset": 26, + "absolute_body_offset": 617, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7440", + "operands": { + "value_u8": 64 + } + }, + { + "offset": 28, + "absolute_body_offset": 619, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5300", + "operands": { + "line_number": 83 + } + }, + { + "offset": 31, + "absolute_body_offset": 622, + "opcode": 11, + "mnemonic": "push_word_immediate", + "raw_bytes": "0bdb01", + "operands": { + "value_u16": 475 + } + }, + { + "offset": 34, + "absolute_body_offset": 625, + "opcode": 116, + "mnemonic": "loopscr", + "raw_bytes": "7425", + "operands": { + "value_u8": 37 + } + }, + { + "offset": 36, + "absolute_body_offset": 627, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 38, + "absolute_body_offset": 629, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a20", + "operands": { + "value_u8": 32, + "value_signed": 32 + } + }, + { + "offset": 40, + "absolute_body_offset": 631, + "opcode": 30, + "mnemonic": "mul", + "raw_bytes": "1e", + "operands": {} + }, + { + "offset": 41, + "absolute_body_offset": 632, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5400", + "operands": { + "line_number": 84 + } + }, + { + "offset": 44, + "absolute_body_offset": 635, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 46, + "absolute_body_offset": 637, + "opcode": 76, + "mnemonic": "push_indirect", + "raw_bytes": "4c02", + "operands": { + "size": 2 + } + }, + { + "offset": 48, + "absolute_body_offset": 639, + "opcode": 112, + "mnemonic": "loop", + "raw_bytes": "70fc0602", + "operands": { + "current_var": 252, + "string_bytes": 6, + "loop_type": 2 + } + }, + { + "offset": 52, + "absolute_body_offset": 643, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "510b00", + "operands": { + "relative_u16": 11, + "relative_signed": 11, + "target_offset": 66 + } + }, + { + "offset": 55, + "absolute_body_offset": 646, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5500", + "operands": { + "line_number": 85 + } + }, + { + "offset": 58, + "absolute_body_offset": 649, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffc", + "operands": { + "bp_offset": 252, + "target": "[BP-04h]" + } + }, + { + "offset": 60, + "absolute_body_offset": 651, + "opcode": 1, + "mnemonic": "pop_local_word", + "raw_bytes": "01fa", + "operands": { + "bp_offset": 250, + "target": "[BP-06h]" + } + }, + { + "offset": 62, + "absolute_body_offset": 653, + "opcode": 115, + "mnemonic": "loopnext", + "raw_bytes": "73", + "operands": {} + }, + { + "offset": 63, + "absolute_body_offset": 654, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "52f2ff", + "operands": { + "relative_u16": 65522, + "relative_signed": -14, + "target_offset": 52 + } + }, + { + "offset": 66, + "absolute_body_offset": 657, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ec6", + "operands": { + "value_u8": 198 + } + }, + { + "offset": 68, + "absolute_body_offset": 659, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5a00", + "operands": { + "line_number": 90 + } + }, + { + "offset": 71, + "absolute_body_offset": 662, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3ffa", + "operands": { + "bp_offset": 250, + "target": "[BP-06h]" + } + }, + { + "offset": 73, + "absolute_body_offset": 664, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "51d500", + "operands": { + "relative_u16": 213, + "relative_signed": 213, + "target_offset": 289 + } + }, + { + "offset": 76, + "absolute_body_offset": 667, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5b00", + "operands": { + "line_number": 91 + } + }, + { + "offset": 79, + "absolute_body_offset": 670, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a08", + "operands": { + "value_u8": 8, + "value_signed": 8 + } + }, + { + "offset": 81, + "absolute_body_offset": 672, + "opcode": 63, + "mnemonic": "push_local_word", + "raw_bytes": "3f0a", + "operands": { + "bp_offset": 10, + "target": "[BP+0Ah]" + } + }, + { + "offset": 83, + "absolute_body_offset": 674, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 85, + "absolute_body_offset": 676, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f086100", + "operands": { + "arg_bytes": 8, + "intrinsic_ordinal": 97, + "intrinsic_name_hint": "Intrinsic0061()" + } + }, + { + "offset": 89, + "absolute_body_offset": 680, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef8", + "operands": { + "value_u8": 248 + } + }, + { + "offset": 91, + "absolute_body_offset": 682, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5c00", + "operands": { + "line_number": 92 + } + }, + { + "offset": 94, + "absolute_body_offset": 685, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 96, + "absolute_body_offset": 687, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 98, + "absolute_body_offset": 689, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065200", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 82, + "intrinsic_name_hint": "Intrinsic0052()" + } + }, + { + "offset": 102, + "absolute_body_offset": 693, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 104, + "absolute_body_offset": 695, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5d00", + "operands": { + "line_number": 93 + } + }, + { + "offset": 107, + "absolute_body_offset": 698, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 109, + "absolute_body_offset": 700, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 111, + "absolute_body_offset": 702, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065300", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 83, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 115, + "absolute_body_offset": 706, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 117, + "absolute_body_offset": 708, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5e00", + "operands": { + "line_number": 94 + } + }, + { + "offset": 120, + "absolute_body_offset": 711, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 122, + "absolute_body_offset": 713, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 124, + "absolute_body_offset": 715, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065400", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 84, + "intrinsic_name_hint": "Intrinsic0054()" + } + }, + { + "offset": 128, + "absolute_body_offset": 719, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 130, + "absolute_body_offset": 721, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b5f00", + "operands": { + "line_number": 95 + } + }, + { + "offset": 133, + "absolute_body_offset": 724, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 135, + "absolute_body_offset": 726, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f040900", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 9, + "intrinsic_name_hint": "Item::getZ(void)" + } + }, + { + "offset": 139, + "absolute_body_offset": 730, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 141, + "absolute_body_offset": 732, + "opcode": 93, + "mnemonic": "push_retval_byte", + "raw_bytes": "5d", + "operands": {} + }, + { + "offset": 142, + "absolute_body_offset": 733, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 144, + "absolute_body_offset": 735, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041400", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 20, + "intrinsic_name_hint": "Item::legal_create(uint16,uint16,uint16,uint16,uint16)" + } + }, + { + "offset": 148, + "absolute_body_offset": 739, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 150, + "absolute_body_offset": 741, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 151, + "absolute_body_offset": 742, + "opcode": 64, + "mnemonic": "push_local_dword", + "raw_bytes": "4006", + "operands": { + "bp_offset": 6, + "target": "[BP+06h]" + } + }, + { + "offset": 153, + "absolute_body_offset": 744, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f041300", + "operands": { + "arg_bytes": 4, + "intrinsic_ordinal": 19, + "intrinsic_name_hint": "Intrinsic0013()" + } + }, + { + "offset": 157, + "absolute_body_offset": 748, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efc", + "operands": { + "value_u8": 252 + } + }, + { + "offset": 159, + "absolute_body_offset": 750, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 160, + "absolute_body_offset": 751, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 162, + "absolute_body_offset": 753, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f0a2000", + "operands": { + "arg_bytes": 10, + "intrinsic_ordinal": 32, + "intrinsic_name_hint": "Item::setQLo(sint16)" + } + }, + { + "offset": 166, + "absolute_body_offset": 757, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6ef6", + "operands": { + "value_u8": 246 + } + }, + { + "offset": 168, + "absolute_body_offset": 759, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6100", + "operands": { + "line_number": 97 + } + }, + { + "offset": 171, + "absolute_body_offset": 762, + "opcode": 89, + "mnemonic": "push_pid", + "raw_bytes": "59", + "operands": {} + }, + { + "offset": 172, + "absolute_body_offset": 763, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 174, + "absolute_body_offset": 765, + "opcode": 87, + "mnemonic": "spawn", + "raw_bytes": "570002110a2300", + "operands": { + "arg_bytes": 0, + "this_size": 2, + "target_class_id": 2577, + "target_event_slot": 35, + "target_event_name_hint": null + } + }, + { + "offset": 181, + "absolute_body_offset": 772, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 182, + "absolute_body_offset": 773, + "opcode": 84, + "mnemonic": "implies", + "raw_bytes": "540101", + "operands": { + "arg0": 1, + "arg1": 1 + } + }, + { + "offset": 185, + "absolute_body_offset": 776, + "opcode": 18, + "mnemonic": "pop_temp", + "raw_bytes": "12", + "operands": {} + }, + { + "offset": 186, + "absolute_body_offset": 777, + "opcode": 83, + "mnemonic": "suspend", + "raw_bytes": "53", + "operands": {} + }, + { + "offset": 187, + "absolute_body_offset": 778, + "opcode": 92, + "mnemonic": "symbol_info", + "raw_bytes": "5c67004e5043545249470000", + "operands": { + "symbol_offset": 293, + "symbol": "NPCTRIG", + "trailing_zero": 0 + } + }, + { + "offset": 199, + "absolute_body_offset": 790, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6200", + "operands": { + "line_number": 98 + } + }, + { + "offset": 202, + "absolute_body_offset": 793, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 204, + "absolute_body_offset": 795, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 206, + "absolute_body_offset": 797, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065200", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 82, + "intrinsic_name_hint": "Intrinsic0052()" + } + }, + { + "offset": 210, + "absolute_body_offset": 801, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 212, + "absolute_body_offset": 803, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6300", + "operands": { + "line_number": 99 + } + }, + { + "offset": 215, + "absolute_body_offset": 806, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 217, + "absolute_body_offset": 808, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 219, + "absolute_body_offset": 810, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065300", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 83, + "intrinsic_name_hint": "Intrinsic00BD()" + } + }, + { + "offset": 223, + "absolute_body_offset": 814, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 225, + "absolute_body_offset": 816, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6400", + "operands": { + "line_number": 100 + } + }, + { + "offset": 228, + "absolute_body_offset": 819, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a05", + "operands": { + "value_u8": 5, + "value_signed": 5 + } + }, + { + "offset": 230, + "absolute_body_offset": 821, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 232, + "absolute_body_offset": 823, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f065400", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 84, + "intrinsic_name_hint": "Intrinsic0054()" + } + }, + { + "offset": 236, + "absolute_body_offset": 827, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 238, + "absolute_body_offset": 829, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6700", + "operands": { + "line_number": 103 + } + }, + { + "offset": 241, + "absolute_body_offset": 832, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6600", + "operands": { + "line_number": 102 + } + }, + { + "offset": 244, + "absolute_body_offset": 835, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f001b00", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 27, + "intrinsic_name_hint": "Item::pop(uint16,uint16,uint8)" + } + }, + { + "offset": 248, + "absolute_body_offset": 839, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 249, + "absolute_body_offset": 840, + "opcode": 10, + "mnemonic": "push_byte_immediate", + "raw_bytes": "0a00", + "operands": { + "value_u8": 0, + "value_signed": 0 + } + }, + { + "offset": 251, + "absolute_body_offset": 842, + "opcode": 54, + "mnemonic": "ne", + "raw_bytes": "36", + "operands": {} + }, + { + "offset": 252, + "absolute_body_offset": 843, + "opcode": 81, + "mnemonic": "jne", + "raw_bytes": "511300", + "operands": { + "relative_u16": 19, + "relative_signed": 19, + "target_offset": 274 + } + }, + { + "offset": 255, + "absolute_body_offset": 846, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6800", + "operands": { + "line_number": 104 + } + }, + { + "offset": 258, + "absolute_body_offset": 849, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f001b00", + "operands": { + "arg_bytes": 0, + "intrinsic_ordinal": 27, + "intrinsic_name_hint": "Item::pop(uint16,uint16,uint8)" + } + }, + { + "offset": 262, + "absolute_body_offset": 853, + "opcode": 94, + "mnemonic": "push_retval_word", + "raw_bytes": "5e", + "operands": {} + }, + { + "offset": 263, + "absolute_body_offset": 854, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 265, + "absolute_body_offset": 856, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f06e500", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 229, + "intrinsic_name_hint": "Item::hurl(sint16,sint16,sint16,sint16)" + } + }, + { + "offset": 269, + "absolute_body_offset": 860, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 271, + "absolute_body_offset": 862, + "opcode": 82, + "mnemonic": "jmp", + "raw_bytes": "520f00", + "operands": { + "relative_u16": 15, + "relative_signed": 15, + "target_offset": 289 + } + }, + { + "offset": 274, + "absolute_body_offset": 865, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6c00", + "operands": { + "line_number": 108 + } + }, + { + "offset": 277, + "absolute_body_offset": 868, + "opcode": 78, + "mnemonic": "push_global", + "raw_bytes": "4e3c0002", + "operands": { + "global_id": 60, + "size": 2 + } + }, + { + "offset": 281, + "absolute_body_offset": 872, + "opcode": 75, + "mnemonic": "push_local_addr", + "raw_bytes": "4bfe", + "operands": { + "bp_offset": 254, + "target": "[BP-02h]" + } + }, + { + "offset": 283, + "absolute_body_offset": 874, + "opcode": 15, + "mnemonic": "call_intrinsic", + "raw_bytes": "0f06e500", + "operands": { + "arg_bytes": 6, + "intrinsic_ordinal": 229, + "intrinsic_name_hint": "Item::hurl(sint16,sint16,sint16,sint16)" + } + }, + { + "offset": 287, + "absolute_body_offset": 878, + "opcode": 110, + "mnemonic": "add_sp", + "raw_bytes": "6efa", + "operands": { + "value_u8": 250 + } + }, + { + "offset": 289, + "absolute_body_offset": 880, + "opcode": 91, + "mnemonic": "line_number", + "raw_bytes": "5b6f00", + "operands": { + "line_number": 111 + } + }, + { + "offset": 292, + "absolute_body_offset": 883, + "opcode": 80, + "mnemonic": "ret", + "raw_bytes": "50", + "operands": {} + } + ], + "annotation_hints": { + "runtime_family": "slot-backed-owner-loaded-body", + "payload_shape_hint": null, + "compiled_anchors": [ + { + "address": "000d:51fd", + "role": "slot_value_loader" + }, + { + "address": "000d:5572", + "role": "slot_value_plus_offset" + }, + { + "address": "000d:46ec", + "role": "context_create_from_slot" + }, + { + "address": "000d:22bc", + "role": "matrix_pushback_stage" + }, + { + "address": "000d:ebe3", + "role": "opcode_sequence_run" + } + ], + "slot_taxonomy": { + "slot": 32, + "event_name_hint": null + } + } +} diff --git a/out_NPCTRIG_20.txt b/out_NPCTRIG_20.txt new file mode 100644 index 0000000..cebb923 --- /dev/null +++ b/out_NPCTRIG_20.txt @@ -0,0 +1,117 @@ +Class NPCTRIG entry=191 class_id=0x363 +Slot 0x20 hint=None body=0x024F..0x03A8 +End reason: unknown_opcode ops=111 sha1=2e696a6562c2a44adbd645948a442c9a55a63ba0 + +024F: 5A init local_bytes=0x6 raw=5a06 +0251: 5C symbol_info symbol_offset=0x125 symbol=NPCTRIG trailing_zero=0x0 raw=5c20014e5043545249470000 +025D: 0B push_word_immediate value_u16=0x1 raw=0b0100 +0260: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +0262: 4C push_indirect size=0x2 raw=4c02 +0264: 77 set_info raw=77 +0265: 74 loopscr value_u8=0x24 raw=7424 +0267: 74 loopscr value_u8=0x3D raw=743d +0269: 74 loopscr value_u8=0x40 raw=7440 +026B: 5B line_number line_number=0x53 raw=5b5300 +026E: 0B push_word_immediate value_u16=0x1DB raw=0bdb01 +0271: 74 loopscr value_u8=0x25 raw=7425 +0273: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +0275: 0A push_byte_immediate value_u8=0x20 value_signed=0x20 raw=0a20 +0277: 1E mul raw=1e +0278: 5B line_number line_number=0x54 raw=5b5400 +027B: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +027D: 4C push_indirect size=0x2 raw=4c02 +027F: 70 loop current_var=0xFC string_bytes=0x6 loop_type=0x2 raw=70fc0602 +0283: 51 jne relative_u16=0xB relative_signed=0xB target_offset=0x42 raw=510b00 +0286: 5B line_number line_number=0x55 raw=5b5500 +0289: 3F push_local_word bp_offset=0xFC target=[BP-04h] raw=3ffc +028B: 01 pop_local_word bp_offset=0xFA target=[BP-06h] raw=01fa +028D: 73 loopnext raw=73 +028E: 52 jmp relative_u16=0xFFF2 relative_signed=0x-E target_offset=0x34 raw=52f2ff +0291: 6E add_sp value_u8=0xC6 raw=6ec6 +0293: 5B line_number line_number=0x5A raw=5b5a00 +0296: 3F push_local_word bp_offset=0xFA target=[BP-06h] raw=3ffa +0298: 51 jne relative_u16=0xD5 relative_signed=0xD5 target_offset=0x121 raw=51d500 +029B: 5B line_number line_number=0x5B raw=5b5b00 +029E: 0A push_byte_immediate value_u8=0x8 value_signed=0x8 raw=0a08 +02A0: 3F push_local_word bp_offset=0xA target=[BP+0Ah] raw=3f0a +02A2: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +02A4: 0F call_intrinsic arg_bytes=0x8 intrinsic_ordinal=0x61 intrinsic_name_hint=Intrinsic0061() raw=0f086100 +02A8: 6E add_sp value_u8=0xF8 raw=6ef8 +02AA: 5B line_number line_number=0x5C raw=5b5c00 +02AD: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +02AF: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +02B1: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x52 intrinsic_name_hint=Intrinsic0052() raw=0f065200 +02B5: 6E add_sp value_u8=0xFA raw=6efa +02B7: 5B line_number line_number=0x5D raw=5b5d00 +02BA: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +02BC: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +02BE: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x53 intrinsic_name_hint=Intrinsic00BD() raw=0f065300 +02C2: 6E add_sp value_u8=0xFA raw=6efa +02C4: 5B line_number line_number=0x5E raw=5b5e00 +02C7: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +02C9: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +02CB: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x54 intrinsic_name_hint=Intrinsic0054() raw=0f065400 +02CF: 6E add_sp value_u8=0xFA raw=6efa +02D1: 5B line_number line_number=0x5F raw=5b5f00 +02D4: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +02D6: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x9 intrinsic_name_hint=Item::getZ(void) raw=0f040900 +02DA: 6E add_sp value_u8=0xFC raw=6efc +02DC: 5D push_retval_byte raw=5d +02DD: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +02DF: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x14 intrinsic_name_hint=Item::legal_create(uint16,uint16,uint16,uint16,uint16) raw=0f041400 +02E3: 6E add_sp value_u8=0xFC raw=6efc +02E5: 5E push_retval_word raw=5e +02E6: 40 push_local_dword bp_offset=0x6 target=[BP+06h] raw=4006 +02E8: 0F call_intrinsic arg_bytes=0x4 intrinsic_ordinal=0x13 intrinsic_name_hint=Intrinsic0013() raw=0f041300 +02EC: 6E add_sp value_u8=0xFC raw=6efc +02EE: 5E push_retval_word raw=5e +02EF: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +02F1: 0F call_intrinsic arg_bytes=0xA intrinsic_ordinal=0x20 intrinsic_name_hint=Item::setQLo(sint16) raw=0f0a2000 +02F5: 6E add_sp value_u8=0xF6 raw=6ef6 +02F7: 5B line_number line_number=0x61 raw=5b6100 +02FA: 59 push_pid raw=59 +02FB: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +02FD: 57 spawn arg_bytes=0x0 this_size=0x2 target_class_id=0xA11 target_event_slot=0x23 target_event_name_hint=None raw=570002110a2300 +0304: 5E push_retval_word raw=5e +0305: 54 implies arg0=0x1 arg1=0x1 raw=540101 +0308: 12 pop_temp raw=12 +0309: 53 suspend raw=53 +030A: 5C symbol_info symbol_offset=0x125 symbol=NPCTRIG trailing_zero=0x0 raw=5c67004e5043545249470000 +0316: 5B line_number line_number=0x62 raw=5b6200 +0319: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +031B: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +031D: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x52 intrinsic_name_hint=Intrinsic0052() raw=0f065200 +0321: 6E add_sp value_u8=0xFA raw=6efa +0323: 5B line_number line_number=0x63 raw=5b6300 +0326: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +0328: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +032A: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x53 intrinsic_name_hint=Intrinsic00BD() raw=0f065300 +032E: 6E add_sp value_u8=0xFA raw=6efa +0330: 5B line_number line_number=0x64 raw=5b6400 +0333: 0A push_byte_immediate value_u8=0x5 value_signed=0x5 raw=0a05 +0335: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +0337: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0x54 intrinsic_name_hint=Intrinsic0054() raw=0f065400 +033B: 6E add_sp value_u8=0xFA raw=6efa +033D: 5B line_number line_number=0x67 raw=5b6700 +0340: 5B line_number line_number=0x66 raw=5b6600 +0343: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x1B intrinsic_name_hint=Item::pop(uint16,uint16,uint8) raw=0f001b00 +0347: 5E push_retval_word raw=5e +0348: 0A push_byte_immediate value_u8=0x0 value_signed=0x0 raw=0a00 +034A: 36 ne raw=36 +034B: 51 jne relative_u16=0x13 relative_signed=0x13 target_offset=0x112 raw=511300 +034E: 5B line_number line_number=0x68 raw=5b6800 +0351: 0F call_intrinsic arg_bytes=0x0 intrinsic_ordinal=0x1B intrinsic_name_hint=Item::pop(uint16,uint16,uint8) raw=0f001b00 +0355: 5E push_retval_word raw=5e +0356: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +0358: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0xE5 intrinsic_name_hint=Item::hurl(sint16,sint16,sint16,sint16) raw=0f06e500 +035C: 6E add_sp value_u8=0xFA raw=6efa +035E: 52 jmp relative_u16=0xF relative_signed=0xF target_offset=0x121 raw=520f00 +0361: 5B line_number line_number=0x6C raw=5b6c00 +0364: 4E push_global global_id=0x3C size=0x2 raw=4e3c0002 +0368: 4B push_local_addr bp_offset=0xFE target=[BP-02h] raw=4bfe +036A: 0F call_intrinsic arg_bytes=0x6 intrinsic_ordinal=0xE5 intrinsic_name_hint=Item::hurl(sint16,sint16,sint16,sint16) raw=0f06e500 +036E: 6E add_sp value_u8=0xFA raw=6efa +0370: 5B line_number line_number=0x6F raw=5b6f00 +0373: 50 ret raw=50 + +unknown_trailing_bytes=05016900007265666572656e740000690a00747970654e7063000024fe026e000024fc026974656d000024fa026974656d32007a diff --git a/patch_crusader_cheat_menu.ps1 b/patch_crusader_cheat_menu.ps1 new file mode 100644 index 0000000..71c40f9 --- /dev/null +++ b/patch_crusader_cheat_menu.ps1 @@ -0,0 +1,715 @@ +param( + [ValidateSet('1', '2', '3', '4')] + [string]$Choice +) + +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' + +$exePath = Join-Path $PSScriptRoot 'CRUSADER.EXE' +$statePath = Join-Path $PSScriptRoot 'patch_crusader_cheat_menu.state.json' + +$sites = @{ + Hook = @{ + Label = 'Hidden menu direct hook site' + Offset = 0x70D75 + Original = [byte[]](0x68, 0x03, 0x01, 0x9A, 0xFF, 0xFF, 0x00, 0x00, 0x83, 0xC4, 0x02) + Patched = [byte[]](0x68, 0x03, 0x01, 0x9A, 0xFF, 0xFF, 0x00, 0x00, 0x83, 0xC4, 0x02) + LegacyBadPatched = [byte[]](0x9A, 0x86, 0x9A, 0x0B, 0x00, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90) + OriginalPatterns = @( + @('68', '03', '01', '9A', 'FF', 'FF', '00', '00', '83', 'C4', '02') + ) + Fixup = @{ + OperandOffset = 0x70D79 + OriginalTargetSeg = 92 + OriginalTargetOffset = 0x0476 + PatchedTargetSeg = 117 + PatchedTargetOffset = 0x0086 + RetailSourceSegmentIndex = 39 + RetailChainOffset = 0x2B79 + RetailEntryOffset = 0x71D68 + } + } + Wrapper = @{ + Label = 'Current-slot wrapper arg site' + Offset = 0xB9A8D + Original = [byte[]](0x6A, 0x01, 0xFF, 0x76, 0x08, 0xFF, 0x76, 0x06) + Patched = [byte[]](0x6A, 0x01, 0x6A, 0x00, 0x6A, 0x00, 0x90, 0x90) + OriginalPatterns = @( + @('6A', '01', 'FF', '76', '08', 'FF', '76', '06') + ) + } + LegacyDeferredHook = @{ + Label = 'Rejected deferred-event hook site' + Offset = 0xC99DD + Original = [byte[]](0x68, 0x03, 0x01, 0x9A, 0xFF, 0xFF, 0x00, 0x00, 0x83, 0xC4, 0x02) + Patched = [byte[]](0x68, 0x03, 0x01, 0x9A, 0xFF, 0xFF, 0x00, 0x00, 0x83, 0xC4, 0x02) + OriginalPatterns = @( + @('68', '03', '01', '9A', 'FF', 'FF', '00', '00', '83', 'C4', '02') + ) + Fixup = @{ + OperandOffset = 0xC99E1 + OriginalTargetSeg = 92 + OriginalTargetOffset = 0x0476 + PatchedTargetSeg = 117 + PatchedTargetOffset = 0x020D + } + } + LegacyDeferredWrapper = @{ + Label = 'Rejected modal wrapper arg site' + Offset = 0xB9C48 + Original = [byte[]](0x6A, 0x00, 0xFF, 0x76, 0x08, 0xFF, 0x76, 0x06) + Patched = [byte[]](0x6A, 0x00, 0x6A, 0x00, 0x6A, 0x00, 0x90, 0x90) + OriginalPatterns = @( + @('6A', '00', 'FF', '76', '08', 'FF', '76', '06') + ) + } +} + +function Format-HexBytes { + param([byte[]]$Bytes) + + return (($Bytes | ForEach-Object { $_.ToString('X2') }) -join ' ') +} + +function Get-ByteSlice { + param( + [byte[]]$Bytes, + [int]$Offset, + [int]$Count + ) + + if ($Offset -lt 0 -or ($Offset + $Count) -gt $Bytes.Length) { + throw "Requested byte range 0x{0:X}-0x{1:X} is outside the file." -f $Offset, ($Offset + $Count - 1) + } + + $slice = New-Object byte[] $Count + [Array]::Copy($Bytes, $Offset, $slice, 0, $Count) + return $slice +} + +function Get-U16Le { + param( + [byte[]]$Bytes, + [int]$Offset + ) + + return [BitConverter]::ToUInt16($Bytes, $Offset) +} + +function Get-U32Le { + param( + [byte[]]$Bytes, + [int]$Offset + ) + + return [BitConverter]::ToUInt32($Bytes, $Offset) +} + +function Set-U16Le { + param( + [byte[]]$Bytes, + [int]$Offset, + [int]$Value + ) + + $raw = [BitConverter]::GetBytes([UInt16]$Value) + [Array]::Copy($raw, 0, $Bytes, $Offset, 2) +} + +function Test-ByteArrayEqual { + param( + [byte[]]$Left, + [byte[]]$Right + ) + + if ($Left.Length -ne $Right.Length) { + return $false + } + + for ($i = 0; $i -lt $Left.Length; $i++) { + if ($Left[$i] -ne $Right[$i]) { + return $false + } + } + + return $true +} + +function Test-BytePatternMatch { + param( + [byte[]]$Bytes, + [object[]]$Pattern + ) + + if ($Bytes.Length -ne $Pattern.Length) { + return $false + } + + for ($i = 0; $i -lt $Bytes.Length; $i++) { + $expected = [string]$Pattern[$i] + if ($expected -eq '??') { + continue + } + + if ($Bytes[$i] -ne [Convert]::ToByte($expected, 16)) { + return $false + } + } + + return $true +} + +function Convert-BytesToStoredHex { + param([byte[]]$Bytes) + + return (($Bytes | ForEach-Object { $_.ToString('X2') }) -join '') +} + +function Convert-StoredHexToBytes { + param([string]$Hex) + + if ([string]::IsNullOrWhiteSpace($Hex)) { + return $null + } + + $normalized = $Hex.Replace(' ', '') + if (($normalized.Length % 2) -ne 0) { + throw "Invalid stored hex string length: $Hex" + } + + $result = New-Object byte[] ($normalized.Length / 2) + for ($i = 0; $i -lt $result.Length; $i++) { + $result[$i] = [Convert]::ToByte($normalized.Substring($i * 2, 2), 16) + } + + return $result +} + +function Get-HookFixupInfo { + param( + [byte[]]$FileBytes, + [hashtable]$Site + ) + + $neHeaderOffset = [int](Get-U32Le -Bytes $FileBytes -Offset 0x3C) + $neSignature = Get-ByteSlice -Bytes $FileBytes -Offset $neHeaderOffset -Count 2 + if ($neSignature[0] -ne 0x4E -or $neSignature[1] -ne 0x45) { + throw 'Executable does not contain a valid NE header at e_lfanew.' + } + + $numSegments = [int](Get-U16Le -Bytes $FileBytes -Offset ($neHeaderOffset + 0x1C)) + $segmentTableOffset = [int](Get-U16Le -Bytes $FileBytes -Offset ($neHeaderOffset + 0x22)) + $neHeaderOffset + $alignmentShift = [int](Get-U16Le -Bytes $FileBytes -Offset ($neHeaderOffset + 0x32)) + + $operandFileOffset = [int]$Site.Fixup.OperandOffset + $segmentInfoByIndex = @{} + $sourceSegment = $null + for ($index = 1; $index -le $numSegments; $index++) { + $segmentEntryOffset = $segmentTableOffset + (($index - 1) * 8) + $sectorOffset = [int](Get-U16Le -Bytes $FileBytes -Offset $segmentEntryOffset) + if ($sectorOffset -eq 0) { + continue + } + + $segmentLength = [int](Get-U16Le -Bytes $FileBytes -Offset ($segmentEntryOffset + 2)) + if ($segmentLength -eq 0) { + $segmentLength = 0x10000 + } + + $segmentFlags = [int](Get-U16Le -Bytes $FileBytes -Offset ($segmentEntryOffset + 4)) + $segmentFileOffset = [int]($sectorOffset -shl $alignmentShift) + $segmentInfo = @{ + SegmentIndex = $index + SegmentEntryOffset = $segmentEntryOffset + SegmentFileOffset = $segmentFileOffset + SegmentLength = $segmentLength + SegmentFlags = $segmentFlags + HasReloc = (($segmentFlags -band 0x0100) -ne 0) + } + $segmentInfoByIndex[$index] = $segmentInfo + + if ($segmentFileOffset -le $operandFileOffset -and $operandFileOffset -lt ($segmentFileOffset + $segmentLength)) { + $sourceSegment = $segmentInfo + break + } + } + + if ($null -eq $sourceSegment) { + $fallbackSegmentIndex = [int]$Site.Fixup.RetailSourceSegmentIndex + $fallbackChainOffset = [int]$Site.Fixup.RetailChainOffset + if ($segmentInfoByIndex.ContainsKey($fallbackSegmentIndex)) { + $fallbackSegment = $segmentInfoByIndex[$fallbackSegmentIndex] + if (($fallbackSegment.SegmentFileOffset + $fallbackChainOffset) -eq $operandFileOffset) { + $sourceSegment = $fallbackSegment + } + } + } + + if ($null -eq $sourceSegment) { + throw ("Could not locate the hook operand file offset 0x{0:X} in any NE code segment." -f $operandFileOffset) + } + + if (-not $sourceSegment.HasReloc) { + throw 'Hook source segment does not advertise a relocation table.' + } + + $segmentIndex = [int]$sourceSegment.SegmentIndex + $segmentFileOffset = [int]$sourceSegment.SegmentFileOffset + $segmentLength = [int]$sourceSegment.SegmentLength + $relocTableOffset = $segmentFileOffset + $segmentLength + $relocCount = [int](Get-U16Le -Bytes $FileBytes -Offset $relocTableOffset) + $entryOffset = $relocTableOffset + 2 + $chainOffset = $operandFileOffset - $segmentFileOffset + + for ($index = 0; $index -lt $relocCount; $index++) { + $addrType = $FileBytes[$entryOffset] + $relType = $FileBytes[$entryOffset + 1] + $entryChainOffset = Get-U16Le -Bytes $FileBytes -Offset ($entryOffset + 2) + if ($entryChainOffset -eq $chainOffset) { + return @{ + SegmentIndex = $segmentIndex + SegmentFileOffset = $segmentFileOffset + RelocTableOffset = $relocTableOffset + EntryOffset = $entryOffset + EntryIndex = $index + AddrType = $addrType + RelType = $relType + ChainOffset = $entryChainOffset + TargetSeg = $FileBytes[$entryOffset + 4] + Reserved = $FileBytes[$entryOffset + 5] + TargetOffset = Get-U16Le -Bytes $FileBytes -Offset ($entryOffset + 6) + } + } + + if ($addrType -eq 3 -and (($relType -band 0x03) -eq 0)) { + $visited = New-Object 'System.Collections.Generic.HashSet[int]' + $currentChainOffset = $entryChainOffset + while ($currentChainOffset -ne 0xFFFF -and $currentChainOffset -lt $segmentLength) { + if (-not $visited.Add($currentChainOffset)) { + break + } + + if ($currentChainOffset -eq $chainOffset) { + return @{ + SegmentIndex = $segmentIndex + SegmentFileOffset = $segmentFileOffset + RelocTableOffset = $relocTableOffset + EntryOffset = $entryOffset + EntryIndex = $index + AddrType = $addrType + RelType = $relType + ChainOffset = $entryChainOffset + TargetSeg = $FileBytes[$entryOffset + 4] + Reserved = $FileBytes[$entryOffset + 5] + TargetOffset = Get-U16Le -Bytes $FileBytes -Offset ($entryOffset + 6) + } + } + + $currentChainOffset = Get-U16Le -Bytes $FileBytes -Offset ($segmentFileOffset + $currentChainOffset) + } + } + + $entryOffset += 8 + } + + $fallbackEntryOffset = [int]$Site.Fixup.RetailEntryOffset + $fallbackChainOffset = [int]$Site.Fixup.RetailChainOffset + if ($fallbackEntryOffset -ge 0 -and ($fallbackEntryOffset + 7) -lt $FileBytes.Length) { + $addrType = $FileBytes[$fallbackEntryOffset] + $relType = $FileBytes[$fallbackEntryOffset + 1] + $entryChainOffset = [int](Get-U16Le -Bytes $FileBytes -Offset ($fallbackEntryOffset + 2)) + if ( + $sourceSegment.SegmentIndex -eq [int]$Site.Fixup.RetailSourceSegmentIndex -and + $chainOffset -eq $fallbackChainOffset -and + $addrType -eq 3 -and + (($relType -band 0x03) -eq 0) -and + $entryChainOffset -eq $fallbackChainOffset + ) { + return @{ + SegmentIndex = $segmentIndex + SegmentFileOffset = $segmentFileOffset + RelocTableOffset = $relocTableOffset + EntryOffset = $fallbackEntryOffset + EntryIndex = -1 + AddrType = $addrType + RelType = $relType + ChainOffset = $entryChainOffset + TargetSeg = $FileBytes[$fallbackEntryOffset + 4] + Reserved = $FileBytes[$fallbackEntryOffset + 5] + TargetOffset = Get-U16Le -Bytes $FileBytes -Offset ($fallbackEntryOffset + 6) + } + } + } + + throw ("Could not find hook relocation entry for segment {0} chain offset 0x{1:X}." -f $segmentIndex, $chainOffset) +} + +function Get-StateData { + if (-not (Test-Path -LiteralPath $statePath)) { + return @{} + } + + $raw = Get-Content -LiteralPath $statePath -Raw + if ([string]::IsNullOrWhiteSpace($raw)) { + return @{} + } + + $parsed = ConvertFrom-Json -InputObject $raw -AsHashtable + if ($null -eq $parsed) { + return @{} + } + + return $parsed +} + +function Save-StateData { + param([hashtable]$StateData) + + $json = ConvertTo-Json -InputObject $StateData -Depth 4 + Set-Content -LiteralPath $statePath -Value $json -Encoding ASCII +} + +function Get-SavedOriginalBytes { + param( + [hashtable]$StateData, + [string]$SiteKey, + [int]$SiteOffset + ) + + if (-not $StateData.ContainsKey($SiteKey)) { + return $null + } + + $siteState = $StateData[$SiteKey] + if ($siteState -isnot [hashtable]) { + return $null + } + + if (-not $siteState.ContainsKey('OriginalBytes')) { + return $null + } + + if ($siteState.ContainsKey('Offset') -and ([int]$siteState.Offset -ne $SiteOffset)) { + return $null + } + + return Convert-StoredHexToBytes -Hex ([string]$siteState.OriginalBytes) +} + +function Save-OriginalBytesIfMissing { + param( + [hashtable]$StateData, + [string]$SiteKey, + [int]$SiteOffset, + [byte[]]$Bytes + ) + + if ($StateData.ContainsKey($SiteKey) -and ($StateData[$SiteKey] -is [hashtable])) { + $existing = $StateData[$SiteKey] + if ($existing.ContainsKey('OriginalBytes') -and $existing.ContainsKey('Offset') -and ([int]$existing.Offset -eq $SiteOffset)) { + return $false + } + } + + $StateData[$SiteKey] = @{ + Offset = $SiteOffset + OriginalBytes = Convert-BytesToStoredHex -Bytes $Bytes + } + return $true +} + +function Get-SiteState { + param( + [byte[]]$FileBytes, + [hashtable]$Site + ) + + $current = Get-ByteSlice -Bytes $FileBytes -Offset $Site.Offset -Count $Site.Original.Length + if ($Site.ContainsKey('Fixup')) { + $fixupInfo = Get-HookFixupInfo -FileBytes $FileBytes -Site $Site + $isFixupOriginal = ($fixupInfo.TargetSeg -eq $Site.Fixup.OriginalTargetSeg) -and ($fixupInfo.TargetOffset -eq $Site.Fixup.OriginalTargetOffset) + $isFixupPatched = ($fixupInfo.TargetSeg -eq $Site.Fixup.PatchedTargetSeg) -and ($fixupInfo.TargetOffset -eq $Site.Fixup.PatchedTargetOffset) + + if ($Site.ContainsKey('LegacyBadPatched') -and (Test-ByteArrayEqual -Left $current -Right $Site.LegacyBadPatched) -and $isFixupOriginal) { + return 'LegacyBadPatch' + } + + if ((Test-ByteArrayEqual -Left $current -Right $Site.Patched) -and $isFixupPatched) { + return 'Patched' + } + + if ((Test-ByteArrayEqual -Left $current -Right $Site.Original) -and $isFixupOriginal) { + return 'Original' + } + + foreach ($pattern in $Site.OriginalPatterns) { + if ((Test-BytePatternMatch -Bytes $current -Pattern $pattern) -and $isFixupOriginal) { + return 'Original' + } + } + + return 'Unknown' + } + + if (Test-ByteArrayEqual -Left $current -Right $Site.Patched) { + return 'Patched' + } + + if (Test-ByteArrayEqual -Left $current -Right $Site.Original) { + return 'Original' + } + + foreach ($pattern in $Site.OriginalPatterns) { + if (Test-BytePatternMatch -Bytes $current -Pattern $pattern) { + return 'Original' + } + } + + return 'Unknown' +} + +function Assert-SiteStateKnown { + param( + [byte[]]$FileBytes, + [hashtable]$Site + ) + + $state = Get-SiteState -FileBytes $FileBytes -Site $Site + if ($state -eq 'Unknown') { + $current = Get-ByteSlice -Bytes $FileBytes -Offset $Site.Offset -Count $Site.Original.Length + throw ( + "{0} at file offset 0x{1:X} does not match either expected byte sequence.`nCurrent : {2}`nOriginal: {3}`nPatched : {4}`n`nRefusing to modify an unknown executable state." -f + $Site.Label, + $Site.Offset, + (Format-HexBytes -Bytes $current), + (Format-HexBytes -Bytes $Site.Original), + (Format-HexBytes -Bytes $Site.Patched) + ) + } +} + +function Set-ByteSlice { + param( + [byte[]]$Bytes, + [int]$Offset, + [byte[]]$Value + ) + + [Array]::Copy($Value, 0, $Bytes, $Offset, $Value.Length) +} + +function Show-Status { + param([byte[]]$FileBytes) + + $hookState = Get-SiteState -FileBytes $FileBytes -Site $sites.Hook + $wrapperState = Get-SiteState -FileBytes $FileBytes -Site $sites.Wrapper + + Write-Host '' + Write-Host 'CRUSADER.EXE patch status' + Write-Host '------------------------' + Write-Host ("EXE: {0}" -f $exePath) + Write-Host ("A hook @ 0x{0:X}: {1}" -f $sites.Hook.Offset, $hookState) + Write-Host ("B wrapper @ 0x{0:X}: {1}" -f $sites.Wrapper.Offset, $wrapperState) + Write-Host '' + Write-Host '1. Apply supported hidden-menu patch (aliases to Experiment B)' + Write-Host '2. Apply Experiment B (retarget + modal arg fix)' + Write-Host '3. Restore original bytes' + Write-Host '4. Exit' + Write-Host '' +} + +function Set-DesiredState { + param( + [bool]$HookPatched, + [bool]$WrapperPatched, + [string]$Label + ) + + $fileBytes = [System.IO.File]::ReadAllBytes($exePath) + $stateData = Get-StateData + + Assert-SiteStateKnown -FileBytes $fileBytes -Site $sites.Hook + Assert-SiteStateKnown -FileBytes $fileBytes -Site $sites.Wrapper + Assert-SiteStateKnown -FileBytes $fileBytes -Site $sites.LegacyDeferredHook + Assert-SiteStateKnown -FileBytes $fileBytes -Site $sites.LegacyDeferredWrapper + + $hookCurrent = Get-ByteSlice -Bytes $fileBytes -Offset $sites.Hook.Offset -Count $sites.Hook.Original.Length + $hookFixupInfo = Get-HookFixupInfo -FileBytes $fileBytes -Site $sites.Hook + $wrapperCurrent = Get-ByteSlice -Bytes $fileBytes -Offset $sites.Wrapper.Offset -Count $sites.Wrapper.Original.Length + $legacyDeferredHookFixupInfo = Get-HookFixupInfo -FileBytes $fileBytes -Site $sites.LegacyDeferredHook + $hookCurrentState = Get-SiteState -FileBytes $fileBytes -Site $sites.Hook + $wrapperCurrentState = Get-SiteState -FileBytes $fileBytes -Site $sites.Wrapper + + $stateChanged = $false + if ($hookCurrentState -eq 'Original') { + $stateChanged = (Save-OriginalBytesIfMissing -StateData $stateData -SiteKey 'Hook' -SiteOffset $sites.Hook.Offset -Bytes $hookCurrent) -or $stateChanged + if (-not $stateData.ContainsKey('HookFixup')) { + $stateData['HookFixup'] = @{ + TargetSeg = $hookFixupInfo.TargetSeg + TargetOffset = $hookFixupInfo.TargetOffset + Reserved = $hookFixupInfo.Reserved + } + $stateChanged = $true + } + } + if ($wrapperCurrentState -eq 'Original') { + $stateChanged = (Save-OriginalBytesIfMissing -StateData $stateData -SiteKey 'Wrapper' -SiteOffset $sites.Wrapper.Offset -Bytes $wrapperCurrent) -or $stateChanged + } + if ($stateChanged) { + Save-StateData -StateData $stateData + } + + if ($HookPatched) { + $hookBytes = $sites.Hook.Patched + $hookTargetSeg = [int]$sites.Hook.Fixup.PatchedTargetSeg + $hookTargetOffset = [int]$sites.Hook.Fixup.PatchedTargetOffset + $hookReserved = 0 + } + else { + $hookBytes = Get-SavedOriginalBytes -StateData $stateData -SiteKey 'Hook' -SiteOffset $sites.Hook.Offset + if ($null -eq $hookBytes) { + if ($hookCurrentState -eq 'Original' -or $hookCurrentState -eq 'LegacyBadPatch') { + $hookBytes = $hookCurrent + } + else { + throw 'No saved original bytes are available for the Experiment A hook site. Restore requires either a prior patch run with this script or your full executable backup.' + } + } + + if ($stateData.ContainsKey('HookFixup')) { + $hookTargetSeg = [int]$stateData['HookFixup'].TargetSeg + $hookTargetOffset = [int]$stateData['HookFixup'].TargetOffset + $hookReserved = [int]$stateData['HookFixup'].Reserved + } + else { + $hookTargetSeg = [int]$sites.Hook.Fixup.OriginalTargetSeg + $hookTargetOffset = [int]$sites.Hook.Fixup.OriginalTargetOffset + $hookReserved = 0 + } + } + + if ($WrapperPatched) { + $wrapperBytes = $sites.Wrapper.Patched + } + else { + $wrapperBytes = Get-SavedOriginalBytes -StateData $stateData -SiteKey 'Wrapper' -SiteOffset $sites.Wrapper.Offset + if ($null -eq $wrapperBytes) { + if ($wrapperCurrentState -eq 'Original') { + $wrapperBytes = $wrapperCurrent + } + else { + throw 'No saved original bytes are available for the Experiment B wrapper site. Restore requires either a prior patch run with this script or your full executable backup.' + } + } + } + + $legacyDeferredHookBytes = $sites.LegacyDeferredHook.Original + $legacyDeferredHookTargetSeg = [int]$sites.LegacyDeferredHook.Fixup.OriginalTargetSeg + $legacyDeferredHookTargetOffset = [int]$sites.LegacyDeferredHook.Fixup.OriginalTargetOffset + $legacyDeferredHookReserved = 0 + $legacyDeferredWrapperBytes = $sites.LegacyDeferredWrapper.Original + + Set-ByteSlice -Bytes $fileBytes -Offset $sites.Hook.Offset -Value $hookBytes + $fileBytes[$hookFixupInfo.EntryOffset + 4] = [byte]$hookTargetSeg + $fileBytes[$hookFixupInfo.EntryOffset + 5] = [byte]$hookReserved + Set-U16Le -Bytes $fileBytes -Offset ($hookFixupInfo.EntryOffset + 6) -Value $hookTargetOffset + Set-ByteSlice -Bytes $fileBytes -Offset $sites.Wrapper.Offset -Value $wrapperBytes + Set-ByteSlice -Bytes $fileBytes -Offset $sites.LegacyDeferredHook.Offset -Value $legacyDeferredHookBytes + $fileBytes[$legacyDeferredHookFixupInfo.EntryOffset + 4] = [byte]$legacyDeferredHookTargetSeg + $fileBytes[$legacyDeferredHookFixupInfo.EntryOffset + 5] = [byte]$legacyDeferredHookReserved + Set-U16Le -Bytes $fileBytes -Offset ($legacyDeferredHookFixupInfo.EntryOffset + 6) -Value $legacyDeferredHookTargetOffset + Set-ByteSlice -Bytes $fileBytes -Offset $sites.LegacyDeferredWrapper.Offset -Value $legacyDeferredWrapperBytes + + [System.IO.File]::WriteAllBytes($exePath, $fileBytes) + + $verifyBytes = [System.IO.File]::ReadAllBytes($exePath) + $hookState = Get-SiteState -FileBytes $verifyBytes -Site $sites.Hook + $wrapperState = Get-SiteState -FileBytes $verifyBytes -Site $sites.Wrapper + $verifiedHookFixupInfo = Get-HookFixupInfo -FileBytes $verifyBytes -Site $sites.Hook + $verifiedLegacyDeferredHookFixupInfo = Get-HookFixupInfo -FileBytes $verifyBytes -Site $sites.LegacyDeferredHook + $verifiedHookBytes = Get-ByteSlice -Bytes $verifyBytes -Offset $sites.Hook.Offset -Count $hookBytes.Length + $verifiedWrapperBytes = Get-ByteSlice -Bytes $verifyBytes -Offset $sites.Wrapper.Offset -Count $wrapperBytes.Length + $verifiedLegacyDeferredHookBytes = Get-ByteSlice -Bytes $verifyBytes -Offset $sites.LegacyDeferredHook.Offset -Count $legacyDeferredHookBytes.Length + $verifiedLegacyDeferredWrapperBytes = Get-ByteSlice -Bytes $verifyBytes -Offset $sites.LegacyDeferredWrapper.Offset -Count $legacyDeferredWrapperBytes.Length + + if (-not (Test-ByteArrayEqual -Left $verifiedHookBytes -Right $hookBytes)) { + throw 'Hook-site verification failed after write.' + } + + if ($verifiedHookFixupInfo.TargetSeg -ne $hookTargetSeg -or $verifiedHookFixupInfo.TargetOffset -ne $hookTargetOffset) { + throw 'Hook relocation verification failed after write.' + } + + if (-not (Test-ByteArrayEqual -Left $verifiedWrapperBytes -Right $wrapperBytes)) { + throw 'Wrapper-site verification failed after write.' + } + + if (-not (Test-ByteArrayEqual -Left $verifiedLegacyDeferredHookBytes -Right $legacyDeferredHookBytes)) { + throw 'Rejected deferred-event hook cleanup verification failed after write.' + } + + if ($verifiedLegacyDeferredHookFixupInfo.TargetSeg -ne $legacyDeferredHookTargetSeg -or $verifiedLegacyDeferredHookFixupInfo.TargetOffset -ne $legacyDeferredHookTargetOffset) { + throw 'Rejected deferred-event relocation cleanup verification failed after write.' + } + + if (-not (Test-ByteArrayEqual -Left $verifiedLegacyDeferredWrapperBytes -Right $legacyDeferredWrapperBytes)) { + throw 'Rejected modal-wrapper cleanup verification failed after write.' + } + + Write-Host '' + Write-Host ("Applied: {0}" -f $Label) + Write-Host ("A hook @ 0x{0:X}: {1}" -f $sites.Hook.Offset, $hookState) + Write-Host ("B wrapper @ 0x{0:X}: {1}" -f $sites.Wrapper.Offset, $wrapperState) + Write-Host '' + Write-Host 'What this means:' + Write-Host '- Experiment A retargets the existing cheat-success far call into cheat_menu_open_from_current_slot while keeping the original event-dispatch framing.' + Write-Host '- Experiment B preserves the wrapper mode byte `1` but forces the two ambiguous 16-bit constructor parameters to zero instead of inheriting arbitrary caller-frame values.' + Write-Host '- Restore also cleans up the rejected deferred-event patch sites if they were left behind by earlier attempts.' + Write-Host '' +} + +function Invoke-MenuChoice { + param([string]$SelectedChoice) + + switch ($SelectedChoice.Trim()) { + '1' { + Write-Warning 'Experiment A alone is not supported on the cheat-code path. Applying the safer Experiment B patch instead.' + Set-DesiredState -HookPatched $true -WrapperPatched $true -Label 'Experiment B (via menu option 1 alias)' + } + '2' { + Set-DesiredState -HookPatched $true -WrapperPatched $true -Label 'Experiment B (A + B)' + } + '3' { + Set-DesiredState -HookPatched $false -WrapperPatched $false -Label 'Restore original bytes' + } + '4' { + return $false + } + default { + Write-Warning 'Invalid selection.' + } + } + + return $true +} + +if (-not (Test-Path -LiteralPath $exePath)) { + throw "CRUSADER.EXE was not found next to the script. Put this .ps1 file in the same folder as CRUSADER.EXE." +} + +if ($PSBoundParameters.ContainsKey('Choice')) { + [void](Invoke-MenuChoice -SelectedChoice $Choice) + return +} + +:mainloop while ($true) { + $currentBytes = [System.IO.File]::ReadAllBytes($exePath) + Show-Status -FileBytes $currentBytes + $choice = Read-Host 'Select 1, 2, 3, or 4' + if ([string]::IsNullOrEmpty($choice)) { break mainloop } + + if (-not (Invoke-MenuChoice -SelectedChoice $choice)) { + break mainloop + } +} \ No newline at end of file diff --git a/plan-mid.md b/plan-mid.md index 0eb0e9b..0f05568 100644 --- a/plan-mid.md +++ b/plan-mid.md @@ -15,18 +15,21 @@ Detailed completed analysis belongs in the files under `docs/`, not in this plan ## Progress Snapshot -- Overall useful decompilation progress: about 42% -- Reasonable uncertainty band: about 36% to 45% +- Overall useful decompilation progress: about 49% +- Reasonable uncertainty band: about 44% to 52% - Top 100 far-call target coverage: about 80% -- Segment spread with meaningful analysis: about 22% to 28% -- Tooling maturity for continued work: about 75% +- Segment spread with meaningful analysis: about 26% to 32% +- Tooling maturity for continued work: about 77% -### Why The Estimate Stays Here +### Why The Estimate Moves Slightly - Recent work materially improved semantic confidence inside the startup/display, cache/allocator, callback-object, and USECODE/VM lanes. -- The startup/display lane now has a verified owner split: `g_active_dispatch_entry_farptr[+0x40]` is a borrowed shared presentation hold token, while the seg108 `0x4f38` bit-`0x40` lane stays local to the sprite/object stack. -- The seg126 control stream is now tighter at the producer side too: the traced setup path still supports a shared-base-path file selector feeding a full external script/control buffer, the `0x6aa:0x6ac` base now reads as an inherited external/default path buffer rather than a stronger in-code producer, and the in-scope `0x31a2` transition/presentation readers are now classified by role. -- That work reduced ambiguity inside already-active clusters more than it expanded whole-program breadth, so the headline only moves modestly. +- The startup/display lane is now materially complete as an active major section: the shared `g_active_dispatch_entry_farptr[+0x40]` hold token is separated from the seg108-local `0x4f38` bit-`0x40` lane, the seg126 control stream is confirmed as file-backed, the paired `0x8c5c/0x8c60` renderer objects are narrowed to two script-selected preset text lanes, and the neighboring seg127 fade controller now has an exact local contract at `0x630a..0x6316`. +- The current VM/loader batch also justified a small bump: `000d:ebe3` is now a named ordered opcode sequencer with a tighter entry/exit contract, the masked-create hub at `000d:463a` is now a verified owner-table gate rather than an inferred wrapper sink, and the seg070 twin loops under `entity_vm_runtime_owner_resource_create` now read as paired file-family loaders writing into separate temporary buffers rather than one ambiguous callback shard. +- The latest USECODE pass justified another small VM-lane bump: the gameplay-side wrapper ladder now extends through slots `0x10..0x14` with verified mixed payload shapes (`none` vs extra signed word), the new slot-only Ghidra names keep that taxonomy visible without overpromoting event labels, and the `000d:22bc` stage is now comment-backed as a sequencer-internal link-matrix/pushback consumer over decoded workspace bytes rather than a direct descriptor-row reader. +- The immortality follow-up justified another small tooling-and-confidence bump: the extractor now emits a dedicated target-body scan, the strongest current USECODE candidates show no inline `0x410` / `0x00000410` literal, and the remaining frontier is narrowed to data-driven decoding of `EVENT` slot `0x0a` plus `NPCTRIG` slots `0x0a` / `0x20` rather than the older wider trigger family set. +- The latest owner-loaded range pass justified another small confidence bump too: the owner-resource child selector now matches extracted `class_id + 2` exactly, the class header/subentry math at `000d:5066/51fd/53b4` is closed against the extractor's raw headers and event rows, and the surviving immortality uncertainty has moved from `can the loader fit NPCTRIG arithmetic at all?` to the narrower `which class family is actually selected upstream?` question. +- That closes one live top-priority section and justifies a small headline increase even though the remaining work is still breadth-heavy. ## Current Verified State @@ -43,44 +46,71 @@ Detailed completed analysis belongs in the files under `docs/`, not in this plan - 0008 dispatch-entry helpers and 000c state-machine helpers have broad partial coverage. - 000a/000d tracked-handle, cache, allocator, dispatch-entry, and startup/display support lanes now have a coherent partial map. - 000e parser and animation subsystems have a real partial map. -- The USECODE/VM owner/resource/runtime lane now has a workable partial model plus supporting extraction/reporting tooling. +- The USECODE/VM owner/resource/runtime lane now has a workable partial model, a named sequencer entry, paired external file-family loader evidence, and supporting extraction/reporting tooling. +- The USECODE/VM tooling lane now also has a concrete near-term implementation path: a Pentagram-derived proof-of-concept parser can reuse opcode decoding while swapping in the locally verified owner-loaded class and slot arithmetic, with a hybrid Ghidra comment/bookmark import path instead of a premature custom processor module. +- The USECODE/VM lane now also has a verified generic masked-context creation hub (`000d:463a`) plus two concrete sequencer-internal consumer blocks (`000d:208b`, `000d:21ed`) built directly on `entity_vm_context_create_from_slot_index`. +- The USECODE/VM lane now also has first caller-role evidence outside the older seg021 wrapper island: the new seg004 callers keep masks `0x8000:0x0007` and `0x2000:0x0015` in gameplay-side materialization lanes, while the newly named seg006 helpers now separate one extra-word masked lane with a real local class-state transition fallback (`0x0008:0x0030`) from a guarded `0x0010:0x0008` materializer that simply returns `0` on miss after readiness checks. +- The USECODE/VM lane now also has a wider verified higher-slot wrapper ladder: the `0005` island reaches slot ordinals `0x10..0x14`, slot `0x12` is a zero-extra-word lane, slots `0x11/0x13/0x14` carry extra-word payloads, and the current safest read is `slot-stable payload-shape taxonomy` rather than direct event-name promotion. +- The same higher-slot batch now has its first outward binary anchors: slot `0x12` wrapper `0005:3171` is directly called at `0005:1776` and `0005:1945`, the slot `0x10` guarded lane at `0005:3115..3129` is still fenced by the `0005:30f2..3113` class-nibble-`4` check, and the dark slot `0x0a` / `0x0b` wrappers are now instruction-verified as exact signed-additive shims over masks `0x00000400` / `0x00000800` even though their outward callers remain unrecovered. +- The compiled-side immortality lane is slightly tighter too: `000b:b3b1` / `000b:b62c` are now a cheat-event listener constructor/handler pair for the shared cheat/control bundle rather than a hidden `0x410` producer, and the extractor-side `TELEPAD` slot-`0x20` `raw_code_offset = 0x00000410` hit is closed as an offset collision rather than direct immortality evidence. +- The compiled-side immortality lane is tighter again after the follow-up pass: `000c:8a62 -> 000c:8c56` is now a verified generic event-object dispatcher reading the emitted event id from field `+0x6`, seg109 helper `000b:3d2a` is now comment-backed as generic listener-registration infrastructure rather than an emitter, and the strongest remaining player-trigger family is the event-bearing `NPCTRIG` / `EVENT` neighborhood rather than `TRIGPAD`, `SPECIAL`, `REB_PAD`, or `TELEPAD`. +- The immortality lane is tighter again after the extractor extension: generated report `USECODE/EUSECODE_extracted/immortality_target_body_scan.md` now proves that `EVENT`, `NPCTRIG`, `COR_BOOT`, `REE_BOOT`, `SFXTRIG`, `SPECIAL`, and `TRIGPAD` bodies contain no inline little-endian `0x0410`, no dword `0x00000410`, and no byte-swapped `0x1004`; the best surviving frontier is now the monolithic `EVENT` slot `0x0a` body plus compact `NPCTRIG` slots `0x0a` / `0x20`. +- The immortality lane is tighter again after the structure pass: new report `USECODE/EUSECODE_extracted/immortality_body_structure.md` now shows `EVENT` slot `0x0a` as a broad hub clause stream (`90` internal `0x53 0x5c EVENT` subheaders, `383` local labels, wide `event/item/source/dest/door/counter/counter2/link/time/post1/post2/floor/flicMan` tail), while `NPCTRIG` stays compact (`5` subheaders for slot `0x0a`, `1` for slot `0x20`, with narrow `referent/event/item/item2` vs `referent/typeNpc/item/item2` tails). Current best surviving emitter frontier is therefore `NPCTRIG` slot `0x0a` with `NPCTRIG` slot `0x20` as its nearest typed/setup companion, while `EVENT` now reads more like the generic hub body behind the same active-event lane. +- The immortality lane is tighter again after the clause pass: new report `USECODE/EUSECODE_extracted/immortality_npctrig_clauses.md` now fixes the open-header decode (`NPCTRIG 0x0a` event-code byte `0x11`, `NPCTRIG 0x20` event-code byte `0x01`) and shows slot `0x0a` as a five-step fixed-width clause ladder (`0x2f` subheader stride, backward-walking `0x2f` targets, per-clause `branch_3f_0a` + `push_24_51` + `writeback_57_02` motifs) while slot `0x20` stays typeNpc-heavy (`10` `field_4b_fe_0f` hits, no `push_24_51`, no `writeback_57_02`). The best remaining descriptor-side frontier is therefore no longer the `NPCTRIG` pair symmetrically; it is specifically `NPCTRIG` slot `0x0a` as the live event-bearing ladder, with slot `0x20` as a typed/setup companion body. +- The immortality lane is tighter again after the runtime-fit follow-up: the regenerated clause report now records the per-clause motif offsets and the selector-family fit against `000d:21ed -> 000d:22bc`. `000d:5572` proves the extra word carried by `0005:2c35` is additive (`slot_value + offset`), `000d:21ed` now has an exact `A x B` matrix contract (byte A = lead-word row count, byte B = shared target-list width), and `NPCTRIG` slot `0x0a` is the only surviving compact body that exposes a natural five-row additive selector family (`0x0064/0x0093/0x00c2/0x00f1/0x0120`, uniform stride `0x2f`) instead of a one-clause typeNpc gate. +- The immortality caller-path follow-up tightened the runtime bridge again: MCP xrefs now show only three entries into `entity_vm_context_create_from_slot_index` (`000d:46ac`, `000d:208b`, `000d:21ed`), while `0005:2c35` itself still has no recovered code or data xrefs. Stack setup at `000d:208b` hardcodes the `000d:5572` additive word to `0`, which does not match the `NPCTRIG` slot `0x0a` clause-start or target families. The remaining live selector frontier is therefore the still-overlapped `000d:21ed` caller frame rather than a normal caller of `0005:2c35`. +- The immortality downstream-use follow-up weakens the remaining direct-selector hypothesis again: `000d:46ec` stores the dynamic word from the `000d:21ed` lane into context field `+0x34`, but `000d:21ed -> 000d:22bc` never rereads `+0x34` or `+0x32` after creation. The durable uses are the object save/load path instead: `000d:498f` serializes only the derived low word at `+0x10c`, `000d:4a78` reloads that saved word as the additive argument to `000d:5572`, and `000d:4c2d..4c4d` rebuilds `+0x10c/+0x10e` from the live slot value plus that saved offset. The only recovered post-load consumers are a tiny sentinel predicate (`FUN_0001_a772` checks for exactly `0000:0001`) and a normalization block (`FUN_0002_1860` clamps `0000:xxxx` values below `0x0080` up to `0x0080`). No recovered compare or dispatch branch matches the `NPCTRIG` slot `0x0a` clause-start or target families, so the direct derived-value fit is weaker again. +- The persisted-context contract is tighter again after the latest pass: `entity_vm_context_save` (`000d:498f`) serializes `+0x11f`, `+0x121`, `+0x10c`, `+0x34`, and the `0x80`-byte local buffer, while `entity_vm_context_load` (`000d:4a78`) rebuilds the frame pointers, replays `entity_vm_slot_load_value_plus_offset` from saved `(slot, additive_word)`, restores `+0x10c/+0x10e`, and refreshes owner-source pair `+0x117/+0x119`. That is stronger evidence for `post-selector persistence of derived value state` than for any hidden upstream class discriminator. +- The immortality upstream-source follow-up removes most of the caller-frame ambiguity. Direct program-memory bytes for `000d:2131..21ed` now show the hidden pre-call layout explicitly: the seeded `+0xd6/+0xd8` stream is consumed as `word slot_index`, `word add_a`, `word add_b`, `byte setup_len`, `byte inline_len`, and `000d:21d0` pushes `add_a + add_b` as the dynamic word later stored at context `+0x34`. The same window now proves the caller-side frame shape too: frame base is `caller + [caller+0xd4]`, `[frame+0x0a/+0x0c]` is the far pointer passed into `entity_vm_context_setup`, and `[frame+0x0e..]` is a separate inline tail blob copied after creation. That rules out runtime owner-table fields or raw caller-object fields as the immediate source of `+0x34` and reframes the open question one level earlier: where that frame-local far pointer is seeded from, and whether the summed stream pair still maps to `NPCTRIG` slot `0x0a` clause-base/delta structure or only to a more generic descriptor-relative offset pair. +- The immortality frame-producer follow-up narrows the upstream writer one step further. Raw bytes at `000c:fbf7..fc47` (`caseD_0`) now show the nearest non-overlapped producer reading one signed placement byte from the seeded `+0xd6/+0xd8` stream, popping a far-pointer dword from the caller stream at `[caller+0xcc/+0xce]`, computing `frame_base = caller + [caller+0xd4]`, and storing that dword at `[frame_base + placement + 0x4/+0x6]`. That means the `000d:21ed` source lane is immediately caller-stream-backed rather than owner-row-backed; if its consumed `[frame+0x0a/+0x0c]` pair comes from this family, the relevant placement byte is `0x0006`, and any surviving `NPCTRIG` linkage must already have been predecoded into the generic caller stream before the frame record is materialized. +- The next producer-path pass tightens that split again. `000d:46ec -> 000c:f844 -> 000c:f6e8` now shows that a new context's `+0xcc/+0xce` stream is seeded by copying a caller-supplied setup blob into the object-local buffer, while the slot/additive record from `entity_vm_slot_load_value_plus_offset` seeds the separate `+0xd6/+0xd8` lane and the owner-table row `(+0x10/+0x12) + 0x0d*slot + 4` is mirrored separately through `0x39ca`. Linear raw-byte recovery across `000c:f98b..000d:000d` also closes the forward/reverse frame-record family around that lane: `000c:fc4b..fcbb` is the caller-stream -> frame blob producer that best matches inline-tail placement `0x000a`, while `000c:ff1f..ff83` is the frame -> caller-stream dword copier matching the `000c:fbf7..fc47` far-pointer writer at placement `0x0006`. The surviving open question is therefore narrower again: not which generic parent-frame materializer exists, but where the first non-recursive decoder originates the setup far pointer before this `ff1f/ff9f -> fbf7/fc4b -> 000d:21ed` propagation chain repeats it, and whether that origin still maps specifically to `NPCTRIG` slot `0x0a` or to a broader predecoded VM workspace. +- The next immortality pass closes the immediate far-pointer source classification too. Hidden raw bytes at `000c:fa2f..fa5b` recover an inner opcode dispatcher on the seeded `+0xd6/+0xd8` lane, and the same case family now exposes non-recursive caller-stream seeders at `000c:fd51`, `000c:fd91`, `000c:fdd1`, and `000c:fe11`. The dword case at `000c:fe11..fe59` reads an inline dword literal from that control stream, subtracts `4` from `[caller+0xcc]`, and writes the literal dword onto the caller stream before the recursive `ff1f/fbf7` replay family touches it. That means the immediate compiled-side source for the `000d:21ed` setup far pointer is now an inline VM control-stream literal, not an owner-row lookup or generic scratch buffer; any surviving `NPCTRIG` tie has to explain how slot `0x0a` is decoded into that literal-bearing stream upstream, while slot `0x20` still reads as the typed/setup companion body. +- The next immortality pass separates that literal-bearing stream from the owner-row path cleanly enough to retune the working model. Instruction recovery at `000d:46ec` now shows the owner-table row `(+0x10/+0x12) + 0x0d*slot + 4` feeding only the separate `0x39ca[slot]` mirror, while the live `+0xd6/+0xd8` control stream passed into `entity_vm_context_setup` continues to come from `entity_vm_slot_load_value_plus_offset`. The hidden `000d:21ed` pre-call span is now explicit as `word slot_index`, `word add_a`, `word add_b`, `byte setup_len`, `byte inline_len`, and the `000c:fa2f` case family now separates immediate literal seeders (`000c:fd51` byte, `000c:fd91` sign-extended byte->word, `000c:fdd1` word, `000c:fe11` dword) from the recursive replay stages (`000c:ff1f`, `000c:ff9f`). Current best read is therefore `decoded per-slot VM workspace plus frame replay`, not `direct NPCTRIG clause stream`, even though `NPCTRIG` slot `0x0a` remains the strongest surviving upstream descriptor family and slot `0x20` still reads as the typed/setup companion. +- The next immortality pass closes the workspace-materialization side of that boundary too. `entity_vm_slot_load_value` (`000d:51fd`) is now instruction-verified as the first concrete writer of the later `+0xd6/+0xd8` buffer on a cache miss: `000d:5066` loads a slot header plus cached `6`-byte subentry table through the owner-resource wrapper `000d:714c`, and `000d:5305..53d4` then reads the selected subentry's byte range directly into a newly allocated value-object buffer at `+0x0a/+0x0c`, which `000d:51fd` returns as the live far pair. That means the immediate workspace is file-backed owner-loaded slot data copied into memory before `000c:fa2f` interprets it. The remaining open question is no longer who first materializes the buffer at all, but whether the loaded slot family can be tied specifically to `NPCTRIG` slot `0x0a` or only to the broader owner-loaded descriptor workspace, with slot `0x20` still the best typed/setup companion. +- The next immortality pass closes the header/range-arithmetic blocker itself. The owner-resource callbacks operate on `class_id + 2`, which matches extracted `object_index` exactly; the first class-header dword is now constrained as the extra-slot count beyond a fixed `0x20` base table; bytes `8..11` remain the first code-byte offset; and `000d:53b4` reads body windows using the same `(word len, dword raw_code_offset, code_base)` arithmetic emitted by the extractor. `NPCTRIG` therefore now has exact owner-loaded body windows in the live runtime format: slot `0x0a` = `0x00da..0x024e` (`373` bytes) and slot `0x20` = `0x024f..0x03a7` (`345` bytes), while `EVENT` slot `0x0a` likewise fits `0x00d4..0x20a9`. The remaining immortality uncertainty is no longer range translation but upstream class selection into that now-verified loader path. +- The selector-side follow-up tightens that last uncertainty without closing it. `entity_vm_slot_index_from_entity` (`000d:45c5`) is now instruction-verified as a three-way category mapper only: `(1)` entity-id lane `1..255` with class bit `0x0002` clear -> `entity_id + 0x8c7e`, `(2)` class-nibble `4` lane -> `class_byte_0x7e05 + 0x8c80`, `(3)` fallback type lane -> `type_word_0x7df9 + 0x8c7c`. `entity_vm_runtime_init_from_path_if_configured` seeds those bases cumulatively from `0x6608..0x660e`, and direct caller `0005:295f` independently reuses the same slot index to test owner-row bit `0x0040`. That strengthens the read that the compiled side sees category spans plus generic row-capability masks, not a hard `NPCTRIG` / `EVENT` class-family discriminator, before the owner-loaded slot body is decoded. +- The compiled immortality lane is now concretely resolved on the cheat/toggle side with the correct flag split. `cheat_code_check` (`0007:0d0a`) is still the sole cheat-sequence matcher (5-byte table via `DS:0x2833`, index `DS:0x283d`), and it toggles `DS:0x844` (`cheats_enabled`) plus mirror `DS:0x6045`, then emits event `0x103`. The actual user-visible immortality toggle is event `0x410` at `000c:9703`, which boolean-toggles `DS:0x604f` and posts the on/off notifications (gate = `DS:0x844`). The older `DS:0x6050` lane at `immortality_activate` (`000c:8231`) remains a secondary entity/process path, not the primary player immortality toggle. Hidden seg109 menu wrappers `cheat_menu_open_from_current_slot` (`000b:9a86`) and `cheat_menu_open_modal` (`000b:9c0d`) are now named and verified to construct `cheat_event_listener_create`, but still have no static inbound xrefs in the recovered retail call graph (likely dormant/debug trigger path). Renamed in this area: `FUN_000c_8231` -> `immortality_activate`, `FUN_000c_834a` -> `immortality_conditional_activate`, `FUN_000c_8486` -> `immortality_activate_and_reset`, `FUN_000c_743f` -> `immortality_entity_process_create`, `FUN_000b_9a86` -> `cheat_menu_open_from_current_slot`, `FUN_000b_9c0d` -> `cheat_menu_open_modal`. +- Retail hidden-menu patching remains open, but the failed branches are now better separated from the still-live candidate. Verified file/fixup anchors are `0007:0d75` / `0007:0d79` (file `0x70d75` / relocation entry `0x71d68`) and `000c:99dd` / `000c:99e1` (file `0xc99dd`, seg126 chain `0x25e1`). The deferred `0x42f -> 000c:99dd -> 000b:9c0d` design is now explicitly rejected: it no longer broke startup, and it visibly entered the hidden UI path (mouse pointer appeared), but it halted with the retail `FILE\FLEX.C, line 83` failure and dropped into the quit line, so `0x42f` is the wrong deferred context even though the address retarget itself was valid. The current live candidate is back on the direct `0007:0d79 -> 000b:9a86` retarget, but with a narrower wrapper patch at `000b:9a8d` that preserves the leading mode byte `1` and only zeros the two ambiguous 16-bit parameters. ### Recently Closed Or No Longer Live - `ASYLUM.24` is resolved as `_ASS_StopAllSFX`; it is no longer an open plan item. - The cheat/input side lane is complete enough to leave the live queue. - The segment coverage ledger is no longer a missing artifact; only refinement remains. -- The startup/display lane now has named outer shells (`startup_display_transition_prepare`, `startup_display_transition_driver`) plus named seg126/127/136/137/138 helper families. The remaining work is higher-level ownership and state semantics, not basic structural recovery. -- The top startup/display ownership question is now narrowed: `active_dispatch_entry_create_default` owns `g_active_dispatch_entry_farptr`, while seg049/seg126/seg138 helpers only borrow or clear the shared byte `+0x40`; the seg108 `0x4f38` lane is separate local sprite/object state. +- The startup/display lane is now materially complete as a major section: the outer seg005 shells, seg126 setup/script/fade path, seg127 fade controller, seg136 owner split, seg137 palette-emission helpers, and seg138 late cleanup/handoff bodies all have stable structural roles. +- The top startup/display ownership question is closed tightly enough for planning: `active_dispatch_entry_create_default` owns `g_active_dispatch_entry_farptr`, while seg049/seg126/seg138 helpers only borrow or clear the shared byte `+0x40`; the seg108 `0x4f38` lane is separate local sprite/object state. - The shared seg126 base-path question is effectively closed: literal-address search still shows no store into `0x6aa:0x6ac`, seg004 only mutates the pointed buffer while separately assigning sibling root `0x6ae:0x6b0`, and the startup/display family continues to treat `0x6aa:0x6ac` as an inherited mutable external/default base path. - The in-scope `0x31a2` transition/presentation reader pass is complete: the remaining reads in this lane now split into edge wait, modal break, deferred dispatch/state advance, and cleanup-abort roles. +- The remaining startup/display residuals are now low-impact: the exact higher-level UI label of preset pair `0x10/0x11` is still open, and the `000c:db68` overlap still blocks clean function hygiene for `transition_preentry_step_script` even though it no longer blocks semantic recovery. ## Live Blockers -1. The startup/display transition lane still lacks exact higher-level owner/state labels across seg005, seg049, seg108, seg126, seg127, seg136, seg137, and seg138, even though the shared `g_active_dispatch_entry_farptr[+0x40]` hold token is now separated from the seg108-local `0x4f38` bit-`0x40` lane. -2. The oversized overlap rooted at `000c:db68` still blocks safe recovery of the real `transition_preentry_step_script` body. -3. The `0x4588` callback object is better constrained but still not behaviorally classified enough for a confident subsystem rename. -4. The USECODE/VM sequencer still lacks the real upstream selector/caller path into `FUN_000d_ebe3`, and wrappers `0005:2c35` / `0005:2c68` remain caller-dark. -5. High-value missing or weak function objects still exist in hot ranges such as `000b:2e00`, `0007:5a00`, and `000e:ffb0`. -6. Non-CALLF far-pointer relocations and weakly covered resource/data loaders remain real second-pass blockers, even though they are not the first thing to attack. +1. The oversized overlap rooted at `000c:db68` still blocks clean recovery of the real `transition_preentry_step_script` function object, even though it no longer blocks startup/display semantics. +2. The `0x4588` callback object is better constrained and now leans toward a video/presentation-state broker, but it still is not behaviorally classified enough for a confident subsystem rename. +3. The USECODE/VM sequencer still lacks the real upstream selector/caller path into `entity_vm_opcode_sequence_run`, and wrappers `entity_vm_context_try_create_mask_0400_slot0a_with_offset` / `entity_vm_context_try_create_mask_0800_slot0b_with_offset` remain outward-caller-dark even though their exact signed-additive `(slot, mask)` contracts are now closed, the generic masked hub at `000d:463a` is verified, and slot-`0x12` now has two concrete caller anchors at `0005:1776` / `0005:1945`. +4. High-value missing or weak function objects still exist in hot ranges such as `000b:2e00`, `0007:5a00`, and `000e:ffb0`; `000e:ffb0` is now caller-side constrained to the overlapped video-frame chunk lane (`00db` / `00dc`) paired with `anim_load_audio_frame`, but the overlap still blocks clean recovery. +5. Non-CALLF far-pointer relocations and weakly covered resource/data loaders remain real second-pass blockers, even though they are not the first thing to attack. +6. The immortality/`0x410` lane still lacks a verified USECODE emitter body, and the current blocker is now sharper. The owner-loaded format no longer blocks comparison: the class selector is now known to be `class_id + 2`, the header/subentry arithmetic at `000d:5066/51fd/53b4` matches extracted class headers and event rows exactly, and `NPCTRIG` slot `0x0a` / `0x20` now have concrete owner-loaded body ranges instead of only motif-level fits. But the compiled selector path is now also constrained enough to show what it does not provide: `000d:45c5` only maps entities into three generic category spans, `000d:44df` seeds those spans from `0x6608..0x660e`, `0005:295f` reuses the same slot index to test owner-row bit `0x0040`, and `0005:2c35` still has no caller/xref recovery. The remaining unresolved step is therefore a real upstream class-selector or caller-provenance recovery that can prove which class family is chosen before the slot body is decoded into the later `+0xd6/+0xd8` control stream and then into the `000c:fa2f` literal/replay lane. ## Current Focus -1. Finish the startup/display transition lane while it is still producing direct executable coverage. -2. Continue the USECODE/VM lane only where it yields concrete caller, selector, or loader evidence rather than repeated direct-xref dead ends. -3. Refine the coverage ledger from already-verified notes before broadening into fresh segment sweeps. -4. Use boundary repair only on active blockers with clear payoff. +1. Continue the USECODE/VM lane where the verified masked-create hub (`000d:463a`), the internal consumer blocks (`000d:208b`, `000d:21ed`), or the newly separated `extra-word masked materializer` subfamily can still yield concrete caller, selector, or record-shape evidence rather than repeated direct-xref dead ends. +2. Refine the coverage ledger from already-verified notes before broadening into fresh segment sweeps. +3. Use boundary repair only on active blockers with clear payoff, with `000c:db68` now downgraded to optional hygiene unless it blocks adjacent work again. +4. Revisit the `0x4588` callback object only when caller-side evidence is strong enough to support behavioral naming. ## Next Resume Point -1. Continue the adjacent seg126 startup/display clarification from the local three-way file-family selector at `000c:afa5..b152` and nearby seg049 `0x2bd8` dispatch sites, but only where it sharpens the validated presentation-handoff model without speculative renames. -2. Repair the `000c:db68` overlap only if needed to split `transition_preentry_step_script` into its own clean function object and preserve the already-verified `000c:ca1d..cd4f` body in Ghidra. -3. Classify the exact UI role of the paired `0x8c5c` / `0x8c60` renderer presets, the `+0x49` selector states, and the neighboring seg127 fade inputs only where the caller evidence stays inside the same startup/display family. -4. Recover the real upstream caller/selector path into `FUN_000d_ebe3` from persisted context/save/load or shared-consumer paths instead of repeating exhausted direct xref hunts. -5. Recover real caller roles for `0005:2c35` and `0005:2c68`, now that both are narrowed to signed slot-offset wrappers feeding the VM context lane. -6. Clarify whether the seg070 twin loops at `0009:67b6` and `0009:6916` represent two file families, two table formats, or two loader phases of the same helper behind `entity_vm_runtime_owner_resource_create`. -7. Promote additional ledger rows where the current docs already justify `Foothold`, `Partial`, or `Deep`. -8. Revisit `000e:ffb0` and other high-value overlap targets only after the current startup/display and VM lanes stop yielding near-term wins. +1. Recover the real upstream caller/selector path into `entity_vm_opcode_sequence_run`, most likely by finding the first non-recursive `0x6714` context-method caller or vtable dispatch site rather than by repeating raw xref queries that still return no direct edges. +2. Recover real caller roles for `entity_vm_context_try_create_mask_0400_slot0a_with_offset` and `entity_vm_context_try_create_mask_0800_slot0b_with_offset` by treating them as the remaining dark members of the now-verified signed-additive masked-materializer subfamily and comparing them against the newly anchored slot-`0x12` caller pattern. +3. Tighten the newly surfaced higher-slot wrapper ladder around `0005:3115..31da`, especially the two slot-`0x12` caller sites at `0005:1776` / `0005:1945` and the slot-`0x10` guarded callsite, so any future promotion to `leaveFastArea` / `func11|cast` / `justMoved` / `AvatarStoleSomething` / `animGetHit` is driven by binary caller behavior rather than by external tables alone. +4. Tighten the outward caller chains around the renamed seg006 masked helpers `entity_vm_context_try_create_mask_0008_slot30_with_offset` (`0006:0ba4`) and `entity_vm_context_try_create_mask_0010_slot08_with_offset_if_ready` (`0006:108c`) so the local state-selector lane and the adjacent class-linked value family can be tied back to concrete gameplay subsystems rather than only to class-detail fields. +5. Tighten the paired-file-family reading of the seg070 twin loops at `0009:67b6` and `0009:6916` by recovering which temporary buffer and record schema each family populates behind `entity_vm_runtime_owner_resource_create`. +6. Promote additional ledger rows where the current docs already justify `Foothold`, `Partial`, or `Deep`. +7. Revisit `0x4588` only if the video/presentation-state callback reading can be advanced into a behavioral name from caller-side evidence rather than from more lifecycle-only passes. +8. If the VM lane stalls again, revisit `000e:ffb0` from the now-verified `00db/00dc` caller windows and try to recover an adjacent non-overlapped helper before attempting any boundary repair. +9. If the immortality lane is revisited, stay focused on `NPCTRIG` slot `0x0a` first, with slot `0x20` still treated as the typed/setup companion and `EVENT` only as the generic hub baseline; the next defensible step is no longer header/range arithmetic, slot-number translation, caller-frame recovery, first-origin recovery, owner-row tracing, or basic workspace materialization, but recovering the first producer that turns the three selector categories from `000d:45c5` into a concrete owner-loaded class choice and then comparing the surviving runtime tuple `(slot, add_a, add_b, setup_len, inline_len, placement)` against the now-exact owner-loaded `NPCTRIG` and `EVENT` body windows. +10. Use the new Pentagram-derived parser proof of concept as the first tooling bridge for raw class/slot bodies: extend opcode coverage conservatively, emit IR v1 artifacts, and only then prototype a Ghidra-side annotation importer against compiled anchors like `000d:51fd`, `000d:5572`, `000d:46ec`, `000d:22bc`, and `000d:ebe3`. ## Remaining Work To Reach A Reasonably Complete Decompilation State @@ -94,18 +124,15 @@ Detailed completed analysis belongs in the files under `docs/`, not in this plan ### 2. Startup/Display And Presentation Lane -- Finish semantic ownership across seg005, seg049, seg108, seg126, seg127, seg136, seg137, and seg138. -- Resolve the remaining role of the shared active-dispatch hold token versus local per-entry hold bytes. -- Recover the higher-level meaning of the file-backed seg126 control stream without speculating beyond verified byte behaviors. -- Classify the exact UI role of the paired `0x8c5c` / `0x8c60` text-renderer lane if stronger caller evidence appears. -- Finish the fade-controller producer path so seg127 fade inputs are tied to higher-level transition states, not only local opcodes. -- Classify `FUN_000d_938c`, `transition_preentry_release_resources`, and `entity_cleanup_resources_and_dispatch` by role once their shared-hold semantics are fully separated. -- Remove the remaining overlap blockers in this lane, with `000c:db68` first. +- Keep the startup/display lane closed unless new caller evidence materially changes its current model. +- Classify the exact higher-level UI label of preset pair `0x10/0x11` only if stronger caller or string evidence appears. +- Revisit the remaining seg049/seg108/seg138 naming ambiguity only when it supports a defensible behavioral rename rather than another structural pass. +- Repair `000c:db68` only when a clean `transition_preentry_step_script` function object or adjacent active work makes the overlap fix worth the risk. ### 3. VM / USECODE / Scripting Lane -- Recover the upstream selector into `FUN_000d_ebe3` and map payload-shape handlers to real opcode dispatch. -- Recover real caller roles for the dark mask wrappers `0005:2c35` and `0005:2c68`. +- Recover the upstream selector into `entity_vm_opcode_sequence_run` and map payload-shape handlers to real opcode dispatch. +- Recover real caller roles for the dark mask wrappers `entity_vm_context_try_create_mask_0400_slot0a_with_offset` and `entity_vm_context_try_create_mask_0800_slot0b_with_offset`. - Keep separating owner-table-backed `0x39ca` rows from static dispatch-entry seed rows. - Finish classifying the seg069/070 helper behind `entity_vm_runtime_owner_resource_create`. - Broaden owner-loaded class/event validation beyond the first strong sample families. diff --git a/reloc_report.txt b/reloc_report.txt new file mode 100644 index 0000000..93fca95 --- /dev/null +++ b/reloc_report.txt @@ -0,0 +1,5 @@ +segment=39 file_base=0x6E200 length=0x3416 reloc_table=0x71616 entries=0x145 +exact_matches=1 +EXACT index=234 entry_file_off=0x71D68 addr_type=0x03 rel_type=0x00 chain_off=0x2B79 target_seg=92 target_off=0x0476 +nearby_matches=1 +NEAR index=234 entry_file_off=0x71D68 addr_type=0x03 rel_type=0x00 chain_off=0x2B79 target_seg=92 target_off=0x0476 diff --git a/tmp_immortality_scan.py b/tmp_immortality_scan.py new file mode 100644 index 0000000..e5154dc --- /dev/null +++ b/tmp_immortality_scan.py @@ -0,0 +1,113 @@ +import csv +import pathlib +import struct + +ROOT = pathlib.Path(r"K:/ghidra/Crusader_Decomp") +TARGETS = {189, 190, 191, 272, 273, 283, 285} +TARGET_COMPARE_CLASSES = {"NPCTRIG", "COR_BOOT", "REE_BOOT", "SFXTRIG"} + + +def find_all(haystack: bytes, needle: bytes) -> list[int]: + offsets: list[int] = [] + start = 0 + while True: + found = haystack.find(needle, start) + if found < 0: + return offsets + offsets.append(found) + start = found + 1 + +def lcp(left: bytes, right: bytes) -> int: + count = 0 + limit = min(len(left), len(right)) + while count < limit and left[count] == right[count]: + count += 1 + return count + + +def lcs(left: bytes, right: bytes) -> int: + count = 0 + limit = min(len(left), len(right)) + while count < limit and left[-1 - count] == right[-1 - count]: + count += 1 + return count + + +rows = list( + csv.DictReader( + (ROOT / "USECODE/EUSECODE_extracted/class_event_index.tsv").open("r", encoding="utf-8"), + delimiter="\t", + ) +) +rows_by_entry: dict[int, list[dict[str, object]]] = {} +for row in rows: + entry_index = int(row["entry_index"]) + if entry_index not in TARGETS: + continue + if not row["derived_body_start"]: + continue + rows_by_entry.setdefault(entry_index, []).append( + { + "class_name": row["class_name_hint"], + "slot": int(row["slot"], 0), + "event_name_hint": row["event_name_hint"], + "body_start": int(row["derived_body_start"], 0), + "body_end": int(row["derived_body_end"], 0), + } + ) + +chunk_files: dict[int, pathlib.Path] = {} +for chunk_path in (ROOT / "USECODE/EUSECODE_extracted/chunks").glob("chunk_*.bin"): + entry_index = int(chunk_path.name.split("_")[1]) + if entry_index in rows_by_entry: + chunk_files[entry_index] = chunk_path + +bodies: dict[tuple[str, int], bytes] = {} +for entry_index in sorted(rows_by_entry): + chunk_path = chunk_files[entry_index] + data = chunk_path.read_bytes() + class_name = str(rows_by_entry[entry_index][0]["class_name"]) + print(f"ENTRY {entry_index} {class_name} FILE {chunk_path.name}") + for row in sorted(rows_by_entry[entry_index], key=lambda item: int(item["body_start"])): + body = data[int(row["body_start"]):int(row["body_end"])] + class_name = str(row["class_name"]) + slot = int(row["slot"]) + bodies[(class_name, slot)] = body + hits_0410_16 = find_all(body, struct.pack(" {right_key[0]}:0x{right_key[1]:02X} len={right_len} prefix={prefix} suffix={suffix} total={total}" + ) diff --git a/tmp_interpreter_filtered.txtGet-Location b/tmp_interpreter_filtered.txtGet-Location new file mode 100644 index 0000000..42a392e --- /dev/null +++ b/tmp_interpreter_filtered.txtGet-Location @@ -0,0 +1,113 @@ +000CFA04: sub word ptr es:[bx + 0xcc], 4 +000CFA0C: mov es, word ptr es:[bx + 0xce] +000CFA15: mov bx, word ptr es:[bx + 0xcc] +000CFA32: mov ax, word ptr es:[bx + 0xd8] +000CFA37: mov si, word ptr es:[bx + 0xd6] +000CFA3C: inc word ptr es:[bx + 0xd6] +000CFA5F: mov ax, word ptr es:[bx + 0xd8] +000CFA64: mov si, word ptr es:[bx + 0xd6] +000CFA69: inc word ptr es:[bx + 0xd6] +000CFA86: mov ax, word ptr es:[bx + 0xd8] +000CFA8B: mov si, word ptr es:[bx + 0xd6] +000CFA90: add word ptr es:[bx + 0xd6], 2 +000CFAC6: mov ax, word ptr es:[bx + 0xd8] +000CFACB: mov si, word ptr es:[bx + 0xd6] +000CFAD0: add word ptr es:[bx + 0xd6], 2 +000CFAEE: add ax, word ptr es:[bx + 0xd4] +000CFAFD: mov ax, word ptr es:[bx + 0xd6] +000CFB05: push word ptr es:[bx + 0xd8] +000CFB0B: push word ptr es:[bx + 0xd8] +000CFB10: push word ptr es:[bx + 0xd6] +000CFB28: add word ptr es:[bx + 0xd6], 9 +000CFB34: mov ax, word ptr es:[bx + 0xd8] +000CFB39: mov si, word ptr es:[bx + 0xd6] +000CFB3E: inc word ptr es:[bx + 0xd6] +000CFB52: les bx, ptr es:[bx + 0xcc] +000CFB60: add word ptr es:[bx + 0xcc], 2 +000CFB73: add ax, word ptr es:[bx + 0xd4] +000CFB8E: mov ax, word ptr es:[bx + 0xd8] +000CFB93: mov si, word ptr es:[bx + 0xd6] +000CFB98: inc word ptr es:[bx + 0xd6] +000CFBAC: les bx, ptr es:[bx + 0xcc] +000CFBBA: add word ptr es:[bx + 0xcc], 2 +000CFBCA: add ax, word ptr es:[bx + 0xd4] +000CFBE5: mov ax, word ptr es:[bx + 0xd8] +000CFBEA: mov si, word ptr es:[bx + 0xd6] +000CFBEF: inc word ptr es:[bx + 0xd6] +000CFC03: les bx, ptr es:[bx + 0xcc] +000CFC18: add word ptr es:[bx + 0xcc], 4 +000CFC2B: add ax, word ptr es:[bx + 0xd4] +000CFC4D: mov ax, word ptr es:[bx + 0xd8] +000CFC52: mov si, word ptr es:[bx + 0xd6] +000CFC57: inc word ptr es:[bx + 0xd6] +000CFC68: mov ax, word ptr es:[bx + 0xd8] +000CFC6D: mov si, word ptr es:[bx + 0xd6] +000CFC72: inc word ptr es:[bx + 0xd6] +000CFC8A: add ax, word ptr es:[bx + 0xd4] +000CFC9B: mov cx, word ptr es:[bx + 0xce] +000CFCA0: mov si, word ptr es:[bx + 0xcc] +000CFCC0: les bx, ptr es:[bx + 0xcc] +000CFCD5: add word ptr es:[bx + 0xcc], 4 +000CFCEB: mov ax, word ptr es:[bx + 0xd8] +000CFCF0: mov si, word ptr es:[bx + 0xd6] +000CFCF5: inc word ptr es:[bx + 0xd6] +000CFD06: les bx, ptr es:[bx + 0xcc] +000CFD1B: add word ptr es:[bx + 0xcc], 4 +000CFD27: mov ax, word ptr es:[bx + 0xce] +000CFD2C: mov si, word ptr es:[bx + 0xcc] +000CFD4E: sub word ptr es:[bx + 0xcc], ax +000CFD59: mov ax, word ptr es:[bx + 0xd8] +000CFD5E: mov si, word ptr es:[bx + 0xd6] +000CFD63: inc word ptr es:[bx + 0xd6] +000CFD73: dec word ptr es:[bx + 0xcc] +000CFD7A: mov es, word ptr es:[bx + 0xce] +000CFD83: mov bx, word ptr es:[bx + 0xcc] +000CFD96: mov ax, word ptr es:[bx + 0xd8] +000CFD9B: mov si, word ptr es:[bx + 0xd6] +000CFDA0: inc word ptr es:[bx + 0xd6] +000CFDB1: sub word ptr es:[bx + 0xcc], 2 +000CFDB9: mov es, word ptr es:[bx + 0xce] +000CFDC2: mov bx, word ptr es:[bx + 0xcc] +000CFDD5: mov ax, word ptr es:[bx + 0xd8] +000CFDDA: mov si, word ptr es:[bx + 0xd6] +000CFDDF: add word ptr es:[bx + 0xd6], 2 +000CFDF0: sub word ptr es:[bx + 0xcc], 2 +000CFDF8: mov es, word ptr es:[bx + 0xce] +000CFE01: mov bx, word ptr es:[bx + 0xcc] +000CFE14: mov ax, word ptr es:[bx + 0xd8] +000CFE19: mov si, word ptr es:[bx + 0xd6] +000CFE1E: add word ptr es:[bx + 0xd6], 4 +000CFE36: sub word ptr es:[bx + 0xcc], 4 +000CFE3E: mov es, word ptr es:[bx + 0xce] +000CFE47: mov bx, word ptr es:[bx + 0xcc] +000CFE61: mov ax, word ptr es:[bx + 0xd8] +000CFE66: mov si, word ptr es:[bx + 0xd6] +000CFE6B: inc word ptr es:[bx + 0xd6] +000CFE83: add ax, word ptr es:[bx + 0xd4] +000CFE9D: sub word ptr es:[bx + 0xcc], 2 +000CFEA5: mov es, word ptr es:[bx + 0xce] +000CFEAE: mov bx, word ptr es:[bx + 0xcc] +000CFEC1: mov ax, word ptr es:[bx + 0xd8] +000CFEC6: mov si, word ptr es:[bx + 0xd6] +000CFECB: inc word ptr es:[bx + 0xd6] +000CFEE3: add ax, word ptr es:[bx + 0xd4] +000CFEFC: sub word ptr es:[bx + 0xcc], 2 +000CFF04: mov es, word ptr es:[bx + 0xce] +000CFF0D: mov bx, word ptr es:[bx + 0xcc] +000CFF20: mov ax, word ptr es:[bx + 0xd8] +000CFF25: mov si, word ptr es:[bx + 0xd6] +000CFF2A: inc word ptr es:[bx + 0xd6] +000CFF42: add ax, word ptr es:[bx + 0xd4] +000CFF62: sub word ptr es:[bx + 0xcc], 4 +000CFF6A: mov es, word ptr es:[bx + 0xce] +000CFF73: mov bx, word ptr es:[bx + 0xcc] +000CFF8D: mov ax, word ptr es:[bx + 0xd8] +000CFF92: mov si, word ptr es:[bx + 0xd6] +000CFF97: inc word ptr es:[bx + 0xd6] +000CFFA8: mov ax, word ptr es:[bx + 0xd8] +000CFFAD: mov si, word ptr es:[bx + 0xd6] +000CFFB2: inc word ptr es:[bx + 0xd6] +000CFFC3: mov ax, word ptr es:[bx + 0xce] +000CFFC8: mov dx, word ptr es:[bx + 0xcc] +000CFFD9: sub word ptr es:[bx + 0xcc], ax +000CFFEE: add dx, word ptr es:[bx + 0xd4] diff --git a/tmp_scan.py b/tmp_scan.py new file mode 100644 index 0000000..c8583d2 --- /dev/null +++ b/tmp_scan.py @@ -0,0 +1,8 @@ +from capstone import Cs, CS_ARCH_X86, CS_MODE_16 +hex_bytes = "55 8b ec 81 ec 48 03 56 57 c7 46 d8 00 00 c7 46 d2 00 00 83 3e 94 8c 00 74 08 a1 94 8c 89 46 d0 eb 05 c7 46 d0 00 00 c4 5e 06 26 c4 9f da 00 26 8b 47 02 a3 94 8c 68 00 00 68 93 3e 6a 05 6a 00 6a 0a 6a 02 16 8d 86 ce fc 50 9a e2 b8 03 00 83 c4 10 a1 9c 65 0b 06 9e 65 74 10 ff 36 9e 65 ff 36 9c 65 9a 32 ee 0c 00 83 c4 04 c4 5e 06 26 8a 87 e0 00 b4 00 0b c0 75 23 26 83 af cc 00 04 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8e c0 26 c7 47 02 00 00 26 c7 07 00 00 c7 46 cc 00 00 e9 21 39 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 ce 8b 5e ce 83 fb 79 76 03 e9 e5 38 d1 e3 2e ff a7 9f 3d c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 50 ff 76 08 53 0e e8 4a fd 83 c4 06 e9 cd 38 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 83 87 d6 00 02 8e c0 26 8b 04 89 46 be a1 9c 65 0b 06 9e 65 75 03 e9 a6 38 ff 76 be ff 36 9e 65 ff 36 9c 65 9a 53 ea 0c 00 83 c4 06 e9 90 38 e9 8d 38 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 83 87 d6 00 02 8e c0 26 8b 04 89 46 f2 a1 9c 65 0b 06 9e 65 74 3e 6a 00 6a 00 c4 46 06 26 03 87 d4 00 89 46 c0 05 04 00 ff 76 08 50 26 8b 87 d6 00 03 46 f2 26 ff b7 d8 00 50 26 ff b7 d8 00 26 ff b7 d6 00 ff 36 9e 65 ff 36 9c 65 9a f5 ec 0c 00 83 c4 14 c4 5e 06 26 83 87 d6 00 09 e9 1f 38 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 bc 89 46 ba 8e 46 08 26 c4 9f cc 00 26 8b 07 89 46 b8 c4 5e 06 26 83 87 cc 00 02 8a 46 b8 88 46 b7 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 ba 8a 5e b7 8e c2 93 26 88 47 04 e9 c5 37 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 bc 89 46 b4 8e 46 08 26 c4 9f cc 00 26 8b 07 89 46 b2 c4 5e 06 26 83 87 cc 00 02 89 46 b0 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 b4 8b 5e b0 8e c2 93 26 89 47 04 e9 6e 37 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 bc 89 46 ae 8e 46 08 26 c4 9f cc 00 26 8b 47 02 26 8b 17 89 46 ac 89 56 aa c4 5e 06 26 83 87 cc 00 04 89 46 a8 89 56 a6 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 ae 8b 5e a8 8b 4e a6 8e c2 93 26 89 47 06 26 89 4f 04 e9 06 37 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 f2 8e 46 08 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 f0 8e 46 08 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 f2 05 04 00 8e 46 08 26 8b 8f ce 00 26 8b b7 cc 00 52 50 51 8b 4e f0 d1 e9 58 5f 07 1e 8e d8 f3 a5 13 c9 f3 a4 1f e9 93 36 c4 5e 06 26 c4 9f cc 00 26 8b 47 02 26 8b 17 89 46 a4 89 56 a2 c4 5e 06 26 83 87 cc 00 04 c4 5e 0a 26 89 47 02 26 89 17 e9 68 36 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 f2 8e 46 08 26 c4 9f cc 00 26 8b 47 02 26 8b 17 89 46 a0 89 56 9e c4 5e 06 26 83 87 cc 00 04 89 46 e8 89 56 e6 26 8b 87 ce 00 26 8b b7 cc 00 c4 7e e6 8b 4e f2 d1 e9 1e 8e d8 f3 a5 13 c9 f3 a4 1f 8b 46 f2 f7 d8 89 46 9c 8e 46 08 26 29 87 cc 00 e9 fa 35 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 88 46 9b 8e 46 08 26 ff 8f cc 00 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8a 56 9b 8e c0 26 88 17 e9 bd 35 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 98 8e 46 08 26 83 af cc 00 02 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 98 8e c0 26 89 17 e9 7e 35 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 83 87 d6 00 02 8e c0 26 8b 04 89 46 96 8e 46 08 26 83 af cc 00 02 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 96 8e c0 26 89 17 e9 3f 35 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 83 87 d6 00 04 8e c0 26 8b 44 02 26 8b 14 89 46 94 89 56 92 8e 46 08 26 83 af cc 00 04 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 94 8b 4e 92 8e c0 26 89 57 02 26 89 0f e9 f2 34 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 90 8e 46 08 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 90 8b d8 8e c2 26 8a 47 04 98 89 46 8e c4 5e 06 26 83 af cc 00 02 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 8e 8e c0 26 89 17 e9 92 34 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 8c 8e 46 08 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 8c 8b d8 8e c2 26 8b 47 04 89 46 8a c4 5e 06 26 83 af cc 00 02 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 8a 8e c0 26 89 17 e9 33 34 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 88 8e 46 08 06 8b 46 06 8c c2 07 26 03 87 d4 00 89 46 c0 03 46 88 8b d8 8e c2 26 8b 47 06 26 8b 57 04 89 46 86 89 56 84 c4 5e 06 26 83 af cc 00 04 53 06 26 8e 87 ce 00 8c c0 07 5b 26 8b 9f cc 00 8b 56 86 8b 4e 84 8e c0 26 89 57 02 26 89 0f e9 c6 33 c4 5e 06 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 f2 8e 46 08 26 8b 87 d8 00 26 8b b7 d6 00 26 ff 87 d6 00 8e c0 26 8a 04 98 89 46 f0 8e 46 08 26 8b 87 ce 00 26 8b 97 cc 00 89 46 e8 89 56 e6 8b 46 f0 89 46 82 26 29 87 cc 00 c4 7e e6 2b 7e f0 06 8e 46 08 8b 46 08 8b 56 06 26 03 97 d4 00 89 56 c0 03 56 f2 83 c2 04 8b 4e f0 d1 e9 07 8b f2 1e 8e d8 f3 a5 13 c9 f3 a4 1f e9 3f 33" +base = 0xCF98B +md = Cs(CS_ARCH_X86, CS_MODE_16) +for ins in md.disasm(bytes.fromhex(hex_bytes), base): + txt = f"{ins.address:08X}: {ins.mnemonic:<6} {ins.op_str}" + if any(tok in txt for tok in ('0xcc', '0xce', '0xd4', '0xd6', '0xd8', '0x39ca')): + print(txt) diff --git a/tools/extract_eusecode_flx.py b/tools/extract_eusecode_flx.py index e062f1e..09cbd56 100644 --- a/tools/extract_eusecode_flx.py +++ b/tools/extract_eusecode_flx.py @@ -516,6 +516,39 @@ FAMILY_ARTIFACT_SPECS: tuple[FamilyArtifactSpec, ...] = ( ) +IMMORTALITY_TARGET_LABELS: tuple[str, ...] = ( + "EVENT", + "NPCTRIG", + "COR_BOOT", + "REE_BOOT", + "SFXTRIG", + "SPECIAL", + "TRIGPAD", +) + + +IMMORTALITY_TEMPLATE_COMPARE_LABELS: frozenset[str] = frozenset( + {"NPCTRIG", "COR_BOOT", "REE_BOOT", "SFXTRIG"} +) + + +IMMORTALITY_STRUCTURAL_TARGET_LABELS: frozenset[str] = frozenset({"EVENT", "NPCTRIG"}) + + +IMMORTALITY_BODY_MOTIFS: tuple[tuple[str, bytes], ...] = ( + ("call_40_06_4c_02", bytes.fromhex("40 06 4c 02")), + ("call_40_06_0f_04", bytes.fromhex("40 06 0f 04")), + ("subheader_53_5c", bytes.fromhex("53 5c")), + ("writeback_57_02", bytes.fromhex("57 02")), + ("branch_59_0a", bytes.fromhex("59 0a")), + ("branch_3f_0a", bytes.fromhex("3f 0a")), + ("field_4b_fe_0f", bytes.fromhex("4b fe 0f")), + ("field_4b_fc_0f", bytes.fromhex("4b fc 0f")), + ("push_24_51", bytes.fromhex("24 51")), + ("event_field_69_0a_00", bytes.fromhex("69 0a 00")), +) + + VERIFIED_REPEATED_FAMILY_ROW_EXPECTATIONS: tuple[RepeatedFamilyRowExpectation, ...] = ( RepeatedFamilyRowExpectation("JELYHACK", 0x01, 0x002A, 0x00000001, 0x00D4, 0x00FE, 42, "referent-anchor-twin/shared-slot-0x01/same-length-template"), RepeatedFamilyRowExpectation("JELYH2", 0x01, 0x002A, 0x00000001, 0x00D4, 0x00FE, 42, "referent-anchor-twin/shared-slot-0x01/same-length-template"), @@ -776,6 +809,33 @@ def hex_tail(data: bytes, width: int = 8) -> str: return data[-width:].hex() +def find_all_offsets(haystack: bytes, needle: bytes) -> list[int]: + offsets: list[int] = [] + start = 0 + while True: + found = haystack.find(needle, start) + if found < 0: + return offsets + offsets.append(found) + start = found + 1 + + +def common_prefix_len(left: bytes, right: bytes) -> int: + limit = min(len(left), len(right)) + offset = 0 + while offset < limit and left[offset] == right[offset]: + offset += 1 + return offset + + +def common_suffix_len(left: bytes, right: bytes) -> int: + limit = min(len(left), len(right)) + offset = 0 + while offset < limit and left[-1 - offset] == right[-1 - offset]: + offset += 1 + return offset + + def write_family_decompile_artifact( out_dir: pathlib.Path, parsed_class_chunks: list[ExtractedChunk], @@ -996,6 +1056,683 @@ def validate_verified_repeated_family_regressions( return report_lines +def write_immortality_target_body_scan( + out_dir: pathlib.Path, + parsed_class_chunks: list[ExtractedChunk], + rows_by_entry: dict[int, list[ClassEventRow]], + raw_data_by_entry: dict[int, bytes], +) -> None: + chunk_by_label = { + chunk.primary_label: chunk + for chunk in parsed_class_chunks + if chunk.primary_label + } + scan_patterns = ( + ("le16_0410", struct.pack(" tuple[str, int] | None: + end = start + limit = min(len(data), start + max_len) + while end < limit and data[end] != 0: + byte = data[end] + if not (0x20 <= byte <= 0x7E): + return None + end += 1 + if end >= len(data) or end == start or data[end] != 0: + return None + return data[start:end].decode("latin-1"), end + 1 + + +def parse_body_open_header(body: bytes) -> dict[str, object] | None: + if len(body) < 7: + return None + if body[0] == 0x5A and body[2] == 0x5C: + open_arg = body[1] + target_offset = 3 + label_offset = 5 + elif body[1] == 0x5C: + open_arg = body[0] + target_offset = 1 + label_offset = 3 + else: + return None + label_result = read_ascii_cstring(body, label_offset) + if label_result is None: + return None + label, offset = label_result + while offset < len(body) and body[offset] == 0: + offset += 1 + event_code = body[offset + 1] if offset + 1 < len(body) and body[offset] == 0x0B else None + return { + "open_arg": open_arg, + "target": read_u16_le(body, target_offset), + "label": label, + "event_code": event_code, + } + + +def find_labeled_subheaders(body: bytes, label: str) -> list[tuple[int, int]]: + offsets: list[tuple[int, int]] = [] + label_bytes = label.encode("latin-1") + marker = b"\x53\x5c" + search_start = 0 + while True: + found = body.find(marker, search_start) + if found < 0 or found + 4 >= len(body): + return offsets + if body[found + 4:found + 4 + len(label_bytes)] == label_bytes: + offsets.append((found, read_u16_le(body, found + 2))) + search_start = found + 1 + + +def scan_body_field_tokens(body: bytes, tail_window: int | None = None) -> list[str]: + tokens: list[str] = [] + seen: set[str] = set() + start = max(0, len(body) - tail_window) if tail_window is not None else 0 + for offset in range(start, len(body) - 4): + if body[offset] not in {0x24, 0x69}: + continue + field_result = read_ascii_cstring(body, offset + 3) + if field_result is None: + continue + field_name, _ = field_result + token = f"{body[offset]:02X}:{read_u16_le(body, offset + 1):04X}->{field_name}" + if token not in seen: + seen.add(token) + tokens.append(token) + return tokens + + +def format_offset_list(offsets: list[int], limit: int = 10) -> str: + if not offsets: + return "" + rendered = ",".join(f"0x{offset:04X}" for offset in offsets[:limit]) + if len(offsets) > limit: + rendered += ",..." + return rendered + + +def scan_body_field_offsets(body: bytes, tail_window: int | None = None) -> list[tuple[int, str]]: + tokens: list[tuple[int, str]] = [] + seen: set[tuple[int, str]] = set() + start = max(0, len(body) - tail_window) if tail_window is not None else 0 + for offset in range(start, len(body) - 4): + if body[offset] not in {0x24, 0x69}: + continue + field_result = read_ascii_cstring(body, offset + 3) + if field_result is None: + continue + field_name, _ = field_result + token = f"{body[offset]:02X}:{read_u16_le(body, offset + 1):04X}->{field_name}" + entry = (offset, token) + if entry in seen: + continue + seen.add(entry) + tokens.append(entry) + return tokens + + +def count_offsets_in_range(offsets: list[int], start: int, end: int) -> int: + return sum(1 for offset in offsets if start <= offset < end) + + +def relative_offsets_in_range(offsets: list[int], start: int, end: int) -> list[int]: + return [offset - start for offset in offsets if start <= offset < end] + + +def format_relative_offsets(offsets: list[int], limit: int = 8) -> str: + if not offsets: + return "-" + rendered = ",".join(f"+0x{offset:02X}" for offset in offsets[:limit]) + if len(offsets) > limit: + rendered += ",..." + return rendered + + +def find_repeated_windows(body: bytes, size: int, min_count: int = 2, max_results: int = 6) -> list[tuple[bytes, list[int]]]: + if size <= 0 or len(body) < size: + return [] + offsets_by_window: dict[bytes, list[int]] = {} + for offset in range(0, len(body) - size + 1): + window = body[offset:offset + size] + if window.count(0) == len(window): + continue + offsets_by_window.setdefault(window, []).append(offset) + repeated = [ + (window, offsets) + for window, offsets in offsets_by_window.items() + if len(offsets) >= min_count + ] + repeated.sort(key=lambda item: (-len(item[1]), item[1][0], item[0])) + return repeated[:max_results] + + +def format_hex_window(window: bytes) -> str: + return " ".join(f"{byte:02X}" for byte in window) + + +def build_npctrig_clause_segments( + body: bytes, + subheaders: list[tuple[int, int]], +) -> tuple[list[tuple[str, int, int]], int]: + first_subheader = subheaders[0][0] if subheaders else 0 + tail_fields = scan_body_field_offsets(body, tail_window=min(len(body), 192)) + tail_start = tail_fields[0][0] if tail_fields else len(body) + if tail_start <= first_subheader: + tail_start = len(body) + + segments: list[tuple[str, int, int]] = [] + if first_subheader > 0: + segments.append(("prefix", 0, first_subheader)) + for index, (start, _) in enumerate(subheaders): + next_start = subheaders[index + 1][0] if index + 1 < len(subheaders) else tail_start + segments.append((f"clause_{index + 1}", start, next_start)) + if tail_start < len(body): + segments.append(("tail", tail_start, len(body))) + return segments, tail_start + + +def write_npctrig_clause_report( + out_dir: pathlib.Path, + parsed_class_chunks: list[ExtractedChunk], + rows_by_entry: dict[int, list[ClassEventRow]], + raw_data_by_entry: dict[int, bytes], +) -> None: + chunk = next((candidate for candidate in parsed_class_chunks if candidate.primary_label == "NPCTRIG"), None) + if chunk is None: + return + raw_data = raw_data_by_entry.get(chunk.index) + if raw_data is None: + return + + records: list[dict[str, object]] = [] + clause_motif_names = ["subheader_53_5c", "branch_3f_0a", "writeback_57_02", "push_24_51", "field_4b_fe_0f"] + + for row in rows_by_entry.get(chunk.index, []): + if row.raw_code_offset == 0 or row.derived_body_start is None or row.derived_body_end is None: + continue + body = raw_data[row.derived_body_start:row.derived_body_end] + header = parse_body_open_header(body) + subheaders = find_labeled_subheaders(body, "NPCTRIG") + segments, tail_start = build_npctrig_clause_segments(body, subheaders) + motif_hits = { + motif_name: find_all_offsets(body, motif_bytes) + for motif_name, motif_bytes in IMMORTALITY_BODY_MOTIFS + } + repeated_windows_8 = find_repeated_windows(body, 8) + repeated_windows_6 = find_repeated_windows(body, 6) + tail_fields = scan_body_field_offsets(body, tail_window=min(len(body), 192)) + segment_rows: list[dict[str, object]] = [] + for segment_name, start, end in segments: + segment_body = body[start:end] + labels = [offset for offset in find_all_offsets(segment_body, bytes.fromhex("5B"))] + motif_offsets = { + motif_name: relative_offsets_in_range(motif_hits[motif_name], start, end) + for motif_name in clause_motif_names + } + segment_rows.append( + { + "segment": segment_name, + "start": start, + "end": end, + "length": end - start, + "prefix_hex": hex_edge(segment_body, width=16), + "suffix_hex": hex_tail(segment_body, width=12), + "local_labels": [start + offset for offset in labels[:8]], + "motif_counts": { + motif_name: count_offsets_in_range(motif_hits[motif_name], start, end) + for motif_name in clause_motif_names + }, + "motif_offsets": motif_offsets, + } + ) + subheader_offset_deltas = [subheaders[index + 1][0] - subheaders[index][0] for index in range(len(subheaders) - 1)] + subheader_target_deltas = [subheaders[index + 1][1] - subheaders[index][1] for index in range(len(subheaders) - 1)] + uniform_stride = subheader_offset_deltas[0] if subheader_offset_deltas and len(set(subheader_offset_deltas)) == 1 else None + full_clause_segments = [ + segment + for segment in segment_rows + if segment["segment"].startswith("clause_") + and segment["motif_counts"]["push_24_51"] + and segment["motif_counts"]["writeback_57_02"] + ] + records.append( + { + "slot": row.slot, + "event_name_hint": row.event_name_hint or "", + "body_length": len(body), + "header": header, + "subheaders": subheaders, + "subheader_offset_deltas": subheader_offset_deltas, + "subheader_target_deltas": subheader_target_deltas, + "segments": segment_rows, + "tail_start": tail_start, + "tail_fields": tail_fields, + "repeated_windows_8": repeated_windows_8, + "repeated_windows_6": repeated_windows_6, + "has_writeback": bool(motif_hits["writeback_57_02"]), + "has_push_2451": bool(motif_hits["push_24_51"]), + "field_4b_fe_0f_count": len(motif_hits["field_4b_fe_0f"]), + "uniform_stride": uniform_stride, + "full_clause_count": len(full_clause_segments), + "selector_offsets": [offset for offset, _ in subheaders], + "selector_targets": [target for _, target in subheaders], + } + ) + + if not records: + return + + tsv_lines = [ + "slot\tevent_name_hint\tbody_length\theader_target\theader_event_code\tsubheader_offsets\tsubheader_targets\tsubheader_offset_deltas\tsubheader_target_deltas\tuniform_stride\tfull_clause_count\ttail_start\thas_writeback\thas_push_2451\tfield_4b_fe_0f_count\trepeated_windows_8\trepeated_windows_6" + ] + for record in records: + header = record["header"] or {} + tsv_lines.append( + "0x{slot:02X}\t{event_name_hint}\t{body_length}\t{header_target}\t{header_event_code}\t{subheader_offsets}\t{subheader_targets}\t{subheader_offset_deltas}\t{subheader_target_deltas}\t{uniform_stride}\t{full_clause_count}\t0x{tail_start:04X}\t{has_writeback}\t{has_push_2451}\t{field_4b_fe_0f_count}\t{repeated_windows_8}\t{repeated_windows_6}".format( + slot=record["slot"], + event_name_hint=record["event_name_hint"], + body_length=record["body_length"], + header_target=(f"0x{header['target']:04X}" if header else ""), + header_event_code=(f"0x{header['event_code']:02X}" if header and header.get("event_code") is not None else ""), + subheader_offsets=",".join(f"0x{offset:04X}" for offset, _ in record["subheaders"]), + subheader_targets=",".join(f"0x{target:04X}" for _, target in record["subheaders"]), + subheader_offset_deltas=",".join(f"0x{delta:02X}" for delta in record["subheader_offset_deltas"]), + subheader_target_deltas=",".join(f"0x{delta & 0xFFFF:04X}" for delta in record["subheader_target_deltas"]), + uniform_stride=(f"0x{record['uniform_stride']:02X}" if record["uniform_stride"] is not None else ""), + full_clause_count=record["full_clause_count"], + tail_start=record["tail_start"], + has_writeback="yes" if record["has_writeback"] else "no", + has_push_2451="yes" if record["has_push_2451"] else "no", + field_4b_fe_0f_count=record["field_4b_fe_0f_count"], + repeated_windows_8=";".join( + f"{window.hex()}@{','.join(f'0x{offset:04X}' for offset in offsets)}" + for window, offsets in record["repeated_windows_8"] + ), + repeated_windows_6=";".join( + f"{window.hex()}@{','.join(f'0x{offset:04X}' for offset in offsets)}" + for window, offsets in record["repeated_windows_6"] + ), + ) + ) + (out_dir / "immortality_npctrig_clauses.tsv").write_text("\n".join(tsv_lines) + "\n", encoding="utf-8") + + md_lines = [ + "# Immortality NPCTRIG Clauses", + "", + "This report focuses on the surviving compact NPCTRIG frontier and splits the extracted slot bodies into prefix, clause, and tail regions.", + "It is intended to make the slot `0x0A` versus slot `0x20` difference explicit enough to compare against the runtime-side slot-`0x0A` consumer path.", + "", + ] + for record in records: + header = record["header"] or {} + md_lines.extend([ + f"## NPCTRIG slot `0x{record['slot']:02X}`", + "", + f"- Event hint: `{record['event_name_hint'] or '-'}`.", + f"- Open header: `0x5A 0x{header['open_arg']:02X} 0x5C 0x{header['target']:04X}` -> `NPCTRIG` with event-code byte `{f'0x{header['event_code']:02X}' if header.get('event_code') is not None else '-'}`." if header else "- Open header: not recognized.", + f"- First tail-field offset: `0x{record['tail_start']:04X}`.", + f"- Subheader offsets: {', '.join(f'`0x{offset:04X}`' for offset, _ in record['subheaders']) or '`-`'}.", + f"- Subheader targets: {', '.join(f'`0x{target:04X}`' for _, target in record['subheaders']) or '`-`'}.", + f"- Subheader offset deltas: {', '.join(f'`0x{delta:02X}`' for delta in record['subheader_offset_deltas']) or '`-`'}.", + f"- Subheader target deltas: {', '.join(f'`0x{delta & 0xFFFF:04X}`' for delta in record['subheader_target_deltas']) or '`-`'}.", + f"- Runtime-shape motifs: `writeback_57_02={'yes' if record['has_writeback'] else 'no'}`, `push_24_51={'yes' if record['has_push_2451'] else 'no'}`, `field_4b_fe_0f={record['field_4b_fe_0f_count']}`.", + "", + "| Segment | Range | Len | Local Labels | Subheaders | Branch 3F 0A | Writeback 57 02 | Push 24 51 | Field 4B FE 0F | Motif Offsets | Prefix | Suffix |", + "|---|---|---:|---|---:|---:|---:|---:|---:|---|---|---|", + ]) + for segment in record["segments"]: + motif_counts = segment["motif_counts"] + motif_offsets = segment["motif_offsets"] + motif_offset_render = "; ".join( + f"{motif_name}={format_relative_offsets(offsets)}" + for motif_name, offsets in motif_offsets.items() + if offsets + ) or "-" + label_render = ",".join(f"0x{offset:04X}" for offset in segment["local_labels"]) or "-" + md_lines.append( + "| {segment} | `0x{start:04X}..0x{end:04X}` | {length} | `{labels}` | {subheaders} | {branch} | {writeback} | {push_2451} | {field_4b_fe_0f} | `{motif_offsets}` | `{prefix}` | `{suffix}` |".format( + segment=segment["segment"], + start=segment["start"], + end=segment["end"], + length=segment["length"], + labels=label_render, + subheaders=motif_counts["subheader_53_5c"], + branch=motif_counts["branch_3f_0a"], + writeback=motif_counts["writeback_57_02"], + push_2451=motif_counts["push_24_51"], + field_4b_fe_0f=motif_counts["field_4b_fe_0f"], + motif_offsets=motif_offset_render, + prefix=segment["prefix_hex"], + suffix=segment["suffix_hex"], + ) + ) + md_lines.extend([ + "", + "Repeated windows (8-byte):", + "", + ]) + for window, offsets in record["repeated_windows_8"]: + md_lines.append( + f"- `{format_hex_window(window)}` at {', '.join(f'`0x{offset:04X}`' for offset in offsets)}" + ) + md_lines.extend([ + "", + "Repeated windows (6-byte):", + "", + ]) + for window, offsets in record["repeated_windows_6"]: + md_lines.append( + f"- `{format_hex_window(window)}` at {', '.join(f'`0x{offset:04X}`' for offset in offsets)}" + ) + md_lines.extend([ + "", + "Runtime-fit candidates:", + "", + f"- Candidate clause selector starts: {', '.join(f'`0x{offset:04X}`' for offset in record['selector_offsets']) or '`-`'}.", + f"- Candidate clause selector targets: {', '.join(f'`0x{target:04X}`' for target in record['selector_targets']) or '`-`'}.", + f"- Uniform selector stride: `{f'0x{record['uniform_stride']:02X}' if record['uniform_stride'] is not None else '-'}`; full clauses carrying both `push_24_51` and `writeback_57_02`: `{record['full_clause_count']}`.", + "- Runtime side anchor: `000d:5572` proves the wrapper extra word is additive (`entity_vm_slot_load_value(...) + offset`), while `000d:21ed -> 000d:2433` copies one inline blob, reads two signed metadata bytes, then consumes a word matrix where byte A controls the lead-word row count and byte B controls the shared target-list width.", + "", + "Tail field offsets:", + "", + ]) + for offset, token in record["tail_fields"]: + md_lines.append(f"- `0x{offset:04X}` -> `{token}`") + md_lines.append("") + + slot_0a = next((record for record in records if record["slot"] == 0x0A), None) + slot_20 = next((record for record in records if record["slot"] == 0x20), None) + if slot_0a and slot_20: + slot_0a_header = slot_0a["header"] or {} + slot_20_header = slot_20["header"] or {} + md_lines.extend([ + "## Current Read", + "", + f"- Slot `0x0A` now reads as a repeated clause ladder, not a monolithic blob: `{len(slot_0a['subheaders'])}` subheaders sit on a uniform `{', '.join(f'0x{delta:02X}' for delta in slot_0a['subheader_offset_deltas']) or '-'}` byte stride, and their targets walk backward by `{', '.join(f'0x{delta & 0xFFFF:04X}' for delta in slot_0a['subheader_target_deltas']) or '-'}`. Each clause block carries one `branch_3f_0a`, one `push_24_51`, and one `writeback_57_02`, which fits an event-bearing clause stream better than a pure type filter.", + f"- Slot `0x20` is structurally different even before the tail fields: its open event-code byte is `{f'0x{slot_20_header['event_code']:02X}' if slot_20_header.get('event_code') is not None else '-'}` instead of `{f'0x{slot_0a_header['event_code']:02X}' if slot_0a_header.get('event_code') is not None else '-'}`, it has only one class-labelled subheader, no `writeback_57_02`, no `push_24_51`, and `{slot_20['field_4b_fe_0f_count']}` `field_4b_fe_0f` hits concentrated around repeated `0x0A 00/05 4B FE 0F ...` windows. That is a materially better fit for a typed gate or setup/attachment body than for the live event-emission ladder.", + "- This split matches the current runtime-side bridge better than the previous undifferentiated frontier. The verified slot-`0x0A` wrapper `0005:2c35` seeds mask `0x0400`, slot `0x0A`, and one additive word that `000d:5572` applies directly to the loaded slot value before `000d:21ed` consumes the result. The exact `000d:21ed -> 000d:22bc` contract is now narrower too: after copying the inline blob it reads two signed bytes, uses byte A as the lead-word row count, uses byte B as the shared target-list width, performs `A x B` `entity_link` calls, and pushes back only non-`0x0400` words. `NPCTRIG slot 0x0A` is the only surviving compact body here with a natural five-row selector family (`5` evenly spaced clause starts at stride `0x2F`), while slot `0x20` offers only one clause and no matching writeback/push motif.", + ]) + (out_dir / "immortality_npctrig_clauses.md").write_text("\n".join(md_lines) + "\n", encoding="utf-8") + + +def write_immortality_body_structure_report( + out_dir: pathlib.Path, + parsed_class_chunks: list[ExtractedChunk], + rows_by_entry: dict[int, list[ClassEventRow]], + raw_data_by_entry: dict[int, bytes], +) -> None: + chunk_by_label = { + chunk.primary_label: chunk + for chunk in parsed_class_chunks + if chunk.primary_label in IMMORTALITY_STRUCTURAL_TARGET_LABELS + } + records: list[dict[str, object]] = [] + + for label in sorted(IMMORTALITY_STRUCTURAL_TARGET_LABELS): + chunk = chunk_by_label.get(label) + if chunk is None: + continue + raw_data = raw_data_by_entry.get(chunk.index) + if raw_data is None: + continue + for row in rows_by_entry.get(chunk.index, []): + if row.raw_code_offset == 0 or row.derived_body_start is None or row.derived_body_end is None: + continue + body = raw_data[row.derived_body_start:row.derived_body_end] + header = parse_body_open_header(body) + subheaders = find_labeled_subheaders(body, label) + motif_hits = { + motif_name: find_all_offsets(body, motif_bytes) + for motif_name, motif_bytes in IMMORTALITY_BODY_MOTIFS + } + records.append( + { + "entry_index": row.entry_index, + "class_name": label, + "slot": row.slot, + "event_name_hint": row.event_name_hint or "", + "body_length": len(body), + "header": header, + "clause_terminators": body.count(0x7A), + "local_labels": body.count(0x5B), + "subheaders": subheaders, + "tail_fields": scan_body_field_tokens(body, tail_window=256), + "all_fields": scan_body_field_tokens(body), + "motif_hits": motif_hits, + } + ) + + tsv_lines = [ + "entry_index\tclass_name\tslot\tevent_name_hint\tbody_length\theader_open_arg\theader_target\theader_label\theader_event_code\tclause_terminator_count\tlocal_label_count\tsubheader_count\tsubheader_targets\ttail_fields\tall_fields\tmotif_counts\tmotif_offsets" + ] + for record in records: + header = record["header"] or {} + motif_hits = record["motif_hits"] + tsv_lines.append( + "{entry_index}\t{class_name}\t0x{slot:02X}\t{event_name_hint}\t{body_length}\t{header_open_arg}\t{header_target}\t{header_label}\t{header_event_code}\t{clause_terminators}\t{local_labels}\t{subheader_count}\t{subheader_targets}\t{tail_fields}\t{all_fields}\t{motif_counts}\t{motif_offsets}".format( + entry_index=record["entry_index"], + class_name=record["class_name"], + slot=record["slot"], + event_name_hint=record["event_name_hint"], + body_length=record["body_length"], + header_open_arg=(f"0x{header['open_arg']:02X}" if header else ""), + header_target=(f"0x{header['target']:04X}" if header else ""), + header_label=(header.get("label", "") if header else ""), + header_event_code=(f"0x{header['event_code']:02X}" if header and header.get("event_code") is not None else ""), + clause_terminators=record["clause_terminators"], + local_labels=record["local_labels"], + subheader_count=len(record["subheaders"]), + subheader_targets=",".join( + f"0x{offset:04X}->0x{target:04X}" for offset, target in record["subheaders"] + ), + tail_fields=",".join(record["tail_fields"]), + all_fields=",".join(record["all_fields"]), + motif_counts=",".join( + f"{motif_name}:{len(motif_hits[motif_name])}" for motif_name, _ in IMMORTALITY_BODY_MOTIFS + ), + motif_offsets=",".join( + f"{motif_name}={format_offset_list(motif_hits[motif_name])}" for motif_name, _ in IMMORTALITY_BODY_MOTIFS if motif_hits[motif_name] + ), + ) + ) + (out_dir / "immortality_body_structure.tsv").write_text("\n".join(tsv_lines) + "\n", encoding="utf-8") + + md_lines = [ + "# Immortality Body Structure", + "", + "This report decodes one layer deeper than the literal scan for the surviving EVENT and NPCTRIG frontier.", + "It is still heuristic: the output is limited to repeatable byte grammar, subheader boundaries, field-tag trailers, and motif offsets that can be cross-checked against the 000d slot-backed runtime lane.", + "", + ] + for record in records: + header = record["header"] or {} + motif_hits = record["motif_hits"] + md_lines.extend([ + f"## {record['class_name']} slot `0x{record['slot']:02X}`", + "", + f"- Body length: `{record['body_length']}` bytes.", + f"- Open header: `0x5A 0x{header['open_arg']:02X} 0x5C 0x{header['target']:04X}` -> `{header.get('label', '')}` with embedded event-code byte `{f'0x{header['event_code']:02X}' if header.get('event_code') is not None else '-'}`." if header else "- Open header: not recognized by the current heuristic.", + f"- Clause terminators (`0x7A`): `{record['clause_terminators']}`; local labels (`0x5B`): `{record['local_labels']}`.", + f"- Internal labeled subheaders (`0x53 0x5C {record['class_name']}`): `{len(record['subheaders'])}` -> {', '.join(f'`0x{offset:04X}->0x{target:04X}`' for offset, target in record['subheaders'][:12]) or '`-`'}." , + f"- Tail field tags: {', '.join(f'`{value}`' for value in record['tail_fields']) or '`-`' }.", + "", + "| Motif | Count | First Offsets |", + "|---|---:|---|", + ]) + for motif_name, _ in IMMORTALITY_BODY_MOTIFS: + offsets = motif_hits[motif_name] + md_lines.append( + f"| `{motif_name}` | {len(offsets)} | `{format_offset_list(offsets) or '-'}` |" + ) + md_lines.append("") + + event_slot_0a = next((record for record in records if record["class_name"] == "EVENT" and record["slot"] == 0x0A), None) + npctrig_slot_0a = next((record for record in records if record["class_name"] == "NPCTRIG" and record["slot"] == 0x0A), None) + npctrig_slot_20 = next((record for record in records if record["class_name"] == "NPCTRIG" and record["slot"] == 0x20), None) + if event_slot_0a and npctrig_slot_0a and npctrig_slot_20: + npctrig_slot_0a_header = npctrig_slot_0a.get("header") or {} + npctrig_slot_20_header = npctrig_slot_20.get("header") or {} + md_lines.extend([ + "## Current Read", + "", + f"- `EVENT 0x0A` is the generic hub-shaped body: it has `{len(event_slot_0a['subheaders'])}` internal labeled subheaders and the widest field trailer (`{', '.join(event_slot_0a['tail_fields'])}`).", + f"- `NPCTRIG 0x0A` is the compact player-trigger candidate: it reuses the same class-labelled open header and subheader grammar, but it stays constrained to `{', '.join(npctrig_slot_0a['tail_fields'])}` instead of the wider EVENT field set.", + f"- `NPCTRIG 0x20` keeps the same constrained field set as `NPCTRIG 0x0A` and changes only the embedded prolog event-code byte (`{f'0x{npctrig_slot_20_header['event_code']:02X}' if npctrig_slot_20_header.get('event_code') is not None else '-'}` vs `{f'0x{npctrig_slot_0a_header['event_code']:02X}' if npctrig_slot_0a_header.get('event_code') is not None else '-'}`), which fits a variant trigger/setup lane better than a separate generic hub.", + "- The repeated `0x53 0x5C LABEL` subheaders and dense `0x5B ` local labels make these bodies look like inline clause streams rather than single flat payloads, which is consistent with the `000d:21ed -> 000d:22bc` runtime lane that copies variable-length inline bytes first and only then consumes compact metadata bytes plus streamed words.", + "- The surviving slot focus is still `0x0A`: both EVENT and NPCTRIG expose non-zero slot-`0x0A` bodies, and the runtime side has an exact offset-specialized masked wrapper for slot `0x0A` at `0005:2c35` (`entity_vm_context_try_create_mask_0400_slot0a_with_offset`).", + ]) + (out_dir / "immortality_body_structure.md").write_text("\n".join(md_lines) + "\n", encoding="utf-8") + + def readable_neighbor_chunks( center: ExtractedChunk, chunk_by_index: dict[int, ExtractedChunk], @@ -2211,6 +2948,9 @@ def write_summary(out_dir: pathlib.Path, input_path: pathlib.Path, data: bytes, write_readable_template_reports(out_dir, descriptor_chunks, chunk_by_index, len(chunks)) write_runtime_bridge_reports(out_dir, descriptor_chunks, chunk_by_index, len(chunks)) write_runtime_family_bridge_reports(out_dir, descriptor_chunks) + write_immortality_target_body_scan(out_dir, parsed_class_chunks, rows_by_entry, raw_data_by_entry) + write_immortality_body_structure_report(out_dir, parsed_class_chunks, rows_by_entry, raw_data_by_entry) + write_npctrig_clause_report(out_dir, parsed_class_chunks, rows_by_entry, raw_data_by_entry) lines = [] lines.append("# EUSECODE.FLX First-Pass Extraction") @@ -2269,6 +3009,8 @@ def write_summary(out_dir: pathlib.Path, input_path: pathlib.Path, data: bytes, lines.append("- `vm_mask_ladder.tsv` records the current `entity_vm_context_try_create_masked_for_entity` wrapper ladder in machine-readable form so gameplay mask lanes can be compared against descriptor-side families without reopening the notes.") lines.append("- `readable_script_ir.md` and `readable_script_ir.tsv` join descriptor neighborhoods, the verified VM IR, the runtime owner/source path, and the current mask-family hints into one conservative script-facing bridge artifact.") lines.append("- `runtime_descriptor_family_rankings.md` and `runtime_descriptor_family_rankings.tsv` rank descriptor families against the verified runtime lanes so the current human-readable script bridge is searchable by family fit rather than only by neighborhood dumps.") + lines.append("- `immortality_target_body_scan.md` and `immortality_target_body_scan.tsv` now scan the strongest current immortality candidates (`EVENT`, `NPCTRIG`, `_BOOT`, `SFXTRIG`, `SPECIAL`, `TRIGPAD`) for inline `0x410` literals and record the tightest remaining active-event template frontier.") + lines.append("- `immortality_npctrig_clauses.md` and `immortality_npctrig_clauses.tsv` now split the compact `NPCTRIG` slot `0x0A` / `0x20` bodies into prefix, clause, and tail regions so the event-bearing ladder can be compared against the typed/setup companion body without reopening raw hex.") (out_dir / "README.md").write_text("\n".join(lines) + "\n", encoding="utf-8") all_strings = iter_printable_runs(data) diff --git a/tools/poc_crusader_usecode_parser.py b/tools/poc_crusader_usecode_parser.py new file mode 100644 index 0000000..2c678d4 --- /dev/null +++ b/tools/poc_crusader_usecode_parser.py @@ -0,0 +1,1129 @@ +from __future__ import annotations + +import argparse +import csv +import hashlib +import json +from dataclasses import dataclass +from pathlib import Path +from typing import Any + + +REPO_ROOT = Path(__file__).resolve().parents[1] +EXTRACTED_ROOT = REPO_ROOT / "USECODE" / "EUSECODE_extracted" +CLASS_EVENT_INDEX = EXTRACTED_ROOT / "class_event_index.tsv" +CLASS_LAYOUT_INDEX = EXTRACTED_ROOT / "class_layout_index.tsv" +CHUNKS_DIR = EXTRACTED_ROOT / "chunks" + + +EVENT_NAME_HINTS = { + 0x00: "look", + 0x01: "use", + 0x02: "anim", + 0x03: "setActivity", + 0x04: "cachein", + 0x05: "hit", + 0x06: "gotHit", + 0x07: "hatch", + 0x08: "schedule", + 0x09: "release", + 0x0A: "equip", + 0x0B: "unequip", + 0x0C: "combine", + 0x0D: "func0D", + 0x0E: "calledFromAnim", + 0x0F: "enterFastArea", + 0x10: "leaveFastArea", + 0x11: "cast", + 0x12: "justMoved", + 0x13: "avatarStoleSomething", + 0x14: "animGetHit", + 0x15: "func15", + 0x16: "func16", + 0x17: "func17", + 0x18: "func18", + 0x19: "func19", + 0x1A: "func1A", + 0x1B: "func1B", + 0x1C: "func1C", + 0x1D: "func1D", + 0x1E: "func1E", + 0x1F: "func1F", +} + + +# Intrinsic table extracted from Pentagram ConvertUsecodeCrusader.h +# Source note: "current discovered intrinsics are for regret1.21 only" +# This is used as a hint only – ordinal mapping may differ between builds. +INTRINSIC_HINTS: dict[int, str] = { + 0x0000: "Intrinsic0000()", + 0x0001: "Item::getFrame(void)", + 0x0002: "Item::setFrame(uint16)", + 0x0003: "Item::getMapNum(void)", + 0x0004: "Item::getStatus(void)", + 0x0005: "Item::orStatus(sint16)", + 0x0006: "Item::callEvent0A(sint16)", + 0x0007: "Intrinsic0007()", + 0x0008: "Item::isNpc(void)", + 0x0009: "Item::getZ(void)", + 0x000A: "Intrinsic000A()", + 0x000B: "Item::getQLo(void)", + 0x000C: "Item::destroy(void)", + 0x000D: "Intrinsic000D()", + 0x000E: "Item::getX(void)", + 0x000F: "Item::getY(void)", + 0x0010: "Intrinsic0010()", + 0x0011: "Item::getType(void)", + 0x0012: "Intrinsic0012()", + 0x0013: "Intrinsic0013()", + 0x0014: "Item::legal_create(uint16,uint16,uint16,uint16,uint16)", + 0x0015: "Item::andStatus(void)", + 0x0016: "Intrinsic0016()", + 0x0017: "Intrinsic00C3()", + 0x0018: "Intrinsic00DA()", + 0x0019: "Intrinsic0019()", + 0x001A: "Item::create(uint16,uint16)", + 0x001B: "Item::pop(uint16,uint16,uint8)", + 0x001C: "Intrinsic00FA()", + 0x001D: "Item::push(void)", + 0x001E: "Intrinsic001E()", + 0x001F: "Item::getQLo(void)", + 0x0020: "Item::setQLo(sint16)", + 0x0021: "Item::getQHi(void)", + 0x0022: "Item::setQHi(sint16)", + 0x0023: "Intrinsic0023()", + 0x0024: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x0025: "Item::getCY(void)", + 0x0026: "Item::getCX(void)", + 0x0027: "Intrinsic0027()", + 0x0028: "Item::setNpcNum(sint16)", + 0x0029: "Intrinsic0029()", + 0x002A: "Intrinsic002A()", + 0x002B: "Item::pop(void)", + 0x002C: "Intrinsic002C()", + 0x002D: "Item::isCompletelyOn(uint16)", + 0x002E: "Item::pop(uint16)", + 0x002F: "Intrinsic002F()", + 0x0030: "Intrinsic0030()", + 0x0031: "Item::getFamily(void)", + 0x0032: "Item::destroyContents(void)", + 0x0033: "Intrinsic0033()", + 0x0034: "Item::getDirToItem(uint16)", + 0x0035: "Intrinsic0035()", + 0x0036: "Intrinsic0036()", + 0x0037: "Intrinsic0037()", + 0x0038: "Item::andStatus(void)", + 0x0039: "Kernel::resetRef(uint16,ProcessType)", + 0x003A: "Item::touch(void)", + 0x003B: "Egg::getEggId(void)", + 0x003C: "Intrinsic003C()", + 0x003D: "Intrinsic003D()", + 0x003E: "Item::callEvent11(sint16)", + 0x003F: "Intrinsic003F()", + 0x0040: "Intrinsic0040()", + 0x0041: "Item::isOn(uint16)", + 0x0042: "Item::getQHi(void)", + 0x0043: "Item::isOn(uint16)", + 0x0044: "Item::getQHi(void)", + 0x0045: "Item::isOn(uint16)", + 0x0046: "Item::getQHi(void)", + 0x0047: "Item::isOn(uint16)", + 0x0048: "Item::getQHi(void)", + 0x0049: "Item::isOn(uint16)", + 0x004A: "Item::getQHi(void)", + 0x004B: "Item::isOn(uint16)", + 0x004C: "Item::getQHi(void)", + 0x004D: "Intrinsic004D()", + 0x004E: "Npc::isDead(void)", + 0x004F: "Intrinsic009C()", + 0x0050: "Intrinsic0050()", + 0x0051: "Intrinsic0051()", + 0x0052: "Intrinsic0052()", + 0x0053: "Intrinsic00BD()", + 0x0054: "Intrinsic0054()", + 0x0055: "Intrinsic0055()", + 0x0056: "Intrinsic0056()", + 0x0057: "Intrinsic0057()", + 0x0058: "Item::use(void)", + 0x0059: "Item::setQuantity(sint16)", + 0x005A: "Intrinsic005A()", + 0x005B: "Item::getSurfaceWeight(void)", + 0x005C: "Intrinsic005C()", + 0x005D: "Item::setFrame(uint16)", + 0x005E: "Intrinsic00DA()", + 0x005F: "Intrinsic005F()", + 0x0060: "Intrinsic0060()", + 0x0061: "Intrinsic0061()", + 0x0062: "Intrinsic0062()", + 0x0063: "Item::legal_create(uint16,uint16,WorldPoint&)", + 0x0064: "Item::getPoint(WorldPoint&)", + 0x0065: "Item::legal_move(WorldPoint&,uint16,uint16)", + 0x0066: "Item::fall(void)", + 0x0067: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x0068: "Kernel::getNumProcesses(uint16,ProcessType)", + 0x0069: "Item::getCY(void)", + 0x006A: "Intrinsic006A()", + 0x006B: "Intrinsic006B()", + 0x006C: "Intrinsic006C()", + 0x006D: "Intrinsic006D()", + 0x006E: "Intrinsic006E()", + 0x006F: "Item::isInNpc(void)", + 0x0070: "Intrinsic0070()", + 0x0071: "Intrinsic0071()", + 0x0072: "Intrinsic0072()", + 0x0073: "Intrinsic0073()", + 0x0074: "Npc::isDead(void)", + 0x0075: "Item::getNpcNum(void)", + 0x0076: "IntrinsicReturn0", + 0x0077: "Intrinsic0077()", + 0x0078: "Item::callEvent0B(sint16)", + 0x0079: "Item::andStatus(void)", + 0x007A: "Item::move(uint16,uint16,uint8)", + 0x007B: "Intrinsic007B()", + 0x007C: "Intrinsic007C()", + 0x007D: "Intrinsic007D()", + 0x007E: "Intrinsic007E()", + 0x007F: "Intrinsic007F()", + 0x0080: "Intrinsic0080()", + 0x0081: "Intrinsic0081()", + 0x0082: "Intrinsic0082()", + 0x0083: "Intrinsic0083()", + 0x0084: "Intrinsic0084()", + 0x0085: "Intrinsic0085()", + 0x0086: "teleportToEgg(sint16,int,uint8)", + 0x0087: "Intrinsic0087()", + 0x0088: "Intrinsic0088()", + 0x0089: "Intrinsic00BD()", + 0x008A: "Item::getQuality(void)", + 0x008B: "Item::setQuality(sint16)", + 0x008C: "Intrinsic008C()", + 0x008D: "Intrinsic008D()", + 0x008E: "Intrinsic008E()", + 0x008F: "Camera::getX(void)", + 0x0090: "Camera::getY(void)", + 0x0091: "Item::setMapNum(sint16)", + 0x0092: "Item::getNpcNum(void)", + 0x0093: "Item::shoot(WorldPoint&,sint16,sint16)", + 0x0094: "Intrinsic0094()", + 0x0095: "Item::enterFastArea(void)", + 0x0096: "Intrinsic00CA()", + 0x0097: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x0098: "Item::getNpcNum(void)", + 0x0099: "Intrinsic0099()", + 0x009A: "teleportToEgg(sint16,uint8)", + 0x009B: "Intrinsic009B()", + 0x009C: "Intrinsic009C()", + 0x009D: "Intrinsic009D()", + 0x009E: "Intrinsic009E()", + 0x009F: "Intrinsic009F()", + 0x00A0: "Item::andStatus(void)", + 0x00A1: "Item::getUnkEggType(void)", + 0x00A2: "Egg::setEggXRange(uint16)", + 0x00A3: "Item::setFrame(uint16)", + 0x00A4: "Item::overlaps(uint16)", + 0x00A5: "Item::isOn(uint16)", + 0x00A6: "Item::getQHi(void)", + 0x00A7: "Intrinsic00DA()", + 0x00A8: "Item::getCY(void)", + 0x00A9: "Intrinsic00A9()", + 0x00AA: "Item::isOn(uint16)", + 0x00AB: "Npc::isDead(void)", + 0x00AC: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00AD: "Intrinsic00AD()", + 0x00AE: "Item::getQHi(void)", + 0x00AF: "Item::andStatus(void)", + 0x00B0: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00B1: "Item::andStatus(void)", + 0x00B2: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00B3: "Item::andStatus(void)", + 0x00B4: "Item::getDirToCoords(uint16,uint16)", + 0x00B5: "Intrinsic00B5()", + 0x00B6: "Intrinsic00B6()", + 0x00B7: "Item::getNpcNum(void)", + 0x00B8: "Item::getCY(void)", + 0x00B9: "Item::isOn(uint16)", + 0x00BA: "Item::getFootpad(sint16&,sint16&,sint16&)", + 0x00BB: "Npc::isDead(void)", + 0x00BC: "Intrinsic00BC()", + 0x00BD: "Intrinsic00BD()", + 0x00BE: "Intrinsic00BE()", + 0x00BF: "Item::andStatus(void)", + 0x00C0: "Intrinsic00C0()", + 0x00C1: "Intrinsic00C1()", + 0x00C2: "IntrinsicReturn0", + 0x00C3: "Intrinsic00C3()", + 0x00C4: "Item::getQHi(void)", + 0x00C5: "Item::setQuality(sint16)", + 0x00C6: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00C7: "Intrinsic00C7()", + 0x00C8: "Intrinsic00C8()", + 0x00C9: "Item::callEvent0A(sint16)", + 0x00CA: "Intrinsic00CA()", + 0x00CB: "Item::isOn(uint16)", + 0x00CC: "Intrinsic00CC()", + 0x00CD: "Intrinsic00CD()", + 0x00CE: "Item::getQHi(void)", + 0x00CF: "Item::isOn(uint16)", + 0x00D0: "Intrinsic00D0()", + 0x00D1: "Intrinsic00D1()", + 0x00D2: "Intrinsic00D2()", + 0x00D3: "Intrinsic00FA()", + 0x00D4: "Camera::getY(void)", + 0x00D5: "Intrinsic00D5()", + 0x00D6: "Intrinsic00D6()", + 0x00D7: "Intrinsic00D7()", + 0x00D8: "Intrinsic00D8()", + 0x00D9: "Intrinsic00D9()", + 0x00DA: "Intrinsic00DA()", + 0x00DB: "Intrinsic00DB()", + 0x00DC: "Item::getQLo(void)", + 0x00DD: "Item::getQHi(void)", + 0x00DE: "Item::getNpcNum(void)", + 0x00DF: "Intrinsic00DF()", + 0x00E0: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00E1: "Intrinsic00FA()", + 0x00E2: "Item::getQLo(void)", + 0x00E3: "Item::getCY(void)", + 0x00E4: "Item::getNpcNum(void)", + 0x00E5: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00E6: "Item::getNpcNum(void)", + 0x00E7: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00E8: "Item::getNpcNum(void)", + 0x00E9: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00EA: "Item::getNpcNum(void)", + 0x00EB: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00EC: "Item::getNpcNum(void)", + 0x00ED: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00EE: "Item::getNpcNum(void)", + 0x00EF: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00F0: "Item::getNpcNum(void)", + 0x00F1: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00F2: "Item::getNpcNum(void)", + 0x00F3: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00F4: "Item::getNpcNum(void)", + 0x00F5: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x00F6: "Item::getNpcNum(void)", + 0x00F7: "Item::andStatus(void)", + 0x00F8: "Intrinsic00FA()", + 0x00F9: "Item::getQLo(void)", + 0x00FA: "Intrinsic00FA()", + 0x00FB: "Intrinsic00FB()", + 0x00FC: "Intrinsic00FC()", + 0x00FD: "Item::getQLo(void)", + 0x00FE: "Intrinsic00FE()", + 0x00FF: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x0100: "Item::andStatus(void)", + 0x0101: "Item::isOn(uint16)", + 0x0102: "Npc::isDead(void)", + 0x0103: "Intrinsic00BD()", + 0x0104: "Item::getQHi(void)", + 0x0105: "Intrinsic00DA()", + 0x0106: "Intrinsic00FA()", + 0x0107: "Item::getQLo(void)", + 0x0108: "Item::isOn(uint16)", + 0x0109: "Item::getQHi(void)", + 0x010A: "Item::isOn(uint16)", + 0x010B: "Item::getQHi(void)", + 0x010C: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x010D: "Item::getNpcNum(void)", + 0x010E: "Item::getCY(void)", + 0x010F: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x0110: "Item::isOn(uint16)", + 0x0111: "Intrinsic0111()", + 0x0112: "IntrinsicReturn0", + 0x0113: "Npc::isDead(void)", + 0x0114: "Intrinsic0088()", + 0x0115: "Intrinsic00C1()", + 0x0116: "Item::getQHi(void)", + 0x0117: "Intrinsic00BD()", + 0x0118: "Item::andStatus(void)", + 0x0119: "Item::getNpcNum(void)", + 0x011A: "Item::andStatus(void)", + 0x011B: "Item::getNpcNum(void)", + 0x011C: "Intrinsic011C()", + 0x011D: "Item::andStatus(void)", + 0x011E: "Item::getNpcNum(void)", + 0x011F: "Item::AvatarStoleSomehting(uint16)", + 0x0120: "Item::andStatus(void)", + 0x0121: "Item::getNpcNum(void)", + 0x0122: "Item::getQ(void)", + 0x0123: "Item::setQ(uint)", + 0x0124: "Item::andStatus(void)", + 0x0125: "Item::getNpcNum(void)", + 0x0126: "Item::andStatus(void)", + 0x0127: "Item::getNpcNum(void)", + 0x0128: "Item::andStatus(void)", + 0x0129: "Item::getNpcNum(void)", + 0x012A: "Item::andStatus(void)", + 0x012B: "Item::getNpcNum(void)", + 0x012C: "Item::andStatus(void)", + 0x012D: "Item::getNpcNum(void)", + 0x012E: "Intrinsic00C3()", + 0x012F: "Item::andStatus(void)", + 0x0130: "Item::getNpcNum(void)", + 0x0131: "Intrinsic0131()", + 0x0132: "Item::andStatus(void)", + 0x0133: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x0134: "Item::andStatus(void)", + 0x0135: "Camera::getY(void)", + 0x0136: "Camera::getZ(void)", + 0x0137: "Intrinsic0137()", + 0x0138: "Intrinsic009C()", + 0x0139: "Item::getTypeFlagCrusader(sint16)", + 0x013A: "Item::getNpcNum(void)", + 0x013B: "Item::hurl(sint16,sint16,sint16,sint16)", + 0x013C: "Item::getCY(void)", + 0x013D: "Item::getCZ(void)", + 0x013E: "Item::setFrame(uint16)", + 0x013F: "Intrinsic013F()", + 0x0140: "Intrinsic0140()", + 0x0141: "Intrinsic0141()", + 0x0142: "Intrinsic0142()", + 0x0143: "Npc::isDead(void)", + 0x0144: "Intrinsic00FA()", + 0x0145: "Intrinsic0145()", + 0x0146: "Intrinsic0146()", + 0x0147: "Intrinsic0147()", + 0x0148: "Item::getNpcNum(void)", + 0x0149: "Item::getQLo(void)", + 0x014A: "Item::andStatus(void)", + 0x014B: "Intrinsic014B()", + 0x014C: "Intrinsic014C()", + 0x014D: "Intrinsic014D()", + 0x014E: "Intrinsic003C()", + 0x014F: "Egg::getEggXRange(void)", + 0x0150: "Intrinsic009C()", + 0x0151: "Intrinsic0072()", + 0x0152: "Item::setFrame(uint16)", + 0x0153: "Intrinsic00C1()", + 0x0154: "Intrinsic00C3()", + 0x0155: "Intrinsic00C1()", + 0x0156: "Item::isOn(uint16)", + 0x0157: "Intrinsic00C3()", + 0x0158: "Intrinsic00FA()", + 0x0159: "Item::getQHi(void)", + 0x015A: "Item::getQLo(void)", + 0x015B: "Intrinsic00C1()", + 0x015C: "Intrinsic00C3()", + 0x015D: "Intrinsic015D()", +} + + +NO_ARG_MNEMONICS = { + 0x08: "pop_result", + 0x12: "pop_temp", + 0x14: "add", + 0x15: "add_dword", + 0x16: "concat", + 0x17: "append_list", + 0x1C: "sub", + 0x1D: "sub_dword", + 0x1E: "mul", + 0x1F: "mul_dword", + 0x20: "div", + 0x21: "div_dword", + 0x22: "mod", + 0x23: "mod_dword", + 0x24: "cmp", + 0x25: "cmp_dword", + 0x26: "strcmp", + 0x28: "lt", + 0x29: "lt_dword", + 0x2A: "le", + 0x2B: "le_dword", + 0x2C: "gt", + 0x2D: "gt_dword", + 0x2E: "ge", + 0x2F: "ge_dword", + 0x30: "not", + 0x31: "not_dword", + 0x32: "and", + 0x33: "and_dword", + 0x34: "or", + 0x35: "or_dword", + 0x36: "ne", + 0x37: "ne_dword", + 0x39: "bit_and", + 0x3A: "bit_or", + 0x3B: "bit_not", + 0x3C: "lsh", + 0x3D: "rsh", + 0x50: "ret", + 0x53: "suspend", + 0x59: "push_pid", + 0x5D: "push_retval_byte", + 0x5E: "push_retval_word", + 0x5F: "push_retval_dword", + 0x60: "word_to_dword", + 0x61: "dword_to_word", + 0x6B: "str_to_ptr", + 0x6D: "push_process_result", + 0x73: "loopnext", + 0x77: "set_info", + 0x78: "process_exclude", + 0x7A: "end", +} + + +def parse_int(value: str) -> int: + return int(value, 0) + + +def try_parse_int(value: str) -> int | None: + try: + return parse_int(value) + except (TypeError, ValueError): + return None + + +def signed_byte(value: int) -> int: + return value - 0x100 if value & 0x80 else value + + +def bp_repr(value: int) -> str: + disp = signed_byte(value) + sign = "+" if disp >= 0 else "-" + return f"[BP{sign}{abs(disp):02X}h]" + + +def sp_repr(value: int) -> str: + disp = signed_byte(value) + sign = "+" if disp >= 0 else "-" + return f"[SP{sign}{abs(disp):02X}h]" + + +@dataclass +class ParseResult: + op: dict[str, Any] | None + next_offset: int + end_reason: str | None = None + unknown_tail: bytes | None = None + + +class BodyReader: + def __init__(self, data: bytes, offset: int = 0) -> None: + self.data = data + self.offset = offset + + def read_u8(self) -> int: + value = self.data[self.offset] + self.offset += 1 + return value + + def read_u16(self) -> int: + value = int.from_bytes(self.data[self.offset:self.offset + 2], "little") + self.offset += 2 + return value + + def read_u32(self) -> int: + value = int.from_bytes(self.data[self.offset:self.offset + 4], "little") + self.offset += 4 + return value + + def read_cstring(self) -> str: + chars: list[str] = [] + while self.offset < len(self.data): + byte = self.read_u8() + if byte == 0: + break + chars.append(chr(byte)) + return "".join(chars) + + def read_fixed_string(self, length: int) -> str: + raw = self.data[self.offset:self.offset + length] + self.offset += length + return raw.decode("latin-1", errors="replace").rstrip("\x00") + + +def op_record(start: int, absolute_start: int, opcode: int, raw_bytes: bytes, mnemonic: str, operands: dict[str, Any]) -> dict[str, Any]: + return { + "offset": start, + "absolute_body_offset": absolute_start, + "opcode": opcode, + "mnemonic": mnemonic, + "raw_bytes": raw_bytes.hex(), + "operands": operands, + } + + +def parse_one_op(body: bytes, start: int) -> ParseResult: + reader = BodyReader(body, start) + opcode = reader.read_u8() + operands: dict[str, Any] = {} + mnemonic = NO_ARG_MNEMONICS.get(opcode) + + if opcode == 0x00: + operands = {"bp_offset": reader.read_u8(), "target": bp_repr(body[start + 1])} + mnemonic = "pop_local_byte" + elif opcode == 0x01: + operands = {"bp_offset": reader.read_u8(), "target": bp_repr(body[start + 1])} + mnemonic = "pop_local_word" + elif opcode == 0x02: + operands = {"bp_offset": reader.read_u8(), "target": bp_repr(body[start + 1])} + mnemonic = "pop_local_dword" + elif opcode == 0x03: + bp_offset = reader.read_u8() + size = reader.read_u8() + operands = {"bp_offset": bp_offset, "target": bp_repr(bp_offset), "size": size} + mnemonic = "pop_local_blob" + elif opcode == 0x09: + bp_offset = reader.read_u8() + element_size = reader.read_u8() + slist_flag = reader.read_u8() + operands = { + "bp_offset": bp_offset, + "target": bp_repr(bp_offset), + "element_size": element_size, + "slist_flag": slist_flag, + } + mnemonic = "pop_list_element" + elif opcode == 0x0A: + value = reader.read_u8() + operands = {"value_u8": value, "value_signed": signed_byte(value)} + mnemonic = "push_byte_immediate" + elif opcode == 0x0B: + operands = {"value_u16": reader.read_u16()} + mnemonic = "push_word_immediate" + elif opcode == 0x0C: + operands = {"value_u32": reader.read_u32()} + mnemonic = "push_dword_immediate" + elif opcode == 0x0D: + declared_length = reader.read_u16() + text = reader.read_cstring() + operands = {"declared_length": declared_length, "string": text} + mnemonic = "push_string_immediate" + elif opcode == 0x0E: + element_size = reader.read_u8() + count = reader.read_u8() + operands = {"element_size": element_size, "count": count} + mnemonic = "create_list" + elif opcode == 0x0F: + arg_bytes = reader.read_u8() + intrinsic_ordinal = reader.read_u16() + operands = { + "arg_bytes": arg_bytes, + "intrinsic_ordinal": intrinsic_ordinal, + "intrinsic_name_hint": INTRINSIC_HINTS.get(intrinsic_ordinal), + } + mnemonic = "call_intrinsic" + elif opcode == 0x11: + target_class_id = reader.read_u16() + target_slot = reader.read_u16() + operands = { + "target_class_id": target_class_id, + "target_event_slot": target_slot, + "target_event_name_hint": EVENT_NAME_HINTS.get(target_slot), + } + mnemonic = "call_class_event" + elif opcode in {0x19, 0x1A, 0x1B}: + element_size = reader.read_u8() + operands = {"element_size": element_size} + mnemonic = {0x19: "append_slist", 0x1A: "remove_slist", 0x1B: "remove_list"}[opcode] + elif opcode == 0x38: + element_size = reader.read_u8() + slist_flag = reader.read_u8() + operands = {"element_size": element_size, "slist_flag": slist_flag} + mnemonic = "in_list" + elif opcode in {0x3E, 0x3F, 0x40, 0x41, 0x43, 0x4B, 0x62, 0x63, 0x64, 0x69}: + bp_offset = reader.read_u8() + operands = {"bp_offset": bp_offset, "target": bp_repr(bp_offset)} + mnemonic = { + 0x3E: "push_local_byte", + 0x3F: "push_local_word", + 0x40: "push_local_dword", + 0x41: "push_local_string", + 0x43: "push_local_slist", + 0x4B: "push_local_addr", + 0x62: "free_local_string", + 0x63: "free_local_slist", + 0x64: "free_local_list", + 0x69: "push_string_ptr", + }[opcode] + elif opcode == 0x42: + bp_offset = reader.read_u8() + element_size = reader.read_u8() + operands = {"bp_offset": bp_offset, "target": bp_repr(bp_offset), "element_size": element_size} + mnemonic = "push_local_list" + elif opcode == 0x44: + element_size = reader.read_u8() + slist_flag = reader.read_u8() + operands = {"element_size": element_size, "slist_flag": slist_flag} + mnemonic = "push_list_element" + elif opcode == 0x45: + byte0 = reader.read_u8() + byte1 = reader.read_u8() + operands = {"value_a": byte0, "value_b": byte1} + mnemonic = "push_huge" + elif opcode in {0x4C, 0x4D}: + size = reader.read_u8() + operands = {"size": size} + mnemonic = {0x4C: "push_indirect", 0x4D: "pop_indirect"}[opcode] + elif opcode in {0x4E, 0x4F}: + global_id = reader.read_u16() + size = reader.read_u8() + operands = {"global_id": global_id, "size": size} + mnemonic = {0x4E: "push_global", 0x4F: "pop_global"}[opcode] + elif opcode in {0x51, 0x52}: + relative = reader.read_u16() + signed_relative = relative - 0x10000 if relative & 0x8000 else relative + target = reader.offset + signed_relative + operands = {"relative_u16": relative, "relative_signed": signed_relative, "target_offset": target} + mnemonic = {0x51: "jne", 0x52: "jmp"}[opcode] + elif opcode == 0x54: + arg0 = reader.read_u8() + arg1 = reader.read_u8() + operands = {"arg0": arg0, "arg1": arg1} + mnemonic = "implies" + elif opcode == 0x57: + arg_bytes = reader.read_u8() + this_size = reader.read_u8() + target_class_id = reader.read_u16() + target_slot = reader.read_u16() + operands = { + "arg_bytes": arg_bytes, + "this_size": this_size, + "target_class_id": target_class_id, + "target_event_slot": target_slot, + "target_event_name_hint": EVENT_NAME_HINTS.get(target_slot), + } + mnemonic = "spawn" + elif opcode == 0x58: + target_class_id = reader.read_u16() + target_slot = reader.read_u16() + inline_offset = reader.read_u16() + this_size = reader.read_u8() + unknown = reader.read_u8() + operands = { + "target_class_id": target_class_id, + "target_event_slot": target_slot, + "target_event_name_hint": EVENT_NAME_HINTS.get(target_slot), + "inline_offset": inline_offset, + "this_size": this_size, + "unknown": unknown, + } + mnemonic = "spawn_inline" + elif opcode == 0x5A: + operands = {"local_bytes": reader.read_u8()} + mnemonic = "init" + elif opcode == 0x5B: + operands = {"line_number": reader.read_u16()} + mnemonic = "line_number" + elif opcode == 0x5C: + relative = reader.read_u16() + symbol_offset = reader.offset + (relative - 0x10000 if relative & 0x8000 else relative) + symbol = reader.read_fixed_string(8) + trailing_zero = reader.read_u8() + operands = { + "symbol_offset": symbol_offset, + "symbol": symbol, + "trailing_zero": trailing_zero, + } + mnemonic = "symbol_info" + elif opcode in {0x65, 0x66, 0x67, 0x6E, 0x6F, 0x74}: + value = reader.read_u8() + operands = {"value_u8": value} + if opcode in {0x65, 0x66, 0x67}: + operands["target"] = sp_repr(value) + mnemonic = { + 0x65: "free_stack_string", + 0x66: "free_stack_list", + 0x67: "free_stack_slist", + 0x6E: "add_sp", + 0x6F: "push_stack_addr", + 0x74: "loopscr", + }[opcode] + elif opcode == 0x6C: + bp_offset = reader.read_u8() + copy_type = reader.read_u8() + operands = {"bp_offset": bp_offset, "target": bp_repr(bp_offset), "copy_type": copy_type} + mnemonic = "param_pid_chg" + elif opcode == 0x70: + current_var = reader.read_u8() + string_bytes = reader.read_u8() + loop_type = reader.read_u8() + operands = {"current_var": current_var, "string_bytes": string_bytes, "loop_type": loop_type} + mnemonic = "loop" + elif opcode in {0x75, 0x76}: + bp_offset = reader.read_u8() + element_size = reader.read_u8() + branch = reader.read_u16() + signed_branch = branch - 0x10000 if branch & 0x8000 else branch + target = reader.offset + signed_branch + operands = { + "bp_offset": bp_offset, + "target_var": bp_repr(bp_offset), + "element_size": element_size, + "relative_u16": branch, + "relative_signed": signed_branch, + "target_offset": target, + } + mnemonic = {0x75: "foreach_list", 0x76: "foreach_slist"}[opcode] + elif opcode == 0x79: + operands = {"global_id": reader.read_u16()} + mnemonic = "global_address" + elif mnemonic is None: + return ParseResult(op=None, next_offset=start, end_reason="unknown_opcode", unknown_tail=body[start:]) + + raw = body[start:reader.offset] + op = op_record(start, start, opcode, raw, mnemonic, operands) + end_reason = "end_opcode" if opcode == 0x7A else None + return ParseResult(op=op, next_offset=reader.offset, end_reason=end_reason) + + +def load_tsv_rows(path: Path) -> list[dict[str, str]]: + with path.open("r", encoding="utf-8", newline="") as handle: + return list(csv.DictReader(handle, delimiter="\t")) + + +def find_chunk_file(entry_index: int) -> Path: + matches = sorted(CHUNKS_DIR.glob(f"chunk_{entry_index}_*.bin")) + if not matches: + raise FileNotFoundError(f"No chunk file found for entry_index={entry_index}") + return matches[0] + + +def select_rows(class_name: str, slot: int) -> tuple[dict[str, str], dict[str, str]]: + event_rows = load_tsv_rows(CLASS_EVENT_INDEX) + layout_rows = load_tsv_rows(CLASS_LAYOUT_INDEX) + + event_row = next( + ( + row for row in event_rows + if row["class_name_hint"].upper() == class_name.upper() + and try_parse_int(row.get("slot", "")) == slot + and try_parse_int(row.get("entry_index", "")) is not None + ), + None, + ) + if event_row is None: + raise KeyError(f"No class_event_index row found for class={class_name} slot=0x{slot:02X}") + if not event_row["derived_body_start"] or not event_row["derived_body_end"]: + raise ValueError(f"Selected row has no derived body range for class={class_name} slot=0x{slot:02X}") + + entry_index = parse_int(event_row["entry_index"]) + layout_row = next( + (row for row in layout_rows if try_parse_int(row.get("entry_index", "")) == entry_index), + None, + ) + if layout_row is None: + raise KeyError(f"No class_layout_index row found for entry_index={entry_index}") + return event_row, layout_row + + +def annotation_hints(event_row: dict[str, str], payload_shape_hint: str) -> dict[str, Any]: + slot = parse_int(event_row["slot"]) + return { + "runtime_family": "slot-backed-owner-loaded-body", + "payload_shape_hint": payload_shape_hint, + "compiled_anchors": [ + {"address": "000d:51fd", "role": "slot_value_loader"}, + {"address": "000d:5572", "role": "slot_value_plus_offset"}, + {"address": "000d:46ec", "role": "context_create_from_slot"}, + {"address": "000d:22bc", "role": "matrix_pushback_stage"}, + {"address": "000d:ebe3", "role": "opcode_sequence_run"}, + ], + "slot_taxonomy": {"slot": slot, "event_name_hint": event_row["event_name_hint"] or EVENT_NAME_HINTS.get(slot)}, + } + + +def infer_payload_shape(slot: int) -> str | None: + if slot in {0x10, 0x12}: + return "none" + if slot in {0x0A, 0x0B, 0x11, 0x14}: + return "word" + if slot == 0x13: + return "signed_word" + return None + + +def parse_body_ir(event_row: dict[str, str], layout_row: dict[str, str]) -> dict[str, Any]: + entry_index = parse_int(event_row["entry_index"]) + chunk_file = find_chunk_file(entry_index) + chunk_bytes = chunk_file.read_bytes() + + body_start = parse_int(event_row["derived_body_start"]) + body_end = parse_int(event_row["derived_body_end"]) + body = chunk_bytes[body_start:body_end] + + ops: list[dict[str, Any]] = [] + offset = 0 + end_reason = "body_exhausted" + unknown_tail = b"" + + while offset < len(body): + result = parse_one_op(body, offset) + if result.op is not None: + result.op["absolute_body_offset"] = body_start + result.op["offset"] + ops.append(result.op) + if result.end_reason is not None: + end_reason = result.end_reason + unknown_tail = result.unknown_tail or b"" + if result.end_reason == "end_opcode": + unknown_tail = body[result.next_offset:] + offset = result.next_offset + break + offset = result.next_offset + + if offset >= len(body) and end_reason == "body_exhausted": + unknown_tail = b"" + + slot = parse_int(event_row["slot"]) + payload_shape = infer_payload_shape(slot) + return { + "schema_version": "crusader-usecode-ir-v1-poc", + "source": { + "flex_path": "USECODE/EUSECODE.FLX", + "extracted_root": "USECODE/EUSECODE_extracted", + "chunk_file": str(chunk_file.relative_to(REPO_ROOT)).replace("\\", "/"), + }, + "class": { + "entry_index": entry_index, + "object_index": parse_int(layout_row["object_index"]), + "class_id": parse_int(layout_row["class_id"]), + "class_name": layout_row["class_name_hint"], + "raw_code_base_u32": parse_int(layout_row["raw_code_base_u32"]), + "code_base_minus_one": parse_int(layout_row["code_base_minus_one"]), + "conservative_event_count": parse_int(layout_row["conservative_event_count"]), + }, + "event": { + "slot": slot, + "event_name_hint": event_row["event_name_hint"] or EVENT_NAME_HINTS.get(slot), + "raw_event_entry_word": parse_int(event_row["raw_event_entry_word"]), + "raw_code_offset": parse_int(event_row["raw_code_offset"]), + "derived_body_start": body_start, + "derived_body_end": body_end, + "derived_body_length": parse_int(event_row["derived_body_length"]), + "repeated_template_status": event_row["repeated_template_status"], + }, + "body": { + "end_reason": end_reason, + "raw_body_sha1": hashlib.sha1(body).hexdigest(), + "unknown_trailing_bytes": unknown_tail.hex(), + "decoded_op_count": len(ops), + }, + "ops": ops, + "annotation_hints": annotation_hints(event_row, payload_shape), + } + + +# --------------------------------------------------------------------------- +# Family diff helpers +# --------------------------------------------------------------------------- + +def _common_prefix_len(a: bytes, b: bytes) -> int: + limit = min(len(a), len(b)) + for i in range(limit): + if a[i] != b[i]: + return i + return limit + + +def _common_suffix_len(a: bytes, b: bytes, prefix_len: int) -> int: + la, lb = len(a), len(b) + limit = min(la - prefix_len, lb - prefix_len) + for i in range(1, limit + 1): + if a[la - i] != b[lb - i]: + return i - 1 + return limit + + +def compute_family_diff(class_name: str, slot: int) -> dict[str, Any]: + """ + Find all event rows that share the same repeated_template_status family tag + as the named class/slot row, then decode each body and compute pairwise diff + statistics against the reference body. + + Returns a dict with: + reference_entry – entry_index for the named class/slot + family_tag – repeated_template_status value used for grouping + sibling_count – number of additional rows in the same family + members – list of per-member records (entry, class, body stats, diff vs ref) + """ + event_rows = load_tsv_rows(CLASS_EVENT_INDEX) + layout_rows = load_tsv_rows(CLASS_LAYOUT_INDEX) + layout_by_entry: dict[int, dict[str, str]] = {} + for row in layout_rows: + idx = try_parse_int(row.get("entry_index", "")) + if idx is not None: + layout_by_entry[idx] = row + + # Locate the reference row + ref_row = next( + ( + row for row in event_rows + if row["class_name_hint"].upper() == class_name.upper() + and try_parse_int(row.get("slot", "")) == slot + and try_parse_int(row.get("entry_index", "")) is not None + ), + None, + ) + if ref_row is None: + raise KeyError(f"No class_event_index row for class={class_name} slot=0x{slot:02X}") + + family_tag = ref_row.get("repeated_template_status", "").strip() + ref_entry = parse_int(ref_row["entry_index"]) + + # Collect family members – same family_tag if non-empty, else same slot + if family_tag and family_tag not in {"", "unique"}: + family_rows = [ + row for row in event_rows + if row.get("repeated_template_status", "").strip() == family_tag + and try_parse_int(row.get("entry_index", "")) is not None + ] + else: + # Fall back: same slot across all classes + family_rows = [ + row for row in event_rows + if try_parse_int(row.get("slot", "")) == slot + and try_parse_int(row.get("entry_index", "")) is not None + ] + + # Load reference body bytes + def _load_body(row: dict[str, str]) -> bytes | None: + body_start_str = row.get("derived_body_start", "") + body_end_str = row.get("derived_body_end", "") + if not body_start_str or not body_end_str: + return None + try: + chunk = find_chunk_file(parse_int(row["entry_index"])) + data = chunk.read_bytes() + return data[parse_int(body_start_str):parse_int(body_end_str)] + except (FileNotFoundError, ValueError): + return None + + ref_body = _load_body(ref_row) + if ref_body is None: + raise ValueError(f"Cannot load reference body for class={class_name} slot=0x{slot:02X}") + + members: list[dict[str, Any]] = [] + for row in family_rows: + entry_idx = parse_int(row["entry_index"]) + body = _load_body(row) + is_ref = entry_idx == ref_entry + member: dict[str, Any] = { + "entry_index": entry_idx, + "class_name": row["class_name_hint"], + "slot": try_parse_int(row.get("slot", "")), + "body_length": len(body) if body is not None else None, + "is_reference": is_ref, + } + if body is not None and not is_ref: + prefix = _common_prefix_len(ref_body, body) + suffix = _common_suffix_len(ref_body, body, prefix) + ref_diff_window = ref_body[prefix:len(ref_body) - suffix] if suffix else ref_body[prefix:] + member_diff_window = body[prefix:len(body) - suffix] if suffix else body[prefix:] + member["diff_vs_reference"] = { + "common_prefix_bytes": prefix, + "common_suffix_bytes": suffix, + "ref_diff_window_hex": ref_diff_window.hex(), + "member_diff_window_hex": member_diff_window.hex(), + "diff_window_length_ref": len(ref_diff_window), + "diff_window_length_member": len(member_diff_window), + "identical": ref_body == body, + } + elif is_ref: + member["diff_vs_reference"] = {"identical": True, "note": "reference"} + members.append(member) + + members.sort(key=lambda m: (0 if m["is_reference"] else 1, m["entry_index"])) + + return { + "reference_entry": ref_entry, + "reference_class": class_name, + "slot": slot, + "family_tag": family_tag or f"slot_0x{slot:02X}_all", + "member_count": len(members), + "sibling_count": len(members) - 1, + "members": members, + } + + +def render_family_diff_text(diff: dict[str, Any]) -> str: + lines = [ + f"Family diff: {diff['family_tag']}", + f"Reference entry={diff['reference_entry']} class={diff['reference_class']} slot=0x{diff['slot']:02X}", + f"Members: {diff['member_count']} Siblings: {diff['sibling_count']}", + "", + ] + for m in diff["members"]: + tag = " [REF]" if m["is_reference"] else "" + body_len = m["body_length"] if m["body_length"] is not None else "?" + lines.append(f" entry={m['entry_index']} class={m['class_name']} slot=0x{m['slot']:02X} body_len={body_len}{tag}") + d = m.get("diff_vs_reference") + if d and not m["is_reference"]: + if d["identical"]: + lines.append(" identical to reference") + else: + lines.append(f" prefix={d['common_prefix_bytes']} suffix={d['common_suffix_bytes']}") + lines.append(f" ref_diff_window ({d['diff_window_length_ref']}B): {d['ref_diff_window_hex']}") + lines.append(f" mem_diff_window ({d['diff_window_length_member']}B): {d['member_diff_window_hex']}") + return "\n".join(lines) + "\n" + + +def render_text(ir: dict[str, Any]) -> str: + lines = [ + f"Class {ir['class']['class_name']} entry={ir['class']['entry_index']} class_id=0x{ir['class']['class_id']:X}", + f"Slot 0x{ir['event']['slot']:02X} hint={ir['event']['event_name_hint']} body=0x{ir['event']['derived_body_start']:04X}..0x{ir['event']['derived_body_end']:04X}", + f"End reason: {ir['body']['end_reason']} ops={ir['body']['decoded_op_count']} sha1={ir['body']['raw_body_sha1']}", + "", + ] + for op in ir["ops"]: + operand_items = [] + for key, value in op["operands"].items(): + if isinstance(value, int): + operand_items.append(f"{key}=0x{value:X}") + else: + operand_items.append(f"{key}={value}") + lines.append( + f"{op['absolute_body_offset']:04X}: {op['opcode']:02X} {op['mnemonic']} {' '.join(operand_items)} raw={op['raw_bytes']}" + ) + if ir["body"]["unknown_trailing_bytes"]: + lines.extend(["", f"unknown_trailing_bytes={ir['body']['unknown_trailing_bytes']}"]) + return "\n".join(lines) + "\n" + + +def main() -> None: + parser = argparse.ArgumentParser(description="Proof-of-concept Crusader USECODE parser over extracted owner-loaded artifacts") + parser.add_argument("--class", dest="class_name", required=True, help="Class name from class_event_index.tsv, for example NPCTRIG") + parser.add_argument("--slot", required=True, help="Event slot, for example 0x0A") + parser.add_argument("--output", help="Write IR JSON to this file instead of stdout") + parser.add_argument("--emit-text", action="store_true", help="Emit a readable text listing beside the JSON") + parser.add_argument("--text-output", help="Write the text listing to this file") + parser.add_argument("--family-diff", action="store_true", help="Emit repeated-body family diff report instead of (or alongside) the IR") + parser.add_argument("--family-diff-output", help="Write the family diff JSON to this file") + parser.add_argument("--family-diff-text-output", help="Write the family diff text report to this file") + args = parser.parse_args() + + slot = parse_int(args.slot) + event_row, layout_row = select_rows(args.class_name, slot) + ir = parse_body_ir(event_row, layout_row) + + rendered_json = json.dumps(ir, indent=2) + if args.output: + Path(args.output).write_text(rendered_json + "\n", encoding="utf-8") + else: + print(rendered_json) + + if args.emit_text: + rendered_text = render_text(ir) + if args.text_output: + Path(args.text_output).write_text(rendered_text, encoding="utf-8") + else: + print(rendered_text) + + if args.family_diff: + diff = compute_family_diff(args.class_name, slot) + diff_json = json.dumps(diff, indent=2) + if args.family_diff_output: + Path(args.family_diff_output).write_text(diff_json + "\n", encoding="utf-8") + else: + print(diff_json) + diff_text = render_family_diff_text(diff) + if args.family_diff_text_output: + Path(args.family_diff_text_output).write_text(diff_text, encoding="utf-8") + else: + print(diff_text) + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/tools/pyghidra_crusader/cli.py b/tools/pyghidra_crusader/cli.py index dbbeeae..b0d4762 100644 --- a/tools/pyghidra_crusader/cli.py +++ b/tools/pyghidra_crusader/cli.py @@ -214,6 +214,15 @@ JSON_SCHEMAS = { "list-classes": {"type": "array", "items": CLASS_SCHEMA}, "run-script": STATUS_SCHEMA, "apply-plan": STATUS_SCHEMA, + "annotate-usecode": { + "type": "object", + "required": ["annotated", "skipped", "files"], + "properties": { + "annotated": {"type": "integer"}, + "skipped": {"type": "integer"}, + "files": {"type": "integer"}, + }, + }, } @@ -523,6 +532,31 @@ def build_parser() -> argparse.ArgumentParser: help="Validate and print the plan without modifying the project.", ) + annotate_usecode_parser = subparsers.add_parser( + "annotate-usecode", + aliases=["annotate_usecode"], + help="Import USECODE IR JSON annotation hints as Ghidra comments on compiled anchors.", + ) + annotate_usecode_parser.add_argument( + "--ir-file", + dest="ir_files", + metavar="IR_FILE", + action="append", + required=True, + help="Path to an IR JSON file produced by poc_crusader_usecode_parser.py. May be given multiple times.", + ) + annotate_usecode_parser.add_argument( + "--comment-type", + choices=["pre", "plate", "eol", "repeatable", "post"], + default="plate", + help="Ghidra comment type to use for anchor annotations (default: plate).", + ) + annotate_usecode_parser.add_argument( + "--dry-run", + action="store_true", + help="Print what would be annotated without modifying the project.", + ) + return parser @@ -947,6 +981,67 @@ def _print_plan(plan: dict) -> None: print(json.dumps(plan, indent=2, sort_keys=True)) +def command_annotate_usecode(config: ProjectConfig, args: argparse.Namespace) -> int: + """Import USECODE IR JSON files and set Ghidra comments on compiled anchor addresses.""" + import json as _json + + # Collect all annotation records from every IR file. + pending: list[tuple[str, str]] = [] # (address, comment_text) + for ir_path_str in args.ir_files: + ir_path = Path(ir_path_str).resolve() + if not ir_path.is_file(): + raise RuntimeError(f"IR file not found: {ir_path}") + ir = _json.loads(ir_path.read_text(encoding="utf-8")) + cls = ir.get("class", {}) + evt = ir.get("event", {}) + hints = ir.get("annotation_hints", {}) + class_name = cls.get("class_name", "?") + slot = evt.get("slot", 0) + event_name_hint = evt.get("event_name_hint") or f"slot_0x{slot:02X}" + body_start = evt.get("derived_body_start", 0) + body_end = evt.get("derived_body_end", 0) + raw_word = evt.get("raw_event_entry_word", 0) + for anchor in hints.get("compiled_anchors", []): + address = anchor.get("address", "") + role = anchor.get("role", "") + if not address: + continue + comment = ( + f"POC USECODE: {class_name} slot=0x{slot:02X} [{event_name_hint}]" + f" body=0x{body_start:04X}..0x{body_end:04X}" + f" raw_word=0x{raw_word:04X} | {role}" + ) + pending.append((address, comment)) + + if args.dry_run: + for address, comment in pending: + print(f"DRY-RUN {address} {comment}") + return _emit( + args, + {"annotated": 0, "skipped": len(pending), "files": len(args.ir_files)}, + f"dry-run: {len(pending)} annotations would be written from {len(args.ir_files)} file(s)", + ) + + annotated = 0 + skipped = 0 + with open_program(config, read_only=False) as (project, program): + with transaction(program, "USECODE annotation import"): + for address, comment in pending: + try: + set_comment(program, address, comment, args.comment_type) + annotated += 1 + except Exception as exc: + print(f"SKIP {address}: {exc}") + skipped += 1 + save_program(project, program) + + return _emit( + args, + {"annotated": annotated, "skipped": skipped, "files": len(args.ir_files)}, + f"annotated {annotated} anchors ({skipped} skipped) from {len(args.ir_files)} file(s)", + ) + + def command_apply_plan(config: ProjectConfig, args: argparse.Namespace) -> int: plan = _load_plan(args.plan) if args.dry_run: @@ -1037,6 +1132,7 @@ def main(argv: list[str] | None = None) -> int: "get-function-xrefs": command_get_function_xrefs, "run-script": command_run_script, "apply-plan": command_apply_plan, + "annotate-usecode": command_annotate_usecode, } return command_map[args.command](config, args)