]> git.cryptolib.org Git - arm-crypto-lib.git/blob - bmw/bmw_small_speed.s
forgotten bmw stuff
[arm-crypto-lib.git] / bmw / bmw_small_speed.s
1         .file   "bmw_small_speed.c"
2         .text
3         .align  2
4         .type   bmw_small_f1, %function
5 bmw_small_f1:
6         @ args = 0, pretend = 0, frame = 24
7         @ frame_needed = 0, uses_anonymous_args = 0
8         @ link register save eliminated.
9         stmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, fp}
10         ldmib   r0, {r5, r6}    @ phole ldm
11         ldr     r7, [r0, #0]
12         ldr     r8, [r0, #12]
13         mov     r9, r5, lsr #2
14         mov     r3, r6, lsr #2
15         ldr     sl, [r0, #16]
16         eor     r9, r9, r5, asl #1
17         eor     r3, r3, r6, asl #2
18         mov     ip, r7, lsr #1
19         ldr     fp, [r0, #20]
20         eor     r9, r9, r5, ror #20
21         eor     r3, r3, r6, ror #17
22         eor     ip, ip, r7, asl #2
23         mov     r4, r8, lsr #1
24         eor     r3, r3, r6, ror #3
25         eor     r9, r9, r5, ror #7
26         ldr     r6, [r0, #24]
27         eor     ip, ip, r7, ror #24
28         eor     r4, r4, r8, asl #3
29         mov     r5, sl, lsr #1
30         eor     ip, ip, r7, ror #9
31         add     r9, r9, r3
32         ldr     r7, [r0, #28]
33         eor     r4, r4, r8, ror #28
34         eor     r5, r5, sl, asl #2
35         mov     r3, fp, lsr #2
36         eor     r4, r4, r8, ror #13
37         add     r9, r9, ip
38         eor     r5, r5, sl, ror #24
39         eor     r3, r3, fp, asl #1
40         mov     ip, r6, lsr #2
41         eor     r5, r5, sl, ror #9
42         add     r9, r9, r4
43         eor     r3, r3, fp, ror #20
44         eor     ip, ip, r6, asl #2
45         mov     r4, r7, lsr #1
46         ldr     r8, [r0, #32]
47         eor     r3, r3, fp, ror #7
48         add     r9, r9, r5
49         eor     ip, ip, r6, ror #17
50         eor     r4, r4, r7, asl #3
51         ldr     sl, [r0, #36]
52         eor     ip, ip, r6, ror #3
53         add     r9, r9, r3
54         ldr     r6, [r0, #44]
55         eor     r4, r4, r7, ror #28
56         ldr     fp, [r0, #40]
57         eor     r4, r4, r7, ror #13
58         mov     r5, r8, lsr #1
59         ldr     r7, [r0, #48]
60         add     r9, r9, ip
61         eor     r5, r5, r8, asl #2
62         mov     r3, sl, lsr #2
63         add     r9, r9, r4
64         mov     r4, r6, lsr #1
65         eor     r5, r5, r8, ror #24
66         eor     r3, r3, sl, asl #1
67         mov     ip, fp, lsr #2
68         eor     r4, r4, r6, asl #3
69         mov     r6, r7, lsr #1
70         eor     r5, r5, r8, ror #9
71         eor     r3, r3, sl, ror #20
72         ldr     r8, [r0, #44]
73         eor     ip, ip, fp, asl #2
74         eor     r6, r6, r7, asl #2
75         eor     r3, r3, sl, ror #7
76         add     r9, r9, r5
77         eor     ip, ip, fp, ror #17
78         eor     r6, r6, r7, ror #24
79         ldr     sl, [r0, #52]
80         eor     ip, ip, fp, ror #3
81         eor     r6, r6, r7, ror #9
82         add     r9, r9, r3
83         ldr     r7, [r0, #8]
84         eor     r4, r4, r8, ror #28
85         eor     r4, r4, r8, ror #13
86         add     r9, r9, ip
87         mov     r3, sl, lsr #2
88         add     r9, r9, r4
89         mov     r5, r7, lsr #2
90         ldr     r4, [r0, #60]
91         ldr     r7, [r0, #4]
92         eor     r3, r3, sl, asl #1
93         add     r9, r9, r6
94         ldr     r6, [r0, #52]
95         ldr     ip, [r1, #0]
96         ldr     fp, [r0, #56]
97         eor     r3, r3, sl, ror #20
98         mov     sl, r4, lsr #1
99         mov     r4, r7, lsr #1
100         ldr     r7, .L3
101         sub     sp, sp, #24
102         eor     r3, r3, r6, ror #7
103         str     r3, [sp, #0]
104         mov     r8, fp, lsr #2
105         ldr     r3, [r0, #60]
106         add     r7, r7, ip, ror #31
107         ldr     ip, [r0, #56]
108         eor     r8, r8, fp, asl #2
109         ldr     r6, [r0, #8]
110         eor     r8, r8, ip, ror #17
111         eor     sl, sl, r3, asl #3
112         ldr     ip, [r0, #4]
113         ldr     r3, [r0, #12]
114         eor     r5, r5, r6, asl #1
115         eor     r6, r4, ip, asl #2
116         mov     ip, r3, lsr #2
117         ldr     r3, [sp, #0]
118         add     r9, r9, r3
119         ldr     r3, [r0, #56]
120         ldr     fp, [r1, #12]
121         eor     r8, r8, r3, ror #3
122         ldr     r3, [r0, #8]
123         add     r7, r7, fp, ror #28
124         eor     r5, r5, r3, ror #20
125         ldr     fp, [r0, #60]
126         ldr     r3, [r0, #4]
127         ldr     r4, [r1, #40]
128         eor     sl, sl, fp, ror #28
129         eor     fp, r6, r3, ror #24
130         ldr     r6, [r0, #12]
131         ldr     r3, [r0, #16]
132         eor     ip, ip, r6, asl #2
133         add     r9, r9, r8
134         mov     r6, r3, lsr #1
135         ldr     r8, [r0, #60]
136         ldr     r3, [r0, #8]
137         sub     r7, r7, r4, ror #21
138         ldr     r4, [r0, #4]
139         eor     sl, sl, r8, ror #13
140         eor     r5, r5, r3, ror #7
141         eor     r8, fp, r4, ror #9
142         ldr     r3, [r0, #16]
143         ldr     fp, [r0, #12]
144         add     r9, r9, sl
145         ldr     sl, [r0, #16]
146         eor     ip, ip, fp, ror #17
147         eor     r6, r6, r3, asl #3
148         ldr     fp, [r0, #20]
149         add     r5, r5, r8
150         ldr     r8, [r0, #12]
151         ldr     r3, [r2, #28]
152         eor     r6, r6, sl, ror #28
153         eor     ip, ip, r8, ror #3
154         eor     r6, r6, sl, ror #13
155         ldr     r8, [r0, #24]
156         ldr     sl, [r0, #20]
157         mov     r4, fp, lsr #1
158         eor     r7, r7, r3
159         eor     r4, r4, fp, asl #2
160         add     r9, r9, r7
161         mov     r3, r8, lsr #2
162         eor     r4, r4, sl, ror #24
163         ldr     fp, [r0, #32]
164         ldr     r7, [r0, #36]
165         eor     r4, r4, sl, ror #9
166         eor     r3, r3, r8, asl #1
167         ldr     r8, [r0, #28]
168         str     r9, [r0, #64]
169         ldr     sl, [r0, #24]
170         add     r5, r5, ip
171         add     r5, r5, r6
172         eor     r3, r3, sl, ror #20
173         eor     r3, r3, sl, ror #7
174         mov     ip, r8, lsr #2
175         add     r5, r5, r4
176         eor     ip, ip, r8, asl #2
177         mov     r6, fp, lsr #1
178         add     r5, r5, r3
179         ldr     r3, [r0, #28]
180         eor     ip, ip, r8, ror #17
181         eor     r6, r6, fp, asl #3
182         eor     ip, ip, r3, ror #3
183         mov     r8, r7, lsr #1
184         ldr     r3, [r0, #40]
185         eor     r6, r6, fp, ror #28
186         eor     r6, r6, fp, ror #13
187         eor     r8, r8, r7, asl #2
188         add     r5, r5, ip
189         mov     sl, r3, lsr #2
190         eor     r8, r8, r7, ror #24
191         add     r5, r5, r6
192         ldr     r6, [r0, #40]
193         ldr     r4, [r1, #16]
194         eor     r8, r8, r7, ror #9
195         eor     sl, sl, r3, asl #1
196         ldr     fp, [r0, #44]
197         ldr     r3, [r1, #4]
198         eor     sl, sl, r6, ror #20
199         add     r5, r5, r8
200         ldr     r6, [r0, #48]
201         ldr     r8, [r0, #40]
202         mov     r4, r4, ror #27
203         eor     sl, sl, r8, ror #7
204         mov     ip, fp, lsr #2
205         mov     r7, r6, lsr #1
206         add     r4, r4, r3, ror #30
207         ldr     r3, [r0, #44]
208         eor     ip, ip, fp, asl #2
209         eor     r7, r7, r6, asl #3
210         add     r5, r5, sl
211         ldr     r6, [r0, #52]
212         ldr     sl, [r0, #44]
213         eor     ip, ip, r3, ror #17
214         ldr     fp, [r0, #56]
215         eor     ip, ip, sl, ror #3
216         mov     r3, r6, lsr #1
217         add     r6, r0, #48
218         ldmia   r6, {r6, sl}    @ phole ldm
219         ldr     r8, [r0, #60]
220         add     r5, r5, ip
221         ldr     ip, [r0, #48]
222         eor     r7, r7, r6, ror #28
223         eor     r3, r3, sl, asl #2
224         mov     r6, fp, lsr #2
225         add     r4, r4, #1509949440
226         eor     r7, r7, ip, ror #13
227         eor     r3, r3, sl, ror #24
228         eor     r6, r6, fp, asl #1
229         mov     ip, r8, lsr #2
230         add     r4, r4, #11141120
231         eor     r3, r3, sl, ror #9
232         add     r5, r5, r7
233         ldr     sl, [r1, #44]
234         eor     r6, r6, fp, ror #20
235         eor     ip, ip, r8, asl #2
236         add     r4, r4, #43520
237         ldr     r7, [r2, #32]
238         eor     r6, r6, fp, ror #7
239         add     r5, r5, r3
240         eor     ip, ip, r8, ror #17
241         mov     r3, r9, lsr #1
242         add     r4, r4, #165
243         eor     ip, ip, r8, ror #3
244         add     r5, r5, r6
245         sub     r4, r4, sl, ror #20
246         eor     r3, r3, r9, asl #3
247         eor     r4, r4, r7
248         add     r5, r5, ip
249         eor     r3, r3, r9, ror #28
250         eor     r3, r3, r9, ror #13
251         add     r5, r5, r4
252         ldr     ip, [r0, #12]
253         add     r5, r5, r3
254         ldr     r3, [r0, #20]
255         str     r5, [r0, #68]
256         ldr     r4, [r0, #8]
257         ldr     r6, [r0, #28]
258         ldr     r8, [r0, #16]
259         mov     ip, ip, ror #29
260         ldr     r7, [r0, #24]
261         ldr     sl, [r0, #36]
262         add     ip, ip, r3, ror #25
263         add     r8, r8, r4
264         ldr     r3, [r1, #20]
265         ldr     r4, [r0, #32]
266         add     ip, ip, r6, ror #19
267         ldr     r6, [r0, #44]
268         ldr     fp, [r1, #8]
269         add     r8, r8, r7
270         add     ip, ip, sl, ror #16
271         ldr     r7, [r0, #40]
272         add     r9, r0, #48
273         ldmia   r9, {r9, sl}    @ phole ldm
274         add     r8, r8, r4
275         add     ip, ip, r6, ror #13
276         ldr     r4, [r0, #64]
277         ldr     r6, [r0, #60]
278         mov     r3, r3, ror #26
279         add     r8, r8, r7
280         add     ip, ip, sl, ror #9
281         ldr     r7, [r0, #56]
282         ldr     sl, [r1, #48]
283         add     r3, r3, fp, ror #29
284         add     r8, r8, r9
285         add     ip, ip, r6, ror #5
286         eor     r4, r4, r4, lsr #1
287         ldr     r6, [r2, #36]
288         sub     r3, r3, #-1610612730
289         add     r8, r8, r7
290         add     ip, ip, r4
291         sub     r3, r3, sl, ror #19
292         eor     r3, r3, r6
293         add     ip, ip, r8
294         add     ip, ip, r3
295         eor     r5, r5, r5, lsr #2
296         add     ip, ip, r5
297         str     ip, [r0, #72]
298         ldr     r5, [r0, #16]
299         ldr     r4, [r0, #24]
300         ldr     r3, [r1, #24]
301         ldr     r6, [r0, #12]
302         ldr     r7, [r0, #20]
303         mov     r5, r5, ror #29
304         ldr     r9, [r1, #12]
305         add     r5, r5, r4, ror #25
306         add     r4, r0, #28
307         ldmia   r4, {r4, sl}    @ phole ldm
308         add     r7, r7, r6
309         mov     r3, r3, ror #25
310         add     r6, r0, #36
311         ldmia   r6, {r6, fp}    @ phole ldm
312         add     r3, r3, r9, ror #28
313         add     r7, r7, r4
314         ldr     r9, [r0, #44]
315         add     r5, r5, sl, ror #19
316         add     r7, r7, r6
317         ldr     sl, [r0, #48]
318         add     r5, r5, fp, ror #16
319         add     r7, r7, r9
320         add     r3, r3, #1711276032
321         ldr     r9, [r0, #56]
322         ldr     fp, [r0, #52]
323         ldr     r6, [r0, #64]
324         add     r5, r5, sl, ror #13
325         ldr     r4, [r0, #68]
326         sub     r3, r3, #11141120
327         ldr     sl, [r0, #60]
328         add     r5, r5, r9, ror #9
329         sub     r3, r3, #43520
330         ldr     r9, [r1, #52]
331         add     r7, r7, fp
332         add     r5, r5, r6, ror #5
333         eor     r4, r4, r4, lsr #1
334         ldr     r6, [r2, #40]
335         sub     r3, r3, #177
336         add     r7, r7, sl
337         add     r5, r5, r4
338         sub     r3, r3, r9, ror #18
339         eor     r3, r3, r6
340         add     r5, r5, r7
341         add     r5, r5, r3
342         eor     ip, ip, ip, lsr #2
343         add     r5, r5, ip
344         str     r5, [r0, #76]
345         ldr     ip, [r0, #20]
346         ldr     r4, [r0, #28]
347         ldr     r3, [r1, #28]
348         ldr     r6, [r0, #36]
349         mov     ip, ip, ror #29
350         ldr     sl, [r1, #16]
351         add     ip, ip, r4, ror #25
352         ldr     r4, [r0, #44]
353         add     ip, ip, r6, ror #19
354         mov     r3, r3, ror #24
355         add     r3, r3, sl, ror #27
356         add     ip, ip, r4, ror #16
357         ldr     sl, [r0, #60]
358         ldr     r9, [r0, #68]
359         add     ip, ip, fp, ror #13
360         add     r3, r3, #1778384896
361         add     ip, ip, sl, ror #9
362         add     r3, r3, #11141120
363         ldr     r4, [r0, #72]
364         add     ip, ip, r9, ror #5
365         add     r3, r3, #43520
366         ldr     r9, [r1, #56]
367         ldr     fp, [r0, #64]
368         ldr     sl, [r2, #44]
369         ldr     r6, [r0, #8]
370         add     r3, r3, #164
371         sub     r3, r3, r9, ror #17
372         eor     r4, r4, r4, lsr #1
373         eor     r3, r3, sl
374         rsb     r6, r6, fp
375         add     ip, ip, r4
376         add     r6, r6, r8
377         add     ip, ip, r3
378         add     ip, ip, r6
379         eor     r5, r5, r5, lsr #2
380         str     r6, [sp, #4]
381         add     ip, ip, r5
382         ldr     r4, [r0, #24]
383         str     ip, [r0, #80]
384         ldr     r5, [r0, #32]
385         ldr     r6, [r0, #40]
386         mov     r4, r4, ror #29
387         ldr     r3, [r1, #32]
388         add     r4, r4, r5, ror #25
389         ldr     r5, [r0, #48]
390         ldr     r8, [r1, #20]
391         add     r4, r4, r6, ror #19
392         ldr     r6, [r0, #56]
393         add     r4, r4, r5, ror #16
394         mov     r3, r3, ror #23
395         ldr     r9, [r1, #60]
396         add     r4, r4, r6, ror #13
397         add     r3, r3, r8, ror #26
398         ldr     r5, [r0, #76]
399         ldr     r8, [r0, #72]
400         ldr     sl, [r2, #48]
401         add     r4, r4, fp, ror #9
402         ldr     r6, [r0, #12]
403         ldr     fp, [r0, #68]
404         sub     r3, r3, #-1879048185
405         add     r4, r4, r8, ror #5
406         sub     r3, r3, r9, ror #16
407         eor     r5, r5, r5, lsr #1
408         eor     r3, r3, sl
409         rsb     r6, r6, fp
410         add     r4, r4, r5
411         add     fp, r6, r7
412         add     r4, r4, r3
413         add     r4, r4, fp
414         eor     ip, ip, ip, lsr #2
415         add     r4, r4, ip
416         str     r4, [r0, #84]
417         ldr     r5, [r0, #28]
418         ldr     r3, [r1, #36]
419         ldr     r7, [r1, #24]
420         ldr     r6, [r0, #36]
421         ldr     ip, [r0, #44]
422         mov     r5, r5, ror #29
423         mov     r3, r3, ror #22
424         add     r5, r5, r6, ror #25
425         add     r3, r3, r7, ror #25
426         ldr     r6, [r0, #52]
427         add     r5, r5, ip, ror #19
428         add     r3, r3, #1979711488
429         ldr     ip, [r0, #60]
430         add     r5, r5, r6, ror #16
431         sub     r3, r3, #11141120
432         ldr     r6, [r0, #68]
433         ldr     sl, [r1, #0]
434         ldr     r8, [r0, #76]
435         add     r5, r5, ip, ror #13
436         sub     r3, r3, #43520
437         ldr     ip, [r0, #80]
438         ldr     r9, [r0, #72]
439         ldr     r7, [r2, #52]
440         add     r5, r5, r6, ror #9
441         sub     r3, r3, #178
442         ldr     r6, [r0, #16]
443         add     r5, r5, r8, ror #5
444         sub     r3, r3, sl, ror #31
445         eor     ip, ip, ip, lsr #1
446         ldr     sl, [sp, #4]
447         eor     r3, r3, r7
448         rsb     r6, r6, r9
449         add     r5, r5, ip
450         add     r6, r6, sl
451         add     r5, r5, r3
452         add     r5, r5, r6
453         eor     r4, r4, r4, lsr #2
454         add     r5, r5, r4
455         str     r5, [r0, #88]
456         ldr     ip, [r0, #32]
457         ldr     r3, [r1, #40]
458         ldr     r7, [r1, #28]
459         ldr     r4, [r0, #40]
460         str     r6, [sp, #8]
461         mov     ip, ip, ror #29
462         ldr     r6, [r0, #48]
463         mov     r3, r3, ror #21
464         add     ip, ip, r4, ror #25
465         add     r3, r3, r7, ror #24
466         ldr     r4, [r0, #56]
467         add     ip, ip, r6, ror #19
468         add     r3, r3, #2063597568
469         ldr     r6, [r0, #64]
470         add     ip, ip, r4, ror #16
471         sub     r3, r3, #5570560
472         ldr     sl, [r1, #4]
473         ldr     r8, [r0, #80]
474         add     ip, ip, r6, ror #13
475         ldr     r4, [r0, #84]
476         sub     r3, r3, #21760
477         ldr     r7, [r2, #56]
478         ldr     r6, [r0, #20]
479         add     ip, ip, r9, ror #9
480         sub     r3, r3, #93
481         ldr     r9, [r0, #76]
482         add     ip, ip, r8, ror #5
483         sub     r3, r3, sl, ror #30
484         eor     r4, r4, r4, lsr #1
485         eor     r3, r3, r7
486         rsb     r9, r6, r9
487         add     ip, ip, r4
488         add     r9, r9, fp
489         add     ip, ip, r3
490         add     ip, ip, r9
491         eor     r5, r5, r5, lsr #2
492         add     ip, ip, r5
493         ldr     r4, [r0, #36]
494         str     ip, [r0, #92]
495         ldr     r5, [r0, #44]
496         ldr     r6, [r0, #52]
497         mov     r4, r4, ror #29
498         ldr     r3, [r1, #44]
499         add     r4, r4, r5, ror #25
500         ldr     r5, [r0, #60]
501         ldr     r7, [r1, #32]
502         add     r4, r4, r6, ror #19
503         ldr     r6, [r0, #68]
504         ldr     r8, [r0, #76]
505         add     r4, r4, r5, ror #16
506         mov     r3, r3, ror #20
507         ldr     sl, [r1, #8]
508         ldr     fp, [r0, #80]
509         add     r4, r4, r6, ror #13
510         add     r3, r3, r7, ror #23
511         ldr     r5, [r0, #88]
512         ldr     r7, [r0, #84]
513         ldr     r6, [r0, #24]
514         add     r4, r4, r8, ror #9
515         sub     r3, r3, #-2147483640
516         ldr     r8, [r2, #60]
517         add     r4, r4, r7, ror #5
518         sub     r3, r3, sl, ror #29
519         eor     r5, r5, r5, lsr #1
520         rsb     r6, r6, fp
521         ldr     fp, [sp, #8]
522         eor     r3, r3, r8
523         add     r4, r4, r5
524         add     r6, r6, fp
525         add     r4, r4, r3
526         add     r4, r4, r6
527         eor     ip, ip, ip, lsr #2
528         add     r4, r4, ip
529         str     r4, [r0, #96]
530         ldr     r5, [r0, #40]
531         ldr     r3, [r1, #48]
532         ldr     r7, [r1, #36]
533         str     r6, [sp, #12]
534         ldr     r6, [r0, #48]
535         ldr     ip, [r0, #56]
536         mov     r5, r5, ror #29
537         mov     r3, r3, ror #19
538         add     r5, r5, r6, ror #25
539         add     r3, r3, r7, ror #22
540         ldr     r6, [r0, #64]
541         add     r5, r5, ip, ror #19
542         add     r3, r3, #-2063597568
543         ldr     ip, [r0, #72]
544         add     r5, r5, r6, ror #16
545         add     r3, r3, #5570560
546         ldr     r6, [r0, #80]
547         ldr     sl, [r1, #12]
548         ldr     r8, [r0, #88]
549         add     r5, r5, ip, ror #13
550         add     r3, r3, #21760
551         ldr     ip, [r0, #92]
552         ldr     fp, [r0, #84]
553         ldr     r7, [r2, #0]
554         add     r5, r5, r6, ror #9
555         add     r3, r3, #77
556         ldr     r6, [r0, #28]
557         add     r5, r5, r8, ror #5
558         sub     r3, r3, sl, ror #28
559         eor     ip, ip, ip, lsr #1
560         eor     r3, r3, r7
561         rsb     r6, r6, fp
562         add     r5, r5, ip
563         add     r6, r6, r9
564         add     r5, r5, r3
565         add     r5, r5, r6
566         eor     r4, r4, r4, lsr #2
567         add     r5, r5, r4
568         str     r5, [r0, #100]
569         ldr     ip, [r0, #44]
570         ldr     r3, [r1, #52]
571         ldr     r4, [r0, #52]
572         ldr     r7, [r1, #40]
573         str     r6, [sp, #16]
574         mov     ip, ip, ror #29
575         ldr     r6, [r0, #60]
576         add     ip, ip, r4, ror #25
577         mov     r3, r3, ror #18
578         ldr     r4, [r0, #68]
579         add     r3, r3, r7, ror #21
580         add     ip, ip, r6, ror #19
581         ldr     r6, [r0, #76]
582         add     ip, ip, r4, ror #16
583         add     r3, r3, #-1979711488
584         ldr     r8, [r0, #92]
585         add     ip, ip, r6, ror #13
586         ldr     r4, [r0, #96]
587         add     r3, r3, #11141120
588         ldr     sl, [r1, #16]
589         add     ip, ip, fp, ror #9
590         add     r3, r3, #43520
591         ldr     r7, [r2, #4]
592         ldr     r6, [r0, #32]
593         ldr     r9, [r0, #88]
594         add     ip, ip, r8, ror #5
595         eor     r4, r4, r4, lsr #1
596         add     r3, r3, #162
597         sub     r3, r3, sl, ror #27
598         add     ip, ip, r4
599         ldr     r4, [sp, #12]
600         eor     r3, r3, r7
601         rsb     r9, r6, r9
602         add     r9, r9, r4
603         add     ip, ip, r3
604         add     ip, ip, r9
605         eor     r5, r5, r5, lsr #2
606         add     ip, ip, r5
607         ldr     r4, [r0, #48]
608         str     ip, [r0, #104]
609         ldr     r5, [r0, #56]
610         ldr     r6, [r0, #64]
611         mov     r4, r4, ror #29
612         ldr     r3, [r1, #56]
613         add     r4, r4, r5, ror #25
614         ldr     r5, [r0, #72]
615         ldr     r7, [r1, #44]
616         add     r4, r4, r6, ror #19
617         ldr     r6, [r0, #80]
618         ldr     r8, [r0, #88]
619         add     r4, r4, r5, ror #16
620         mov     r3, r3, ror #17
621         add     r4, r4, r6, ror #13
622         add     r3, r3, r7, ror #20
623         ldr     r5, [r0, #100]
624         ldr     r7, [r0, #96]
625         ldr     sl, [r1, #20]
626         add     r4, r4, r8, ror #9
627         ldr     fp, [r0, #92]
628         ldr     r8, [r2, #8]
629         ldr     r6, [r0, #36]
630         add     r4, r4, r7, ror #5
631         eor     r5, r5, r5, lsr #1
632         sub     r3, r3, #1879048201
633         sub     r3, r3, sl, ror #26
634         add     r4, r4, r5
635         ldr     r5, [sp, #16]
636         eor     r3, r3, r8
637         rsb     r6, r6, fp
638         add     r6, r6, r5
639         add     r4, r4, r3
640         add     r4, r4, r6
641         eor     ip, ip, ip, lsr #2
642         add     r4, r4, ip
643         str     r4, [r0, #108]
644         ldr     r5, [r0, #52]
645         ldr     r3, [r1, #60]
646         ldr     r7, [r1, #48]
647         str     r6, [sp, #20]
648         ldr     r6, [r0, #60]
649         ldr     ip, [r0, #68]
650         mov     r5, r5, ror #29
651         mov     r3, r3, ror #16
652         add     r5, r5, r6, ror #25
653         add     r3, r3, r7, ror #19
654         ldr     r6, [r0, #76]
655         add     r5, r5, ip, ror #19
656         add     r3, r3, #-1795162112
657         ldr     ip, [r0, #84]
658         add     r5, r5, r6, ror #16
659         add     r3, r3, #5570560
660         ldr     sl, [r1, #24]
661         ldr     r8, [r0, #100]
662         add     r5, r5, ip, ror #13
663         add     r3, r3, #21760
664         ldr     ip, [r0, #104]
665         ldr     r7, [r2, #12]
666         add     r5, r5, fp, ror #9
667         ldr     r6, [r0, #40]
668         ldr     fp, [r0, #96]
669         add     r3, r3, #76
670         add     r5, r5, r8, ror #5
671         sub     r3, r3, sl, ror #25
672         eor     ip, ip, ip, lsr #1
673         eor     r3, r3, r7
674         rsb     r6, r6, fp
675         add     r5, r5, ip
676         add     fp, r6, r9
677         add     r5, r5, r3
678         eor     r4, r4, r4, lsr #2
679         ldr     ip, [r0, #56]
680         add     r5, r5, fp
681         add     r5, r5, r4
682         ldr     r3, [r0, #64]
683         str     r5, [r0, #112]
684         ldr     r4, [r0, #72]
685         mov     ip, ip, ror #29
686         ldr     r6, [r0, #80]
687         add     ip, ip, r3, ror #25
688         ldr     r7, [r1, #0]
689         add     ip, ip, r4, ror #19
690         ldr     r3, .L3+4
691         ldr     r4, [r0, #88]
692         ldr     sl, [r1, #52]
693         add     ip, ip, r6, ror #16
694         ldr     r6, [r0, #96]
695         ldr     r9, [r1, #28]
696         add     ip, ip, r4, ror #13
697         add     r3, r3, r7, ror #31
698         ldr     r4, [r0, #108]
699         ldr     r7, [r0, #104]
700         ldr     r8, [r2, #16]
701         add     ip, ip, r6, ror #9
702         add     r3, r3, sl, ror #18
703         ldr     r6, [r0, #44]
704         ldr     sl, [r0, #100]
705         add     ip, ip, r7, ror #5
706         sub     r3, r3, r9, ror #24
707         ldr     r7, [sp, #20]
708         eor     r4, r4, r4, lsr #1
709         rsb     r6, r6, sl
710         eor     r3, r3, r8
711         add     ip, ip, r4
712         add     r9, r6, r7
713         add     ip, ip, r3
714         ldr     r4, [r0, #68]
715         ldr     r3, [r0, #60]
716         eor     r5, r5, r5, lsr #2
717         add     ip, ip, r9
718         add     ip, ip, r5
719         ldr     r6, [r0, #104]
720         mov     r4, r4, ror #25
721         str     ip, [r0, #116]
722         add     r4, r4, r3, ror #29
723         ldr     r5, [r0, #76]
724         add     r4, r4, r6
725         ldr     r7, [r0, #84]
726         ldr     r3, [r1, #4]
727         add     r4, r4, r5, ror #19
728         ldr     r5, [r0, #92]
729         ldr     r8, [r1, #56]
730         add     r4, r4, r7, ror #16
731         add     r4, r4, r5, ror #13
732         ldr     r7, [r0, #108]
733         mov     r3, r3, ror #30
734         add     r4, r4, sl, ror #9
735         add     r3, r3, r8, ror #17
736         ldr     sl, [r1, #32]
737         ldr     r6, [r0, #48]
738         ldr     r5, [r0, #112]
739         add     r4, r4, r7, ror #5
740         sub     r3, r3, #1610612746
741         ldr     r7, [r2, #20]
742         rsb     r4, r6, r4
743         eor     r5, r5, r5, lsr #1
744         sub     r3, r3, sl, ror #23
745         eor     r3, r3, r7
746         add     r4, r4, r5
747         add     r4, r4, r3
748         eor     ip, ip, ip, lsr #2
749         add     r4, r4, fp
750         add     r4, r4, ip
751         str     r4, [r0, #120]
752         ldr     r3, [r0, #72]
753         ldr     r5, [r0, #64]
754         ldr     ip, [r1, #8]
755         ldr     r6, [r0, #108]
756         mov     r3, r3, ror #25
757         ldr     r8, [r1, #60]
758         add     r3, r3, r5, ror #29
759         ldr     r7, [r0, #80]
760         add     r3, r3, r6
761         ldr     r5, [r0, #88]
762         mov     ip, ip, ror #29
763         add     r3, r3, r7, ror #19
764         add     ip, ip, r8, ror #16
765         ldr     r6, [r0, #96]
766         add     r3, r3, r5, ror #16
767         add     ip, ip, #-1526726656
768         ldr     r5, [r0, #104]
769         add     r3, r3, r6, ror #13
770         add     ip, ip, #5570560
771         ldr     r6, [r0, #112]
772         ldr     r8, [r1, #36]
773         add     r3, r3, r5, ror #9
774         add     ip, ip, #21760
775         ldr     r1, [r0, #116]
776         ldr     r5, [r0, #52]
777         ldr     r7, [r2, #24]
778         add     r3, r3, r6, ror #5
779         add     ip, ip, #75
780         rsb     r3, r5, r3
781         sub     ip, ip, r8, ror #22
782         eor     r1, r1, r1, lsr #1
783         add     r3, r3, r1
784         eor     ip, ip, r7
785         add     r3, r3, ip
786         add     r3, r3, r9
787         eor     r4, r4, r4, lsr #2
788         add     r3, r3, r4
789         str     r3, [r0, #124]
790         add     sp, sp, #24
791         ldmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, fp}
792         bx      lr
793 .L4:
794         .align  2
795 .L3:
796         .word   1431655760
797         .word   -1700091231
798         .size   bmw_small_f1, .-bmw_small_f1
799         .align  2
800         .global bmw_small_f0
801         .type   bmw_small_f0, %function
802 bmw_small_f0:
803         @ args = 0, pretend = 0, frame = 84
804         @ frame_needed = 0, uses_anonymous_args = 0
805         @ link register save eliminated.
806         stmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, fp}
807         ldr     r3, [r1, #28]
808         ldr     r7, [r2, #28]
809         sub     sp, sp, #84
810         ldr     fp, [r2, #20]
811         ldr     r9, [r2, #40]
812         ldr     sl, [r2, #52]
813         ldr     r4, [r1, #52]
814         eor     r3, r7, r3
815         ldr     r6, [r1, #20]
816         ldr     r5, [r1, #40]
817         ldr     r8, [r2, #56]
818         str     r3, [sp, #76]
819         ldr     ip, [r1, #56]
820         eor     sl, sl, r4
821         eor     r5, r9, r5
822         eor     r6, fp, r6
823         ldr     r4, [sp, #76]
824         ldr     r9, [r2, #32]
825         str     r5, [sp, #72]
826         eor     ip, r8, ip
827         add     r3, r5, r6
828         ldr     r5, [r1, #32]
829         rsb     r8, r4, ip
830         add     r3, r3, sl
831         add     r3, r3, r8
832         eor     r5, r9, r5
833         str     r5, [sp, #56]
834         str     r6, [sp, #68]
835         ldr     r5, [r1, #4]
836         ldr     r6, [r2, #4]
837         str     ip, [sp, #80]
838         mov     ip, r3, lsr #1
839         eor     ip, ip, r3, asl #3
840         eor     r6, r5, r6
841         eor     ip, ip, r3, ror #28
842         str     r6, [sp, #44]
843         eor     ip, ip, r3, ror #13
844         ldr     r7, [r2, #0]
845         ldr     r4, [r1, #0]
846         ldr     r6, [sp, #56]
847         str     ip, [sp, #4]
848         ldr     r3, [sp, #44]
849         ldr     ip, [sp, #72]
850         eor     r7, r7, r4
851         ldr     r5, [r1, #16]
852         add     r4, r6, sl
853         add     r6, ip, r3
854         ldr     ip, [r2, #16]
855         eor     r5, ip, r5
856         ldr     r3, [sp, #4]
857         str     r5, [sp, #48]
858         ldr     r5, [r1, #4]
859         ldr     fp, [r2, #44]
860         add     ip, r3, r5
861         ldr     r3, [r1, #44]
862         eor     fp, fp, r3
863         ldr     r9, [r1, #12]
864         str     fp, [sp, #64]
865         add     r3, r2, #8
866         ldmia   r3, {r3, r5}    @ phole ldm
867         eor     fp, r5, r9
868         ldr     r5, [r1, #8]
869         str     r3, [sp, #40]
870         ldr     r3, [r2, #24]
871         str     r5, [sp, #36]
872         ldr     r5, [r1, #24]
873         str     r3, [sp, #32]
874         ldr     r3, [r2, #36]
875         str     r5, [sp, #28]
876         ldr     r5, [r1, #36]
877         str     r3, [sp, #24]
878         ldr     r3, [r2, #48]
879         ldr     r9, [r2, #60]
880         str     r5, [sp, #20]
881         ldr     r2, [r1, #60]
882         ldr     r5, [r1, #48]
883         add     r4, r4, r7
884         rsb     r4, r6, r4
885         str     r3, [sp, #16]
886         ldr     r3, [sp, #48]
887         str     ip, [r0, #0]
888         str     r5, [sp, #12]
889         str     r2, [sp, #8]
890         ldr     r5, [sp, #64]
891         mov     r2, r4, lsr #2
892         rsb     ip, r7, r3
893         eor     r2, r2, r4, asl #2
894         rsb     r3, r5, sl
895         rsb     ip, fp, ip
896         ldr     r5, [r1, #16]
897         eor     r2, r2, r4, ror #17
898         add     ip, ip, r3
899         eor     r2, r2, r4, ror #3
900         add     r2, r2, r5
901         mov     r3, ip, lsr #1
902         str     r2, [r0, #12]
903         eor     r3, r3, ip, asl #2
904         eor     r3, r3, ip, ror #24
905         ldr     r2, [r1, #28]
906         ldr     r4, [sp, #28]
907         eor     r3, r3, ip, ror #9
908         ldr     ip, [sp, #32]
909         add     r3, r3, r2
910         eor     ip, ip, r4
911         rsb     r2, fp, ip
912         str     ip, [sp, #52]
913         str     r3, [r0, #24]
914         ldr     ip, [sp, #20]
915         ldr     r5, [sp, #24]
916         add     r8, r8, r2
917         eor     r5, r5, ip
918         ldr     r3, [r1, #40]
919         add     r8, r8, r7
920         rsb     r6, r5, r6
921         eor     r8, r8, r8, lsr #1
922         rsb     r6, r2, r6
923         add     r8, r8, r3
924         str     r5, [sp, #60]
925         mov     r2, r6, lsr #2
926         str     r8, [r0, #36]
927         ldr     r3, [sp, #16]
928         ldr     r4, [sp, #12]
929         eor     r2, r2, r6, asl #1
930         eor     r8, r3, r4
931         ldr     r5, [sp, #52]
932         ldr     r3, [r1, #52]
933         ldr     ip, [sp, #60]
934         eor     r2, r2, r6, ror #20
935         eor     r2, r2, r6, ror #7
936         rsb     sl, r5, sl
937         add     r2, r2, r3
938         rsb     r5, ip, r8
939         ldr     r3, [sp, #48]
940         add     r4, sl, r5
941         ldr     r6, [sp, #8]
942         rsb     r4, r3, r4
943         str     r2, [r0, #48]
944         eor     r9, r9, r6
945         mov     r3, r4, lsr #1
946         ldr     r6, [sp, #76]
947         eor     r3, r3, r4, asl #3
948         ldr     r2, [r1, #0]
949         add     ip, r9, r6
950         eor     r3, r3, r4, ror #28
951         eor     r3, r3, r4, ror #13
952         add     ip, ip, r7
953         rsb     ip, r5, ip
954         add     r3, r3, r2
955         str     r3, [r0, #60]
956         ldr     r4, [sp, #36]
957         ldr     r3, [sp, #40]
958         mov     r2, ip, lsr #2
959         eor     r2, r2, ip, asl #1
960         eor     r6, r3, r4
961         eor     r2, r2, ip, ror #20
962         rsb     r5, r6, r9
963         rsb     fp, r8, fp
964         eor     r2, r2, ip, ror #7
965         ldr     ip, [sp, #72]
966         ldr     r3, [r1, #12]
967         add     r4, r5, fp
968         add     r4, r4, ip
969         add     r2, r2, r3
970         mov     r3, r4, lsr #1
971         eor     r3, r3, r4, asl #3
972         eor     r3, r3, r4, ror #28
973         str     r3, [sp, #0]
974         ldr     r3, [sp, #68]
975         str     r2, [r0, #8]
976         rsb     ip, r3, #0
977         ldr     r3, [sp, #0]
978         ldr     r2, [r1, #24]
979         eor     r4, r3, r4, ror #13
980         add     r3, r4, r2
981         add     sl, ip, sl
982         rsb     sl, r5, sl
983         str     r3, [r0, #20]
984         ldr     r5, [sp, #56]
985         ldr     r3, [sp, #68]
986         mov     r2, sl, lsr #2
987         rsb     r4, r3, r5
988         ldr     r5, [sp, #60]
989         eor     r2, r2, sl, asl #2
990         ldr     r3, [r1, #36]
991         rsb     r7, r7, r5
992         eor     r2, r2, sl, ror #17
993         add     r7, r7, r4
994         eor     r2, r2, sl, ror #3
995         rsb     r7, r6, r7
996         add     r2, r2, r3
997         str     r2, [r0, #32]
998         mov     r3, r7, lsr #1
999         eor     r3, r3, r7, asl #2
1000         ldr     r2, [r1, #48]
1001         eor     r3, r3, r7, ror #24
1002         eor     r3, r3, r7, ror #9
1003         add     r3, r3, r2
1004         ldr     r7, [sp, #64]
1005         ldr     r5, [sp, #80]
1006         str     r3, [r0, #44]
1007         add     r3, r4, fp
1008         rsb     r2, r7, r3
1009         add     r4, r5, r7
1010         ldr     r7, [sp, #56]
1011         add     r9, r9, r7
1012         ldr     r7, [sp, #52]
1013         ldr     r3, [r1, #60]
1014         eor     r5, r2, r2, lsr #1
1015         add     r2, r4, r7
1016         add     r3, r5, r3
1017         rsb     r5, r9, r2
1018         str     r3, [r0, #56]
1019         mov     r3, r5, lsr #1
1020         eor     r3, r3, r5, asl #2
1021         ldr     r2, [r1, #8]
1022         eor     r3, r3, r5, ror #24
1023         eor     r3, r3, r5, ror #9
1024         add     r3, r3, r2
1025         str     r3, [r0, #4]
1026         ldr     r3, [sp, #44]
1027         ldr     r5, [sp, #60]
1028         add     r2, r6, r3
1029         ldr     r7, [sp, #80]
1030         add     r2, r2, r5
1031         rsb     ip, r7, ip
1032         rsb     r2, r4, r2
1033         ldr     r4, [sp, #48]
1034         add     ip, ip, r3
1035         rsb     ip, r4, ip
1036         ldr     r3, [r1, #20]
1037         rsb     ip, r8, ip
1038         eor     r2, r2, r2, lsr #1
1039         add     r2, r2, r3
1040         mov     r3, ip, lsr #2
1041         eor     r3, r3, ip, asl #1
1042         str     r2, [r0, #16]
1043         eor     r3, r3, ip, ror #20
1044         ldr     r5, [sp, #76]
1045         eor     r3, r3, ip, ror #7
1046         ldr     ip, [sp, #44]
1047         ldr     r2, [r1, #32]
1048         rsb     r9, ip, r9
1049         mov     r7, r4
1050         add     r4, r5, r4
1051         rsb     r9, r4, r9
1052         add     r3, r3, r2
1053         str     r3, [r0, #28]
1054         mov     r2, r9, lsr #1
1055         ldr     r3, [sp, #64]
1056         eor     r2, r2, r9, asl #3
1057         ldr     r5, [sp, #72]
1058         add     ip, r3, r6
1059         eor     r2, r2, r9, ror #28
1060         ldr     r3, [r1, #44]
1061         eor     r2, r2, r9, ror #13
1062         add     r6, ip, r5
1063         add     r6, r6, r4
1064         add     r2, r2, r3
1065         str     r2, [r0, #40]
1066         mov     r3, r6, lsr #2
1067         eor     r3, r3, r6, asl #2
1068         ldr     r2, [r1, #56]
1069         eor     r3, r3, r6, ror #17
1070         eor     r3, r3, r6, ror #3
1071         add     r3, r3, r2
1072         str     r3, [r0, #52]
1073         add     sp, sp, #84
1074         ldmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, fp}
1075         bx      lr
1076         .size   bmw_small_f0, .-bmw_small_f0
1077         .align  2
1078         .global bmw224_init
1079         .type   bmw224_init, %function
1080 bmw224_init:
1081         @ args = 0, pretend = 0, frame = 0
1082         @ frame_needed = 0, uses_anonymous_args = 0
1083         @ link register save eliminated.
1084         mov     r3, #65536
1085         add     r3, r3, #512
1086         add     r3, r3, #3
1087         str     r3, [r0, #0]
1088         mov     r2, r0
1089         add     r1, r0, #60
1090 .L8:
1091         ldr     r3, [r2, #0]
1092         add     r3, r3, #67108864
1093         add     r3, r3, #262144
1094         add     r3, r3, #1024
1095         add     r3, r3, #4
1096         str     r3, [r2, #4]!
1097         cmp     r2, r1
1098         bne     .L8
1099         mov     r3, #0
1100         str     r3, [r0, #64]
1101         bx      lr
1102         .size   bmw224_init, .-bmw224_init
1103         .align  2
1104         .global bmw256_init
1105         .type   bmw256_init, %function
1106 bmw256_init:
1107         @ args = 0, pretend = 0, frame = 0
1108         @ frame_needed = 0, uses_anonymous_args = 0
1109         @ link register save eliminated.
1110         ldr     r3, .L16
1111         str     r3, [r0, #0]
1112         mov     r2, r0
1113         add     r1, r0, #60
1114 .L13:
1115         ldr     r3, [r2, #0]
1116         add     r3, r3, #67108864
1117         add     r3, r3, #262144
1118         add     r3, r3, #1024
1119         add     r3, r3, #4
1120         str     r3, [r2, #4]!
1121         cmp     r2, r1
1122         bne     .L13
1123         mov     r3, #0
1124         str     r3, [r0, #64]
1125         bx      lr
1126 .L17:
1127         .align  2
1128 .L16:
1129         .word   1078018627
1130         .size   bmw256_init, .-bmw256_init
1131         .align  2
1132         .global bmw256_ctx2hash
1133         .type   bmw256_ctx2hash, %function
1134 bmw256_ctx2hash:
1135         @ args = 0, pretend = 0, frame = 0
1136         @ frame_needed = 0, uses_anonymous_args = 0
1137         @ link register save eliminated.
1138         add     r1, r1, #32
1139         mov     r2, #32
1140         b       memcpy
1141         .size   bmw256_ctx2hash, .-bmw256_ctx2hash
1142         .align  2
1143         .global bmw224_ctx2hash
1144         .type   bmw224_ctx2hash, %function
1145 bmw224_ctx2hash:
1146         @ args = 0, pretend = 0, frame = 0
1147         @ frame_needed = 0, uses_anonymous_args = 0
1148         @ link register save eliminated.
1149         add     r1, r1, #36
1150         mov     r2, #28
1151         b       memcpy
1152         .size   bmw224_ctx2hash, .-bmw224_ctx2hash
1153         .align  2
1154         .global bmw_small_nextBlock
1155         .type   bmw_small_nextBlock, %function
1156 bmw_small_nextBlock:
1157         @ args = 0, pretend = 0, frame = 192
1158         @ frame_needed = 0, uses_anonymous_args = 0
1159         stmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
1160         sub     sp, sp, #192
1161         mov     r7, r0
1162         mov     r8, r1
1163         add     r4, sp, #64
1164         mov     r0, r4
1165         mov     r1, r7
1166         mov     r2, r8
1167         bl      bmw_small_f0
1168         mov     r0, r4
1169         mov     r1, r8
1170         mov     r2, r7
1171         bl      bmw_small_f1
1172         add     r1, sp, #128
1173         ldmia   r1, {r1, r2, r3, ip}    @ phole ldm
1174         str     ip, [sp, #48]
1175         ldr     lr, [sp, #168]
1176         eor     ip, r1, r2
1177         str     r1, [sp, #60]
1178         ldr     r1, [sp, #144]
1179         str     r2, [sp, #56]
1180         ldr     r2, [sp, #172]
1181         str     lr, [sp, #28]
1182         str     r1, [sp, #44]
1183         str     r3, [sp, #52]
1184         ldr     r1, [sp, #176]
1185         eor     ip, ip, r3
1186         ldr     r3, [sp, #48]
1187         ldr     fp, [sp, #164]
1188         str     r2, [sp, #24]
1189         ldr     lr, [sp, #148]
1190         ldr     r2, [sp, #28]
1191         str     r1, [sp, #20]
1192         eor     ip, ip, r3
1193         ldr     r1, [sp, #152]
1194         ldr     r3, [sp, #44]
1195         str     lr, [sp, #40]
1196         eor     r0, r2, fp
1197         ldr     lr, [sp, #24]
1198         ldr     r2, [sp, #180]
1199         str     r1, [sp, #36]
1200         eor     ip, ip, r3
1201         ldr     r1, [sp, #184]
1202         ldr     r3, [sp, #40]
1203         str     r2, [sp, #16]
1204         eor     r0, r0, lr
1205         ldr     lr, [sp, #20]
1206         eor     ip, ip, r3
1207         str     r1, [sp, #12]
1208         ldr     r3, [sp, #16]
1209         ldr     r1, [sp, #188]
1210         eor     r0, r0, lr
1211         ldr     r2, [sp, #36]
1212         ldr     lr, [sp, #156]
1213         eor     r0, r0, r3
1214         str     r1, [sp, #8]
1215         ldr     r3, [sp, #12]
1216         eor     ip, ip, r2
1217         eor     r0, r0, r3
1218         ldr     r2, [sp, #160]
1219         eor     ip, ip, lr
1220         ldr     r9, [r8, #0]
1221         eor     r0, r0, r1
1222         add     r1, sp, #60
1223         ldmia   r1, {r1, r3}    @ phole ldm
1224         str     r2, [sp, #32]
1225         eor     r2, ip, r2
1226         eor     r0, r0, r2
1227         eor     r9, r9, r1, lsr #5
1228         eor     r2, r2, r3
1229         eor     r9, r9, r0, asl #5
1230         add     r9, r9, r2
1231         str     r9, [r7, #0]
1232         ldr     r3, [sp, #68]
1233         ldr     sl, [r8, #4]
1234         ldr     r2, [sp, #56]
1235         eor     r3, r3, fp
1236         eor     sl, sl, r2, asl #8
1237         eor     r3, r3, ip
1238         eor     sl, sl, r0, lsr #7
1239         add     sl, sl, r3
1240         str     sl, [r7, #4]
1241         ldr     r3, [sp, #72]
1242         ldr     r1, [sp, #28]
1243         ldr     r2, [r8, #8]
1244         eor     r3, r3, r1
1245         ldr     r1, [sp, #52]
1246         eor     r2, r2, r1, asl #5
1247         eor     r2, r2, r0, lsr #5
1248         eor     r3, r3, ip
1249         add     r3, r2, r3
1250         str     r3, [r7, #8]
1251         ldr     r1, [sp, #24]
1252         str     r3, [sp, #4]
1253         ldr     r3, [sp, #76]
1254         ldr     r2, [r8, #12]
1255         eor     r3, r3, r1
1256         ldr     r1, [sp, #48]
1257         eor     r2, r2, r1, asl #5
1258         eor     r2, r2, r0, lsr #1
1259         eor     r3, r3, ip
1260         add     r3, r2, r3
1261         str     r3, [r7, #12]
1262         ldr     r2, [sp, #20]
1263         str     r3, [sp, #0]
1264         ldr     r3, [sp, #80]
1265         ldr     r1, [r8, #16]
1266         eor     r3, r3, r2
1267         ldr     r2, [sp, #44]
1268         eor     r1, r1, r2
1269         eor     r3, r3, ip
1270         eor     r1, r1, r0, lsr #3
1271         add     r1, r1, r3
1272         str     r1, [r7, #16]
1273         ldr     r3, [sp, #84]
1274         ldr     r2, [sp, #16]
1275         ldr     r4, [r8, #20]
1276         eor     r3, r3, r2
1277         ldr     r2, [sp, #40]
1278         eor     r4, r4, r2, lsr #6
1279         eor     r3, r3, ip
1280         eor     r4, r4, r0, asl #6
1281         add     r4, r4, r3
1282         str     r4, [r7, #20]
1283         ldr     r3, [sp, #36]
1284         ldr     r5, [r8, #24]
1285         ldr     r2, [sp, #12]
1286         eor     r5, r5, r3, asl #6
1287         ldr     r3, [sp, #88]
1288         eor     r3, r3, r2
1289         eor     r3, r3, ip
1290         eor     r5, r5, r0, lsr #4
1291         add     r5, r5, r3
1292         str     r5, [r7, #24]
1293         ldr     r6, [r8, #28]
1294         ldr     r3, [sp, #92]
1295         ldr     r2, [sp, #8]
1296         eor     r6, r6, lr, asl #2
1297         eor     r3, r3, r2
1298         eor     r3, r3, ip
1299         eor     r6, r6, r0, lsr #11
1300         add     r6, r6, r3
1301         str     r6, [r7, #28]
1302         ldr     r3, [sp, #96]
1303         ldr     r2, [r8, #32]
1304         eor     r3, r3, lr
1305         ldr     lr, [sp, #32]
1306         eor     r3, r3, ip, asl #8
1307         eor     r2, r2, lr
1308         add     r3, r3, r1, ror #23
1309         eor     r2, r2, r0
1310         add     r3, r3, r2
1311         str     r3, [r7, #32]
1312         ldr     r3, [sp, #100]
1313         ldr     r1, [sp, #60]
1314         ldr     r2, [r8, #36]
1315         eor     r3, r3, r1
1316         eor     r3, r3, ip, lsr #6
1317         eor     r2, r2, fp
1318         eor     r2, r2, r0
1319         add     r3, r3, r4, ror #22
1320         add     r3, r3, r2
1321         str     r3, [r7, #36]
1322         ldr     r3, [sp, #104]
1323         ldr     lr, [sp, #56]
1324         ldr     r2, [r8, #40]
1325         ldr     r1, [sp, #28]
1326         eor     r3, r3, lr
1327         eor     r2, r2, r1
1328         eor     r3, r3, ip, asl #6
1329         eor     r2, r2, r0
1330         add     r3, r3, r5, ror #21
1331         add     r3, r3, r2
1332         str     r3, [r7, #40]
1333         ldr     r3, [sp, #108]
1334         ldr     lr, [sp, #52]
1335         ldr     r2, [r8, #44]
1336         ldr     r1, [sp, #24]
1337         eor     r3, r3, lr
1338         eor     r2, r2, r1
1339         eor     r3, r3, ip, asl #4
1340         eor     r2, r2, r0
1341         add     r3, r3, r6, ror #20
1342         add     r3, r3, r2
1343         str     r3, [r7, #44]
1344         ldr     r3, [sp, #112]
1345         ldr     lr, [sp, #48]
1346         ldr     r2, [r8, #48]
1347         ldr     r1, [sp, #20]
1348         eor     r3, r3, lr
1349         eor     r2, r2, r1
1350         eor     r3, r3, ip, lsr #3
1351         eor     r2, r2, r0
1352         add     r3, r3, r9, ror #19
1353         add     r3, r3, r2
1354         str     r3, [r7, #48]
1355         ldr     r3, [sp, #116]
1356         ldr     lr, [sp, #44]
1357         ldr     r2, [r8, #52]
1358         ldr     r1, [sp, #16]
1359         eor     r3, r3, lr
1360         eor     r2, r2, r1
1361         eor     r3, r3, ip, lsr #4
1362         eor     r2, r2, r0
1363         add     r3, r3, sl, ror #18
1364         add     r3, r3, r2
1365         str     r3, [r7, #52]
1366         ldr     lr, [sp, #40]
1367         ldr     r3, [sp, #120]
1368         ldr     r1, [sp, #12]
1369         ldr     r2, [r8, #56]
1370         eor     r3, r3, lr
1371         ldr     lr, [sp, #4]
1372         eor     r2, r2, r1
1373         eor     r3, r3, ip, lsr #7
1374         add     r3, r3, lr, ror #17
1375         eor     r2, r2, r0
1376         add     r3, r3, r2
1377         str     r3, [r7, #56]
1378         ldr     r3, [sp, #124]
1379         ldr     r2, [sp, #36]
1380         eor     r3, r3, r2
1381         ldr     r1, [r8, #60]
1382         eor     r3, r3, ip, lsr #2
1383         ldr     ip, [sp, #8]
1384         ldr     lr, [sp, #0]
1385         ldr     r2, [r7, #64]
1386         eor     r1, r1, ip
1387         add     r3, r3, lr, ror #16
1388         eor     r1, r1, r0
1389         add     r3, r3, r1
1390         add     r2, r2, #1
1391         str     r2, [r7, #64]
1392         str     r3, [r7, #60]
1393         add     sp, sp, #192
1394         ldmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
1395         .size   bmw_small_nextBlock, .-bmw_small_nextBlock
1396         .align  2
1397         .global bmw224_nextBlock
1398         .type   bmw224_nextBlock, %function
1399 bmw224_nextBlock:
1400         @ args = 0, pretend = 0, frame = 0
1401         @ frame_needed = 0, uses_anonymous_args = 0
1402         @ link register save eliminated.
1403         b       bmw_small_nextBlock
1404         .size   bmw224_nextBlock, .-bmw224_nextBlock
1405         .align  2
1406         .global bmw256_nextBlock
1407         .type   bmw256_nextBlock, %function
1408 bmw256_nextBlock:
1409         @ args = 0, pretend = 0, frame = 0
1410         @ frame_needed = 0, uses_anonymous_args = 0
1411         @ link register save eliminated.
1412         b       bmw_small_nextBlock
1413         .size   bmw256_nextBlock, .-bmw256_nextBlock
1414         .align  2
1415         .global bmw_small_lastBlock
1416         .type   bmw_small_lastBlock, %function
1417 bmw_small_lastBlock:
1418         @ args = 0, pretend = 0, frame = 400
1419         @ frame_needed = 0, uses_anonymous_args = 0
1420         stmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
1421         mov     r2, r2, asl #16
1422         mov     ip, #508
1423         mov     r4, r2, lsr #16
1424         add     ip, ip, #3
1425         cmp     r4, ip
1426         sub     sp, sp, #400
1427         mov     fp, r0
1428         mov     r8, r1
1429         bls     .L29
1430         mov     r7, ip
1431         mov     r6, r1
1432         mov     r5, r4
1433 .L30:
1434         mov     r1, r6
1435         mov     r0, fp
1436         bl      bmw_small_nextBlock
1437         sub     r3, r5, #512
1438         mov     r3, r3, asl #16
1439         mov     r5, r3, lsr #16
1440         cmp     r5, r7
1441         add     r6, r6, #64
1442         bhi     .L30
1443         sub     r2, r4, #512
1444         mov     r2, r2, asl #16
1445         mov     r3, r2, lsr #25
1446         add     r3, r3, #1
1447         mov     r2, r2, lsr #16
1448         mov     r3, r3, asl #6
1449         mov     r4, r2, asl #23
1450         add     r8, r8, r3
1451         mov     r4, r4, lsr #23
1452 .L29:
1453         add     r9, sp, #336
1454         mov     r1, #0
1455         mov     r2, #64
1456         mov     r0, r9
1457         bl      memset
1458         add     r2, r4, #7
1459         mov     r1, r8
1460         mov     r2, r2, asr #3
1461         mov     r0, r9
1462         bl      memcpy
1463         add     r0, sp, #400
1464         add     ip, r0, r4, lsr #3
1465         ldrb    r2, [ip, #-64]  @ zero_extendqisi2
1466         and     r1, r4, #7
1467         mov     r3, #128
1468         orr     r2, r2, r3, asr r1
1469         cmp     r4, #448
1470         strb    r2, [ip, #-64]
1471         bge     .L37
1472         add     r2, sp, #348
1473         add     r3, sp, #352
1474         add     r7, sp, #356
1475         add     r8, sp, #360
1476         add     ip, sp, #364
1477         str     r2, [sp, #12]
1478         str     r3, [sp, #8]
1479         str     r7, [sp, #4]
1480         str     r8, [sp, #20]
1481         str     ip, [sp, #16]
1482         ldr     r1, [fp, #64]
1483         add     r5, sp, #340
1484         add     r6, sp, #344
1485 .L31:
1486         mov     r2, #512
1487         mov     r3, r4
1488         mov     r4, #0
1489         umlal   r3, r4, r2, r1
1490         mov     r0, fp
1491         mov     r1, r9
1492         str     r3, [r9, #56]
1493         str     r4, [r9, #60]
1494         bl      bmw_small_nextBlock
1495         mov     r2, #64
1496         mov     r0, r9
1497         mov     r1, #170
1498         bl      memset
1499         mov     r2, #0
1500         mov     r3, #160
1501 .L32:
1502         strb    r3, [r9, r2]
1503         add     r2, r2, #4
1504         add     r3, r3, #1
1505         cmp     r2, #64
1506         and     r3, r3, #255
1507         bne     .L32
1508         add     r4, sp, #208
1509         mov     r0, r4
1510         mov     r1, r9
1511         mov     r2, fp
1512         bl      bmw_small_f0
1513         mov     r0, r4
1514         mov     r1, fp
1515         mov     r2, r9
1516         bl      bmw_small_f1
1517         add     r8, sp, #272
1518         ldmia   r8, {r8, ip, lr}        @ phole ldm
1519         add     r2, sp, #308
1520         ldmia   r2, {r2, r3}    @ phole ldm
1521         eor     r1, ip, r8
1522         str     ip, [sp, #200]
1523         ldr     ip, [sp, #292]
1524         ldr     r0, [sp, #284]
1525         str     r8, [sp, #204]
1526         ldr     r8, [sp, #316]
1527         ldr     r7, [sp, #288]
1528         str     ip, [sp, #184]
1529         str     lr, [sp, #196]
1530         eor     ip, r3, r2
1531         eor     r1, r1, lr
1532         ldr     lr, [sp, #320]
1533         str     r2, [sp, #172]
1534         eor     r1, r1, r0
1535         ldr     r2, [sp, #324]
1536         eor     ip, ip, r8
1537         str     r3, [sp, #168]
1538         str     r7, [sp, #188]
1539         ldr     r3, [sp, #184]
1540         eor     r1, r1, r7
1541         eor     ip, ip, lr
1542         ldr     r7, [sp, #328]
1543         eor     ip, ip, r2
1544         eor     r1, r1, r3
1545         str     r7, [sp, #152]
1546         eor     ip, ip, r7
1547         ldr     r3, [fp, #0]
1548         ldr     r7, [sp, #204]
1549         str     r0, [sp, #192]
1550         str     r8, [sp, #164]
1551         ldr     r0, [sp, #296]
1552         ldr     r8, [sp, #332]
1553         str     lr, [sp, #160]
1554         add     sl, sp, #300
1555         ldmia   sl, {sl, lr}    @ phole ldm
1556         eor     r3, r3, r7, lsr #5
1557         str     r0, [sp, #180]
1558         str     r2, [sp, #156]
1559         eor     r1, r1, r0
1560         ldr     r2, [fp, #4]
1561         str     r8, [sp, #148]
1562         str     lr, [sp, #176]
1563         eor     ip, ip, r8
1564         str     r3, [sp, #144]
1565         ldr     r8, [sp, #200]
1566         eor     r1, r1, sl
1567         eor     r0, r1, lr
1568         ldr     r3, [sp, #172]
1569         eor     lr, r2, r8, asl #8
1570         ldr     r2, [sp, #212]
1571         ldr     r7, [sp, #144]
1572         eor     r2, r3, r2
1573         ldr     r3, [sp, #208]
1574         eor     ip, ip, r0
1575         eor     r7, r7, ip, asl #5
1576         eor     r0, r0, r3
1577         eor     r2, r2, r1
1578         eor     r3, lr, ip, lsr #7
1579         add     r0, r7, r0
1580         add     r2, r3, r2
1581         str     r0, [r9, #0]
1582         str     r2, [r5, #0]
1583         ldr     r8, [fp, #8]
1584         ldr     r3, [sp, #216]
1585         ldr     lr, [sp, #168]
1586         str     r0, [sp, #136]
1587         ldr     r0, [sp, #196]
1588         eor     r3, lr, r3
1589         eor     r8, r8, r0, asl #5
1590         eor     r3, r3, r1
1591         eor     r8, r8, ip, lsr #5
1592         add     r8, r8, r3
1593         str     r8, [r6, #0]
1594         ldr     r7, [fp, #12]
1595         ldr     r3, [sp, #220]
1596         ldr     r5, [sp, #192]
1597         str     r2, [sp, #132]
1598         ldr     r2, [sp, #164]
1599         eor     r7, r7, r5, asl #5
1600         eor     r3, r2, r3
1601         eor     r3, r3, r1
1602         ldr     lr, [sp, #12]
1603         eor     r7, r7, ip, lsr #1
1604         add     r7, r7, r3
1605         str     r7, [lr, #0]
1606         ldr     r6, [fp, #16]
1607         ldr     r3, [sp, #224]
1608         ldr     r0, [sp, #160]
1609         ldr     r2, [sp, #188]
1610         eor     r3, r0, r3
1611         eor     r6, r2, r6
1612         eor     r3, r3, r1
1613         eor     r6, r6, ip, lsr #3
1614         add     r6, r6, r3
1615         ldr     r3, [sp, #8]
1616         str     r6, [r3, #0]
1617         ldr     r5, [fp, #20]
1618         ldr     lr, [sp, #184]
1619         ldr     r3, [sp, #228]
1620         ldr     r0, [sp, #156]
1621         eor     r5, r5, lr, lsr #6
1622         eor     r3, r0, r3
1623         eor     r3, r3, r1
1624         ldr     r2, [sp, #4]
1625         eor     r5, r5, ip, asl #6
1626         add     r5, r5, r3
1627         str     r5, [r2, #0]
1628         ldr     lr, [sp, #152]
1629         ldr     r0, [sp, #180]
1630         ldr     r4, [fp, #24]
1631         ldr     r3, [sp, #232]
1632         eor     r4, r4, r0, asl #6
1633         eor     r3, lr, r3
1634         eor     r3, r3, r1
1635         eor     r4, r4, ip, lsr #4
1636         ldr     r2, [sp, #20]
1637         add     r4, r4, r3
1638         str     r4, [r2, #0]
1639         ldr     r0, [fp, #28]
1640         ldr     r3, [sp, #236]
1641         ldr     lr, [sp, #148]
1642         eor     r0, r0, sl, asl #2
1643         eor     r3, lr, r3
1644         eor     r3, r3, r1
1645         ldr     r2, [sp, #16]
1646         eor     r0, r0, ip, lsr #11
1647         add     r0, r0, r3
1648         str     r0, [r2, #0]
1649         ldr     r3, [sp, #240]
1650         ldr     r2, [sp, #244]
1651         eor     sl, sl, r3
1652         ldr     r3, [sp, #204]
1653         ldr     lr, [sp, #200]
1654         eor     r2, r3, r2
1655         ldr     r3, [sp, #248]
1656         eor     r3, lr, r3
1657         str     r2, [sp, #124]
1658         str     r3, [sp, #112]
1659         ldr     r2, [sp, #252]
1660         ldr     r3, [sp, #196]
1661         ldr     lr, [sp, #192]
1662         eor     r2, r3, r2
1663         ldr     r3, [sp, #256]
1664         eor     r3, lr, r3
1665         str     r2, [sp, #100]
1666         str     r3, [sp, #88]
1667         ldr     r2, [sp, #260]
1668         ldr     r3, [sp, #188]
1669         ldr     lr, [sp, #184]
1670         eor     r2, r3, r2
1671         ldr     r3, [sp, #264]
1672         eor     r3, lr, r3
1673         str     r2, [sp, #72]
1674         str     r3, [sp, #52]
1675         ldr     r2, [sp, #268]
1676         ldr     r3, [sp, #180]
1677         eor     lr, r3, r2
1678         ldr     r3, [fp, #32]
1679         ldr     r2, [sp, #176]
1680         eor     r2, r2, r3
1681         str     r2, [sp, #128]
1682         ldr     r3, [fp, #36]
1683         ldr     r2, [sp, #172]
1684         eor     r2, r2, r3
1685         str     r2, [sp, #116]
1686         ldr     r3, [fp, #40]
1687         ldr     r2, [sp, #168]
1688         eor     r2, r2, r3
1689         str     r2, [sp, #104]
1690         ldr     r3, [fp, #44]
1691         ldr     r2, [sp, #164]
1692         eor     r2, r2, r3
1693         str     r2, [sp, #92]
1694         ldr     r3, [fp, #48]
1695         ldr     r2, [sp, #160]
1696         eor     r2, r2, r3
1697         str     r2, [sp, #76]
1698         ldr     r3, [fp, #52]
1699         ldr     r2, [sp, #156]
1700         eor     r2, r2, r3
1701         str     r2, [sp, #60]
1702         ldr     r3, [fp, #56]
1703         ldr     r2, [sp, #152]
1704         eor     lr, lr, r1, lsr #2
1705         eor     r2, r2, r3
1706         str     r2, [sp, #44]
1707         str     lr, [sp, #36]
1708         ldr     r2, [fp, #60]
1709         ldr     lr, [sp, #148]
1710         ldr     r3, [sp, #124]
1711         eor     lr, lr, r2
1712         ldr     r2, [sp, #112]
1713         str     lr, [sp, #28]
1714         eor     lr, r3, r1, lsr #6
1715         ldr     r3, [sp, #100]
1716         eor     r2, r2, r1, asl #6
1717         str     r2, [sp, #0]
1718         eor     r2, r3, r1, asl #4
1719         ldr     r3, [sp, #88]
1720         eor     r3, r3, r1, lsr #3
1721         str     r3, [sp, #84]
1722         ldr     r3, [sp, #72]
1723         eor     r3, r3, r1, lsr #4
1724         str     r3, [sp, #68]
1725         ldr     r3, [sp, #52]
1726         add     lr, lr, r5, ror #22
1727         add     r2, r2, r0, ror #20
1728         ldr     r5, [sp, #0]
1729         ldr     r0, [sp, #136]
1730         eor     sl, sl, r1, asl #8
1731         str     lr, [sp, #120]
1732         eor     r1, r3, r1, lsr #7
1733         str     r2, [sp, #96]
1734         ldr     r3, [sp, #132]
1735         ldr     lr, [sp, #84]
1736         ldr     r2, [sp, #68]
1737         add     r4, r5, r4, ror #21
1738         add     lr, lr, r0, ror #19
1739         add     r2, r2, r3, ror #18
1740         str     r4, [sp, #108]
1741         str     lr, [sp, #80]
1742         str     r2, [sp, #64]
1743         ldr     r5, [sp, #36]
1744         add     r7, r5, r7, ror #16
1745         str     r7, [sp, #32]
1746         ldr     r7, [sp, #28]
1747         add     r1, r1, r8, ror #17
1748         ldr     r0, [sp, #116]
1749         ldr     r8, [sp, #128]
1750         ldr     r2, [sp, #104]
1751         ldr     r3, [sp, #92]
1752         eor     r7, r7, ip
1753         str     r7, [sp, #24]
1754         eor     lr, r8, ip
1755         eor     r5, r0, ip
1756         eor     r8, r3, ip
1757         eor     r7, r2, ip
1758         ldr     r0, [sp, #76]
1759         ldr     r3, [sp, #44]
1760         ldr     r2, [sp, #60]
1761         add     sl, sl, r6, ror #23
1762         eor     r2, r2, ip
1763         eor     r6, r0, ip
1764         add     sl, sl, lr
1765         eor     ip, r3, ip
1766         ldr     lr, [sp, #108]
1767         str     ip, [sp, #40]
1768         str     r1, [sp, #48]
1769         str     r2, [sp, #56]
1770         ldr     ip, [sp, #120]
1771         add     r7, lr, r7
1772         mov     r4, r9
1773         ldmia   r4!, {r0, r1, r2, r3}
1774         str     r7, [r9, #40]
1775         ldr     r7, [sp, #96]
1776         add     r5, ip, r5
1777         ldr     lr, [sp, #56]
1778         ldr     ip, [sp, #64]
1779         str     r5, [r9, #36]
1780         add     r5, r7, r8
1781         ldr     r8, [sp, #80]
1782         add     r7, r8, r6
1783         add     r6, ip, lr
1784         ldr     ip, [sp, #48]
1785         ldr     lr, [sp, #40]
1786         add     r8, ip, lr
1787         ldr     ip, [sp, #32]
1788         ldr     lr, [sp, #24]
1789         add     ip, ip, lr
1790         str     ip, [r9, #60]
1791         mov     ip, fp
1792         str     sl, [r9, #32]
1793         str     r5, [r9, #44]
1794         str     r7, [r9, #48]
1795         str     r6, [r9, #52]
1796         str     r8, [r9, #56]
1797         stmia   ip!, {r0, r1, r2, r3}
1798         ldmia   r4!, {r0, r1, r2, r3}
1799         stmia   ip!, {r0, r1, r2, r3}
1800         ldmia   r4!, {r0, r1, r2, r3}
1801         stmia   ip!, {r0, r1, r2, r3}
1802         ldmia   r4, {r0, r1, r2, r3}
1803         stmia   ip, {r0, r1, r2, r3}
1804         add     sp, sp, #400
1805         ldmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
1806 .L37:
1807         mov     r0, fp
1808         mov     r1, r9
1809         bl      bmw_small_nextBlock
1810         ldr     r1, [fp, #64]
1811         mov     r3, #0
1812         str     r3, [sp, #388]
1813         str     r3, [sp, #336]
1814         str     r3, [sp, #340]
1815         str     r3, [sp, #344]
1816         str     r3, [sp, #348]
1817         str     r3, [sp, #352]
1818         str     r3, [sp, #356]
1819         str     r3, [sp, #360]
1820         str     r3, [sp, #364]
1821         str     r3, [sp, #368]
1822         str     r3, [sp, #372]
1823         str     r3, [sp, #376]
1824         str     r3, [sp, #380]
1825         str     r3, [sp, #384]
1826         sub     r1, r1, #1
1827         add     lr, sp, #348
1828         add     r0, sp, #352
1829         add     r2, sp, #356
1830         add     r3, sp, #360
1831         add     r7, sp, #364
1832         str     r1, [fp, #64]
1833         add     r5, sp, #340
1834         add     r6, sp, #344
1835         str     lr, [sp, #12]
1836         str     r0, [sp, #8]
1837         str     r2, [sp, #4]
1838         str     r3, [sp, #20]
1839         str     r7, [sp, #16]
1840         b       .L31
1841         .size   bmw_small_lastBlock, .-bmw_small_lastBlock
1842         .align  2
1843         .global bmw256_lastBlock
1844         .type   bmw256_lastBlock, %function
1845 bmw256_lastBlock:
1846         @ args = 0, pretend = 0, frame = 0
1847         @ frame_needed = 0, uses_anonymous_args = 0
1848         @ link register save eliminated.
1849         mov     r2, r2, asl #16
1850         mov     r2, r2, lsr #16
1851         b       bmw_small_lastBlock
1852         .size   bmw256_lastBlock, .-bmw256_lastBlock
1853         .align  2
1854         .global bmw224_lastBlock
1855         .type   bmw224_lastBlock, %function
1856 bmw224_lastBlock:
1857         @ args = 0, pretend = 0, frame = 0
1858         @ frame_needed = 0, uses_anonymous_args = 0
1859         @ link register save eliminated.
1860         mov     r2, r2, asl #16
1861         mov     r2, r2, lsr #16
1862         b       bmw_small_lastBlock
1863         .size   bmw224_lastBlock, .-bmw224_lastBlock
1864         .align  2
1865         .global bmw256
1866         .type   bmw256, %function
1867 bmw256:
1868         @ args = 0, pretend = 0, frame = 68
1869         @ frame_needed = 0, uses_anonymous_args = 0
1870         stmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
1871         ldr     r3, .L49
1872         sub     sp, sp, #68
1873         add     r6, sp, #68
1874         str     r3, [r6, #-68]!
1875         mov     sl, r1
1876         mov     r7, r2
1877         mov     r9, r0
1878         mov     r2, sp
1879         add     r1, sp, #60
1880 .L43:
1881         ldr     r3, [r2, #0]
1882         add     r3, r3, #67108864
1883         add     r3, r3, #262144
1884         add     r3, r3, #1024
1885         add     r3, r3, #4
1886         str     r3, [r2, #4]!
1887         cmp     r2, r1
1888         bne     .L43
1889         mov     r2, #508
1890         add     r2, r2, #3
1891         mov     r3, #0
1892         cmp     r7, r2
1893         str     r3, [sp, #64]
1894         bls     .L44
1895         mov     r8, r2
1896         mov     r5, sl
1897         mov     r4, r7
1898 .L45:
1899         mov     r1, r5
1900         sub     r4, r4, #512
1901         mov     r0, sp
1902         bl      bmw_small_nextBlock
1903         cmp     r4, r8
1904         add     r5, r5, #64
1905         bhi     .L45
1906         sub     r2, r7, #512
1907         mov     r3, r2, lsr #9
1908         add     r3, r3, #1
1909         mov     r3, r3, asl #6
1910         mov     r7, r2, asl #23
1911         add     sl, sl, r3
1912         mov     r7, r7, lsr #23
1913 .L44:
1914         mov     r2, r7, asl #16
1915         mov     r1, sl
1916         mov     r0, sp
1917         mov     r2, r2, lsr #16
1918         bl      bmw_small_lastBlock
1919         mov     r0, r9
1920         add     r1, sp, #32
1921         mov     r2, #32
1922         bl      memcpy
1923         add     sp, sp, #68
1924         ldmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
1925 .L50:
1926         .align  2
1927 .L49:
1928         .word   1078018627
1929         .size   bmw256, .-bmw256
1930         .align  2
1931         .global bmw224
1932         .type   bmw224, %function
1933 bmw224:
1934         @ args = 0, pretend = 0, frame = 68
1935         @ frame_needed = 0, uses_anonymous_args = 0
1936         stmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
1937         mov     r3, #65536
1938         sub     sp, sp, #68
1939         add     r3, r3, #512
1940         add     r3, r3, #3
1941         add     r6, sp, #68
1942         str     r3, [r6, #-68]!
1943         mov     sl, r1
1944         mov     r7, r2
1945         mov     r9, r0
1946         mov     r2, sp
1947         add     r1, sp, #60
1948 .L52:
1949         ldr     r3, [r2, #0]
1950         add     r3, r3, #67108864
1951         add     r3, r3, #262144
1952         add     r3, r3, #1024
1953         add     r3, r3, #4
1954         str     r3, [r2, #4]!
1955         cmp     r2, r1
1956         bne     .L52
1957         mov     r2, #508
1958         add     r2, r2, #3
1959         mov     r3, #0
1960         cmp     r7, r2
1961         str     r3, [sp, #64]
1962         bls     .L53
1963         mov     r8, r2
1964         mov     r5, sl
1965         mov     r4, r7
1966 .L54:
1967         mov     r1, r5
1968         sub     r4, r4, #512
1969         mov     r0, sp
1970         bl      bmw_small_nextBlock
1971         cmp     r4, r8
1972         add     r5, r5, #64
1973         bhi     .L54
1974         sub     r2, r7, #512
1975         mov     r3, r2, lsr #9
1976         add     r3, r3, #1
1977         mov     r3, r3, asl #6
1978         mov     r7, r2, asl #23
1979         add     sl, sl, r3
1980         mov     r7, r7, lsr #23
1981 .L53:
1982         mov     r2, r7, asl #16
1983         mov     r1, sl
1984         mov     r0, sp
1985         mov     r2, r2, lsr #16
1986         bl      bmw_small_lastBlock
1987         mov     r0, r9
1988         add     r1, sp, #36
1989         mov     r2, #28
1990         bl      memcpy
1991         add     sp, sp, #68
1992         ldmfd   sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
1993         .size   bmw224, .-bmw224
1994         .ident  "GCC: (GNU) 4.3.2"