# Stage02.ssb — ISL disassembly artefacts

2846 call sites, 73 distinct built-ins
  builtin 11     372 site(s)
  builtin 69     255 site(s)
  builtin 1      216 site(s)
  builtin 64     213 site(s)
  builtin 30     179 site(s)
  builtin 20     167 site(s)
  builtin 47     137 site(s)
  builtin 15     127 site(s)
  builtin 108    117 site(s)
  builtin 18      92 site(s)
  builtin 12      86 site(s)
  builtin 5       83 site(s)
  builtin 70      71 site(s)
  builtin 92      63 site(s)
  builtin 56      52 site(s)
  builtin 103     39 site(s)
  builtin 105     38 site(s)
  builtin 4       34 site(s)
  builtin 26      33 site(s)
  builtin 91      27 site(s)
  builtin 80      25 site(s)
  builtin 58      24 site(s)
  builtin 79      23 site(s)
  builtin 63      21 site(s)
  builtin 3       20 site(s)
  builtin 116     18 site(s)
  builtin 19      18 site(s)
  builtin 29      17 site(s)
  builtin 118     15 site(s)
  builtin 124     15 site(s)
  builtin 120     14 site(s)
  builtin 8       12 site(s)
  builtin 101     12 site(s)
  builtin 100     12 site(s)
  builtin 93      12 site(s)
  builtin 59      12 site(s)
  builtin 85      12 site(s)
  builtin 6       12 site(s)
  builtin 9       12 site(s)
  builtin 95       9 site(s)
  builtin 115      9 site(s)
  builtin 7        9 site(s)
  builtin 57       9 site(s)
  builtin 48       8 site(s)
  builtin 39       8 site(s)
  builtin 82       8 site(s)
  builtin 90       8 site(s)
  builtin 17       6 site(s)
  builtin 35       6 site(s)
  builtin 10       6 site(s)
  builtin 123      5 site(s)
  builtin 40       4 site(s)
  builtin 137      3 site(s)
  builtin 75       3 site(s)
  builtin 52       3 site(s)
  builtin 38       3 site(s)
  builtin 106      3 site(s)
  builtin 76       3 site(s)
  builtin 14       3 site(s)
  builtin 119      3 site(s)
  builtin 62       3 site(s)
  builtin 81       2 site(s)
  builtin 25       2 site(s)
  builtin 135      2 site(s)
  builtin 78       2 site(s)
  builtin 83       2 site(s)
  builtin 77       1 site(s)
  builtin 127      1 site(s)
  builtin 130      1 site(s)
  builtin 89       1 site(s)
  builtin 117      1 site(s)
  builtin 99       1 site(s)
  builtin 28       1 site(s)

## phase-control sites
6   END_PHASE          12: 0x51e4 0x5828 0x6010 0x6260 0x19640 0x19934 0x1ac44 0x2b96c 0x2bfb0 0x2c1e0 0x2cf74 0x2d1dc
62  FORCE_END_PHASE     3: 0x1482c 0x249f0 0x34a10
39  MARK_LAST_PHASE     8: 0x4dfc 0x52c8 0x60fc 0x19258 0x19724 0x2b584 0x2ba50 0x2c054
40  mark_not_last       4: 0x5a10 0x1a270 0x2c578 0x2d06c

## condition vocabulary actually used by Stage 02
  11  yield                   372
  69  unit_state              255
  1   start_coroutine         216
  30  objective_marker        179
  20  hp_pct_test             167
  18  dist_lt                  92
  5   await_label              83
  70  unit_alive               71
  56  unit_relation            52
  4   wait_s                   34
  26  damage_unit              33
  3   move_order               20
  124 timer_stop               15
  120 wait_cmds_drained        14
  8   set_flag                 12
  100 push_trigger             12
  93  clear_flag               12
  59  fade_sound               12
  6   END_PHASE                12
  9   read_freg                12
  95  unit_hp_pct               9
  115 named_event               9
  39  MARK_LAST_PHASE           8
  90  camera_at_route           8
  17  wait_frames               6
  10  random                    6
  123 timer_resume              5
  40  mark_not_last             4
  137 wait_units_ready          3
  52  play_stream               3
  14  play_bgm                  3
  62  FORCE_END_PHASE           3
  127 timer_set                 1

