3 Interrupt vectors (we assume)
5 0x1fff0000: 0x10000ffc 0x1fff0041 0x1fff00e1 0x1fff00e3
6 0x1fff0010: 0x1fff00e5 0x1fff00e7 0x1fff00e9 0xffffffff
7 0x1fff0020: 0xffffffff 0xffffffff 0xffffffff 0x1fff00eb
8 0x1fff0030: 0x1fff00ed 0xffffffff 0x1fff00ef 0x1fff00f1
13 1fff0048 Load CRP value to SCB register
14 1fff0350 Checks the pins PIN0_1 for ISP force
16 1fff02f6 Validate application and jump
18 Unless something is weird, you'll get to here. This
19 checksums the first bit of the application interrupt table
20 and jumps to the application if it's ok.
22 1fff008c jump to other system
25 This looks like the ISP bits, which we're going to ignore
45 0x1fff0040: ldr r2, [pc, #0] ; (0x1fff0044) 1fff0049
48 0x1fff0040: 0x47104a00 0x1fff0049 0x4b1b4a1a 0x4d1c681b
50 0x1fff0044: lsls r1, r1, #1
51 0x1fff0046: subs r7, r7, #7
55 Check Code Read Protection values
57 0x1fff0048: ldr r2, [pc, #104] ; (0x1fff00b4) 400483f0
58 0x1fff004a: ldr r3, [pc, #108] ; (0x1fff00b8) 1fff00c8
59 0x1fff004c: ldr r3, [r3, #0] 000002fc
60 0x1fff004e: ldr r5, [pc, #112] ; (0x1fff00c0) 1fff00d0
61 0x1fff0050: ldr r5, [r5, #0] 43218765 CRP3
62 0x1fff0052: ldr r6, [pc, #112] ; (0x1fff00c4) 1fff00d4
63 0x1fff0054: ldr r6, [r6, #0] 12345678 CRP1
64 0x1fff0056: ldr r4, [r3, #0] (000002fc) CRP
68 0x1fff0058: cmp r4, r5
69 0x1fff005a: beq.n 0x1fff0060
73 => 0x1fff005c: cmp r4, r6
74 0x1fff005e: bne.n 0x1fff0064
76 if (r4 == r5 || r4 == r6) {
78 0x1fff0060: ldr r4, [pc, #88] ; (0x1fff00bc) 1fff00cc
79 0x1fff0062: ldr r4, [r4, #0] 87654321 CRP2
85 Write the resulting CRP value to the SCB register
87 0x1fff0064: str r4, [r2, #0] SCB register before DEVICE_ID
89 This pretty clearly changes the memory mapping so that low
90 addresses (higher than the interrupt vector) come from rom
92 0x1fff0066: ldr r2, [pc, #52] ; (0x1fff009c) 4003c000 FLASHCFG
93 0x1fff0068: ldr r3, [r2, #0]
94 0x1fff006a: movs r4, #64 ; 0x40
95 0x1fff006c: orrs r3, r4
96 0x1fff006e: str r3, [r2, #0]
98 Check and see if the memory mapping changes worked
100 0x1fff0070: ldr r3, [pc, #44] ; (0x1fff00a0) 0000043c
101 0x1fff0072: ldr r2, [r3, #0]
102 0x1fff0074: ldr r4, [pc, #44] ; (0x1fff00a4) 000005d0
103 0x1fff0076: ldr r4, [r4, #0]
104 0x1fff0078: ldr r5, [pc, #44] ; (0x1fff00a8) 1fff00dc
105 0x1fff007a: ldr r5, [r5, #0] 3456abcd
106 0x1fff007c: cmp r4, r5
107 0x1fff007e: beq.n 0x1fff0084
111 0x1fff0080: ldr r2, [pc, #40] ; (0x1fff00ac) 1fff00d8
112 0x1fff0082: ldr r2, [r2, #0] 10000fff
113 0x1fff0084: subs r2, #31
114 0x1fff0086: mov sp, r2
116 Jump to main function
118 0x1fff0088: ldr r2, [pc, #36] ; (0x1fff00b0) 1fff0351
121 Load stack/pc from address pointed at by r0 and jump
123 0x1fff008c: ldr r1, [r0, #0]
124 0x1fff008e: mov sp, r1
125 0x1fff0090: ldr r1, [r0, #4]
130 0x1fff0094: ldr r1, [r0, #0]
131 0x1fff0096: mov sp, r1
132 0x1fff0098: ldr r1, [r0, #4]
135 0x1fff0090: 0x47086841 0x468d6801 0x47086841 0x4003c000
136 0x1fff00a0: 0x0000043c 0x000005d0 0x1fff00dc 0x1fff00d8
137 0x1fff00b0: 0x1fff0351 0x400483f0 0x1fff00c8 0x1fff00cc
138 0x1fff00c0: 0x1fff00d0 0x1fff00d4 0x000002fc 0x87654321
139 0x1fff00d0: 0x43218765 0x12345678 0x10000fff 0x3456abcd
140 0x1fff00e0: 0xe7fe4770 0xe7fee7fe 0x4770e7fe 0x47704770
141 0x1fff00f0: 0xffff4770 0x4eddb51c 0x4dde4fdd 0x48dd2401
142 0x1fff0100: 0x2146aa01 0xf0003898 0x2800fe7d 0x217ad1f7
144 0x1fff009c: stmia r0!, {}
145 0x1fff009e: ands r3, r0
146 0x1fff00a0: lsls r4, r7, #16
147 0x1fff00a2: movs r0, r0
148 0x1fff00a4: lsls r0, r2, #23
149 0x1fff00a6: movs r0, r0
150 0x1fff00a8: lsls r4, r3, #3
151 0x1fff00aa: subs r7, r7, #7
152 0x1fff00ac: lsls r0, r3, #3
153 0x1fff00ae: subs r7, r7, #7
154 0x1fff00b0: lsls r1, r2, #13
155 0x1fff00b2: subs r7, r7, #7
156 0x1fff00b4: strh r0, [r6, #30]
157 0x1fff00b6: ands r4, r0
158 0x1fff00b8: lsls r0, r1, #3
159 0x1fff00ba: subs r7, r7, #7
160 0x1fff00bc: lsls r4, r1, #3
161 0x1fff00be: subs r7, r7, #7
162 0x1fff00c0: lsls r0, r2, #3
163 0x1fff00c2: subs r7, r7, #7
164 0x1fff00c4: lsls r4, r2, #3
165 0x1fff00c6: subs r7, r7, #7
166 0x1fff00c8: lsls r4, r7, #11
167 0x1fff00ca: movs r0, r0
168 0x1fff00cc: orrs r1, r4
169 0x1fff00ce: strh r5, [r4, #58] ; 0x3a
170 0x1fff00d0: strh r5, [r4, #58] ; 0x3a
171 0x1fff00d2: orrs r1, r4
172 0x1fff00d4: ldrsb r0, [r7, r1]
173 0x1fff00d6: asrs r4, r6, #8
174 0x1fff00d8: lsrs r7, r7, #31
175 0x1fff00da: asrs r0, r0, #32
176 0x1fff00dc: add r3, sp, #820 ; 0x334
177 0x1fff00de: adds r4, #86 ; 0x56
179 0x1fff00e2: b.n 0x1fff00e2
180 0x1fff00e4: b.n 0x1fff00e4
181 0x1fff00e6: b.n 0x1fff00e6
182 0x1fff00e8: b.n 0x1fff00e8
187 0x1fff00f2: vsli.32 d27, d12, #31
191 0x1fff00f4: push {r2, r3, r4, lr}
192 0x1fff00f6: ldr r6, [pc, #884] ; (0x1fff046c)
193 0x1fff00f8: ldr r7, [pc, #884] ; (0x1fff0470)
194 0x1fff00fa: ldr r5, [pc, #888] ; (0x1fff0474)
195 0x1fff00fc: movs r4, #1
196 0x1fff00fe: ldr r0, [pc, #884] ; (0x1fff0474)
197 0x1fff0100: add r2, sp, #4
198 0x1fff0102: movs r1, #70 ; 0x46
199 0x1fff0104: subs r0, #152 ; 0x98
200 0x1fff0106: bl 0x1fff0e04
201 0x1fff010a: cmp r0, #0
202 0x1fff010c: bne.n 0x1fff00fe
203 0x1fff010e: movs r1, #122 ; 0x7a
204 0x1fff0110: lsls r2, r0, #2
205 0x1fff0112: ldr r2, [r5, r2]
206 0x1fff0114: adds r0, r0, #1
207 0x1fff0116: strb r1, [r2, #0]
208 0x1fff0118: cmp r0, #5
209 0x1fff011a: blt.n 0x1fff0110
210 0x1fff011c: movs r0, #15
211 0x1fff011e: ldr r2, [pc, #852] ; (0x1fff0474)
212 0x1fff0120: str r0, [sp, #0]
213 0x1fff0122: mov r0, r2
214 0x1fff0124: movs r3, #5
215 0x1fff0126: subs r0, #152 ; 0x98
216 0x1fff0128: ldr r1, [sp, #4]
217 0x1fff012a: bl 0x1fff0fd8
218 0x1fff012e: cmp r0, #0
219 0x1fff0130: beq.n 0x1fff00fe
220 0x1fff0132: ldr r1, [r5, #0]
221 0x1fff0134: ldrb r1, [r1, #0]
222 0x1fff0136: cmp r1, #82 ; 0x52
223 0x1fff0138: beq.n 0x1fff0184
224 0x1fff013a: cmp r1, #84 ; 0x54
225 0x1fff013c: beq.n 0x1fff0184
226 0x1fff013e: cmp r1, #71 ; 0x47
227 0x1fff0140: beq.n 0x1fff0184
228 0x1fff0142: cmp r1, #77 ; 0x4d
229 0x1fff0144: beq.n 0x1fff0184
230 0x1fff0146: movs r2, #0
231 0x1fff0148: cmp r1, #87 ; 0x57
232 0x1fff014a: beq.n 0x1fff0188
233 0x1fff014c: cmp r1, #67 ; 0x43
234 0x1fff014e: beq.n 0x1fff0188
235 0x1fff0150: movs r4, #0
236 0x1fff0152: ldr r1, [pc, #804] ; (0x1fff0478)
237 0x1fff0154: ldr r3, [r6, #0]
238 0x1fff0156: ldr r1, [r1, #8]
239 0x1fff0158: cmp r1, r3
240 0x1fff015a: beq.n 0x1fff016a
241 0x1fff015c: ldr r3, [r7, #0]
242 0x1fff015e: cmp r1, r3
243 0x1fff0160: beq.n 0x1fff016a
244 0x1fff0162: ldr r3, [pc, #792] ; (0x1fff047c)
245 0x1fff0164: ldr r3, [r3, #0]
246 0x1fff0166: cmp r1, r3
247 0x1fff0168: bne.n 0x1fff016e
248 0x1fff016a: cmp r2, #1
249 0x1fff016c: beq.n 0x1fff018c
250 0x1fff016e: ldr r2, [r6, #0]
251 0x1fff0170: cmp r1, r2
252 0x1fff0172: beq.n 0x1fff017a
253 0x1fff0174: ldr r2, [r7, #0]
254 0x1fff0176: cmp r1, r2
255 0x1fff0178: bne.n 0x1fff017e
256 0x1fff017a: cmp r4, #1
257 0x1fff017c: beq.n 0x1fff018c
258 0x1fff017e: bl 0x1fff0bcc
259 0x1fff0182: b.n 0x1fff00fe
260 0x1fff0184: movs r2, #1
261 0x1fff0186: b.n 0x1fff0152
262 0x1fff0188: movs r4, #1
263 0x1fff018a: b.n 0x1fff0152
264 0x1fff018c: movs r2, #15
265 0x1fff018e: movs r0, #19
266 0x1fff0190: ldr r1, [r5, #4]
267 0x1fff0192: bl 0x1fff1064
268 0x1fff0196: bl 0x1ff0d9c setup_serial
269 0x1fff019a: b.n 0x1fff00fe
273 0x1fff019c: push {r3, r4, r5, r6, r7, lr}
274 0x1fff019e: ldr r6, [pc, #736] ; (0x1fff0480)
275 0x1fff01a0: ldr r7, [pc, #736] ; (0x1fff0484)
276 0x1fff01a2: ldr r4, [pc, #740] ; (0x1fff0488)
277 0x1fff01a4: movs r5, #1
278 0x1fff01a6: movs r0, #2
279 0x1fff01a8: str r0, [r7, #4]
280 0x1fff01aa: ldr r0, [r6, #0]
281 0x1fff01ac: lsls r0, r0, #13
282 0x1fff01ae: bmi.n 0x1fff01aa
283 0x1fff01b0: ldr r0, [r6, #0]
284 0x1fff01b2: lsls r0, r0, #13
285 0x1fff01b4: bpl.n 0x1fff01b0
286 0x1fff01b6: str r5, [r7, #4]
287 0x1fff01b8: ldr r0, [r6, #0]
288 0x1fff01ba: lsls r0, r0, #13
289 0x1fff01bc: bmi.n 0x1fff01b8
290 0x1fff01be: ldr r0, [r6, #0]
291 0x1fff01c0: lsls r0, r0, #13
292 0x1fff01c2: bpl.n 0x1fff01be
293 0x1fff01c4: movs r0, #0
294 0x1fff01c6: str r0, [r7, #4]
295 0x1fff01c8: ldr r0, [r7, #8]
296 0x1fff01ca: movs r1, #208 ; 0xd0
297 0x1fff01cc: bl 0x1fff11d4
298 0x1fff01d0: movs r2, #0
299 0x1fff01d2: movs r1, #3
300 0x1fff01d4: bl 0x1fff0d28
301 0x1fff01d8: ldr r0, [r4, #8]
302 0x1fff01da: lsrs r0, r0, #3
303 0x1fff01dc: lsls r0, r0, #3
304 0x1fff01de: str r0, [r4, #8]
305 0x1fff01e0: ldr r0, [r4, #8]
306 0x1fff01e2: orrs r0, r5
307 0x1fff01e4: str r0, [r4, #8]
308 0x1fff01e6: ldr r0, [r4, #12]
309 0x1fff01e8: lsrs r0, r0, #3
310 0x1fff01ea: lsls r0, r0, #3
311 0x1fff01ec: str r0, [r4, #12]
312 0x1fff01ee: ldr r0, [r4, #12]
313 0x1fff01f0: orrs r0, r5
314 0x1fff01f2: str r0, [r4, #12]
315 0x1fff01f4: ldr r0, [pc, #660] ; (0x1fff048c)
316 0x1fff01f6: bl 0x1ff0d9c setup_serial
317 0x1fff01fa: bl 0x1fff0de2
318 0x1fff01fe: ldr r0, [pc, #628] ; (0x1fff0474)
319 0x1fff0200: movs r2, #0
320 0x1fff0202: movs r1, #70 ; 0x46
321 0x1fff0204: subs r0, #152 ; 0x98
322 0x1fff0206: bl 0x1fff0e04
323 0x1fff020a: ldr r0, [pc, #616] ; (0x1fff0474)
324 0x1fff020c: ldr r1, [pc, #636] ; (0x1fff048c)
325 0x1fff020e: subs r0, #152 ; 0x98
326 0x1fff0210: bl 0x1fff0fb8
327 0x1fff0214: cmp r0, #0
328 0x1fff0216: beq.n 0x1fff022a
329 0x1fff0218: ldr r0, [r4, #8]
330 0x1fff021a: lsrs r0, r0, #3
331 0x1fff021c: lsls r0, r0, #3
332 0x1fff021e: str r0, [r4, #8]
333 0x1fff0220: ldr r0, [r4, #12]
334 0x1fff0222: lsrs r0, r0, #3
335 0x1fff0224: lsls r0, r0, #3
336 0x1fff0226: str r0, [r4, #12]
337 0x1fff0228: b.n 0x1fff01a6
338 0x1fff022a: pop {r3, r4, r5, r6, r7, pc}
339 0x1fff022c: ldr r0, [pc, #608] ; (0x1fff0490)
340 0x1fff022e: ldr r1, [r0, #0]
341 0x1fff0230: movs r2, #1
342 0x1fff0232: lsls r2, r2, #12
343 0x1fff0234: orrs r1, r2
344 0x1fff0236: str r1, [r0, #0]
345 0x1fff0238: movs r1, #1
346 0x1fff023a: str r1, [r0, #24]
347 0x1fff023c: ldr r1, [pc, #596] ; (0x1fff0494)
348 0x1fff023e: movs r0, #133 ; 0x85
349 0x1fff0240: str r0, [r1, #40] ; 0x28
350 0x1fff0242: ldr r0, [pc, #596] ; (0x1fff0498)
351 0x1fff0244: ldr r1, [r0, #0]
352 0x1fff0246: lsls r2, r2, #6
353 0x1fff0248: bics r1, r2
354 0x1fff024a: str r1, [r0, #0]
355 0x1fff024c: ldr r0, [pc, #568] ; (0x1fff0488)
356 0x1fff024e: ldr r1, [r0, #8]
357 0x1fff0250: lsrs r1, r1, #3
358 0x1fff0252: lsls r1, r1, #3
359 0x1fff0254: str r1, [r0, #8]
360 0x1fff0256: ldr r1, [r0, #8]
361 0x1fff0258: str r1, [r0, #8]
362 0x1fff025a: ldr r0, [pc, #576] ; (0x1fff049c)
363 0x1fff025c: ldr r1, [r0, #0]
364 0x1fff025e: bics r1, r2
365 0x1fff0260: str r1, [r0, #0]
371 0x1fff0264: bl 0x1fff022c
372 0x1fff0268: movs r0, #1
373 0x1fff026a: bl 0x1fff0e54
374 0x1fff026e: bl 0x1fff019c
375 0x1fff0272: ldr r0, [pc, #556] ; (0x1fff04a0) 1fff1f24
376 0x1fff0274: bl 0x1ff0d9c setup_serial
379 0x1fff0278: ldr r0, [pc, #504] ; (0x1fff0474) 100000f8
380 0x1fff027a: movs r2, #0
381 0x1fff027c: movs r1, #70 ; 0x46
382 0x1fff027e: subs r0, #152 ; 0x98
383 0x1fff0280: bl 0x1fff0e04
384 0x1fff0284: ldr r4, [pc, #496] ; (0x1fff0478)
385 0x1fff0286: ldr r0, [pc, #540] ; (0x1fff04a4)
386 0x1fff0288: str r0, [r4, #0]
387 0x1fff028a: ldr r0, [pc, #532] ; (0x1fff04a0)
388 0x1fff028c: bl 0x1ff0d9c setup_serial
389 0x1fff0290: movs r0, #1
390 0x1fff0292: ldr r1, [pc, #480] ; (0x1fff0474)
391 0x1fff0294: str r0, [r4, #4]
392 0x1fff0296: ldr r0, [pc, #476] ; (0x1fff0474)
393 0x1fff0298: subs r1, #80 ; 0x50
394 0x1fff029a: str r1, [r0, #0]
395 0x1fff029c: adds r1, #16
396 0x1fff029e: str r1, [r0, #4]
397 0x1fff02a0: adds r1, #16
398 0x1fff02a2: str r1, [r0, #8]
399 0x1fff02a4: adds r1, #16
400 0x1fff02a6: str r1, [r0, #12]
401 0x1fff02a8: adds r1, #16
402 0x1fff02aa: str r1, [r0, #16]
403 0x1fff02ac: bl 0x1fff00f4
412 0x1fff02b0: ldr r0, [pc, #476] ; (0x1fff0490) 40048080 SYSAHBCLKCTRL
413 0x1fff02b2: subs r0, #64 ; 0x40 SYSPLLCLKSEL
414 0x1fff02b4: ldr r3, [r0, #48] ; 0x30 MAINCLKSEL
420 0x1fff02b6: movs r1, #0
421 0x1fff02b8: movs r2, #1
422 0x1fff02ba: cmp r3, #0
423 0x1fff02bc: beq.n 0x1fff02c4
429 0x1fff02be: str r1, [r0, #48] ; 0x30 MAINCLKSEL
430 0x1fff02c0: str r1, [r0, #52] ; 0x34 MAINCLKUEN
431 0x1fff02c2: str r2, [r0, #52] ; 0x34 MAINCLKUEN
437 0x1fff02c4: str r2, [r0, #56] ; 0x38 SYSAHBCLKDIV
439 SYSAHBCLKCTRL |= 0x02010040
441 0x1fff02c6: ldr r0, [pc, #456] ; (0x1fff0490) 40048080 SYSAHBCLKCTRL
442 0x1fff02c8: ldr r2, [r0, #0]
443 0x1fff02ca: ldr r3, [pc, #476] ; (0x1fff04a8) 02010040
444 0x1fff02cc: orrs r2, r3
445 0x1fff02ce: str r2, [r0, #0]
453 0x1fff02d0: ldr r0, [pc, #432] ; (0x1fff0484) 40018000 CT32B1
454 0x1fff02d2: str r1, [r0, #12]
455 0x1fff02d4: str r1, [r0, #16]
456 0x1fff02d6: ldr r0, [pc, #428] ; (0x1fff0484) 40018000 CT32B1
457 0x1fff02d8: adds r0, #64 ; 0x40
458 0x1fff02da: ldr r1, [r0, #48] ; 0x30
459 0x1fff02dc: movs r2, #12
460 0x1fff02de: ands r1, r2
461 0x1fff02e0: str r1, [r0, #48] ; 0x30
467 0x1fff02e4: ldr r0, [pc, #452] ; (0x1fff04ac) 1fff00c8
468 0x1fff02e6: ldr r1, [pc, #400] ; (0x1fff0478) 10000050
469 0x1fff02e8: ldr r0, [r0, #0] 000002fc
470 0x1fff02ea: ldr r0, [r0, #0]
471 0x1fff02ec: str r0, [r1, #8]
472 0x1fff02ee: bl 0x1fff02b0 ; Set up clocks
473 0x1fff02f2: bl 0x1fff0264
479 0x1fff02f6: push {r4, r5, r6, lr}
481 Mash flash controller to change memory mapping around again
483 0x1fff02f8: ldr r1, [pc, #436] ; (0x1fff04b0) 4003c000 flash controller
484 0x1fff02fa: ldr r0, [r1, #0]
485 0x1fff02fc: movs r2, #64 ; 0x40
486 0x1fff02fe: orrs r0, r2
487 0x1fff0300: str r0, [r1, #0]
488 0x1fff0302: ldr r0, [pc, #432] ; (0x1fff04b4) 00000458
489 0x1fff0304: ldr r5, [pc, #392] ; (0x1fff0490) 40048080 system control block + 0x80
490 0x1fff0306: movs r3, #2
491 0x1fff0308: subs r5, #128 ; 0x80 system control block
492 0x1fff030a: ldr r4, [r0, #0] (00000458)
493 0x1fff030c: str r3, [r5, #0] scb[0] system memory remap
494 0x1fff030e: ldr r3, [pc, #424] ; (0x1fff04b8) 000005fc
495 0x1fff0310: ldr r0, [r0, #0] (00000458)
496 0x1fff0312: ldr r3, [r3, #0] (000005fc)
499 Mash flash controller to revert memory mapping change
501 0x1fff0314: ldr r6, [r1, #0] (4003c000)
502 0x1fff0316: bics r6, r2
503 0x1fff0318: str r6, [r1, #0]
506 Compute the application checksum
509 for (i = 0; i < 8; i++) {
514 0x1fff031a: movs r2, #0
515 0x1fff031c: mov r1, r2
516 0x1fff031e: lsls r6, r1, #2
517 0x1fff0320: ldr r6, [r0, r6]
518 0x1fff0322: adds r1, r1, #1
519 0x1fff0324: adds r2, r6, r2
520 0x1fff0326: cmp r1, #8
521 0x1fff0328: blt.n 0x1fff031e
523 Check and see if the application checksum is zero
525 0x1fff032a: cmp r2, #0
526 0x1fff032c: beq.n 0x1fff0334
527 0x1fff032e: movs r0, #0
528 0x1fff0330: str r0, [r5, #0]
530 Bail if the application isn't valid
534 0x1fff0332: pop {r4, r5, r6, pc}
537 Go start the application
539 0x1fff0334: ldr r0, [pc, #388] ; (0x1fff04bc) 1fff1ff8
540 0x1fff0336: ldr r0, [r0, #0] 1fff1f54
541 0x1fff0338: ldr r0, [r0, #12] (1fff1f60) 1fff1f34
542 0x1fff033a: ldr r1, [r0, #8] 1fff13dd
543 0x1fff033c: mov r0, r3
545 0x1fff0340: mov r0, r4
546 0x1fff0342: bl 0x1fff008c
547 0x1fff0346: pop {r4, r5, r6, pc}
551 0x1fff0348: bl 0x1fff02f6
552 0x1fff034c: bl 0x1fff02e4
554 called from 1fff0088. Appears to be the main entry, called
555 after the memory system and stack are set up
560 0x1fff0350: push {r0, r1, r2, r3, r4, lr}
562 Mash the flash cfg again to change memory mapping around
564 0x1fff0352: ldr r4, [pc, #348] ; (0x1fff04b0) 4003c000
565 0x1fff0354: ldr r0, [r4, #0]
566 0x1fff0356: movs r5, #64 ; 0x40
567 0x1fff0358: bics r0, r5
568 0x1fff035a: str r0, [r4, #0]
571 0x1fff035c: ldr r0, [pc, #332] ; (0x1fff04ac) 1fff00c8
572 0x1fff035e: ldr r0, [r0, #0] 000005ec
573 0x1fff0360: ldr r1, [r0, #0]
574 0x1fff0362: ldr r0, [pc, #276] ; (0x1fff0478) 10000050
575 0x1fff0364: str r1, [r0, #8]
576 0x1fff0366: ldr r0, [r4, #0]
577 0x1fff0368: orrs r0, r5
578 0x1fff036a: str r0, [r4, #0]
579 0x1fff036c: ldr r0, [pc, #336] ; (0x1fff04c0) 000005d0
580 0x1fff036e: ldr r1, [pc, #340] ; (0x1fff04c4) 3456abcd
581 0x1fff0370: ldr r0, [r0, #0]
582 0x1fff0372: cmp r0, r1
583 0x1fff0374: beq.n 0x1fff037e
584 0x1fff0376: ldr r0, [r4, #0]
585 0x1fff0378: bics r0, r5
586 0x1fff037a: str r0, [r4, #0]
587 0x1fff037c: b.n 0x1fff037c
590 0x1fff037e: ldr r0, [pc, #328] ; (0x1fff04c8) 000005ec
591 0x1fff0380: ldr r6, [pc, #268] ; (0x1fff0490) 40048080
592 0x1fff0382: ldr r0, [r0, #0]
593 0x1fff0384: ldr r1, [pc, #324] ; (0x1fff04cc) 534b4950
594 0x1fff0386: ldr r7, [pc, #328] ; (0x1fff04d0) 400483c0
595 0x1fff0388: adds r6, #192 ; 0xc0
596 0x1fff038a: cmp r0, r1
597 0x1fff038c: bne.n 0x1fff039e
598 0x1fff038e: ldr r0, [pc, #324] ; (0x1fff04d4) 12345678
599 0x1fff0390: str r0, [r7, #16]
600 0x1fff0392: ldr r0, [pc, #324] ; (0x1fff04d8) 000005e8
601 0x1fff0394: ldr r0, [r0, #0]
602 0x1fff0396: str r0, [r6, #32]
603 0x1fff0398: movs r0, #0
604 0x1fff039a: str r0, [r7, #16]
605 0x1fff039c: b.n 0x1fff03be
608 0x1fff039e: movs r1, #12
609 0x1fff03a0: ldr r0, [pc, #312] ; (0x1fff04dc) 000005f0
610 0x1fff03a2: str r1, [sp, #0]
611 0x1fff03a4: ldr r0, [r0, #0]
612 0x1fff03a6: str r0, [sp, #4]
613 0x1fff03a8: ldr r0, [pc, #272] ; (0x1fff04bc) 1fff1ff8
614 0x1fff03aa: str r1, [sp, #8]
615 0x1fff03ac: ldr r0, [r0, #0] 1fff1f54
616 0x1fff03ae: add r1, sp, #12
617 0x1fff03b0: ldr r0, [r0, #12] 1fff1f34
618 0x1fff03b2: ldr r2, [r0, #4] 1fff161d
619 0x1fff03b4: mov r0, sp
621 0x1fff03b8: ldr r0, [r4, #0]
622 0x1fff03ba: orrs r0, r5
623 0x1fff03bc: str r0, [r4, #0]
627 0x1fff03be: ldr r0, [pc, #288] ; (0x1fff04e0)
628 0x1fff03c0: ldr r0, [r0, #0]
629 0x1fff03c2: str r0, [r7, #56] ; 0x38
630 0x1fff03c4: ldr r0, [pc, #284] ; (0x1fff04e4)
631 0x1fff03c6: ldr r0, [r0, #0]
632 0x1fff03c8: str r0, [r7, #60] ; 0x3c
633 0x1fff03ca: ldr r0, [pc, #284] ; (0x1fff04e8)
634 0x1fff03cc: movs r1, #0
635 0x1fff03ce: ldr r0, [r0, #0]
636 0x1fff03d0: mvns r1, r1
637 0x1fff03d2: subs r0, #63 ; 0x3f
638 0x1fff03d4: str r1, [r0, #60] ; 0x3c
639 0x1fff03d6: ldr r2, [pc, #276] ; (0x1fff04ec)
640 0x1fff03d8: ldr r1, [pc, #180] ; (0x1fff0490)
641 0x1fff03da: ldr r0, [r2, #0]
642 0x1fff03dc: str r0, [r1, #0]
643 0x1fff03de: ldr r0, [pc, #272] ; (0x1fff04f0)
644 0x1fff03e0: ldr r0, [r0, #0]
645 0x1fff03e2: str r0, [r6, #20]
646 0x1fff03e4: ldr r0, [pc, #268] ; (0x1fff04f4)
647 0x1fff03e6: ldr r6, [pc, #168] ; (0x1fff0490)
648 0x1fff03e8: ldr r0, [r0, #0]
649 0x1fff03ea: subs r6, #128 ; 0x80
650 0x1fff03ec: str r0, [r6, #40] ; 0x28
651 0x1fff03ee: ldr r0, [r2, #0]
652 0x1fff03f0: lsls r3, r0, #20
653 0x1fff03f2: movs r0, #1
654 0x1fff03f4: cmp r3, #0
655 0x1fff03f6: bge.n 0x1fff03fa
656 0x1fff03f8: str r0, [r1, #20]
657 0x1fff03fa: ldr r3, [r2, #0]
658 0x1fff03fc: lsls r3, r3, #19
659 0x1fff03fe: bpl.n 0x1fff0402
660 0x1fff0400: str r0, [r1, #24]
661 0x1fff0402: ldr r1, [r2, #0]
662 0x1fff0404: lsls r3, r1, #17
663 0x1fff0406: ldr r1, [pc, #240] ; (0x1fff04f8)
664 0x1fff0408: bpl.n 0x1fff040c
665 0x1fff040a: str r0, [r1, #8]
666 0x1fff040c: ldr r2, [r2, #0]
667 0x1fff040e: lsls r2, r2, #16
668 0x1fff0410: bpl.n 0x1fff0414
669 0x1fff0412: str r0, [r1, #24]
670 0x1fff0414: ldr r0, [pc, #228] ; (0x1fff04fc) 000005c8
671 0x1fff0416: ldr r2, [r4, #0]
672 0x1fff0418: ldr r1, [r0, #0]
673 0x1fff041a: ldr r0, [pc, #228] ; (0x1fff0500) 000005cc
674 0x1fff041c: ldr r0, [r0, #0]
675 0x1fff041e: bics r2, r5
676 0x1fff0420: str r2, [r4, #0]
677 0x1fff0422: ldr r2, [pc, #224] ; (0x1fff0504) 20080620
678 0x1fff0424: cmp r1, r2
679 0x1fff0426: bne.n 0x1fff042c
680 0x1fff0428: bl 0x1fff0094 ; set sp to r0[0], jump to r0[4]
682 0x1fff042c: ldr r0, [r6, #48] ; 0x30
683 0x1fff042e: lsls r0, r0, #29
684 0x1fff0430: bmi.n 0x1fff0450
688 0x1fff0432: ldr r0, [pc, #76] ; (0x1fff0480) 50002100 GPIO PIN0 register
689 0x1fff0434: ldr r0, [r0, #0]
690 0x1fff0436: lsls r0, r0, #30
691 0x1fff0438: bmi.n 0x1fff0450
692 0x1fff043a: ldr r0, [pc, #60] ; (0x1fff0478)
693 0x1fff043c: ldr r1, [pc, #48] ; (0x1fff0470)
694 0x1fff043e: ldr r0, [r0, #8]
695 0x1fff0440: ldr r1, [r1, #0]
696 0x1fff0442: cmp r0, r1
697 0x1fff0444: beq.n 0x1fff0450
698 0x1fff0446: ldr r1, [pc, #192] ; (0x1fff0508)
699 0x1fff0448: cmp r0, r1
700 0x1fff044a: beq.n 0x1fff0450
701 0x1fff044c: bl 0x1fff02e4
705 0x1fff0450: bl 0x1fff0348
706 0x1fff0454: ldr r2, [pc, #44] ; (0x1fff0484)
707 0x1fff0456: movs r3, #2
708 0x1fff0458: str r3, [r2, #4]
709 0x1fff045a: movs r3, #1
710 0x1fff045c: str r3, [r2, #4]
711 0x1fff045e: muls r1, r0
712 0x1fff0460: ldr r0, [r2, #8]
713 0x1fff0462: cmp r0, r1
714 0x1fff0464: bcc.n 0x1fff0460
715 0x1fff0466: movs r0, #0
716 0x1fff0468: str r0, [r2, #4]
719 0x1fff0460: 0x42886890 0x2000d3fc 0x47706050 0x1fff00cc
720 0x1fff0470: 0x1fff00d0 0x100000f8 0x10000050 0x1fff00d4
721 0x1fff0480: 0x50002100 0x40018000 0x40044040 0x1fff1f10
722 0x1fff0490: 0x40048080 0x40008000 0x50002400 0x50002000
723 0x1fff04a0: 0x1fff1f24 0x00002ee0 0x02010440 0x1fff00c8
724 0x1fff04b0: 0x4003c000 0x00000458 0x000005fc 0x1fff1ff8
725 0x1fff04c0: 0x000005d0 0x3456abcd 0x000005ec 0x534b4950
726 0x1fff04d0: 0x400483c0 0x12345678 0x000005e8 0x000005f0
727 0x1fff04e0: 0x00000430 0x000005e0 0x0000043c 0x000005b0
728 0x1fff04f0: 0x000005b4 0x000005bc 0x400480c0 0x000005c8
729 0x1fff0500: 0x000005cc 0x20080620 0x4e697370 0x4dffb57f
730 0x1fff0510: 0x68a82264 0x9b004669 0xfdc5f000 0x0e240604
731 0x1fff0520: 0x6868d11d 0xa9012267 0xf0009b00 0x0604fdbc
732 0x1fff0530: 0xd1140e24 0x22692300 0x68e8a902 0xfdb3f000
733 0x1fff0540: 0x9802b2c4 0xd0012808 0xe008240c 0xd1062c00
734 0x1fff0550: 0x22692300 0x6928a903 0xfda5f000 0x220fb2c4
736 0x1fff046c: lsls r4, r1, #3
737 0x1fff046e: subs r7, r7, #7
738 0x1fff0470: lsls r0, r2, #3
739 0x1fff0472: subs r7, r7, #7
740 0x1fff0474: lsls r0, r7, #3
741 0x1fff0476: asrs r0, r0, #32
742 0x1fff0478: lsls r0, r2, #1
743 0x1fff047a: asrs r0, r0, #32
744 0x1fff047c: lsls r4, r2, #3
745 0x1fff047e: subs r7, r7, #7
746 0x1fff0480: movs r1, #0
747 0x1fff0482: str r0, [r0, r0]
748 0x1fff0484: strh r0, [r0, #0]
749 0x1fff0486: ands r1, r0
750 0x1fff0488: eors r0, r0
751 0x1fff048a: ands r4, r0
752 0x1fff048c: subs r0, r2, #4
753 0x1fff048e: subs r7, r7, #7
754 0x1fff0490: strh r0, [r0, #4]
755 0x1fff0492: ands r4, r0
756 0x1fff0494: strh r0, [r0, #0]
757 0x1fff0496: ands r0, r0
758 0x1fff0498: movs r4, #0
759 0x1fff049a: str r0, [r0, r0]
760 0x1fff049c: movs r0, #0
761 0x1fff049e: str r0, [r0, r0]
762 0x1fff04a0: subs r4, r4, #4
763 0x1fff04a2: subs r7, r7, #7
764 0x1fff04a4: cmp r6, #224 ; 0xe0
765 0x1fff04a6: movs r0, r0
766 0x1fff04a8: lsls r0, r0, #17
767 0x1fff04aa: lsls r1, r0, #8
768 0x1fff04ac: lsls r0, r1, #3
769 0x1fff04ae: subs r7, r7, #7
770 0x1fff04b0: stmia r0!, {}
771 0x1fff04b2: ands r3, r0
772 0x1fff04b4: lsls r0, r3, #17
773 0x1fff04b6: movs r0, r0
774 0x1fff04b8: lsls r4, r7, #23
775 0x1fff04ba: movs r0, r0
776 0x1fff04bc: subs r0, r7, #7
777 0x1fff04be: subs r7, r7, #7
778 0x1fff04c0: lsls r0, r2, #23
779 0x1fff04c2: movs r0, r0
780 0x1fff04c4: add r3, sp, #820 ; 0x334
781 0x1fff04c6: adds r4, #86 ; 0x56
782 0x1fff04c8: lsls r4, r5, #23
783 0x1fff04ca: movs r0, r0
784 0x1fff04cc: ldr r1, [pc, #320] ; (0x1fff0610)
785 0x1fff04ce: strh r3, [r1, r5]
786 0x1fff04d0: strh r0, [r0, #30]
787 0x1fff04d2: ands r4, r0
788 0x1fff04d4: ldrsb r0, [r7, r1]
789 0x1fff04d6: asrs r4, r6, #8
790 0x1fff04d8: lsls r0, r5, #23
791 0x1fff04da: movs r0, r0
792 0x1fff04dc: lsls r0, r6, #23
793 0x1fff04de: movs r0, r0
794 0x1fff04e0: lsls r0, r6, #16
795 0x1fff04e2: movs r0, r0
796 0x1fff04e4: lsls r0, r4, #23
797 0x1fff04e6: movs r0, r0
798 0x1fff04e8: lsls r4, r7, #16
799 0x1fff04ea: movs r0, r0
800 0x1fff04ec: lsls r0, r6, #22
801 0x1fff04ee: movs r0, r0
802 0x1fff04f0: lsls r4, r6, #22
803 0x1fff04f2: movs r0, r0
804 0x1fff04f4: lsls r4, r7, #22
805 0x1fff04f6: movs r0, r0
806 0x1fff04f8: strh r0, [r0, #6]
807 0x1fff04fa: ands r4, r0
808 0x1fff04fc: lsls r0, r1, #23
809 0x1fff04fe: movs r0, r0
810 0x1fff0500: lsls r4, r1, #23
811 0x1fff0502: movs r0, r0
812 0x1fff0504: lsls r0, r4, #24
813 0x1fff0506: movs r0, #8
814 0x1fff0508: strb r0, [r6, #13]
815 0x1fff050a: ldr r6, [pc, #420] ; (0x1fff06b0)
820 0x1fff050c: push {r0, r1, r2, r3, r4, r5, r6, lr}
821 0x1fff050e: ldr r5, [pc, #1020] ; (0x1fff090c)
822 0x1fff0510: movs r2, #100 ; 0x64
823 0x1fff0512: ldr r0, [r5, #8]
824 0x1fff0514: mov r1, sp
825 0x1fff0516: ldr r3, [sp, #0]
826 0x1fff0518: bl 0x1fff10a6
827 0x1fff051c: lsls r4, r0, #24
828 0x1fff051e: lsrs r4, r4, #24
829 0x1fff0520: bne.n 0x1fff055e
830 0x1fff0522: ldr r0, [r5, #4]
831 0x1fff0524: movs r2, #103 ; 0x67
832 0x1fff0526: add r1, sp, #4
833 0x1fff0528: ldr r3, [sp, #0]
834 0x1fff052a: bl 0x1fff10a6
835 0x1fff052e: lsls r4, r0, #24
836 0x1fff0530: lsrs r4, r4, #24
837 0x1fff0532: bne.n 0x1fff055e
838 0x1fff0534: movs r3, #0
839 0x1fff0536: movs r2, #105 ; 0x69
840 0x1fff0538: add r1, sp, #8
841 0x1fff053a: ldr r0, [r5, #12]
842 0x1fff053c: bl 0x1fff10a6
843 0x1fff0540: uxtb r4, r0
844 0x1fff0542: ldr r0, [sp, #8]
845 0x1fff0544: cmp r0, #8
846 0x1fff0546: beq.n 0x1fff054c
847 0x1fff0548: movs r4, #12
848 0x1fff054a: b.n 0x1fff055e
849 0x1fff054c: cmp r4, #0
850 0x1fff054e: bne.n 0x1fff055e
851 0x1fff0550: movs r3, #0
852 0x1fff0552: movs r2, #105 ; 0x69
853 0x1fff0554: add r1, sp, #12
854 0x1fff0556: ldr r0, [r5, #16]
855 0x1fff0558: bl 0x1fff10a6
856 0x1fff055c: uxtb r4, r0
857 0x1fff055e: movs r2, #15
858 0x1fff0560: mov r0, r4
859 0x1fff0562: ldr r1, [r5, #0]
860 0x1fff0564: bl 0x1fff1064
861 0x1fff0568: bl 0x1ff0d9c setup_serial
862 0x1fff056c: ldr r0, [pc, #928] ; (0x1fff0910)
863 0x1fff056e: cmp r4, #0
864 0x1fff0570: bne.n 0x1fff05a2
865 0x1fff0572: b.n 0x1fff059c
866 0x1fff0574: ldr r1, [sp, #12]
867 0x1fff0576: cmp r1, #0
868 0x1fff0578: beq.n 0x1fff0586
869 0x1fff057a: ldr r1, [r0, #4]
870 0x1fff057c: lsls r1, r1, #23
871 0x1fff057e: bpl.n 0x1fff057a
872 0x1fff0580: ldr r1, [r0, #4]
873 0x1fff0582: lsls r1, r1, #23
874 0x1fff0584: bmi.n 0x1fff0580
875 0x1fff0586: ldr r1, [sp, #8]
876 0x1fff0588: cmp r1, #8
877 0x1fff058a: bne.n 0x1fff059c
878 0x1fff058c: ldr r2, [r0, #4]
879 0x1fff058e: ldr r1, [sp, #4]
880 0x1fff0590: strb r2, [r1, #0]
881 0x1fff0592: adds r1, r1, #1
882 0x1fff0594: str r1, [sp, #4]
883 0x1fff0596: ldr r1, [sp, #0]
884 0x1fff0598: subs r1, r1, #1
885 0x1fff059a: str r1, [sp, #0]
886 0x1fff059c: ldr r1, [sp, #0]
887 0x1fff059e: cmp r1, #0
888 0x1fff05a0: bne.n 0x1fff0574
889 0x1fff05a2: pop {r0, r1, r2, r3, r4, r5, r6, pc}
894 0x1fff05a4: push {r4, r5, r6, lr}
895 0x1fff05a6: ldr r5, [pc, #868] ; (0x1fff090c)
896 0x1fff05a8: ldr r6, [pc, #872] ; (0x1fff0914)
897 0x1fff05aa: movs r3, #0
898 0x1fff05ac: movs r2, #105 ; 0x69
899 0x1fff05ae: adds r1, r6, #4
900 0x1fff05b0: ldr r0, [r5, #4]
901 0x1fff05b2: bl 0x1fff10a6
902 0x1fff05b6: mov r4, r6
903 0x1fff05b8: adds r4, #20
904 0x1fff05ba: str r0, [r4, #0]
905 0x1fff05bc: cmp r0, #0
906 0x1fff05be: bne.n 0x1fff05f4
907 0x1fff05c0: mov r1, r4
908 0x1fff05c2: movs r3, #0
909 0x1fff05c4: movs r2, #105 ; 0x69
910 0x1fff05c6: subs r1, #12
911 0x1fff05c8: ldr r0, [r5, #8]
912 0x1fff05ca: bl 0x1fff10a6
913 0x1fff05ce: str r0, [r4, #0]
914 0x1fff05d0: cmp r0, #0
915 0x1fff05d2: bne.n 0x1fff05f4
916 0x1fff05d4: mov r1, r4
917 0x1fff05d6: movs r3, #0
918 0x1fff05d8: movs r2, #105 ; 0x69
919 0x1fff05da: subs r1, #8
920 0x1fff05dc: ldr r0, [r5, #12]
921 0x1fff05de: bl 0x1fff10a6
922 0x1fff05e2: str r0, [r4, #0]
923 0x1fff05e4: cmp r0, #0
924 0x1fff05e6: bne.n 0x1fff05f4
925 0x1fff05e8: movs r0, #56 ; 0x38
926 0x1fff05ea: str r0, [r6, #0]
927 0x1fff05ec: mov r1, r4
928 0x1fff05ee: mov r0, r6
929 0x1fff05f0: bl 0x1fff1ff0
930 0x1fff05f4: ldr r1, [r5, #4]
931 0x1fff05f6: movs r2, #15
932 0x1fff05f8: ldr r0, [r4, #0]
933 0x1fff05fa: bl 0x1fff1064
934 0x1fff05fe: bl 0x1ff0d9c setup_serial
935 0x1fff0602: ldr r0, [r4, #0]
936 0x1fff0604: cmp r0, #10
937 0x1fff0606: bne.n 0x1fff0616
938 0x1fff0608: ldr r1, [r5, #4]
939 0x1fff060a: movs r2, #15
940 0x1fff060c: ldr r0, [r4, #4]
941 0x1fff060e: bl 0x1fff1064
942 0x1fff0612: bl 0x1ff0d9c setup_serial
943 0x1fff0616: pop {r4, r5, r6, pc}
947 0x1fff0618: push {r4, r5, r6, lr}
948 0x1fff061a: ldr r5, [pc, #752] ; (0x1fff090c)
949 0x1fff061c: ldr r6, [pc, #756] ; (0x1fff0914)
950 0x1fff061e: movs r3, #0
951 0x1fff0620: movs r2, #105 ; 0x69
952 0x1fff0622: adds r1, r6, #4
953 0x1fff0624: ldr r0, [r5, #4]
954 0x1fff0626: bl 0x1fff10a6
955 0x1fff062a: mov r4, r6
956 0x1fff062c: adds r4, #20
957 0x1fff062e: str r0, [r4, #0]
958 0x1fff0630: cmp r0, #0
959 0x1fff0632: bne.n 0x1fff0654
960 0x1fff0634: mov r1, r4
961 0x1fff0636: movs r3, #0
962 0x1fff0638: movs r2, #105 ; 0x69
963 0x1fff063a: subs r1, #12
964 0x1fff063c: ldr r0, [r5, #8]
965 0x1fff063e: bl 0x1fff10a6
966 0x1fff0642: str r0, [r4, #0]
967 0x1fff0644: cmp r0, #0
968 0x1fff0646: bne.n 0x1fff0654
969 0x1fff0648: movs r0, #53 ; 0x35
970 0x1fff064a: str r0, [r6, #0]
971 0x1fff064c: mov r1, r4
972 0x1fff064e: mov r0, r6
973 0x1fff0650: bl 0x1fff1ff0
974 0x1fff0654: ldr r1, [r5, #4]
975 0x1fff0656: movs r2, #15
976 0x1fff0658: ldr r0, [r4, #0]
977 0x1fff065a: bl 0x1fff1064
978 0x1fff065e: bl 0x1ff0d9c setup_serial
979 0x1fff0662: ldr r0, [r4, #0]
980 0x1fff0664: cmp r0, #8
981 0x1fff0666: bne.n 0x1fff06a6
982 0x1fff0668: ldr r0, [pc, #684] ; (0x1fff0918)
983 0x1fff066a: ldr r1, [pc, #688] ; (0x1fff091c)
984 0x1fff066c: ldr r0, [r0, #0]
985 0x1fff066e: ldr r1, [r1, #0]
986 0x1fff0670: cmp r0, r1
987 0x1fff0672: beq.n 0x1fff0684
988 0x1fff0674: ldr r1, [pc, #680] ; (0x1fff0920)
989 0x1fff0676: ldr r1, [r1, #0]
990 0x1fff0678: cmp r0, r1
991 0x1fff067a: beq.n 0x1fff0684
992 0x1fff067c: ldr r1, [pc, #676] ; (0x1fff0924)
993 0x1fff067e: ldr r1, [r1, #0]
994 0x1fff0680: cmp r0, r1
995 0x1fff0682: bne.n 0x1fff068a
996 0x1fff0684: movs r0, #0
997 0x1fff0686: str r0, [r4, #4]
998 0x1fff0688: str r0, [r4, #8]
999 0x1fff068a: ldr r1, [r5, #4]
1000 0x1fff068c: movs r2, #15
1001 0x1fff068e: ldr r0, [r4, #4]
1002 0x1fff0690: bl 0x1fff1064
1003 0x1fff0694: bl 0x1ff0d9c setup_serial
1004 0x1fff0698: ldr r1, [r5, #4]
1005 0x1fff069a: movs r2, #15
1006 0x1fff069c: ldr r0, [r4, #8]
1007 0x1fff069e: bl 0x1fff1064
1008 0x1fff06a2: bl 0x1ff0d9c setup_serial
1009 0x1fff06a6: pop {r4, r5, r6, pc}
1013 0x1fff06a8: push {r3, r4, r5, r6, r7, lr}
1014 0x1fff06aa: ldr r0, [pc, #636] ; (0x1fff0928)
1015 0x1fff06ac: ldr r1, [pc, #604] ; (0x1fff090c)
1016 0x1fff06ae: ldr r2, [r0, #0]
1017 0x1fff06b0: ldr r0, [r1, #4]
1018 0x1fff06b2: cmp r2, #1
1019 0x1fff06b4: beq.n 0x1fff06ce
1020 0x1fff06b6: ldr r4, [pc, #604] ; (0x1fff0914)
1021 0x1fff06b8: movs r3, #0
1022 0x1fff06ba: movs r2, #105 ; 0x69
1023 0x1fff06bc: adds r1, r4, #4
1024 0x1fff06be: bl 0x1fff10a6
1025 0x1fff06c2: mov r5, r4
1026 0x1fff06c4: adds r5, #20
1027 0x1fff06c6: str r0, [r5, #0]
1028 0x1fff06c8: cmp r0, #0
1029 0x1fff06ca: beq.n 0x1fff06d6
1030 0x1fff06cc: b.n 0x1fff06e8
1031 0x1fff06ce: movs r2, #15
1032 0x1fff06d0: mov r1, r0
1033 0x1fff06d2: mov r0, r2
1034 0x1fff06d4: b.n 0x1fff0784
1035 0x1fff06d6: ldr r0, [pc, #564] ; (0x1fff090c)
1036 0x1fff06d8: ldr r1, [pc, #568] ; (0x1fff0914)
1037 0x1fff06da: ldr r0, [r0, #8]
1038 0x1fff06dc: movs r3, #0
1039 0x1fff06de: movs r2, #105 ; 0x69
1040 0x1fff06e0: adds r1, #8
1041 0x1fff06e2: bl 0x1fff10a6
1042 0x1fff06e6: str r0, [r5, #0]
1043 0x1fff06e8: ldr r0, [pc, #556] ; (0x1fff0918)
1044 0x1fff06ea: ldr r1, [pc, #560] ; (0x1fff091c)
1045 0x1fff06ec: ldr r0, [r0, #0]
1046 0x1fff06ee: ldr r1, [r1, #0]
1047 0x1fff06f0: movs r2, #19
1048 0x1fff06f2: ldr r6, [pc, #568] ; (0x1fff092c)
1049 0x1fff06f4: movs r7, #64 ; 0x40
1050 0x1fff06f6: cmp r0, r1
1051 0x1fff06f8: beq.n 0x1fff0702
1052 0x1fff06fa: ldr r1, [pc, #548] ; (0x1fff0920)
1053 0x1fff06fc: ldr r1, [r1, #0]
1054 0x1fff06fe: cmp r0, r1
1055 0x1fff0700: bne.n 0x1fff071c
1056 0x1fff0702: ldr r0, [r6, #0]
1057 0x1fff0704: orrs r0, r7
1058 0x1fff0706: str r0, [r6, #0]
1059 0x1fff0708: ldr r0, [r4, #4]
1060 0x1fff070a: cmp r0, #0
1061 0x1fff070c: bne.n 0x1fff0718
1062 0x1fff070e: ldr r0, [pc, #544] ; (0x1fff0930)
1063 0x1fff0710: ldr r1, [r4, #8]
1064 0x1fff0712: ldr r0, [r0, #0]
1065 0x1fff0714: cmp r1, r0
1066 0x1fff0716: beq.n 0x1fff0730
1067 0x1fff0718: str r2, [r5, #0]
1068 0x1fff071a: b.n 0x1fff0730
1069 0x1fff071c: ldr r1, [pc, #516] ; (0x1fff0924)
1070 0x1fff071e: ldr r1, [r1, #0]
1071 0x1fff0720: cmp r0, r1
1072 0x1fff0722: bne.n 0x1fff0736
1073 0x1fff0724: ldr r0, [r6, #0]
1074 0x1fff0726: orrs r0, r7
1075 0x1fff0728: str r0, [r6, #0]
1076 0x1fff072a: ldr r0, [r4, #4]
1077 0x1fff072c: cmp r0, #0
1078 0x1fff072e: beq.n 0x1fff070e
1079 0x1fff0730: ldr r0, [r6, #0]
1080 0x1fff0732: bics r0, r7
1081 0x1fff0734: str r0, [r6, #0]
1082 0x1fff0736: ldr r0, [r5, #0]
1083 0x1fff0738: cmp r0, #0
1084 0x1fff073a: bne.n 0x1fff0750
1085 0x1fff073c: movs r0, #52 ; 0x34
1086 0x1fff073e: str r0, [r4, #0]
1087 0x1fff0740: ldr r0, [pc, #496] ; (0x1fff0934)
1088 0x1fff0742: ldr r1, [pc, #464] ; (0x1fff0914)
1089 0x1fff0744: ldr r0, [r0, #0]
1090 0x1fff0746: str r0, [r4, #12]
1091 0x1fff0748: adds r1, #20
1092 0x1fff074a: ldr r0, [pc, #456] ; (0x1fff0914)
1093 0x1fff074c: bl 0x1fff1ff0
1094 0x1fff0750: ldr r0, [r6, #0]
1095 0x1fff0752: orrs r0, r7
1096 0x1fff0754: str r0, [r6, #0]
1097 0x1fff0756: ldr r0, [r4, #4]
1098 0x1fff0758: cmp r0, #0
1099 0x1fff075a: bne.n 0x1fff0776
1100 0x1fff075c: ldr r0, [pc, #464] ; (0x1fff0930)
1101 0x1fff075e: ldr r1, [r4, #8]
1102 0x1fff0760: ldr r0, [r0, #0]
1103 0x1fff0762: cmp r1, r0
1104 0x1fff0764: bne.n 0x1fff0776
1105 0x1fff0766: ldr r0, [r6, #0]
1106 0x1fff0768: bics r0, r7
1107 0x1fff076a: str r0, [r6, #0]
1108 0x1fff076c: ldr r0, [pc, #456] ; (0x1fff0938)
1109 0x1fff076e: ldr r0, [r0, #0]
1110 0x1fff0770: ldr r1, [r0, #0]
1111 0x1fff0772: ldr r0, [pc, #420] ; (0x1fff0918)
1112 0x1fff0774: str r1, [r0, #0]
1113 0x1fff0776: ldr r0, [r6, #0]
1114 0x1fff0778: bics r0, r7
1115 0x1fff077a: str r0, [r6, #0]
1116 0x1fff077c: ldr r0, [pc, #396] ; (0x1fff090c)
1117 0x1fff077e: movs r2, #15
1118 0x1fff0780: ldr r1, [r0, #4]
1119 0x1fff0782: ldr r0, [r5, #0]
1120 0x1fff0784: bl 0x1fff1064
1121 0x1fff0788: bl 0x1ff0d9c setup_serial
1122 0x1fff078c: pop {r3, r4, r5, r6, r7, pc}
1126 0x1fff078e: push {r4, r5, r6, lr}
1127 0x1fff0790: ldr r0, [pc, #404] ; (0x1fff0928)
1128 0x1fff0792: ldr r5, [pc, #376] ; (0x1fff090c)
1129 0x1fff0794: ldr r1, [r0, #0]
1130 0x1fff0796: ldr r0, [r5, #4]
1131 0x1fff0798: cmp r1, #1
1132 0x1fff079a: beq.n 0x1fff07b4
1133 0x1fff079c: ldr r4, [pc, #372] ; (0x1fff0914)
1134 0x1fff079e: movs r3, #0
1135 0x1fff07a0: movs r2, #105 ; 0x69
1136 0x1fff07a2: adds r1, r4, #4
1137 0x1fff07a4: bl 0x1fff10a6
1138 0x1fff07a8: mov r6, r4
1139 0x1fff07aa: adds r6, #20
1140 0x1fff07ac: str r0, [r6, #0]
1141 0x1fff07ae: cmp r0, #0
1142 0x1fff07b0: beq.n 0x1fff07bc
1143 0x1fff07b2: b.n 0x1fff07e0
1144 0x1fff07b4: movs r2, #15
1145 0x1fff07b6: mov r1, r0
1146 0x1fff07b8: mov r0, r2
1147 0x1fff07ba: b.n 0x1fff082a
1148 0x1fff07bc: ldr r1, [pc, #340] ; (0x1fff0914)
1149 0x1fff07be: movs r3, #0
1150 0x1fff07c0: movs r2, #105 ; 0x69
1151 0x1fff07c2: adds r1, #8
1152 0x1fff07c4: ldr r0, [r5, #8]
1153 0x1fff07c6: bl 0x1fff10a6
1154 0x1fff07ca: str r0, [r6, #0]
1155 0x1fff07cc: cmp r0, #0
1156 0x1fff07ce: bne.n 0x1fff07e0
1157 0x1fff07d0: ldr r1, [pc, #320] ; (0x1fff0914)
1158 0x1fff07d2: movs r3, #0
1159 0x1fff07d4: movs r2, #105 ; 0x69
1160 0x1fff07d6: adds r1, #12
1161 0x1fff07d8: ldr r0, [r5, #12]
1162 0x1fff07da: bl 0x1fff10a6
1163 0x1fff07de: str r0, [r6, #0]
1164 0x1fff07e0: ldr r0, [pc, #308] ; (0x1fff0918)
1165 0x1fff07e2: ldr r1, [pc, #320] ; (0x1fff0924)
1166 0x1fff07e4: ldr r0, [r0, #0]
1167 0x1fff07e6: ldr r1, [r1, #0]
1168 0x1fff07e8: cmp r0, r1
1169 0x1fff07ea: bne.n 0x1fff080a
1170 0x1fff07ec: ldr r0, [pc, #316] ; (0x1fff092c)
1171 0x1fff07ee: ldr r1, [r0, #0]
1172 0x1fff07f0: movs r2, #64 ; 0x40
1173 0x1fff07f2: orrs r1, r2
1174 0x1fff07f4: str r1, [r0, #0]
1175 0x1fff07f6: ldr r3, [pc, #324] ; (0x1fff093c)
1176 0x1fff07f8: ldr r1, [r4, #4]
1177 0x1fff07fa: ldr r3, [r3, #0]
1178 0x1fff07fc: cmp r1, r3
1179 0x1fff07fe: bcs.n 0x1fff0804
1180 0x1fff0800: movs r1, #19
1181 0x1fff0802: str r1, [r6, #0]
1182 0x1fff0804: ldr r1, [r0, #0]
1183 0x1fff0806: bics r1, r2
1184 0x1fff0808: str r1, [r0, #0]
1185 0x1fff080a: ldr r0, [r6, #0]
1186 0x1fff080c: cmp r0, #0
1187 0x1fff080e: bne.n 0x1fff0824
1188 0x1fff0810: movs r0, #51 ; 0x33
1189 0x1fff0812: str r0, [r4, #0]
1190 0x1fff0814: ldr r0, [pc, #284] ; (0x1fff0934)
1191 0x1fff0816: ldr r1, [pc, #252] ; (0x1fff0914)
1192 0x1fff0818: ldr r0, [r0, #0]
1193 0x1fff081a: str r0, [r4, #16]
1194 0x1fff081c: adds r1, #20
1195 0x1fff081e: ldr r0, [pc, #244] ; (0x1fff0914)
1196 0x1fff0820: bl 0x1fff1ff0
1197 0x1fff0824: ldr r1, [r5, #4]
1198 0x1fff0826: movs r2, #15
1199 0x1fff0828: ldr r0, [r6, #0]
1200 0x1fff082a: bl 0x1fff1064
1201 0x1fff082e: bl 0x1ff0d9c setup_serial
1202 0x1fff0832: pop {r4, r5, r6, pc}
1206 0x1fff0834: push {r4, r5, r6, lr}
1207 0x1fff0836: ldr r5, [pc, #212] ; (0x1fff090c)
1208 0x1fff0838: ldr r6, [pc, #216] ; (0x1fff0914)
1209 0x1fff083a: movs r3, #0
1210 0x1fff083c: movs r2, #105 ; 0x69
1211 0x1fff083e: adds r1, r6, #4
1212 0x1fff0840: ldr r0, [r5, #4]
1213 0x1fff0842: bl 0x1fff10a6
1214 0x1fff0846: mov r4, r6
1215 0x1fff0848: adds r4, #20
1216 0x1fff084a: str r0, [r4, #0]
1217 0x1fff084c: cmp r0, #0
1218 0x1fff084e: bne.n 0x1fff0870
1219 0x1fff0850: mov r1, r4
1220 0x1fff0852: movs r3, #0
1221 0x1fff0854: movs r2, #105 ; 0x69
1222 0x1fff0856: subs r1, #12
1223 0x1fff0858: ldr r0, [r5, #8]
1224 0x1fff085a: bl 0x1fff10a6
1225 0x1fff085e: str r0, [r4, #0]
1226 0x1fff0860: cmp r0, #0
1227 0x1fff0862: bne.n 0x1fff0870
1228 0x1fff0864: movs r0, #50 ; 0x32
1229 0x1fff0866: str r0, [r6, #0]
1230 0x1fff0868: mov r1, r4
1231 0x1fff086a: mov r0, r6
1232 0x1fff086c: bl 0x1fff1ff0
1233 0x1fff0870: ldr r1, [r5, #4]
1234 0x1fff0872: movs r2, #15
1235 0x1fff0874: ldr r0, [r4, #0]
1236 0x1fff0876: bl 0x1fff1064
1237 0x1fff087a: bl 0x1ff0d9c setup_serial
1238 0x1fff087e: pop {r4, r5, r6, pc}
1243 0x1fff0880: push {r3, r4, r5, lr}
1244 0x1fff0882: ldr r5, [pc, #136] ; (0x1fff090c)
1245 0x1fff0884: movs r3, #0
1246 0x1fff0886: movs r2, #105 ; 0x69
1247 0x1fff0888: mov r1, sp
1248 0x1fff088a: ldr r0, [r5, #4]
1249 0x1fff088c: bl 0x1fff10a6
1250 0x1fff0890: uxtb r4, r0
1251 0x1fff0892: movs r2, #15
1252 0x1fff0894: mov r0, r4
1253 0x1fff0896: ldr r1, [r5, #4]
1254 0x1fff0898: bl 0x1fff1064
1255 0x1fff089c: bl 0x1ff0d9c setup_serial
1256 0x1fff08a0: cmp r4, #0
1257 0x1fff08a2: bne.n 0x1fff08b0
1258 0x1fff08a4: ldr r0, [sp, #0]
1259 0x1fff08a6: cmp r0, #0
1260 0x1fff08a8: beq.n 0x1fff08ac
1261 0x1fff08aa: movs r0, #1
1262 0x1fff08ac: bl 0x1fff0e54
1263 0x1fff08b0: pop {r3, r4, r5, pc}
1268 0x1fff08b2: push {r2, r3, r4, r5, r6, lr}
1269 0x1fff08b4: ldr r5, [pc, #84] ; (0x1fff090c) 100000f8
1270 0x1fff08b6: movs r3, #0
1271 0x1fff08b8: movs r2, #105 ; 0x69
1272 0x1fff08ba: add r1, sp, #4
1273 0x1fff08bc: ldr r0, [r5, #4]
1274 0x1fff08be: bl 0x1fff10a6
1275 0x1fff08c2: movs r3, #0
1276 0x1fff08c4: movs r2, #105 ; 0x69
1277 0x1fff08c6: mov r1, sp
1278 0x1fff08c8: ldr r0, [r5, #8]
1279 0x1fff08ca: bl 0x1fff10a6
1280 0x1fff08ce: lsls r4, r0, #24
1281 0x1fff08d0: lsrs r4, r4, #24
1282 0x1fff08d2: bne.n 0x1fff0942
1283 0x1fff08d4: movs r0, #75 ; 0x4b
1284 0x1fff08d6: ldr r1, [sp, #4]
1285 0x1fff08d8: lsls r0, r0, #7
1286 0x1fff08da: cmp r1, r0
1287 0x1fff08dc: beq.n 0x1fff0900
1288 0x1fff08de: lsls r0, r0, #1
1289 0x1fff08e0: cmp r1, r0
1290 0x1fff08e2: beq.n 0x1fff0900
1291 0x1fff08e4: lsls r0, r0, #1
1292 0x1fff08e6: cmp r1, r0
1293 0x1fff08e8: beq.n 0x1fff0900
1294 0x1fff08ea: movs r0, #225 ; 0xe1
1295 0x1fff08ec: lsls r0, r0, #8
1296 0x1fff08ee: cmp r1, r0
1297 0x1fff08f0: beq.n 0x1fff0900
1298 0x1fff08f2: lsls r0, r0, #1
1299 0x1fff08f4: cmp r1, r0
1300 0x1fff08f6: beq.n 0x1fff0900
1301 0x1fff08f8: lsls r0, r0, #1
1302 0x1fff08fa: cmp r1, r0
1303 0x1fff08fc: beq.n 0x1fff0900
1304 0x1fff08fe: movs r4, #17
1305 0x1fff0900: ldr r0, [sp, #0]
1306 0x1fff0902: cmp r0, #1
1307 0x1fff0904: beq.n 0x1fff0942
1308 0x1fff0906: cmp r0, #2
1309 0x1fff0908: beq.n 0x1fff0942
1310 0x1fff090a: b.n 0x1fff0940
1314 0x1fff0900: 0x28019800 0x2802d01d 0xe019d01b 0x100000f8
1315 0x1fff0910: 0x50002100 0x1000010c 0x10000058 0x1fff00cc
1316 0x1fff0920: 0x1fff00d0 0x1fff00d4 0x10000054 0x4003c000
1317 0x1fff0930: 0x00000440 0x10000050 0x1fff00c8 0x00000520
1318 0x1fff0940: 0x220f2412 0x68694620 0xfb8cf000 0xfa26f000
1320 0x1fff090c: lsls r0, r7, #3
1321 0x1fff090e: asrs r0, r0, #32
1322 0x1fff0910: movs r1, #0
1323 0x1fff0912: str r0, [r0, r0]
1324 0x1fff0914: lsls r4, r1, #4
1325 0x1fff0916: asrs r0, r0, #32
1326 0x1fff0918: lsls r0, r3, #1
1327 0x1fff091a: asrs r0, r0, #32
1328 0x1fff091c: lsls r4, r1, #3
1329 0x1fff091e: subs r7, r7, #7
1330 0x1fff0920: lsls r0, r2, #3
1331 0x1fff0922: subs r7, r7, #7
1332 0x1fff0924: lsls r4, r2, #3
1333 0x1fff0926: subs r7, r7, #7
1334 0x1fff0928: lsls r4, r2, #1
1335 0x1fff092a: asrs r0, r0, #32
1336 0x1fff092c: stmia r0!, {}
1337 0x1fff092e: ands r3, r0
1338 0x1fff0930: lsls r0, r0, #17
1339 0x1fff0932: movs r0, r0
1340 0x1fff0934: lsls r0, r2, #1
1341 0x1fff0936: asrs r0, r0, #32
1342 0x1fff0938: lsls r0, r1, #3
1343 0x1fff093a: subs r7, r7, #7
1344 0x1fff093c: lsls r0, r4, #20
1345 0x1fff093e: movs r0, r0
1347 0x1fff0940: movs r4, #18
1348 0x1fff0942: movs r2, #15
1349 0x1fff0944: mov r0, r4
1350 0x1fff0946: ldr r1, [r5, #4]
1351 0x1fff0948: bl 0x1fff1064
1352 0x1fff094c: bl 0x1ff0d9c setup_serial
1353 0x1fff0950: cmp r4, #0
1354 0x1fff0952: bne.n 0x1fff0960
1355 0x1fff0954: ldr r0, [pc, #920] ; (0x1fff0cf0)
1356 0x1fff0956: ldr r1, [sp, #0]
1357 0x1fff0958: ldr r2, [r0, #0]
1358 0x1fff095a: ldr r0, [sp, #4]
1359 0x1fff095c: bl 0x1fff0d28
1360 0x1fff0960: pop {r2, r3, r4, r5, r6, pc}
1364 0x1fff0962: push {r3, r4, r5, lr}
1365 0x1fff0964: ldr r4, [pc, #908] ; (0x1fff0cf4)
1366 0x1fff0966: movs r3, #0
1367 0x1fff0968: movs r2, #105 ; 0x69
1368 0x1fff096a: mov r1, sp
1369 0x1fff096c: ldr r0, [r4, #4]
1370 0x1fff096e: bl 0x1fff10a6
1371 0x1fff0972: lsls r0, r0, #24
1372 0x1fff0974: lsrs r0, r0, #24
1373 0x1fff0976: bne.n 0x1fff098a
1374 0x1fff0978: ldr r2, [pc, #892] ; (0x1fff0cf8)
1375 0x1fff097a: ldr r1, [sp, #0]
1376 0x1fff097c: cmp r1, r2
1377 0x1fff097e: bne.n 0x1fff0988
1378 0x1fff0980: ldr r2, [pc, #888] ; (0x1fff0cfc)
1379 0x1fff0982: movs r1, #0
1380 0x1fff0984: str r1, [r2, #0]
1381 0x1fff0986: b.n 0x1fff098a
1382 0x1fff0988: movs r0, #16
1383 0x1fff098a: movs r2, #15
1384 0x1fff098c: ldr r1, [r4, #4]
1385 0x1fff098e: bl 0x1fff1064
1386 0x1fff0992: bl 0x1ff0d9c setup_serial
1387 0x1fff0996: pop {r3, r4, r5, pc}
1391 0x1fff0998: push {r3, r4, r5, lr}
1392 0x1fff099a: ldr r0, [pc, #864] ; (0x1fff0cfc)
1393 0x1fff099c: ldr r5, [pc, #852] ; (0x1fff0cf4)
1394 0x1fff099e: ldr r0, [r0, #0]
1395 0x1fff09a0: cmp r0, #0
1396 0x1fff09a2: beq.n 0x1fff09a8
1397 0x1fff09a4: movs r4, #15
1398 0x1fff09a6: b.n 0x1fff09dc
1399 0x1fff09a8: movs r4, #0
1400 0x1fff09aa: ldr r0, [pc, #852] ; (0x1fff0d00)
1401 0x1fff09ac: ldr r1, [r5, #4]
1402 0x1fff09ae: bl 0x1fff0fb8
1403 0x1fff09b2: cmp r0, #0
1404 0x1fff09b4: beq.n 0x1fff09ca
1405 0x1fff09b6: movs r3, #0
1406 0x1fff09b8: movs r2, #102 ; 0x66
1407 0x1fff09ba: mov r1, sp
1408 0x1fff09bc: ldr r0, [r5, #4]
1409 0x1fff09be: bl 0x1fff10a6
1410 0x1fff09c2: lsls r4, r0, #24
1411 0x1fff09c4: lsrs r4, r4, #24
1412 0x1fff09c6: beq.n 0x1fff09ce
1413 0x1fff09c8: b.n 0x1fff09dc
1414 0x1fff09ca: ldr r0, [pc, #824] ; (0x1fff0d04)
1415 0x1fff09cc: str r0, [sp, #0]
1416 0x1fff09ce: ldr r0, [r5, #8]
1417 0x1fff09d0: ldrb r0, [r0, #0]
1418 0x1fff09d2: cmp r0, #84 ; 0x54
1419 0x1fff09d4: beq.n 0x1fff09f4
1420 0x1fff09d6: cmp r0, #65 ; 0x41
1421 0x1fff09d8: beq.n 0x1fff09dc
1422 0x1fff09da: movs r4, #12
1423 0x1fff09dc: movs r2, #15
1424 0x1fff09de: mov r0, r4
1425 0x1fff09e0: ldr r1, [r5, #4]
1426 0x1fff09e2: bl 0x1fff1064
1427 0x1fff09e6: bl 0x1ff0d9c setup_serial
1428 0x1fff09ea: cmp r4, #0
1429 0x1fff09ec: bne.n 0x1fff09f2
1430 0x1fff09ee: ldr r0, [sp, #0]
1432 0x1fff09f2: pop {r3, r4, r5, pc}
1433 0x1fff09f4: ldr r0, [sp, #0]
1434 0x1fff09f6: movs r1, #1
1435 0x1fff09f8: orrs r0, r1
1436 0x1fff09fa: str r0, [sp, #0]
1437 0x1fff09fc: b.n 0x1fff09dc
1441 0x1fff09fe: push {r4, r5, r6, r7, lr}
1442 0x1fff0a00: ldr r5, [pc, #752] ; (0x1fff0cf4)
1443 0x1fff0a02: sub sp, #20
1444 0x1fff0a04: movs r3, #0
1445 0x1fff0a06: movs r2, #100 ; 0x64
1446 0x1fff0a08: add r1, sp, #4
1447 0x1fff0a0a: ldr r0, [r5, #8]
1448 0x1fff0a0c: bl 0x1fff10a6
1449 0x1fff0a10: lsls r4, r0, #24
1450 0x1fff0a12: lsrs r4, r4, #24
1451 0x1fff0a14: bne.n 0x1fff0a24
1452 0x1fff0a16: ldr r0, [r5, #4]
1453 0x1fff0a18: movs r2, #102 ; 0x66
1454 0x1fff0a1a: add r1, sp, #8
1455 0x1fff0a1c: ldr r3, [sp, #4]
1456 0x1fff0a1e: bl 0x1fff10a6
1457 0x1fff0a22: uxtb r4, r0
1458 0x1fff0a24: movs r2, #15
1459 0x1fff0a26: mov r0, r4
1460 0x1fff0a28: ldr r1, [r5, #0]
1461 0x1fff0a2a: bl 0x1fff1064
1462 0x1fff0a2e: bl 0x1ff0d9c setup_serial
1463 0x1fff0a32: cmp r4, #0
1464 0x1fff0a34: bne.n 0x1fff0abe
1465 0x1fff0a36: movs r1, #1
1466 0x1fff0a38: ldr r0, [sp, #8]
1467 0x1fff0a3a: lsls r1, r1, #15
1468 0x1fff0a3c: cmp r0, r1
1469 0x1fff0a3e: bcs.n 0x1fff0a44
1470 0x1fff0a40: adds r0, r0, r1
1471 0x1fff0a42: str r0, [sp, #8]
1472 0x1fff0a44: mov r7, r0
1473 0x1fff0a46: movs r6, #0
1474 0x1fff0a48: ldr r0, [sp, #4]
1475 0x1fff0a4a: mov r4, r6
1476 0x1fff0a4c: str r0, [sp, #12]
1477 0x1fff0a4e: b.n 0x1fff0ab8
1478 0x1fff0a50: cmp r5, #45 ; 0x2d
1479 0x1fff0a52: ble.n 0x1fff0a56
1480 0x1fff0a54: movs r5, #45 ; 0x2d
1481 0x1fff0a56: mov r2, r5
1482 0x1fff0a58: ldr r1, [pc, #684] ; (0x1fff0d08)
1483 0x1fff0a5a: ldr r0, [sp, #8]
1484 0x1fff0a5c: bl 0x1fff0e76
1485 0x1fff0a60: adds r6, r0, r6
1486 0x1fff0a62: ldr r0, [pc, #676] ; (0x1fff0d08)
1487 0x1fff0a64: bl 0x1ff0d9c setup_serial
1488 0x1fff0a68: cmp r0, #0
1489 0x1fff0a6a: bne.n 0x1fff0abe
1490 0x1fff0a6c: ldr r0, [sp, #8]
1491 0x1fff0a6e: adds r4, r4, #1
1492 0x1fff0a70: adds r0, r0, r5
1493 0x1fff0a72: str r0, [sp, #8]
1494 0x1fff0a74: ldr r0, [sp, #4]
1495 0x1fff0a76: subs r0, r0, r5
1496 0x1fff0a78: str r0, [sp, #4]
1497 0x1fff0a7a: cmp r4, #20
1498 0x1fff0a7c: beq.n 0x1fff0a82
1499 0x1fff0a7e: cmp r0, #0
1500 0x1fff0a80: bne.n 0x1fff0ab8
1501 0x1fff0a82: movs r2, #15
1502 0x1fff0a84: ldr r1, [pc, #640] ; (0x1fff0d08)
1503 0x1fff0a86: mov r0, r6
1504 0x1fff0a88: bl 0x1fff1064
1505 0x1fff0a8c: bl 0x1ff0d9c setup_serial
1506 0x1fff0a90: movs r2, #0
1507 0x1fff0a92: movs r1, #70 ; 0x46
1508 0x1fff0a94: ldr r0, [pc, #624] ; (0x1fff0d08)
1509 0x1fff0a96: bl 0x1fff0e04
1510 0x1fff0a9a: lsls r0, r0, #24
1511 0x1fff0a9c: lsrs r0, r0, #24
1512 0x1fff0a9e: bne.n 0x1fff0abe
1513 0x1fff0aa0: ldr r1, [pc, #604] ; (0x1fff0d00)
1514 0x1fff0aa2: ldr r0, [pc, #612] ; (0x1fff0d08)
1515 0x1fff0aa4: subs r1, r1, #3
1516 0x1fff0aa6: bl 0x1fff0fb8
1517 0x1fff0aaa: cmp r0, #0
1518 0x1fff0aac: beq.n 0x1fff0ac2
1519 0x1fff0aae: ldr r0, [sp, #12]
1520 0x1fff0ab0: str r7, [sp, #8]
1521 0x1fff0ab2: str r0, [sp, #4]
1522 0x1fff0ab4: movs r4, #0
1523 0x1fff0ab6: mov r6, r4
1524 0x1fff0ab8: ldr r5, [sp, #4]
1525 0x1fff0aba: cmp r5, #0
1526 0x1fff0abc: bgt.n 0x1fff0a50
1527 0x1fff0abe: add sp, #20
1528 0x1fff0ac0: pop {r4, r5, r6, r7, pc}
1529 0x1fff0ac2: ldr r0, [sp, #4]
1530 0x1fff0ac4: str r0, [sp, #12]
1531 0x1fff0ac6: ldr r7, [sp, #8]
1532 0x1fff0ac8: b.n 0x1fff0ab4
1536 0x1fff0aca: push {r4, r5, r6, r7, lr}
1537 0x1fff0acc: sub sp, #20
1538 0x1fff0ace: ldr r5, [pc, #548] ; (0x1fff0cf4)
1539 0x1fff0ad0: movs r2, #100 ; 0x64
1540 0x1fff0ad2: ldr r0, [r5, #8]
1541 0x1fff0ad4: add r1, sp, #4
1542 0x1fff0ad6: ldr r3, [sp, #4]
1543 0x1fff0ad8: bl 0x1fff10a6
1544 0x1fff0adc: lsls r4, r0, #24
1545 0x1fff0ade: lsrs r4, r4, #24
1546 0x1fff0ae0: bne.n 0x1fff0b00
1547 0x1fff0ae2: ldr r0, [r5, #4]
1548 0x1fff0ae4: movs r2, #103 ; 0x67
1549 0x1fff0ae6: add r1, sp, #8
1550 0x1fff0ae8: ldr r3, [sp, #4]
1551 0x1fff0aea: bl 0x1fff10a6
1552 0x1fff0aee: uxtb r4, r0
1553 0x1fff0af0: cmp r4, #4
1554 0x1fff0af2: beq.n 0x1fff0afa
1555 0x1fff0af4: cmp r4, #2
1556 0x1fff0af6: beq.n 0x1fff0afe
1557 0x1fff0af8: b.n 0x1fff0b00
1558 0x1fff0afa: movs r4, #14
1559 0x1fff0afc: b.n 0x1fff0b00
1560 0x1fff0afe: movs r4, #13
1561 0x1fff0b00: ldr r0, [pc, #520] ; (0x1fff0d0c)
1562 0x1fff0b02: ldr r1, [r0, #0]
1563 0x1fff0b04: movs r2, #64 ; 0x40
1564 0x1fff0b06: orrs r1, r2
1565 0x1fff0b08: str r1, [r0, #0]
1566 0x1fff0b0a: ldr r1, [pc, #516] ; (0x1fff0d10)
1567 0x1fff0b0c: ldr r3, [pc, #516] ; (0x1fff0d14)
1568 0x1fff0b0e: ldr r1, [r1, #0]
1569 0x1fff0b10: ldr r3, [r3, #0]
1570 0x1fff0b12: cmp r1, r3
1571 0x1fff0b14: bne.n 0x1fff0b28
1572 0x1fff0b16: ldr r1, [pc, #512] ; (0x1fff0d18)
1573 0x1fff0b18: ldr r3, [sp, #8]
1574 0x1fff0b1a: ldr r1, [r1, #0]
1575 0x1fff0b1c: adds r1, #255 ; 0xff
1576 0x1fff0b1e: adds r1, #255 ; 0xff
1577 0x1fff0b20: adds r1, #2
1578 0x1fff0b22: cmp r3, r1
1579 0x1fff0b24: bcs.n 0x1fff0b28
1580 0x1fff0b26: movs r4, #19
1581 0x1fff0b28: ldr r1, [r0, #0]
1582 0x1fff0b2a: bics r1, r2
1583 0x1fff0b2c: str r1, [r0, #0]
1584 0x1fff0b2e: movs r2, #15
1585 0x1fff0b30: mov r0, r4
1586 0x1fff0b32: ldr r1, [r5, #0]
1587 0x1fff0b34: bl 0x1fff1064
1588 0x1fff0b38: bl 0x1ff0d9c setup_serial
1589 0x1fff0b3c: cmp r4, #0
1590 0x1fff0b3e: bne.n 0x1fff0abe
1591 0x1fff0b40: mov r5, r4
1592 0x1fff0b42: ldr r7, [sp, #4]
1593 0x1fff0b44: ldr r6, [sp, #8]
1594 0x1fff0b46: b.n 0x1fff0bc4
1595 0x1fff0b48: mov r2, sp
1596 0x1fff0b4a: movs r1, #70 ; 0x46
1597 0x1fff0b4c: ldr r0, [pc, #440] ; (0x1fff0d08)
1598 0x1fff0b4e: bl 0x1fff0e04
1599 0x1fff0b52: cmp r0, #0
1600 0x1fff0b54: bne.n 0x1fff0abe
1601 0x1fff0b56: ldr r0, [sp, #0]
1602 0x1fff0b58: cmp r0, #0
1603 0x1fff0b5a: beq.n 0x1fff0b78
1604 0x1fff0b5c: adds r5, r5, #1
1605 0x1fff0b5e: add r2, sp, #12
1606 0x1fff0b60: ldr r0, [pc, #420] ; (0x1fff0d08)
1607 0x1fff0b62: ldr r1, [sp, #8]
1608 0x1fff0b64: bl 0x1fff0f00
1609 0x1fff0b68: adds r4, r0, r4
1610 0x1fff0b6a: ldr r1, [sp, #8]
1611 0x1fff0b6c: ldr r0, [sp, #12]
1612 0x1fff0b6e: adds r1, r1, r0
1613 0x1fff0b70: str r1, [sp, #8]
1614 0x1fff0b72: ldr r1, [sp, #4]
1615 0x1fff0b74: subs r0, r1, r0
1616 0x1fff0b76: str r0, [sp, #4]
1617 0x1fff0b78: cmp r5, #20
1618 0x1fff0b7a: beq.n 0x1fff0b82
1619 0x1fff0b7c: ldr r0, [sp, #4]
1620 0x1fff0b7e: cmp r0, #0
1621 0x1fff0b80: bne.n 0x1fff0bc4
1622 0x1fff0b82: movs r0, #0
1623 0x1fff0b84: str r0, [sp, #0]
1624 0x1fff0b86: mov r2, sp
1625 0x1fff0b88: movs r1, #70 ; 0x46
1626 0x1fff0b8a: ldr r0, [pc, #380] ; (0x1fff0d08)
1627 0x1fff0b8c: bl 0x1fff0e04
1628 0x1fff0b90: ldr r1, [sp, #0]
1629 0x1fff0b92: uxtb r0, r0
1630 0x1fff0b94: cmp r1, #0
1631 0x1fff0b96: beq.n 0x1fff0b86
1632 0x1fff0b98: cmp r0, #0
1633 0x1fff0b9a: bne.n 0x1fff0abe
1634 0x1fff0b9c: add r1, sp, #16
1635 0x1fff0b9e: ldr r0, [pc, #360] ; (0x1fff0d08)
1636 0x1fff0ba0: bl 0x1fff103a
1637 0x1fff0ba4: ldr r0, [sp, #16]
1638 0x1fff0ba6: cmp r4, r0
1639 0x1fff0ba8: bne.n 0x1fff0bb4
1640 0x1fff0baa: ldr r0, [pc, #340] ; (0x1fff0d00)
1641 0x1fff0bac: ldr r7, [sp, #4]
1642 0x1fff0bae: subs r0, r0, #3
1643 0x1fff0bb0: ldr r6, [sp, #8]
1644 0x1fff0bb2: b.n 0x1fff0bbc
1645 0x1fff0bb4: ldr r0, [pc, #328] ; (0x1fff0d00)
1646 0x1fff0bb6: str r7, [sp, #4]
1647 0x1fff0bb8: adds r0, r0, #5
1648 0x1fff0bba: str r6, [sp, #8]
1649 0x1fff0bbc: bl 0x1ff0d9c setup_serial
1650 0x1fff0bc0: movs r5, #0
1651 0x1fff0bc2: mov r4, r5
1652 0x1fff0bc4: ldr r0, [sp, #4]
1653 0x1fff0bc6: cmp r0, #0
1654 0x1fff0bc8: bgt.n 0x1fff0b48
1655 0x1fff0bca: b.n 0x1fff0abe
1659 0x1fff0bcc: push {r3, r4, r5, r6, r7, lr}
1660 0x1fff0bce: ldr r4, [pc, #292] ; (0x1fff0cf4)
1661 0x1fff0bd0: ldr r5, [pc, #312] ; (0x1fff0d0c)
1662 0x1fff0bd2: ldr r0, [r4, #0]
1663 0x1fff0bd4: movs r6, #64 ; 0x40
1664 0x1fff0bd6: ldrb r3, [r0, #0]
1665 0x1fff0bd8: mov r0, r4
1666 0x1fff0bda: subs r3, #65 ; 0x41
1667 0x1fff0bdc: ldr r1, [r0, #4]
1668 0x1fff0bde: bl 0x1fff19b0
1669 0x1fff0be2: adds r7, r2, #0
1670 0x1fff0be4: strb r1, [r3, #20]
1671 0x1fff0be6: ldrb r4, [r0, #2]
1672 0x1fff0be8: asrs r4, r0, #14
1673 0x1fff0bea: ldrb r4, [r0, #14]
1674 0x1fff0bec: strb r7, [r3, r0]
1675 0x1fff0bee: ldrb r4, [r0, #26]
1676 0x1fff0bf0: strh r1, [r5, #32]
1677 0x1fff0bf2: strh r2, [r6, #34] ; 0x22
1678 0x1fff0bf4: strh r0, [r2, #32]
1679 0x1fff0bf6: asrs r1, r0, #26
1680 0x1fff0bf8: lsrs r4, r0, #22
1681 0x1fff0bfa: lsls r4, r0, #2
1682 0x1fff0bfc: bl 0x1fff0aca
1683 0x1fff0c00: pop {r3, r4, r5, r6, r7, pc}
1684 0x1fff0c02: bl 0x1fff09fe
1685 0x1fff0c06: pop {r3, r4, r5, r6, r7, pc}
1686 0x1fff0c08: bl 0x1fff0998
1687 0x1fff0c0c: pop {r3, r4, r5, r6, r7, pc}
1688 0x1fff0c0e: bl 0x1fff0962
1689 0x1fff0c12: pop {r3, r4, r5, r6, r7, pc}
1690 0x1fff0c14: bl 0x1fff08b2
1691 0x1fff0c18: pop {r3, r4, r5, r6, r7, pc}
1692 0x1fff0c1a: bl 0x1fff0880
1693 0x1fff0c1e: pop {r3, r4, r5, r6, r7, pc}
1694 0x1fff0c20: movs r2, #15
1695 0x1fff0c22: movs r0, #0
1696 0x1fff0c24: bl 0x1fff1064
1697 0x1fff0c28: bl 0x1ff0d9c setup_serial
1698 0x1fff0c2c: ldr r0, [pc, #236] ; (0x1fff0d1c)
1699 0x1fff0c2e: ldr r1, [r4, #4]
1700 0x1fff0c30: ldr r0, [r0, #52] ; 0x34
1701 0x1fff0c32: b.n 0x1fff0cba
1702 0x1fff0c34: ldr r0, [r5, #0]
1703 0x1fff0c36: orrs r0, r6
1704 0x1fff0c38: str r0, [r5, #0]
1705 0x1fff0c3a: ldr r0, [pc, #228] ; (0x1fff0d20)
1706 0x1fff0c3c: movs r2, #15
1707 0x1fff0c3e: ldr r7, [r0, #0]
1708 0x1fff0c40: movs r0, #0
1709 0x1fff0c42: bl 0x1fff1064
1710 0x1fff0c46: bl 0x1ff0d9c setup_serial
1711 0x1fff0c4a: ldr r1, [r4, #4]
1712 0x1fff0c4c: movs r2, #15
1713 0x1fff0c4e: ldr r0, [r7, #0]
1714 0x1fff0c50: bl 0x1fff1064
1715 0x1fff0c54: bl 0x1ff0d9c setup_serial
1716 0x1fff0c58: ldr r1, [r4, #4]
1717 0x1fff0c5a: movs r2, #15
1718 0x1fff0c5c: ldr r0, [r7, #4]
1719 0x1fff0c5e: bl 0x1fff1064
1720 0x1fff0c62: bl 0x1ff0d9c setup_serial
1721 0x1fff0c66: ldr r1, [r4, #4]
1722 0x1fff0c68: movs r2, #15
1723 0x1fff0c6a: ldr r0, [r7, #8]
1724 0x1fff0c6c: bl 0x1fff1064
1725 0x1fff0c70: bl 0x1ff0d9c setup_serial
1726 0x1fff0c74: ldr r1, [r4, #4]
1727 0x1fff0c76: movs r2, #15
1728 0x1fff0c78: ldr r0, [r7, #12]
1729 0x1fff0c7a: bl 0x1fff1064
1730 0x1fff0c7e: bl 0x1ff0d9c setup_serial
1731 0x1fff0c82: ldr r0, [r5, #0]
1732 0x1fff0c84: bics r0, r6
1733 0x1fff0c86: str r0, [r5, #0]
1734 0x1fff0c88: pop {r3, r4, r5, r6, r7, pc}
1735 0x1fff0c8a: ldr r0, [r5, #0]
1736 0x1fff0c8c: orrs r0, r6
1737 0x1fff0c8e: str r0, [r5, #0]
1738 0x1fff0c90: ldr r0, [pc, #144] ; (0x1fff0d24)
1739 0x1fff0c92: ldr r7, [r0, #0]
1740 0x1fff0c94: ldr r0, [r5, #0]
1741 0x1fff0c96: bics r0, r6
1742 0x1fff0c98: str r0, [r5, #0]
1743 0x1fff0c9a: movs r2, #15
1744 0x1fff0c9c: movs r0, #0
1745 0x1fff0c9e: bl 0x1fff1064
1746 0x1fff0ca2: bl 0x1ff0d9c setup_serial
1747 0x1fff0ca6: uxtb r0, r7
1748 0x1fff0ca8: movs r2, #15
1749 0x1fff0caa: ldr r1, [r4, #4]
1750 0x1fff0cac: bl 0x1fff1064
1751 0x1fff0cb0: bl 0x1ff0d9c setup_serial
1752 0x1fff0cb4: lsls r0, r7, #16
1753 0x1fff0cb6: ldr r1, [r4, #4]
1754 0x1fff0cb8: lsrs r0, r0, #24
1755 0x1fff0cba: movs r2, #15
1756 0x1fff0cbc: bl 0x1fff1064
1757 0x1fff0cc0: bl 0x1ff0d9c setup_serial
1758 0x1fff0cc4: pop {r3, r4, r5, r6, r7, pc}
1759 0x1fff0cc6: bl 0x1fff0834
1760 0x1fff0cca: pop {r3, r4, r5, r6, r7, pc}
1761 0x1fff0ccc: bl 0x1fff078e
1762 0x1fff0cd0: pop {r3, r4, r5, r6, r7, pc}
1763 0x1fff0cd2: bl 0x1fff06a8
1764 0x1fff0cd6: pop {r3, r4, r5, r6, r7, pc}
1765 0x1fff0cd8: bl 0x1fff0618
1766 0x1fff0cdc: pop {r3, r4, r5, r6, r7, pc}
1767 0x1fff0cde: bl 0x1fff05a4
1768 0x1fff0ce2: pop {r3, r4, r5, r6, r7, pc}
1769 0x1fff0ce4: bl 0x1fff050c
1770 0x1fff0ce8: pop {r3, r4, r5, r6, r7, pc}
1771 0x1fff0cea: movs r2, #15
1772 0x1fff0cec: movs r0, #1
1773 0x1fff0cee: b.n 0x1fff0cbc
1774 0x1fff0cf0: lsls r0, r2, #1
1775 0x1fff0cf2: asrs r0, r0, #32
1776 0x1fff0cf4: lsls r0, r7, #3
1777 0x1fff0cf6: asrs r0, r0, #32
1778 0x1fff0cf8: ldrh r2, [r3, r1]
1779 0x1fff0cfa: movs r0, r0
1780 0x1fff0cfc: lsls r4, r2, #1
1781 0x1fff0cfe: asrs r0, r0, #32
1782 0x1fff0d00: subs r7, r4, #4
1783 0x1fff0d02: subs r7, r7, #7
1784 0x1fff0d04: lsls r0, r6, #17
1785 0x1fff0d06: movs r0, r0
1786 0x1fff0d08: lsls r0, r4, #1
1787 0x1fff0d0a: asrs r0, r0, #32
1788 0x1fff0d0c: stmia r0!, {}
1789 0x1fff0d0e: ands r3, r0
1790 0x1fff0d10: lsls r0, r3, #1
1791 0x1fff0d12: asrs r0, r0, #32
1792 0x1fff0d14: lsls r4, r2, #3
1793 0x1fff0d16: subs r7, r7, #7
1794 0x1fff0d18: lsls r0, r7, #16
1795 0x1fff0d1a: movs r0, r0
1796 0x1fff0d1c: strh r0, [r0, #30]
1797 0x1fff0d1e: ands r4, r0
1798 0x1fff0d20: lsls r4, r3, #23
1799 0x1fff0d22: movs r0, r0
1800 0x1fff0d24: lsls r4, r6, #16
1801 0x1fff0d26: movs r0, r0
1805 0x1fff0d28: push {r4, lr}
1806 0x1fff0d2a: mov r4, r1
1807 0x1fff0d2c: cmp r2, #0
1808 0x1fff0d2e: beq.n 0x1fff0d44
1809 0x1fff0d30: movs r1, #26
1810 0x1fff0d32: muls r1, r0
1811 0x1fff0d34: movs r0, #125 ; 0x7d
1812 0x1fff0d36: lsls r0, r0, #3
1813 0x1fff0d38: muls r0, r2
1814 0x1fff0d3a: bl 0x1fff11d4
1815 0x1fff0d3e: cmp r4, #1
1816 0x1fff0d40: beq.n 0x1fff0d62
1817 0x1fff0d42: movs r4, #7
1818 0x1fff0d44: ldr r1, [pc, #276] ; (0x1fff0e5c)
1819 0x1fff0d46: ldr r2, [r1, #20]
1820 0x1fff0d48: lsls r2, r2, #25
1821 0x1fff0d4a: bpl.n 0x1fff0d46
1822 0x1fff0d4c: movs r2, #128 ; 0x80
1823 0x1fff0d4e: str r2, [r1, #12]
1824 0x1fff0d50: str r0, [r1, #0]
1825 0x1fff0d52: asrs r0, r0, #8
1826 0x1fff0d54: str r0, [r1, #4]
1827 0x1fff0d56: movs r0, #0
1828 0x1fff0d58: str r0, [r1, #12]
1829 0x1fff0d5a: movs r0, #1
1830 0x1fff0d5c: str r0, [r1, #8]
1831 0x1fff0d5e: str r4, [r1, #12]
1832 0x1fff0d60: pop {r4, pc}
1833 0x1fff0d62: movs r4, #3
1834 0x1fff0d64: b.n 0x1fff0d44
1836 serial_wait_autobaud()
1839 0x1fff0d66: ldr r1, [pc, #244] ; (0x1fff0e5c) 40008000
1840 0x1fff0d68: ldr r2, [r1, #20] 40008020 ACR (autobaud control register)
1841 0x1fff0d6a: lsls r2, r2, #26
1842 0x1fff0d6c: bpl.n 0x1fff0d68
1843 0x1fff0d6e: str r0, [r1, #0]
1848 0x1fff0d72: ldr r1, [pc, #232] ; (0x1fff0e5c)
1849 0x1fff0d74: ldr r0, [r1, #20]
1850 0x1fff0d76: lsls r0, r0, #31
1851 0x1fff0d78: beq.n 0x1fff0d74
1852 0x1fff0d7a: ldr r0, [r1, #0]
1853 0x1fff0d7c: ldr r2, [pc, #224] ; (0x1fff0e60)
1854 0x1fff0d7e: uxtb r0, r0
1855 0x1fff0d80: ldr r2, [r2, #0]
1856 0x1fff0d82: cmp r2, #0
1857 0x1fff0d84: beq.n 0x1fff0d8e
1858 0x1fff0d86: ldr r2, [r1, #20]
1859 0x1fff0d88: lsls r2, r2, #26
1860 0x1fff0d8a: bpl.n 0x1fff0d86
1861 0x1fff0d8c: str r0, [r1, #0]
1866 0x1fff0d90: push {lr}
1867 0x1fff0d92: bl 0x1fff0d72
1868 0x1fff0d96: cmp r0, #17
1869 0x1fff0d98: bne.n 0x1fff0d92
1870 0x1fff0d9a: pop {pc}
1873 * Detect baud rate on the USART and configure
1879 0x1fff0d9c: push {r4, lr}
1880 0x1fff0d9e: ldr r4, [pc, #188] ; (0x1fff0e5c) 40008000 USART
1881 0x1fff0da0: movs r3, r0
1882 0x1fff0da2: bne.n 0x1fff0dcc
1883 0x1fff0da4: b.n 0x1fff0dd2
1884 0x1fff0da6: adds r3, r3, #1
1885 0x1fff0da8: bl 0x1fff0d66
1886 0x1fff0dac: ldr r0, [r4, #20] 40008020 ACR (autobaud control)
1887 0x1fff0dae: lsls r0, r0, #31
1888 0x1fff0db0: beq.n 0x1fff0dcc
1891 0x1fff0db2: ldr r0, [r4, #0]
1892 0x1fff0db4: uxtb r0, r0
1893 0x1fff0db6: cmp r0, #27
1894 0x1fff0db8: beq.n 0x1fff0dc0
1895 0x1fff0dba: cmp r0, #19
1896 0x1fff0dbc: bne.n 0x1fff0dcc
1897 0x1fff0dbe: b.n 0x1fff0dc4
1901 0x1fff0dc0: movs r0, #1
1902 0x1fff0dc2: pop {r4, pc}
1904 0x1fff0dc4: bl 0x1fff0d72
1905 0x1fff0dc8: cmp r0, #17
1906 0x1fff0dca: bne.n 0x1fff0dc4
1908 0x1fff0dcc: ldrb r0, [r3, #0]
1909 0x1fff0dce: cmp r0, #0
1910 0x1fff0dd0: bne.n 0x1fff0da6
1911 0x1fff0dd2: movs r0, #13
1912 0x1fff0dd4: bl 0x1fff0d66
1913 0x1fff0dd8: movs r0, #10
1914 0x1fff0dda: bl 0x1fff0d66
1915 0x1fff0dde: movs r0, #0
1916 0x1fff0de0: pop {r4, pc}
1917 0x1fff0de2: ldr r0, [pc, #120] ; (0x1fff0e5c)
1918 0x1fff0de4: ldr r1, [r0, #20]
1919 0x1fff0de6: lsls r1, r1, #31
1920 0x1fff0de8: beq.n 0x1fff0df0
1921 0x1fff0dea: ldr r0, [r0, #0]
1922 0x1fff0dec: movs r0, #1
1924 0x1fff0df0: movs r0, #0
1926 0x1fff0df4: ldr r0, [pc, #108] ; (0x1fff0e64)
1927 0x1fff0df6: ldr r0, [r0, #8]
1928 0x1fff0df8: lsrs r0, r0, #2
1929 0x1fff0dfa: b.n 0x1fff0dfe
1930 0x1fff0dfc: subs r0, r0, #1
1931 0x1fff0dfe: cmp r0, #0
1932 0x1fff0e00: bne.n 0x1fff0dfc
1937 0x1fff0e04: push {r4, r5, r6, lr}
1938 0x1fff0e06: mov r5, r0
1939 0x1fff0e08: mov r6, r2
1940 0x1fff0e0a: movs r3, #0
1941 0x1fff0e0c: subs r4, r1, #1
1942 0x1fff0e0e: bl 0x1fff0d72
1943 0x1fff0e12: cmp r0, #27
1944 0x1fff0e14: beq.n 0x1fff0e4a
1945 0x1fff0e16: cmp r0, #13
1946 0x1fff0e18: beq.n 0x1fff0e22
1947 0x1fff0e1a: cmp r0, #10
1948 0x1fff0e1c: beq.n 0x1fff0e22
1949 0x1fff0e1e: cmp r3, r4
1950 0x1fff0e20: bne.n 0x1fff0e4e
1951 0x1fff0e22: movs r0, #0
1952 0x1fff0e24: strb r0, [r5, r3]
1953 0x1fff0e26: cmp r6, #0
1954 0x1fff0e28: beq.n 0x1fff0e2c
1955 0x1fff0e2a: str r3, [r6, #0]
1956 0x1fff0e2c: bl 0x1fff0df4
1957 0x1fff0e30: ldr r0, [pc, #44] ; (0x1fff0e60)
1958 0x1fff0e32: ldr r0, [r0, #0]
1959 0x1fff0e34: cmp r0, #0
1960 0x1fff0e36: beq.n 0x1fff0e46
1961 0x1fff0e38: bl 0x1fff0de2
1962 0x1fff0e3c: cmp r0, #0
1963 0x1fff0e3e: beq.n 0x1fff0e46
1964 0x1fff0e40: movs r0, #10
1965 0x1fff0e42: bl 0x1fff0d66
1966 0x1fff0e46: movs r0, #0
1967 0x1fff0e48: pop {r4, r5, r6, pc}
1968 0x1fff0e4a: movs r0, #1
1969 0x1fff0e4c: pop {r4, r5, r6, pc}
1971 0x1fff0e40: 0xf7ff200a 0x2000ff90 0x2001bd70 0x54e8bd70
1972 0x1fff0e50: 0xe7dc1c5b 0x60084902 0x00004770 0x40008000
1973 0x1fff0e60: 0x1000005c 0x40018000 0xd0022800 0xb2c03020
1974 0x1fff0e70: 0x20604770 0xb5f04770 0x24004603 0xf7ffb2d0
1975 0x1fff0e80: 0x7008fff3 0xe0281c49 0xdb052a03 0x7818785d
1977 0x1fff0e4e: strb r0, [r5, r3]
1978 0x1fff0e50: adds r3, r3, #1
1979 0x1fff0e52: b.n 0x1fff0e0e
1980 0x1fff0e54: ldr r1, [pc, #8] ; (0x1fff0e60)
1981 0x1fff0e56: str r0, [r1, #0]
1983 0x1fff0e5a: movs r0, r0
1984 0x1fff0e5c: strh r0, [r0, #0]
1985 0x1fff0e5e: ands r0, r0
1986 0x1fff0e60: lsls r4, r3, #1
1987 0x1fff0e62: asrs r0, r0, #32
1988 0x1fff0e64: strh r0, [r0, #0]
1989 0x1fff0e66: ands r1, r0
1990 0x1fff0e68: cmp r0, #0
1991 0x1fff0e6a: beq.n 0x1fff0e72
1992 0x1fff0e6c: adds r0, #32
1993 0x1fff0e6e: uxtb r0, r0
1995 0x1fff0e72: movs r0, #96 ; 0x60
2000 0x1fff0e76: push {r4, r5, r6, r7, lr}
2001 0x1fff0e78: mov r3, r0
2002 0x1fff0e7a: movs r4, #0
2003 0x1fff0e7c: uxtb r0, r2
2004 0x1fff0e7e: bl 0x1fff0e68
2005 0x1fff0e82: strb r0, [r1, #0]
2006 0x1fff0e84: adds r1, r1, #1
2007 0x1fff0e86: b.n 0x1fff0eda
2008 0x1fff0e88: cmp r2, #3
2009 0x1fff0e8a: blt.n 0x1fff0e98
2010 0x1fff0e8c: ldrb r5, [r3, #1]
2011 0x1fff0e8e: ldrb r0, [r3, #0]
2012 0x1fff0e90: ldrb r6, [r3, #2]
2013 0x1fff0e92: adds r0, r0, r5
2014 0x1fff0e94: adds r4, r6, r4
2015 0x1fff0e96: b.n 0x1fff0eee
2016 0x1fff0e98: cmp r2, #2
2017 0x1fff0e9a: beq.n 0x1fff0ee6
2018 0x1fff0e9c: ldrb r5, [r3, #0]
2019 0x1fff0e9e: mov r6, r5
2020 0x1fff0ea0: adds r4, r5, r4
2021 0x1fff0ea2: ldrb r0, [r3, #0]
2022 0x1fff0ea4: lsrs r0, r0, #2
2023 0x1fff0ea6: bl 0x1fff0e68
2024 0x1fff0eaa: strb r0, [r1, #0]
2025 0x1fff0eac: ldrb r0, [r3, #0]
2026 0x1fff0eae: lsrs r7, r5, #4
2027 0x1fff0eb0: lsls r0, r0, #30
2028 0x1fff0eb2: lsrs r0, r0, #26
2029 0x1fff0eb4: adds r0, r0, r7
2030 0x1fff0eb6: bl 0x1fff0e68
2031 0x1fff0eba: strb r0, [r1, #1]
2032 0x1fff0ebc: lsls r0, r5, #28
2033 0x1fff0ebe: lsrs r0, r0, #26
2034 0x1fff0ec0: lsrs r5, r6, #6
2035 0x1fff0ec2: adds r0, r0, r5
2036 0x1fff0ec4: bl 0x1fff0e68
2037 0x1fff0ec8: strb r0, [r1, #2]
2038 0x1fff0eca: lsls r0, r6, #26
2039 0x1fff0ecc: lsrs r0, r0, #26
2040 0x1fff0ece: bl 0x1fff0e68
2041 0x1fff0ed2: strb r0, [r1, #3]
2042 0x1fff0ed4: adds r1, r1, #4
2043 0x1fff0ed6: adds r3, r3, #3
2044 0x1fff0ed8: subs r2, r2, #3
2045 0x1fff0eda: cmp r2, #0
2046 0x1fff0edc: bgt.n 0x1fff0e88
2047 0x1fff0ede: movs r0, #0
2048 0x1fff0ee0: strb r0, [r1, #0]
2049 0x1fff0ee2: mov r0, r4
2050 0x1fff0ee4: pop {r4, r5, r6, r7, pc}
2051 0x1fff0ee6: ldrb r5, [r3, #1]
2052 0x1fff0ee8: ldrb r0, [r3, #0]
2053 0x1fff0eea: mov r6, r5
2054 0x1fff0eec: adds r0, r0, r5
2055 0x1fff0eee: adds r4, r0, r4
2056 0x1fff0ef0: b.n 0x1fff0ea2
2057 0x1fff0ef2: cmp r0, #96 ; 0x60
2058 0x1fff0ef4: beq.n 0x1fff0efc
2059 0x1fff0ef6: subs r0, #32
2060 0x1fff0ef8: uxtb r0, r0
2062 0x1fff0efc: movs r0, #0
2067 0x1fff0f00: push {r4, r5, r6, r7, lr}
2068 0x1fff0f02: mov r3, r0
2069 0x1fff0f04: movs r6, #0
2070 0x1fff0f06: mov r12, r2
2071 0x1fff0f08: mov r5, r6
2072 0x1fff0f0a: ldrb r0, [r0, #0]
2073 0x1fff0f0c: bl 0x1fff0ef2
2074 0x1fff0f10: mov r4, r0
2075 0x1fff0f12: subs r0, r0, #1
2076 0x1fff0f14: cmp r0, #44 ; 0x2c
2077 0x1fff0f16: bhi.n 0x1fff0fb0
2078 0x1fff0f18: adds r3, r3, #1
2079 0x1fff0f1a: b.n 0x1fff0fac
2080 0x1fff0f1c: cmp r4, #3
2081 0x1fff0f1e: blt.n 0x1fff0f6c
2082 0x1fff0f20: ldrb r0, [r3, #0]
2083 0x1fff0f22: bl 0x1fff0ef2
2084 0x1fff0f26: lsls r2, r0, #2
2085 0x1fff0f28: ldrb r0, [r3, #1]
2086 0x1fff0f2a: bl 0x1fff0ef2
2087 0x1fff0f2e: lsrs r0, r0, #4
2088 0x1fff0f30: orrs r2, r0
2089 0x1fff0f32: strb r2, [r1, #0]
2090 0x1fff0f34: ldrb r0, [r3, #1]
2091 0x1fff0f36: bl 0x1fff0ef2
2092 0x1fff0f3a: lsls r2, r0, #4
2093 0x1fff0f3c: ldrb r0, [r3, #2]
2094 0x1fff0f3e: bl 0x1fff0ef2
2095 0x1fff0f42: lsrs r0, r0, #2
2096 0x1fff0f44: orrs r2, r0
2097 0x1fff0f46: strb r2, [r1, #1]
2098 0x1fff0f48: ldrb r0, [r3, #2]
2099 0x1fff0f4a: bl 0x1fff0ef2
2100 0x1fff0f4e: lsls r2, r0, #6
2101 0x1fff0f50: ldrb r0, [r3, #3]
2102 0x1fff0f52: bl 0x1fff0ef2
2103 0x1fff0f56: orrs r2, r0
2104 0x1fff0f58: uxtb r0, r2
2105 0x1fff0f5a: strb r0, [r1, #2]
2106 0x1fff0f5c: ldrb r7, [r1, #0]
2107 0x1fff0f5e: ldrb r2, [r1, #1]
2108 0x1fff0f60: adds r0, r0, r6
2109 0x1fff0f62: adds r2, r7, r2
2110 0x1fff0f64: adds r5, r5, #3
2111 0x1fff0f66: adds r6, r2, r0
2112 0x1fff0f68: adds r1, r1, #3
2113 0x1fff0f6a: b.n 0x1fff0fa8
2114 0x1fff0f6c: cmp r4, #1
2115 0x1fff0f6e: blt.n 0x1fff0f8a
2116 0x1fff0f70: ldrb r0, [r3, #0]
2117 0x1fff0f72: bl 0x1fff0ef2
2118 0x1fff0f76: lsls r2, r0, #2
2119 0x1fff0f78: ldrb r0, [r3, #1]
2120 0x1fff0f7a: bl 0x1fff0ef2
2121 0x1fff0f7e: lsrs r0, r0, #4
2122 0x1fff0f80: orrs r2, r0
2123 0x1fff0f82: uxtb r0, r2
2124 0x1fff0f84: adds r5, r5, #1
2125 0x1fff0f86: strb r0, [r1, #0]
2126 0x1fff0f88: adds r6, r0, r6
2127 0x1fff0f8a: cmp r4, #2
2128 0x1fff0f8c: blt.n 0x1fff0fa8
2129 0x1fff0f8e: ldrb r0, [r3, #1]
2130 0x1fff0f90: bl 0x1fff0ef2
2131 0x1fff0f94: lsls r2, r0, #4
2132 0x1fff0f96: ldrb r0, [r3, #2]
2133 0x1fff0f98: bl 0x1fff0ef2
2134 0x1fff0f9c: lsrs r0, r0, #2
2135 0x1fff0f9e: orrs r2, r0
2136 0x1fff0fa0: uxtb r0, r2
2137 0x1fff0fa2: adds r5, r5, #1
2138 0x1fff0fa4: strb r0, [r1, #1]
2139 0x1fff0fa6: adds r6, r0, r6
2140 0x1fff0fa8: adds r3, r3, #4
2141 0x1fff0faa: subs r4, r4, #3
2142 0x1fff0fac: cmp r4, #0
2143 0x1fff0fae: bgt.n 0x1fff0f1c
2144 0x1fff0fb0: mov r0, r12
2145 0x1fff0fb2: str r5, [r0, #0]
2146 0x1fff0fb4: mov r0, r6
2147 0x1fff0fb6: pop {r4, r5, r6, r7, pc}
2151 0x1fff0fb8: push {r4, lr}
2152 0x1fff0fba: movs r2, #0
2153 0x1fff0fbc: b.n 0x1fff0fc4
2154 0x1fff0fbe: cmp r3, #0
2155 0x1fff0fc0: beq.n 0x1fff0fd4
2156 0x1fff0fc2: adds r2, r2, #1
2157 0x1fff0fc4: ldrb r3, [r0, r2]
2158 0x1fff0fc6: ldrb r4, [r1, r2]
2159 0x1fff0fc8: cmp r3, r4
2160 0x1fff0fca: beq.n 0x1fff0fbe
2161 0x1fff0fcc: uxtb r0, r3
2162 0x1fff0fce: uxtb r1, r4
2163 0x1fff0fd0: subs r0, r0, r1
2164 0x1fff0fd2: pop {r4, pc}
2165 0x1fff0fd4: movs r0, #0
2166 0x1fff0fd6: pop {r4, pc}
2170 0x1fff0fd8: push {r0, r1, r2, r3, r4, r5, r6, r7, lr}
2171 0x1fff0fda: mov r5, r0
2172 0x1fff0fdc: movs r0, #0
2173 0x1fff0fde: ldrb r1, [r5, #0]
2174 0x1fff0fe0: mov lr, r3
2175 0x1fff0fe2: ldr r6, [sp, #36] ; 0x24
2176 0x1fff0fe4: mov r3, r0
2177 0x1fff0fe6: mov r4, r0
2178 0x1fff0fe8: cmp r1, #0
2179 0x1fff0fea: beq.n 0x1fff0ff4
2180 0x1fff0fec: movs r1, #0
2181 0x1fff0fee: subs r6, r6, #2
2182 0x1fff0ff0: mov r12, r6
2183 0x1fff0ff2: b.n 0x1fff1030
2184 0x1fff0ff4: movs r0, #0
2185 0x1fff0ff6: add sp, #16
2186 0x1fff0ff8: pop {r4, r5, r6, r7, pc}
2187 0x1fff0ffa: adds r6, r0, #1
2188 0x1fff0ffc: cmp r6, lr
2189 0x1fff0ffe: bgt.n 0x1fff1036
2190 0x1fff1000: ldrb r6, [r5, r1]
2191 0x1fff1002: cmp r6, #32
2192 0x1fff1004: beq.n 0x1fff1016
2193 0x1fff1006: cmp r4, r12
2194 0x1fff1008: bge.n 0x1fff1016
2195 0x1fff100a: lsls r7, r0, #2
2196 0x1fff100c: ldr r7, [r2, r7]
2197 0x1fff100e: strb r6, [r7, r3]
2198 0x1fff1010: adds r3, r3, #1
2199 0x1fff1012: adds r4, r4, #1
2200 0x1fff1014: b.n 0x1fff102e
2201 0x1fff1016: adds r6, r5, r1
2202 0x1fff1018: ldrb r6, [r6, #1]
2203 0x1fff101a: cmp r6, #32
2204 0x1fff101c: bne.n 0x1fff1022
2205 0x1fff101e: cmp r4, r12
2206 0x1fff1020: bne.n 0x1fff102e
2207 0x1fff1022: lsls r6, r0, #2
2208 0x1fff1024: movs r4, #0
2209 0x1fff1026: ldr r6, [r2, r6]
2210 0x1fff1028: adds r0, r0, #1
2211 0x1fff102a: strb r4, [r6, r3]
2212 0x1fff102c: mov r3, r4
2213 0x1fff102e: adds r1, r1, #1
2214 0x1fff1030: ldr r6, [sp, #4]
2215 0x1fff1032: cmp r1, r6
2216 0x1fff1034: ble.n 0x1fff0ffa
2217 0x1fff1036: adds r0, r0, #1
2218 0x1fff1038: b.n 0x1fff0ff6
2222 0x1fff103a: push {r4, r5, lr}
2223 0x1fff103c: movs r3, #0
2224 0x1fff103e: mov r2, r3
2225 0x1fff1040: b.n 0x1fff1054
2226 0x1fff1042: mov r5, r4
2227 0x1fff1044: subs r5, #48 ; 0x30
2228 0x1fff1046: cmp r5, #9
2229 0x1fff1048: bhi.n 0x1fff1060
2230 0x1fff104a: movs r5, #10
2231 0x1fff104c: muls r3, r5
2232 0x1fff104e: subs r3, #48 ; 0x30
2233 0x1fff1050: adds r3, r4, r3
2234 0x1fff1052: adds r2, r2, #1
2235 0x1fff1054: ldrb r4, [r0, r2]
2236 0x1fff1056: cmp r4, #0
2237 0x1fff1058: bne.n 0x1fff1042
2238 0x1fff105a: movs r0, #0
2239 0x1fff105c: str r3, [r1, #0]
2240 0x1fff105e: pop {r4, r5, pc}
2241 0x1fff1060: movs r0, #1
2242 0x1fff1062: pop {r4, r5, pc}
2246 0x1fff1064: push {r4, r5, r6, lr}
2247 0x1fff1066: mov r5, r1
2248 0x1fff1068: movs r1, #0
2249 0x1fff106a: subs r4, r2, #1
2250 0x1fff106c: strb r1, [r5, r4]
2251 0x1fff106e: cmp r0, #0
2252 0x1fff1070: bne.n 0x1fff108e
2253 0x1fff1072: movs r0, #48 ; 0x30
2254 0x1fff1074: subs r4, r4, #1
2255 0x1fff1076: strb r0, [r5, r4]
2256 0x1fff1078: b.n 0x1fff1096
2257 0x1fff107a: subs r4, r4, #1
2258 0x1fff107c: movs r1, #10
2259 0x1fff107e: bl 0x1fff18a0
2260 0x1fff1082: cmp r1, #9
2261 0x1fff1084: bhi.n 0x1fff108a
2262 0x1fff1086: adds r1, #48 ; 0x30
2263 0x1fff1088: b.n 0x1fff108c
2264 0x1fff108a: adds r1, #55 ; 0x37
2265 0x1fff108c: strb r1, [r5, r4]
2266 0x1fff108e: cmp r4, #0
2267 0x1fff1090: beq.n 0x1fff1096
2268 0x1fff1092: cmp r0, #0
2269 0x1fff1094: bne.n 0x1fff107a
2270 0x1fff1096: adds r0, r5, r4
2271 0x1fff1098: pop {r4, r5, r6, pc}
2274 0x1fff109a: ; <UNDEFINED> instruction: 0xffff1e49
2275 0x1fff109e: ands r0, r1
2276 0x1fff10a0: beq.n 0x1fff10a4
2277 0x1fff10a2: movs r0, #1
2282 0x1fff10a6: push {r3, r4, r5, r6, r7, lr}
2283 0x1fff10a8: movs r4, #0
2284 0x1fff10aa: mov r6, r1
2285 0x1fff10ac: mov r5, r2
2286 0x1fff10ae: mov r7, r3
2287 0x1fff10b0: cmp r0, #0
2288 0x1fff10b2: beq.n 0x1fff10c0
2289 0x1fff10b4: bl 0x1fff103a
2290 0x1fff10b8: cmp r0, #0
2291 0x1fff10ba: beq.n 0x1fff10c0
2292 0x1fff10bc: movs r0, #12
2293 0x1fff10be: pop {r3, r4, r5, r6, r7, pc}
2294 0x1fff10c0: cmp r5, #105 ; 0x69
2295 0x1fff10c2: beq.n 0x1fff10e4
2296 0x1fff10c4: movs r1, #4
2297 0x1fff10c6: ldr r0, [r6, #0]
2298 0x1fff10c8: bl 0x1fff109c
2299 0x1fff10cc: cmp r0, #0
2300 0x1fff10ce: beq.n 0x1fff10f4
2301 0x1fff10d0: cmp r5, #100 ; 0x64
2302 0x1fff10d2: beq.n 0x1fff10e8
2303 0x1fff10d4: movs r4, #13
2304 0x1fff10d6: cmp r5, #103 ; 0x67
2305 0x1fff10d8: beq.n 0x1fff10ec
2306 0x1fff10da: cmp r5, #104 ; 0x68
2307 0x1fff10dc: beq.n 0x1fff10f0
2308 0x1fff10de: cmp r4, #0
2309 0x1fff10e0: beq.n 0x1fff1118
2310 0x1fff10e2: b.n 0x1fff1190
2311 0x1fff10e4: movs r0, #0
2312 0x1fff10e6: pop {r3, r4, r5, r6, r7, pc}
2313 0x1fff10e8: movs r4, #6
2314 0x1fff10ea: b.n 0x1fff1190
2315 0x1fff10ec: movs r4, #2
2316 0x1fff10ee: b.n 0x1fff1190
2317 0x1fff10f0: movs r4, #3
2318 0x1fff10f2: b.n 0x1fff1190
2319 0x1fff10f4: cmp r5, #101 ; 0x65
2320 0x1fff10f6: bne.n 0x1fff1118
2321 0x1fff10f8: ldr r0, [r6, #0]
2322 0x1fff10fa: subs r1, r0, #7
2323 0x1fff10fc: subs r1, #249 ; 0xf9
2324 0x1fff10fe: beq.n 0x1fff1118
2325 0x1fff1100: subs r1, #255 ; 0xff
2326 0x1fff1102: subs r1, #1
2327 0x1fff1104: beq.n 0x1fff1118
2328 0x1fff1106: movs r1, #1
2329 0x1fff1108: lsls r1, r1, #10
2330 0x1fff110a: cmp r0, r1
2331 0x1fff110c: beq.n 0x1fff1118
2332 0x1fff110e: lsls r1, r1, #2
2333 0x1fff1110: cmp r0, r1
2334 0x1fff1112: beq.n 0x1fff1118
2335 0x1fff1114: movs r0, #6
2336 0x1fff1116: pop {r3, r4, r5, r6, r7, pc}
2337 0x1fff1118: ldr r3, [pc, #204] ; (0x1fff11e8)
2338 0x1fff111a: ldr r0, [r3, #0]
2339 0x1fff111c: movs r1, #64 ; 0x40
2340 0x1fff111e: orrs r0, r1
2341 0x1fff1120: str r0, [r3, #0]
2342 0x1fff1122: ldr r0, [pc, #200] ; (0x1fff11ec)
2343 0x1fff1124: ldr r1, [r6, #0]
2344 0x1fff1126: ldr r0, [r0, #0]
2345 0x1fff1128: cmp r1, r0
2346 0x1fff112a: bcc.n 0x1fff113c
2347 0x1fff112c: ldr r0, [pc, #192] ; (0x1fff11f0)
2348 0x1fff112e: adds r2, r1, r7
2349 0x1fff1130: ldr r0, [r0, #0]
2350 0x1fff1132: adds r0, r0, #1
2351 0x1fff1134: cmp r2, r0
2352 0x1fff1136: bhi.n 0x1fff113c
2353 0x1fff1138: movs r0, #1
2354 0x1fff113a: b.n 0x1fff113e
2355 0x1fff113c: movs r0, #0
2356 0x1fff113e: ldr r2, [pc, #180] ; (0x1fff11f4)
2357 0x1fff1140: ldr r2, [r2, #0]
2358 0x1fff1142: cmp r1, r2
2359 0x1fff1144: bcc.n 0x1fff1156
2360 0x1fff1146: adds r2, r1, r7
2361 0x1fff1148: ldr r1, [pc, #172] ; (0x1fff11f8)
2362 0x1fff114a: ldr r1, [r1, #0]
2363 0x1fff114c: adds r1, r1, #1
2364 0x1fff114e: cmp r2, r1
2365 0x1fff1150: bhi.n 0x1fff1156
2366 0x1fff1152: movs r1, #1
2367 0x1fff1154: b.n 0x1fff1158
2368 0x1fff1156: movs r1, #0
2369 0x1fff1158: ldr r2, [r3, #0]
2370 0x1fff115a: movs r7, #64 ; 0x40
2371 0x1fff115c: bics r2, r7
2372 0x1fff115e: str r2, [r3, #0]
2373 0x1fff1160: cmp r5, #102 ; 0x66
2374 0x1fff1162: beq.n 0x1fff116e
2375 0x1fff1164: cmp r5, #103 ; 0x67
2376 0x1fff1166: beq.n 0x1fff1176
2377 0x1fff1168: cmp r5, #104 ; 0x68
2378 0x1fff116a: beq.n 0x1fff117e
2379 0x1fff116c: b.n 0x1fff1190
2380 0x1fff116e: orrs r0, r1
2381 0x1fff1170: bne.n 0x1fff1190
2382 0x1fff1172: movs r4, #14
2383 0x1fff1174: b.n 0x1fff1190
2384 0x1fff1176: cmp r0, #0
2385 0x1fff1178: bne.n 0x1fff1190
2386 0x1fff117a: movs r4, #4
2387 0x1fff117c: b.n 0x1fff1190
2388 0x1fff117e: cmp r1, #0
2389 0x1fff1180: beq.n 0x1fff1194
2390 0x1fff1182: movs r1, #255 ; 0xff
2391 0x1fff1184: adds r1, #1
2392 0x1fff1186: ldr r0, [r6, #0]
2393 0x1fff1188: bl 0x1fff109c
2394 0x1fff118c: cmp r0, #0
2395 0x1fff118e: bne.n 0x1fff10f0
2396 0x1fff1190: mov r0, r4
2397 0x1fff1192: pop {r3, r4, r5, r6, r7, pc}
2398 0x1fff1194: movs r4, #5
2399 0x1fff1196: b.n 0x1fff1190
2400 0x1fff1198: push {r4, r5, r6, lr}
2401 0x1fff119a: ldr r3, [pc, #76] ; (0x1fff11e8)
2402 0x1fff119c: mov r4, r0
2403 0x1fff119e: ldr r6, [r3, #0]
2404 0x1fff11a0: movs r0, #14
2405 0x1fff11a2: movs r5, #64 ; 0x40
2406 0x1fff11a4: orrs r6, r5
2407 0x1fff11a6: str r6, [r3, #0]
2408 0x1fff11a8: ldr r6, [pc, #64] ; (0x1fff11ec)
2409 0x1fff11aa: ldr r6, [r6, #0]
2410 0x1fff11ac: cmp r1, r6
2411 0x1fff11ae: bcc.n 0x1fff11ca
2412 0x1fff11b0: adds r6, r1, r2
2413 0x1fff11b2: ldr r1, [pc, #60] ; (0x1fff11f0)
2414 0x1fff11b4: ldr r1, [r1, #0]
2415 0x1fff11b6: adds r1, r1, #1
2416 0x1fff11b8: cmp r6, r1
2417 0x1fff11ba: bhi.n 0x1fff11ca
2418 0x1fff11bc: ldr r1, [pc, #60] ; (0x1fff11fc)
2419 0x1fff11be: adds r2, r4, r2
2420 0x1fff11c0: ldr r1, [r1, #0]
2421 0x1fff11c2: adds r1, r1, #1
2422 0x1fff11c4: cmp r2, r1
2423 0x1fff11c6: bhi.n 0x1fff11ca
2424 0x1fff11c8: movs r0, #0
2425 0x1fff11ca: ldr r1, [r3, #0]
2426 0x1fff11cc: bics r1, r5
2427 0x1fff11ce: str r1, [r3, #0]
2428 0x1fff11d0: pop {r4, r5, r6, pc}
2430 0x1fff11d4: push {r4, lr}
2431 0x1fff11d6: mov r4, r1
2432 0x1fff11d8: bl 0x1fff18a0
2433 0x1fff11dc: lsrs r2, r4, #1
2434 0x1fff11de: cmp r2, r1
2435 0x1fff11e0: bcs.n 0x1fff11e4
2436 0x1fff11e2: adds r0, r0, #1
2437 0x1fff11e4: pop {r4, pc}
2438 0x1fff11e6: movs r0, r0
2439 0x1fff11e8: stmia r0!, {}
2440 0x1fff11ea: ands r3, r0
2441 0x1fff11ec: lsls r0, r7, #16
2442 0x1fff11ee: movs r0, r0
2443 0x1fff11f0: lsls r4, r7, #16
2444 0x1fff11f2: movs r0, r0
2445 0x1fff11f4: lsls r0, r3, #17
2446 0x1fff11f6: movs r0, r0
2447 0x1fff11f8: lsls r4, r3, #17
2448 0x1fff11fa: movs r0, r0
2449 0x1fff11fc: lsls r0, r7, #23
2450 0x1fff11fe: movs r0, r0
2451 0x1fff1200: push {r3, r4, r5, r6, r7, lr}
2452 0x1fff1202: mov r5, r0
2453 0x1fff1204: ldr r4, [pc, #460] ; (0x1fff13d4)
2454 0x1fff1206: movs r0, #0
2455 0x1fff1208: str r0, [r4, #24]
2456 0x1fff120a: movs r1, #255 ; 0xff
2457 0x1fff120c: adds r1, #120 ; 0x78
2458 0x1fff120e: mov r0, r5
2459 0x1fff1210: bl 0x1fff18a0
2460 0x1fff1214: str r0, [r4, #20]
2461 0x1fff1216: ldr r0, [r4, #20]
2462 0x1fff1218: movs r7, #125 ; 0x7d
2463 0x1fff121a: lsls r7, r7, #3
2464 0x1fff121c: mov r1, r7
2465 0x1fff121e: mov r0, r5
2466 0x1fff1220: bl 0x1fff18a0
2467 0x1fff1224: mov r5, r0
2468 0x1fff1226: lsls r1, r0, #4
2469 0x1fff1228: subs r0, r1, r5
2470 0x1fff122a: mov r1, r7
2471 0x1fff122c: bl 0x1fff18a0
2472 0x1fff1230: adds r6, r0, #1
2473 0x1fff1232: mov r0, r5
2474 0x1fff1234: movs r1, #55 ; 0x37
2475 0x1fff1236: muls r0, r1
2476 0x1fff1238: mov r1, r7
2477 0x1fff123a: bl 0x1fff18a0
2478 0x1fff123e: lsls r1, r0, #8
2479 0x1fff1240: adds r1, #255 ; 0xff
2480 0x1fff1242: adds r1, #1
2481 0x1fff1244: orrs r6, r1
2482 0x1fff1246: mov r0, r5
2483 0x1fff1248: movs r1, #35 ; 0x23
2484 0x1fff124a: muls r0, r1
2485 0x1fff124c: mov r1, r7
2486 0x1fff124e: bl 0x1fff18a0
2487 0x1fff1252: movs r1, #1
2488 0x1fff1254: lsls r0, r0, #16
2489 0x1fff1256: lsls r1, r1, #16
2490 0x1fff1258: adds r0, r0, r1
2491 0x1fff125a: orrs r0, r6
2492 0x1fff125c: str r0, [r4, #16]
2493 0x1fff125e: pop {r3, r4, r5, r6, r7, pc}
2494 0x1fff1260: ldr r3, [pc, #368] ; (0x1fff13d4)
2495 0x1fff1262: str r2, [r3, #4]
2496 0x1fff1264: cmp r1, #0
2497 0x1fff1266: beq.n 0x1fff1274
2498 0x1fff1268: cmp r1, #2
2499 0x1fff126a: beq.n 0x1fff1282
2500 0x1fff126c: cmp r0, #0
2501 0x1fff126e: beq.n 0x1fff128e
2502 0x1fff1270: movs r0, #4
2503 0x1fff1272: b.n 0x1fff127a
2504 0x1fff1274: cmp r0, #0
2505 0x1fff1276: beq.n 0x1fff127e
2506 0x1fff1278: movs r0, #3
2507 0x1fff127a: str r0, [r3, #0]
2509 0x1fff127e: movs r0, #8
2510 0x1fff1280: b.n 0x1fff127a
2511 0x1fff1282: cmp r0, #0
2512 0x1fff1284: beq.n 0x1fff128a
2513 0x1fff1286: movs r0, #5
2514 0x1fff1288: b.n 0x1fff127a
2515 0x1fff128a: movs r0, #10
2516 0x1fff128c: b.n 0x1fff127a
2517 0x1fff128e: movs r0, #9
2518 0x1fff1290: b.n 0x1fff127a
2519 0x1fff1292: movs r2, #5
2520 0x1fff1294: ldr r1, [pc, #320] ; (0x1fff13d8)
2521 0x1fff1296: lsls r2, r2, #26
2522 0x1fff1298: str r2, [r1, #40] ; 0x28
2523 0x1fff129a: ldr r2, [pc, #312] ; (0x1fff13d4)
2524 0x1fff129c: str r0, [r2, #4]
2525 0x1fff129e: movs r0, #6
2526 0x1fff12a0: str r0, [r2, #0]
2527 0x1fff12a2: ldr r0, [r1, #32]
2528 0x1fff12a4: lsls r0, r0, #3
2529 0x1fff12a6: bpl.n 0x1fff12a2
2531 0x1fff12aa: push {r4, r5, r6, lr}
2532 0x1fff12ac: mov r4, r1
2533 0x1fff12ae: mov r5, r2
2534 0x1fff12b0: mov r6, r0
2535 0x1fff12b2: movs r1, #4
2536 0x1fff12b4: bl 0x1fff109c
2537 0x1fff12b8: cmp r0, #0
2538 0x1fff12ba: bne.n 0x1fff12d4
2539 0x1fff12bc: movs r1, #4
2540 0x1fff12be: mov r0, r5
2541 0x1fff12c0: bl 0x1fff109c
2542 0x1fff12c4: cmp r0, #0
2543 0x1fff12c6: bne.n 0x1fff12d4
2544 0x1fff12c8: movs r1, #4
2545 0x1fff12ca: mov r0, r4
2546 0x1fff12cc: bl 0x1fff109c
2547 0x1fff12d0: cmp r0, #0
2548 0x1fff12d2: beq.n 0x1fff12e2
2549 0x1fff12d4: movs r1, #2
2550 0x1fff12d6: mov r0, r6
2551 0x1fff12d8: bl 0x1fff109c
2552 0x1fff12dc: cmp r0, #0
2553 0x1fff12de: beq.n 0x1fff12e6
2554 0x1fff12e0: b.n 0x1fff12fe
2555 0x1fff12e2: movs r0, #2
2556 0x1fff12e4: pop {r4, r5, r6, pc}
2557 0x1fff12e6: movs r1, #2
2558 0x1fff12e8: mov r0, r5
2559 0x1fff12ea: bl 0x1fff109c
2560 0x1fff12ee: cmp r0, #0
2561 0x1fff12f0: bne.n 0x1fff12fe
2562 0x1fff12f2: movs r1, #2
2563 0x1fff12f4: mov r0, r4
2564 0x1fff12f6: bl 0x1fff109c
2565 0x1fff12fa: cmp r0, #0
2566 0x1fff12fc: beq.n 0x1fff1302
2567 0x1fff12fe: movs r0, #0
2568 0x1fff1300: pop {r4, r5, r6, pc}
2569 0x1fff1302: movs r0, #1
2570 0x1fff1304: pop {r4, r5, r6, pc}
2571 0x1fff1306: push {r1, r2, r3, r4, r5, r6, r7, lr}
2572 0x1fff1308: mov r5, r0
2573 0x1fff130a: mov r4, r1
2574 0x1fff130c: mov r6, r2
2575 0x1fff130e: bl 0x1fff12aa
2576 0x1fff1312: mov r1, r0
2577 0x1fff1314: str r0, [sp, #0]
2578 0x1fff1316: mov r2, r5
2579 0x1fff1318: movs r0, #1
2580 0x1fff131a: bl 0x1fff1260
2581 0x1fff131e: ldr r7, [pc, #180] ; (0x1fff13d4)
2582 0x1fff1320: str r5, [sp, #4]
2583 0x1fff1322: b.n 0x1fff136e
2584 0x1fff1324: ldr r0, [sp, #0]
2585 0x1fff1326: cmp r0, #0
2586 0x1fff1328: beq.n 0x1fff1346
2587 0x1fff132a: cmp r0, #2
2588 0x1fff132c: beq.n 0x1fff1352
2589 0x1fff132e: ldrh r0, [r4, #0]
2590 0x1fff1330: adds r4, r4, #2
2591 0x1fff1332: str r0, [r7, #8]
2592 0x1fff1334: adds r5, r5, #2
2593 0x1fff1336: subs r6, r6, #2
2594 0x1fff1338: movs r1, #64 ; 0x40
2595 0x1fff133a: mov r0, r5
2596 0x1fff133c: bl 0x1fff109c
2597 0x1fff1340: cmp r0, #0
2598 0x1fff1342: bne.n 0x1fff136e
2599 0x1fff1344: b.n 0x1fff135c
2600 0x1fff1346: ldrb r0, [r4, #0]
2601 0x1fff1348: adds r4, r4, #1
2602 0x1fff134a: str r0, [r7, #8]
2603 0x1fff134c: adds r5, r5, #1
2604 0x1fff134e: subs r6, r6, #1
2605 0x1fff1350: b.n 0x1fff1338
2606 0x1fff1352: ldmia r4!, {r0}
2607 0x1fff1354: str r0, [r7, #8]
2608 0x1fff1356: adds r5, r5, #4
2609 0x1fff1358: subs r6, r6, #4
2610 0x1fff135a: b.n 0x1fff1338
2611 0x1fff135c: ldr r0, [sp, #4]
2612 0x1fff135e: bl 0x1fff1292
2613 0x1fff1362: mov r2, r5
2614 0x1fff1364: str r5, [sp, #4]
2615 0x1fff1366: movs r0, #1
2616 0x1fff1368: ldr r1, [sp, #0]
2617 0x1fff136a: bl 0x1fff1260
2618 0x1fff136e: cmp r6, #0
2619 0x1fff1370: bne.n 0x1fff1324
2620 0x1fff1372: movs r1, #64 ; 0x40
2621 0x1fff1374: mov r0, r5
2622 0x1fff1376: bl 0x1fff109c
2623 0x1fff137a: cmp r0, #0
2624 0x1fff137c: beq.n 0x1fff1384
2625 0x1fff137e: ldr r0, [sp, #4]
2626 0x1fff1380: bl 0x1fff1292
2627 0x1fff1384: movs r0, #0
2628 0x1fff1386: str r0, [r7, #0]
2629 0x1fff1388: str r0, [r7, #20]
2630 0x1fff138a: pop {r1, r2, r3, r4, r5, r6, r7, pc}
2631 0x1fff138c: push {r3, r4, r5, r6, r7, lr}
2632 0x1fff138e: mov r7, r0
2633 0x1fff1390: mov r4, r1
2634 0x1fff1392: mov r5, r2
2635 0x1fff1394: bl 0x1fff12aa
2636 0x1fff1398: mov r6, r0
2637 0x1fff139a: mov r1, r0
2638 0x1fff139c: mov r2, r7
2639 0x1fff139e: movs r0, #0
2640 0x1fff13a0: bl 0x1fff1260
2641 0x1fff13a4: ldr r0, [pc, #44] ; (0x1fff13d4)
2642 0x1fff13a6: b.n 0x1fff13b8
2643 0x1fff13a8: cmp r6, #0
2644 0x1fff13aa: beq.n 0x1fff13c4
2645 0x1fff13ac: ldr r1, [r0, #12]
2646 0x1fff13ae: cmp r6, #2
2647 0x1fff13b0: beq.n 0x1fff13ce
2648 0x1fff13b2: strh r1, [r4, #0]
2649 0x1fff13b4: adds r4, r4, #2
2650 0x1fff13b6: subs r5, r5, #2
2651 0x1fff13b8: cmp r5, #0
2652 0x1fff13ba: bne.n 0x1fff13a8
2653 0x1fff13bc: movs r1, #0
2654 0x1fff13be: str r1, [r0, #0]
2655 0x1fff13c0: str r1, [r0, #20]
2656 0x1fff13c2: pop {r3, r4, r5, r6, r7, pc}
2657 0x1fff13c4: ldr r1, [r0, #12]
2658 0x1fff13c6: strb r1, [r4, #0]
2659 0x1fff13c8: adds r4, r4, #1
2660 0x1fff13ca: subs r5, r5, #1
2661 0x1fff13cc: b.n 0x1fff13b8
2662 0x1fff13ce: stmia r4!, {r1}
2663 0x1fff13d0: subs r5, r5, #4
2664 0x1fff13d2: b.n 0x1fff13b8
2665 0x1fff13d4: stmia r0!, {r7}
2666 0x1fff13d6: ands r3, r0
2667 0x1fff13d8: ldmia r7, {r6, r7}
2668 0x1fff13da: ands r3, r0
2672 0x1fff13dc: push {r0, r1, r4, r5, r6, r7, lr}
2673 0x1fff13de: sub sp, #28
2674 0x1fff13e0: movs r0, #1
2675 0x1fff13e2: movs r6, #0
2676 0x1fff13e4: str r0, [sp, #12]
2677 0x1fff13e6: bl 0x1fff1616
2678 0x1fff13ea: mov r4, r0
2679 0x1fff13ec: bl 0x1fff1610
2680 0x1fff13f0: ldr r1, [pc, #496] ; (0x1fff15e4)
2681 0x1fff13f2: ldr r0, [r1, #0]
2682 0x1fff13f4: movs r2, #64 ; 0x40
2683 0x1fff13f6: orrs r0, r2
2684 0x1fff13f8: str r0, [r1, #0]
2685 0x1fff13fa: ldr r0, [pc, #492] ; (0x1fff15e8)
2686 0x1fff13fc: ldr r0, [r0, #0]
2687 0x1fff13fe: str r0, [sp, #8]
2688 0x1fff1400: ldr r0, [r1, #0]
2689 0x1fff1402: bics r0, r2
2690 0x1fff1404: str r0, [r1, #0]
2691 0x1fff1406: mov r0, r4
2692 0x1fff1408: bl 0x1fff1600
2693 0x1fff140c: ldr r0, [sp, #28]
2694 0x1fff140e: ldr r1, [r0, #0]
2695 0x1fff1410: ldr r0, [sp, #32]
2696 0x1fff1412: str r1, [r0, #4]
2697 0x1fff1414: ldr r0, [sp, #28]
2698 0x1fff1416: ldr r1, [pc, #472] ; (0x1fff15f0)
2699 0x1fff1418: ldr r7, [r0, #0]
2700 0x1fff141a: ldr r0, [pc, #464] ; (0x1fff15ec)
2701 0x1fff141c: adds r0, r7, r0
2702 0x1fff141e: cmp r0, r1
2703 0x1fff1420: bcs.n 0x1fff1434
2704 0x1fff1422: ldr r0, [sp, #28]
2705 0x1fff1424: ldr r1, [sp, #8]
2706 0x1fff1426: ldr r0, [r0, #4]
2707 0x1fff1428: str r0, [sp, #0]
2708 0x1fff142a: cmp r0, r1
2709 0x1fff142c: bhi.n 0x1fff1434
2710 0x1fff142e: lsls r0, r0, #8
2711 0x1fff1430: cmp r0, r7
2712 0x1fff1432: bcs.n 0x1fff143e
2713 0x1fff1434: ldr r1, [sp, #32]
2714 0x1fff1436: movs r0, #1
2715 0x1fff1438: str r0, [r1, #0]
2716 0x1fff143a: add sp, #36 ; 0x24
2717 0x1fff143c: pop {r4, r5, r6, r7, pc}
2721 0x1fff143e: ldr r0, [sp, #28]
2722 0x1fff1440: ldr r0, [r0, #8]
2723 0x1fff1442: str r0, [sp, #20]
2724 0x1fff1444: cmp r0, #3
2725 0x1fff1446: bls.n 0x1fff1450
2726 0x1fff1448: ldr r0, [sp, #32]
2727 0x1fff144a: movs r1, #2
2728 0x1fff144c: str r1, [r0, #0]
2729 0x1fff144e: b.n 0x1fff143a
2730 0x1fff1450: movs r4, #1
2731 0x1fff1452: movs r5, #0
2732 0x1fff1454: str r7, [sp, #4]
2733 0x1fff1456: str r4, [sp, #16]
2734 0x1fff1458: b.n 0x1fff14ea
2735 0x1fff145a: ldr r1, [sp, #0]
2736 0x1fff145c: ldr r0, [sp, #4]
2737 0x1fff145e: bl 0x1fff18a0
2738 0x1fff1462: ldr r1, [sp, #0]
2739 0x1fff1464: ldr r2, [sp, #4]
2740 0x1fff1466: muls r1, r0
2741 0x1fff1468: cmp r1, r2
2742 0x1fff146a: bne.n 0x1fff1474
2743 0x1fff146c: str r0, [sp, #16]
2744 0x1fff146e: movs r0, #0
2745 0x1fff1470: str r0, [sp, #12]
2746 0x1fff1472: b.n 0x1fff14ea
2747 0x1fff1474: ldr r2, [sp, #20]
2748 0x1fff1476: cmp r2, #2
2749 0x1fff1478: beq.n 0x1fff147e
2750 0x1fff147a: cmp r2, #3
2751 0x1fff147c: bne.n 0x1fff14aa
2752 0x1fff147e: cmp r0, #0
2753 0x1fff1480: beq.n 0x1fff14aa
2754 0x1fff1482: cmp r5, #0
2755 0x1fff1484: beq.n 0x1fff14a6
2756 0x1fff1486: ldr r2, [sp, #0]
2757 0x1fff1488: mov r3, r7
2758 0x1fff148a: muls r3, r5
2759 0x1fff148c: muls r2, r6
2760 0x1fff148e: subs r2, r3, r2
2761 0x1fff1490: bpl.n 0x1fff1494
2762 0x1fff1492: negs r2, r2
2763 0x1fff1494: mov r3, r7
2764 0x1fff1496: muls r2, r0
2765 0x1fff1498: muls r3, r4
2766 0x1fff149a: subs r1, r3, r1
2767 0x1fff149c: bpl.n 0x1fff14a0
2768 0x1fff149e: negs r1, r1
2769 0x1fff14a0: muls r1, r6
2770 0x1fff14a2: cmp r1, r2
2771 0x1fff14a4: bge.n 0x1fff14aa
2772 0x1fff14a6: mov r5, r4
2773 0x1fff14a8: mov r6, r0
2774 0x1fff14aa: ldr r1, [sp, #20]
2775 0x1fff14ac: cmp r1, #1
2776 0x1fff14ae: beq.n 0x1fff14b4
2777 0x1fff14b0: cmp r1, #3
2778 0x1fff14b2: bne.n 0x1fff14e2
2779 0x1fff14b4: cmp r5, #0
2780 0x1fff14b6: beq.n 0x1fff1502
2781 0x1fff14b8: ldr r1, [sp, #0]
2782 0x1fff14ba: mov r2, r7
2783 0x1fff14bc: adds r0, r0, #1
2784 0x1fff14be: muls r2, r5
2785 0x1fff14c0: muls r1, r6
2786 0x1fff14c2: subs r2, r2, r1
2787 0x1fff14c4: bpl.n 0x1fff14c8
2788 0x1fff14c6: negs r2, r2
2789 0x1fff14c8: ldr r1, [sp, #0]
2790 0x1fff14ca: mov r3, r7
2791 0x1fff14cc: muls r2, r0
2792 0x1fff14ce: muls r3, r4
2793 0x1fff14d0: muls r1, r0
2794 0x1fff14d2: subs r1, r3, r1
2795 0x1fff14d4: bpl.n 0x1fff14d8
2796 0x1fff14d6: negs r1, r1
2797 0x1fff14d8: muls r1, r6
2798 0x1fff14da: cmp r1, r2
2799 0x1fff14dc: bge.n 0x1fff14e2
2800 0x1fff14de: mov r5, r4
2801 0x1fff14e0: mov r6, r0
2802 0x1fff14e2: ldr r0, [sp, #4]
2803 0x1fff14e4: adds r0, r7, r0
2804 0x1fff14e6: adds r4, r4, #1
2805 0x1fff14e8: str r0, [sp, #4]
2806 0x1fff14ea: ldr r1, [sp, #8]
2807 0x1fff14ec: ldr r0, [sp, #4]
2808 0x1fff14ee: cmp r0, r1
2809 0x1fff14f0: bhi.n 0x1fff14f8
2810 0x1fff14f2: ldr r0, [sp, #12]
2811 0x1fff14f4: cmp r0, #0
2812 0x1fff14f6: bne.n 0x1fff145a
2813 0x1fff14f8: ldr r0, [sp, #20]
2814 0x1fff14fa: movs r7, #0
2815 0x1fff14fc: cmp r0, #0
2816 0x1fff14fe: beq.n 0x1fff1508
2817 0x1fff1500: b.n 0x1fff150e
2818 0x1fff1502: mov r5, r4
2819 0x1fff1504: adds r0, r0, #1
2820 0x1fff1506: b.n 0x1fff14e0
2821 0x1fff1508: ldr r0, [sp, #12]
2822 0x1fff150a: cmp r0, #1
2823 0x1fff150c: beq.n 0x1fff1532
2824 0x1fff150e: cmp r5, #0
2825 0x1fff1510: bne.n 0x1fff1518
2826 0x1fff1512: ldr r0, [sp, #12]
2827 0x1fff1514: cmp r0, #1
2828 0x1fff1516: beq.n 0x1fff1532
2829 0x1fff1518: ldr r1, [sp, #32]
2830 0x1fff151a: movs r0, #0
2831 0x1fff151c: str r0, [r1, #0]
2832 0x1fff151e: ldr r0, [sp, #12]
2833 0x1fff1520: cmp r0, #0
2834 0x1fff1522: beq.n 0x1fff1544
2835 0x1fff1524: mov r4, r5
2836 0x1fff1526: str r6, [sp, #16]
2837 0x1fff1528: ldr r0, [sp, #28]
2838 0x1fff152a: ldr r2, [pc, #200] ; (0x1fff15f4)
2839 0x1fff152c: ldr r0, [r0, #0]
2840 0x1fff152e: muls r0, r4
2841 0x1fff1530: b.n 0x1fff155a
2842 0x1fff1532: movs r0, #1
2843 0x1fff1534: movs r4, #0
2844 0x1fff1536: str r0, [sp, #16]
2845 0x1fff1538: ldr r1, [sp, #32]
2846 0x1fff153a: movs r0, #3
2847 0x1fff153c: str r0, [r1, #0]
2848 0x1fff153e: ldr r0, [sp, #28]
2849 0x1fff1540: ldr r1, [r0, #0]
2850 0x1fff1542: b.n 0x1fff154e
2851 0x1fff1544: cmp r4, #1
2852 0x1fff1546: bne.n 0x1fff1528
2853 0x1fff1548: ldr r0, [sp, #28]
2854 0x1fff154a: movs r4, #0
2855 0x1fff154c: ldr r1, [r0, #4]
2856 0x1fff154e: ldr r0, [sp, #32]
2857 0x1fff1550: str r1, [r0, #4]
2858 0x1fff1552: b.n 0x1fff156e
2859 0x1fff1554: adds r7, r7, #1
2860 0x1fff1556: cmp r7, #4
2861 0x1fff1558: beq.n 0x1fff1564
2862 0x1fff155a: mov r1, r0
2863 0x1fff155c: lsls r1, r7
2864 0x1fff155e: lsls r1, r1, #1
2865 0x1fff1560: cmp r1, r2
2866 0x1fff1562: bcc.n 0x1fff1554
2867 0x1fff1564: ldr r1, [sp, #16]
2868 0x1fff1566: bl 0x1fff18a0
2869 0x1fff156a: ldr r1, [sp, #32]
2870 0x1fff156c: str r0, [r1, #4]
2871 0x1fff156e: ldr r1, [pc, #136] ; (0x1fff15f8)
2872 0x1fff1570: ldr r0, [sp, #16]
2873 0x1fff1572: str r0, [r1, #56] ; 0x38
2874 0x1fff1574: ldr r3, [pc, #132] ; (0x1fff15fc)
2875 0x1fff1576: movs r5, #128 ; 0x80
2876 0x1fff1578: ldr r0, [r3, #56] ; 0x38
2877 0x1fff157a: cmp r4, #0
2878 0x1fff157c: beq.n 0x1fff1596
2879 0x1fff157e: bics r0, r5
2880 0x1fff1580: str r0, [r3, #56] ; 0x38
2881 0x1fff1582: lsls r0, r7, #5
2882 0x1fff1584: subs r4, r4, #1
2883 0x1fff1586: orrs r0, r4
2884 0x1fff1588: ldr r4, [pc, #108] ; (0x1fff15f8)
2885 0x1fff158a: subs r4, #64 ; 0x40
2886 0x1fff158c: str r0, [r4, #8]
2887 0x1fff158e: ldr r0, [sp, #28]
2888 0x1fff1590: ldr r2, [r0, #12]
2889 0x1fff1592: adds r0, r2, #1
2890 0x1fff1594: b.n 0x1fff15a2
2891 0x1fff1596: orrs r0, r5
2892 0x1fff1598: str r0, [r3, #56] ; 0x38
2893 0x1fff159a: b.n 0x1fff143a
2894 0x1fff159c: cmp r2, #0
2895 0x1fff159e: beq.n 0x1fff15a2
2896 0x1fff15a0: subs r0, r0, #1
2897 0x1fff15a2: ldr r6, [r4, #12]
2898 0x1fff15a4: lsls r6, r6, #31
2899 0x1fff15a6: bne.n 0x1fff15ac
2900 0x1fff15a8: cmp r0, #0
2901 0x1fff15aa: bne.n 0x1fff159c
2902 0x1fff15ac: ldr r0, [r4, #12]
2903 0x1fff15ae: lsls r0, r0, #31
2904 0x1fff15b0: beq.n 0x1fff15c8
2905 0x1fff15b2: movs r0, #3
2906 0x1fff15b4: str r0, [r1, #48] ; 0x30
2907 0x1fff15b6: movs r0, #1
2908 0x1fff15b8: str r0, [r1, #52] ; 0x34
2909 0x1fff15ba: movs r2, #0
2910 0x1fff15bc: str r2, [r1, #52] ; 0x34
2911 0x1fff15be: str r0, [r1, #52] ; 0x34
2912 0x1fff15c0: ldr r0, [r1, #52] ; 0x34
2913 0x1fff15c2: lsls r0, r0, #31
2914 0x1fff15c4: beq.n 0x1fff15c0
2915 0x1fff15c6: b.n 0x1fff143a
2916 0x1fff15c8: ldr r0, [r3, #56] ; 0x38
2917 0x1fff15ca: orrs r0, r5
2918 0x1fff15cc: str r0, [r3, #56] ; 0x38
2919 0x1fff15ce: ldr r0, [sp, #32]
2920 0x1fff15d0: movs r2, #4
2921 0x1fff15d2: str r2, [r0, #0]
2922 0x1fff15d4: movs r0, #1
2923 0x1fff15d6: str r0, [r1, #56] ; 0x38
2924 0x1fff15d8: ldr r0, [sp, #28]
2925 0x1fff15da: ldr r1, [r0, #0]
2926 0x1fff15dc: ldr r0, [sp, #32]
2927 0x1fff15de: str r1, [r0, #4]
2928 0x1fff15e0: b.n 0x1fff143a
2929 0x1fff15e2: movs r0, r0
2930 0x1fff15e4: stmia r0!, {}
2931 0x1fff15e6: ands r3, r0
2932 0x1fff15e8: lsls r4, r6, #23
2933 0x1fff15ea: movs r0, r0
2934 0x1fff15ec: bhi.n 0x1fff15d0
2935 0x1fff15ee: ; <UNDEFINED> instruction: 0xffff3a99
2936 0x1fff15f2: movs r0, r0
2937 0x1fff15f4: str r0, [r4, #20]
2938 0x1fff15f6: movs r2, r0
2939 0x1fff15f8: strh r0, [r0, #2]
2940 0x1fff15fa: ands r4, r0
2941 0x1fff15fc: strh r0, [r0, #16]
2942 0x1fff15fe: ands r4, r0
2944 Reset stuff in preparation for starting application
2947 0x1fff1600: ldr r1, [pc, #244] ; (0x1fff16f8) c0de0000
2948 0x1fff1602: uxth r0, r0
2949 0x1fff1604: orrs r0, r1
2950 0x1fff1606: ldr r1, [pc, #244] ; (0x1fff16fc) 40048200 SCB + 0x200
2951 0x1fff1608: str r0, [r1, #36] ; 0x24 (SCB + 0x224)
2952 0x1fff160a: ldr r0, [pc, #244] ; (0x1fff1700) 4003c000 flash controller
2953 0x1fff160c: ldr r0, [r0, #0]
2959 0x1fff1610: movs r1, #96 ; 0x60
2960 0x1fff1612: orrs r0, r1
2961 0x1fff1614: b.n 0x1fff1600
2962 0x1fff1616: ldr r0, [pc, #228] ; (0x1fff16fc)
2963 0x1fff1618: ldr r0, [r0, #36] ; 0x24
2970 0x1fff161c: push {r3, r4, r5, r6, r7, lr}
2971 0x1fff161e: mov r2, r0
2972 0x1fff1620: ldr r0, [pc, #216] ; (0x1fff16fc)
2973 0x1fff1622: mov r4, r1
2974 0x1fff1624: ldr r0, [r0, #36] ; 0x24
2975 0x1fff1626: str r0, [sp, #0]
2976 0x1fff1628: bl 0x1fff1610
2977 0x1fff162c: ldr r3, [pc, #208] ; (0x1fff1700)
2978 0x1fff162e: ldr r0, [r3, #0]
2979 0x1fff1630: movs r1, #64 ; 0x40
2980 0x1fff1632: orrs r0, r1
2981 0x1fff1634: str r0, [r3, #0]
2982 0x1fff1636: ldr r0, [pc, #208] ; (0x1fff1708)
2983 0x1fff1638: ldr r1, [pc, #200] ; (0x1fff1704)
2984 0x1fff163a: str r1, [r0, #16]
2985 0x1fff163c: ldr r5, [pc, #204] ; (0x1fff170c)
2986 0x1fff163e: movs r1, #125 ; 0x7d
2987 0x1fff1640: ldr r0, [r2, #0]
2988 0x1fff1642: lsls r1, r1, #3
2989 0x1fff1644: ldr r5, [r5, #0]
2990 0x1fff1646: muls r1, r0
2991 0x1fff1648: cmp r1, r5
2992 0x1fff164a: bhi.n 0x1fff165c
2993 0x1fff164c: cmp r0, #0
2994 0x1fff164e: beq.n 0x1fff165c
2995 0x1fff1650: ldr r0, [r2, #4]
2996 0x1fff1652: cmp r0, #3
2997 0x1fff1654: bls.n 0x1fff1660
2998 0x1fff1656: movs r0, #2
2999 0x1fff1658: str r0, [r4, #0]
3000 0x1fff165a: b.n 0x1fff16e2
3001 0x1fff165c: movs r0, #1
3002 0x1fff165e: b.n 0x1fff1658
3003 0x1fff1660: movs r0, #0
3004 0x1fff1662: str r0, [r4, #0]
3005 0x1fff1664: ldr r4, [pc, #148] ; (0x1fff16fc)
3006 0x1fff1666: subs r4, #192 ; 0xc0
3007 0x1fff1668: ldr r1, [r4, #32]
3008 0x1fff166a: str r0, [r4, #32]
3009 0x1fff166c: uxtb r1, r1
3010 0x1fff166e: mov r12, r1
3011 0x1fff1670: ldr r0, [r3, #16]
3012 0x1fff1672: lsrs r0, r0, #8
3013 0x1fff1674: lsls r0, r0, #8
3014 0x1fff1676: adds r0, r0, #2
3015 0x1fff1678: str r0, [r3, #16]
3016 0x1fff167a: ldr r0, [r3, #0]
3017 0x1fff167c: ldr r7, [pc, #144] ; (0x1fff1710)
3018 0x1fff167e: ands r0, r7
3019 0x1fff1680: str r0, [r3, #0]
3020 0x1fff1682: ldr r0, [r2, #4]
3021 0x1fff1684: cmp r0, #0
3022 0x1fff1686: beq.n 0x1fff16ce
3023 0x1fff1688: ldr r1, [r2, #0]
3024 0x1fff168a: movs r5, #6
3025 0x1fff168c: muls r1, r5
3026 0x1fff168e: ldr r5, [pc, #132] ; (0x1fff1714)
3027 0x1fff1690: lsls r0, r0, #1
3028 0x1fff1692: adds r1, r1, r5
3029 0x1fff1694: adds r0, r1, r0
3030 0x1fff1696: subs r0, #8
3031 0x1fff1698: ldrb r1, [r0, #0]
3032 0x1fff169a: ldrb r0, [r0, #1]
3033 0x1fff169c: str r0, [r4, #32]
3034 0x1fff169e: ldr r5, [r3, #16]
3035 0x1fff16a0: movs r4, #3
3036 0x1fff16a2: lsls r4, r4, #14
3037 0x1fff16a4: bics r5, r4
3038 0x1fff16a6: lsrs r4, r1, #4
3039 0x1fff16a8: ldr r6, [pc, #108] ; (0x1fff1718)
3040 0x1fff16aa: lsls r4, r4, #1
3041 0x1fff16ac: ldrh r6, [r6, r4]
3042 0x1fff16ae: orrs r5, r6
3043 0x1fff16b0: str r5, [r3, #16]
3044 0x1fff16b2: ldr r5, [r3, #0]
3045 0x1fff16b4: ldr r6, [pc, #96] ; (0x1fff1718)
3046 0x1fff16b6: ands r5, r7
3047 0x1fff16b8: subs r6, #12
3048 0x1fff16ba: ldrh r4, [r6, r4]
3049 0x1fff16bc: orrs r5, r4
3050 0x1fff16be: str r5, [r3, #0]
3051 0x1fff16c0: ldr r4, [r3, #16]
3052 0x1fff16c2: lsls r1, r1, #28
3053 0x1fff16c4: lsrs r4, r4, #8
3054 0x1fff16c6: lsls r4, r4, #8
3055 0x1fff16c8: lsrs r1, r1, #28
3056 0x1fff16ca: orrs r4, r1
3057 0x1fff16cc: str r4, [r3, #16]
3058 0x1fff16ce: cmp r12, r0
3059 0x1fff16d0: bls.n 0x1fff16e2
3060 0x1fff16d2: ldr r1, [r2, #8]
3061 0x1fff16d4: movs r0, #0
3062 0x1fff16d6: movs r2, #25
3063 0x1fff16d8: muls r1, r2
3064 0x1fff16da: b.n 0x1fff16de
3066 0x1fff16dc: adds r0, r0, #1
3067 0x1fff16de: cmp r1, r0
3068 0x1fff16e0: bhi.n 0x1fff16dc
3069 0x1fff16e2: ldr r0, [pc, #36] ; (0x1fff1708)
3070 0x1fff16e4: movs r1, #0
3071 0x1fff16e6: str r1, [r0, #16]
3072 0x1fff16e8: ldr r0, [r3, #0]
3073 0x1fff16ea: movs r1, #64 ; 0x40
3074 0x1fff16ec: bics r0, r1
3075 0x1fff16ee: str r0, [r3, #0]
3076 0x1fff16f0: ldr r0, [sp, #0]
3077 0x1fff16f2: bl 0x1fff1600
3078 0x1fff16f6: pop {r3, r4, r5, r6, r7, pc}
3080 0x1fff16f0: 0xf7ff9800 0xbdf8ff85 0xc0de0000 0x40048200
3081 0x1fff1700: 0x4003c000 0x12345678 0x400483c0 0x000005f4
3082 0x1fff1710: 0xffffdfef 0x00000680 0x1fff1f80 0x1c04b510
3084 0x1fff16f8: movs r0, r0
3085 0x1fff16fa: stmia r0!, {r1, r2, r3, r4, r6, r7}
3086 0x1fff16fc: strh r0, [r0, #16]
3087 0x1fff16fe: ands r4, r0
3088 0x1fff1700: stmia r0!, {}
3089 0x1fff1702: ands r3, r0
3090 0x1fff1704: ldrsb r0, [r7, r1]
3091 0x1fff1706: asrs r4, r6, #8
3092 0x1fff1708: strh r0, [r0, #30]
3093 0x1fff170a: ands r4, r0
3094 0x1fff170c: lsls r4, r6, #23
3095 0x1fff170e: movs r0, r0
3096 0x1fff1710: svc 239 ; 0xef
3097 0x1fff1712: vcvt.f<illegal width 64>.u<illegal width 64> d16, d0
3098 0x1fff1716: movs r0, r0
3099 0x1fff1718: subs r0, r0, #6
3100 0x1fff171a: subs r7, r7, #7
3104 0x1fff171c: push {r4, lr}
3105 0x1fff171e: adds r4, r0, #0
3106 0x1fff1720: adds r0, r1, #0
3107 0x1fff1722: adds r1, r2, #0
3108 0x1fff1724: bl 0x1fff173c
3109 0x1fff1728: stmia r4!, {r0, r1}
3110 0x1fff172a: pop {r4, pc}
3111 0x1fff172c: push {r4, lr}
3112 0x1fff172e: adds r4, r0, #0
3113 0x1fff1730: adds r0, r1, #0
3114 0x1fff1732: adds r1, r2, #0
3115 0x1fff1734: bl 0x1fff1742
3116 0x1fff1738: stmia r4!, {r0, r1}
3117 0x1fff173a: pop {r4, pc}
3118 0x1fff173c: adds r3, r0, #0
3119 0x1fff173e: orrs r3, r1
3120 0x1fff1740: bmi.n 0x1fff17d8
3121 0x1fff1742: push {r4, r5, lr}
3122 0x1fff1744: mov r12, r0
3123 0x1fff1746: mov lr, r1
3124 0x1fff1748: subs r2, r1, #1
3125 0x1fff174a: bmi.n 0x1fff17cc
3126 0x1fff174c: movs r5, #30
3127 0x1fff174e: lsrs r2, r1, #15
3128 0x1fff1750: bne.n 0x1fff1756
3129 0x1fff1752: subs r5, #16
3130 0x1fff1754: lsls r1, r1, #16
3131 0x1fff1756: lsrs r2, r1, #23
3132 0x1fff1758: bne.n 0x1fff175e
3133 0x1fff175a: subs r5, #8
3134 0x1fff175c: lsls r1, r1, #8
3135 0x1fff175e: lsrs r2, r1, #27
3136 0x1fff1760: bne.n 0x1fff1768
3137 0x1fff1762: subs r5, #4
3138 0x1fff1764: lsls r1, r1, #4
3139 0x1fff1766: lsrs r2, r1, #27
3140 0x1fff1768: add r3, pc, #160 ; (adr r3, 0x1fff180c)
3141 0x1fff176a: ldrb r2, [r3, r2]
3142 0x1fff176c: subs r5, r5, r2
3143 0x1fff176e: lsls r1, r2
3144 0x1fff1770: subs r3, #111 ; 0x6f
3145 0x1fff1772: lsrs r2, r1, #23
3146 0x1fff1774: ldrb r3, [r3, r2]
3147 0x1fff1776: adds r3, #255 ; 0xff
3148 0x1fff1778: lsrs r2, r1, #10
3149 0x1fff177a: muls r2, r3
3150 0x1fff177c: asrs r2, r2, #6
3151 0x1fff177e: muls r2, r3
3152 0x1fff1780: lsls r3, r3, #24
3153 0x1fff1782: subs r3, r3, r2
3154 0x1fff1784: lsrs r3, r3, #15
3155 0x1fff1786: subs r3, #1
3156 0x1fff1788: lsrs r2, r0, #17
3157 0x1fff178a: muls r2, r3
3158 0x1fff178c: lsrs r2, r2, #21
3159 0x1fff178e: lsls r4, r2, #11
3160 0x1fff1790: lsls r0, r0, #9
3161 0x1fff1792: muls r2, r1
3162 0x1fff1794: subs r0, r0, r2
3163 0x1fff1796: lsrs r2, r0, #16
3164 0x1fff1798: muls r2, r3
3165 0x1fff179a: lsrs r2, r2, #20
3166 0x1fff179c: add r4, r2
3167 0x1fff179e: lsls r4, r4, #10
3168 0x1fff17a0: lsls r0, r0, #11
3169 0x1fff17a2: muls r2, r1
3170 0x1fff17a4: subs r0, r0, r2
3171 0x1fff17a6: lsrs r2, r0, #16
3172 0x1fff17a8: muls r2, r3
3173 0x1fff17aa: lsrs r2, r2, #21
3174 0x1fff17ac: add r4, r2
3175 0x1fff17ae: lsls r0, r0, #10
3176 0x1fff17b0: muls r2, r1
3177 0x1fff17b2: subs r0, r0, r2
3178 0x1fff17b4: movs r2, #0
3179 0x1fff17b6: cmp r0, r1
3180 0x1fff17b8: adcs r4, r2
3181 0x1fff17ba: lsrs r4, r5
3182 0x1fff17bc: asrs r5, r5, #8
3183 0x1fff17be: eors r4, r5
3184 0x1fff17c0: subs r0, r4, r5
3185 0x1fff17c2: mov r1, lr
3186 0x1fff17c4: muls r1, r0
3187 0x1fff17c6: mov r2, r12
3188 0x1fff17c8: subs r1, r2, r1
3189 0x1fff17ca: pop {r4, r5, pc}
3190 0x1fff17cc: cmp r1, #0
3191 0x1fff17ce: beq.n 0x1fff17f4
3192 0x1fff17d0: movs r4, #0
3193 0x1fff17d2: cmp r0, r1
3194 0x1fff17d4: adcs r4, r4
3195 0x1fff17d6: b.n 0x1fff17bc
3196 0x1fff17d8: push {r4, r5, lr}
3197 0x1fff17da: mov r12, r0
3198 0x1fff17dc: mov lr, r1
3199 0x1fff17de: asrs r5, r1, #31
3200 0x1fff17e0: eors r1, r5
3201 0x1fff17e2: subs r1, r1, r5
3202 0x1fff17e4: asrs r2, r0, #31
3203 0x1fff17e6: eors r0, r2
3204 0x1fff17e8: subs r0, r0, r2
3205 0x1fff17ea: eors r5, r2
3206 0x1fff17ec: lsls r5, r5, #8
3207 0x1fff17ee: adds r5, #30
3208 0x1fff17f0: cmp r1, #0
3209 0x1fff17f2: bne.n 0x1fff174e
3210 0x1fff17f4: movs r0, #0
3211 0x1fff17f6: pop {r4, r5, pc}
3212 0x1fff17f8: strh r3, [r0, r1]
3213 0x1fff17fa: ldrsh r4, [r2, r5]
3214 0x1fff17fc: ldr r1, [pc, #272] ; (0x1fff1910)
3215 0x1fff17fe: ldr r1, [pc, #344] ; (0x1fff1958)
3216 0x1fff1800: cmp r4, r8
3217 0x1fff1802: strh r7, [r3, r1]
3218 0x1fff1804: ldr r5, [pc, #316] ; (0x1fff1944)
3219 0x1fff1806: movs r0, #32
3220 0x1fff1808: movs r1, r0
3221 0x1fff180a: movs r0, r0
3222 0x1fff180c: lsls r0, r0, #12
3223 0x1fff180e: lsls r2, r0, #8
3224 0x1fff1810: lsls r1, r0, #4
3225 0x1fff1812: lsls r1, r0, #4
3226 0x1fff1814: movs r0, r0
3227 0x1fff1816: movs r0, r0
3228 0x1fff1818: movs r0, r0
3229 0x1fff181a: movs r0, r0
3230 0x1fff181c: vaba.u8 <illegal reg q7.5>, q8, <illegal reg q13.5>
3231 0x1fff1820: blx 0x200e49fc
3232 0x1fff1824: b.n 0x1fff1bf2
3233 0x1fff1826: bge.n 0x1fff17e6
3234 0x1fff1828: bcc.n 0x1fff17da
3235 0x1fff182a: ldmia r5!, {r4, r6, r7}
3236 0x1fff182c: stmia r7!, {r1, r3, r6, r7}
3237 0x1fff182e: stmia r0!, {r0, r1, r6, r7}
3238 0x1fff1830: hlt 0x003d
3239 0x1fff1832: push {r0, r1, r2, r4, r5, r7}
3240 0x1fff1834: add r7, sp, #712 ; 0x2c8
3241 0x1fff1836: add r1, sp, #688 ; 0x2b0
3242 0x1fff1838: add r4, pc, #664 ; (adr r4, 0x1fff1ad4)
3243 0x1fff183a: ldr r6, [sp, #644] ; 0x284
3244 0x1fff183c: ldr r1, [sp, #624] ; 0x270
3245 0x1fff183e: str r4, [sp, #604] ; 0x25c
3246 0x1fff1840: ldrh r2, [r2, #60] ; 0x3c
3247 0x1fff1842: ldrh r5, [r1, #28]
3248 0x1fff1844: strh r0, [r1, #52] ; 0x34
3249 0x1fff1846: strh r4, [r0, #12]
3250 0x1fff1848: ldrb r7, [r7, #21]
3251 0x1fff184a: ldrb r3, [r7, #5]
3252 0x1fff184c: strb r6, [r6, #17]
3253 0x1fff184e: strb r2, [r6, #1]
3254 0x1fff1850: ldr r6, [r5, #68] ; 0x44
3255 0x1fff1852: ldr r2, [r5, #4]
3256 0x1fff1854: str r6, [r4, #68] ; 0x44
3257 0x1fff1856: str r2, [r4, #4]
3258 0x1fff1858: ldrb r7, [r3, r5]
3259 0x1fff185a: ldr r3, [r3, r5]
3260 0x1fff185c: ldrsb r7, [r2, r1]
3261 0x1fff185e: strh r4, [r2, r1]
3262 0x1fff1860: ldr r7, [pc, #320] ; (0x1fff19a4)
3263 0x1fff1862: ldr r3, [pc, #308] ; (0x1fff1998)
3264 0x1fff1864: ldr r0, [pc, #296] ; (0x1fff1990)
3265 0x1fff1866: cmp r6, r8
3266 0x1fff1868: adcs r3, r0
3267 0x1fff186a: subs r6, #64 ; 0x40
3268 0x1fff186c: subs r3, #61 ; 0x3d
3269 0x1fff186e: subs r0, #58 ; 0x3a
3270 0x1fff1870: adds r5, #55 ; 0x37
3271 0x1fff1872: adds r3, #52 ; 0x34
3272 0x1fff1874: adds r0, #49 ; 0x31
3273 0x1fff1876: cmp r5, #46 ; 0x2e
3274 0x1fff1878: cmp r2, #44 ; 0x2c
3275 0x1fff187a: cmp r0, #41 ; 0x29
3276 0x1fff187c: movs r5, #38 ; 0x26
3277 0x1fff187e: movs r2, #36 ; 0x24
3278 0x1fff1880: movs r0, #33 ; 0x21
3279 0x1fff1882: adds r7, r3, #4
3280 0x1fff1884: subs r4, r3, r4
3281 0x1fff1886: adds r2, r3, r0
3282 0x1fff1888: asrs r7, r2, #24
3283 0x1fff188a: asrs r5, r2, #16
3284 0x1fff188c: asrs r3, r2, #4
3285 0x1fff188e: lsrs r0, r2, #28
3286 0x1fff1890: lsrs r6, r1, #20
3287 0x1fff1892: lsrs r4, r1, #12
3288 0x1fff1894: lsrs r2, r1, #4
3289 0x1fff1896: lsls r0, r1, #28
3290 0x1fff1898: lsls r6, r0, #20
3291 0x1fff189a: lsls r4, r0, #12
3292 0x1fff189c: lsls r1, r0, #4
3293 0x1fff189e: nop ; (mov r8, r8)
3294 0x1fff18a0: push {r4, r5, lr}
3295 0x1fff18a2: mov r3, r1
3296 0x1fff18a4: mov r1, r0
3297 0x1fff18a6: movs r0, #0
3298 0x1fff18a8: movs r2, #32
3299 0x1fff18aa: movs r4, #1
3300 0x1fff18ac: b.n 0x1fff18c2
3301 0x1fff18ae: mov r5, r1
3302 0x1fff18b0: lsrs r5, r2
3303 0x1fff18b2: cmp r5, r3
3304 0x1fff18b4: bcc.n 0x1fff18c2
3305 0x1fff18b6: mov r5, r3
3306 0x1fff18b8: lsls r5, r2
3307 0x1fff18ba: subs r1, r1, r5
3308 0x1fff18bc: mov r5, r4
3309 0x1fff18be: lsls r5, r2
3310 0x1fff18c0: adds r0, r0, r5
3311 0x1fff18c2: mov r5, r2
3312 0x1fff18c4: subs r2, r2, #1
3313 0x1fff18c6: cmp r5, #0
3314 0x1fff18c8: bgt.n 0x1fff18ae
3315 0x1fff18ca: pop {r4, r5, pc}
3316 0x1fff18cc: push {r3, r4, r5, r6, r7, lr}
3317 0x1fff18ce: ldr r5, [pc, #208] ; (0x1fff19a0)
3318 0x1fff18d0: mov r7, r0
3319 0x1fff18d2: mov r4, r1
3320 0x1fff18d4: ldr r6, [r5, #0]
3321 0x1fff18d6: bl 0x1fff1616
3322 0x1fff18da: str r0, [sp, #0]
3323 0x1fff18dc: bl 0x1fff1610
3324 0x1fff18e0: ldr r3, [r7, #0]
3325 0x1fff18e2: movs r1, #0
3326 0x1fff18e4: subs r3, #50 ; 0x32
3327 0x1fff18e6: movs r0, #64 ; 0x40
3328 0x1fff18e8: bl 0x1fff19b0
3329 0x1fff18ec: lsrs r5, r1, #32
3330 0x1fff18ee: asrs r5, r1, #8
3331 0x1fff18f0: movs r1, #23
3332 0x1fff18f2: adds r0, r7, #0
3333 0x1fff18f4: movs r6, #70 ; 0x46
3334 0x1fff18f6: strh r3, [r2, r5]
3335 0x1fff18f8: ldr r5, [pc, #292] ; (0x1fff1a20)
3336 0x1fff18fa: lsls r3, r2, #1
3337 0x1fff18fc: mov r1, r4
3338 0x1fff18fe: mov r0, r7
3339 0x1fff1900: bl 0x1fff1e00
3340 0x1fff1904: b.n 0x1fff1996
3341 0x1fff1906: mov r1, r4
3342 0x1fff1908: mov r0, r7
3343 0x1fff190a: bl 0x1fff1c62
3344 0x1fff190e: b.n 0x1fff1996
3345 0x1fff1910: mov r1, r4
3346 0x1fff1912: mov r0, r7
3347 0x1fff1914: bl 0x1fff1b30
3348 0x1fff1918: b.n 0x1fff1996
3349 0x1fff191a: mov r1, r4
3350 0x1fff191c: mov r0, r7
3351 0x1fff191e: bl 0x1fff1a04
3352 0x1fff1922: b.n 0x1fff1996
3353 0x1fff1924: mov r1, r4
3354 0x1fff1926: mov r0, r7
3355 0x1fff1928: bl 0x1fff1e8c
3356 0x1fff192c: b.n 0x1fff1996
3357 0x1fff192e: ldr r0, [pc, #116] ; (0x1fff19a4)
3358 0x1fff1930: str r1, [r4, #0]
3359 0x1fff1932: ldr r0, [r0, #52] ; 0x34
3360 0x1fff1934: str r0, [r4, #4]
3361 0x1fff1936: b.n 0x1fff1996
3362 0x1fff1938: str r1, [r4, #0]
3363 0x1fff193a: ldr r1, [r5, #0]
3364 0x1fff193c: orrs r1, r0
3365 0x1fff193e: str r1, [r5, #0]
3366 0x1fff1940: ldr r1, [pc, #100] ; (0x1fff19a8)
3367 0x1fff1942: ldr r2, [r1, #0]
3368 0x1fff1944: ldr r2, [r2, #0]
3369 0x1fff1946: str r2, [r4, #4]
3370 0x1fff1948: ldr r2, [r1, #0]
3371 0x1fff194a: ldr r2, [r2, #4]
3372 0x1fff194c: str r2, [r4, #8]
3373 0x1fff194e: ldr r2, [r1, #0]
3374 0x1fff1950: ldr r2, [r2, #8]
3375 0x1fff1952: str r2, [r4, #12]
3376 0x1fff1954: ldr r1, [r1, #0]
3377 0x1fff1956: ldr r1, [r1, #12]
3378 0x1fff1958: str r1, [r4, #16]
3379 0x1fff195a: b.n 0x1fff196a
3380 0x1fff195c: str r1, [r4, #0]
3381 0x1fff195e: ldr r1, [r5, #0]
3382 0x1fff1960: orrs r1, r0
3383 0x1fff1962: str r1, [r5, #0]
3384 0x1fff1964: ldr r1, [pc, #68] ; (0x1fff19ac)
3385 0x1fff1966: ldr r1, [r1, #0]
3386 0x1fff1968: str r1, [r4, #4]
3387 0x1fff196a: ldr r1, [r5, #0]
3388 0x1fff196c: bics r1, r0
3389 0x1fff196e: str r1, [r5, #0]
3390 0x1fff1970: ldr r1, [r5, #0]
3391 0x1fff1972: bics r1, r0
3392 0x1fff1974: str r1, [r5, #0]
3393 0x1fff1976: b.n 0x1fff1996
3394 0x1fff1978: bl 0x1fff1e7e
3395 0x1fff197c: b.n 0x1fff1996
3396 0x1fff197e: mov r2, r4
3397 0x1fff1980: mov r1, r7
3398 0x1fff1982: movs r0, #1
3399 0x1fff1984: b.n 0x1fff198c
3400 0x1fff1986: mov r2, r4
3401 0x1fff1988: mov r1, r7
3402 0x1fff198a: movs r0, #0
3403 0x1fff198c: bl 0x1fff1e3c
3404 0x1fff1990: b.n 0x1fff1996
3405 0x1fff1992: movs r0, #1
3406 0x1fff1994: str r0, [r4, #0]
3407 0x1fff1996: str r6, [r5, #0]
3408 0x1fff1998: ldr r0, [sp, #0]
3409 0x1fff199a: bl 0x1fff1600
3410 0x1fff199e: pop {r3, r4, r5, r6, r7, pc}
3411 0x1fff19a0: stmia r0!, {}
3412 0x1fff19a2: ands r3, r0
3413 0x1fff19a4: strh r0, [r0, #30]
3414 0x1fff19a6: ands r4, r0
3415 0x1fff19a8: lsls r4, r3, #23
3416 0x1fff19aa: movs r0, r0
3417 0x1fff19ac: lsls r4, r6, #16
3418 0x1fff19ae: movs r0, r0
3419 0x1fff19b0: push {r4, r5}
3420 0x1fff19b2: mov r4, lr
3421 0x1fff19b4: subs r4, r4, #1
3422 0x1fff19b6: ldrb r5, [r4, #0]
3423 0x1fff19b8: adds r4, r4, #1
3424 0x1fff19ba: cmp r3, r5
3425 0x1fff19bc: bcs.n 0x1fff19c0
3426 0x1fff19be: mov r5, r3
3427 0x1fff19c0: ldrb r3, [r4, r5]
3428 0x1fff19c2: lsls r3, r3, #1
3429 0x1fff19c4: adds r3, r4, r3
3430 0x1fff19c6: pop {r4, r5}
3432 0x1fff19ca: vsli.32 d27, d16, #31
3433 0x1fff19ce: ldr r2, [pc, #1016] ; (0x1fff1dc8)
3434 0x1fff19d0: ldr r4, [r2, #0]
3435 0x1fff19d2: movs r3, #64 ; 0x40
3436 0x1fff19d4: orrs r4, r3
3437 0x1fff19d6: str r4, [r2, #0]
3438 0x1fff19d8: ldr r4, [pc, #1008] ; (0x1fff1dcc)
3439 0x1fff19da: ldr r5, [r4, #0]
3440 0x1fff19dc: cmp r0, r5
3441 0x1fff19de: bhi.n 0x1fff19e4
3442 0x1fff19e0: cmp r1, r5
3443 0x1fff19e2: bls.n 0x1fff19ec
3444 0x1fff19e4: ldr r0, [r2, #0]
3445 0x1fff19e6: bics r0, r3
3446 0x1fff19e8: str r0, [r2, #0]
3447 0x1fff19ea: b.n 0x1fff19f6
3448 0x1fff19ec: ldr r4, [r2, #0]
3449 0x1fff19ee: bics r4, r3
3450 0x1fff19f0: str r4, [r2, #0]
3451 0x1fff19f2: cmp r0, r1
3452 0x1fff19f4: bls.n 0x1fff19fa
3453 0x1fff19f6: movs r0, #7
3454 0x1fff19f8: pop {r4, r5, pc}
3455 0x1fff19fa: ldr r0, [r2, #0]
3456 0x1fff19fc: bics r0, r3
3457 0x1fff19fe: str r0, [r2, #0]
3458 0x1fff1a00: movs r0, #0
3459 0x1fff1a02: pop {r4, r5, pc}
3460 0x1fff1a04: push {r4, r5, r6, lr}
3461 0x1fff1a06: mov r4, r1
3462 0x1fff1a08: mov r5, r0
3463 0x1fff1a0a: ldr r1, [r0, #8]
3464 0x1fff1a0c: ldr r0, [r0, #4]
3465 0x1fff1a0e: bl 0x1fff19cc
3466 0x1fff1a12: str r0, [r4, #0]
3467 0x1fff1a14: cmp r0, #0
3468 0x1fff1a16: bne.n 0x1fff1a54
3469 0x1fff1a18: ldr r0, [pc, #940] ; (0x1fff1dc8)
3470 0x1fff1a1a: ldr r1, [r0, #0]
3471 0x1fff1a1c: movs r6, #64 ; 0x40
3472 0x1fff1a1e: orrs r1, r6
3473 0x1fff1a20: str r1, [r0, #0]
3474 0x1fff1a22: ldr r1, [r5, #4]
3475 0x1fff1a24: ldr r3, [pc, #940] ; (0x1fff1dd4)
3476 0x1fff1a26: lsls r2, r1, #2
3477 0x1fff1a28: ldr r1, [pc, #932] ; (0x1fff1dd0)
3478 0x1fff1a2a: ldr r1, [r1, r2]
3479 0x1fff1a2c: ldr r2, [r5, #8]
3480 0x1fff1a2e: ldr r5, [r0, #0]
3481 0x1fff1a30: lsls r2, r2, #2
3482 0x1fff1a32: ldr r3, [r3, r2]
3483 0x1fff1a34: mov r2, r1
3484 0x1fff1a36: bics r5, r6
3485 0x1fff1a38: str r5, [r0, #0]
3486 0x1fff1a3a: lsls r0, r6, #9
3487 0x1fff1a3c: b.n 0x1fff1a58
3488 0x1fff1a3e: adds r5, r2, r0
3489 0x1fff1a40: ldr r5, [r5, #0]
3490 0x1fff1a42: adds r5, r5, #1
3491 0x1fff1a44: beq.n 0x1fff1a56
3492 0x1fff1a46: movs r3, #8
3493 0x1fff1a48: subs r1, r2, r1
3494 0x1fff1a4a: str r3, [r4, #0]
3495 0x1fff1a4c: adds r0, r2, r0
3496 0x1fff1a4e: str r1, [r4, #4]
3497 0x1fff1a50: ldr r0, [r0, #0]
3498 0x1fff1a52: str r0, [r4, #8]
3499 0x1fff1a54: pop {r4, r5, r6, pc}
3500 0x1fff1a56: adds r2, r2, #4
3501 0x1fff1a58: cmp r2, r3
3502 0x1fff1a5a: bcc.n 0x1fff1a3e
3503 0x1fff1a5c: movs r0, #0
3504 0x1fff1a5e: str r0, [r4, #0]
3505 0x1fff1a60: pop {r4, r5, r6, pc}
3506 0x1fff1a62: push {r4, lr}
3507 0x1fff1a64: ldr r4, [sp, #8]
3508 0x1fff1a66: str r1, [r0, #0]
3509 0x1fff1a68: cmp r2, #0
3510 0x1fff1a6a: beq.n 0x1fff1a76
3511 0x1fff1a6c: str r3, [r2, #0]
3512 0x1fff1a6e: ldr r0, [r2, #0]
3513 0x1fff1a70: tst r0, r3
3514 0x1fff1a72: bne.n 0x1fff1a6e
3515 0x1fff1a74: pop {r4, pc}
3516 0x1fff1a76: ldr r0, [r4, #0]
3517 0x1fff1a78: lsls r0, r0, #29
3518 0x1fff1a7a: beq.n 0x1fff1a76
3519 0x1fff1a7c: pop {r4, pc}
3520 0x1fff1a7e: push {r3, r4, r5, r6, r7, lr}
3521 0x1fff1a80: ldr r7, [pc, #836] ; (0x1fff1dc8)
3522 0x1fff1a82: mov r4, r0
3523 0x1fff1a84: ldr r0, [r7, #4]
3524 0x1fff1a86: mov r12, r1
3525 0x1fff1a88: mov r6, r2
3526 0x1fff1a8a: movs r5, #0
3527 0x1fff1a8c: movs r1, #5
3528 0x1fff1a8e: bics r1, r0
3529 0x1fff1a90: beq.n 0x1fff1ac6
3530 0x1fff1a92: movs r0, #11
3531 0x1fff1a94: pop {r3, r4, r5, r6, r7, pc}
3532 0x1fff1a96: movs r0, #1
3533 0x1fff1a98: lsls r0, r4
3534 0x1fff1a9a: orrs r5, r0
3535 0x1fff1a9c: ldr r1, [r7, #0]
3536 0x1fff1a9e: mov r0, r7
3537 0x1fff1aa0: movs r3, #64 ; 0x40
3538 0x1fff1aa2: orrs r1, r3
3539 0x1fff1aa4: str r1, [r7, #0]
3540 0x1fff1aa6: ldr r2, [pc, #808] ; (0x1fff1dd0)
3541 0x1fff1aa8: lsls r1, r4, #2
3542 0x1fff1aaa: ldr r1, [r2, r1]
3543 0x1fff1aac: lsls r2, r3, #9
3544 0x1fff1aae: adds r2, r1, r2
3545 0x1fff1ab0: ldr r1, [r7, #0]
3546 0x1fff1ab2: bics r1, r3
3547 0x1fff1ab4: str r1, [r7, #0]
3548 0x1fff1ab6: str r6, [r2, #0]
3549 0x1fff1ab8: movs r3, #0
3550 0x1fff1aba: mov r2, r3
3551 0x1fff1abc: ldr r1, [pc, #792] ; (0x1fff1dd8)
3552 0x1fff1abe: str r7, [sp, #0]
3553 0x1fff1ac0: bl 0x1fff1a62
3554 0x1fff1ac4: adds r4, r4, #1
3555 0x1fff1ac6: cmp r4, r12
3556 0x1fff1ac8: bls.n 0x1fff1a96
3557 0x1fff1aca: ldr r0, [r7, #0]
3558 0x1fff1acc: movs r2, #64 ; 0x40
3559 0x1fff1ace: orrs r0, r2
3560 0x1fff1ad0: str r0, [r7, #0]
3561 0x1fff1ad2: ldr r0, [pc, #776] ; (0x1fff1ddc)
3562 0x1fff1ad4: ldr r0, [r0, #0]
3563 0x1fff1ad6: subs r0, #63 ; 0x3f
3564 0x1fff1ad8: cmp r6, #0
3565 0x1fff1ada: bne.n 0x1fff1ae2
3566 0x1fff1adc: ldr r1, [r0, #60] ; 0x3c
3567 0x1fff1ade: bics r1, r5
3568 0x1fff1ae0: str r1, [r0, #60] ; 0x3c
3569 0x1fff1ae2: adds r6, r6, #1
3570 0x1fff1ae4: bne.n 0x1fff1aec
3571 0x1fff1ae6: ldr r1, [r0, #60] ; 0x3c
3572 0x1fff1ae8: orrs r1, r5
3573 0x1fff1aea: str r1, [r0, #60] ; 0x3c
3574 0x1fff1aec: ldr r0, [r7, #0]
3575 0x1fff1aee: bics r0, r2
3576 0x1fff1af0: str r0, [r7, #0]
3577 0x1fff1af2: movs r0, #0
3578 0x1fff1af4: pop {r3, r4, r5, r6, r7, pc}
3579 0x1fff1af6: push {r4, lr}
3580 0x1fff1af8: movs r2, #0
3581 0x1fff1afa: movs r4, #1
3582 0x1fff1afc: b.n 0x1fff1b06
3583 0x1fff1afe: mov r3, r4
3584 0x1fff1b00: lsls r3, r0
3585 0x1fff1b02: orrs r2, r3
3586 0x1fff1b04: adds r0, r0, #1
3587 0x1fff1b06: cmp r0, r1
3588 0x1fff1b08: bls.n 0x1fff1afe
3589 0x1fff1b0a: ldr r0, [pc, #700] ; (0x1fff1dc8)
3590 0x1fff1b0c: ldr r1, [r0, #0]
3591 0x1fff1b0e: movs r3, #64 ; 0x40
3592 0x1fff1b10: orrs r1, r3
3593 0x1fff1b12: str r1, [r0, #0]
3594 0x1fff1b14: ldr r1, [pc, #708] ; (0x1fff1ddc)
3595 0x1fff1b16: ldr r1, [r1, #0]
3596 0x1fff1b18: subs r1, #63 ; 0x3f
3597 0x1fff1b1a: ldr r1, [r1, #60] ; 0x3c
3598 0x1fff1b1c: ands r1, r2
3599 0x1fff1b1e: ldr r2, [r0, #0]
3600 0x1fff1b20: bics r2, r3
3601 0x1fff1b22: str r2, [r0, #0]
3602 0x1fff1b24: cmp r1, #0
3603 0x1fff1b26: beq.n 0x1fff1b2c
3604 0x1fff1b28: movs r0, #9
3605 0x1fff1b2a: pop {r4, pc}
3606 0x1fff1b2c: movs r0, #0
3607 0x1fff1b2e: pop {r4, pc}
3608 0x1fff1b30: push {r3, r4, r5, r6, r7, lr}
3609 0x1fff1b32: mov r6, r1
3610 0x1fff1b34: mov r4, r0
3611 0x1fff1b36: ldr r1, [r0, #8]
3612 0x1fff1b38: ldr r0, [r0, #4]
3613 0x1fff1b3a: bl 0x1fff19cc
3614 0x1fff1b3e: str r0, [r6, #0]
3615 0x1fff1b40: cmp r0, #0
3616 0x1fff1b42: bne.n 0x1fff1c26
3617 0x1fff1b44: ldr r1, [r4, #8]
3618 0x1fff1b46: ldr r0, [r4, #4]
3619 0x1fff1b48: bl 0x1fff1af6
3620 0x1fff1b4c: str r0, [r6, #0]
3621 0x1fff1b4e: cmp r0, #0
3622 0x1fff1b50: bne.n 0x1fff1c26
3623 0x1fff1b52: ldr r5, [pc, #628] ; (0x1fff1dc8)
3624 0x1fff1b54: ldr r0, [r5, #0]
3625 0x1fff1b56: movs r1, #64 ; 0x40
3626 0x1fff1b58: orrs r0, r1
3627 0x1fff1b5a: str r0, [r5, #0]
3628 0x1fff1b5c: ldr r1, [pc, #640] ; (0x1fff1de0)
3629 0x1fff1b5e: ldr r0, [r4, #12]
3630 0x1fff1b60: ldr r1, [r1, #0]
3631 0x1fff1b62: bl 0x1fff18a0
3632 0x1fff1b66: str r0, [r5, #28]
3633 0x1fff1b68: ldr r1, [pc, #632] ; (0x1fff1de4)
3634 0x1fff1b6a: ldr r0, [r4, #12]
3635 0x1fff1b6c: ldr r1, [r1, #0]
3636 0x1fff1b6e: muls r0, r1
3637 0x1fff1b70: lsrs r0, r0, #9
3638 0x1fff1b72: adds r0, r0, #3
3639 0x1fff1b74: movs r1, #1
3640 0x1fff1b76: lsls r1, r1, #15
3641 0x1fff1b78: orrs r0, r1
3642 0x1fff1b7a: str r0, [r5, #8]
3643 0x1fff1b7c: ldr r7, [r4, #4]
3644 0x1fff1b7e: ldr r0, [r4, #8]
3645 0x1fff1b80: cmp r7, r0
3646 0x1fff1b82: bne.n 0x1fff1bb4
3647 0x1fff1b84: b.n 0x1fff1bbc
3648 0x1fff1b86: ldr r1, [r5, #0]
3649 0x1fff1b88: mov r0, r5
3650 0x1fff1b8a: movs r2, #64 ; 0x40
3651 0x1fff1b8c: orrs r1, r2
3652 0x1fff1b8e: str r1, [r5, #0]
3653 0x1fff1b90: ldr r1, [pc, #572] ; (0x1fff1dd0)
3654 0x1fff1b92: lsls r3, r7, #2
3655 0x1fff1b94: ldr r3, [r1, r3]
3656 0x1fff1b96: lsls r1, r2, #9
3657 0x1fff1b98: adds r1, r3, r1
3658 0x1fff1b9a: ldr r3, [r5, #0]
3659 0x1fff1b9c: bics r3, r2
3660 0x1fff1b9e: str r3, [r5, #0]
3661 0x1fff1ba0: movs r2, #1
3662 0x1fff1ba2: str r2, [r1, #0]
3663 0x1fff1ba4: ldr r1, [pc, #560] ; (0x1fff1dd8)
3664 0x1fff1ba6: movs r3, #0
3665 0x1fff1ba8: mov r2, r3
3666 0x1fff1baa: subs r1, r1, #2
3667 0x1fff1bac: str r5, [sp, #0]
3668 0x1fff1bae: bl 0x1fff1a62
3669 0x1fff1bb2: adds r7, r7, #1
3670 0x1fff1bb4: ldr r0, [r4, #8]
3671 0x1fff1bb6: subs r0, r0, #1
3672 0x1fff1bb8: cmp r0, r7
3673 0x1fff1bba: bcs.n 0x1fff1b86
3674 0x1fff1bbc: ldr r0, [r5, #0]
3675 0x1fff1bbe: movs r1, #64 ; 0x40
3676 0x1fff1bc0: orrs r0, r1
3677 0x1fff1bc2: str r0, [r5, #0]
3678 0x1fff1bc4: ldr r0, [r4, #8]
3679 0x1fff1bc6: lsls r2, r0, #2
3680 0x1fff1bc8: ldr r0, [pc, #516] ; (0x1fff1dd0)
3681 0x1fff1bca: ldr r2, [r0, r2]
3682 0x1fff1bcc: lsls r0, r1, #9
3683 0x1fff1bce: adds r0, r2, r0
3684 0x1fff1bd0: ldr r2, [r5, #0]
3685 0x1fff1bd2: bics r2, r1
3686 0x1fff1bd4: str r2, [r5, #0]
3687 0x1fff1bd6: movs r1, #1
3688 0x1fff1bd8: str r1, [r0, #0]
3689 0x1fff1bda: ldr r1, [pc, #524] ; (0x1fff1de8)
3690 0x1fff1bdc: movs r0, #7
3691 0x1fff1bde: str r0, [r1, #40] ; 0x28
3692 0x1fff1be0: ldr r0, [pc, #520] ; (0x1fff1dec)
3693 0x1fff1be2: ldr r0, [r0, #32]
3694 0x1fff1be4: ldr r7, [pc, #524] ; (0x1fff1df4)
3695 0x1fff1be6: mov r12, r0
3696 0x1fff1be8: ldr r0, [pc, #516] ; (0x1fff1df0)
3697 0x1fff1bea: str r0, [r7, #16]
3698 0x1fff1bec: ldr r1, [pc, #508] ; (0x1fff1dec)
3699 0x1fff1bee: movs r0, #0
3700 0x1fff1bf0: str r0, [r1, #32]
3701 0x1fff1bf2: str r0, [r7, #16]
3702 0x1fff1bf4: ldr r0, [pc, #496] ; (0x1fff1de8)
3703 0x1fff1bf6: movs r3, #0
3704 0x1fff1bf8: adds r0, #32
3705 0x1fff1bfa: str r0, [sp, #0]
3706 0x1fff1bfc: mov r2, r3
3707 0x1fff1bfe: ldr r1, [pc, #504] ; (0x1fff1df8)
3708 0x1fff1c00: mov r0, r5
3709 0x1fff1c02: bl 0x1fff1a62
3710 0x1fff1c06: ldr r0, [pc, #488] ; (0x1fff1df0)
3711 0x1fff1c08: str r0, [r7, #16]
3712 0x1fff1c0a: ldr r1, [pc, #480] ; (0x1fff1dec)
3713 0x1fff1c0c: mov r0, r12
3714 0x1fff1c0e: str r0, [r1, #32]
3715 0x1fff1c10: movs r0, #0
3716 0x1fff1c12: str r0, [r7, #16]
3717 0x1fff1c14: movs r2, #0
3718 0x1fff1c16: mvns r2, r2
3719 0x1fff1c18: ldr r1, [r4, #8]
3720 0x1fff1c1a: ldr r0, [r4, #4]
3721 0x1fff1c1c: bl 0x1fff1a7e
3722 0x1fff1c20: str r0, [r6, #0]
3723 0x1fff1c22: movs r0, #0
3724 0x1fff1c24: str r0, [r5, #28]
3725 0x1fff1c26: pop {r3, r4, r5, r6, r7, pc}
3726 0x1fff1c28: push {r4, r5, lr}
3727 0x1fff1c2a: movs r5, #1
3728 0x1fff1c2c: b.n 0x1fff1c40
3729 0x1fff1c2e: ldmia r1!, {r4}
3730 0x1fff1c30: stmia r0!, {r4}
3731 0x1fff1c32: lsls r4, r5, #30
3732 0x1fff1c34: beq.n 0x1fff1c3a
3733 0x1fff1c36: b.n 0x1fff1c3e
3734 0x1fff1c38: adds r4, r4, #1
3735 0x1fff1c3a: cmp r4, r2
3736 0x1fff1c3c: bcc.n 0x1fff1c38
3737 0x1fff1c3e: adds r5, r5, #1
3738 0x1fff1c40: cmp r5, r3
3739 0x1fff1c42: bls.n 0x1fff1c2e
3740 0x1fff1c44: pop {r4, r5, pc}
3741 0x1fff1c46: push {lr}
3742 0x1fff1c48: ldr r2, [pc, #380] ; (0x1fff1dc8)
3743 0x1fff1c4a: ldr r3, [r2, #4]
3744 0x1fff1c4c: movs r2, #5
3745 0x1fff1c4e: bics r2, r3
3746 0x1fff1c50: beq.n 0x1fff1c56
3747 0x1fff1c52: movs r0, #11
3748 0x1fff1c54: pop {pc}
3749 0x1fff1c56: movs r3, #64 ; 0x40
3750 0x1fff1c58: movs r2, #4
3751 0x1fff1c5a: bl 0x1fff1c28
3752 0x1fff1c5e: movs r0, #0
3753 0x1fff1c60: pop {pc}
3754 0x1fff1c62: push {r4, r5, r6, r7, lr}
3755 0x1fff1c64: sub sp, #20
3756 0x1fff1c66: mov r7, r0
3757 0x1fff1c68: ldr r0, [r0, #4]
3758 0x1fff1c6a: str r0, [sp, #8]
3759 0x1fff1c6c: ldr r0, [r7, #8]
3760 0x1fff1c6e: str r0, [sp, #4]
3761 0x1fff1c70: ldr r0, [r7, #12]
3762 0x1fff1c72: mov r5, r1
3763 0x1fff1c74: movs r3, #0
3764 0x1fff1c76: str r0, [sp, #12]
3765 0x1fff1c78: movs r2, #101 ; 0x65
3766 0x1fff1c7a: add r1, sp, #12
3767 0x1fff1c7c: mov r0, r3
3768 0x1fff1c7e: bl 0x1fff10a6
3769 0x1fff1c82: str r0, [r5, #0]
3770 0x1fff1c84: cmp r0, #0
3771 0x1fff1c86: bne.n 0x1fff1d6e
3772 0x1fff1c88: movs r2, #104 ; 0x68
3773 0x1fff1c8a: add r1, sp, #8
3774 0x1fff1c8c: ldr r3, [sp, #12]
3775 0x1fff1c8e: bl 0x1fff10a6
3776 0x1fff1c92: str r0, [r5, #0]
3777 0x1fff1c94: cmp r0, #0
3778 0x1fff1c96: bne.n 0x1fff1d6e
3779 0x1fff1c98: movs r2, #103 ; 0x67
3780 0x1fff1c9a: add r1, sp, #4
3781 0x1fff1c9c: ldr r3, [sp, #12]
3782 0x1fff1c9e: bl 0x1fff10a6
3783 0x1fff1ca2: str r0, [r5, #0]
3784 0x1fff1ca4: cmp r0, #0
3785 0x1fff1ca6: bne.n 0x1fff1d6e
3786 0x1fff1ca8: str r0, [sp, #16]
3787 0x1fff1caa: movs r0, #1
3788 0x1fff1cac: ldr r1, [sp, #8]
3789 0x1fff1cae: lsls r0, r0, #15
3790 0x1fff1cb0: adds r0, r1, r0
3791 0x1fff1cb2: ldr r6, [pc, #276] ; (0x1fff1dc8)
3792 0x1fff1cb4: str r0, [sp, #8]
3793 0x1fff1cb6: ldr r0, [r6, #0]
3794 0x1fff1cb8: movs r1, #64 ; 0x40
3795 0x1fff1cba: orrs r0, r1
3796 0x1fff1cbc: str r0, [r6, #0]
3797 0x1fff1cbe: movs r4, #0
3798 0x1fff1cc0: ldr r0, [pc, #272] ; (0x1fff1dd4)
3799 0x1fff1cc2: ldr r1, [pc, #264] ; (0x1fff1dcc)
3800 0x1fff1cc4: b.n 0x1fff1cec
3801 0x1fff1cc6: lsls r3, r4, #2
3802 0x1fff1cc8: ldr r3, [r0, r3]
3803 0x1fff1cca: ldr r2, [r7, #4]
3804 0x1fff1ccc: cmp r2, r3
3805 0x1fff1cce: bcs.n 0x1fff1cea
3806 0x1fff1cd0: mov r1, r2
3807 0x1fff1cd2: ldr r2, [r7, #12]
3808 0x1fff1cd4: adds r1, r1, r2
3809 0x1fff1cd6: lsls r2, r4, #2
3810 0x1fff1cd8: ldr r0, [r0, r2]
3811 0x1fff1cda: adds r0, r0, #1
3812 0x1fff1cdc: cmp r1, r0
3813 0x1fff1cde: bhi.n 0x1fff1ce4
3814 0x1fff1ce0: str r4, [sp, #16]
3815 0x1fff1ce2: b.n 0x1fff1cf2
3816 0x1fff1ce4: adds r0, r4, #1
3817 0x1fff1ce6: str r0, [sp, #16]
3818 0x1fff1ce8: b.n 0x1fff1cf2
3819 0x1fff1cea: adds r4, r4, #1
3820 0x1fff1cec: ldr r2, [r1, #0]
3821 0x1fff1cee: cmp r4, r2
3822 0x1fff1cf0: bls.n 0x1fff1cc6
3823 0x1fff1cf2: ldr r1, [r6, #0]
3824 0x1fff1cf4: movs r0, #64 ; 0x40
3825 0x1fff1cf6: bics r1, r0
3826 0x1fff1cf8: str r1, [r6, #0]
3827 0x1fff1cfa: mov r0, r4
3828 0x1fff1cfc: ldr r1, [sp, #16]
3829 0x1fff1cfe: bl 0x1fff1af6
3830 0x1fff1d02: str r0, [r5, #0]
3831 0x1fff1d04: cmp r0, #0
3832 0x1fff1d06: bne.n 0x1fff1d6e
3833 0x1fff1d08: ldr r1, [r6, #0]
3834 0x1fff1d0a: movs r0, #64 ; 0x40
3835 0x1fff1d0c: orrs r1, r0
3836 0x1fff1d0e: str r1, [r6, #0]
3837 0x1fff1d10: ldr r1, [pc, #204] ; (0x1fff1de0)
3838 0x1fff1d12: ldr r0, [r7, #16]
3839 0x1fff1d14: ldr r1, [r1, #0]
3840 0x1fff1d16: bl 0x1fff18a0
3841 0x1fff1d1a: str r0, [r6, #28]
3842 0x1fff1d1c: ldr r1, [pc, #220] ; (0x1fff1dfc)
3843 0x1fff1d1e: ldr r0, [r7, #16]
3844 0x1fff1d20: ldr r1, [r1, #0]
3845 0x1fff1d22: muls r0, r1
3846 0x1fff1d24: lsrs r7, r0, #9
3847 0x1fff1d26: adds r7, r7, #3
3848 0x1fff1d28: movs r0, #1
3849 0x1fff1d2a: lsls r0, r0, #15
3850 0x1fff1d2c: ldr r1, [r6, #0]
3851 0x1fff1d2e: orrs r7, r0
3852 0x1fff1d30: movs r0, #64 ; 0x40
3853 0x1fff1d32: bics r1, r0
3854 0x1fff1d34: str r1, [r6, #0]
3855 0x1fff1d36: ldr r1, [pc, #180] ; (0x1fff1dec)
3856 0x1fff1d38: ldr r0, [r1, #32]
3857 0x1fff1d3a: ldr r3, [pc, #184] ; (0x1fff1df4)
3858 0x1fff1d3c: ldr r2, [pc, #176] ; (0x1fff1df0)
3859 0x1fff1d3e: mov r12, r0
3860 0x1fff1d40: str r2, [r3, #16]
3861 0x1fff1d42: movs r0, #0
3862 0x1fff1d44: str r0, [r1, #32]
3863 0x1fff1d46: str r0, [r3, #16]
3864 0x1fff1d48: ldr r0, [sp, #12]
3865 0x1fff1d4a: b.n 0x1fff1da6
3866 0x1fff1d4c: movs r3, #0
3867 0x1fff1d4e: mov r0, r6
3868 0x1fff1d50: mov r2, r3
3869 0x1fff1d52: movs r1, #7
3870 0x1fff1d54: str r6, [sp, #0]
3871 0x1fff1d56: bl 0x1fff1a62
3872 0x1fff1d5a: ldr r1, [sp, #4]
3873 0x1fff1d5c: ldr r0, [sp, #8]
3874 0x1fff1d5e: bl 0x1fff1c46
3875 0x1fff1d62: cmp r0, #0
3876 0x1fff1d64: beq.n 0x1fff1d72
3877 0x1fff1d66: movs r0, #11
3878 0x1fff1d68: str r0, [r5, #0]
3879 0x1fff1d6a: movs r0, #0
3880 0x1fff1d6c: str r0, [r6, #28]
3881 0x1fff1d6e: add sp, #20
3882 0x1fff1d70: pop {r4, r5, r6, r7, pc}
3883 0x1fff1d72: ldr r1, [pc, #116] ; (0x1fff1de8)
3884 0x1fff1d74: movs r0, #7
3885 0x1fff1d76: str r0, [r1, #40] ; 0x28
3886 0x1fff1d78: mov r0, r6
3887 0x1fff1d7a: str r7, [r6, #8]
3888 0x1fff1d7c: ldr r1, [pc, #104] ; (0x1fff1de8)
3889 0x1fff1d7e: movs r3, #0
3890 0x1fff1d80: adds r1, #32
3891 0x1fff1d82: str r1, [sp, #0]
3892 0x1fff1d84: ldr r1, [pc, #112] ; (0x1fff1df8)
3893 0x1fff1d86: mov r2, r3
3894 0x1fff1d88: adds r1, r1, #2
3895 0x1fff1d8a: bl 0x1fff1a62
3896 0x1fff1d8e: ldr r0, [sp, #8]
3897 0x1fff1d90: adds r0, #255 ; 0xff
3898 0x1fff1d92: adds r0, #1
3899 0x1fff1d94: str r0, [sp, #8]
3900 0x1fff1d96: ldr r0, [sp, #4]
3901 0x1fff1d98: adds r0, #255 ; 0xff
3902 0x1fff1d9a: adds r0, #1
3903 0x1fff1d9c: str r0, [sp, #4]
3904 0x1fff1d9e: ldr r0, [sp, #12]
3905 0x1fff1da0: subs r0, #255 ; 0xff
3906 0x1fff1da2: subs r0, #1
3907 0x1fff1da4: str r0, [sp, #12]
3908 0x1fff1da6: cmp r0, #0
3909 0x1fff1da8: bne.n 0x1fff1d4c
3910 0x1fff1daa: ldr r0, [pc, #72] ; (0x1fff1df4)
3911 0x1fff1dac: ldr r1, [pc, #64] ; (0x1fff1df0)
3912 0x1fff1dae: str r1, [r0, #16]
3913 0x1fff1db0: ldr r2, [pc, #56] ; (0x1fff1dec)
3914 0x1fff1db2: mov r1, r12
3915 0x1fff1db4: str r1, [r2, #32]
3916 0x1fff1db6: movs r5, #0
3917 0x1fff1db8: str r5, [r0, #16]
3918 0x1fff1dba: subs r2, r5, #1
3919 0x1fff1dbc: mov r0, r4
3920 0x1fff1dbe: ldr r1, [sp, #16]
3921 0x1fff1dc0: bl 0x1fff1a7e
3922 0x1fff1dc4: str r5, [r6, #28]
3923 0x1fff1dc6: b.n 0x1fff1d6e
3924 0x1fff1dc8: stmia r0!, {}
3925 0x1fff1dca: ands r3, r0
3926 0x1fff1dcc: lsls r0, r0, #17
3927 0x1fff1dce: movs r0, r0
3928 0x1fff1dd0: lsls r0, r2, #18
3929 0x1fff1dd2: movs r0, r0
3930 0x1fff1dd4: lsls r0, r4, #20
3931 0x1fff1dd6: movs r0, r0
3932 0x1fff1dd8: strh r7, [r0, #4]
3933 0x1fff1dda: movs r0, r0
3934 0x1fff1ddc: lsls r4, r7, #16
3935 0x1fff1dde: movs r0, r0
3936 0x1fff1de0: lsls r4, r2, #17
3937 0x1fff1de2: movs r0, r0
3938 0x1fff1de4: lsls r0, r2, #17
3939 0x1fff1de6: movs r0, r0
3940 0x1fff1de8: ldmia r7, {r6, r7}
3941 0x1fff1dea: ands r3, r0
3942 0x1fff1dec: strh r0, [r0, #10]
3943 0x1fff1dee: ands r4, r0
3944 0x1fff1df0: ldrsb r0, [r7, r1]
3945 0x1fff1df2: asrs r4, r6, #8
3946 0x1fff1df4: strh r0, [r0, #30]
3947 0x1fff1df6: ands r4, r0
3948 0x1fff1df8: asrs r1, r0, #2
3949 0x1fff1dfa: movs r0, r0
3950 0x1fff1dfc: lsls r4, r1, #17
3951 0x1fff1dfe: movs r0, r0
3952 0x1fff1e00: push {r4, r5, r6, lr}
3953 0x1fff1e02: mov r6, r1
3954 0x1fff1e04: mov r4, r0
3955 0x1fff1e06: ldr r1, [r0, #8]
3956 0x1fff1e08: ldr r0, [r0, #4]
3957 0x1fff1e0a: bl 0x1fff19cc
3958 0x1fff1e0e: str r0, [r6, #0]
3959 0x1fff1e10: cmp r0, #0
3960 0x1fff1e12: bne.n 0x1fff1e36
3961 0x1fff1e14: ldr r5, [pc, #32] ; (0x1fff1e38)
3962 0x1fff1e16: ldr r0, [r5, #28]
3963 0x1fff1e18: cmp r0, #0
3964 0x1fff1e1a: bne.n 0x1fff1e20
3965 0x1fff1e1c: movs r0, #64 ; 0x40
3966 0x1fff1e1e: str r0, [r5, #28]
3967 0x1fff1e20: movs r2, #0
3968 0x1fff1e22: ldr r1, [r4, #8]
3969 0x1fff1e24: ldr r0, [r4, #4]
3970 0x1fff1e26: bl 0x1fff1a7e
3971 0x1fff1e2a: str r0, [r6, #0]
3972 0x1fff1e2c: ldr r0, [r5, #28]
3973 0x1fff1e2e: cmp r0, #64 ; 0x40
3974 0x1fff1e30: bne.n 0x1fff1e36
3975 0x1fff1e32: movs r0, #0
3976 0x1fff1e34: str r0, [r5, #28]
3977 0x1fff1e36: pop {r4, r5, r6, pc}
3978 0x1fff1e38: stmia r0!, {}
3979 0x1fff1e3a: ands r3, r0
3980 0x1fff1e3c: push {r0, r1, r2, r4, r5, r6, r7, lr}
3981 0x1fff1e3e: sub sp, #8
3982 0x1fff1e40: ldr r0, [r1, #4]
3983 0x1fff1e42: str r0, [sp, #0]
3984 0x1fff1e44: ldr r5, [r1, #12]
3985 0x1fff1e46: ldr r7, [r1, #8]
3986 0x1fff1e48: mov r4, r1
3987 0x1fff1e4a: mov r6, r2
3988 0x1fff1e4c: mov r2, r5
3989 0x1fff1e4e: mov r1, r7
3990 0x1fff1e50: bl 0x1fff1198
3991 0x1fff1e54: str r0, [r6, #0]
3992 0x1fff1e56: cmp r0, #0
3993 0x1fff1e58: bne.n 0x1fff1e74
3994 0x1fff1e5a: cmp r5, #0
3995 0x1fff1e5c: beq.n 0x1fff1e74
3996 0x1fff1e5e: ldr r0, [r4, #16]
3997 0x1fff1e60: bl 0x1fff1200
3998 0x1fff1e64: ldr r0, [sp, #8]
3999 0x1fff1e66: mov r2, r5
4000 0x1fff1e68: cmp r0, #0
4001 0x1fff1e6a: ldr r0, [sp, #0]
4002 0x1fff1e6c: mov r1, r7
4003 0x1fff1e6e: beq.n 0x1fff1e78
4004 0x1fff1e70: bl 0x1fff1306
4005 0x1fff1e74: add sp, #20
4006 0x1fff1e76: pop {r4, r5, r6, r7, pc}
4007 0x1fff1e78: bl 0x1fff138c
4008 0x1fff1e7c: b.n 0x1fff1e74
4009 0x1fff1e7e: push {r4, lr}
4010 0x1fff1e80: ldr r1, [pc, #136] ; (0x1fff1f0c)
4011 0x1fff1e82: movs r0, #0
4012 0x1fff1e84: str r0, [r1, #0]
4013 0x1fff1e86: bl 0x1fff02e4
4014 0x1fff1e8a: pop {r4, pc}
4015 0x1fff1e8c: push {r3, r4, r5, r6, r7, lr}
4016 0x1fff1e8e: mov r5, r1
4017 0x1fff1e90: mov r1, r0
4018 0x1fff1e92: mov r4, r0
4019 0x1fff1e94: movs r3, #0
4020 0x1fff1e96: movs r2, #100 ; 0x64
4021 0x1fff1e98: adds r1, #12
4022 0x1fff1e9a: mov r0, r3
4023 0x1fff1e9c: bl 0x1fff10a6
4024 0x1fff1ea0: str r0, [r5, #0]
4025 0x1fff1ea2: cmp r0, #0
4026 0x1fff1ea4: bne.n 0x1fff1ef8
4027 0x1fff1ea6: movs r2, #102 ; 0x66
4028 0x1fff1ea8: adds r1, r4, #4
4029 0x1fff1eaa: ldr r3, [r4, #12]
4030 0x1fff1eac: bl 0x1fff10a6
4031 0x1fff1eb0: str r0, [r5, #0]
4032 0x1fff1eb2: cmp r0, #0
4033 0x1fff1eb4: bne.n 0x1fff1ef8
4034 0x1fff1eb6: mov r1, r4
4035 0x1fff1eb8: movs r2, #102 ; 0x66
4036 0x1fff1eba: adds r1, #8
4037 0x1fff1ebc: ldr r3, [r4, #12]
4038 0x1fff1ebe: bl 0x1fff10a6
4039 0x1fff1ec2: str r0, [r5, #0]
4040 0x1fff1ec4: cmp r0, #0
4041 0x1fff1ec6: bne.n 0x1fff1ef8
4042 0x1fff1ec8: movs r3, #1
4043 0x1fff1eca: ldr r2, [r4, #4]
4044 0x1fff1ecc: lsls r3, r3, #15
4045 0x1fff1ece: cmp r2, r3
4046 0x1fff1ed0: bcs.n 0x1fff1ed4
4047 0x1fff1ed2: adds r2, r2, r3
4048 0x1fff1ed4: ldr r0, [r4, #8]
4049 0x1fff1ed6: cmp r0, r3
4050 0x1fff1ed8: bcs.n 0x1fff1edc
4051 0x1fff1eda: adds r0, r0, r3
4052 0x1fff1edc: ldr r1, [r4, #12]
4053 0x1fff1ede: b.n 0x1fff1f00
4054 0x1fff1ee0: ldr r6, [r0, #0]
4055 0x1fff1ee2: ldr r7, [r2, #0]
4056 0x1fff1ee4: cmp r6, r7
4057 0x1fff1ee6: beq.n 0x1fff1efa
4058 0x1fff1ee8: movs r0, #10
4059 0x1fff1eea: str r0, [r5, #0]
4060 0x1fff1eec: ldr r0, [r4, #4]
4061 0x1fff1eee: cmp r0, r3
4062 0x1fff1ef0: bcs.n 0x1fff1ef4
4063 0x1fff1ef2: subs r2, r2, r3
4064 0x1fff1ef4: subs r0, r2, r0
4065 0x1fff1ef6: str r0, [r5, #4]
4066 0x1fff1ef8: pop {r3, r4, r5, r6, r7, pc}
4067 0x1fff1efa: adds r0, r0, #4
4068 0x1fff1efc: adds r2, r2, #4
4069 0x1fff1efe: subs r1, r1, #4
4070 0x1fff1f00: cmp r1, #0
4071 0x1fff1f02: bne.n 0x1fff1ee0
4072 0x1fff1f04: movs r0, #0
4073 0x1fff1f06: str r0, [r5, #0]
4074 0x1fff1f08: pop {r3, r4, r5, r6, r7, pc}
4076 0x1fff1f00: 0xd1ed2900 0x60282000 0x0000bdf8 0x40048000
4077 0x1fff1f10: 0x636e7953 0x6e6f7268 0x64657a69 0xffffff00
4078 0x1fff1f20: 0x00005a5a 0x74004b4f 0x00547345 0x45534552
4079 0x1fff1f30: 0xff00444e 0x1fff13dd 0x1fff161d 0x1fff1601
4080 0x1fff1f40: 0x1fff1617 0x1fff173d 0x1fff1743 0x1fff171d
4081 0x1fff1f50: 0x1fff172d 0xffffffff 0xffffffff 0xffffffff
4082 0x1fff1f60: 0x1fff1f34 0x1fff1f44 0xffffffff 0xffffffff
4083 0x1fff1f70: 0xffffffff 0x00002000
4085 0x1fff1f0a: movs r0, r0
4086 0x1fff1f0c: strh r0, [r0, #0]
4087 0x1fff1f0e: ands r4, r0
4088 0x1fff1f10: ldrb r3, [r2, #5]
4089 0x1fff1f12: str r6, [r5, #52] ; 0x34
4090 0x1fff1f14: strb r0, [r5, #9]
4091 0x1fff1f16: ldr r7, [r5, #100] ; 0x64
4092 0x1fff1f18: ldrb r1, [r5, #9]
4093 0x1fff1f1a: str r5, [r4, #68] ; 0x44
4094 0x1fff1f1c: vmaxnm.f32 <illegal reg q7.5>, q8, <illegal reg q15.5>
4095 0x1fff1f20: ldrh r2, [r3, r1]
4096 0x1fff1f22: movs r0, r0
4097 0x1fff1f24: ldr r3, [pc, #316] ; (0x1fff2064)
4098 0x1fff1f26: strb r0, [r0, #16]
4099 0x1fff1f28: strb r5, [r0, #13]
4100 0x1fff1f2a: lsls r4, r2, #1
4101 0x1fff1f2c: cmp r2, r10
4102 0x1fff1f2e: cmp r3, r10
4103 0x1fff1f30: add r6, r9
4104 0x1fff1f32: vcge.u8 <illegal reg q0.5>, q8, <illegal reg q6.5>
4105 0x1fff1f36: subs r7, r7, #7
4106 0x1fff1f38: asrs r5, r3, #24
4107 0x1fff1f3a: subs r7, r7, #7
4108 0x1fff1f3c: asrs r1, r0, #24
4109 0x1fff1f3e: subs r7, r7, #7
4110 0x1fff1f40: asrs r7, r2, #24
4111 0x1fff1f42: subs r7, r7, #7
4112 0x1fff1f44: asrs r5, r7, #28
4113 0x1fff1f46: subs r7, r7, #7
4114 0x1fff1f48: asrs r3, r0, #29
4115 0x1fff1f4a: subs r7, r7, #7
4116 0x1fff1f4c: asrs r5, r3, #28
4117 0x1fff1f4e: subs r7, r7, #7
4118 0x1fff1f50: asrs r5, r5, #28
4119 0x1fff1f52: subs r7, r7, #7
4120 0x1fff1f54: ; <UNDEFINED> instruction: 0xffffffff
4121 0x1fff1f58: ; <UNDEFINED> instruction: 0xffffffff
4122 0x1fff1f5c: ; <UNDEFINED> instruction: 0xffffffff
4123 0x1fff1f60: subs r4, r6, #4
4124 0x1fff1f62: subs r7, r7, #7
4125 0x1fff1f64: subs r4, r0, #5
4126 0x1fff1f66: subs r7, r7, #7
4127 0x1fff1f68: ; <UNDEFINED> instruction: 0xffffffff
4128 0x1fff1f6c: ; <UNDEFINED> instruction: 0xffffffff
4129 0x1fff1f70: ; <UNDEFINED> instruction: 0xffffffff
4130 0x1fff1f74: movs r0, #0
4131 0x1fff1f76: movs r0, r0
4132 0x1fff1f78: movs r0, #16
4133 0x1fff1f7a: movs r0, r2
4134 0x1fff1f7c: movs r0, r2
4135 0x1fff1f7e: movs r0, r2
4136 0x1fff1f80: movs r0, r0
4137 0x1fff1f82: movs r0, r0
4138 0x1fff1f84: movs r0, r0
4139 0x1fff1f86: movs r0, r0
4140 0x1fff1f88: strh r0, [r0, #0]
4141 0x1fff1f8a: stmia r0!, {}
4142 0x1fff1f8c: ; <UNDEFINED> instruction: 0xffffffff
4143 0x1fff1f90: ; <UNDEFINED> instruction: 0xffffffff
4144 0x1fff1f94: ; <UNDEFINED> instruction: 0xffffffff
4145 0x1fff1f98: ; <UNDEFINED> instruction: 0xffffffff
4146 0x1fff1f9c: ; <UNDEFINED> instruction: 0xffffffff
4147 0x1fff1fa0: ; <UNDEFINED> instruction: 0xffffffff
4148 0x1fff1fa4: ; <UNDEFINED> instruction: 0xffffffff
4149 0x1fff1fa8: ; <UNDEFINED> instruction: 0xffffffff
4150 0x1fff1fac: ; <UNDEFINED> instruction: 0xffffffff
4151 0x1fff1fb0: ; <UNDEFINED> instruction: 0xffffffff
4152 0x1fff1fb4: ; <UNDEFINED> instruction: 0xffffffff
4153 0x1fff1fb8: ; <UNDEFINED> instruction: 0xffffffff
4154 0x1fff1fbc: ; <UNDEFINED> instruction: 0xffffffff
4155 0x1fff1fc0: ; <UNDEFINED> instruction: 0xffffffff
4156 0x1fff1fc4: ; <UNDEFINED> instruction: 0xffffffff
4157 0x1fff1fc8: ; <UNDEFINED> instruction: 0xffffffff
4158 0x1fff1fcc: ; <UNDEFINED> instruction: 0xffffffff
4159 0x1fff1fd0: ; <UNDEFINED> instruction: 0xffffffff
4160 0x1fff1fd4: ; <UNDEFINED> instruction: 0xffffffff
4161 0x1fff1fd8: ; <UNDEFINED> instruction: 0xffffffff
4162 0x1fff1fdc: ; <UNDEFINED> instruction: 0xffffffff
4163 0x1fff1fe0: ; <UNDEFINED> instruction: 0xffffffff
4164 0x1fff1fe4: ; <UNDEFINED> instruction: 0xffffffff
4165 0x1fff1fe8: ; <UNDEFINED> instruction: 0xffffffff
4166 0x1fff1fec: ; <UNDEFINED> instruction: 0xffffffff
4168 0x1fff1ff0: 0xf7ffb510 0xbd10fc6b 0x1fff1f54 0xffffffff
4170 0x1fff1ff0: push {r4, lr}
4171 0x1fff1ff2: bl 0x1fff18cc
4172 0x1fff1ff6: pop {r4, pc}
4173 0x1fff1ff8: subs r4, r2, #5
4174 0x1fff1ffa: subs r7, r7, #7
4175 0x1fff1ffc: ; <UNDEFINED> instruction: 0xffffffff