.file "bmw_small_speed.c" .text .align 2 .type bmw_small_f1, %function bmw_small_f1: @ args = 0, pretend = 0, frame = 24 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp} ldmib r0, {r5, r6} @ phole ldm ldr r7, [r0, #0] ldr r8, [r0, #12] mov r9, r5, lsr #2 mov r3, r6, lsr #2 ldr sl, [r0, #16] eor r9, r9, r5, asl #1 eor r3, r3, r6, asl #2 mov ip, r7, lsr #1 ldr fp, [r0, #20] eor r9, r9, r5, ror #20 eor r3, r3, r6, ror #17 eor ip, ip, r7, asl #2 mov r4, r8, lsr #1 eor r3, r3, r6, ror #3 eor r9, r9, r5, ror #7 ldr r6, [r0, #24] eor ip, ip, r7, ror #24 eor r4, r4, r8, asl #3 mov r5, sl, lsr #1 eor ip, ip, r7, ror #9 add r9, r9, r3 ldr r7, [r0, #28] eor r4, r4, r8, ror #28 eor r5, r5, sl, asl #2 mov r3, fp, lsr #2 eor r4, r4, r8, ror #13 add r9, r9, ip eor r5, r5, sl, ror #24 eor r3, r3, fp, asl #1 mov ip, r6, lsr #2 eor r5, r5, sl, ror #9 add r9, r9, r4 eor r3, r3, fp, ror #20 eor ip, ip, r6, asl #2 mov r4, r7, lsr #1 ldr r8, [r0, #32] eor r3, r3, fp, ror #7 add r9, r9, r5 eor ip, ip, r6, ror #17 eor r4, r4, r7, asl #3 ldr sl, [r0, #36] eor ip, ip, r6, ror #3 add r9, r9, r3 ldr r6, [r0, #44] eor r4, r4, r7, ror #28 ldr fp, [r0, #40] eor r4, r4, r7, ror #13 mov r5, r8, lsr #1 ldr r7, [r0, #48] add r9, r9, ip eor r5, r5, r8, asl #2 mov r3, sl, lsr #2 add r9, r9, r4 mov r4, r6, lsr #1 eor r5, r5, r8, ror #24 eor r3, r3, sl, asl #1 mov ip, fp, lsr #2 eor r4, r4, r6, asl #3 mov r6, r7, lsr #1 eor r5, r5, r8, ror #9 eor r3, r3, sl, ror #20 ldr r8, [r0, #44] eor ip, ip, fp, asl #2 eor r6, r6, r7, asl #2 eor r3, r3, sl, ror #7 add r9, r9, r5 eor ip, ip, fp, ror #17 eor r6, r6, r7, ror #24 ldr sl, [r0, #52] eor ip, ip, fp, ror #3 eor r6, r6, r7, ror #9 add r9, r9, r3 ldr r7, [r0, #8] eor r4, r4, r8, ror #28 eor r4, r4, r8, ror #13 add r9, r9, ip mov r3, sl, lsr #2 add r9, r9, r4 mov r5, r7, lsr #2 ldr r4, [r0, #60] ldr r7, [r0, #4] eor r3, r3, sl, asl #1 add r9, r9, r6 ldr r6, [r0, #52] ldr ip, [r1, #0] ldr fp, [r0, #56] eor r3, r3, sl, ror #20 mov sl, r4, lsr #1 mov r4, r7, lsr #1 ldr r7, .L3 sub sp, sp, #24 eor r3, r3, r6, ror #7 str r3, [sp, #0] mov r8, fp, lsr #2 ldr r3, [r0, #60] add r7, r7, ip, ror #31 ldr ip, [r0, #56] eor r8, r8, fp, asl #2 ldr r6, [r0, #8] eor r8, r8, ip, ror #17 eor sl, sl, r3, asl #3 ldr ip, [r0, #4] ldr r3, [r0, #12] eor r5, r5, r6, asl #1 eor r6, r4, ip, asl #2 mov ip, r3, lsr #2 ldr r3, [sp, #0] add r9, r9, r3 ldr r3, [r0, #56] ldr fp, [r1, #12] eor r8, r8, r3, ror #3 ldr r3, [r0, #8] add r7, r7, fp, ror #28 eor r5, r5, r3, ror #20 ldr fp, [r0, #60] ldr r3, [r0, #4] ldr r4, [r1, #40] eor sl, sl, fp, ror #28 eor fp, r6, r3, ror #24 ldr r6, [r0, #12] ldr r3, [r0, #16] eor ip, ip, r6, asl #2 add r9, r9, r8 mov r6, r3, lsr #1 ldr r8, [r0, #60] ldr r3, [r0, #8] sub r7, r7, r4, ror #21 ldr r4, [r0, #4] eor sl, sl, r8, ror #13 eor r5, r5, r3, ror #7 eor r8, fp, r4, ror #9 ldr r3, [r0, #16] ldr fp, [r0, #12] add r9, r9, sl ldr sl, [r0, #16] eor ip, ip, fp, ror #17 eor r6, r6, r3, asl #3 ldr fp, [r0, #20] add r5, r5, r8 ldr r8, [r0, #12] ldr r3, [r2, #28] eor r6, r6, sl, ror #28 eor ip, ip, r8, ror #3 eor r6, r6, sl, ror #13 ldr r8, [r0, #24] ldr sl, [r0, #20] mov r4, fp, lsr #1 eor r7, r7, r3 eor r4, r4, fp, asl #2 add r9, r9, r7 mov r3, r8, lsr #2 eor r4, r4, sl, ror #24 ldr fp, [r0, #32] ldr r7, [r0, #36] eor r4, r4, sl, ror #9 eor r3, r3, r8, asl #1 ldr r8, [r0, #28] str r9, [r0, #64] ldr sl, [r0, #24] add r5, r5, ip add r5, r5, r6 eor r3, r3, sl, ror #20 eor r3, r3, sl, ror #7 mov ip, r8, lsr #2 add r5, r5, r4 eor ip, ip, r8, asl #2 mov r6, fp, lsr #1 add r5, r5, r3 ldr r3, [r0, #28] eor ip, ip, r8, ror #17 eor r6, r6, fp, asl #3 eor ip, ip, r3, ror #3 mov r8, r7, lsr #1 ldr r3, [r0, #40] eor r6, r6, fp, ror #28 eor r6, r6, fp, ror #13 eor r8, r8, r7, asl #2 add r5, r5, ip mov sl, r3, lsr #2 eor r8, r8, r7, ror #24 add r5, r5, r6 ldr r6, [r0, #40] ldr r4, [r1, #16] eor r8, r8, r7, ror #9 eor sl, sl, r3, asl #1 ldr fp, [r0, #44] ldr r3, [r1, #4] eor sl, sl, r6, ror #20 add r5, r5, r8 ldr r6, [r0, #48] ldr r8, [r0, #40] mov r4, r4, ror #27 eor sl, sl, r8, ror #7 mov ip, fp, lsr #2 mov r7, r6, lsr #1 add r4, r4, r3, ror #30 ldr r3, [r0, #44] eor ip, ip, fp, asl #2 eor r7, r7, r6, asl #3 add r5, r5, sl ldr r6, [r0, #52] ldr sl, [r0, #44] eor ip, ip, r3, ror #17 ldr fp, [r0, #56] eor ip, ip, sl, ror #3 mov r3, r6, lsr #1 add r6, r0, #48 ldmia r6, {r6, sl} @ phole ldm ldr r8, [r0, #60] add r5, r5, ip ldr ip, [r0, #48] eor r7, r7, r6, ror #28 eor r3, r3, sl, asl #2 mov r6, fp, lsr #2 add r4, r4, #1509949440 eor r7, r7, ip, ror #13 eor r3, r3, sl, ror #24 eor r6, r6, fp, asl #1 mov ip, r8, lsr #2 add r4, r4, #11141120 eor r3, r3, sl, ror #9 add r5, r5, r7 ldr sl, [r1, #44] eor r6, r6, fp, ror #20 eor ip, ip, r8, asl #2 add r4, r4, #43520 ldr r7, [r2, #32] eor r6, r6, fp, ror #7 add r5, r5, r3 eor ip, ip, r8, ror #17 mov r3, r9, lsr #1 add r4, r4, #165 eor ip, ip, r8, ror #3 add r5, r5, r6 sub r4, r4, sl, ror #20 eor r3, r3, r9, asl #3 eor r4, r4, r7 add r5, r5, ip eor r3, r3, r9, ror #28 eor r3, r3, r9, ror #13 add r5, r5, r4 ldr ip, [r0, #12] add r5, r5, r3 ldr r3, [r0, #20] str r5, [r0, #68] ldr r4, [r0, #8] ldr r6, [r0, #28] ldr r8, [r0, #16] mov ip, ip, ror #29 ldr r7, [r0, #24] ldr sl, [r0, #36] add ip, ip, r3, ror #25 add r8, r8, r4 ldr r3, [r1, #20] ldr r4, [r0, #32] add ip, ip, r6, ror #19 ldr r6, [r0, #44] ldr fp, [r1, #8] add r8, r8, r7 add ip, ip, sl, ror #16 ldr r7, [r0, #40] add r9, r0, #48 ldmia r9, {r9, sl} @ phole ldm add r8, r8, r4 add ip, ip, r6, ror #13 ldr r4, [r0, #64] ldr r6, [r0, #60] mov r3, r3, ror #26 add r8, r8, r7 add ip, ip, sl, ror #9 ldr r7, [r0, #56] ldr sl, [r1, #48] add r3, r3, fp, ror #29 add r8, r8, r9 add ip, ip, r6, ror #5 eor r4, r4, r4, lsr #1 ldr r6, [r2, #36] sub r3, r3, #-1610612730 add r8, r8, r7 add ip, ip, r4 sub r3, r3, sl, ror #19 eor r3, r3, r6 add ip, ip, r8 add ip, ip, r3 eor r5, r5, r5, lsr #2 add ip, ip, r5 str ip, [r0, #72] ldr r5, [r0, #16] ldr r4, [r0, #24] ldr r3, [r1, #24] ldr r6, [r0, #12] ldr r7, [r0, #20] mov r5, r5, ror #29 ldr r9, [r1, #12] add r5, r5, r4, ror #25 add r4, r0, #28 ldmia r4, {r4, sl} @ phole ldm add r7, r7, r6 mov r3, r3, ror #25 add r6, r0, #36 ldmia r6, {r6, fp} @ phole ldm add r3, r3, r9, ror #28 add r7, r7, r4 ldr r9, [r0, #44] add r5, r5, sl, ror #19 add r7, r7, r6 ldr sl, [r0, #48] add r5, r5, fp, ror #16 add r7, r7, r9 add r3, r3, #1711276032 ldr r9, [r0, #56] ldr fp, [r0, #52] ldr r6, [r0, #64] add r5, r5, sl, ror #13 ldr r4, [r0, #68] sub r3, r3, #11141120 ldr sl, [r0, #60] add r5, r5, r9, ror #9 sub r3, r3, #43520 ldr r9, [r1, #52] add r7, r7, fp add r5, r5, r6, ror #5 eor r4, r4, r4, lsr #1 ldr r6, [r2, #40] sub r3, r3, #177 add r7, r7, sl add r5, r5, r4 sub r3, r3, r9, ror #18 eor r3, r3, r6 add r5, r5, r7 add r5, r5, r3 eor ip, ip, ip, lsr #2 add r5, r5, ip str r5, [r0, #76] ldr ip, [r0, #20] ldr r4, [r0, #28] ldr r3, [r1, #28] ldr r6, [r0, #36] mov ip, ip, ror #29 ldr sl, [r1, #16] add ip, ip, r4, ror #25 ldr r4, [r0, #44] add ip, ip, r6, ror #19 mov r3, r3, ror #24 add r3, r3, sl, ror #27 add ip, ip, r4, ror #16 ldr sl, [r0, #60] ldr r9, [r0, #68] add ip, ip, fp, ror #13 add r3, r3, #1778384896 add ip, ip, sl, ror #9 add r3, r3, #11141120 ldr r4, [r0, #72] add ip, ip, r9, ror #5 add r3, r3, #43520 ldr r9, [r1, #56] ldr fp, [r0, #64] ldr sl, [r2, #44] ldr r6, [r0, #8] add r3, r3, #164 sub r3, r3, r9, ror #17 eor r4, r4, r4, lsr #1 eor r3, r3, sl rsb r6, r6, fp add ip, ip, r4 add r6, r6, r8 add ip, ip, r3 add ip, ip, r6 eor r5, r5, r5, lsr #2 str r6, [sp, #4] add ip, ip, r5 ldr r4, [r0, #24] str ip, [r0, #80] ldr r5, [r0, #32] ldr r6, [r0, #40] mov r4, r4, ror #29 ldr r3, [r1, #32] add r4, r4, r5, ror #25 ldr r5, [r0, #48] ldr r8, [r1, #20] add r4, r4, r6, ror #19 ldr r6, [r0, #56] add r4, r4, r5, ror #16 mov r3, r3, ror #23 ldr r9, [r1, #60] add r4, r4, r6, ror #13 add r3, r3, r8, ror #26 ldr r5, [r0, #76] ldr r8, [r0, #72] ldr sl, [r2, #48] add r4, r4, fp, ror #9 ldr r6, [r0, #12] ldr fp, [r0, #68] sub r3, r3, #-1879048185 add r4, r4, r8, ror #5 sub r3, r3, r9, ror #16 eor r5, r5, r5, lsr #1 eor r3, r3, sl rsb r6, r6, fp add r4, r4, r5 add fp, r6, r7 add r4, r4, r3 add r4, r4, fp eor ip, ip, ip, lsr #2 add r4, r4, ip str r4, [r0, #84] ldr r5, [r0, #28] ldr r3, [r1, #36] ldr r7, [r1, #24] ldr r6, [r0, #36] ldr ip, [r0, #44] mov r5, r5, ror #29 mov r3, r3, ror #22 add r5, r5, r6, ror #25 add r3, r3, r7, ror #25 ldr r6, [r0, #52] add r5, r5, ip, ror #19 add r3, r3, #1979711488 ldr ip, [r0, #60] add r5, r5, r6, ror #16 sub r3, r3, #11141120 ldr r6, [r0, #68] ldr sl, [r1, #0] ldr r8, [r0, #76] add r5, r5, ip, ror #13 sub r3, r3, #43520 ldr ip, [r0, #80] ldr r9, [r0, #72] ldr r7, [r2, #52] add r5, r5, r6, ror #9 sub r3, r3, #178 ldr r6, [r0, #16] add r5, r5, r8, ror #5 sub r3, r3, sl, ror #31 eor ip, ip, ip, lsr #1 ldr sl, [sp, #4] eor r3, r3, r7 rsb r6, r6, r9 add r5, r5, ip add r6, r6, sl add r5, r5, r3 add r5, r5, r6 eor r4, r4, r4, lsr #2 add r5, r5, r4 str r5, [r0, #88] ldr ip, [r0, #32] ldr r3, [r1, #40] ldr r7, [r1, #28] ldr r4, [r0, #40] str r6, [sp, #8] mov ip, ip, ror #29 ldr r6, [r0, #48] mov r3, r3, ror #21 add ip, ip, r4, ror #25 add r3, r3, r7, ror #24 ldr r4, [r0, #56] add ip, ip, r6, ror #19 add r3, r3, #2063597568 ldr r6, [r0, #64] add ip, ip, r4, ror #16 sub r3, r3, #5570560 ldr sl, [r1, #4] ldr r8, [r0, #80] add ip, ip, r6, ror #13 ldr r4, [r0, #84] sub r3, r3, #21760 ldr r7, [r2, #56] ldr r6, [r0, #20] add ip, ip, r9, ror #9 sub r3, r3, #93 ldr r9, [r0, #76] add ip, ip, r8, ror #5 sub r3, r3, sl, ror #30 eor r4, r4, r4, lsr #1 eor r3, r3, r7 rsb r9, r6, r9 add ip, ip, r4 add r9, r9, fp add ip, ip, r3 add ip, ip, r9 eor r5, r5, r5, lsr #2 add ip, ip, r5 ldr r4, [r0, #36] str ip, [r0, #92] ldr r5, [r0, #44] ldr r6, [r0, #52] mov r4, r4, ror #29 ldr r3, [r1, #44] add r4, r4, r5, ror #25 ldr r5, [r0, #60] ldr r7, [r1, #32] add r4, r4, r6, ror #19 ldr r6, [r0, #68] ldr r8, [r0, #76] add r4, r4, r5, ror #16 mov r3, r3, ror #20 ldr sl, [r1, #8] ldr fp, [r0, #80] add r4, r4, r6, ror #13 add r3, r3, r7, ror #23 ldr r5, [r0, #88] ldr r7, [r0, #84] ldr r6, [r0, #24] add r4, r4, r8, ror #9 sub r3, r3, #-2147483640 ldr r8, [r2, #60] add r4, r4, r7, ror #5 sub r3, r3, sl, ror #29 eor r5, r5, r5, lsr #1 rsb r6, r6, fp ldr fp, [sp, #8] eor r3, r3, r8 add r4, r4, r5 add r6, r6, fp add r4, r4, r3 add r4, r4, r6 eor ip, ip, ip, lsr #2 add r4, r4, ip str r4, [r0, #96] ldr r5, [r0, #40] ldr r3, [r1, #48] ldr r7, [r1, #36] str r6, [sp, #12] ldr r6, [r0, #48] ldr ip, [r0, #56] mov r5, r5, ror #29 mov r3, r3, ror #19 add r5, r5, r6, ror #25 add r3, r3, r7, ror #22 ldr r6, [r0, #64] add r5, r5, ip, ror #19 add r3, r3, #-2063597568 ldr ip, [r0, #72] add r5, r5, r6, ror #16 add r3, r3, #5570560 ldr r6, [r0, #80] ldr sl, [r1, #12] ldr r8, [r0, #88] add r5, r5, ip, ror #13 add r3, r3, #21760 ldr ip, [r0, #92] ldr fp, [r0, #84] ldr r7, [r2, #0] add r5, r5, r6, ror #9 add r3, r3, #77 ldr r6, [r0, #28] add r5, r5, r8, ror #5 sub r3, r3, sl, ror #28 eor ip, ip, ip, lsr #1 eor r3, r3, r7 rsb r6, r6, fp add r5, r5, ip add r6, r6, r9 add r5, r5, r3 add r5, r5, r6 eor r4, r4, r4, lsr #2 add r5, r5, r4 str r5, [r0, #100] ldr ip, [r0, #44] ldr r3, [r1, #52] ldr r4, [r0, #52] ldr r7, [r1, #40] str r6, [sp, #16] mov ip, ip, ror #29 ldr r6, [r0, #60] add ip, ip, r4, ror #25 mov r3, r3, ror #18 ldr r4, [r0, #68] add r3, r3, r7, ror #21 add ip, ip, r6, ror #19 ldr r6, [r0, #76] add ip, ip, r4, ror #16 add r3, r3, #-1979711488 ldr r8, [r0, #92] add ip, ip, r6, ror #13 ldr r4, [r0, #96] add r3, r3, #11141120 ldr sl, [r1, #16] add ip, ip, fp, ror #9 add r3, r3, #43520 ldr r7, [r2, #4] ldr r6, [r0, #32] ldr r9, [r0, #88] add ip, ip, r8, ror #5 eor r4, r4, r4, lsr #1 add r3, r3, #162 sub r3, r3, sl, ror #27 add ip, ip, r4 ldr r4, [sp, #12] eor r3, r3, r7 rsb r9, r6, r9 add r9, r9, r4 add ip, ip, r3 add ip, ip, r9 eor r5, r5, r5, lsr #2 add ip, ip, r5 ldr r4, [r0, #48] str ip, [r0, #104] ldr r5, [r0, #56] ldr r6, [r0, #64] mov r4, r4, ror #29 ldr r3, [r1, #56] add r4, r4, r5, ror #25 ldr r5, [r0, #72] ldr r7, [r1, #44] add r4, r4, r6, ror #19 ldr r6, [r0, #80] ldr r8, [r0, #88] add r4, r4, r5, ror #16 mov r3, r3, ror #17 add r4, r4, r6, ror #13 add r3, r3, r7, ror #20 ldr r5, [r0, #100] ldr r7, [r0, #96] ldr sl, [r1, #20] add r4, r4, r8, ror #9 ldr fp, [r0, #92] ldr r8, [r2, #8] ldr r6, [r0, #36] add r4, r4, r7, ror #5 eor r5, r5, r5, lsr #1 sub r3, r3, #1879048201 sub r3, r3, sl, ror #26 add r4, r4, r5 ldr r5, [sp, #16] eor r3, r3, r8 rsb r6, r6, fp add r6, r6, r5 add r4, r4, r3 add r4, r4, r6 eor ip, ip, ip, lsr #2 add r4, r4, ip str r4, [r0, #108] ldr r5, [r0, #52] ldr r3, [r1, #60] ldr r7, [r1, #48] str r6, [sp, #20] ldr r6, [r0, #60] ldr ip, [r0, #68] mov r5, r5, ror #29 mov r3, r3, ror #16 add r5, r5, r6, ror #25 add r3, r3, r7, ror #19 ldr r6, [r0, #76] add r5, r5, ip, ror #19 add r3, r3, #-1795162112 ldr ip, [r0, #84] add r5, r5, r6, ror #16 add r3, r3, #5570560 ldr sl, [r1, #24] ldr r8, [r0, #100] add r5, r5, ip, ror #13 add r3, r3, #21760 ldr ip, [r0, #104] ldr r7, [r2, #12] add r5, r5, fp, ror #9 ldr r6, [r0, #40] ldr fp, [r0, #96] add r3, r3, #76 add r5, r5, r8, ror #5 sub r3, r3, sl, ror #25 eor ip, ip, ip, lsr #1 eor r3, r3, r7 rsb r6, r6, fp add r5, r5, ip add fp, r6, r9 add r5, r5, r3 eor r4, r4, r4, lsr #2 ldr ip, [r0, #56] add r5, r5, fp add r5, r5, r4 ldr r3, [r0, #64] str r5, [r0, #112] ldr r4, [r0, #72] mov ip, ip, ror #29 ldr r6, [r0, #80] add ip, ip, r3, ror #25 ldr r7, [r1, #0] add ip, ip, r4, ror #19 ldr r3, .L3+4 ldr r4, [r0, #88] ldr sl, [r1, #52] add ip, ip, r6, ror #16 ldr r6, [r0, #96] ldr r9, [r1, #28] add ip, ip, r4, ror #13 add r3, r3, r7, ror #31 ldr r4, [r0, #108] ldr r7, [r0, #104] ldr r8, [r2, #16] add ip, ip, r6, ror #9 add r3, r3, sl, ror #18 ldr r6, [r0, #44] ldr sl, [r0, #100] add ip, ip, r7, ror #5 sub r3, r3, r9, ror #24 ldr r7, [sp, #20] eor r4, r4, r4, lsr #1 rsb r6, r6, sl eor r3, r3, r8 add ip, ip, r4 add r9, r6, r7 add ip, ip, r3 ldr r4, [r0, #68] ldr r3, [r0, #60] eor r5, r5, r5, lsr #2 add ip, ip, r9 add ip, ip, r5 ldr r6, [r0, #104] mov r4, r4, ror #25 str ip, [r0, #116] add r4, r4, r3, ror #29 ldr r5, [r0, #76] add r4, r4, r6 ldr r7, [r0, #84] ldr r3, [r1, #4] add r4, r4, r5, ror #19 ldr r5, [r0, #92] ldr r8, [r1, #56] add r4, r4, r7, ror #16 add r4, r4, r5, ror #13 ldr r7, [r0, #108] mov r3, r3, ror #30 add r4, r4, sl, ror #9 add r3, r3, r8, ror #17 ldr sl, [r1, #32] ldr r6, [r0, #48] ldr r5, [r0, #112] add r4, r4, r7, ror #5 sub r3, r3, #1610612746 ldr r7, [r2, #20] rsb r4, r6, r4 eor r5, r5, r5, lsr #1 sub r3, r3, sl, ror #23 eor r3, r3, r7 add r4, r4, r5 add r4, r4, r3 eor ip, ip, ip, lsr #2 add r4, r4, fp add r4, r4, ip str r4, [r0, #120] ldr r3, [r0, #72] ldr r5, [r0, #64] ldr ip, [r1, #8] ldr r6, [r0, #108] mov r3, r3, ror #25 ldr r8, [r1, #60] add r3, r3, r5, ror #29 ldr r7, [r0, #80] add r3, r3, r6 ldr r5, [r0, #88] mov ip, ip, ror #29 add r3, r3, r7, ror #19 add ip, ip, r8, ror #16 ldr r6, [r0, #96] add r3, r3, r5, ror #16 add ip, ip, #-1526726656 ldr r5, [r0, #104] add r3, r3, r6, ror #13 add ip, ip, #5570560 ldr r6, [r0, #112] ldr r8, [r1, #36] add r3, r3, r5, ror #9 add ip, ip, #21760 ldr r1, [r0, #116] ldr r5, [r0, #52] ldr r7, [r2, #24] add r3, r3, r6, ror #5 add ip, ip, #75 rsb r3, r5, r3 sub ip, ip, r8, ror #22 eor r1, r1, r1, lsr #1 add r3, r3, r1 eor ip, ip, r7 add r3, r3, ip add r3, r3, r9 eor r4, r4, r4, lsr #2 add r3, r3, r4 str r3, [r0, #124] add sp, sp, #24 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp} bx lr .L4: .align 2 .L3: .word 1431655760 .word -1700091231 .size bmw_small_f1, .-bmw_small_f1 .align 2 .global bmw_small_f0 .type bmw_small_f0, %function bmw_small_f0: @ args = 0, pretend = 0, frame = 84 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp} ldr r3, [r1, #28] ldr r7, [r2, #28] sub sp, sp, #84 ldr fp, [r2, #20] ldr r9, [r2, #40] ldr sl, [r2, #52] ldr r4, [r1, #52] eor r3, r7, r3 ldr r6, [r1, #20] ldr r5, [r1, #40] ldr r8, [r2, #56] str r3, [sp, #76] ldr ip, [r1, #56] eor sl, sl, r4 eor r5, r9, r5 eor r6, fp, r6 ldr r4, [sp, #76] ldr r9, [r2, #32] str r5, [sp, #72] eor ip, r8, ip add r3, r5, r6 ldr r5, [r1, #32] rsb r8, r4, ip add r3, r3, sl add r3, r3, r8 eor r5, r9, r5 str r5, [sp, #56] str r6, [sp, #68] ldr r5, [r1, #4] ldr r6, [r2, #4] str ip, [sp, #80] mov ip, r3, lsr #1 eor ip, ip, r3, asl #3 eor r6, r5, r6 eor ip, ip, r3, ror #28 str r6, [sp, #44] eor ip, ip, r3, ror #13 ldr r7, [r2, #0] ldr r4, [r1, #0] ldr r6, [sp, #56] str ip, [sp, #4] ldr r3, [sp, #44] ldr ip, [sp, #72] eor r7, r7, r4 ldr r5, [r1, #16] add r4, r6, sl add r6, ip, r3 ldr ip, [r2, #16] eor r5, ip, r5 ldr r3, [sp, #4] str r5, [sp, #48] ldr r5, [r1, #4] ldr fp, [r2, #44] add ip, r3, r5 ldr r3, [r1, #44] eor fp, fp, r3 ldr r9, [r1, #12] str fp, [sp, #64] add r3, r2, #8 ldmia r3, {r3, r5} @ phole ldm eor fp, r5, r9 ldr r5, [r1, #8] str r3, [sp, #40] ldr r3, [r2, #24] str r5, [sp, #36] ldr r5, [r1, #24] str r3, [sp, #32] ldr r3, [r2, #36] str r5, [sp, #28] ldr r5, [r1, #36] str r3, [sp, #24] ldr r3, [r2, #48] ldr r9, [r2, #60] str r5, [sp, #20] ldr r2, [r1, #60] ldr r5, [r1, #48] add r4, r4, r7 rsb r4, r6, r4 str r3, [sp, #16] ldr r3, [sp, #48] str ip, [r0, #0] str r5, [sp, #12] str r2, [sp, #8] ldr r5, [sp, #64] mov r2, r4, lsr #2 rsb ip, r7, r3 eor r2, r2, r4, asl #2 rsb r3, r5, sl rsb ip, fp, ip ldr r5, [r1, #16] eor r2, r2, r4, ror #17 add ip, ip, r3 eor r2, r2, r4, ror #3 add r2, r2, r5 mov r3, ip, lsr #1 str r2, [r0, #12] eor r3, r3, ip, asl #2 eor r3, r3, ip, ror #24 ldr r2, [r1, #28] ldr r4, [sp, #28] eor r3, r3, ip, ror #9 ldr ip, [sp, #32] add r3, r3, r2 eor ip, ip, r4 rsb r2, fp, ip str ip, [sp, #52] str r3, [r0, #24] ldr ip, [sp, #20] ldr r5, [sp, #24] add r8, r8, r2 eor r5, r5, ip ldr r3, [r1, #40] add r8, r8, r7 rsb r6, r5, r6 eor r8, r8, r8, lsr #1 rsb r6, r2, r6 add r8, r8, r3 str r5, [sp, #60] mov r2, r6, lsr #2 str r8, [r0, #36] ldr r3, [sp, #16] ldr r4, [sp, #12] eor r2, r2, r6, asl #1 eor r8, r3, r4 ldr r5, [sp, #52] ldr r3, [r1, #52] ldr ip, [sp, #60] eor r2, r2, r6, ror #20 eor r2, r2, r6, ror #7 rsb sl, r5, sl add r2, r2, r3 rsb r5, ip, r8 ldr r3, [sp, #48] add r4, sl, r5 ldr r6, [sp, #8] rsb r4, r3, r4 str r2, [r0, #48] eor r9, r9, r6 mov r3, r4, lsr #1 ldr r6, [sp, #76] eor r3, r3, r4, asl #3 ldr r2, [r1, #0] add ip, r9, r6 eor r3, r3, r4, ror #28 eor r3, r3, r4, ror #13 add ip, ip, r7 rsb ip, r5, ip add r3, r3, r2 str r3, [r0, #60] ldr r4, [sp, #36] ldr r3, [sp, #40] mov r2, ip, lsr #2 eor r2, r2, ip, asl #1 eor r6, r3, r4 eor r2, r2, ip, ror #20 rsb r5, r6, r9 rsb fp, r8, fp eor r2, r2, ip, ror #7 ldr ip, [sp, #72] ldr r3, [r1, #12] add r4, r5, fp add r4, r4, ip add r2, r2, r3 mov r3, r4, lsr #1 eor r3, r3, r4, asl #3 eor r3, r3, r4, ror #28 str r3, [sp, #0] ldr r3, [sp, #68] str r2, [r0, #8] rsb ip, r3, #0 ldr r3, [sp, #0] ldr r2, [r1, #24] eor r4, r3, r4, ror #13 add r3, r4, r2 add sl, ip, sl rsb sl, r5, sl str r3, [r0, #20] ldr r5, [sp, #56] ldr r3, [sp, #68] mov r2, sl, lsr #2 rsb r4, r3, r5 ldr r5, [sp, #60] eor r2, r2, sl, asl #2 ldr r3, [r1, #36] rsb r7, r7, r5 eor r2, r2, sl, ror #17 add r7, r7, r4 eor r2, r2, sl, ror #3 rsb r7, r6, r7 add r2, r2, r3 str r2, [r0, #32] mov r3, r7, lsr #1 eor r3, r3, r7, asl #2 ldr r2, [r1, #48] eor r3, r3, r7, ror #24 eor r3, r3, r7, ror #9 add r3, r3, r2 ldr r7, [sp, #64] ldr r5, [sp, #80] str r3, [r0, #44] add r3, r4, fp rsb r2, r7, r3 add r4, r5, r7 ldr r7, [sp, #56] add r9, r9, r7 ldr r7, [sp, #52] ldr r3, [r1, #60] eor r5, r2, r2, lsr #1 add r2, r4, r7 add r3, r5, r3 rsb r5, r9, r2 str r3, [r0, #56] mov r3, r5, lsr #1 eor r3, r3, r5, asl #2 ldr r2, [r1, #8] eor r3, r3, r5, ror #24 eor r3, r3, r5, ror #9 add r3, r3, r2 str r3, [r0, #4] ldr r3, [sp, #44] ldr r5, [sp, #60] add r2, r6, r3 ldr r7, [sp, #80] add r2, r2, r5 rsb ip, r7, ip rsb r2, r4, r2 ldr r4, [sp, #48] add ip, ip, r3 rsb ip, r4, ip ldr r3, [r1, #20] rsb ip, r8, ip eor r2, r2, r2, lsr #1 add r2, r2, r3 mov r3, ip, lsr #2 eor r3, r3, ip, asl #1 str r2, [r0, #16] eor r3, r3, ip, ror #20 ldr r5, [sp, #76] eor r3, r3, ip, ror #7 ldr ip, [sp, #44] ldr r2, [r1, #32] rsb r9, ip, r9 mov r7, r4 add r4, r5, r4 rsb r9, r4, r9 add r3, r3, r2 str r3, [r0, #28] mov r2, r9, lsr #1 ldr r3, [sp, #64] eor r2, r2, r9, asl #3 ldr r5, [sp, #72] add ip, r3, r6 eor r2, r2, r9, ror #28 ldr r3, [r1, #44] eor r2, r2, r9, ror #13 add r6, ip, r5 add r6, r6, r4 add r2, r2, r3 str r2, [r0, #40] mov r3, r6, lsr #2 eor r3, r3, r6, asl #2 ldr r2, [r1, #56] eor r3, r3, r6, ror #17 eor r3, r3, r6, ror #3 add r3, r3, r2 str r3, [r0, #52] add sp, sp, #84 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp} bx lr .size bmw_small_f0, .-bmw_small_f0 .align 2 .global bmw224_init .type bmw224_init, %function bmw224_init: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. mov r3, #65536 add r3, r3, #512 add r3, r3, #3 str r3, [r0, #0] mov r2, r0 add r1, r0, #60 .L8: ldr r3, [r2, #0] add r3, r3, #67108864 add r3, r3, #262144 add r3, r3, #1024 add r3, r3, #4 str r3, [r2, #4]! cmp r2, r1 bne .L8 mov r3, #0 str r3, [r0, #64] bx lr .size bmw224_init, .-bmw224_init .align 2 .global bmw256_init .type bmw256_init, %function bmw256_init: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. ldr r3, .L16 str r3, [r0, #0] mov r2, r0 add r1, r0, #60 .L13: ldr r3, [r2, #0] add r3, r3, #67108864 add r3, r3, #262144 add r3, r3, #1024 add r3, r3, #4 str r3, [r2, #4]! cmp r2, r1 bne .L13 mov r3, #0 str r3, [r0, #64] bx lr .L17: .align 2 .L16: .word 1078018627 .size bmw256_init, .-bmw256_init .align 2 .global bmw256_ctx2hash .type bmw256_ctx2hash, %function bmw256_ctx2hash: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. add r1, r1, #32 mov r2, #32 b memcpy .size bmw256_ctx2hash, .-bmw256_ctx2hash .align 2 .global bmw224_ctx2hash .type bmw224_ctx2hash, %function bmw224_ctx2hash: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. add r1, r1, #36 mov r2, #28 b memcpy .size bmw224_ctx2hash, .-bmw224_ctx2hash .align 2 .global bmw_small_nextBlock .type bmw_small_nextBlock, %function bmw_small_nextBlock: @ args = 0, pretend = 0, frame = 192 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} sub sp, sp, #192 mov r7, r0 mov r8, r1 add r4, sp, #64 mov r0, r4 mov r1, r7 mov r2, r8 bl bmw_small_f0 mov r0, r4 mov r1, r8 mov r2, r7 bl bmw_small_f1 add r1, sp, #128 ldmia r1, {r1, r2, r3, ip} @ phole ldm str ip, [sp, #48] ldr lr, [sp, #168] eor ip, r1, r2 str r1, [sp, #60] ldr r1, [sp, #144] str r2, [sp, #56] ldr r2, [sp, #172] str lr, [sp, #28] str r1, [sp, #44] str r3, [sp, #52] ldr r1, [sp, #176] eor ip, ip, r3 ldr r3, [sp, #48] ldr fp, [sp, #164] str r2, [sp, #24] ldr lr, [sp, #148] ldr r2, [sp, #28] str r1, [sp, #20] eor ip, ip, r3 ldr r1, [sp, #152] ldr r3, [sp, #44] str lr, [sp, #40] eor r0, r2, fp ldr lr, [sp, #24] ldr r2, [sp, #180] str r1, [sp, #36] eor ip, ip, r3 ldr r1, [sp, #184] ldr r3, [sp, #40] str r2, [sp, #16] eor r0, r0, lr ldr lr, [sp, #20] eor ip, ip, r3 str r1, [sp, #12] ldr r3, [sp, #16] ldr r1, [sp, #188] eor r0, r0, lr ldr r2, [sp, #36] ldr lr, [sp, #156] eor r0, r0, r3 str r1, [sp, #8] ldr r3, [sp, #12] eor ip, ip, r2 eor r0, r0, r3 ldr r2, [sp, #160] eor ip, ip, lr ldr r9, [r8, #0] eor r0, r0, r1 add r1, sp, #60 ldmia r1, {r1, r3} @ phole ldm str r2, [sp, #32] eor r2, ip, r2 eor r0, r0, r2 eor r9, r9, r1, lsr #5 eor r2, r2, r3 eor r9, r9, r0, asl #5 add r9, r9, r2 str r9, [r7, #0] ldr r3, [sp, #68] ldr sl, [r8, #4] ldr r2, [sp, #56] eor r3, r3, fp eor sl, sl, r2, asl #8 eor r3, r3, ip eor sl, sl, r0, lsr #7 add sl, sl, r3 str sl, [r7, #4] ldr r3, [sp, #72] ldr r1, [sp, #28] ldr r2, [r8, #8] eor r3, r3, r1 ldr r1, [sp, #52] eor r2, r2, r1, asl #5 eor r2, r2, r0, lsr #5 eor r3, r3, ip add r3, r2, r3 str r3, [r7, #8] ldr r1, [sp, #24] str r3, [sp, #4] ldr r3, [sp, #76] ldr r2, [r8, #12] eor r3, r3, r1 ldr r1, [sp, #48] eor r2, r2, r1, asl #5 eor r2, r2, r0, lsr #1 eor r3, r3, ip add r3, r2, r3 str r3, [r7, #12] ldr r2, [sp, #20] str r3, [sp, #0] ldr r3, [sp, #80] ldr r1, [r8, #16] eor r3, r3, r2 ldr r2, [sp, #44] eor r1, r1, r2 eor r3, r3, ip eor r1, r1, r0, lsr #3 add r1, r1, r3 str r1, [r7, #16] ldr r3, [sp, #84] ldr r2, [sp, #16] ldr r4, [r8, #20] eor r3, r3, r2 ldr r2, [sp, #40] eor r4, r4, r2, lsr #6 eor r3, r3, ip eor r4, r4, r0, asl #6 add r4, r4, r3 str r4, [r7, #20] ldr r3, [sp, #36] ldr r5, [r8, #24] ldr r2, [sp, #12] eor r5, r5, r3, asl #6 ldr r3, [sp, #88] eor r3, r3, r2 eor r3, r3, ip eor r5, r5, r0, lsr #4 add r5, r5, r3 str r5, [r7, #24] ldr r6, [r8, #28] ldr r3, [sp, #92] ldr r2, [sp, #8] eor r6, r6, lr, asl #2 eor r3, r3, r2 eor r3, r3, ip eor r6, r6, r0, lsr #11 add r6, r6, r3 str r6, [r7, #28] ldr r3, [sp, #96] ldr r2, [r8, #32] eor r3, r3, lr ldr lr, [sp, #32] eor r3, r3, ip, asl #8 eor r2, r2, lr add r3, r3, r1, ror #23 eor r2, r2, r0 add r3, r3, r2 str r3, [r7, #32] ldr r3, [sp, #100] ldr r1, [sp, #60] ldr r2, [r8, #36] eor r3, r3, r1 eor r3, r3, ip, lsr #6 eor r2, r2, fp eor r2, r2, r0 add r3, r3, r4, ror #22 add r3, r3, r2 str r3, [r7, #36] ldr r3, [sp, #104] ldr lr, [sp, #56] ldr r2, [r8, #40] ldr r1, [sp, #28] eor r3, r3, lr eor r2, r2, r1 eor r3, r3, ip, asl #6 eor r2, r2, r0 add r3, r3, r5, ror #21 add r3, r3, r2 str r3, [r7, #40] ldr r3, [sp, #108] ldr lr, [sp, #52] ldr r2, [r8, #44] ldr r1, [sp, #24] eor r3, r3, lr eor r2, r2, r1 eor r3, r3, ip, asl #4 eor r2, r2, r0 add r3, r3, r6, ror #20 add r3, r3, r2 str r3, [r7, #44] ldr r3, [sp, #112] ldr lr, [sp, #48] ldr r2, [r8, #48] ldr r1, [sp, #20] eor r3, r3, lr eor r2, r2, r1 eor r3, r3, ip, lsr #3 eor r2, r2, r0 add r3, r3, r9, ror #19 add r3, r3, r2 str r3, [r7, #48] ldr r3, [sp, #116] ldr lr, [sp, #44] ldr r2, [r8, #52] ldr r1, [sp, #16] eor r3, r3, lr eor r2, r2, r1 eor r3, r3, ip, lsr #4 eor r2, r2, r0 add r3, r3, sl, ror #18 add r3, r3, r2 str r3, [r7, #52] ldr lr, [sp, #40] ldr r3, [sp, #120] ldr r1, [sp, #12] ldr r2, [r8, #56] eor r3, r3, lr ldr lr, [sp, #4] eor r2, r2, r1 eor r3, r3, ip, lsr #7 add r3, r3, lr, ror #17 eor r2, r2, r0 add r3, r3, r2 str r3, [r7, #56] ldr r3, [sp, #124] ldr r2, [sp, #36] eor r3, r3, r2 ldr r1, [r8, #60] eor r3, r3, ip, lsr #2 ldr ip, [sp, #8] ldr lr, [sp, #0] ldr r2, [r7, #64] eor r1, r1, ip add r3, r3, lr, ror #16 eor r1, r1, r0 add r3, r3, r1 add r2, r2, #1 str r2, [r7, #64] str r3, [r7, #60] add sp, sp, #192 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} .size bmw_small_nextBlock, .-bmw_small_nextBlock .align 2 .global bmw224_nextBlock .type bmw224_nextBlock, %function bmw224_nextBlock: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. b bmw_small_nextBlock .size bmw224_nextBlock, .-bmw224_nextBlock .align 2 .global bmw256_nextBlock .type bmw256_nextBlock, %function bmw256_nextBlock: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. b bmw_small_nextBlock .size bmw256_nextBlock, .-bmw256_nextBlock .align 2 .global bmw_small_lastBlock .type bmw_small_lastBlock, %function bmw_small_lastBlock: @ args = 0, pretend = 0, frame = 400 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} mov r2, r2, asl #16 mov ip, #508 mov r4, r2, lsr #16 add ip, ip, #3 cmp r4, ip sub sp, sp, #400 mov fp, r0 mov r8, r1 bls .L29 mov r7, ip mov r6, r1 mov r5, r4 .L30: mov r1, r6 mov r0, fp bl bmw_small_nextBlock sub r3, r5, #512 mov r3, r3, asl #16 mov r5, r3, lsr #16 cmp r5, r7 add r6, r6, #64 bhi .L30 sub r2, r4, #512 mov r2, r2, asl #16 mov r3, r2, lsr #25 add r3, r3, #1 mov r2, r2, lsr #16 mov r3, r3, asl #6 mov r4, r2, asl #23 add r8, r8, r3 mov r4, r4, lsr #23 .L29: add r9, sp, #336 mov r1, #0 mov r2, #64 mov r0, r9 bl memset add r2, r4, #7 mov r1, r8 mov r2, r2, asr #3 mov r0, r9 bl memcpy add r0, sp, #400 add ip, r0, r4, lsr #3 ldrb r2, [ip, #-64] @ zero_extendqisi2 and r1, r4, #7 mov r3, #128 orr r2, r2, r3, asr r1 cmp r4, #448 strb r2, [ip, #-64] bge .L37 add r2, sp, #348 add r3, sp, #352 add r7, sp, #356 add r8, sp, #360 add ip, sp, #364 str r2, [sp, #12] str r3, [sp, #8] str r7, [sp, #4] str r8, [sp, #20] str ip, [sp, #16] ldr r1, [fp, #64] add r5, sp, #340 add r6, sp, #344 .L31: mov r2, #512 mov r3, r4 mov r4, #0 umlal r3, r4, r2, r1 mov r0, fp mov r1, r9 str r3, [r9, #56] str r4, [r9, #60] bl bmw_small_nextBlock mov r2, #64 mov r0, r9 mov r1, #170 bl memset mov r2, #0 mov r3, #160 .L32: strb r3, [r9, r2] add r2, r2, #4 add r3, r3, #1 cmp r2, #64 and r3, r3, #255 bne .L32 add r4, sp, #208 mov r0, r4 mov r1, r9 mov r2, fp bl bmw_small_f0 mov r0, r4 mov r1, fp mov r2, r9 bl bmw_small_f1 add r8, sp, #272 ldmia r8, {r8, ip, lr} @ phole ldm add r2, sp, #308 ldmia r2, {r2, r3} @ phole ldm eor r1, ip, r8 str ip, [sp, #200] ldr ip, [sp, #292] ldr r0, [sp, #284] str r8, [sp, #204] ldr r8, [sp, #316] ldr r7, [sp, #288] str ip, [sp, #184] str lr, [sp, #196] eor ip, r3, r2 eor r1, r1, lr ldr lr, [sp, #320] str r2, [sp, #172] eor r1, r1, r0 ldr r2, [sp, #324] eor ip, ip, r8 str r3, [sp, #168] str r7, [sp, #188] ldr r3, [sp, #184] eor r1, r1, r7 eor ip, ip, lr ldr r7, [sp, #328] eor ip, ip, r2 eor r1, r1, r3 str r7, [sp, #152] eor ip, ip, r7 ldr r3, [fp, #0] ldr r7, [sp, #204] str r0, [sp, #192] str r8, [sp, #164] ldr r0, [sp, #296] ldr r8, [sp, #332] str lr, [sp, #160] add sl, sp, #300 ldmia sl, {sl, lr} @ phole ldm eor r3, r3, r7, lsr #5 str r0, [sp, #180] str r2, [sp, #156] eor r1, r1, r0 ldr r2, [fp, #4] str r8, [sp, #148] str lr, [sp, #176] eor ip, ip, r8 str r3, [sp, #144] ldr r8, [sp, #200] eor r1, r1, sl eor r0, r1, lr ldr r3, [sp, #172] eor lr, r2, r8, asl #8 ldr r2, [sp, #212] ldr r7, [sp, #144] eor r2, r3, r2 ldr r3, [sp, #208] eor ip, ip, r0 eor r7, r7, ip, asl #5 eor r0, r0, r3 eor r2, r2, r1 eor r3, lr, ip, lsr #7 add r0, r7, r0 add r2, r3, r2 str r0, [r9, #0] str r2, [r5, #0] ldr r8, [fp, #8] ldr r3, [sp, #216] ldr lr, [sp, #168] str r0, [sp, #136] ldr r0, [sp, #196] eor r3, lr, r3 eor r8, r8, r0, asl #5 eor r3, r3, r1 eor r8, r8, ip, lsr #5 add r8, r8, r3 str r8, [r6, #0] ldr r7, [fp, #12] ldr r3, [sp, #220] ldr r5, [sp, #192] str r2, [sp, #132] ldr r2, [sp, #164] eor r7, r7, r5, asl #5 eor r3, r2, r3 eor r3, r3, r1 ldr lr, [sp, #12] eor r7, r7, ip, lsr #1 add r7, r7, r3 str r7, [lr, #0] ldr r6, [fp, #16] ldr r3, [sp, #224] ldr r0, [sp, #160] ldr r2, [sp, #188] eor r3, r0, r3 eor r6, r2, r6 eor r3, r3, r1 eor r6, r6, ip, lsr #3 add r6, r6, r3 ldr r3, [sp, #8] str r6, [r3, #0] ldr r5, [fp, #20] ldr lr, [sp, #184] ldr r3, [sp, #228] ldr r0, [sp, #156] eor r5, r5, lr, lsr #6 eor r3, r0, r3 eor r3, r3, r1 ldr r2, [sp, #4] eor r5, r5, ip, asl #6 add r5, r5, r3 str r5, [r2, #0] ldr lr, [sp, #152] ldr r0, [sp, #180] ldr r4, [fp, #24] ldr r3, [sp, #232] eor r4, r4, r0, asl #6 eor r3, lr, r3 eor r3, r3, r1 eor r4, r4, ip, lsr #4 ldr r2, [sp, #20] add r4, r4, r3 str r4, [r2, #0] ldr r0, [fp, #28] ldr r3, [sp, #236] ldr lr, [sp, #148] eor r0, r0, sl, asl #2 eor r3, lr, r3 eor r3, r3, r1 ldr r2, [sp, #16] eor r0, r0, ip, lsr #11 add r0, r0, r3 str r0, [r2, #0] ldr r3, [sp, #240] ldr r2, [sp, #244] eor sl, sl, r3 ldr r3, [sp, #204] ldr lr, [sp, #200] eor r2, r3, r2 ldr r3, [sp, #248] eor r3, lr, r3 str r2, [sp, #124] str r3, [sp, #112] ldr r2, [sp, #252] ldr r3, [sp, #196] ldr lr, [sp, #192] eor r2, r3, r2 ldr r3, [sp, #256] eor r3, lr, r3 str r2, [sp, #100] str r3, [sp, #88] ldr r2, [sp, #260] ldr r3, [sp, #188] ldr lr, [sp, #184] eor r2, r3, r2 ldr r3, [sp, #264] eor r3, lr, r3 str r2, [sp, #72] str r3, [sp, #52] ldr r2, [sp, #268] ldr r3, [sp, #180] eor lr, r3, r2 ldr r3, [fp, #32] ldr r2, [sp, #176] eor r2, r2, r3 str r2, [sp, #128] ldr r3, [fp, #36] ldr r2, [sp, #172] eor r2, r2, r3 str r2, [sp, #116] ldr r3, [fp, #40] ldr r2, [sp, #168] eor r2, r2, r3 str r2, [sp, #104] ldr r3, [fp, #44] ldr r2, [sp, #164] eor r2, r2, r3 str r2, [sp, #92] ldr r3, [fp, #48] ldr r2, [sp, #160] eor r2, r2, r3 str r2, [sp, #76] ldr r3, [fp, #52] ldr r2, [sp, #156] eor r2, r2, r3 str r2, [sp, #60] ldr r3, [fp, #56] ldr r2, [sp, #152] eor lr, lr, r1, lsr #2 eor r2, r2, r3 str r2, [sp, #44] str lr, [sp, #36] ldr r2, [fp, #60] ldr lr, [sp, #148] ldr r3, [sp, #124] eor lr, lr, r2 ldr r2, [sp, #112] str lr, [sp, #28] eor lr, r3, r1, lsr #6 ldr r3, [sp, #100] eor r2, r2, r1, asl #6 str r2, [sp, #0] eor r2, r3, r1, asl #4 ldr r3, [sp, #88] eor r3, r3, r1, lsr #3 str r3, [sp, #84] ldr r3, [sp, #72] eor r3, r3, r1, lsr #4 str r3, [sp, #68] ldr r3, [sp, #52] add lr, lr, r5, ror #22 add r2, r2, r0, ror #20 ldr r5, [sp, #0] ldr r0, [sp, #136] eor sl, sl, r1, asl #8 str lr, [sp, #120] eor r1, r3, r1, lsr #7 str r2, [sp, #96] ldr r3, [sp, #132] ldr lr, [sp, #84] ldr r2, [sp, #68] add r4, r5, r4, ror #21 add lr, lr, r0, ror #19 add r2, r2, r3, ror #18 str r4, [sp, #108] str lr, [sp, #80] str r2, [sp, #64] ldr r5, [sp, #36] add r7, r5, r7, ror #16 str r7, [sp, #32] ldr r7, [sp, #28] add r1, r1, r8, ror #17 ldr r0, [sp, #116] ldr r8, [sp, #128] ldr r2, [sp, #104] ldr r3, [sp, #92] eor r7, r7, ip str r7, [sp, #24] eor lr, r8, ip eor r5, r0, ip eor r8, r3, ip eor r7, r2, ip ldr r0, [sp, #76] ldr r3, [sp, #44] ldr r2, [sp, #60] add sl, sl, r6, ror #23 eor r2, r2, ip eor r6, r0, ip add sl, sl, lr eor ip, r3, ip ldr lr, [sp, #108] str ip, [sp, #40] str r1, [sp, #48] str r2, [sp, #56] ldr ip, [sp, #120] add r7, lr, r7 mov r4, r9 ldmia r4!, {r0, r1, r2, r3} str r7, [r9, #40] ldr r7, [sp, #96] add r5, ip, r5 ldr lr, [sp, #56] ldr ip, [sp, #64] str r5, [r9, #36] add r5, r7, r8 ldr r8, [sp, #80] add r7, r8, r6 add r6, ip, lr ldr ip, [sp, #48] ldr lr, [sp, #40] add r8, ip, lr ldr ip, [sp, #32] ldr lr, [sp, #24] add ip, ip, lr str ip, [r9, #60] mov ip, fp str sl, [r9, #32] str r5, [r9, #44] str r7, [r9, #48] str r6, [r9, #52] str r8, [r9, #56] stmia ip!, {r0, r1, r2, r3} ldmia r4!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia r4!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia r4, {r0, r1, r2, r3} stmia ip, {r0, r1, r2, r3} add sp, sp, #400 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} .L37: mov r0, fp mov r1, r9 bl bmw_small_nextBlock ldr r1, [fp, #64] mov r3, #0 str r3, [sp, #388] str r3, [sp, #336] str r3, [sp, #340] str r3, [sp, #344] str r3, [sp, #348] str r3, [sp, #352] str r3, [sp, #356] str r3, [sp, #360] str r3, [sp, #364] str r3, [sp, #368] str r3, [sp, #372] str r3, [sp, #376] str r3, [sp, #380] str r3, [sp, #384] sub r1, r1, #1 add lr, sp, #348 add r0, sp, #352 add r2, sp, #356 add r3, sp, #360 add r7, sp, #364 str r1, [fp, #64] add r5, sp, #340 add r6, sp, #344 str lr, [sp, #12] str r0, [sp, #8] str r2, [sp, #4] str r3, [sp, #20] str r7, [sp, #16] b .L31 .size bmw_small_lastBlock, .-bmw_small_lastBlock .align 2 .global bmw256_lastBlock .type bmw256_lastBlock, %function bmw256_lastBlock: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. mov r2, r2, asl #16 mov r2, r2, lsr #16 b bmw_small_lastBlock .size bmw256_lastBlock, .-bmw256_lastBlock .align 2 .global bmw224_lastBlock .type bmw224_lastBlock, %function bmw224_lastBlock: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. mov r2, r2, asl #16 mov r2, r2, lsr #16 b bmw_small_lastBlock .size bmw224_lastBlock, .-bmw224_lastBlock .align 2 .global bmw256 .type bmw256, %function bmw256: @ args = 0, pretend = 0, frame = 68 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} ldr r3, .L49 sub sp, sp, #68 add r6, sp, #68 str r3, [r6, #-68]! mov sl, r1 mov r7, r2 mov r9, r0 mov r2, sp add r1, sp, #60 .L43: ldr r3, [r2, #0] add r3, r3, #67108864 add r3, r3, #262144 add r3, r3, #1024 add r3, r3, #4 str r3, [r2, #4]! cmp r2, r1 bne .L43 mov r2, #508 add r2, r2, #3 mov r3, #0 cmp r7, r2 str r3, [sp, #64] bls .L44 mov r8, r2 mov r5, sl mov r4, r7 .L45: mov r1, r5 sub r4, r4, #512 mov r0, sp bl bmw_small_nextBlock cmp r4, r8 add r5, r5, #64 bhi .L45 sub r2, r7, #512 mov r3, r2, lsr #9 add r3, r3, #1 mov r3, r3, asl #6 mov r7, r2, asl #23 add sl, sl, r3 mov r7, r7, lsr #23 .L44: mov r2, r7, asl #16 mov r1, sl mov r0, sp mov r2, r2, lsr #16 bl bmw_small_lastBlock mov r0, r9 add r1, sp, #32 mov r2, #32 bl memcpy add sp, sp, #68 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} .L50: .align 2 .L49: .word 1078018627 .size bmw256, .-bmw256 .align 2 .global bmw224 .type bmw224, %function bmw224: @ args = 0, pretend = 0, frame = 68 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, r9, sl, lr} mov r3, #65536 sub sp, sp, #68 add r3, r3, #512 add r3, r3, #3 add r6, sp, #68 str r3, [r6, #-68]! mov sl, r1 mov r7, r2 mov r9, r0 mov r2, sp add r1, sp, #60 .L52: ldr r3, [r2, #0] add r3, r3, #67108864 add r3, r3, #262144 add r3, r3, #1024 add r3, r3, #4 str r3, [r2, #4]! cmp r2, r1 bne .L52 mov r2, #508 add r2, r2, #3 mov r3, #0 cmp r7, r2 str r3, [sp, #64] bls .L53 mov r8, r2 mov r5, sl mov r4, r7 .L54: mov r1, r5 sub r4, r4, #512 mov r0, sp bl bmw_small_nextBlock cmp r4, r8 add r5, r5, #64 bhi .L54 sub r2, r7, #512 mov r3, r2, lsr #9 add r3, r3, #1 mov r3, r3, asl #6 mov r7, r2, asl #23 add sl, sl, r3 mov r7, r7, lsr #23 .L53: mov r2, r7, asl #16 mov r1, sl mov r0, sp mov r2, r2, lsr #16 bl bmw_small_lastBlock mov r0, r9 add r1, sp, #36 mov r2, #28 bl memcpy add sp, sp, #68 ldmfd sp!, {r4, r5, r6, r7, r8, r9, sl, pc} .size bmw224, .-bmw224 .ident "GCC: (GNU) 4.3.2"