## disassembly into the first END_PHASE
resync from 0x5058
005058: 0000080C  jmp    len=8   k=00,00 0000507C  -> code+0x507C (file 0x50A0)
005060: 01020C00  set.i  len=12  k=01,02 00000000 00000042  special[0] = imm 0x42
00506C: 02030C00  set.i  len=12  k=02,03 00000000 00000000  local[0] = special[0]
005078: 01020C00  set.i  len=12  k=01,02 00000000 00000002  special[0] = imm 0x2
005084: 02030C00  set.i  len=12  k=02,03 00000004 00000000  local[4] = special[0]
005090: 01020C00  set.i  len=12  k=01,02 00000000 00000001  special[0] = imm 0x1
00509C: 02030C00  set.i  len=12  k=02,03 00000008 00000000  local[8] = special[0]
0050A8: 01020C00  set.i  len=12  k=01,02 00000000 00000009  special[0] = imm 0x9
0050B4: 02030C00  set.i  len=12  k=02,03 0000000C 00000000  local[12] = special[0]
0050C0: 01020C00  set.i  len=12  k=01,02 00000000 00000001  special[0] = imm 0x1
0050CC: 02030C00  set.i  len=12  k=02,03 00000010 00000000  local[16] = special[0]
0050D8: 01021001  set.f  len=16  k=01,02 00000000 BFF00000 00000000  special[0] = imm -1
0050E8: 02030C01  set.f  len=12  k=02,03 00000018 00000000  local[24] = special[0]
0050F4: 00000C13  call   len=12  k=00,00 00000040 00000245  builtin64(0x42, 0x2, 0x1, 0x9, 0x1, -1)
005100: 0000080C  jmp    len=8   k=00,00 0000507C  -> code+0x507C (file 0x50A0)
005108: 0000080C  jmp    len=8   k=00,00 0000507C  -> code+0x507C (file 0x50A0)
005110: 01020C0A  op10   len=12  k=01,02 00000000 00000000
00511C: 0000080D  op13   len=8   k=00,00 00004D84
005124: 01020C0A  op10   len=12  k=01,02 00000000 00000001
005130: 0000080D  op13   len=8   k=00,00 00004E2C
005138: 01020C0A  op10   len=12  k=01,02 00000000 00000002
005144: 0000080D  op13   len=8   k=00,00 00004ED4
00514C: 01020C0A  op10   len=12  k=01,02 00000000 00000003
005158: 0000080D  op13   len=8   k=00,00 00004F7C
005160: 00000C13  call   len=12  k=00,00 00000078 00000248  wait_cmds_drained
00516C: 01021001  set.f  len=16  k=01,02 00000000 40080000 00000000  special[0] = imm 3
00517C: 02030C01  set.f  len=12  k=02,03 00000000 00000000  local[0] = special[0]
005188: 00000C13  call   len=12  k=00,00 0000003B 0000024A  fade_sound(3)
005194: 01021001  set.f  len=16  k=01,02 00000000 40080000 00000000  special[0] = imm 3
0051A4: 02030C01  set.f  len=12  k=02,03 00000000 00000000  local[0] = special[0]
0051B0: 00000C13  call   len=12  k=00,00 00000055 0000024B  builtin85(3)
0051BC: 01021001  set.f  len=16  k=01,02 00000000 40080000 00000000  special[0] = imm 3
0051CC: 02030C01  set.f  len=12  k=02,03 00000000 00000000  local[0] = special[0]
0051D8: 00000C13  call   len=12  k=00,00 00000004 0000024C  wait_s(3)
0051E4: 00000C13  call   len=12  k=00,00 00000006 0000024D  END_PHASE
0051F0: 00000C13  call   len=12  k=00,00 0000000B 0000024E  yield
0051FC: 01030C00  set.i  len=12  k=01,03 00000000 00000001  local[0] = imm 0x1
005208: 01030C00  set.i  len=12  k=01,03 00000004 00000056  local[4] = imm 0x56
005214: 01021001  set.f  len=16  k=01,02 00000000 00000000 00000000  special[0] = imm 0
005224: 02030C01  set.f  len=12  k=02,03 00000008 00000000  local[8] = special[0]
005230: 00000C13  call   len=12  k=00,00 00000014 00000252  hp_pct_test(0)
00523C: 01020C0A  op10   len=12  k=01,02 00000000 00000001
005248: 0000080E  op14   len=8   k=00,00 0000575C
005250: 01020C00  set.i  len=12  k=01,02 00000000 00000000  special[0] = imm 0x0
00525C: 02030C00  set.i  len=12  k=02,03 00000000 00000000  local[0] = special[0]
