.section .rodata.ecc_point_mult.str1.4,"aMS",%progbits,1 .align 2 .LC43: .ascii "7 48 72 6 z:1337 160 72 6 z:1208 272 72 7 t1:1196 3" .ascii "84 144 7 rx:1335 592 144 7 ry:1336 800 144 7 sk:133" .ascii "8 1008 144 12 product:1018\000" .section .text.ecc_point_mult,"ax",%progbits .align 2 .syntax unified .arm .type ecc_point_mult, %function ecc_point_mult: .LASANPC2762: .fnstart @ args = 8, pretend = 0, frame = 1360 @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r9, r10, fp, lr} .save {r4, r5, r6, r7, r8, r9, r10, fp, lr} .pad #1360 sub sp, sp, #1360 .pad #12 sub sp, sp, #12 push {lr} bl __gnu_mcount_nc str r3, [sp, #80] add r3, sp, #1360 add r3, r3, #8 bic r9, r3, #31 sub r3, r9, #1248 ldr ip, .L2798 lsr r3, r3, #3 add r7, r3, #-1627389952 str r0, [sp, #52] str r1, [sp, #32] ldr r4, [sp, #1408] str r9, [sp, #44] str r7, [sp, #68] str ip, [r9, #-1248] ldr ip, .L2798+4 ldr r3, .L2798+8 str ip, [r9, #-1244] ldr ip, .L2798+12 ldr lr, .L2798+16 ldr r0, .L2798+20 ldr r1, .L2798+24 ldr r5, .L2798+28 ldr r6, .L2798+32 mov r8, r2 ldr r2, .L2798+36 str ip, [r9, #-1240] mov ip, #-234881024 str r3, [r7, #16] str r3, [r7, #44] str r3, [r7, #68] str r3, [r7, #92] str r3, [r7, #96] str r3, [r7, #120] ldr r3, .L2798+40 str lr, [r7, #28] str ip, [r7, #12] str ip, [r7, #40] str r5, [r7, #4] str r2, [r7, #32] str r0, [r7, #64] str r0, [r7, #116] str r2, [r7, #72] str r2, [r7, #124] str r1, [r7, #144] str r1, [r7, #148] str r6, [r7] ldr r3, [r3] str r3, [sp, #1364] mov r3, #0 bl __sanitizer_cov_trace_pc sub r3, r9, #864 mov r2, #144 mov r1, #254 mov r0, r3 sub r5, r9, #448 str r3, [sp, #40] bl memset sub r3, r9, #656 mov r2, #144 mov r1, #254 mov r0, r3 str r3, [sp, #24] bl memset sub r3, r9, #1200 mov r0, r3 mov r2, #72 mov r1, #254 str r3, [sp, #36] bl memset mov r2, #144 mov r1, #254 mov r0, r5 bl memset add r0, r4, #20 and r3, r0, #7 lsr r2, r0, #3 add r2, r2, #-1627389952 add r3, r3, #3 ldrsb r2, [r2] cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2534 bl __asan_report_load4_noabort .L2534: add r0, r4, #24 and r3, r0, #7 lsr r2, r0, #3 add r2, r2, #-1627389952 add r3, r3, #3 ldrsb r2, [r2] cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 ldr r3, [r4, #20] str r3, [sp, #56] beq .L2535 bl __asan_report_load4_noabort .L2535: ldr r1, [sp, #1412] mov r0, #0 ldr r7, [r4, #24] bl __sanitizer_cov_trace_const_cmp4 ldr r3, [sp, #1412] cmp r3, #0 beq .L2536 mov r6, r5 mov r1, #0 mov r10, r7 strd r6, [sp, #16] mov r9, r5 mov r7, r1 str r1, [sp, #8] str r4, [sp, #28] str r5, [sp, #48] .L2541: bl __sanitizer_cov_trace_pc lsr r3, r8, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2537 mov r0, r8 bl __asan_report_load8_noabort .L2537: lsr r3, r10, #3 add r3, r3, #-1627389952 ldm r8, {r6, fp} ldrsb r3, [r3] add r8, r8, #8 mov r5, r10 cmp r3, #0 beq .L2538 mov r0, r10 bl __asan_report_load8_noabort .L2538: ldrd r4, [r5] ldr r3, [sp, #8] mov r0, r6 adds r4, r6, r4 adc r5, fp, r5 adds r4, r4, r3 adc r5, r5, #0 mov r2, r4 mov r3, r5 mov r1, fp bl __sanitizer_cov_trace_cmp8 cmp fp, r5 cmpeq r6, r4 add r10, r10, #8 beq .L2539 bl __sanitizer_cov_trace_pc mov r3, r5 mov r1, fp mov r2, r4 mov r0, r6 bl __sanitizer_cov_trace_cmp8 cmp r4, r6 sbcs r1, r5, fp movcc r3, #1 movcs r3, #0 str r3, [sp, #8] .L2539: bl __sanitizer_cov_trace_pc lsr r3, r9, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2540 mov r0, r9 bl __asan_report_store8_noabort .L2540: add r7, r7, #1 strd r4, [r9] ldr r0, [sp, #1412] mov r1, r7 bl __sanitizer_cov_trace_cmp4 add r9, r9, #8 ldr r3, [sp, #1412] cmp r7, r3 bne .L2541 ldr r4, [sp, #28] ldr r5, [sp, #48] ldrd r6, [sp, #16] bl __sanitizer_cov_trace_pc mov r10, #0 str r10, [sp, #16] str r4, [sp, #20] str r5, [sp, #28] b .L2550 .L2536: bl __sanitizer_cov_trace_pc add r0, r4, #4 and r3, r0, #7 lsr r2, r0, #3 add r2, r2, #-1627389952 add r3, r3, #3 ldrsb r2, [r2] cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2543 bl __asan_report_load4_noabort .L2543: ldr r8, [r4, #4] ldr r5, .L2798+44 mov r1, r8 mov r0, r5 bl __sanitizer_cov_trace_const_cmp4 cmp r8, r5 ldr r3, [sp, #44] beq .L2632 sub r3, r3, #376 str r3, [sp, #28] b .L2545 .L2633: mov r6, r9 .L2550: bl __sanitizer_cov_trace_pc lsr r3, r6, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2546 mov r0, r6 bl __asan_report_load8_noabort .L2546: lsr r3, r7, #3 add r3, r3, #-1627389952 ldm r6, {r8, fp} ldrsb r3, [r3] add r9, r6, #8 mov r5, r7 cmp r3, #0 beq .L2547 mov r0, r7 bl __asan_report_load8_noabort .L2547: ldrd r4, [r5] ldr r3, [sp, #16] mov r0, r8 adds r4, r8, r4 adc r5, fp, r5 adds r4, r4, r3 adc r5, r5, #0 mov r2, r4 mov r3, r5 mov r1, fp bl __sanitizer_cov_trace_cmp8 cmp fp, r5 cmpeq r8, r4 add r7, r7, #8 beq .L2548 bl __sanitizer_cov_trace_pc mov r3, r5 mov r1, fp mov r2, r4 mov r0, r8 bl __sanitizer_cov_trace_cmp8 cmp r4, r8 sbcs r1, r5, fp movcc r3, #1 movcs r3, #0 str r3, [sp, #16] .L2548: add r6, r6, #72 bl __sanitizer_cov_trace_pc lsr r3, r6, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2549 mov r0, r6 bl __asan_report_store8_noabort .L2549: add r10, r10, #1 ldr r0, [sp, #1412] mov r1, r10 strd r4, [r9, #64] bl __sanitizer_cov_trace_cmp4 ldr r3, [sp, #1412] cmp r10, r3 bne .L2633 ldr r4, [sp, #20] ldr r5, [sp, #28] bl __sanitizer_cov_trace_pc add r0, r4, #4 lsr r2, r0, #3 add r2, r2, #-1627389952 ldrsb r2, [r2] ldr r3, [sp, #8] eor r3, r3, #1 rsb r3, r3, #0 and r3, r3, #72 add r3, r5, r3 str r3, [sp, #28] and r3, r0, #7 add r3, r3, #3 cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2552 bl __asan_report_load4_noabort .L2552: ldr r6, [r4, #4] ldr r5, .L2798+44 mov r1, r6 mov r0, r5 bl __sanitizer_cov_trace_const_cmp4 cmp r6, r5 beq .L2553 .L2545: bl __sanitizer_cov_trace_pc ldr r3, [sp, #1412] lsl r8, r3, #6 bl __sanitizer_cov_trace_pc sub r8, r8, #1 ldr r1, [sp, #32] lsr r3, r1, #3 str r3, [sp, #76] add r3, r3, #-1627389952 ldrsb r2, [r3] and r3, r1, #7 str r3, [sp, #72] add r3, r3, #3 cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2554 mov r0, r1 bl __asan_report_load4_noabort .L2554: ldr r3, [sp, #32] ldr r1, [sp, #1412] mov r0, #0 ldr r5, [r3] bl __sanitizer_cov_trace_const_cmp4 ldr r3, [sp, #1412] cmp r3, #0 bne .L2630 ldr r3, [sp, #44] sub r2, r3, #792 str r2, [sp, #48] ldr r2, [sp, #32] sub r3, r3, #584 add r2, r2, #4 str r2, [sp, #64] str r3, [sp, #60] b .L2559 .L2630: ldr r3, [sp, #44] ldr r9, [sp, #1412] sub r3, r3, #792 mov r6, r3 mov r7, #0 str r3, [sp, #48] .L2557: bl __sanitizer_cov_trace_pc lsr r3, r5, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2555 mov r0, r5 bl __asan_report_load8_noabort .L2555: lsr r3, r6, #3 add r3, r3, #-1627389952 ldrd r10, [r5], #8 ldrsb r3, [r3] cmp r3, #0 beq .L2556 mov r0, r6 bl __asan_report_store8_noabort .L2556: add r7, r7, #1 mov r1, r7 mov r0, r9 strd r10, [r6], #8 bl __sanitizer_cov_trace_cmp4 cmp r7, r9 bne .L2557 b .L2795 .L2632: sub r2, r3, #376 str r2, [sp, #28] ldr r2, [sp, #32] lsr r1, r2, #3 str r1, [sp, #76] and r1, r2, #7 str r1, [sp, #72] add r2, r2, #4 sub r1, r3, #792 sub r3, r3, #584 str r1, [sp, #48] str r2, [sp, #64] str r3, [sp, #60] b .L2559 .L2795: bl __sanitizer_cov_trace_pc ldr r3, [sp, #32] add r2, r3, #4 and r3, r2, #7 str r2, [sp, #64] lsr r2, r2, #3 add r2, r2, #-1627389952 add r3, r3, #3 ldrsb r2, [r2] cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2560 ldr r0, [sp, #64] bl __asan_report_load4_noabort .L2560: ldr r3, [sp, #44] ldr r9, [sp, #1412] sub r5, r3, #584 ldr r3, [sp, #32] mov r7, #0 str r5, [sp, #60] ldr r6, [r3, #4] .L2563: bl __sanitizer_cov_trace_pc lsr r3, r6, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2561 mov r0, r6 bl __asan_report_load8_noabort .L2561: lsr r3, r5, #3 add r3, r3, #-1627389952 ldrd r10, [r6], #8 ldrsb r3, [r3] cmp r3, #0 beq .L2562 mov r0, r5 bl __asan_report_store8_noabort .L2562: add r7, r7, #1 mov r1, r7 mov r0, r9 strd r10, [r5], #8 bl __sanitizer_cov_trace_cmp4 cmp r7, r9 bne .L2563 .L2559: bl __sanitizer_cov_trace_pc mov r2, #72 mov r1, #254 ldr r3, [sp, #44] sub fp, r3, #1088 mov r0, fp bl memset add r1, r4, #16 and r3, r1, #7 lsr r2, r1, #3 str r2, [sp, #20] add r2, r2, #-1627389952 str r1, [sp, #84] ldrsb r2, [r2] cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 and r3, r1, #7 str r3, [sp, #16] beq .L2564 mov r0, r1 bl __asan_report_load1_noabort .L2564: ldrb r5, [r4, #16] @ zero_extendqisi2 mov r0, #0 mov r1, r5 bl __sanitizer_cov_trace_const_cmp4 cmp r5, #0 beq .L2565 ldr r7, [sp, #48] mov r6, #0 mov r9, fp .L2568: bl __sanitizer_cov_trace_pc lsr r3, r7, #3 add r3, r3, #-1627389952 sub r2, r7, #72 ldrsb r3, [r3] cmp r3, #0 beq .L2566 mov r0, r7 str r2, [sp, #8] bl __asan_report_load8_noabort ldr r2, [sp, #8] .L2566: lsr r3, r2, #3 add r3, r3, #-1627389952 ldrd r10, [r7], #8 ldrsb r3, [r3] cmp r3, #0 beq .L2567 mov r0, r2 bl __asan_report_store8_noabort .L2567: add r6, r6, #1 mov r1, r6 mov r0, r5 strd r10, [r7, #-80] bl __sanitizer_cov_trace_cmp4 cmp r6, r5 bne .L2568 ldr r7, [sp, #60] mov r6, #0 .L2571: bl __sanitizer_cov_trace_pc lsr r3, r7, #3 add r3, r3, #-1627389952 sub r2, r7, #72 ldrsb r3, [r3] cmp r3, #0 beq .L2569 mov r0, r7 str r2, [sp, #8] bl __asan_report_load8_noabort ldr r2, [sp, #8] .L2569: lsr r3, r2, #3 add r3, r3, #-1627389952 ldrd r10, [r7], #8 ldrsb r3, [r3] cmp r3, #0 beq .L2570 mov r0, r2 bl __asan_report_store8_noabort .L2570: add r6, r6, #1 mov r1, r6 mov r0, r5 strd r10, [r7, #-80] bl __sanitizer_cov_trace_cmp4 cmp r6, r5 bne .L2571 mov fp, r9 mov r10, r9 mov r6, #0 .L2573: bl __sanitizer_cov_trace_pc lsr r3, r9, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2572 mov r0, r9 bl __asan_report_store8_noabort .L2572: mov r2, #0 mov r3, #0 add r6, r6, #1 mov r1, r6 mov r0, r5 strd r2, [r9], #8 bl __sanitizer_cov_trace_cmp4 cmp r6, r5 bne .L2573 b .L2796 .L2565: bl __sanitizer_cov_trace_pc mov r2, #1 mov r3, #0 strd r2, [fp] b .L2575 .L2796: bl __sanitizer_cov_trace_pc mov r2, #1 mov r3, #0 strd r2, [fp] ldr r6, [sp, #80] cmp r6, #0 beq .L2575 mov r7, #0 .L2579: bl __sanitizer_cov_trace_pc lsr r3, r6, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2577 mov r0, r6 bl __asan_report_load8_noabort .L2577: lsr r3, r10, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 ldrd r2, [r6], #8 beq .L2578 mov r0, r10 strd r2, [sp, #8] bl __asan_report_store8_noabort ldrd r2, [sp, #8] .L2578: add r7, r7, #1 mov r1, r7 mov r0, r5 strd r2, [r10], #8 bl __sanitizer_cov_trace_cmp4 cmp r7, r5 bne .L2579 .L2575: bl __sanitizer_cov_trace_pc mov r2, #72 mov r1, #254 ldr r5, [sp, #44] sub r9, r5, #976 mov r0, r9 bl memset mov r2, r4 mov r1, fp mov r0, r9 bl vli_mod_square_fast sub r3, r5, #240 mov r2, #144 mov r0, r3 mov r1, #254 str r3, [sp, #8] bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2581 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2581: ldr r5, [sp, #8] ldr r6, [sp, #48] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, r9 mov r1, r6 mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, r6 bl vli_mmod_fast mov r2, #144 mov r1, #254 mov r0, r5 bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2582 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2582: ldr r5, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, fp mov r1, r9 mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, r9 bl vli_mmod_fast mov r2, #144 mov r1, #254 mov r0, r5 bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2583 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2583: ldr r5, [sp, #60] ldr r6, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, r9 mov r1, r5 mov r0, r6 bl vli_mult mov r2, r4 mov r1, r6 mov r0, r5 bl vli_mmod_fast mov r3, r4 mov r2, fp mov r1, r5 ldr r0, [sp, #48] bl ecc_point_double_jacobian mov r2, #72 mov r1, #254 mov r0, r9 bl memset mov r2, r4 mov r1, fp mov r0, r9 bl vli_mod_square_fast mov r2, #144 mov r1, #254 mov r0, r6 bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2584 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2584: ldr r5, [sp, #8] ldr r6, [sp, #40] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, r9 mov r1, r6 mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, r6 bl vli_mmod_fast mov r2, #144 mov r1, #254 mov r0, r5 bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2585 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2585: ldr r5, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, fp mov r1, r9 mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, r9 bl vli_mmod_fast mov r2, #144 mov r1, #254 mov r0, r5 bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2586 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2586: ldr r6, [sp, #24] ldr r5, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, r9 mov r1, r6 mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, r6 bl vli_mmod_fast mov r1, r8 mov r0, #0 bl __sanitizer_cov_trace_const_cmp4 cmp r8, #0 ble .L2621 ldr fp, [sp, #40] mov r7, #1 str r9, [sp, #44] b .L2587 .L2799: .align 2 .L2798: .word 1102416563 .word .LC43 .word -218959118 .word .LASANPC2762 .word -218959360 .word -219021312 .word -202116109 .word 61937 .word -235802127 .word 62194 .word __stack_chk_guard .word 521 .L2621: bl __sanitizer_cov_trace_pc ldr r3, [sp, #28] lsr r3, r3, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2588 ldr r0, [sp, #28] bl __asan_report_load8_noabort .L2588: ldr r3, [sp, #28] ldr r5, [sp, #40] ldr r1, [sp, #24] ldr r3, [r3] str r4, [sp] and r3, r3, #1 eor r2, r3, #1 rsb r2, r2, #0 rsb r3, r3, #0 and r3, r3, #72 and r2, r2, #72 add r10, r1, r2 add r7, r5, r3 add r8, r1, r3 add r6, r5, r2 mov r3, r10 mov r2, r6 mov r1, r8 mov r0, r7 bl xycz_add_c mov r2, r5 ldr r3, [sp, #1412] ldr r1, [sp, #48] ldr r0, [sp, #36] str r3, [sp] ldr r3, [sp, #56] bl vli_mod_sub mov r2, #144 mov r1, #254 ldr r0, [sp, #8] bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2594 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2594: ldr fp, [sp, #36] ldr r5, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, r8 mov r1, fp mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, fp bl vli_mmod_fast ldr r3, [sp, #76] add r2, r3, #-1627389952 ldr r3, [sp, #72] ldrsb r2, [r2] add r3, r3, #3 cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2595 ldr r0, [sp, #32] bl __asan_report_load4_noabort .L2595: ldr r3, [sp, #32] mov r2, #144 ldr r0, [sp, #8] mov r1, #254 ldr r5, [r3] bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2596 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2596: ldr fp, [sp, #36] mov r2, r5 ldr r5, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r1, fp mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, fp bl vli_mmod_fast ldr r3, [sp, #32] add r0, r3, #8 and r3, r0, #7 lsr r2, r0, #3 add r2, r2, #-1627389952 ldrsb r2, [r2] cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2597 bl __asan_report_load1_noabort .L2597: ldr r3, [sp, #32] ldr r1, [sp, #36] ldr r2, [sp, #56] ldrb r3, [r3, #8] @ zero_extendqisi2 mov r0, r1 bl vli_mod_inv ldr r1, [sp, #64] lsr r3, r1, #3 add r3, r3, #-1627389952 ldrsb r2, [r3] and r3, r1, #7 add r3, r3, #3 cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2598 mov r0, r1 bl __asan_report_load4_noabort .L2598: ldr r3, [sp, #32] mov r2, #144 ldr r0, [sp, #8] mov r1, #254 ldr r5, [r3, #4] bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2599 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2599: ldr fp, [sp, #36] mov r2, r5 ldr r5, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r1, fp mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, fp bl vli_mmod_fast mov r2, #144 mov r1, #254 mov r0, r5 bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2601 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2601: ldr r5, [sp, #36] ldr fp, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, r7 mov r1, r5 mov r0, fp bl vli_mult mov r2, r4 mov r1, fp mov r0, r5 bl vli_mmod_fast mov r3, r8 mov r2, r7 mov r1, r10 mov r0, r6 str r4, [sp] bl xycz_add mov r2, #72 mov r1, #254 mov r0, r9 bl memset mov r2, r4 mov r1, r5 mov r0, r9 bl vli_mod_square_fast mov r2, #144 mov r1, #254 mov r0, fp bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2606 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2606: ldr r5, [sp, #8] ldr r6, [sp, #40] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, r9 mov r1, r6 mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, r6 bl vli_mmod_fast mov r2, #144 mov r1, #254 mov r0, r5 bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2607 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2607: ldr r5, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 ldr r2, [sp, #36] mov r1, r9 mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, r9 bl vli_mmod_fast mov r2, #144 mov r1, #254 mov r0, r5 bl memset ldr r3, [sp, #20] ldr r2, [sp, #16] add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r2, r3 movlt r2, #0 movge r2, #1 cmp r3, #0 moveq r2, #0 cmp r2, #0 beq .L2608 ldr r0, [sp, #84] bl __asan_report_load1_noabort .L2608: ldr r6, [sp, #24] ldr r5, [sp, #8] ldrb r3, [r4, #16] @ zero_extendqisi2 mov r2, r9 mov r1, r6 mov r0, r5 bl vli_mult mov r2, r4 mov r1, r5 mov r0, r6 bl vli_mmod_fast ldr r1, [sp, #52] lsr r3, r1, #3 add r3, r3, #-1627389952 ldrsb r2, [r3] and r3, r1, #7 add r3, r3, #3 cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2609 mov r0, r1 bl __asan_report_load4_noabort .L2609: ldr r3, [sp, #52] ldr r1, [sp, #1412] mov r0, #0 ldr r5, [r3] bl __sanitizer_cov_trace_const_cmp4 ldr r3, [sp, #1412] cmp r3, #0 bne .L2610 b .L2611 .L2587: bl __sanitizer_cov_trace_pc lsr r5, r8, #6 ldr r3, [sp, #28] add r5, r3, r5, lsl #3 lsr r3, r5, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2612 mov r0, r5 bl __asan_report_load8_noabort .L2612: and r3, r8, #63 sub r6, r3, #32 ldr r9, [r5] rsb r2, r3, #32 lsl r6, r7, r6 and r9, r9, r7, lsl r3 orr r6, r6, r7, lsr r2 ldr r3, [r5, #4] mov r2, r9 and r6, r6, r3 mov r3, r6 mov r0, #0 mov r1, #0 bl __sanitizer_cov_trace_const_cmp8 orrs r3, r9, r6 mov r2, r9 mov r3, r6 mov r0, #0 mov r1, #0 moveq r5, #1 movne r5, #0 bl __sanitizer_cov_trace_const_cmp8 orrs r9, r9, r6 movne r3, #1 moveq r3, #0 sub r8, r8, #1 cmp r3, #0 movne r6, #72 ldr r3, [sp, #24] moveq r6, #0 cmp r5, #0 movne r5, #72 moveq r5, #0 add r10, fp, r6 add r9, fp, r5 add r6, r3, r6 add r5, r3, r5 mov r3, r5 mov r2, r9 mov r1, r6 mov r0, r10 str r4, [sp] bl xycz_add_c mov r3, r6 mov r2, r10 mov r1, r5 mov r0, r9 str r4, [sp] bl xycz_add mov r0, #0 mov r1, r8 bl __sanitizer_cov_trace_const_cmp4 cmp r8, #0 bne .L2587 ldr r9, [sp, #44] b .L2621 .L2611: bl __sanitizer_cov_trace_pc mov r3, #0 ldr ip, [sp, #68] str r3, [ip] str r3, [ip, #4] str r3, [ip, #12] str r3, [ip, #16] str r3, [ip, #28] str r3, [ip, #32] str r3, [ip, #40] str r3, [ip, #44] str r3, [ip, #64] str r3, [ip, #68] str r3, [ip, #72] str r3, [ip, #92] str r3, [ip, #96] str r3, [ip, #116] str r3, [ip, #120] str r3, [ip, #124] str r3, [ip, #144] str r3, [ip, #148] ldr r3, .L2798+40 ldr r2, [r3] ldr r3, [sp, #1364] eors r2, r3, r2 mov r3, #0 beq .L2631 b .L2797 .L2610: ldr r6, [sp, #40] ldr r7, [sp, #1412] mov r4, #0 .L2624: bl __sanitizer_cov_trace_pc lsr r3, r6, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2622 mov r0, r6 bl __asan_report_load8_noabort .L2622: lsr r3, r5, #3 add r3, r3, #-1627389952 ldrd r8, [r6], #8 ldrsb r3, [r3] cmp r3, #0 beq .L2623 mov r0, r5 bl __asan_report_store8_noabort .L2623: add r4, r4, #1 mov r1, r4 mov r0, r7 strd r8, [r5], #8 bl __sanitizer_cov_trace_cmp4 cmp r4, r7 bne .L2624 bl __sanitizer_cov_trace_pc ldr r3, [sp, #52] add r0, r3, #4 and r3, r0, #7 lsr r2, r0, #3 add r2, r2, #-1627389952 add r3, r3, #3 ldrsb r2, [r2] cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2625 bl __asan_report_load4_noabort .L2625: ldr r3, [sp, #52] ldr r8, [sp, #24] ldr r9, [sp, #1412] ldr r5, [r3, #4] mov r4, #0 .L2628: bl __sanitizer_cov_trace_pc lsr r3, r8, #3 add r3, r3, #-1627389952 ldrsb r3, [r3] cmp r3, #0 beq .L2626 mov r0, r8 bl __asan_report_load8_noabort .L2626: lsr r3, r5, #3 add r3, r3, #-1627389952 ldrd r6, [r8], #8 ldrsb r3, [r3] cmp r3, #0 beq .L2627 mov r0, r5 bl __asan_report_store8_noabort .L2627: add r4, r4, #1 mov r1, r4 mov r0, r9 strd r6, [r5], #8 bl __sanitizer_cov_trace_cmp4 cmp r4, r9 bne .L2628 b .L2611 .L2553: bl __sanitizer_cov_trace_pc ldr r1, [sp, #32] lsr r3, r1, #3 str r3, [sp, #76] add r3, r3, #-1627389952 ldrsb r2, [r3] and r3, r1, #7 str r3, [sp, #72] add r3, r3, #3 cmp r3, r2 movlt r3, #0 movge r3, #1 cmp r2, #0 moveq r3, #0 cmp r3, #0 beq .L2629 mov r0, r1 bl __asan_report_load4_noabort .L2629: ldr r3, [sp, #32] ldr r1, [sp, #1412] mov r0, #0 ldr r5, [r3] ldr r8, .L2798+44 bl __sanitizer_cov_trace_const_cmp4 b .L2630 .L2797: bl __stack_chk_fail .L2631: add sp, sp, #1360 add sp, sp, #12 @ sp needed mov r0, #0 mov r1, #0 mov r2, #0 mov r3, #0 mov ip, #0 mov lr, #0 pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} .fnend .size ecc_point_mult, .-ecc_point_mult