1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
mcuelenaere@wim2160:~/rockbox_git/build2$ ../rockbox/utils/analysis/find_addr.pl 0x8004A5AC 100
/home/mcuelenaere/rockbox_git/build2/apps/metadata/rm.o -> rm_parse_header

    0:  27bdff88   addiu  sp,sp,-120
    4:  afbf0070   sw  ra,112(sp)
    8:  afb7006c   sw  s7,108(sp)
    c:  afb60068   sw  s6,104(sp)
   10:  afb50064   sw  s5,100(sp)
   14:  afb40060   sw  s4,96(sp)
   18:  afb3005c   sw  s3,92(sp)
   1c:  afb20058   sw  s2,88(sp)
   20:  afb10054   sw  s1,84(sp)
   24:  afb00050   sw  s0,80(sp)
   28:  00809021   move  s2,a0
   2c:  00a09821   move  s3,a1
   30:  00c0a021   move  s4,a2
   34:  27b00018   addiu  s0,sp,24
   38:  02002021   move  a0,s0
   3c:  00002821   move  a1,zero
   40:  0c000000   jal  0 <rm_parse_header>
   44:  2406000c   li  a2,12
   48:  02402021   move  a0,s2
   4c:  00002821   move  a1,zero
   50:  0c000000   jal  0 <rm_parse_header>
   54:  00003021   move  a2,zero
   58:  02402021   move  a0,s2
   5c:  0c000000   jal  0 <rm_parse_header>
   60:  02002821   move  a1,s0
   64:  8fa30018   lw  v1,24(sp)
   68:  3c022e72   lui  v0,0x2e72
   6c:  344261fd   ori  v0,v0,0x61fd
   70:  106201cb   beq  v1,v0,7a0 <rm_parse_header+0x7a0>
   74:  2402ffff   li  v0,-1
   78:  3c022e52   lui  v0,0x2e52
   7c:  34424d46   ori  v0,v0,0x4d46
   80:  146201c7   bne  v1,v0,7a0 <rm_parse_header+0x7a0>
   84:  2402ffff   li  v0,-1
   88:  02402021   move  a0,s2
   8c:  24050008   li  a1,8
   90:  0c000000   jal  0 <rm_parse_header>
   94:  24060001   li  a2,1
   98:  02402021   move  a0,s2
   9c:  0c000000   jal  0 <rm_parse_header>
   a0:  02002821   move  a1,s0
   a4:  104001bd   beqz  v0,79c <rm_parse_header+0x79c>
   a8:  8fa30018   lw  v1,24(sp)
   ac:  3c02494e   lui  v0,0x494e
   b0:  34424458   ori  v0,v0,0x4458
   b4:  106201b9   beq  v1,v0,79c <rm_parse_header+0x79c>
   b8:  3c1500ff   lui  s5,0xff
   bc:  08000035   j  d4 <rm_parse_header+0xd4>
   c0:  27b70024   addiu  s7,sp,36
   c4:  3c02494e   lui  v0,0x494e
   c8:  34424458   ori  v0,v0,0x4458
   cc:  106201b4   beq  v1,v0,7a0 <rm_parse_header+0x7a0>
   d0:  00001021   move  v0,zero
   d4:  3c024441   lui  v0,0x4441
   d8:  34425441   ori  v0,v0,0x5441
   dc:  10620179   beq  v1,v0,6c4 <rm_parse_header+0x6c4>
   e0:  0043102b   sltu  v0,v0,v1
   e4:  14400007   bnez  v0,104 <rm_parse_header+0x104>
   e8:  3c024d44   lui  v0,0x4d44
   ec:  3c02434f   lui  v0,0x434f
   f0:  34424e54   ori  v0,v0,0x4e54
   f4:  1462019c   bne  v1,v0,768 <rm_parse_header+0x768>
   f8:  02402021   move  a0,s2
   fc:  08000092   j  248 <rm_parse_header+0x248>
  100:  00000000   nop
  104:  34425052   ori  v0,v0,0x5052
  108:  1062007d   beq  v1,v0,300 <rm_parse_header+0x300>
  10c:  3c025052   lui  v0,0x5052
  110:  34424f50   ori  v0,v0,0x4f50
  114:  14620194   bne  v1,v0,768 <rm_parse_header+0x768>
  118:  02402021   move  a0,s2
  11c:  27a5002c   addiu  a1,sp,44
  120:  0c000000   jal  0 <rm_parse_header>
  124:  24060004   li  a2,4
  128:  8fa3002c   lw  v1,44(sp)
  12c:  00032600   sll  a0,v1,0x18
  130:  3062ff00   andi  v0,v1,0xff00
  134:  00021200   sll  v0,v0,0x8
  138:  00822025   or  a0,a0,v0
  13c:  00751024   and  v0,v1,s5
  140:  00021202   srl  v0,v0,0x8
  144:  00031e02   srl  v1,v1,0x18
  148:  00431025   or  v0,v0,v1
  14c:  00822025   or  a0,a0,v0
  150:  afa4002c   sw  a0,44(sp)
  154:  02402021   move  a0,s2
  158:  26650064   addiu  a1,s3,100
  15c:  0c000000   jal  0 <rm_parse_header>
  160:  24060004   li  a2,4
