1 .code 32 2 .eabi_attribute 24, 1 @Tag_ABI_align_needed 3 .eabi_attribute 25, 1 @Tag_ABI_align_preserved 4.text 5.p2align 2 6 .global ixheaacd_shiftrountine_with_rnd_hq 7ixheaacd_shiftrountine_with_rnd_hq: 8 9 STMFD sp!, {r4-r12, r14} 10 ADD r12, r2, r3, LSL #2 11 MOV r9, #0x8000 12 SUBS r3, r3, #1 13 BMI S_WITH_R_L6 14 15S_WITH_R_L5: 16 LDR r5, [r1, r3, LSL #2] 17 LDR r7, [r0, r3, LSL #2] 18 LDR r14, [r0], #4 19 LDR r10, [r1], #4 20 21 ADD r6, r5, r7 22 SUB r5, r5, r7 23 ADD r7, r10, r14 24 SUB r4, r10, r14 25 26 27 28 29 30 31 32 33 34 35 36 MOVS r10, r4, ASR #0x19 37 CMNLT r10, #1 38 39 MOVLT r4, #0x80000000 40 MVNGT r4, #0x80000000 41 MOVEQ r4, r4, LSL #6 42 43 MOVS r10, r5, ASR #0x19 44 CMNLT r10, #1 45 MOVLT r5, #0x80000000 46 MVNGT r5, #0x80000000 47 MOVEQ r5, r5, LSL #6 48 MOV r14, r3, lsl #2 49 50 51 MOVS r10, r6, ASR #0x19 52 CMNLT r10, #1 53 MOVLT r6, #0x80000000 54 55 STR r5, [r2, r14] 56 MVNGT r6, #0x80000000 57 MOVEQ r6, r6, LSL #6 58 59 MOVS r10, r7, ASR #0x19 60 CMNLT r10, #1 61 62 MOVLT r7, #0x80000000 63 MVNGT r7, #0x80000000 64 MOVEQ r7, r7, LSL #6 65 66 STR r4, [r2], #4 67 68 69 70 STR r7, [r12, r14] 71 SUBS r3, r3, #2 72 STR r6, [r12], #4 73 BGE S_WITH_R_L5 74S_WITH_R_L6: 75 LDMFD sp!, {r4-r12, r15} 76