00015324 - 00015860

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

00015324: 27bdffc8 addiu r29,r29,0xffc8
00015328: afb3001c sw r19,0x001c(r29)
0001532c: 00809821 addu r19,r4,r0
00015330: afb60028 sw r22,0x0028(r29)
00015334: 00c0b021 addu r22,r6,r0
00015338: afb10014 sw r17,0x0014(r29)
0001533c: 00a08821 addu r17,r5,r0
00015340: afb50024 sw r21,0x0024(r29)
00015344: 34150001 ori r21,r0,0x0001
00015348: afbe0030 sw r30,0x0030(r29)
0001534c: 341e0090 ori r30,r0,0x0090
00015350: afb7002c sw r23,0x002c(r29)
00015354: 34170080 ori r23,r0,0x0080
00015358: afb00010 sw r16,0x0010(r29)
0001535c: 26300002 addiu r16,r17,0x0002
00015360: afbf0034 sw r31,0x0034(r29)
00015364: afb40020 sw r20,0x0020(r29)
00015368: afb20018 sw r18,0x0018(r29)
0001536c: 96220000 lhu r2,0x0000(r17)
00015370: 00000000 nop
00015374: 10400127 beq r2,r0,0x00015814
00015378: 00000000 nop
0001537c: 86020072 lh r2,0x0072(r16)
00015380: 00000000 nop
00015384: 14400123 bne r2,r0,0x00015814
00015388: 0000a021 addu r20,r0,r0
0001538c: 96320000 lhu r18,0x0000(r17)
00015390: 8e060016 lw r6,0x0016(r16)                 load SMD notes location
00015394: 3242f8ff andi r2,r18,0xf8ff
00015398: a6220000 sh r2,0x0000(r17)
0001539c: 90c50000 lbu r5,0x0000(r6)                 load note func
000153a0: 00000000 nop
000153a4: 2ca20080 sltiu r2,r5,0x0080                set if normal note
000153a8: 10400047 beq r2,r0,0x000154c8              branch if instruction
000153ac: 24c60001 addiu r6,r6,0x0001
000153b0: 96220000 lhu r2,0x0000(r17)
000153b4: 00000000 nop
000153b8: 30420008 andi r2,r2,0x0008
000153bc: 14400002 bne r2,r0,0x000153c8
000153c0: 00051200 sll r2,r5,0x08
000153c4: a6020092 sh r2,0x0092(r16)
000153c8: 96020000 lhu r2,0x0000(r16)                
000153cc: 00000000 nop
000153d0: 34420100 ori r2,r2,0x0100
000153d4: a6020000 sh r2,0x0000(r16)                  w/ 0x100 flag checked
000153d8: 90c40000 lbu r4,0x0000(r6)                  load note/pitch
000153dc: 9202007c lbu r2,0x007c(r16)
000153e0: 3084ffff andi r4,r4,0xffff
000153e4: 3c018003 lui r1,0x8003
000153e8: 00240821 addu r1,r1,r4                      
000153ec: 90238e70 lbu r3,-0x7190(r1)                 note/pitch's pitch
000153f0: 24c60001 addiu r6,r6,0x0001
000153f4: 00431021 addu r2,r2,r3                      add pitch to?
000153f8: a202007b sb r2,0x007b(r16)                  store new pitch
000153fc: 3c018003 lui r1,0x8003
00015400: 00240821 addu r1,r1,r4
00015404: 90248d8c lbu r4,-0x7274(r1)                 note/pitch's note length
00015408: 00000000 nop
0001540c: 10800003 beq r4,r0,0x0001541c               branch if custom length
00015410: 304500ff andi r5,r2,0x00ff
00015414: 0800550a j 0x00015428
00015418: a6040072 sh r4,0x0072(r16)                  else just store
0001541c: 90c20000 lbu r2,0x0000(r6)                  if custom length load next value
00015420: 24c60001 addiu r6,r6,0x0001
00015424: a6020072 sh r2,0x0072(r16)                  store custom note length
00015428: 9603002c lhu r3,0x002c(r16)                 
0001542c: 96020002 lhu r2,0x0002(r16)
00015430: 86040082 lh r4,0x0082(r16)
00015434: 34420080 ori r2,r2,0x0080                   check flag 0x80
00015438: a6020002 sh r2,0x0002(r16)
0001543c: 30a2ffff andi r2,r5,0xffff
00015440: a6030068 sh r3,0x0068(r16)
00015444: 86030084 lh r3,0x0084(r16)
00015448: 00021200 sll r2,r2,0x08
0001544c: 00431021 addu r2,r2,r3
00015450: 00441021 addu r2,r2,r4
00015454: 96030000 lhu r3,0x0000(r16)
00015458: 00021400 sll r2,r2,0x10
0001545c: ae02007e sw r2,0x007e(r16)
00015460: 34630200 ori r3,r3,0x0200
00015464: a6030000 sh r3,0x0000(r16)
00015468: 96220000 lhu r2,0x0000(r17)
0001546c: 00000000 nop
00015470: 34420180 ori r2,r2,0x0180
00015474: a6220000 sh r2,0x0000(r17)
00015478: 32420400 andi r2,r18,0x0400
0001547c: 10400005 beq r2,r0,0x00015494
00015480: 00000000 nop
00015484: 96020000 lhu r2,0x0000(r16)
00015488: 34140001 ori r20,r0,0x0001
0001548c: 34420001 ori r2,r2,0x0001
00015490: a6020000 sh r2,0x0000(r16)
00015494: 96230000 lhu r3,0x0000(r17)
00015498: 00000000 nop
0001549c: 30628000 andi r2,r3,0x8000
000154a0: 10400018 beq r2,r0,0x00015504
000154a4: 30627fff andi r2,r3,0x7fff
000154a8: a6220000 sh r2,0x0000(r17)
000154ac: 96020000 lhu r2,0x0000(r16)
000154b0: 96030002 lhu r3,0x0002(r16)
000154b4: 34420300 ori r2,r2,0x0300
000154b8: 346301ff ori r3,r3,0x01ff
000154bc: a6020000 sh r2,0x0000(r16)
000154c0: 08005541 j 0x00015504
000154c4: a6030002 sh r3,0x0002(r16)