> 164:  8e630064   lw  v1,100(s3)
  168:  00032600   sll  a0,v1,0x18
  16c:  3062ff00   andi  v0,v1,0xff00
  170:  00021200   sll  v0,v0,0x8
  174:  00822025   or  a0,a0,v0
  178:  00751024   and  v0,v1,s5
  17c:  00021202   srl  v0,v0,0x8
  180:  00031e02   srl  v1,v1,0x18
  184:  00431025   or  v0,v0,v1
  188:  00822025   or  a0,a0,v0
  18c:  ae640064   sw  a0,100(s3)
  190:  02402021   move  a0,s2
  194:  2405000c   li  a1,12
  198:  0c000000   jal  0 <rm_parse_header>
  19c:  24060001   li  a2,1
  1a0:  02402021   move  a0,s2
  1a4:  26650018   addiu  a1,s3,24
  1a8:  0c000000   jal  0 <rm_parse_header>
  1ac:  24060004   li  a2,4
  1b0:  8e630018   lw  v1,24(s3)
  1b4:  00032600   sll  a0,v1,0x18
  1b8:  3062ff00   andi  v0,v1,0xff00
  1bc:  00021200   sll  v0,v0,0x8
  1c0:  00822025   or  a0,a0,v0
  1c4:  00751024   and  v0,v1,s5
  1c8:  00021202   srl  v0,v0,0x8
  1cc:  00031e02   srl  v1,v1,0x18
  1d0:  00431025   or  v0,v0,v1
  1d4:  00822025   or  a0,a0,v0
  1d8:  ae640018   sw  a0,24(s3)
  1dc:  02402021   move  a0,s2
  1e0:  24050008   li  a1,8
  1e4:  0c000000   jal  0 <rm_parse_header>
  1e8:  24060001   li  a2,1
  1ec:  02402021   move  a0,s2
  1f0:  26650014   addiu  a1,s3,20
  1f4:  0c000000   jal  0 <rm_parse_header>
  1f8:  24060004   li  a2,4
  1fc:  8e630014   lw  v1,20(s3)
  200:  00032600   sll  a0,v1,0x18
  204:  3062ff00   andi  v0,v1,0xff00
  208:  00021200   sll  v0,v0,0x8
  20c:  00822025   or  a0,a0,v0
  210:  00751024   and  v0,v1,s5
  214:  00021202   srl  v0,v0,0x8
  218:  00031e02   srl  v1,v1,0x18
  21c:  00431025   or  v0,v0,v1
  220:  00822025   or  a0,a0,v0
  224:  ae640014   sw  a0,20(s3)
  228:  02402021   move  a0,s2
  22c:  0c000000   jal  0 <rm_parse_header>
  230:  27a50030   addiu  a1,sp,48
  234:  02402021   move  a0,s2
  238:  0c000000   jal  0 <rm_parse_header>
  23c:  26650068   addiu  a1,s3,104
  240:  080001db   j  76c <rm_parse_header+0x76c>
  244:  24110032   li  s1,50
  248:  0c000000   jal  0 <rm_parse_header>
  24c:  02e02821   move  a1,s7
  250:  93a20024   lbu  v0,36(sp)
  254:  afa20010   sw  v0,16(sp)
  258:  02402021   move  a0,s2
  25c:  2685056e   addiu  a1,s4,1390
  260:  2406005c   li  a2,92
  264:  0c000000   jal  0 <rm_parse_header>
  268:  00003821   move  a3,zero
  26c:  2451000a   addiu  s1,v0,10
  270:  02402021   move  a0,s2
  274:  0c000000   jal  0 <rm_parse_header>
  278:  02e02821   move  a1,s7
  27c:  93a20024   lbu  v0,36(sp)
  280:  afa20010   sw  v0,16(sp)
  284:  02402021   move  a0,s2
  288:  268505ca   addiu  a1,s4,1482
  28c:  2406005c   li  a2,92
  290:  0c000000   jal  0 <rm_parse_header>
  294:  00003821   move  a3,zero
  298:  00408021   move  s0,v0
  29c:  02402021   move  a0,s2
  2a0:  0c000000   jal  0 <rm_parse_header>
  2a4:  02e02821   move  a1,s7
  2a8:  93a20024   lbu  v0,36(sp)
  2ac:  afa20010   sw  v0,16(sp)
  2b0:  02402021   move  a0,s2
  2b4:  26850626   addiu  a1,s4,1574
  2b8:  2406005c   li  a2,92
  2bc:  0c000000   jal  0 <rm_parse_header>
  2c0:  00003821   move  a3,zero
  2c4:  02028021   addu  s0,s0,v0
  2c8:  02402021   move  a0,s2
  2cc:  0c000000   jal  0 <rm_parse_header>
  2d0:  02e02821   move  a1,s7
  2d4:  93a20024   lbu  v0,36(sp)
  2d8:  afa20010   sw  v0,16(sp)
  2dc:  02402021   move  a0,s2
  2e0:  26850682   addiu  a1,s4,1666
  2e4:  2406005c   li  a2,92
  2e8:  0c000000   jal  0 <rm_parse_header>
  2ec:  00003821   move  a3,zero
  2f0:  02228821   addu  s1,s1,v0
  2f4:  26100004   addiu  s0,s0,4