# Stage02.ssb — ISL disassembly artefacts

Generated by `tools/re-capture/isl_report.py calls`.

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

## named built-ins used, by traffic
  11  end_coroutine             372
  69  unit_state                255
  1   start_coroutine           216
  64  request_script_message    213
  30  objective_marker          179
  20  hp_pct_test               167
  47  squadron_attack           137
  15  set_group_speed           127
  108 deploy_squadron_ex        117
  18  dist_lt                    92
  12  activate_unit              86
  5   kill_coroutine             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 reset_phase_threads        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
  48  squadron_escort             8
  39  MARK_LAST_PHASE             8
  82  banner_mission_failed       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
  81  banner_objective_update     2
  135 banner_mission_restart      2
  78  banner_mission_complete     2
  77  banner_mission_start        1
  127 timer_set                   1

## phase code bases
Each phase has its OWN base; the file header offset is not it.
  0xe4 0x14aa8 0x24b4c

## 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  request_script_message(MSG_VOICE_D_257, 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  end_coroutine
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(TCN004, 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]
005268: 00000C13  call   len=12  k=00,00 00000074 00000253  builtin116(0x0)
005274: 00000C13  call   len=12  k=00,00 00000065 00000254  builtin101
005280: 00000C13  call   len=12  k=00,00 00000064 00000255  reset_phase_threads
00528C: 00000C13  call   len=12  k=00,00 0000007C 00000256  timer_stop
005298: 01020C00  set.i  len=12  k=01,02 00000000 FFFFFFFF  special[0] = imm 0xFFFFFFFF
0052A4: 02030C00  set.i  len=12  k=02,03 00000000 00000000  local[0] = special[0]
0052B0: 00000C13  call   len=12  k=00,00 0000005D 00000257  clear_flag(0xFFFFFFFF)
0052BC: 00000C13  call   len=12  k=00,00 00000076 00000258  builtin118
0052C8: 00000C13  call   len=12  k=00,00 00000027 0000025A  MARK_LAST_PHASE
0052D4: 00000C13  call   len=12  k=00,00 00000052 0000025B  banner_mission_failed
0052E0: 01021001  set.f  len=16  k=01,02 00000000 40100000 00000000  special[0] = imm 4
0052F0: 02030C01  set.f  len=12  k=02,03 00000000 00000000  local[0] = special[0]
0052FC: 00000C13  call   len=12  k=00,00 00000004 0000025C  wait_s(4)
005308: 01020C00  set.i  len=12  k=01,02 00000000 00000005  special[0] = imm 0x5
005314: 02030C00  set.i  len=12  k=02,03 00000000 00000000  local[0] = special[0]
005320: 00000C13  call   len=12  k=00,00 0000000A 0000025E  random(0x5)
00532C: 0000080C  jmp    len=8   k=00,00 00005648  -> code+0x5648 (file 0x566C)
005334: 01020C00  set.i  len=12  k=01,02 00000000 00000043  special[0] = imm 0x43
005340: 02030C00  set.i  len=12  k=02,03 00000000 00000000  local[0] = special[0]