instruction:

000154c8: 24a5ff80 addiu r5,r5,0xff80             instruction - 80
000154cc: 30a2ffff andi r2,r5,0xffff
000154d0: 00021080 sll r2,r2,0x02
000154d4: 00c02021 addu r4,r6,r0
000154d8: 02602821 addu r5,r19,r0
000154dc: 3c018003 lui r1,0x8003
000154e0: 00220821 addu r1,r1,r2
000154e4: 8c228b0c lw r2,-0x74f4(r1)
000154e8: 00000000 nop
000154ec: 0040f809 jalr r2,r31                    instruction jump return
000154f0: 02203021 addu r6,r17,r0
          
          00028b0c: 80015874 [80] Rest
          00028b10: 8001589c [81] Fermata
          00028b14: 8001586c [82] SMD No Instruction
          00028b18: 8001586c [83] SMD No Instruction
          00028b1c: 8001586c [84] SMD No Instruction
          00028b20: 8001586c [85] SMD No Instruction
          00028b24: 8001586c [86] SMD No Instruction
          00028b28: 8001586c [87] SMD No Instruction
          00028b2c: 8001586c [88] SMD No Instruction
          00028b30: 8001586c [89] SMD No Instruction
          00028b34: 800158b8 [8a] SMD No Instruction 2
          00028b38: 8001586c [8b] SMD No Instruction
          00028b3c: 8001586c [8c] SMD No Instruction
          00028b40: 800158c0 [8d] 000158c0 - 000158e4
          00028b44: 800158e8 [8e] SMD No Instruction 3
          00028b48: 800158f0 [8f] SMD No Instruction 4
          00028b4c: 800158f8 [90] Tacet
          00028b50: 800159dc [91] Loop
          00028b54: 8001586c [92] SMD No Instruction
          00028b58: 8001586c [93] SMD No Instruction
          00028b5c: 800159f0 [94] Octave
          00028b60: 80015a10 [95] Raise Octave
          00028b64: 80015a28 [96] Lower Octave
          00028b68: 80015a40 [97] Time Signature
          00028b6c: 80015ab8 [98] Repeat
          00028b70: 80015b00 [99] Coda
          00028b74: 80015b6c [9a] To Coda
          00028b78: 8001586c [9b] SMD No Instruction
          00028b7c: 80015bb8 [9c] 00015bb8 - 00015bf8
          00028b80: 80015bfc [9d] 00015bfc - 00015c34
          00028b84: 80015c38 [9e] 00015c38 - 00015cac
          00028b88: 8001586c [9f] SMD No Instruction
          00028b8c: 80015cb0 [a0] Tempo
          00028b90: 80015cd8 [a1] 00015cd8 - 00015d00
          00028b94: 80015d04 [a2] 00015d04 - 00015d40
          00028b98: 8001586c [a3] SMD No Instruction
          00028b9c: 80015a88 [a4] 00015a88 - 00015a98
          00028ba0: 80015a9c [a5] 00015a9c - 00015ab4
          00028ba4: 80015d44 [a6] 00015d44 - 00015d80
          00028ba8: 80015d84 [a7] 00015d84 - 00015dcc
          00028bac: 8001586c [a8] SMD No Instruction
          00028bb0: 80015dd0 [a9] 00015dd0 - 00015de0
          00028bb4: 80015de4 [aa] 00015de4 - 00015e2c
          00028bb8: 8001586c [ab] SMD No Instruction
          00028bbc: 80015e30 [ac] Instrument
          00028bc0: 80015e68 [ad] 00015e68 - 00015e94
          00028bc4: 80015e98 [ae] SMD No Instruction 5
          00028bc8: 80015ea0 [af] SMD No Instruction 6
          00028bcc: 80015ea8 [b0] 00015ea8 - 00015ebc
          00028bd0: 80015ec0 [b1] 00015ec0 - 00015ed4
          00028bd4: 80015ed8 [b2] 00015ed8 - 00015f14
          00028bd8: 80015f18 [b3] 00015f18 - 00015f40
          00028bdc: 80015f44 [b4] 00015f44 - 00015fb0
          00028be0: 80015fb4 [b5] 00015fb4 - 00016030
          00028be4: 80016034 [b6] 00016034 - 0001605c
          00028be8: 80016060 [b7] 00016060 - 00016088
          00028bec: 8001608c [b8] 0001608c - 000160e0
          00028bf0: 8001586c [b9] SMD No Instruction
          00028bf4: 800160e4 [ba] Cue
          00028bf8: 80016110 [bb] 00016110 - 00016138
          00028bfc: 8001586c [bc] SMD No Instruction
          00028c00: 8001586c [bd] SMD No Instruction
          00028c04: 8001586c [be] SMD No Instruction
          00028c08: 8001586c [bf] SMD No Instruction
          00028c0c: 8001613c [c0] 0001613c - 00016170
          00028c10: 80016174 [c1] 00016174 - 000161a4
          00028c14: 800161a8 [c2] Attack Time
          00028c18: 800161c4 [c3] 000161c4 - 000161dc
          00028c1c: 800161e0 [c4] Sustain
          00028c20: 800161fc [c5] 000161fc - 00016218
          00028c24: 8001621c [c6] Sustain 2
          00028c28: 80016238 [c7] 00016238 - 0001625c
          00028c2c: 80016260 [c8] 00016260 - 00016278
          00028c30: 8001627c [c9] 0001627c - 00016294
          00028c34: 80016298 [ca] 00016298 - 000162b0
          00028c38: 8001586c [cb] SMD No Instruction
          00028c3c: 8001586c [cc] SMD No Instruction
          00028c40: 8001586c [cd] SMD No Instruction
          00028c44: 8001586c [ce] SMD No Instruction
          00028c48: 8001586c [cf] SMD No Instruction
          00028c4c: 800162b4 [d0] 000162b4 - 000162d4
          00028c50: 800162d8 [d1] 000162d8 - 00016300
          00028c54: 80016304 [d2] 00016304 - 0001632c
          00028c58: 80016330 [d3] 00016330 - 00016360
          00028c5c: 80016364 [d4] 00016364 - 000163b8
          00028c60: 800163bc [d5] 000163bc - 000163d0
          00028c64: 800163ec [d6] 000163ec - 0001641c
          00028c68: 800165ac [d7] 000165ac - 000165e0
          00028c6c: 80016420 [d8] Pitch Shift
          00028c70: 800164d4 [d9] 000164d4 - 000165a8
          00028c74: 800165e4 [da] 000165e4 - 000165f8
          00028c78: 800165fc [db] 000165fc - 00016610
          00028c7c: 800163d4 [dc] 000163d4 - 000163e8
          00028c80: 8001586c [dd] SMD No Instruction
          00028c84: 8001586c [de] SMD No Instruction
          00028c88: 8001586c [df] SMD No Instruction
          00028c8c: 80016614 [e0] Dynamic
          00028c90: 80016640 [e1] 00016640 - 0001667c
          00028c94: 80016680 [e2] 00016680 - 000166c4
          00028c98: 80016834 [e3] 00016834 - 00016868
          00028c9c: 800166c8 [e4] 000166c8 - 00016768
          00028ca0: 8001676c [e5] 0001676c - 00016830
          00028ca4: 8001686c [e6] 0001686c - 00016880
          00028ca8: 80016884 [e7] 00016884 - 00016898
          00028cac: 8001689c [e8] Balance
          00028cb0: 800168bc [e9] 000168bc - 000168e8
          00028cb4: 800168ec [ea] 000168ec - 00016938
          00028cb8: 8001693c [eb] 0001693c - 00016970
          00028cbc: 80016974 [ec] 00016974 - 00016a10
          00028cc0: 80016a14 [ed] 00016a14 - 00016ad4
          00028cc4: 80016ad8 [ee] 00016ad8 - 00016aec
          00028cc8: 80016af0 [ef] 00016af0 - 00016b04
          00028ccc: 80016b08 [f0] 00016b08 - 00016b7c
          00028cd0: 80016b80 [f1] 00016b80 - 00016bf4
          00028cd4: 80016c70 [f2] 00016c70 - 00016cb4
          00028cd8: 8001586c [f3] SMD No Instruction
          00028cdc: 8001586c [f4] SMD No Instruction
          00028ce0: 80016cb8 [f5] 00016cb8 - 00016d60
          00028ce4: 80016d64 [f6] 00016d64 - 00016dbc
          00028ce8: 80016dec [f7] 00016dec - 00016e10
          00028cec: 8001586c [f8] SMD No Instruction
          00028cf0: 8001586c [f9] SMD No Instruction
          00028cf4: 8001586c [fa] SMD No Instruction
          00028cf8: 8001586c [fb] SMD No Instruction
          00028cfc: 8001586c [fc] SMD No Instruction
          00028d00: 80016e14 [fd] 00016e14 - 00016e44
          00028d04: 80016e48 [fe] 00016e48 - 00016ea0
          00028d08: 80016ea4 [ff] 00016ea4 - 00016fb0
000154f4: 96230000 lhu r3,0x0000(r17)
000154f8: 00000000 nop
000154fc: 1060005d beq r3,r0,0x00015674
00015500: 00403021 addu r6,r2,r0
00015504: 96220000 lhu r2,0x0000(r17)
00015508: 00000000 nop
0001550c: 30420500 andi r2,r2,0x0500
00015510: 1040ffa2 beq r2,r0,0x0001539c
00015514: 00000000 nop
00015518: ae060016 sw r6,0x0016(r16)
0001551c: 96230000 lhu r3,0x0000(r17)
00015520: 00000000 nop
00015524: 30620800 andi r2,r3,0x0800
00015528: 10400002 beq r2,r0,0x00015534
0001552c: 34620200 ori r2,r3,0x0200
00015530: a6220000 sh r2,0x0000(r17)
00015534: 960200aa lhu r2,0x00aa(r16)
00015538: 90c50000 lbu r5,0x0000(r6)
0001553c: 00021840 sll r3,r2,0x01
00015540: 00621821 addu r3,r3,r2
00015544: 00031880 sll r3,r3,0x02
00015548: 246300b0 addiu r3,r3,0x00b0
0001554c: 02232021 addu r4,r17,r3
00015550: 30a3ffff andi r3,r5,0xffff
00015554: 2c620080 sltiu r2,r3,0x0080
00015558: 14400036 bne r2,r0,0x00015634
0001555c: 30a2ffff andi r2,r5,0xffff
00015560: 34080081 ori r8,r0,0x0081
00015564: 3407ff50 ori r7,r0,0xff50
00015568: 147e0007 bne r3,r30,0x00015588
0001556c: 00000000 nop
00015570: 8e06001a lw r6,0x001a(r16)
00015574: 00000000 nop
00015578: 14c00027 bne r6,r0,0x00015618
0001557c: 30a2ffff andi r2,r5,0xffff
00015580: 0800558d j 0x00015634
00015584: 00000000 nop
00015588: 10770035 beq r3,r23,0x00015660
0001558c: 00000000 nop
00015590: 1068002e beq r3,r8,0x0001564c
00015594: 00a71021 addu r2,r5,r7
00015598: 3042ffff andi r2,r2,0xffff
0001559c: 2c420002 sltiu r2,r2,0x0002
000155a0: 1440002f bne r2,r0,0x00015660
000155a4: 34020099 ori r2,r0,0x0099
000155a8: 14620009 bne r3,r2,0x000155d0
000155ac: 00000000 nop
000155b0: 90820000 lbu r2,0x0000(r4)
000155b4: 00000000 nop
000155b8: 10400004 beq r2,r0,0x000155cc
000155bc: 00000000 nop
000155c0: 8c860004 lw r6,0x0004(r4)
000155c4: 08005586 j 0x00015618
000155c8: 00000000 nop
000155cc: 2484fff4 addiu r4,r4,0xfff4
000155d0: 30a3ffff andi r3,r5,0xffff
000155d4: 3402009a ori r2,r0,0x009a
000155d8: 14620008 bne r3,r2,0x000155fc
000155dc: 00000000 nop
000155e0: 90820000 lbu r2,0x0000(r4)
000155e4: 00000000 nop
000155e8: 14400005 bne r2,r0,0x00015600
000155ec: 24a5ff80 addiu r5,r5,0xff80
000155f0: 8c860008 lw r6,0x0008(r4)
000155f4: 08005586 j 0x00015618
000155f8: 2484fff4 addiu r4,r4,0xfff4
000155fc: 24a5ff80 addiu r5,r5,0xff80
00015600: 30a2ffff andi r2,r5,0xffff
00015604: 3c018003 lui r1,0x8003
00015608: 00220821 addu r1,r1,r2
0001560c: 90228d0c lbu r2,-0x72f4(r1)
00015610: 00000000 nop
00015614: 00c23021 addu r6,r6,r2
00015618: 90c50000 lbu r5,0x0000(r6)
0001561c: 00000000 nop
00015620: 30a3ffff andi r3,r5,0xffff
00015624: 2c620080 sltiu r2,r3,0x0080
00015628: 1040ffcf beq r2,r0,0x00015568
0001562c: 00000000 nop
00015630: 30a2ffff andi r2,r5,0xffff
00015634: 2c420080 sltiu r2,r2,0x0080
00015638: 10400013 beq r2,r0,0x00015688
0001563c: 00000000 nop
00015640: 96220000 lhu r2,0x0000(r17)
00015644: 080055a5 j 0x00015694
00015648: 34421000 ori r2,r2,0x1000
0001564c: 96220000 lhu r2,0x0000(r17)
00015650: 00000000 nop
00015654: 34420200 ori r2,r2,0x0200
00015658: 0800558c j 0x00015630
0001565c: a6220000 sh r2,0x0000(r17)
00015660: 96220000 lhu r2,0x0000(r17)
00015664: 00000000 nop
00015668: 3042fdff andi r2,r2,0xfdff
0001566c: 0800558c j 0x00015630
00015670: a6220000 sh r2,0x0000(r17)
00015674: 8e630058 lw r3,0x0058(r19)
00015678: 00151027 nor r2,r0,r21
0001567c: 00431024 and r2,r2,r3
00015680: 08005546 j 0x00015518
00015684: ae620058 sw r2,0x0058(r19)
00015688: 96220000 lhu r2,0x0000(r17)
0001568c: 00000000 nop
00015690: 3042efff andi r2,r2,0xefff
00015694: a6220000 sh r2,0x0000(r17)
00015698: 92050074 lbu r5,0x0074(r16)
0001569c: 96030072 lhu r3,0x0072(r16)
000156a0: 00051600 sll r2,r5,0x18
000156a4: 00021603 sra r2,r2,0x18
000156a8: 00432021 addu r4,r2,r3
000156ac: 00041400 sll r2,r4,0x10
000156b0: 1c400006 bgtz r2,0x000156cc
000156b4: 00801821 addu r3,r4,r0
000156b8: 96030072 lhu r3,0x0072(r16)
000156bc: 92020072 lbu r2,0x0072(r16)
000156c0: 00641821 addu r3,r3,r4
000156c4: 00a21021 addu r2,r5,r2
000156c8: a2020074 sb r2,0x0074(r16)
000156cc: 96040078 lhu r4,0x0078(r16)
000156d0: 3402000f ori r2,r0,0x000f
000156d4: 10820005 beq r4,r2,0x000156ec
000156d8: 34020010 ori r2,r0,0x0010
000156dc: 14820005 bne r4,r2,0x000156f4
000156e0: 00031400 sll r2,r3,0x10
000156e4: 080055c5 j 0x00015714
000156e8: 00602021 addu r4,r3,r0
000156ec: 080055c1 j 0x00015704
000156f0: 2464ffff addiu r4,r3,0xffff
000156f4: 00021403 sra r2,r2,0x10
000156f8: 00440018 mult r2,r4
000156fc: 00001012 mflo r2
00015700: 00022102 srl r4,r2,0x04
00015704: 3082ffff andi r2,r4,0xffff
00015708: 14400002 bne r2,r0,0x00015714
0001570c: 00000000 nop
00015710: 34040001 ori r4,r0,0x0001
00015714: a6040076 sh r4,0x0076(r16)
00015718: 1280003e beq r20,r0,0x00015814
0001571c: a6030072 sh r3,0x0072(r16)
00015720: 96020004 lhu r2,0x0004(r16)
00015724: 00000000 nop
00015728: 30420004 andi r2,r2,0x0004
0001572c: 1040001a beq r2,r0,0x00015798
00015730: 34060004 ori r6,r0,0x0004
00015734: 9202007b lbu r2,0x007b(r16)
00015738: 9203007a lbu r3,0x007a(r16)
0001573c: 00000000 nop
00015740: 00431023 subu r2,r2,r3
00015744: 00021600 sll r2,r2,0x18
00015748: 10400014 beq r2,r0,0x0001579c
0001574c: 34080001 ori r8,r0,0x0001
00015750: 9605008e lhu r5,0x008e(r16)
00015754: 00000000 nop
00015758: 0045001a div r2,r5
0001575c: 00002812 mflo r5
00015760: 96030004 lhu r3,0x0004(r16)
00015764: 86040082 lh r4,0x0082(r16)
00015768: 9602008e lhu r2,0x008e(r16)
0001576c: 34630001 ori r3,r3,0x0001
00015770: a6030004 sh r3,0x0004(r16)
00015774: a60200a4 sh r2,0x00a4(r16)
00015778: 9202007a lbu r2,0x007a(r16)
0001577c: 86030084 lh r3,0x0084(r16)
00015780: 00021200 sll r2,r2,0x08
00015784: 00431021 addu r2,r2,r3
00015788: 00441021 addu r2,r2,r4
0001578c: 00021400 sll r2,r2,0x10
00015790: ae02007e sw r2,0x007e(r16)
00015794: ae05009a sw r5,0x009a(r16)
00015798: 34080001 ori r8,r0,0x0001
0001579c: 2407fff3 addiu r7,r0,0xfff3
000157a0: 9202007b lbu r2,0x007b(r16)
000157a4: 262400fe addiu r4,r17,0x00fe
000157a8: a202007a sb r2,0x007a(r16)
000157ac: 94850000 lhu r5,0x0000(r4)
000157b0: 00000000 nop
000157b4: 30a20001 andi r2,r5,0x0001
000157b8: 10400013 beq r2,r0,0x00015808
000157bc: 30a20002 andi r2,r5,0x0002
000157c0: 10400011 beq r2,r0,0x00015808
000157c4: 00000000 nop
000157c8: 9482fff8 lhu r2,-0x0008(r4)
000157cc: 9483fffc lhu r3,-0x0004(r4)
000157d0: ac80ffe6 sw r0,-0x001a(r4)
000157d4: a488fff2 sh r8,-0x000e(r4)
000157d8: a482fff6 sh r2,-0x000a(r4)
000157dc: 30a20003 andi r2,r5,0x0003
000157e0: 10400005 beq r2,r0,0x000157f8
000157e4: a483fffa sh r3,-0x0006(r4)
000157e8: 96020000 lhu r2,0x0000(r16)
000157ec: 00000000 nop
000157f0: 34420100 ori r2,r2,0x0100
000157f4: a6020000 sh r2,0x0000(r16)
000157f8: 94820000 lhu r2,0x0000(r4)
000157fc: 00000000 nop
00015800: 00471024 and r2,r2,r7
00015804: a4820000 sh r2,0x0000(r4)
00015808: 24c6ffff addiu r6,r6,0xffff
0001580c: 14c0ffe7 bne r6,r0,0x000157ac
00015810: 24840020 addiu r4,r4,0x0020
00015814: 26100160 addiu r16,r16,0x0160
00015818: 26310160 addiu r17,r17,0x0160
0001581c: 26c2ffff addiu r2,r22,0xffff
00015820: 0040b021 addu r22,r2,r0
00015824: 00021400 sll r2,r2,0x10
00015828: 1440fed0 bne r2,r0,0x0001536c
0001582c: 0015a840 sll r21,r21,0x01
00015830: 8fbf0034 lw r31,0x0034(r29)
00015834: 8fbe0030 lw r30,0x0030(r29)
00015838: 8fb7002c lw r23,0x002c(r29)
0001583c: 8fb60028 lw r22,0x0028(r29)
00015840: 8fb50024 lw r21,0x0024(r29)
00015844: 8fb40020 lw r20,0x0020(r29)
00015848: 8fb3001c lw r19,0x001c(r29)
0001584c: 8fb20018 lw r18,0x0018(r29)
00015850: 8fb10014 lw r17,0x0014(r29)
00015854: 8fb00010 lw r16,0x0010(r29)
00015858: 27bd0038 addiu r29,r29,0x0038
0001585c: 03e00008 jr r31
00015860: 00000000 nop