File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
0028e1e0
0028e1e0math/big.nat.bitLen: ; void math/big.nat.bitLen(math/big.nat x)
0028e1e0ldr x16, [x28+16]
0028e1e4subs xzr, sp, x16
0028e1e8b.ls 0x28e2b4
0028e1ecstr x30, [sp-64]!
0028e1f0stur x29, [sp-8]
0028e1f4sub x29, sp, 8
0028e1f8str x0, [sp+72]
0028e1fcstr x1, [sp+80]
0028e200str x2, [sp+88]
0028e204str xzr, [sp+24]
0028e208str x1, [sp+48]
0028e20csub x0, x1, 1
0028e210str x0, [sp+40]
0028e214tbz x0, 63, 0x28e21c
0028e218b 0x28e298
0028e21c
0028e21cloc_28e21c:
0028e21cldr x1, [sp+80]
0028e220ldr x2, [sp+72]
0028e224subs xzr, x1, x0
0028e228b.hi 0x28e230
0028e22cb 0x28e2ac
0028e230
0028e230loc_28e230:
0028e230ldr x1, [x2+3*x0]
0028e234str x1, [sp+32]
0028e238ldr x1, [sp+32]
0028e23cldr x2, [sp+32]
0028e240orr x1, x1, x2, lsr #1
0028e244str x1, [sp+32]
0028e248orr x1, x1, x1, lsr #2
0028e24cstr x1, [sp+32]
0028e250orr x1, x1, x1, lsr #4
0028e254str x1, [sp+32]
0028e258orr x1, x1, x1, lsr #8
0028e25cstr x1, [sp+32]
0028e260orr x1, x1, x1, lsr #16
0028e264str x1, [sp+32]
0028e268orr x1, x1, x1, lsr #32
0028e26cstr x1, [sp+32]
0028e270clz x1, x1
0028e274orr x2, xzr, 64
0028e278sub x1, x2, x1
0028e27cstr x1, [sp+48]
0028e280ldr x2, [sp+40]
0028e284add x0, x1, x2, lsl #6
0028e288str x0, [sp+24]
0028e28cldur x29, [sp-8]
0028e290ldr x30, [sp], 64
0028e294ret x30
0028e298
0028e298loc_28e298:
0028e298str xzr, [sp+24]
0028e29cmov x0, xzr
0028e2a0ldur x29, [sp-8]
0028e2a4ldr x30, [sp], 64
0028e2a8ret x30
0028e2ac
0028e2acloc_28e2ac:
0028e2acbl runtime.panicIndex
0028e2b0hint
0028e2b4
0028e2b4loc_28e2b4:
0028e2b4stp x0, x1, [sp+8]
0028e2b8str x2, [sp+24]
0028e2bcmov x3, x30
0028e2c0bl runtime.morestack_noctxt.abi0
0028e2c4ldp x0, x1, [sp+8]
0028e2c8ldr x2, [sp+24]
0028e2ccb 0x28e1e0
0028e1e0
0028e1e0math/big.nat.bitLen: ; void math/big.nat.bitLen(math/big.nat x)
0028e1e0ldr x16, [x28+16]
0028e1e4subs xzr, sp, x16
0028e1e8b.ls 0x28e2b4
0028e1ecstr x30, [sp-64]!
0028e1f0stur x29, [sp-8]
0028e1f4sub x29, sp, 8
0028e1f8str x0, [sp+72]
0028e1fcstr x1, [sp+80]
0028e200str x2, [sp+88]
0028e204str xzr, [sp+24]
0028e208str x1, [sp+48]
0028e20csub x0, x1, 1
0028e210str x0, [sp+40]
0028e214tbz x0, 63, 0x28e21c
0028e218b 0x28e298
0028e21c
0028e21cloc_28e21c:
0028e21cldr x1, [sp+80]
0028e220ldr x2, [sp+72]
0028e224subs xzr, x1, x0
0028e228b.hi 0x28e230
0028e22cb 0x28e2ac
0028e230
0028e230loc_28e230:
0028e230ldr x1, [x2+3*x0]
0028e234str x1, [sp+32]
0028e238ldr x1, [sp+32]
0028e23cldr x2, [sp+32]
0028e240orr x1, x1, x2, lsr #1
0028e244str x1, [sp+32]
0028e248orr x1, x1, x1, lsr #2
0028e24cstr x1, [sp+32]
0028e250orr x1, x1, x1, lsr #4
0028e254str x1, [sp+32]
0028e258orr x1, x1, x1, lsr #8
0028e25cstr x1, [sp+32]
0028e260orr x1, x1, x1, lsr #16
0028e264str x1, [sp+32]
0028e268orr x1, x1, x1, lsr #32
0028e26cstr x1, [sp+32]
0028e270clz x1, x1
0028e274orr x2, xzr, 64
0028e278sub x1, x2, x1
0028e27cstr x1, [sp+48]
0028e280ldr x2, [sp+40]
0028e284add x0, x1, x2, lsl #6
0028e288str x0, [sp+24]
0028e28cldur x29, [sp-8]
0028e290ldr x30, [sp], 64
0028e294ret x30
0028e298
0028e298loc_28e298:
0028e298str xzr, [sp+24]
0028e29cmov x0, xzr
0028e2a0ldur x29, [sp-8]
0028e2a4ldr x30, [sp], 64
0028e2a8ret x30
0028e2ac
0028e2acloc_28e2ac:
0028e2acbl runtime.panicIndex
0028e2b0hint
0028e2b4
0028e2b4loc_28e2b4:
0028e2b4stp x0, x1, [sp+8]
0028e2b8str x2, [sp+24]
0028e2bcmov x3, x30
0028e2c0bl runtime.morestack_noctxt.abi0
0028e2c4ldp x0, x1, [sp+8]
0028e2c8ldr x2, [sp+24]
0028e2ccb 0x28e1e0
0028e1e0
0028e2d0
0028e2d0math/big.nat.trailingZeroBits: ; void math/big.nat.trailingZeroBits(math/big.nat x)
0028e2d0ldr x16, [x28+16]
0028e2d4subs xzr, sp, x16
0028e2d8b.ls 0x28e3a8
0028e2dcstr x30, [sp-64]!
0028e2e0stur x29, [sp-8]
0028e2e4sub x29, sp, 8
0028e2e8str x0, [sp+72]
0028e2ecstr x1, [sp+80]
0028e2f0str x2, [sp+88]
0028e2f4str xzr, [sp+24]
0028e2f8str x1, [sp+48]
0028e2fccbz x1, 0x28e304
0028e300b 0x28e318
0028e304
0028e304loc_28e304:
0028e304str xzr, [sp+24]
0028e308mov x0, xzr
0028e30cldur x29, [sp-8]
0028e310ldr x30, [sp], 64
0028e314ret x30
0028e318
0028e318loc_28e318:
0028e318str xzr, [sp+32]
0028e31cb 0x28e320
0028e320
0028e320loc_28e320:
0028e320ldr x0, [sp+32]
0028e324ldr x1, [sp+80]
0028e328ldr x2, [sp+72]
0028e32csubs xzr, x0, x1
0028e330b.lo 0x28e338
0028e334b 0x28e3a0
0028e338
0028e338loc_28e338:
0028e338ldr x2, [x2+3*x0]
0028e33ccbz x2, 0x28e344
0028e340b 0x28e358
0028e344
0028e344loc_28e344:
0028e344ldr x2, [sp+32]
0028e348add x2, x2, 1
0028e34cstr x2, [sp+32]
0028e350b 0x28e354
0028e354
0028e354loc_28e354:
0028e354b 0x28e320
0028e358
0028e358loc_28e358:
0028e358ldr x0, [sp+32]
0028e35cldr x1, [sp+80]
0028e360ldr x2, [sp+72]
0028e364subs xzr, x1, x0
0028e368b.hi 0x28e370
0028e36cb 0x28e39c
0028e370
0028e370loc_28e370:
0028e370ldr x1, [x2+3*x0]
0028e374str x1, [sp+40]
0028e378ldr x0, [sp+40]
0028e37cbl math/bits.TrailingZeros
0028e380str x0, [sp+48]
0028e384ldr x1, [sp+32]
0028e388add x0, x0, x1, lsl #6
0028e38cstr x0, [sp+24]
0028e390ldur x29, [sp-8]
0028e394ldr x30, [sp], 64
0028e398ret x30
0028e39c
0028e39cloc_28e39c:
0028e39cbl runtime.panicIndexU
0028e3a0
0028e3a0loc_28e3a0:
0028e3a0bl runtime.panicIndexU
0028e3a4hint
0028e3a8
0028e3a8loc_28e3a8:
0028e3a8stp x0, x1, [sp+8]
0028e3acstr x2, [sp+24]
0028e3b0mov x3, x30
0028e3b4bl runtime.morestack_noctxt.abi0
0028e3b8ldp x0, x1, [sp+8]
0028e3bcldr x2, [sp+24]
0028e3c0b 0x28e2d0
0028e3c4udf 0
0028e3c8udf 0
0028e3ccudf 0
0028e2d0
0028e2d0math/big.nat.trailingZeroBits: ; void math/big.nat.trailingZeroBits(math/big.nat x)
0028e2d0ldr x16, [x28+16]
0028e2d4subs xzr, sp, x16
0028e2d8b.ls 0x28e3a8
0028e2dcstr x30, [sp-64]!
0028e2e0stur x29, [sp-8]
0028e2e4sub x29, sp, 8
0028e2e8str x0, [sp+72]
0028e2ecstr x1, [sp+80]
0028e2f0str x2, [sp+88]
0028e2f4str xzr, [sp+24]
0028e2f8str x1, [sp+48]
0028e2fccbz x1, 0x28e304
0028e300b 0x28e318
0028e304
0028e304loc_28e304:
0028e304str xzr, [sp+24]
0028e308mov x0, xzr
0028e30cldur x29, [sp-8]
0028e310ldr x30, [sp], 64
0028e314ret x30
0028e318
0028e318loc_28e318:
0028e318str xzr, [sp+32]
0028e31cb 0x28e320
0028e320
0028e320loc_28e320:
0028e320ldr x0, [sp+32]
0028e324ldr x1, [sp+80]
0028e328ldr x2, [sp+72]
0028e32csubs xzr, x0, x1
0028e330b.lo 0x28e338
0028e334b 0x28e3a0
0028e338
0028e338loc_28e338:
0028e338ldr x2, [x2+3*x0]
0028e33ccbz x2, 0x28e344
0028e340b 0x28e358
0028e344
0028e344loc_28e344:
0028e344ldr x2, [sp+32]
0028e348add x2, x2, 1
0028e34cstr x2, [sp+32]
0028e350b 0x28e354
0028e354
0028e354loc_28e354:
0028e354b 0x28e320
0028e358
0028e358loc_28e358:
0028e358ldr x0, [sp+32]
0028e35cldr x1, [sp+80]
0028e360ldr x2, [sp+72]
0028e364subs xzr, x1, x0
0028e368b.hi 0x28e370
0028e36cb 0x28e39c
0028e370
0028e370loc_28e370:
0028e370ldr x1, [x2+3*x0]
0028e374str x1, [sp+40]
0028e378ldr x0, [sp+40]
0028e37cbl math/bits.TrailingZeros
0028e380str x0, [sp+48]
0028e384ldr x1, [sp+32]
0028e388add x0, x0, x1, lsl #6
0028e38cstr x0, [sp+24]
0028e390ldur x29, [sp-8]
0028e394ldr x30, [sp], 64
0028e398ret x30
0028e39c
0028e39cloc_28e39c:
0028e39cbl runtime.panicIndexU
0028e3a0
0028e3a0loc_28e3a0:
0028e3a0bl runtime.panicIndexU
0028e3a4hint
0028e3a8
0028e3a8loc_28e3a8:
0028e3a8stp x0, x1, [sp+8]
0028e3acstr x2, [sp+24]
0028e3b0mov x3, x30
0028e3b4bl runtime.morestack_noctxt.abi0
0028e3b8ldp x0, x1, [sp+8]
0028e3bcldr x2, [sp+24]
0028e3c0b 0x28e2d0
0028e3c4udf 0
0028e3c8udf 0
0028e3ccudf 0
0028e2d0
0028e3d0
0028e3d0math/big.nat.isPow2: ; void math/big.nat.isPow2(math/big.nat x)
0028e3d0ldr x16, [x28+16]
0028e3d4subs xzr, sp, x16
0028e3d8b.ls 0x28e53c
0028e3dcstr x30, [sp-80]!
0028e3e0stur x29, [sp-8]
0028e3e4sub x29, sp, 8
0028e3e8str x0, [sp+88]
0028e3ecstr x1, [sp+96]
0028e3f0str x2, [sp+104]
0028e3f4str xzr, [sp+40]
0028e3f8strb wzr, [sp+38]
0028e3fcstr xzr, [sp+48]
0028e400b 0x28e404
0028e404
0028e404loc_28e404:
0028e404ldr x0, [sp+48]
0028e408ldr x1, [sp+96]
0028e40cldr x2, [sp+88]
0028e410subs xzr, x1, x0
0028e414b.hi 0x28e41c
0028e418b 0x28e534
0028e41c
0028e41cloc_28e41c:
0028e41cldr x2, [x2+3*x0]
0028e420cbz x2, 0x28e428
0028e424b 0x28e43c
0028e428
0028e428loc_28e428:
0028e428ldr x2, [sp+48]
0028e42cadd x2, x2, 1
0028e430str x2, [sp+48]
0028e434b 0x28e438
0028e438
0028e438loc_28e438:
0028e438b 0x28e404
0028e43c
0028e43cloc_28e43c:
0028e43cldr x2, [sp+96]
0028e440str x2, [sp+64]
0028e444ldr x3, [sp+48]
0028e448sub x2, x2, 1
0028e44csubs xzr, x3, x2
0028e450cset x2, eq
0028e454strb w2, [sp+39]
0028e458b.eq 0x28e460
0028e45cb 0x28e4ac
0028e460
0028e460loc_28e460:
0028e460ldr x0, [sp+48]
0028e464ldr x1, [sp+96]
0028e468ldr x2, [sp+88]
0028e46csubs xzr, x0, x1
0028e470b.lo 0x28e478
0028e474b 0x28e530
0028e478
0028e478loc_28e478:
0028e478ldr x2, [x2+3*x0]
0028e47cldr x0, [sp+48]
0028e480ldr x1, [sp+96]
0028e484ldr x3, [sp+88]
0028e488subs xzr, x1, x0
0028e48cb.hi 0x28e494
0028e490b 0x28e52c
0028e494
0028e494loc_28e494:
0028e494ldr x3, [x3+3*x0]
0028e498sub x3, x3, 1
0028e49cands xzr, x2, x3
0028e4a0cset x2, eq
0028e4a4strb w2, [sp+39]
0028e4a8b 0x28e4b0
0028e4ac
0028e4acloc_28e4ac:
0028e4acb 0x28e4b0
0028e4b0
0028e4b0loc_28e4b0:
0028e4b0ldrb w2, [sp+39]
0028e4b4tbnz w2, 0, 0x28e4bc
0028e4b8b 0x28e50c
0028e4bc
0028e4bcloc_28e4bc:
0028e4bcldr x0, [sp+48]
0028e4c0ldr x1, [sp+96]
0028e4c4ldr x2, [sp+88]
0028e4c8subs xzr, x1, x0
0028e4ccb.hi 0x28e4d4
0028e4d0b 0x28e528
0028e4d4
0028e4d4loc_28e4d4:
0028e4d4ldr x1, [x2+3*x0]
0028e4d8str x1, [sp+56]
0028e4dcldr x0, [sp+56]
0028e4e0bl math/bits.TrailingZeros
0028e4e4str x0, [sp+64]
0028e4e8ldr x1, [sp+48]
0028e4ecadd x1, x0, x1, lsl #6
0028e4f0str x1, [sp+40]
0028e4f4orr x1, xzr, 1
0028e4f8strb w1, [sp+38]
0028e4fcldr x0, [sp+40]
0028e500ldur x29, [sp-8]
0028e504ldr x30, [sp], 80
0028e508ret x30
0028e50c
0028e50cloc_28e50c:
0028e50cstr xzr, [sp+40]
0028e510strb wzr, [sp+38]
0028e514ldr x0, [sp+40]
0028e518mov x1, xzr
0028e51cldur x29, [sp-8]
0028e520ldr x30, [sp], 80
0028e524ret x30
0028e528
0028e528loc_28e528:
0028e528bl runtime.panicIndexU
0028e52c
0028e52cloc_28e52c:
0028e52cbl runtime.panicIndexU
0028e530
0028e530loc_28e530:
0028e530bl runtime.panicIndexU
0028e534
0028e534loc_28e534:
0028e534bl runtime.panicIndexU
0028e538hint
0028e53c
0028e53cloc_28e53c:
0028e53cstp x0, x1, [sp+8]
0028e540str x2, [sp+24]
0028e544mov x3, x30
0028e548bl runtime.morestack_noctxt.abi0
0028e54cldp x0, x1, [sp+8]
0028e550ldr x2, [sp+24]
0028e554b 0x28e3d0
0028e558udf 0
0028e55cudf 0
0028e3d0
0028e3d0math/big.nat.isPow2: ; void math/big.nat.isPow2(math/big.nat x)
0028e3d0ldr x16, [x28+16]
0028e3d4subs xzr, sp, x16
0028e3d8b.ls 0x28e53c
0028e3dcstr x30, [sp-80]!
0028e3e0stur x29, [sp-8]
0028e3e4sub x29, sp, 8
0028e3e8str x0, [sp+88]
0028e3ecstr x1, [sp+96]
0028e3f0str x2, [sp+104]
0028e3f4str xzr, [sp+40]
0028e3f8strb wzr, [sp+38]
0028e3fcstr xzr, [sp+48]
0028e400b 0x28e404
0028e404
0028e404loc_28e404:
0028e404ldr x0, [sp+48]
0028e408ldr x1, [sp+96]
0028e40cldr x2, [sp+88]
0028e410subs xzr, x1, x0
0028e414b.hi 0x28e41c
0028e418b 0x28e534
0028e41c
0028e41cloc_28e41c:
0028e41cldr x2, [x2+3*x0]
0028e420cbz x2, 0x28e428
0028e424b 0x28e43c
0028e428
0028e428loc_28e428:
0028e428ldr x2, [sp+48]
0028e42cadd x2, x2, 1
0028e430str x2, [sp+48]
0028e434b 0x28e438
0028e438
0028e438loc_28e438:
0028e438b 0x28e404
0028e43c
0028e43cloc_28e43c:
0028e43cldr x2, [sp+96]
0028e440str x2, [sp+64]
0028e444ldr x3, [sp+48]
0028e448sub x2, x2, 1
0028e44csubs xzr, x3, x2
0028e450cset x2, eq
0028e454strb w2, [sp+39]
0028e458b.eq 0x28e460
0028e45cb 0x28e4ac
0028e460
0028e460loc_28e460:
0028e460ldr x0, [sp+48]
0028e464ldr x1, [sp+96]
0028e468ldr x2, [sp+88]
0028e46csubs xzr, x0, x1
0028e470b.lo 0x28e478
0028e474b 0x28e530
0028e478
0028e478loc_28e478:
0028e478ldr x2, [x2+3*x0]
0028e47cldr x0, [sp+48]
0028e480ldr x1, [sp+96]
0028e484ldr x3, [sp+88]
0028e488subs xzr, x1, x0
0028e48cb.hi 0x28e494
0028e490b 0x28e52c
0028e494
0028e494loc_28e494:
0028e494ldr x3, [x3+3*x0]
0028e498sub x3, x3, 1
0028e49cands xzr, x2, x3
0028e4a0cset x2, eq
0028e4a4strb w2, [sp+39]
0028e4a8b 0x28e4b0
0028e4ac
0028e4acloc_28e4ac:
0028e4acb 0x28e4b0
0028e4b0
0028e4b0loc_28e4b0:
0028e4b0ldrb w2, [sp+39]
0028e4b4tbnz w2, 0, 0x28e4bc
0028e4b8b 0x28e50c
0028e4bc
0028e4bcloc_28e4bc:
0028e4bcldr x0, [sp+48]
0028e4c0ldr x1, [sp+96]
0028e4c4ldr x2, [sp+88]
0028e4c8subs xzr, x1, x0
0028e4ccb.hi 0x28e4d4
0028e4d0b 0x28e528
0028e4d4
0028e4d4loc_28e4d4:
0028e4d4ldr x1, [x2+3*x0]
0028e4d8str x1, [sp+56]
0028e4dcldr x0, [sp+56]
0028e4e0bl math/bits.TrailingZeros
0028e4e4str x0, [sp+64]
0028e4e8ldr x1, [sp+48]
0028e4ecadd x1, x0, x1, lsl #6
0028e4f0str x1, [sp+40]
0028e4f4orr x1, xzr, 1
0028e4f8strb w1, [sp+38]
0028e4fcldr x0, [sp+40]
0028e500ldur x29, [sp-8]
0028e504ldr x30, [sp], 80
0028e508ret x30
0028e50c
0028e50cloc_28e50c:
0028e50cstr xzr, [sp+40]
0028e510strb wzr, [sp+38]
0028e514ldr x0, [sp+40]
0028e518mov x1, xzr
0028e51cldur x29, [sp-8]
0028e520ldr x30, [sp], 80
0028e524ret x30
0028e528
0028e528loc_28e528:
0028e528bl runtime.panicIndexU
0028e52c
0028e52cloc_28e52c:
0028e52cbl runtime.panicIndexU
0028e530
0028e530loc_28e530:
0028e530bl runtime.panicIndexU
0028e534
0028e534loc_28e534:
0028e534bl runtime.panicIndexU
0028e538hint
0028e53c
0028e53cloc_28e53c:
0028e53cstp x0, x1, [sp+8]
0028e540str x2, [sp+24]
0028e544mov x3, x30
0028e548bl runtime.morestack_noctxt.abi0
0028e54cldp x0, x1, [sp+8]
0028e550ldr x2, [sp+24]
0028e554b 0x28e3d0
0028e558udf 0
0028e55cudf 0
0028e3d0
0028e560
0028e560math/big.same: ; void math/big.same(math/big.nat x, math/big.nat y)
0028e560ldr x16, [x28+16]
0028e564subs xzr, sp, x16
0028e568b.ls 0x28e644
0028e56cstr x30, [sp-64]!
0028e570stur x29, [sp-8]
0028e574sub x29, sp, 8
0028e578str x0, [sp+72]
0028e57cstr x1, [sp+80]
0028e580str x2, [sp+88]
0028e584str x3, [sp+96]
0028e588str x4, [sp+104]
0028e58cstr x5, [sp+112]
0028e590strb wzr, [sp+29]
0028e594ldr x2, [sp+80]
0028e598str x2, [sp+48]
0028e59cstr x4, [sp+40]
0028e5a0subs xzr, x4, x2
0028e5a4cset x2, eq
0028e5a8strb w2, [sp+30]
0028e5acb.eq 0x28e5b4
0028e5b0b 0x28e5cc
0028e5b4
0028e5b4loc_28e5b4:
0028e5b4ldr x2, [sp+80]
0028e5b8str x2, [sp+32]
0028e5bcsubs xzr, x2, 0
0028e5c0cset x2, ne
0028e5c4strb w2, [sp+30]
0028e5c8b 0x28e5d0
0028e5cc
0028e5ccloc_28e5cc:
0028e5ccb 0x28e5d0
0028e5d0
0028e5d0loc_28e5d0:
0028e5d0ldrb w2, [sp+30]
0028e5d4strb w2, [sp+31]
0028e5d8tbnz w2, 0, 0x28e5e0
0028e5dcb 0x28e618
0028e5e0
0028e5e0loc_28e5e0:
0028e5e0ldr x1, [sp+80]
0028e5e4ldr x2, [sp+72]
0028e5e8subs xzr, x1, 0
0028e5ecb.hi 0x28e5f4
0028e5f0b 0x28e638
0028e5f4
0028e5f4loc_28e5f4:
0028e5f4ldr x1, [sp+104]
0028e5f8ldr x3, [sp+96]
0028e5fcsubs xzr, x1, 0
0028e600b.hi 0x28e608
0028e604b 0x28e630
0028e608
0028e608loc_28e608:
0028e608subs xzr, x3, x2
0028e60ccset x1, eq
0028e610strb w1, [sp+31]
0028e614b 0x28e61c
0028e618
0028e618loc_28e618:
0028e618b 0x28e61c
0028e61c
0028e61cloc_28e61c:
0028e61cldrb w0, [sp+31]
0028e620strb w0, [sp+29]
0028e624ldur x29, [sp-8]
0028e628ldr x30, [sp], 64
0028e62cret x30
0028e630
0028e630loc_28e630:
0028e630mov x0, xzr
0028e634bl runtime.panicIndex
0028e638
0028e638loc_28e638:
0028e638mov x0, xzr
0028e63cbl runtime.panicIndex
0028e640hint
0028e644
0028e644loc_28e644:
0028e644stp x0, x1, [sp+8]
0028e648stp x2, x3, [sp+24]
0028e64cstp x4, x5, [sp+40]
0028e650mov x3, x30
0028e654bl runtime.morestack_noctxt.abi0
0028e658ldp x0, x1, [sp+8]
0028e65cldp x2, x3, [sp+24]
0028e660ldp x4, x5, [sp+40]
0028e664b 0x28e560
0028e668udf 0
0028e66cudf 0
0028e560
0028e560math/big.same: ; void math/big.same(math/big.nat x, math/big.nat y)
0028e560ldr x16, [x28+16]
0028e564subs xzr, sp, x16
0028e568b.ls 0x28e644
0028e56cstr x30, [sp-64]!
0028e570stur x29, [sp-8]
0028e574sub x29, sp, 8
0028e578str x0, [sp+72]
0028e57cstr x1, [sp+80]
0028e580str x2, [sp+88]
0028e584str x3, [sp+96]
0028e588str x4, [sp+104]
0028e58cstr x5, [sp+112]
0028e590strb wzr, [sp+29]
0028e594ldr x2, [sp+80]
0028e598str x2, [sp+48]
0028e59cstr x4, [sp+40]
0028e5a0subs xzr, x4, x2
0028e5a4cset x2, eq
0028e5a8strb w2, [sp+30]
0028e5acb.eq 0x28e5b4
0028e5b0b 0x28e5cc
0028e5b4
0028e5b4loc_28e5b4:
0028e5b4ldr x2, [sp+80]
0028e5b8str x2, [sp+32]
0028e5bcsubs xzr, x2, 0
0028e5c0cset x2, ne
0028e5c4strb w2, [sp+30]
0028e5c8b 0x28e5d0
0028e5cc
0028e5ccloc_28e5cc:
0028e5ccb 0x28e5d0
0028e5d0
0028e5d0loc_28e5d0:
0028e5d0ldrb w2, [sp+30]
0028e5d4strb w2, [sp+31]
0028e5d8tbnz w2, 0, 0x28e5e0
0028e5dcb 0x28e618
0028e5e0
0028e5e0loc_28e5e0:
0028e5e0ldr x1, [sp+80]
0028e5e4ldr x2, [sp+72]
0028e5e8subs xzr, x1, 0
0028e5ecb.hi 0x28e5f4
0028e5f0b 0x28e638
0028e5f4
0028e5f4loc_28e5f4:
0028e5f4ldr x1, [sp+104]
0028e5f8ldr x3, [sp+96]
0028e5fcsubs xzr, x1, 0
0028e600b.hi 0x28e608
0028e604b 0x28e630
0028e608
0028e608loc_28e608:
0028e608subs xzr, x3, x2
0028e60ccset x1, eq
0028e610strb w1, [sp+31]
0028e614b 0x28e61c
0028e618
0028e618loc_28e618:
0028e618b 0x28e61c
0028e61c
0028e61cloc_28e61c:
0028e61cldrb w0, [sp+31]
0028e620strb w0, [sp+29]
0028e624ldur x29, [sp-8]
0028e628ldr x30, [sp], 64
0028e62cret x30
0028e630
0028e630loc_28e630:
0028e630mov x0, xzr
0028e634bl runtime.panicIndex
0028e638
0028e638loc_28e638:
0028e638mov x0, xzr
0028e63cbl runtime.panicIndex
0028e640hint
0028e644
0028e644loc_28e644:
0028e644stp x0, x1, [sp+8]
0028e648stp x2, x3, [sp+24]
0028e64cstp x4, x5, [sp+40]
0028e650mov x3, x30
0028e654bl runtime.morestack_noctxt.abi0
0028e658ldp x0, x1, [sp+8]
0028e65cldp x2, x3, [sp+24]
0028e660ldp x4, x5, [sp+40]
0028e664b 0x28e560
0028e668udf 0
0028e66cudf 0
0028e560
0028e670
0028e670math/big.nat.shl: ; void math/big.nat.shl(math/big.nat z, math/big.nat x, uint s)
0028e670ldr x16, [x28+16]
0028e674sub x17, sp, 64
0028e678subs xzr, x17, x16
0028e67cb.ls 0x28e954
0028e680str x30, [sp-192]!
0028e684stur x29, [sp-8]
0028e688sub x29, sp, 8
0028e68cstr x0, [sp+200]
0028e690str x1, [sp+208]
0028e694str x2, [sp+216]
0028e698str x3, [sp+224]
0028e69cstr x4, [sp+232]
0028e6a0str x5, [sp+240]
0028e6a4str x6, [sp+248]
0028e6a8str xzr, [sp+128]
0028e6acstp xzr, xzr, [sp+136]
0028e6b0ldr x6, [sp+248]
0028e6b4cbz x6, 0x28e6bc
0028e6b8b 0x28e774
0028e6bc
0028e6bcloc_28e6bc:
0028e6bcldr x0, [sp+200]
0028e6c0ldr x3, [sp+224]
0028e6c4ldr x1, [sp+208]
0028e6c8ldr x4, [sp+232]
0028e6ccldr x2, [sp+216]
0028e6d0ldr x5, [sp+240]
0028e6d4bl math/big.same
0028e6d8strb w0, [sp+79]
0028e6dctbnz w0, 0, 0x28e6e4
0028e6e0b 0x28e708
0028e6e4
0028e6e4loc_28e6e4:
0028e6e4ldr x0, [sp+200]
0028e6e8ldr x1, [sp+208]
0028e6ecldr x2, [sp+216]
0028e6f0str x0, [sp+128]
0028e6f4str x1, [sp+136]
0028e6f8str x2, [sp+144]
0028e6fcldur x29, [sp-8]
0028e700ldr x30, [sp], 192
0028e704ret x30
0028e708
0028e708loc_28e708:
0028e708ldr x0, [sp+200]
0028e70cldr x3, [sp+224]
0028e710ldr x1, [sp+208]
0028e714ldr x4, [sp+232]
0028e718ldr x2, [sp+216]
0028e71cldr x5, [sp+240]
0028e720bl math/big.alias
0028e724strb w0, [sp+79]
0028e728tbnz w0, 0, 0x28e730
0028e72cb 0x28e734
0028e730
0028e730loc_28e730:
0028e730b 0x28e778
0028e734
0028e734loc_28e734:
0028e734ldr x0, [sp+200]
0028e738ldr x3, [sp+224]
0028e73cldr x1, [sp+208]
0028e740ldr x4, [sp+232]
0028e744ldr x2, [sp+216]
0028e748ldr x5, [sp+240]
0028e74cbl math/big.nat.set
0028e750str x0, [sp+152]
0028e754str x1, [sp+160]
0028e758str x2, [sp+168]
0028e75cstr x0, [sp+128]
0028e760str x1, [sp+136]
0028e764str x2, [sp+144]
0028e768ldur x29, [sp-8]
0028e76cldr x30, [sp], 192
0028e770ret x30
0028e774
0028e774loc_28e774:
0028e774b 0x28e778
0028e778
0028e778loc_28e778:
0028e778ldr x4, [sp+232]
0028e77cstr x4, [sp+88]
0028e780cbz x4, 0x28e788
0028e784b 0x28e7c0
0028e788
0028e788loc_28e788:
0028e788ldr x0, [sp+200]
0028e78cldr x2, [sp+216]
0028e790b 0x28e794
0028e794
0028e794loc_28e794:
0028e794b 0x28e798
0028e798
0028e798loc_28e798:
0028e798str x0, [sp+152]
0028e79cstr xzr, [sp+160]
0028e7a0str x2, [sp+168]
0028e7a4str x0, [sp+128]
0028e7a8str xzr, [sp+136]
0028e7acstr x2, [sp+144]
0028e7b0mov x1, xzr
0028e7b4ldur x29, [sp-8]
0028e7b8ldr x30, [sp], 192
0028e7bcret x30
0028e7c0
0028e7c0loc_28e7c0:
0028e7c0ldr x5, [sp+248]
0028e7c4add x4, x4, x5, lsr #6
0028e7c8str x4, [sp+80]
0028e7ccldr x0, [sp+200]
0028e7d0ldr x1, [sp+208]
0028e7d4ldr x2, [sp+216]
0028e7d8add x3, x4, 1
0028e7dcbl math/big.nat.make
0028e7e0str x0, [sp+200]
0028e7e4str x1, [sp+208]
0028e7e8str x2, [sp+216]
0028e7ecldr x4, [sp+88]
0028e7f0ldr x5, [sp+80]
0028e7f4sub x6, x5, x4
0028e7f8str x6, [sp+104]
0028e7fcldr x1, [sp+80]
0028e800subs xzr, x2, x1
0028e804b.hs 0x28e80c
0028e808b 0x28e94c
0028e80c
0028e80cloc_28e80c:
0028e80csubs xzr, x1, x6
0028e810b.hs 0x28e818
0028e814b 0x28e944
0028e818
0028e818loc_28e818:
0028e818add x2, x2, x4
0028e81csub x2, x2, x5
0028e820add x1, x1, x4
0028e824sub x1, x1, x5
0028e828sub x3, xzr, x2
0028e82cubfm x4, x6, 61, 60
0028e830and x3, x4, x3, asr #63
0028e834add x0, x0, x3
0028e838str x0, [sp+152]
0028e83cstr x1, [sp+160]
0028e840str x2, [sp+168]
0028e844ldr x3, [sp+248]
0028e848and x3, x3, 63
0028e84cstr x3, [sp+120]
0028e850ldr x4, [sp+224]
0028e854ldr x5, [sp+232]
0028e858ldr x6, [sp+240]
0028e85cstr x0, [sp+8]
0028e860str x1, [sp+16]
0028e864str x2, [sp+24]
0028e868str x4, [sp+32]
0028e86cstr x5, [sp+40]
0028e870str x6, [sp+48]
0028e874str x3, [sp+56]
0028e878bl math/big.shlVU.abi0
0028e87cldr x0, [sp+64]
0028e880str x0, [sp+96]
0028e884ldr x1, [sp+80]
0028e888ldr x2, [sp+208]
0028e88cldr x3, [sp+200]
0028e890subs xzr, x2, x1
0028e894b.hi 0x28e89c
0028e898b 0x28e938
0028e89c
0028e89cloc_28e89c:
0028e89cstr x0, [x3+3*x1]
0028e8a0ldr x3, [sp+88]
0028e8a4ldr x4, [sp+80]
0028e8a8sub x1, x4, x3
0028e8acstr x1, [sp+104]
0028e8b0ldr x2, [sp+216]
0028e8b4ldr x3, [sp+200]
0028e8b8subs xzr, x2, x1
0028e8bcb.hs 0x28e8c4
0028e8c0b 0x28e934
0028e8c4
0028e8c4loc_28e8c4:
0028e8c4b 0x28e8c8
0028e8c8
0028e8c8loc_28e8c8:
0028e8c8str x3, [sp+152]
0028e8ccstr x1, [sp+160]
0028e8d0str x2, [sp+168]
0028e8d4cbnz x1, 0x28e8dc
0028e8d8b 0x28e8fc
0028e8dc
0028e8dcloc_28e8dc:
0028e8dcstr x3, [sp+176]
0028e8e0ldr x2, [sp+160]
0028e8e4ubfm x2, x2, 61, 60
0028e8e8str x2, [sp+112]
0028e8ecldr x1, [sp+112]
0028e8f0ldr x0, [sp+176]
0028e8f4bl runtime.memclrNoHeapPointers
0028e8f8b 0x28e900
0028e8fc
0028e8fcloc_28e8fc:
0028e8fcb 0x28e900
0028e900
0028e900loc_28e900:
0028e900ldr x0, [sp+200]
0028e904ldr x1, [sp+208]
0028e908ldr x2, [sp+216]
0028e90cbl math/big.nat.norm
0028e910str x0, [sp+152]
0028e914str x1, [sp+160]
0028e918str x2, [sp+168]
0028e91cstr x0, [sp+128]
0028e920str x1, [sp+136]
0028e924str x2, [sp+144]
0028e928ldur x29, [sp-8]
0028e92cldr x30, [sp], 192
0028e930ret x30
0028e934
0028e934loc_28e934:
0028e934bl runtime.panicSliceAcap
0028e938
0028e938loc_28e938:
0028e938mov x0, x1
0028e93cmov x1, x2
0028e940bl runtime.panicIndex
0028e944
0028e944loc_28e944:
0028e944mov x0, x6
0028e948bl runtime.panicSliceB
0028e94c
0028e94cloc_28e94c:
0028e94cbl runtime.panicSliceAcap
0028e950hint
0028e954
0028e954loc_28e954:
0028e954stp x0, x1, [sp+8]
0028e958stp x2, x3, [sp+24]
0028e95cstp x4, x5, [sp+40]
0028e960str x6, [sp+56]
0028e964mov x3, x30
0028e968bl runtime.morestack_noctxt.abi0
0028e96cldp x0, x1, [sp+8]
0028e970ldp x2, x3, [sp+24]
0028e974ldp x4, x5, [sp+40]
0028e978ldr x6, [sp+56]
0028e97cb 0x28e670
0028e670
0028e670math/big.nat.shl: ; void math/big.nat.shl(math/big.nat z, math/big.nat x, uint s)
0028e670ldr x16, [x28+16]
0028e674sub x17, sp, 64
0028e678subs xzr, x17, x16
0028e67cb.ls 0x28e954
0028e680str x30, [sp-192]!
0028e684stur x29, [sp-8]
0028e688sub x29, sp, 8
0028e68cstr x0, [sp+200]
0028e690str x1, [sp+208]
0028e694str x2, [sp+216]
0028e698str x3, [sp+224]
0028e69cstr x4, [sp+232]
0028e6a0str x5, [sp+240]
0028e6a4str x6, [sp+248]
0028e6a8str xzr, [sp+128]
0028e6acstp xzr, xzr, [sp+136]
0028e6b0ldr x6, [sp+248]
0028e6b4cbz x6, 0x28e6bc
0028e6b8b 0x28e774
0028e6bc
0028e6bcloc_28e6bc:
0028e6bcldr x0, [sp+200]
0028e6c0ldr x3, [sp+224]
0028e6c4ldr x1, [sp+208]
0028e6c8ldr x4, [sp+232]
0028e6ccldr x2, [sp+216]
0028e6d0ldr x5, [sp+240]
0028e6d4bl math/big.same
0028e6d8strb w0, [sp+79]
0028e6dctbnz w0, 0, 0x28e6e4
0028e6e0b 0x28e708
0028e6e4
0028e6e4loc_28e6e4:
0028e6e4ldr x0, [sp+200]
0028e6e8ldr x1, [sp+208]
0028e6ecldr x2, [sp+216]
0028e6f0str x0, [sp+128]
0028e6f4str x1, [sp+136]
0028e6f8str x2, [sp+144]
0028e6fcldur x29, [sp-8]
0028e700ldr x30, [sp], 192
0028e704ret x30
0028e708
0028e708loc_28e708:
0028e708ldr x0, [sp+200]
0028e70cldr x3, [sp+224]
0028e710ldr x1, [sp+208]
0028e714ldr x4, [sp+232]
0028e718ldr x2, [sp+216]
0028e71cldr x5, [sp+240]
0028e720bl math/big.alias
0028e724strb w0, [sp+79]
0028e728tbnz w0, 0, 0x28e730
0028e72cb 0x28e734
0028e730
0028e730loc_28e730:
0028e730b 0x28e778
0028e734
0028e734loc_28e734:
0028e734ldr x0, [sp+200]
0028e738ldr x3, [sp+224]
0028e73cldr x1, [sp+208]
0028e740ldr x4, [sp+232]
0028e744ldr x2, [sp+216]
0028e748ldr x5, [sp+240]
0028e74cbl math/big.nat.set
0028e750str x0, [sp+152]
0028e754str x1, [sp+160]
0028e758str x2, [sp+168]
0028e75cstr x0, [sp+128]
0028e760str x1, [sp+136]
0028e764str x2, [sp+144]
0028e768ldur x29, [sp-8]
0028e76cldr x30, [sp], 192
0028e770ret x30
0028e774
0028e774loc_28e774:
0028e774b 0x28e778
0028e778
0028e778loc_28e778:
0028e778ldr x4, [sp+232]
0028e77cstr x4, [sp+88]
0028e780cbz x4, 0x28e788
0028e784b 0x28e7c0
0028e788
0028e788loc_28e788:
0028e788ldr x0, [sp+200]
0028e78cldr x2, [sp+216]
0028e790b 0x28e794
0028e794
0028e794loc_28e794:
0028e794b 0x28e798
0028e798
0028e798loc_28e798:
0028e798str x0, [sp+152]
0028e79cstr xzr, [sp+160]
0028e7a0str x2, [sp+168]
0028e7a4str x0, [sp+128]
0028e7a8str xzr, [sp+136]
0028e7acstr x2, [sp+144]
0028e7b0mov x1, xzr
0028e7b4ldur x29, [sp-8]
0028e7b8ldr x30, [sp], 192
0028e7bcret x30
0028e7c0
0028e7c0loc_28e7c0:
0028e7c0ldr x5, [sp+248]
0028e7c4add x4, x4, x5, lsr #6
0028e7c8str x4, [sp+80]
0028e7ccldr x0, [sp+200]
0028e7d0ldr x1, [sp+208]
0028e7d4ldr x2, [sp+216]
0028e7d8add x3, x4, 1
0028e7dcbl math/big.nat.make
0028e7e0str x0, [sp+200]
0028e7e4str x1, [sp+208]
0028e7e8str x2, [sp+216]
0028e7ecldr x4, [sp+88]
0028e7f0ldr x5, [sp+80]
0028e7f4sub x6, x5, x4
0028e7f8str x6, [sp+104]
0028e7fcldr x1, [sp+80]
0028e800subs xzr, x2, x1
0028e804b.hs 0x28e80c
0028e808b 0x28e94c
0028e80c
0028e80cloc_28e80c:
0028e80csubs xzr, x1, x6
0028e810b.hs 0x28e818
0028e814b 0x28e944
0028e818
0028e818loc_28e818:
0028e818add x2, x2, x4
0028e81csub x2, x2, x5
0028e820add x1, x1, x4
0028e824sub x1, x1, x5
0028e828sub x3, xzr, x2
0028e82cubfm x4, x6, 61, 60
0028e830and x3, x4, x3, asr #63
0028e834add x0, x0, x3
0028e838str x0, [sp+152]
0028e83cstr x1, [sp+160]
0028e840str x2, [sp+168]
0028e844ldr x3, [sp+248]
0028e848and x3, x3, 63
0028e84cstr x3, [sp+120]
0028e850ldr x4, [sp+224]
0028e854ldr x5, [sp+232]
0028e858ldr x6, [sp+240]
0028e85cstr x0, [sp+8]
0028e860str x1, [sp+16]
0028e864str x2, [sp+24]
0028e868str x4, [sp+32]
0028e86cstr x5, [sp+40]
0028e870str x6, [sp+48]
0028e874str x3, [sp+56]
0028e878bl math/big.shlVU.abi0
0028e87cldr x0, [sp+64]
0028e880str x0, [sp+96]
0028e884ldr x1, [sp+80]
0028e888ldr x2, [sp+208]
0028e88cldr x3, [sp+200]
0028e890subs xzr, x2, x1
0028e894b.hi 0x28e89c
0028e898b 0x28e938
0028e89c
0028e89cloc_28e89c:
0028e89cstr x0, [x3+3*x1]
0028e8a0ldr x3, [sp+88]
0028e8a4ldr x4, [sp+80]
0028e8a8sub x1, x4, x3
0028e8acstr x1, [sp+104]
0028e8b0ldr x2, [sp+216]
0028e8b4ldr x3, [sp+200]
0028e8b8subs xzr, x2, x1
0028e8bcb.hs 0x28e8c4
0028e8c0b 0x28e934
0028e8c4
0028e8c4loc_28e8c4:
0028e8c4b 0x28e8c8
0028e8c8
0028e8c8loc_28e8c8:
0028e8c8str x3, [sp+152]
0028e8ccstr x1, [sp+160]
0028e8d0str x2, [sp+168]
0028e8d4cbnz x1, 0x28e8dc
0028e8d8b 0x28e8fc
0028e8dc
0028e8dcloc_28e8dc:
0028e8dcstr x3, [sp+176]
0028e8e0ldr x2, [sp+160]
0028e8e4ubfm x2, x2, 61, 60
0028e8e8str x2, [sp+112]
0028e8ecldr x1, [sp+112]
0028e8f0ldr x0, [sp+176]
0028e8f4bl runtime.memclrNoHeapPointers
0028e8f8b 0x28e900
0028e8fc
0028e8fcloc_28e8fc:
0028e8fcb 0x28e900
0028e900
0028e900loc_28e900:
0028e900ldr x0, [sp+200]
0028e904ldr x1, [sp+208]
0028e908ldr x2, [sp+216]
0028e90cbl math/big.nat.norm
0028e910str x0, [sp+152]
0028e914str x1, [sp+160]
0028e918str x2, [sp+168]
0028e91cstr x0, [sp+128]
0028e920str x1, [sp+136]
0028e924str x2, [sp+144]
0028e928ldur x29, [sp-8]
0028e92cldr x30, [sp], 192
0028e930ret x30
0028e934
0028e934loc_28e934:
0028e934bl runtime.panicSliceAcap
0028e938
0028e938loc_28e938:
0028e938mov x0, x1
0028e93cmov x1, x2
0028e940bl runtime.panicIndex
0028e944
0028e944loc_28e944:
0028e944mov x0, x6
0028e948bl runtime.panicSliceB
0028e94c
0028e94cloc_28e94c:
0028e94cbl runtime.panicSliceAcap
0028e950hint
0028e954
0028e954loc_28e954:
0028e954stp x0, x1, [sp+8]
0028e958stp x2, x3, [sp+24]
0028e95cstp x4, x5, [sp+40]
0028e960str x6, [sp+56]
0028e964mov x3, x30
0028e968bl runtime.morestack_noctxt.abi0
0028e96cldp x0, x1, [sp+8]
0028e970ldp x2, x3, [sp+24]
0028e974ldp x4, x5, [sp+40]
0028e978ldr x6, [sp+56]
0028e97cb 0x28e670
0028e670
0028e980
0028e980math/big.nat.shr: ; void math/big.nat.shr(math/big.nat z, math/big.nat x, uint s)
0028e980ldr x16, [x28+16]
0028e984sub x17, sp, 48
0028e988subs xzr, x17, x16
0028e98cb.ls 0x28ebc8
0028e990str x30, [sp-176]!
0028e994stur x29, [sp-8]
0028e998sub x29, sp, 8
0028e99cstr x0, [sp+184]
0028e9a0str x1, [sp+192]
0028e9a4str x2, [sp+200]
0028e9a8str x3, [sp+208]
0028e9acstr x4, [sp+216]
0028e9b0str x5, [sp+224]
0028e9b4str x6, [sp+232]
0028e9b8str xzr, [sp+120]
0028e9bcstp xzr, xzr, [sp+128]
0028e9c0ldr x6, [sp+232]
0028e9c4cbz x6, 0x28e9cc
0028e9c8b 0x28ea84
0028e9cc
0028e9ccloc_28e9cc:
0028e9ccldr x0, [sp+184]
0028e9d0ldr x3, [sp+208]
0028e9d4ldr x1, [sp+192]
0028e9d8ldr x4, [sp+216]
0028e9dcldr x2, [sp+200]
0028e9e0ldr x5, [sp+224]
0028e9e4bl math/big.same
0028e9e8strb w0, [sp+87]
0028e9ectbnz w0, 0, 0x28e9f4
0028e9f0b 0x28ea18
0028e9f4
0028e9f4loc_28e9f4:
0028e9f4ldr x0, [sp+184]
0028e9f8ldr x1, [sp+192]
0028e9fcldr x2, [sp+200]
0028ea00str x0, [sp+120]
0028ea04str x1, [sp+128]
0028ea08str x2, [sp+136]
0028ea0cldur x29, [sp-8]
0028ea10ldr x30, [sp], 176
0028ea14ret x30
0028ea18
0028ea18loc_28ea18:
0028ea18ldr x0, [sp+184]
0028ea1cldr x3, [sp+208]
0028ea20ldr x1, [sp+192]
0028ea24ldr x4, [sp+216]
0028ea28ldr x2, [sp+200]
0028ea2cldr x5, [sp+224]
0028ea30bl math/big.alias
0028ea34strb w0, [sp+87]
0028ea38tbnz w0, 0, 0x28ea40
0028ea3cb 0x28ea44
0028ea40
0028ea40loc_28ea40:
0028ea40b 0x28ea88
0028ea44
0028ea44loc_28ea44:
0028ea44ldr x0, [sp+184]
0028ea48ldr x3, [sp+208]
0028ea4cldr x1, [sp+192]
0028ea50ldr x4, [sp+216]
0028ea54ldr x2, [sp+200]
0028ea58ldr x5, [sp+224]
0028ea5cbl math/big.nat.set
0028ea60str x0, [sp+144]
0028ea64str x1, [sp+152]
0028ea68str x2, [sp+160]
0028ea6cstr x0, [sp+120]
0028ea70str x1, [sp+128]
0028ea74str x2, [sp+136]
0028ea78ldur x29, [sp-8]
0028ea7cldr x30, [sp], 176
0028ea80ret x30
0028ea84
0028ea84loc_28ea84:
0028ea84b 0x28ea88
0028ea88
0028ea88loc_28ea88:
0028ea88ldr x4, [sp+216]
0028ea8cstr x4, [sp+96]
0028ea90ldr x5, [sp+232]
0028ea94sub x3, x4, x5, lsr #6
0028ea98str x3, [sp+88]
0028ea9csubs xzr, x3, 0
0028eaa0b.le 0x28eaa8
0028eaa4b 0x28eae0
0028eaa8
0028eaa8loc_28eaa8:
0028eaa8ldr x0, [sp+184]
0028eaacldr x2, [sp+200]
0028eab0b 0x28eab4
0028eab4
0028eab4loc_28eab4:
0028eab4b 0x28eab8
0028eab8
0028eab8loc_28eab8:
0028eab8str x0, [sp+144]
0028eabcstr xzr, [sp+152]
0028eac0str x2, [sp+160]
0028eac4str x0, [sp+120]
0028eac8str xzr, [sp+128]
0028eaccstr x2, [sp+136]
0028ead0mov x1, xzr
0028ead4ldur x29, [sp-8]
0028ead8ldr x30, [sp], 176
0028eadcret x30
0028eae0
0028eae0loc_28eae0:
0028eae0ldr x0, [sp+184]
0028eae4ldr x1, [sp+192]
0028eae8ldr x2, [sp+200]
0028eaecbl math/big.nat.make
0028eaf0str x0, [sp+184]
0028eaf4str x1, [sp+192]
0028eaf8str x2, [sp+200]
0028eafcldr x4, [sp+88]
0028eb00ldr x5, [sp+96]
0028eb04sub x0, x5, x4
0028eb08str x0, [sp+112]
0028eb0cldr x1, [sp+216]
0028eb10ldr x6, [sp+208]
0028eb14ldr x7, [sp+224]
0028eb18b 0x28eb1c
0028eb1c
0028eb1cloc_28eb1c:
0028eb1csubs xzr, x1, x0
0028eb20b.hs 0x28eb28
0028eb24b 0x28ebc0
0028eb28
0028eb28loc_28eb28:
0028eb28add x2, x7, x4
0028eb2csub x2, x2, x5
0028eb30add x1, x1, x4
0028eb34sub x1, x1, x5
0028eb38sub x3, xzr, x2
0028eb3cubfm x0, x0, 61, 60
0028eb40and x0, x0, x3, asr #63
0028eb44add x0, x6, x0
0028eb48str x0, [sp+144]
0028eb4cstr x1, [sp+152]
0028eb50str x2, [sp+160]
0028eb54ldr x3, [sp+232]
0028eb58and x3, x3, 63
0028eb5cstr x3, [sp+104]
0028eb60ldr x4, [sp+184]
0028eb64ldr x5, [sp+192]
0028eb68ldr x6, [sp+200]
0028eb6cstr x4, [sp+8]
0028eb70str x5, [sp+16]
0028eb74str x6, [sp+24]
0028eb78str x0, [sp+32]
0028eb7cstr x1, [sp+40]
0028eb80str x2, [sp+48]
0028eb84str x3, [sp+56]
0028eb88bl math/big.shrVU.abi0
0028eb8cldr x0, [sp+184]
0028eb90ldr x1, [sp+192]
0028eb94ldr x2, [sp+200]
0028eb98bl math/big.nat.norm
0028eb9cstr x0, [sp+144]
0028eba0str x1, [sp+152]
0028eba4str x2, [sp+160]
0028eba8str x0, [sp+120]
0028ebacstr x1, [sp+128]
0028ebb0str x2, [sp+136]
0028ebb4ldur x29, [sp-8]
0028ebb8ldr x30, [sp], 176
0028ebbcret x30
0028ebc0
0028ebc0loc_28ebc0:
0028ebc0bl runtime.panicSliceB
0028ebc4hint
0028ebc8
0028ebc8loc_28ebc8:
0028ebc8stp x0, x1, [sp+8]
0028ebccstp x2, x3, [sp+24]
0028ebd0stp x4, x5, [sp+40]
0028ebd4str x6, [sp+56]
0028ebd8mov x3, x30
0028ebdcbl runtime.morestack_noctxt.abi0
0028ebe0ldp x0, x1, [sp+8]
0028ebe4ldp x2, x3, [sp+24]
0028ebe8ldp x4, x5, [sp+40]
0028ebecldr x6, [sp+56]
0028ebf0b 0x28e980
0028ebf4udf 0
0028ebf8udf 0
0028ebfcudf 0
0028e980
0028e980math/big.nat.shr: ; void math/big.nat.shr(math/big.nat z, math/big.nat x, uint s)
0028e980ldr x16, [x28+16]
0028e984sub x17, sp, 48
0028e988subs xzr, x17, x16
0028e98cb.ls 0x28ebc8
0028e990str x30, [sp-176]!
0028e994stur x29, [sp-8]
0028e998sub x29, sp, 8
0028e99cstr x0, [sp+184]
0028e9a0str x1, [sp+192]
0028e9a4str x2, [sp+200]
0028e9a8str x3, [sp+208]
0028e9acstr x4, [sp+216]
0028e9b0str x5, [sp+224]
0028e9b4str x6, [sp+232]
0028e9b8str xzr, [sp+120]
0028e9bcstp xzr, xzr, [sp+128]
0028e9c0ldr x6, [sp+232]
0028e9c4cbz x6, 0x28e9cc
0028e9c8b 0x28ea84
0028e9cc
0028e9ccloc_28e9cc:
0028e9ccldr x0, [sp+184]
0028e9d0ldr x3, [sp+208]
0028e9d4ldr x1, [sp+192]
0028e9d8ldr x4, [sp+216]
0028e9dcldr x2, [sp+200]
0028e9e0ldr x5, [sp+224]
0028e9e4bl math/big.same
0028e9e8strb w0, [sp+87]
0028e9ectbnz w0, 0, 0x28e9f4
0028e9f0b 0x28ea18
0028e9f4
0028e9f4loc_28e9f4:
0028e9f4ldr x0, [sp+184]
0028e9f8ldr x1, [sp+192]
0028e9fcldr x2, [sp+200]
0028ea00str x0, [sp+120]
0028ea04str x1, [sp+128]
0028ea08str x2, [sp+136]
0028ea0cldur x29, [sp-8]
0028ea10ldr x30, [sp], 176
0028ea14ret x30
0028ea18
0028ea18loc_28ea18:
0028ea18ldr x0, [sp+184]
0028ea1cldr x3, [sp+208]
0028ea20ldr x1, [sp+192]
0028ea24ldr x4, [sp+216]
0028ea28ldr x2, [sp+200]
0028ea2cldr x5, [sp+224]
0028ea30bl math/big.alias
0028ea34strb w0, [sp+87]
0028ea38tbnz w0, 0, 0x28ea40
0028ea3cb 0x28ea44
0028ea40
0028ea40loc_28ea40:
0028ea40b 0x28ea88
0028ea44
0028ea44loc_28ea44:
0028ea44ldr x0, [sp+184]
0028ea48ldr x3, [sp+208]
0028ea4cldr x1, [sp+192]
0028ea50ldr x4, [sp+216]
0028ea54ldr x2, [sp+200]
0028ea58ldr x5, [sp+224]
0028ea5cbl math/big.nat.set
0028ea60str x0, [sp+144]
0028ea64str x1, [sp+152]
0028ea68str x2, [sp+160]
0028ea6cstr x0, [sp+120]
0028ea70str x1, [sp+128]
0028ea74str x2, [sp+136]
0028ea78ldur x29, [sp-8]
0028ea7cldr x30, [sp], 176
0028ea80ret x30
0028ea84
0028ea84loc_28ea84:
0028ea84b 0x28ea88
0028ea88
0028ea88loc_28ea88:
0028ea88ldr x4, [sp+216]
0028ea8cstr x4, [sp+96]
0028ea90ldr x5, [sp+232]
0028ea94sub x3, x4, x5, lsr #6
0028ea98str x3, [sp+88]
0028ea9csubs xzr, x3, 0
0028eaa0b.le 0x28eaa8
0028eaa4b 0x28eae0
0028eaa8
0028eaa8loc_28eaa8:
0028eaa8ldr x0, [sp+184]
0028eaacldr x2, [sp+200]
0028eab0b 0x28eab4
0028eab4
0028eab4loc_28eab4:
0028eab4b 0x28eab8
0028eab8
0028eab8loc_28eab8:
0028eab8str x0, [sp+144]
0028eabcstr xzr, [sp+152]
0028eac0str x2, [sp+160]
0028eac4str x0, [sp+120]
0028eac8str xzr, [sp+128]
0028eaccstr x2, [sp+136]
0028ead0mov x1, xzr
0028ead4ldur x29, [sp-8]
0028ead8ldr x30, [sp], 176
0028eadcret x30
0028eae0
0028eae0loc_28eae0:
0028eae0ldr x0, [sp+184]
0028eae4ldr x1, [sp+192]
0028eae8ldr x2, [sp+200]
0028eaecbl math/big.nat.make
0028eaf0str x0, [sp+184]
0028eaf4str x1, [sp+192]
0028eaf8str x2, [sp+200]
0028eafcldr x4, [sp+88]
0028eb00ldr x5, [sp+96]
0028eb04sub x0, x5, x4
0028eb08str x0, [sp+112]
0028eb0cldr x1, [sp+216]
0028eb10ldr x6, [sp+208]
0028eb14ldr x7, [sp+224]
0028eb18b 0x28eb1c
0028eb1c
0028eb1cloc_28eb1c:
0028eb1csubs xzr, x1, x0
0028eb20b.hs 0x28eb28
0028eb24b 0x28ebc0
0028eb28
0028eb28loc_28eb28:
0028eb28add x2, x7, x4
0028eb2csub x2, x2, x5
0028eb30add x1, x1, x4
0028eb34sub x1, x1, x5
0028eb38sub x3, xzr, x2
0028eb3cubfm x0, x0, 61, 60
0028eb40and x0, x0, x3, asr #63
0028eb44add x0, x6, x0
0028eb48str x0, [sp+144]
0028eb4cstr x1, [sp+152]
0028eb50str x2, [sp+160]
0028eb54ldr x3, [sp+232]
0028eb58and x3, x3, 63
0028eb5cstr x3, [sp+104]
0028eb60ldr x4, [sp+184]
0028eb64ldr x5, [sp+192]
0028eb68ldr x6, [sp+200]
0028eb6cstr x4, [sp+8]
0028eb70str x5, [sp+16]
0028eb74str x6, [sp+24]
0028eb78str x0, [sp+32]
0028eb7cstr x1, [sp+40]
0028eb80str x2, [sp+48]
0028eb84str x3, [sp+56]
0028eb88bl math/big.shrVU.abi0
0028eb8cldr x0, [sp+184]
0028eb90ldr x1, [sp+192]
0028eb94ldr x2, [sp+200]
0028eb98bl math/big.nat.norm
0028eb9cstr x0, [sp+144]
0028eba0str x1, [sp+152]
0028eba4str x2, [sp+160]
0028eba8str x0, [sp+120]
0028ebacstr x1, [sp+128]
0028ebb0str x2, [sp+136]
0028ebb4ldur x29, [sp-8]
0028ebb8ldr x30, [sp], 176
0028ebbcret x30
0028ebc0
0028ebc0loc_28ebc0:
0028ebc0bl runtime.panicSliceB
0028ebc4hint
0028ebc8
0028ebc8loc_28ebc8:
0028ebc8stp x0, x1, [sp+8]
0028ebccstp x2, x3, [sp+24]
0028ebd0stp x4, x5, [sp+40]
0028ebd4str x6, [sp+56]
0028ebd8mov x3, x30
0028ebdcbl runtime.morestack_noctxt.abi0
0028ebe0ldp x0, x1, [sp+8]
0028ebe4ldp x2, x3, [sp+24]
0028ebe8ldp x4, x5, [sp+40]
0028ebecldr x6, [sp+56]
0028ebf0b 0x28e980
0028ebf4udf 0
0028ebf8udf 0
0028ebfcudf 0
0028e980
0028ec00
0028ec00math/big.nat.and: ; void math/big.nat.and(math/big.nat z, math/big.nat x, math/big.nat y)
0028ec00ldr x16, [x28+16]
0028ec04subs xzr, sp, x16
0028ec08b.ls 0x28ed5c
0028ec0cstr x30, [sp-128]!
0028ec10stur x29, [sp-8]
0028ec14sub x29, sp, 8
0028ec18str x0, [sp+136]
0028ec1cstr x1, [sp+144]
0028ec20str x2, [sp+152]
0028ec24str x3, [sp+160]
0028ec28str x4, [sp+168]
0028ec2cstr x5, [sp+176]
0028ec30str x6, [sp+184]
0028ec34str x7, [sp+192]
0028ec38str x8, [sp+200]
0028ec3cstr xzr, [sp+72]
0028ec40stp xzr, xzr, [sp+80]
0028ec44ldr x4, [sp+168]
0028ec48str x4, [sp+56]
0028ec4cldr x5, [sp+192]
0028ec50str x5, [sp+48]
0028ec54subs xzr, x5, x4
0028ec58b.lt 0x28ec60
0028ec5cb 0x28ec68
0028ec60
0028ec60loc_28ec60:
0028ec60str x5, [sp+56]
0028ec64b 0x28ec6c
0028ec68
0028ec68loc_28ec68:
0028ec68b 0x28ec6c
0028ec6c
0028ec6cloc_28ec6c:
0028ec6cldr x3, [sp+56]
0028ec70ldr x0, [sp+136]
0028ec74ldr x1, [sp+144]
0028ec78ldr x2, [sp+152]
0028ec7cbl math/big.nat.make
0028ec80str x0, [sp+136]
0028ec84str x1, [sp+144]
0028ec88str x2, [sp+152]
0028ec8cstr xzr, [sp+64]
0028ec90b 0x28ec94
0028ec94
0028ec94loc_28ec94:
0028ec94ldr x3, [sp+56]
0028ec98ldr x4, [sp+64]
0028ec9csubs xzr, x3, x4
0028eca0b.gt 0x28eca8
0028eca4b 0x28ed14
0028eca8
0028eca8loc_28eca8:
0028eca8ldr x0, [sp+64]
0028ecacldr x1, [sp+168]
0028ecb0ldr x3, [sp+160]
0028ecb4subs xzr, x1, x0
0028ecb8b.hi 0x28ecc0
0028ecbcb 0x28ed54
0028ecc0
0028ecc0loc_28ecc0:
0028ecc0ldr x3, [x3+3*x0]
0028ecc4ldr x0, [sp+64]
0028ecc8ldr x1, [sp+192]
0028ecccldr x4, [sp+184]
0028ecd0subs xzr, x1, x0
0028ecd4b.hi 0x28ecdc
0028ecd8b 0x28ed50
0028ecdc
0028ecdcloc_28ecdc:
0028ecdcldr x5, [sp+64]
0028ece0ldr x1, [sp+144]
0028ece4ldr x6, [sp+136]
0028ece8ldr x4, [x4+3*x0]
0028ececand x3, x3, x4
0028ecf0subs xzr, x1, x5
0028ecf4b.hi 0x28ecfc
0028ecf8b 0x28ed48
0028ecfc
0028ecfcloc_28ecfc:
0028ecfcstr x3, [x6+3*x5]
0028ed00b 0x28ed04
0028ed04
0028ed04loc_28ed04:
0028ed04ldr x3, [sp+64]
0028ed08add x3, x3, 1
0028ed0cstr x3, [sp+64]
0028ed10b 0x28ec94
0028ed14
0028ed14loc_28ed14:
0028ed14ldr x0, [sp+136]
0028ed18ldr x1, [sp+144]
0028ed1cldr x2, [sp+152]
0028ed20bl math/big.nat.norm
0028ed24str x0, [sp+96]
0028ed28str x1, [sp+104]
0028ed2cstr x2, [sp+112]
0028ed30str x0, [sp+72]
0028ed34str x1, [sp+80]
0028ed38str x2, [sp+88]
0028ed3cldur x29, [sp-8]
0028ed40ldr x30, [sp], 128
0028ed44ret x30
0028ed48
0028ed48loc_28ed48:
0028ed48mov x0, x5
0028ed4cbl runtime.panicIndex
0028ed50
0028ed50loc_28ed50:
0028ed50bl runtime.panicIndex
0028ed54
0028ed54loc_28ed54:
0028ed54bl runtime.panicIndex
0028ed58hint
0028ed5c
0028ed5cloc_28ed5c:
0028ed5cstp x0, x1, [sp+8]
0028ed60stp x2, x3, [sp+24]
0028ed64stp x4, x5, [sp+40]
0028ed68stp x6, x7, [sp+56]
0028ed6cstr x8, [sp+72]
0028ed70mov x3, x30
0028ed74bl runtime.morestack_noctxt.abi0
0028ed78ldp x0, x1, [sp+8]
0028ed7cldp x2, x3, [sp+24]
0028ed80ldp x4, x5, [sp+40]
0028ed84ldp x6, x7, [sp+56]
0028ed88ldr x8, [sp+72]
0028ed8cb 0x28ec00
0028ec00
0028ec00math/big.nat.and: ; void math/big.nat.and(math/big.nat z, math/big.nat x, math/big.nat y)
0028ec00ldr x16, [x28+16]
0028ec04subs xzr, sp, x16
0028ec08b.ls 0x28ed5c
0028ec0cstr x30, [sp-128]!
0028ec10stur x29, [sp-8]
0028ec14sub x29, sp, 8
0028ec18str x0, [sp+136]
0028ec1cstr x1, [sp+144]
0028ec20str x2, [sp+152]
0028ec24str x3, [sp+160]
0028ec28str x4, [sp+168]
0028ec2cstr x5, [sp+176]
0028ec30str x6, [sp+184]
0028ec34str x7, [sp+192]
0028ec38str x8, [sp+200]
0028ec3cstr xzr, [sp+72]
0028ec40stp xzr, xzr, [sp+80]
0028ec44ldr x4, [sp+168]
0028ec48str x4, [sp+56]
0028ec4cldr x5, [sp+192]
0028ec50str x5, [sp+48]
0028ec54subs xzr, x5, x4
0028ec58b.lt 0x28ec60
0028ec5cb 0x28ec68
0028ec60
0028ec60loc_28ec60:
0028ec60str x5, [sp+56]
0028ec64b 0x28ec6c
0028ec68
0028ec68loc_28ec68:
0028ec68b 0x28ec6c
0028ec6c
0028ec6cloc_28ec6c:
0028ec6cldr x3, [sp+56]
0028ec70ldr x0, [sp+136]
0028ec74ldr x1, [sp+144]
0028ec78ldr x2, [sp+152]
0028ec7cbl math/big.nat.make
0028ec80str x0, [sp+136]
0028ec84str x1, [sp+144]
0028ec88str x2, [sp+152]
0028ec8cstr xzr, [sp+64]
0028ec90b 0x28ec94
0028ec94
0028ec94loc_28ec94:
0028ec94ldr x3, [sp+56]
0028ec98ldr x4, [sp+64]
0028ec9csubs xzr, x3, x4
0028eca0b.gt 0x28eca8
0028eca4b 0x28ed14
0028eca8
0028eca8loc_28eca8:
0028eca8ldr x0, [sp+64]
0028ecacldr x1, [sp+168]
0028ecb0ldr x3, [sp+160]
0028ecb4subs xzr, x1, x0
0028ecb8b.hi 0x28ecc0
0028ecbcb 0x28ed54
0028ecc0
0028ecc0loc_28ecc0:
0028ecc0ldr x3, [x3+3*x0]
0028ecc4ldr x0, [sp+64]
0028ecc8ldr x1, [sp+192]
0028ecccldr x4, [sp+184]
0028ecd0subs xzr, x1, x0
0028ecd4b.hi 0x28ecdc
0028ecd8b 0x28ed50
0028ecdc
0028ecdcloc_28ecdc:
0028ecdcldr x5, [sp+64]
0028ece0ldr x1, [sp+144]
0028ece4ldr x6, [sp+136]
0028ece8ldr x4, [x4+3*x0]
0028ececand x3, x3, x4
0028ecf0subs xzr, x1, x5
0028ecf4b.hi 0x28ecfc
0028ecf8b 0x28ed48
0028ecfc
0028ecfcloc_28ecfc:
0028ecfcstr x3, [x6+3*x5]
0028ed00b 0x28ed04
0028ed04
0028ed04loc_28ed04:
0028ed04ldr x3, [sp+64]
0028ed08add x3, x3, 1
0028ed0cstr x3, [sp+64]
0028ed10b 0x28ec94
0028ed14
0028ed14loc_28ed14:
0028ed14ldr x0, [sp+136]
0028ed18ldr x1, [sp+144]
0028ed1cldr x2, [sp+152]
0028ed20bl math/big.nat.norm
0028ed24str x0, [sp+96]
0028ed28str x1, [sp+104]
0028ed2cstr x2, [sp+112]
0028ed30str x0, [sp+72]
0028ed34str x1, [sp+80]
0028ed38str x2, [sp+88]
0028ed3cldur x29, [sp-8]
0028ed40ldr x30, [sp], 128
0028ed44ret x30
0028ed48
0028ed48loc_28ed48:
0028ed48mov x0, x5
0028ed4cbl runtime.panicIndex
0028ed50
0028ed50loc_28ed50:
0028ed50bl runtime.panicIndex
0028ed54
0028ed54loc_28ed54:
0028ed54bl runtime.panicIndex
0028ed58hint
0028ed5c
0028ed5cloc_28ed5c:
0028ed5cstp x0, x1, [sp+8]
0028ed60stp x2, x3, [sp+24]
0028ed64stp x4, x5, [sp+40]
0028ed68stp x6, x7, [sp+56]
0028ed6cstr x8, [sp+72]
0028ed70mov x3, x30
0028ed74bl runtime.morestack_noctxt.abi0
0028ed78ldp x0, x1, [sp+8]
0028ed7cldp x2, x3, [sp+24]
0028ed80ldp x4, x5, [sp+40]
0028ed84ldp x6, x7, [sp+56]
0028ed88ldr x8, [sp+72]
0028ed8cb 0x28ec00
0028ec00
0028ed90
0028ed90math/big.nat.trunc: ; void math/big.nat.trunc(math/big.nat z, math/big.nat x, uint n)
0028ed90ldr x16, [x28+16]
0028ed94sub x17, sp, 80
0028ed98subs xzr, x17, x16
0028ed9cb.ls 0x28ef78
0028eda0str x30, [sp-208]!
0028eda4stur x29, [sp-8]
0028eda8sub x29, sp, 8
0028edacstr x0, [sp+216]
0028edb0str x1, [sp+224]
0028edb4str x2, [sp+232]
0028edb8str x3, [sp+240]
0028edbcstr x4, [sp+248]
0028edc0str x5, [sp+256]
0028edc4str x6, [sp+264]
0028edc8str xzr, [sp+104]
0028edccstp xzr, xzr, [sp+112]
0028edd0ldr x6, [sp+264]
0028edd4add x6, x6, 63
0028edd8ubfm x3, x6, 6, 63
0028eddcstr x3, [sp+64]
0028ede0ldr x7, [sp+248]
0028ede4str x7, [sp+80]
0028ede8subs xzr, x7, x6, lsr #6
0028edecb.lo 0x28edf4
0028edf0b 0x28ee34
0028edf4
0028edf4loc_28edf4:
0028edf4ldr x0, [sp+216]
0028edf8ldr x3, [sp+240]
0028edfcldr x1, [sp+224]
0028ee00ldr x4, [sp+248]
0028ee04ldr x2, [sp+232]
0028ee08ldr x5, [sp+256]
0028ee0cbl math/big.nat.set
0028ee10str x0, [sp+176]
0028ee14str x1, [sp+184]
0028ee18str x2, [sp+192]
0028ee1cstr x0, [sp+104]
0028ee20str x1, [sp+112]
0028ee24str x2, [sp+120]
0028ee28ldur x29, [sp-8]
0028ee2cldr x30, [sp], 208
0028ee30ret x30
0028ee34
0028ee34loc_28ee34:
0028ee34ldr x0, [sp+216]
0028ee38ldr x1, [sp+224]
0028ee3cldr x2, [sp+232]
0028ee40bl math/big.nat.make
0028ee44str x0, [sp+216]
0028ee48str x1, [sp+224]
0028ee4cstr x2, [sp+232]
0028ee50str x0, [sp+152]
0028ee54str x1, [sp+160]
0028ee58str x2, [sp+168]
0028ee5cldr x4, [sp+248]
0028ee60ldr x5, [sp+240]
0028ee64ldr x6, [sp+256]
0028ee68str x5, [sp+128]
0028ee6cstr x4, [sp+136]
0028ee70str x6, [sp+144]
0028ee74ldr x5, [sp+160]
0028ee78str x5, [sp+72]
0028ee7csubs xzr, x5, x4
0028ee80b.gt 0x28ee88
0028ee84b 0x28ee90
0028ee88
0028ee88loc_28ee88:
0028ee88str x4, [sp+72]
0028ee8cb 0x28ee94
0028ee90
0028ee90loc_28ee90:
0028ee90b 0x28ee94
0028ee94
0028ee94loc_28ee94:
0028ee94ldr x3, [sp+128]
0028ee98ldr x4, [sp+152]
0028ee9csubs xzr, x3, x4
0028eea0b.ne 0x28eea8
0028eea4b 0x28eec8
0028eea8
0028eea8loc_28eea8:
0028eea8ldr x3, [sp+72]
0028eeacstr x3, [sp+96]
0028eeb0ldr x3, [sp+96]
0028eeb4ubfm x2, x3, 61, 60
0028eeb8ldr x1, [sp+128]
0028eebcldr x0, [sp+152]
0028eec0bl runtime.memmove
0028eec4b 0x28eecc
0028eec8
0028eec8loc_28eec8:
0028eec8b 0x28eecc
0028eecc
0028eeccloc_28eecc:
0028eeccldr x3, [sp+264]
0028eed0ands xzr, x3, 63
0028eed4b.ne 0x28eedc
0028eed8b 0x28ef34
0028eedc
0028eedcloc_28eedc:
0028eedcldr x3, [sp+224]
0028eee0str x3, [sp+80]
0028eee4sub x0, x3, 1
0028eee8str x0, [sp+88]
0028eeecldr x1, [sp+224]
0028eef0ldr x3, [sp+216]
0028eef4subs xzr, x1, x0
0028eef8b.hi 0x28ef00
0028eefcb 0x28ef70
0028ef00
0028ef00loc_28ef00:
0028ef00ldr x3, [x3+3*x0]
0028ef04ldr x1, [sp+224]
0028ef08ldr x4, [sp+216]
0028ef0cldr x5, [sp+264]
0028ef10orr x6, xzr, 1
0028ef14lslv x5, x6, x5
0028ef18sub x5, x5, 1
0028ef1cand x3, x3, x5
0028ef20subs xzr, x1, x0
0028ef24b.hi 0x28ef2c
0028ef28b 0x28ef6c
0028ef2c
0028ef2cloc_28ef2c:
0028ef2cstr x3, [x4+3*x0]
0028ef30b 0x28ef38
0028ef34
0028ef34loc_28ef34:
0028ef34b 0x28ef38
0028ef38
0028ef38loc_28ef38:
0028ef38ldr x0, [sp+216]
0028ef3cldr x1, [sp+224]
0028ef40ldr x2, [sp+232]
0028ef44bl math/big.nat.norm
0028ef48str x0, [sp+176]
0028ef4cstr x1, [sp+184]
0028ef50str x2, [sp+192]
0028ef54str x0, [sp+104]
0028ef58str x1, [sp+112]
0028ef5cstr x2, [sp+120]
0028ef60ldur x29, [sp-8]
0028ef64ldr x30, [sp], 208
0028ef68ret x30
0028ef6c
0028ef6cloc_28ef6c:
0028ef6cbl runtime.panicIndex
0028ef70
0028ef70loc_28ef70:
0028ef70bl runtime.panicIndex
0028ef74hint
0028ef78
0028ef78loc_28ef78:
0028ef78stp x0, x1, [sp+8]
0028ef7cstp x2, x3, [sp+24]
0028ef80stp x4, x5, [sp+40]
0028ef84str x6, [sp+56]
0028ef88mov x3, x30
0028ef8cbl runtime.morestack_noctxt.abi0
0028ef90ldp x0, x1, [sp+8]
0028ef94ldp x2, x3, [sp+24]
0028ef98ldp x4, x5, [sp+40]
0028ef9cldr x6, [sp+56]
0028efa0b 0x28ed90
0028efa4udf 0
0028efa8udf 0
0028efacudf 0
0028ed90
0028ed90math/big.nat.trunc: ; void math/big.nat.trunc(math/big.nat z, math/big.nat x, uint n)
0028ed90ldr x16, [x28+16]
0028ed94sub x17, sp, 80
0028ed98subs xzr, x17, x16
0028ed9cb.ls 0x28ef78
0028eda0str x30, [sp-208]!
0028eda4stur x29, [sp-8]
0028eda8sub x29, sp, 8
0028edacstr x0, [sp+216]
0028edb0str x1, [sp+224]
0028edb4str x2, [sp+232]
0028edb8str x3, [sp+240]
0028edbcstr x4, [sp+248]
0028edc0str x5, [sp+256]
0028edc4str x6, [sp+264]
0028edc8str xzr, [sp+104]
0028edccstp xzr, xzr, [sp+112]
0028edd0ldr x6, [sp+264]
0028edd4add x6, x6, 63
0028edd8ubfm x3, x6, 6, 63
0028eddcstr x3, [sp+64]
0028ede0ldr x7, [sp+248]
0028ede4str x7, [sp+80]
0028ede8subs xzr, x7, x6, lsr #6
0028edecb.lo 0x28edf4
0028edf0b 0x28ee34
0028edf4
0028edf4loc_28edf4:
0028edf4ldr x0, [sp+216]
0028edf8ldr x3, [sp+240]
0028edfcldr x1, [sp+224]
0028ee00ldr x4, [sp+248]
0028ee04ldr x2, [sp+232]
0028ee08ldr x5, [sp+256]
0028ee0cbl math/big.nat.set
0028ee10str x0, [sp+176]
0028ee14str x1, [sp+184]
0028ee18str x2, [sp+192]
0028ee1cstr x0, [sp+104]
0028ee20str x1, [sp+112]
0028ee24str x2, [sp+120]
0028ee28ldur x29, [sp-8]
0028ee2cldr x30, [sp], 208
0028ee30ret x30
0028ee34
0028ee34loc_28ee34:
0028ee34ldr x0, [sp+216]
0028ee38ldr x1, [sp+224]
0028ee3cldr x2, [sp+232]
0028ee40bl math/big.nat.make
0028ee44str x0, [sp+216]
0028ee48str x1, [sp+224]
0028ee4cstr x2, [sp+232]
0028ee50str x0, [sp+152]
0028ee54str x1, [sp+160]
0028ee58str x2, [sp+168]
0028ee5cldr x4, [sp+248]
0028ee60ldr x5, [sp+240]
0028ee64ldr x6, [sp+256]
0028ee68str x5, [sp+128]
0028ee6cstr x4, [sp+136]
0028ee70str x6, [sp+144]
0028ee74ldr x5, [sp+160]
0028ee78str x5, [sp+72]
0028ee7csubs xzr, x5, x4
0028ee80b.gt 0x28ee88
0028ee84b 0x28ee90
0028ee88
0028ee88loc_28ee88:
0028ee88str x4, [sp+72]
0028ee8cb 0x28ee94
0028ee90
0028ee90loc_28ee90:
0028ee90b 0x28ee94
0028ee94
0028ee94loc_28ee94:
0028ee94ldr x3, [sp+128]
0028ee98ldr x4, [sp+152]
0028ee9csubs xzr, x3, x4
0028eea0b.ne 0x28eea8
0028eea4b 0x28eec8
0028eea8
0028eea8loc_28eea8:
0028eea8ldr x3, [sp+72]
0028eeacstr x3, [sp+96]
0028eeb0ldr x3, [sp+96]
0028eeb4ubfm x2, x3, 61, 60
0028eeb8ldr x1, [sp+128]
0028eebcldr x0, [sp+152]
0028eec0bl runtime.memmove
0028eec4b 0x28eecc
0028eec8
0028eec8loc_28eec8:
0028eec8b 0x28eecc
0028eecc
0028eeccloc_28eecc:
0028eeccldr x3, [sp+264]
0028eed0ands xzr, x3, 63
0028eed4b.ne 0x28eedc
0028eed8b 0x28ef34
0028eedc
0028eedcloc_28eedc:
0028eedcldr x3, [sp+224]
0028eee0str x3, [sp+80]
0028eee4sub x0, x3, 1
0028eee8str x0, [sp+88]
0028eeecldr x1, [sp+224]
0028eef0ldr x3, [sp+216]
0028eef4subs xzr, x1, x0
0028eef8b.hi 0x28ef00
0028eefcb 0x28ef70
0028ef00
0028ef00loc_28ef00:
0028ef00ldr x3, [x3+3*x0]
0028ef04ldr x1, [sp+224]
0028ef08ldr x4, [sp+216]
0028ef0cldr x5, [sp+264]
0028ef10orr x6, xzr, 1
0028ef14lslv x5, x6, x5
0028ef18sub x5, x5, 1
0028ef1cand x3, x3, x5
0028ef20subs xzr, x1, x0
0028ef24b.hi 0x28ef2c
0028ef28b 0x28ef6c
0028ef2c
0028ef2cloc_28ef2c:
0028ef2cstr x3, [x4+3*x0]
0028ef30b 0x28ef38
0028ef34
0028ef34loc_28ef34:
0028ef34b 0x28ef38
0028ef38
0028ef38loc_28ef38:
0028ef38ldr x0, [sp+216]
0028ef3cldr x1, [sp+224]
0028ef40ldr x2, [sp+232]
0028ef44bl math/big.nat.norm
0028ef48str x0, [sp+176]
0028ef4cstr x1, [sp+184]
0028ef50str x2, [sp+192]
0028ef54str x0, [sp+104]
0028ef58str x1, [sp+112]
0028ef5cstr x2, [sp+120]
0028ef60ldur x29, [sp-8]
0028ef64ldr x30, [sp], 208
0028ef68ret x30
0028ef6c
0028ef6cloc_28ef6c:
0028ef6cbl runtime.panicIndex
0028ef70
0028ef70loc_28ef70:
0028ef70bl runtime.panicIndex
0028ef74hint
0028ef78
0028ef78loc_28ef78:
0028ef78stp x0, x1, [sp+8]
0028ef7cstp x2, x3, [sp+24]
0028ef80stp x4, x5, [sp+40]
0028ef84str x6, [sp+56]
0028ef88mov x3, x30
0028ef8cbl runtime.morestack_noctxt.abi0
0028ef90ldp x0, x1, [sp+8]
0028ef94ldp x2, x3, [sp+24]
0028ef98ldp x4, x5, [sp+40]
0028ef9cldr x6, [sp+56]
0028efa0b 0x28ed90
0028efa4udf 0
0028efa8udf 0
0028efacudf 0
0028ed90
0028efb0
0028efb0math/big.nat.andNot: ; void math/big.nat.andNot(math/big.nat z, math/big.nat x, math/big.nat y)
0028efb0ldr x16, [x28+16]
0028efb4sub x17, sp, 80
0028efb8subs xzr, x17, x16
0028efbcb.ls 0x28f240
0028efc0str x30, [sp-208]!
0028efc4stur x29, [sp-8]
0028efc8sub x29, sp, 8
0028efccstr x0, [sp+216]
0028efd0str x1, [sp+224]
0028efd4str x2, [sp+232]
0028efd8str x3, [sp+240]
0028efdcstr x4, [sp+248]
0028efe0str x5, [sp+256]
0028efe4str x6, [sp+264]
0028efe8str x7, [sp+272]
0028efecstr x8, [sp+280]
0028eff0str xzr, [sp+80]
0028eff4stp xzr, xzr, [sp+88]
0028eff8ldr x4, [sp+248]
0028effcstr x4, [sp+48]
0028f000ldr x5, [sp+272]
0028f004str x5, [sp+40]
0028f008subs xzr, x5, x4
0028f00cb.gt 0x28f014
0028f010b 0x28f01c
0028f014
0028f014loc_28f014:
0028f014str x4, [sp+40]
0028f018b 0x28f020
0028f01c
0028f01cloc_28f01c:
0028f01cb 0x28f020
0028f020
0028f020loc_28f020:
0028f020ldr x3, [sp+48]
0028f024ldr x0, [sp+216]
0028f028ldr x1, [sp+224]
0028f02cldr x2, [sp+232]
0028f030bl math/big.nat.make
0028f034str x0, [sp+216]
0028f038str x1, [sp+224]
0028f03cstr x2, [sp+232]
0028f040str xzr, [sp+56]
0028f044b 0x28f048
0028f048
0028f048loc_28f048:
0028f048ldr x3, [sp+40]
0028f04cldr x4, [sp+56]
0028f050subs xzr, x3, x4
0028f054b.gt 0x28f05c
0028f058b 0x28f0c8
0028f05c
0028f05cloc_28f05c:
0028f05cldr x0, [sp+56]
0028f060ldr x1, [sp+248]
0028f064ldr x3, [sp+240]
0028f068subs xzr, x1, x0
0028f06cb.hi 0x28f074
0028f070b 0x28f238
0028f074
0028f074loc_28f074:
0028f074ldr x3, [x3+3*x0]
0028f078ldr x0, [sp+56]
0028f07cldr x1, [sp+272]
0028f080ldr x4, [sp+264]
0028f084subs xzr, x1, x0
0028f088b.hi 0x28f090
0028f08cb 0x28f234
0028f090
0028f090loc_28f090:
0028f090ldr x5, [sp+56]
0028f094ldr x1, [sp+224]
0028f098ldr x6, [sp+216]
0028f09cldr x4, [x4+3*x0]
0028f0a0bic x3, x3, x4
0028f0a4subs xzr, x1, x5
0028f0a8b.hi 0x28f0b0
0028f0acb 0x28f22c
0028f0b0
0028f0b0loc_28f0b0:
0028f0b0str x3, [x6+3*x5]
0028f0b4b 0x28f0b8
0028f0b8
0028f0b8loc_28f0b8:
0028f0b8ldr x3, [sp+56]
0028f0bcadd x3, x3, 1
0028f0c0str x3, [sp+56]
0028f0c4b 0x28f048
0028f0c8
0028f0c8loc_28f0c8:
0028f0c8ldr x1, [sp+48]
0028f0ccldr x0, [sp+40]
0028f0d0ldr x2, [sp+232]
0028f0d4ldr x3, [sp+216]
0028f0d8subs xzr, x2, x1
0028f0dcb.hs 0x28f0e4
0028f0e0b 0x28f228
0028f0e4
0028f0e4loc_28f0e4:
0028f0e4subs xzr, x1, x0
0028f0e8b.hs 0x28f0f0
0028f0ecb 0x28f224
0028f0f0
0028f0f0loc_28f0f0:
0028f0f0sub x4, x2, x0
0028f0f4sub x5, x1, x0
0028f0f8sub x6, xzr, x4
0028f0fcubfm x7, x0, 61, 60
0028f100and x6, x7, x6, asr #63
0028f104add x3, x3, x6
0028f108str x3, [sp+152]
0028f10cstr x5, [sp+160]
0028f110str x4, [sp+168]
0028f114ldr x0, [sp+40]
0028f118ldr x1, [sp+48]
0028f11cldr x2, [sp+256]
0028f120ldr x3, [sp+240]
0028f124subs xzr, x2, x1
0028f128b.hs 0x28f130
0028f12cb 0x28f220
0028f130
0028f130loc_28f130:
0028f130subs xzr, x1, x0
0028f134b.hs 0x28f13c
0028f138b 0x28f21c
0028f13c
0028f13cloc_28f13c:
0028f13csub x4, x2, x0
0028f140sub x5, x1, x0
0028f144sub x6, xzr, x4
0028f148ubfm x7, x0, 61, 60
0028f14cand x6, x7, x6, asr #63
0028f150add x3, x3, x6
0028f154str x3, [sp+128]
0028f158str x5, [sp+136]
0028f15cstr x4, [sp+144]
0028f160ldr x3, [sp+152]
0028f164ldr x4, [sp+160]
0028f168ldr x5, [sp+168]
0028f16cstr x3, [sp+104]
0028f170str x4, [sp+112]
0028f174str x5, [sp+120]
0028f178ldr x3, [sp+136]
0028f17cldr x4, [sp+128]
0028f180ldr x5, [sp+144]
0028f184str x4, [sp+176]
0028f188str x3, [sp+184]
0028f18cstr x5, [sp+192]
0028f190ldr x4, [sp+112]
0028f194str x4, [sp+72]
0028f198subs xzr, x4, x3
0028f19cb.gt 0x28f1a4
0028f1a0b 0x28f1ac
0028f1a4
0028f1a4loc_28f1a4:
0028f1a4str x3, [sp+72]
0028f1a8b 0x28f1b0
0028f1ac
0028f1acloc_28f1ac:
0028f1acb 0x28f1b0
0028f1b0
0028f1b0loc_28f1b0:
0028f1b0ldr x3, [sp+176]
0028f1b4ldr x4, [sp+104]
0028f1b8subs xzr, x3, x4
0028f1bcb.ne 0x28f1c4
0028f1c0b 0x28f1e4
0028f1c4
0028f1c4loc_28f1c4:
0028f1c4ldr x3, [sp+72]
0028f1c8str x3, [sp+64]
0028f1ccldr x3, [sp+64]
0028f1d0ubfm x2, x3, 61, 60
0028f1d4ldr x1, [sp+176]
0028f1d8ldr x0, [sp+104]
0028f1dcbl runtime.memmove
0028f1e0b 0x28f1e8
0028f1e4
0028f1e4loc_28f1e4:
0028f1e4b 0x28f1e8
0028f1e8
0028f1e8loc_28f1e8:
0028f1e8ldr x0, [sp+216]
0028f1ecldr x1, [sp+224]
0028f1f0ldr x2, [sp+232]
0028f1f4bl math/big.nat.norm
0028f1f8str x0, [sp+128]
0028f1fcstr x1, [sp+136]
0028f200str x2, [sp+144]
0028f204str x0, [sp+80]
0028f208str x1, [sp+88]
0028f20cstr x2, [sp+96]
0028f210ldur x29, [sp-8]
0028f214ldr x30, [sp], 208
0028f218ret x30
0028f21c
0028f21cloc_28f21c:
0028f21cbl runtime.panicSliceB
0028f220
0028f220loc_28f220:
0028f220bl runtime.panicSliceAcap
0028f224
0028f224loc_28f224:
0028f224bl runtime.panicSliceB
0028f228
0028f228loc_28f228:
0028f228bl runtime.panicSliceAcap
0028f22c
0028f22cloc_28f22c:
0028f22cmov x0, x5
0028f230bl runtime.panicIndex
0028f234
0028f234loc_28f234:
0028f234bl runtime.panicIndex
0028f238
0028f238loc_28f238:
0028f238bl runtime.panicIndex
0028f23chint
0028f240
0028f240loc_28f240:
0028f240stp x0, x1, [sp+8]
0028f244stp x2, x3, [sp+24]
0028f248stp x4, x5, [sp+40]
0028f24cstp x6, x7, [sp+56]
0028f250str x8, [sp+72]
0028f254mov x3, x30
0028f258bl runtime.morestack_noctxt.abi0
0028f25cldp x0, x1, [sp+8]
0028f260ldp x2, x3, [sp+24]
0028f264ldp x4, x5, [sp+40]
0028f268ldp x6, x7, [sp+56]
0028f26cldr x8, [sp+72]
0028f270b 0x28efb0
0028f274udf 0
0028f278udf 0
0028f27cudf 0
0028efb0
0028efb0math/big.nat.andNot: ; void math/big.nat.andNot(math/big.nat z, math/big.nat x, math/big.nat y)
0028efb0ldr x16, [x28+16]
0028efb4sub x17, sp, 80
0028efb8subs xzr, x17, x16
0028efbcb.ls 0x28f240
0028efc0str x30, [sp-208]!
0028efc4stur x29, [sp-8]
0028efc8sub x29, sp, 8
0028efccstr x0, [sp+216]
0028efd0str x1, [sp+224]
0028efd4str x2, [sp+232]
0028efd8str x3, [sp+240]
0028efdcstr x4, [sp+248]
0028efe0str x5, [sp+256]
0028efe4str x6, [sp+264]
0028efe8str x7, [sp+272]
0028efecstr x8, [sp+280]
0028eff0str xzr, [sp+80]
0028eff4stp xzr, xzr, [sp+88]
0028eff8ldr x4, [sp+248]
0028effcstr x4, [sp+48]
0028f000ldr x5, [sp+272]
0028f004str x5, [sp+40]
0028f008subs xzr, x5, x4
0028f00cb.gt 0x28f014
0028f010b 0x28f01c
0028f014
0028f014loc_28f014:
0028f014str x4, [sp+40]
0028f018b 0x28f020
0028f01c
0028f01cloc_28f01c:
0028f01cb 0x28f020
0028f020
0028f020loc_28f020:
0028f020ldr x3, [sp+48]
0028f024ldr x0, [sp+216]
0028f028ldr x1, [sp+224]
0028f02cldr x2, [sp+232]
0028f030bl math/big.nat.make
0028f034str x0, [sp+216]
0028f038str x1, [sp+224]
0028f03cstr x2, [sp+232]
0028f040str xzr, [sp+56]
0028f044b 0x28f048
0028f048
0028f048loc_28f048:
0028f048ldr x3, [sp+40]
0028f04cldr x4, [sp+56]
0028f050subs xzr, x3, x4
0028f054b.gt 0x28f05c
0028f058b 0x28f0c8
0028f05c
0028f05cloc_28f05c:
0028f05cldr x0, [sp+56]
0028f060ldr x1, [sp+248]
0028f064ldr x3, [sp+240]
0028f068subs xzr, x1, x0
0028f06cb.hi 0x28f074
0028f070b 0x28f238
0028f074
0028f074loc_28f074:
0028f074ldr x3, [x3+3*x0]
0028f078ldr x0, [sp+56]
0028f07cldr x1, [sp+272]
0028f080ldr x4, [sp+264]
0028f084subs xzr, x1, x0
0028f088b.hi 0x28f090
0028f08cb 0x28f234
0028f090
0028f090loc_28f090:
0028f090ldr x5, [sp+56]
0028f094ldr x1, [sp+224]
0028f098ldr x6, [sp+216]
0028f09cldr x4, [x4+3*x0]
0028f0a0bic x3, x3, x4
0028f0a4subs xzr, x1, x5
0028f0a8b.hi 0x28f0b0
0028f0acb 0x28f22c
0028f0b0
0028f0b0loc_28f0b0:
0028f0b0str x3, [x6+3*x5]
0028f0b4b 0x28f0b8
0028f0b8
0028f0b8loc_28f0b8:
0028f0b8ldr x3, [sp+56]
0028f0bcadd x3, x3, 1
0028f0c0str x3, [sp+56]
0028f0c4b 0x28f048
0028f0c8
0028f0c8loc_28f0c8:
0028f0c8ldr x1, [sp+48]
0028f0ccldr x0, [sp+40]
0028f0d0ldr x2, [sp+232]
0028f0d4ldr x3, [sp+216]
0028f0d8subs xzr, x2, x1
0028f0dcb.hs 0x28f0e4
0028f0e0b 0x28f228
0028f0e4
0028f0e4loc_28f0e4:
0028f0e4subs xzr, x1, x0
0028f0e8b.hs 0x28f0f0
0028f0ecb 0x28f224
0028f0f0
0028f0f0loc_28f0f0:
0028f0f0sub x4, x2, x0
0028f0f4sub x5, x1, x0
0028f0f8sub x6, xzr, x4
0028f0fcubfm x7, x0, 61, 60
0028f100and x6, x7, x6, asr #63
0028f104add x3, x3, x6
0028f108str x3, [sp+152]
0028f10cstr x5, [sp+160]
0028f110str x4, [sp+168]
0028f114ldr x0, [sp+40]
0028f118ldr x1, [sp+48]
0028f11cldr x2, [sp+256]
0028f120ldr x3, [sp+240]
0028f124subs xzr, x2, x1
0028f128b.hs 0x28f130
0028f12cb 0x28f220
0028f130
0028f130loc_28f130:
0028f130subs xzr, x1, x0
0028f134b.hs 0x28f13c
0028f138b 0x28f21c
0028f13c
0028f13cloc_28f13c:
0028f13csub x4, x2, x0
0028f140sub x5, x1, x0
0028f144sub x6, xzr, x4
0028f148ubfm x7, x0, 61, 60
0028f14cand x6, x7, x6, asr #63
0028f150add x3, x3, x6
0028f154str x3, [sp+128]
0028f158str x5, [sp+136]
0028f15cstr x4, [sp+144]
0028f160ldr x3, [sp+152]
0028f164ldr x4, [sp+160]
0028f168ldr x5, [sp+168]
0028f16cstr x3, [sp+104]
0028f170str x4, [sp+112]
0028f174str x5, [sp+120]
0028f178ldr x3, [sp+136]
0028f17cldr x4, [sp+128]
0028f180ldr x5, [sp+144]
0028f184str x4, [sp+176]
0028f188str x3, [sp+184]
0028f18cstr x5, [sp+192]
0028f190ldr x4, [sp+112]
0028f194str x4, [sp+72]
0028f198subs xzr, x4, x3
0028f19cb.gt 0x28f1a4
0028f1a0b 0x28f1ac
0028f1a4
0028f1a4loc_28f1a4:
0028f1a4str x3, [sp+72]
0028f1a8b 0x28f1b0
0028f1ac
0028f1acloc_28f1ac:
0028f1acb 0x28f1b0
0028f1b0
0028f1b0loc_28f1b0:
0028f1b0ldr x3, [sp+176]
0028f1b4ldr x4, [sp+104]
0028f1b8subs xzr, x3, x4
0028f1bcb.ne 0x28f1c4
0028f1c0b 0x28f1e4
0028f1c4
0028f1c4loc_28f1c4:
0028f1c4ldr x3, [sp+72]
0028f1c8str x3, [sp+64]
0028f1ccldr x3, [sp+64]
0028f1d0ubfm x2, x3, 61, 60
0028f1d4ldr x1, [sp+176]
0028f1d8ldr x0, [sp+104]
0028f1dcbl runtime.memmove
0028f1e0b 0x28f1e8
0028f1e4
0028f1e4loc_28f1e4:
0028f1e4b 0x28f1e8
0028f1e8
0028f1e8loc_28f1e8:
0028f1e8ldr x0, [sp+216]
0028f1ecldr x1, [sp+224]
0028f1f0ldr x2, [sp+232]
0028f1f4bl math/big.nat.norm
0028f1f8str x0, [sp+128]
0028f1fcstr x1, [sp+136]
0028f200str x2, [sp+144]
0028f204str x0, [sp+80]
0028f208str x1, [sp+88]
0028f20cstr x2, [sp+96]
0028f210ldur x29, [sp-8]
0028f214ldr x30, [sp], 208
0028f218ret x30
0028f21c
0028f21cloc_28f21c:
0028f21cbl runtime.panicSliceB
0028f220
0028f220loc_28f220:
0028f220bl runtime.panicSliceAcap
0028f224
0028f224loc_28f224:
0028f224bl runtime.panicSliceB
0028f228
0028f228loc_28f228:
0028f228bl runtime.panicSliceAcap
0028f22c
0028f22cloc_28f22c:
0028f22cmov x0, x5
0028f230bl runtime.panicIndex
0028f234
0028f234loc_28f234:
0028f234bl runtime.panicIndex
0028f238
0028f238loc_28f238:
0028f238bl runtime.panicIndex
0028f23chint
0028f240
0028f240loc_28f240:
0028f240stp x0, x1, [sp+8]
0028f244stp x2, x3, [sp+24]
0028f248stp x4, x5, [sp+40]
0028f24cstp x6, x7, [sp+56]
0028f250str x8, [sp+72]
0028f254mov x3, x30
0028f258bl runtime.morestack_noctxt.abi0
0028f25cldp x0, x1, [sp+8]
0028f260ldp x2, x3, [sp+24]
0028f264ldp x4, x5, [sp+40]
0028f268ldp x6, x7, [sp+56]
0028f26cldr x8, [sp+72]
0028f270b 0x28efb0
0028f274udf 0
0028f278udf 0
0028f27cudf 0
0028efb0
0028f280
0028f280math/big.nat.or: ; void math/big.nat.or(math/big.nat z, math/big.nat x, math/big.nat y)
0028f280ldr x16, [x28+16]
0028f284sub x17, sp, 112
0028f288subs xzr, x17, x16
0028f28cb.ls 0x28f558
0028f290str x30, [sp-240]!
0028f294stur x29, [sp-8]
0028f298sub x29, sp, 8
0028f29cstr x0, [sp+248]
0028f2a0str x1, [sp+256]
0028f2a4str x2, [sp+264]
0028f2a8str x3, [sp+272]
0028f2acstr x4, [sp+280]
0028f2b0str x5, [sp+288]
0028f2b4str x6, [sp+296]
0028f2b8str x7, [sp+304]
0028f2bcstr x8, [sp+312]
0028f2c0str xzr, [sp+88]
0028f2c4stp xzr, xzr, [sp+96]
0028f2c8ldr x4, [sp+280]
0028f2ccstr x4, [sp+48]
0028f2d0ldr x4, [sp+304]
0028f2d4str x4, [sp+40]
0028f2d8ldr x4, [sp+272]
0028f2dcldr x5, [sp+280]
0028f2e0ldr x6, [sp+288]
0028f2e4str x4, [sp+112]
0028f2e8str x5, [sp+120]
0028f2ecstr x6, [sp+128]
0028f2f0ldr x4, [sp+40]
0028f2f4ldr x5, [sp+48]
0028f2f8subs xzr, x4, x5
0028f2fcb.gt 0x28f304
0028f300b 0x28f334
0028f304
0028f304loc_28f304:
0028f304ldr x4, [sp+40]
0028f308str x4, [sp+80]
0028f30cldr x5, [sp+48]
0028f310str x5, [sp+40]
0028f314str x4, [sp+48]
0028f318ldr x4, [sp+296]
0028f31cldr x5, [sp+304]
0028f320ldr x6, [sp+312]
0028f324str x4, [sp+112]
0028f328str x5, [sp+120]
0028f32cstr x6, [sp+128]
0028f330b 0x28f338
0028f334
0028f334loc_28f334:
0028f334b 0x28f338
0028f338
0028f338loc_28f338:
0028f338ldr x3, [sp+48]
0028f33cldr x0, [sp+248]
0028f340ldr x1, [sp+256]
0028f344ldr x2, [sp+264]
0028f348bl math/big.nat.make
0028f34cstr x0, [sp+248]
0028f350str x1, [sp+256]
0028f354str x2, [sp+264]
0028f358str xzr, [sp+56]
0028f35cb 0x28f360
0028f360
0028f360loc_28f360:
0028f360ldr x3, [sp+40]
0028f364ldr x4, [sp+56]
0028f368subs xzr, x3, x4
0028f36cb.gt 0x28f374
0028f370b 0x28f3e0
0028f374
0028f374loc_28f374:
0028f374ldr x0, [sp+56]
0028f378ldr x1, [sp+280]
0028f37cldr x3, [sp+272]
0028f380subs xzr, x1, x0
0028f384b.hi 0x28f38c
0028f388b 0x28f550
0028f38c
0028f38cloc_28f38c:
0028f38cldr x3, [x3+3*x0]
0028f390ldr x0, [sp+56]
0028f394ldr x1, [sp+304]
0028f398ldr x4, [sp+296]
0028f39csubs xzr, x1, x0
0028f3a0b.hi 0x28f3a8
0028f3a4b 0x28f54c
0028f3a8
0028f3a8loc_28f3a8:
0028f3a8ldr x5, [sp+56]
0028f3acldr x1, [sp+256]
0028f3b0ldr x6, [sp+248]
0028f3b4ldr x4, [x4+3*x0]
0028f3b8orr x3, x3, x4
0028f3bcsubs xzr, x1, x5
0028f3c0b.hi 0x28f3c8
0028f3c4b 0x28f544
0028f3c8
0028f3c8loc_28f3c8:
0028f3c8str x3, [x6+3*x5]
0028f3ccb 0x28f3d0
0028f3d0
0028f3d0loc_28f3d0:
0028f3d0ldr x3, [sp+56]
0028f3d4add x3, x3, 1
0028f3d8str x3, [sp+56]
0028f3dcb 0x28f360
0028f3e0
0028f3e0loc_28f3e0:
0028f3e0ldr x1, [sp+48]
0028f3e4ldr x0, [sp+40]
0028f3e8ldr x2, [sp+264]
0028f3ecldr x3, [sp+248]
0028f3f0subs xzr, x2, x1
0028f3f4b.hs 0x28f3fc
0028f3f8b 0x28f540
0028f3fc
0028f3fcloc_28f3fc:
0028f3fcsubs xzr, x1, x0
0028f400b.hs 0x28f408
0028f404b 0x28f53c
0028f408
0028f408loc_28f408:
0028f408sub x4, x2, x0
0028f40csub x5, x1, x0
0028f410sub x6, xzr, x4
0028f414ubfm x7, x0, 61, 60
0028f418and x6, x7, x6, asr #63
0028f41cadd x3, x3, x6
0028f420str x3, [sp+160]
0028f424str x5, [sp+168]
0028f428str x4, [sp+176]
0028f42cldr x0, [sp+40]
0028f430ldr x1, [sp+48]
0028f434ldr x2, [sp+128]
0028f438ldr x3, [sp+112]
0028f43csubs xzr, x2, x1
0028f440b.hs 0x28f448
0028f444b 0x28f538
0028f448
0028f448loc_28f448:
0028f448subs xzr, x1, x0
0028f44cb.hs 0x28f454
0028f450b 0x28f534
0028f454
0028f454loc_28f454:
0028f454sub x4, x2, x0
0028f458sub x5, x1, x0
0028f45csub x6, xzr, x4
0028f460ubfm x7, x0, 61, 60
0028f464and x6, x7, x6, asr #63
0028f468add x3, x3, x6
0028f46cstr x3, [sp+136]
0028f470str x5, [sp+144]
0028f474str x4, [sp+152]
0028f478ldr x3, [sp+160]
0028f47cldr x4, [sp+168]
0028f480ldr x5, [sp+176]
0028f484str x3, [sp+208]
0028f488str x4, [sp+216]
0028f48cstr x5, [sp+224]
0028f490ldr x3, [sp+144]
0028f494ldr x4, [sp+136]
0028f498ldr x5, [sp+152]
0028f49cstr x4, [sp+184]
0028f4a0str x3, [sp+192]
0028f4a4str x5, [sp+200]
0028f4a8ldr x4, [sp+216]
0028f4acstr x4, [sp+72]
0028f4b0subs xzr, x4, x3
0028f4b4b.gt 0x28f4bc
0028f4b8b 0x28f4c4
0028f4bc
0028f4bcloc_28f4bc:
0028f4bcstr x3, [sp+72]
0028f4c0b 0x28f4c8
0028f4c4
0028f4c4loc_28f4c4:
0028f4c4b 0x28f4c8
0028f4c8
0028f4c8loc_28f4c8:
0028f4c8ldr x3, [sp+184]
0028f4ccldr x4, [sp+208]
0028f4d0subs xzr, x3, x4
0028f4d4b.ne 0x28f4dc
0028f4d8b 0x28f4fc
0028f4dc
0028f4dcloc_28f4dc:
0028f4dcldr x3, [sp+72]
0028f4e0str x3, [sp+64]
0028f4e4ldr x3, [sp+64]
0028f4e8ubfm x2, x3, 61, 60
0028f4ecldr x1, [sp+184]
0028f4f0ldr x0, [sp+208]
0028f4f4bl runtime.memmove
0028f4f8b 0x28f500
0028f4fc
0028f4fcloc_28f4fc:
0028f4fcb 0x28f500
0028f500
0028f500loc_28f500:
0028f500ldr x0, [sp+248]
0028f504ldr x1, [sp+256]
0028f508ldr x2, [sp+264]
0028f50cbl math/big.nat.norm
0028f510str x0, [sp+136]
0028f514str x1, [sp+144]
0028f518str x2, [sp+152]
0028f51cstr x0, [sp+88]
0028f520str x1, [sp+96]
0028f524str x2, [sp+104]
0028f528ldur x29, [sp-8]
0028f52cldr x30, [sp], 240
0028f530ret x30
0028f534
0028f534loc_28f534:
0028f534bl runtime.panicSliceB
0028f538
0028f538loc_28f538:
0028f538bl runtime.panicSliceAcap
0028f53c
0028f53cloc_28f53c:
0028f53cbl runtime.panicSliceB
0028f540
0028f540loc_28f540:
0028f540bl runtime.panicSliceAcap
0028f544
0028f544loc_28f544:
0028f544mov x0, x5
0028f548bl runtime.panicIndex
0028f54c
0028f54cloc_28f54c:
0028f54cbl runtime.panicIndex
0028f550
0028f550loc_28f550:
0028f550bl runtime.panicIndex
0028f554hint
0028f558
0028f558loc_28f558:
0028f558stp x0, x1, [sp+8]
0028f55cstp x2, x3, [sp+24]
0028f560stp x4, x5, [sp+40]
0028f564stp x6, x7, [sp+56]
0028f568str x8, [sp+72]
0028f56cmov x3, x30
0028f570bl runtime.morestack_noctxt.abi0
0028f574ldp x0, x1, [sp+8]
0028f578ldp x2, x3, [sp+24]
0028f57cldp x4, x5, [sp+40]
0028f580ldp x6, x7, [sp+56]
0028f584ldr x8, [sp+72]
0028f588b 0x28f280
0028f58cudf 0
0028f280
0028f280math/big.nat.or: ; void math/big.nat.or(math/big.nat z, math/big.nat x, math/big.nat y)
0028f280ldr x16, [x28+16]
0028f284sub x17, sp, 112
0028f288subs xzr, x17, x16
0028f28cb.ls 0x28f558
0028f290str x30, [sp-240]!
0028f294stur x29, [sp-8]
0028f298sub x29, sp, 8
0028f29cstr x0, [sp+248]
0028f2a0str x1, [sp+256]
0028f2a4str x2, [sp+264]
0028f2a8str x3, [sp+272]
0028f2acstr x4, [sp+280]
0028f2b0str x5, [sp+288]
0028f2b4str x6, [sp+296]
0028f2b8str x7, [sp+304]
0028f2bcstr x8, [sp+312]
0028f2c0str xzr, [sp+88]
0028f2c4stp xzr, xzr, [sp+96]
0028f2c8ldr x4, [sp+280]
0028f2ccstr x4, [sp+48]
0028f2d0ldr x4, [sp+304]
0028f2d4str x4, [sp+40]
0028f2d8ldr x4, [sp+272]
0028f2dcldr x5, [sp+280]
0028f2e0ldr x6, [sp+288]
0028f2e4str x4, [sp+112]
0028f2e8str x5, [sp+120]
0028f2ecstr x6, [sp+128]
0028f2f0ldr x4, [sp+40]
0028f2f4ldr x5, [sp+48]
0028f2f8subs xzr, x4, x5
0028f2fcb.gt 0x28f304
0028f300b 0x28f334
0028f304
0028f304loc_28f304:
0028f304ldr x4, [sp+40]
0028f308str x4, [sp+80]
0028f30cldr x5, [sp+48]
0028f310str x5, [sp+40]
0028f314str x4, [sp+48]
0028f318ldr x4, [sp+296]
0028f31cldr x5, [sp+304]
0028f320ldr x6, [sp+312]
0028f324str x4, [sp+112]
0028f328str x5, [sp+120]
0028f32cstr x6, [sp+128]
0028f330b 0x28f338
0028f334
0028f334loc_28f334:
0028f334b 0x28f338
0028f338
0028f338loc_28f338:
0028f338ldr x3, [sp+48]
0028f33cldr x0, [sp+248]
0028f340ldr x1, [sp+256]
0028f344ldr x2, [sp+264]
0028f348bl math/big.nat.make
0028f34cstr x0, [sp+248]
0028f350str x1, [sp+256]
0028f354str x2, [sp+264]
0028f358str xzr, [sp+56]
0028f35cb 0x28f360
0028f360
0028f360loc_28f360:
0028f360ldr x3, [sp+40]
0028f364ldr x4, [sp+56]
0028f368subs xzr, x3, x4
0028f36cb.gt 0x28f374
0028f370b 0x28f3e0
0028f374
0028f374loc_28f374:
0028f374ldr x0, [sp+56]
0028f378ldr x1, [sp+280]
0028f37cldr x3, [sp+272]
0028f380subs xzr, x1, x0
0028f384b.hi 0x28f38c
0028f388b 0x28f550
0028f38c
0028f38cloc_28f38c:
0028f38cldr x3, [x3+3*x0]
0028f390ldr x0, [sp+56]
0028f394ldr x1, [sp+304]
0028f398ldr x4, [sp+296]
0028f39csubs xzr, x1, x0
0028f3a0b.hi 0x28f3a8
0028f3a4b 0x28f54c
0028f3a8
0028f3a8loc_28f3a8:
0028f3a8ldr x5, [sp+56]
0028f3acldr x1, [sp+256]
0028f3b0ldr x6, [sp+248]
0028f3b4ldr x4, [x4+3*x0]
0028f3b8orr x3, x3, x4
0028f3bcsubs xzr, x1, x5
0028f3c0b.hi 0x28f3c8
0028f3c4b 0x28f544
0028f3c8
0028f3c8loc_28f3c8:
0028f3c8str x3, [x6+3*x5]
0028f3ccb 0x28f3d0
0028f3d0
0028f3d0loc_28f3d0:
0028f3d0ldr x3, [sp+56]
0028f3d4add x3, x3, 1
0028f3d8str x3, [sp+56]
0028f3dcb 0x28f360
0028f3e0
0028f3e0loc_28f3e0:
0028f3e0ldr x1, [sp+48]
0028f3e4ldr x0, [sp+40]
0028f3e8ldr x2, [sp+264]
0028f3ecldr x3, [sp+248]
0028f3f0subs xzr, x2, x1
0028f3f4b.hs 0x28f3fc
0028f3f8b 0x28f540
0028f3fc
0028f3fcloc_28f3fc:
0028f3fcsubs xzr, x1, x0
0028f400b.hs 0x28f408
0028f404b 0x28f53c
0028f408
0028f408loc_28f408:
0028f408sub x4, x2, x0
0028f40csub x5, x1, x0
0028f410sub x6, xzr, x4
0028f414ubfm x7, x0, 61, 60
0028f418and x6, x7, x6, asr #63
0028f41cadd x3, x3, x6
0028f420str x3, [sp+160]
0028f424str x5, [sp+168]
0028f428str x4, [sp+176]
0028f42cldr x0, [sp+40]
0028f430ldr x1, [sp+48]
0028f434ldr x2, [sp+128]
0028f438ldr x3, [sp+112]
0028f43csubs xzr, x2, x1
0028f440b.hs 0x28f448
0028f444b 0x28f538
0028f448
0028f448loc_28f448:
0028f448subs xzr, x1, x0
0028f44cb.hs 0x28f454
0028f450b 0x28f534
0028f454
0028f454loc_28f454:
0028f454sub x4, x2, x0
0028f458sub x5, x1, x0
0028f45csub x6, xzr, x4
0028f460ubfm x7, x0, 61, 60
0028f464and x6, x7, x6, asr #63
0028f468add x3, x3, x6
0028f46cstr x3, [sp+136]
0028f470str x5, [sp+144]
0028f474str x4, [sp+152]
0028f478ldr x3, [sp+160]
0028f47cldr x4, [sp+168]
0028f480ldr x5, [sp+176]
0028f484str x3, [sp+208]
0028f488str x4, [sp+216]
0028f48cstr x5, [sp+224]
0028f490ldr x3, [sp+144]
0028f494ldr x4, [sp+136]
0028f498ldr x5, [sp+152]
0028f49cstr x4, [sp+184]
0028f4a0str x3, [sp+192]
0028f4a4str x5, [sp+200]
0028f4a8ldr x4, [sp+216]
0028f4acstr x4, [sp+72]
0028f4b0subs xzr, x4, x3
0028f4b4b.gt 0x28f4bc
0028f4b8b 0x28f4c4
0028f4bc
0028f4bcloc_28f4bc:
0028f4bcstr x3, [sp+72]
0028f4c0b 0x28f4c8
0028f4c4
0028f4c4loc_28f4c4:
0028f4c4b 0x28f4c8
0028f4c8
0028f4c8loc_28f4c8:
0028f4c8ldr x3, [sp+184]
0028f4ccldr x4, [sp+208]
0028f4d0subs xzr, x3, x4
0028f4d4b.ne 0x28f4dc
0028f4d8b 0x28f4fc
0028f4dc
0028f4dcloc_28f4dc:
0028f4dcldr x3, [sp+72]
0028f4e0str x3, [sp+64]
0028f4e4ldr x3, [sp+64]
0028f4e8ubfm x2, x3, 61, 60
0028f4ecldr x1, [sp+184]
0028f4f0ldr x0, [sp+208]
0028f4f4bl runtime.memmove
0028f4f8b 0x28f500
0028f4fc
0028f4fcloc_28f4fc:
0028f4fcb 0x28f500
0028f500
0028f500loc_28f500:
0028f500ldr x0, [sp+248]
0028f504ldr x1, [sp+256]
0028f508ldr x2, [sp+264]
0028f50cbl math/big.nat.norm
0028f510str x0, [sp+136]
0028f514str x1, [sp+144]
0028f518str x2, [sp+152]
0028f51cstr x0, [sp+88]
0028f520str x1, [sp+96]
0028f524str x2, [sp+104]
0028f528ldur x29, [sp-8]
0028f52cldr x30, [sp], 240
0028f530ret x30
0028f534
0028f534loc_28f534:
0028f534bl runtime.panicSliceB
0028f538
0028f538loc_28f538:
0028f538bl runtime.panicSliceAcap
0028f53c
0028f53cloc_28f53c:
0028f53cbl runtime.panicSliceB
0028f540
0028f540loc_28f540:
0028f540bl runtime.panicSliceAcap
0028f544
0028f544loc_28f544:
0028f544mov x0, x5
0028f548bl runtime.panicIndex
0028f54c
0028f54cloc_28f54c:
0028f54cbl runtime.panicIndex
0028f550
0028f550loc_28f550:
0028f550bl runtime.panicIndex
0028f554hint
0028f558
0028f558loc_28f558:
0028f558stp x0, x1, [sp+8]
0028f55cstp x2, x3, [sp+24]
0028f560stp x4, x5, [sp+40]
0028f564stp x6, x7, [sp+56]
0028f568str x8, [sp+72]
0028f56cmov x3, x30
0028f570bl runtime.morestack_noctxt.abi0
0028f574ldp x0, x1, [sp+8]
0028f578ldp x2, x3, [sp+24]
0028f57cldp x4, x5, [sp+40]
0028f580ldp x6, x7, [sp+56]
0028f584ldr x8, [sp+72]
0028f588b 0x28f280
0028f58cudf 0
0028f280
0028f590
0028f590math/big.nat.expNN: ; void math/big.nat.expNN(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m, bool slow)
0028f590ldr x16, [x28+16]
0028f594sub x17, sp, 512
0028f598subs xzr, x17, x16
0028f59cb.ls 0x290120
0028f5a0sub x20, sp, 640
0028f5a4stp x29, x30, [x20-8]
0028f5a8add sp, x20, 0
0028f5acsub x29, sp, 8
0028f5b0str x0, [sp+648]
0028f5b4str x1, [sp+656]
0028f5b8str x2, [sp+664]
0028f5bcstr x3, [sp+672]
0028f5c0str x4, [sp+680]
0028f5c4str x5, [sp+688]
0028f5c8str x6, [sp+696]
0028f5ccstr x7, [sp+704]
0028f5d0str x8, [sp+712]
0028f5d4str x9, [sp+720]
0028f5d8str x10, [sp+728]
0028f5dcstr x11, [sp+736]
0028f5e0strb w12, [sp+744]
0028f5e4str xzr, [sp+200]
0028f5e8stp xzr, xzr, [sp+208]
0028f5ecldr x0, [sp+648]
0028f5f0ldr x3, [sp+672]
0028f5f4ldr x1, [sp+656]
0028f5f8ldr x4, [sp+680]
0028f5fcldr x2, [sp+664]
0028f600ldr x5, [sp+688]
0028f604bl math/big.alias
0028f608strb w0, [sp+118]
0028f60cstrb w0, [sp+119]
0028f610tbnz w0, 0, 0x28f618
0028f614b 0x28f61c
0028f618
0028f618loc_28f618:
0028f618b 0x28f644
0028f61c
0028f61cloc_28f61c:
0028f61cldr x0, [sp+648]
0028f620ldr x3, [sp+696]
0028f624ldr x1, [sp+656]
0028f628ldr x4, [sp+704]
0028f62cldr x2, [sp+664]
0028f630ldr x5, [sp+712]
0028f634bl math/big.alias
0028f638strb w0, [sp+117]
0028f63cstrb w0, [sp+119]
0028f640b 0x28f644
0028f644
0028f644loc_28f644:
0028f644ldrb w9, [sp+119]
0028f648tbnz w9, 0, 0x28f650
0028f64cb 0x28f660
0028f650
0028f650loc_28f650:
0028f650str xzr, [sp+648]
0028f654add x27, sp, 656
0028f658stp xzr, xzr, [x27]
0028f65cb 0x28f664
0028f660
0028f660loc_28f660:
0028f660b 0x28f664
0028f664
0028f664loc_28f664:
0028f664ldr x9, [sp+728]
0028f668str x9, [sp+192]
0028f66csubs xzr, x9, 1
0028f670cset x9, eq
0028f674strb w9, [sp+118]
0028f678b.eq 0x28f680
0028f67cb 0x28f6a8
0028f680
0028f680loc_28f680:
0028f680ldr x1, [sp+728]
0028f684ldr x9, [sp+720]
0028f688subs xzr, x1, 0
0028f68cb.hi 0x28f694
0028f690b 0x290114
0028f694
0028f694loc_28f694:
0028f694ldr x9, [x9]
0028f698subs xzr, x9, 1
0028f69ccset x9, eq
0028f6a0strb w9, [sp+118]
0028f6a4b 0x28f6ac
0028f6a8
0028f6a8loc_28f6a8:
0028f6a8b 0x28f6ac
0028f6ac
0028f6acloc_28f6ac:
0028f6acldrb w9, [sp+118]
0028f6b0tbnz w9, 0, 0x28f6b8
0028f6b4b 0x28f6f0
0028f6b8
0028f6b8loc_28f6b8:
0028f6b8ldr x0, [sp+648]
0028f6bcldr x1, [sp+656]
0028f6c0ldr x2, [sp+664]
0028f6c4mov x3, xzr
0028f6c8bl math/big.nat.setWord
0028f6ccstr x0, [sp+512]
0028f6d0str x1, [sp+520]
0028f6d4str x2, [sp+528]
0028f6d8str x0, [sp+200]
0028f6dcstr x1, [sp+208]
0028f6e0str x2, [sp+216]
0028f6e4ldp x29, x30, [sp-8]
0028f6e8add sp, sp, 640
0028f6ecret x30
0028f6f0
0028f6f0loc_28f6f0:
0028f6f0ldr x9, [sp+704]
0028f6f4str x9, [sp+192]
0028f6f8cbz x9, 0x28f700
0028f6fcb 0x28f738
0028f700
0028f700loc_28f700:
0028f700ldr x0, [sp+648]
0028f704ldr x1, [sp+656]
0028f708ldr x2, [sp+664]
0028f70corr x3, xzr, 1
0028f710bl math/big.nat.setWord
0028f714str x0, [sp+512]
0028f718str x1, [sp+520]
0028f71cstr x2, [sp+528]
0028f720str x0, [sp+200]
0028f724str x1, [sp+208]
0028f728str x2, [sp+216]
0028f72cldp x29, x30, [sp-8]
0028f730add sp, sp, 640
0028f734ret x30
0028f738
0028f738loc_28f738:
0028f738ldr x9, [sp+680]
0028f73cstr x9, [sp+192]
0028f740cbz x9, 0x28f748
0028f744b 0x28f780
0028f748
0028f748loc_28f748:
0028f748ldr x0, [sp+648]
0028f74cldr x1, [sp+656]
0028f750ldr x2, [sp+664]
0028f754mov x3, xzr
0028f758bl math/big.nat.setWord
0028f75cstr x0, [sp+512]
0028f760str x1, [sp+520]
0028f764str x2, [sp+528]
0028f768str x0, [sp+200]
0028f76cstr x1, [sp+208]
0028f770str x2, [sp+216]
0028f774ldp x29, x30, [sp-8]
0028f778add sp, sp, 640
0028f77cret x30
0028f780
0028f780loc_28f780:
0028f780ldr x9, [sp+680]
0028f784str x9, [sp+192]
0028f788subs xzr, x9, 1
0028f78ccset x9, eq
0028f790strb w9, [sp+118]
0028f794b.eq 0x28f79c
0028f798b 0x28f7c4
0028f79c
0028f79cloc_28f79c:
0028f79cldr x1, [sp+680]
0028f7a0ldr x9, [sp+672]
0028f7a4subs xzr, x1, 0
0028f7a8b.hi 0x28f7b0
0028f7acb 0x29010c
0028f7b0
0028f7b0loc_28f7b0:
0028f7b0ldr x9, [x9]
0028f7b4subs xzr, x9, 1
0028f7b8cset x9, eq
0028f7bcstrb w9, [sp+118]
0028f7c0b 0x28f7c8
0028f7c4
0028f7c4loc_28f7c4:
0028f7c4b 0x28f7c8
0028f7c8
0028f7c8loc_28f7c8:
0028f7c8ldrb w9, [sp+118]
0028f7cctbnz w9, 0, 0x28f7d4
0028f7d0b 0x28f80c
0028f7d4
0028f7d4loc_28f7d4:
0028f7d4ldr x0, [sp+648]
0028f7d8ldr x1, [sp+656]
0028f7dcldr x2, [sp+664]
0028f7e0orr x3, xzr, 1
0028f7e4bl math/big.nat.setWord
0028f7e8str x0, [sp+512]
0028f7ecstr x1, [sp+520]
0028f7f0str x2, [sp+528]
0028f7f4str x0, [sp+200]
0028f7f8str x1, [sp+208]
0028f7fcstr x2, [sp+216]
0028f800ldp x29, x30, [sp-8]
0028f804add sp, sp, 640
0028f808ret x30
0028f80c
0028f80cloc_28f80c:
0028f80cldr x9, [sp+704]
0028f810str x9, [sp+192]
0028f814subs xzr, x9, 1
0028f818cset x9, eq
0028f81cstrb w9, [sp+118]
0028f820b.eq 0x28f828
0028f824b 0x28f850
0028f828
0028f828loc_28f828:
0028f828ldr x1, [sp+704]
0028f82cldr x9, [sp+696]
0028f830subs xzr, x1, 0
0028f834b.hi 0x28f83c
0028f838b 0x290104
0028f83c
0028f83cloc_28f83c:
0028f83cldr x9, [x9]
0028f840subs xzr, x9, 1
0028f844cset x9, eq
0028f848strb w9, [sp+118]
0028f84cb 0x28f854
0028f850
0028f850loc_28f850:
0028f850b 0x28f854
0028f854
0028f854loc_28f854:
0028f854ldrb w9, [sp+118]
0028f858tbnz w9, 0, 0x28f860
0028f85cb 0x28f8fc
0028f860
0028f860loc_28f860:
0028f860ldr x9, [sp+728]
0028f864str x9, [sp+192]
0028f868cbnz x9, 0x28f870
0028f86cb 0x28f8bc
0028f870
0028f870loc_28f870:
0028f870ldr x0, [sp+648]
0028f874ldr x3, [sp+672]
0028f878ldr x6, [sp+720]
0028f87cldr x1, [sp+656]
0028f880ldr x4, [sp+680]
0028f884ldr x7, [sp+728]
0028f888ldr x2, [sp+664]
0028f88cldr x5, [sp+688]
0028f890ldr x8, [sp+736]
0028f894bl math/big.nat.rem
0028f898str x0, [sp+512]
0028f89cstr x1, [sp+520]
0028f8a0str x2, [sp+528]
0028f8a4str x0, [sp+200]
0028f8a8str x1, [sp+208]
0028f8acstr x2, [sp+216]
0028f8b0ldp x29, x30, [sp-8]
0028f8b4add sp, sp, 640
0028f8b8ret x30
0028f8bc
0028f8bcloc_28f8bc:
0028f8bcldr x0, [sp+648]
0028f8c0ldr x3, [sp+672]
0028f8c4ldr x1, [sp+656]
0028f8c8ldr x4, [sp+680]
0028f8ccldr x2, [sp+664]
0028f8d0ldr x5, [sp+688]
0028f8d4bl math/big.nat.set
0028f8d8str x0, [sp+512]
0028f8dcstr x1, [sp+520]
0028f8e0str x2, [sp+528]
0028f8e4str x0, [sp+200]
0028f8e8str x1, [sp+208]
0028f8ecstr x2, [sp+216]
0028f8f0ldp x29, x30, [sp-8]
0028f8f4add sp, sp, 640
0028f8f8ret x30
0028f8fc
0028f8fcloc_28f8fc:
0028f8fcldr x6, [sp+728]
0028f900str x6, [sp+192]
0028f904cbnz x6, 0x28f90c
0028f908b 0x28fad0
0028f90c
0028f90cloc_28f90c:
0028f90cldr x3, [sp+728]
0028f910str x3, [sp+192]
0028f914ldr x1, [sp+656]
0028f918ldr x2, [sp+664]
0028f91cldr x0, [sp+648]
0028f920bl math/big.nat.make
0028f924str x0, [sp+648]
0028f928str x1, [sp+656]
0028f92cstr x2, [sp+664]
0028f930ldr x4, [sp+704]
0028f934str x4, [sp+192]
0028f938subs xzr, x4, 1
0028f93ccset x4, gt
0028f940strb w4, [sp+118]
0028f944b.gt 0x28f94c
0028f948b 0x28f95c
0028f94c
0028f94cloc_28f94c:
0028f94cldrb w12, [sp+744]
0028f950eor x12, x12, 1
0028f954strb w12, [sp+118]
0028f958b 0x28f960
0028f95c
0028f95cloc_28f95c:
0028f95cb 0x28f960
0028f960
0028f960loc_28f960:
0028f960ldrb w12, [sp+118]
0028f964tbnz w12, 0, 0x28f96c
0028f968b 0x28facc
0028f96c
0028f96cloc_28f96c:
0028f96cldr x1, [sp+728]
0028f970ldr x12, [sp+720]
0028f974subs xzr, x1, 0
0028f978b.hi 0x28f980
0028f97cb 0x2900fc
0028f980
0028f980loc_28f980:
0028f980ldr x12, [x12]
0028f984tbnz w12, 0, 0x28f98c
0028f988b 0x28f9e4
0028f98c
0028f98cloc_28f98c:
0028f98cldr x0, [sp+648]
0028f990ldr x3, [sp+672]
0028f994ldr x6, [sp+696]
0028f998ldr x9, [sp+720]
0028f99cldr x1, [sp+656]
0028f9a0ldr x4, [sp+680]
0028f9a4ldr x7, [sp+704]
0028f9a8ldr x10, [sp+728]
0028f9acldr x2, [sp+664]
0028f9b0ldr x5, [sp+688]
0028f9b4ldr x8, [sp+712]
0028f9b8ldr x11, [sp+736]
0028f9bcbl math/big.nat.expNNMontgomery
0028f9c0str x0, [sp+512]
0028f9c4str x1, [sp+520]
0028f9c8str x2, [sp+528]
0028f9ccstr x0, [sp+200]
0028f9d0str x1, [sp+208]
0028f9d4str x2, [sp+216]
0028f9d8ldp x29, x30, [sp-8]
0028f9dcadd sp, sp, 640
0028f9e0ret x30
0028f9e4
0028f9e4loc_28f9e4:
0028f9e4ldr x0, [sp+720]
0028f9e8ldr x1, [sp+728]
0028f9ecldr x2, [sp+736]
0028f9f0bl math/big.nat.isPow2
0028f9f4str x0, [sp+184]
0028f9f8strb w1, [sp+118]
0028f9fcldr x3, [sp+184]
0028fa00str x3, [sp+176]
0028fa04ldrb w3, [sp+118]
0028fa08strb w3, [sp+116]
0028fa0cldr x3, [sp+176]
0028fa10str x3, [sp+144]
0028fa14ldrb w3, [sp+116]
0028fa18strb w3, [sp+115]
0028fa1ctbnz w3, 0, 0x28fa24
0028fa20b 0x28fa74
0028fa24
0028fa24loc_28fa24:
0028fa24ldr x9, [sp+144]
0028fa28ldr x0, [sp+648]
0028fa2cldr x3, [sp+672]
0028fa30ldr x6, [sp+696]
0028fa34ldr x1, [sp+656]
0028fa38ldr x4, [sp+680]
0028fa3cldr x7, [sp+704]
0028fa40ldr x2, [sp+664]
0028fa44ldr x5, [sp+688]
0028fa48ldr x8, [sp+712]
0028fa4cbl math/big.nat.expNNWindowed
0028fa50str x0, [sp+512]
0028fa54str x1, [sp+520]
0028fa58str x2, [sp+528]
0028fa5cstr x0, [sp+200]
0028fa60str x1, [sp+208]
0028fa64str x2, [sp+216]
0028fa68ldp x29, x30, [sp-8]
0028fa6cadd sp, sp, 640
0028fa70ret x30
0028fa74
0028fa74loc_28fa74:
0028fa74ldr x0, [sp+648]
0028fa78ldr x3, [sp+672]
0028fa7cldr x6, [sp+696]
0028fa80ldr x9, [sp+720]
0028fa84ldr x1, [sp+656]
0028fa88ldr x4, [sp+680]
0028fa8cldr x7, [sp+704]
0028fa90ldr x10, [sp+728]
0028fa94ldr x2, [sp+664]
0028fa98ldr x5, [sp+688]
0028fa9cldr x8, [sp+712]
0028faa0ldr x11, [sp+736]
0028faa4bl math/big.nat.expNNMontgomeryEven
0028faa8str x0, [sp+512]
0028faacstr x1, [sp+520]
0028fab0str x2, [sp+528]
0028fab4str x0, [sp+200]
0028fab8str x1, [sp+208]
0028fabcstr x2, [sp+216]
0028fac0ldp x29, x30, [sp-8]
0028fac4add sp, sp, 640
0028fac8ret x30
0028facc
0028faccloc_28facc:
0028faccb 0x28fad4
0028fad0
0028fad0loc_28fad0:
0028fad0b 0x28fad4
0028fad4
0028fad4loc_28fad4:
0028fad4ldr x0, [sp+648]
0028fad8ldr x3, [sp+672]
0028fadcldr x1, [sp+656]
0028fae0ldr x4, [sp+680]
0028fae4ldr x2, [sp+664]
0028fae8ldr x5, [sp+688]
0028faecbl math/big.nat.set
0028faf0str x0, [sp+648]
0028faf4str x1, [sp+656]
0028faf8str x2, [sp+664]
0028fafcldr x6, [sp+704]
0028fb00str x6, [sp+192]
0028fb04ldr x1, [sp+704]
0028fb08ldr x7, [sp+696]
0028fb0csub x0, x6, 1
0028fb10subs xzr, x1, x0
0028fb14b.hi 0x28fb1c
0028fb18b 0x2900f8
0028fb1c
0028fb1cloc_28fb1c:
0028fb1cldr x0, [x7+3*x0]
0028fb20str x0, [sp+128]
0028fb24bl math/big.nlz
0028fb28str x0, [sp+184]
0028fb2cadd x1, x0, 1
0028fb30str x1, [sp+136]
0028fb34ldr x2, [sp+128]
0028fb38lslv x2, x2, x1
0028fb3csubs xzr, x1, 64
0028fb40csel x1, x2, xzr, lo
0028fb44str x1, [sp+128]
0028fb48str xzr, [sp+272]
0028fb4cstp xzr, xzr, [sp+280]
0028fb50ldr x1, [sp+136]
0028fb54orr x2, xzr, 64
0028fb58sub x1, x2, x1
0028fb5cstr x1, [sp+120]
0028fb60str xzr, [sp+224]
0028fb64stp xzr, xzr, [sp+232]
0028fb68str xzr, [sp+248]
0028fb6cstp xzr, xzr, [sp+256]
0028fb70str xzr, [sp+160]
0028fb74b 0x28fb78
0028fb78
0028fb78loc_28fb78:
0028fb78ldr x6, [sp+120]
0028fb7cldr x7, [sp+160]
0028fb80subs xzr, x6, x7
0028fb84b.gt 0x28fb8c
0028fb88b 0x28fdf0
0028fb8c
0028fb8cloc_28fb8c:
0028fb8cldr x0, [sp+224]
0028fb90ldr x3, [sp+648]
0028fb94ldr x1, [sp+232]
0028fb98ldr x4, [sp+656]
0028fb9cldr x2, [sp+240]
0028fba0ldr x5, [sp+664]
0028fba4bl math/big.nat.sqr
0028fba8str x0, [sp+224]
0028fbacstr x1, [sp+232]
0028fbb0str x2, [sp+240]
0028fbb4str x0, [sp+464]
0028fbb8str x1, [sp+472]
0028fbbcstr x2, [sp+480]
0028fbc0ldr x6, [sp+648]
0028fbc4ldr x7, [sp+656]
0028fbc8ldr x8, [sp+664]
0028fbccstr x6, [sp+224]
0028fbd0str x7, [sp+232]
0028fbd4str x8, [sp+240]
0028fbd8ldr x3, [sp+464]
0028fbdcldr x4, [sp+472]
0028fbe0ldr x5, [sp+480]
0028fbe4str x3, [sp+648]
0028fbe8str x4, [sp+656]
0028fbecstr x5, [sp+664]
0028fbf0ldr x6, [sp+128]
0028fbf4tbnz x6, 63, 0x28fbfc
0028fbf8b 0x28fc64
0028fbfc
0028fbfcloc_28fbfc:
0028fbfcldr x0, [sp+224]
0028fc00ldr x6, [sp+672]
0028fc04ldr x1, [sp+232]
0028fc08ldr x7, [sp+680]
0028fc0cldr x2, [sp+240]
0028fc10ldr x8, [sp+688]
0028fc14bl math/big.nat.mul
0028fc18str x0, [sp+224]
0028fc1cstr x1, [sp+232]
0028fc20str x2, [sp+240]
0028fc24str x0, [sp+440]
0028fc28str x1, [sp+448]
0028fc2cstr x2, [sp+456]
0028fc30ldr x9, [sp+648]
0028fc34ldr x10, [sp+656]
0028fc38ldr x11, [sp+664]
0028fc3cstr x9, [sp+224]
0028fc40str x10, [sp+232]
0028fc44str x11, [sp+240]
0028fc48ldr x9, [sp+440]
0028fc4cldr x10, [sp+448]
0028fc50ldr x11, [sp+456]
0028fc54str x9, [sp+648]
0028fc58str x10, [sp+656]
0028fc5cstr x11, [sp+664]
0028fc60b 0x28fc68
0028fc64
0028fc64loc_28fc64:
0028fc64b 0x28fc68
0028fc68
0028fc68loc_28fc68:
0028fc68ldr x12, [sp+728]
0028fc6cstr x12, [sp+192]
0028fc70cbnz x12, 0x28fc78
0028fc74b 0x28fdcc
0028fc78
0028fc78loc_28fc78:
0028fc78str xzr, [sp+512]
0028fc7cadd x27, sp, 520
0028fc80stp xzr, xzr, [x27]
0028fc84str xzr, [sp+488]
0028fc88stp xzr, xzr, [sp+496]
0028fc8cldr x0, [sp+224]
0028fc90ldr x3, [sp+248]
0028fc94ldr x6, [sp+648]
0028fc98ldr x9, [sp+720]
0028fc9cldr x1, [sp+232]
0028fca0ldr x4, [sp+256]
0028fca4ldr x7, [sp+656]
0028fca8ldr x10, [sp+728]
0028fcacldr x2, [sp+240]
0028fcb0ldr x5, [sp+264]
0028fcb4ldr x8, [sp+664]
0028fcb8ldr x11, [sp+736]
0028fcbcbl math/big.nat.div
0028fcc0str x0, [sp+512]
0028fcc4str x1, [sp+520]
0028fcc8str x2, [sp+528]
0028fcccstr x3, [sp+488]
0028fcd0str x4, [sp+496]
0028fcd4str x5, [sp+504]
0028fcd8ldr x12, [sp+520]
0028fcdcldr x13, [sp+528]
0028fce0ldr x14, [sp+512]
0028fce4str x14, [sp+608]
0028fce8str x12, [sp+616]
0028fcecstr x13, [sp+624]
0028fcf0ldr x12, [sp+488]
0028fcf4ldr x13, [sp+496]
0028fcf8ldr x14, [sp+504]
0028fcfcstr x12, [sp+584]
0028fd00str x13, [sp+592]
0028fd04str x14, [sp+600]
0028fd08ldr x12, [sp+608]
0028fd0cldr x13, [sp+616]
0028fd10ldr x14, [sp+624]
0028fd14str x12, [sp+224]
0028fd18str x13, [sp+232]
0028fd1cstr x14, [sp+240]
0028fd20ldr x12, [sp+584]
0028fd24ldr x13, [sp+592]
0028fd28ldr x14, [sp+600]
0028fd2cstr x12, [sp+248]
0028fd30str x13, [sp+256]
0028fd34str x14, [sp+264]
0028fd38ldr x12, [sp+224]
0028fd3cldr x13, [sp+232]
0028fd40ldr x14, [sp+240]
0028fd44str x12, [sp+416]
0028fd48str x13, [sp+424]
0028fd4cstr x14, [sp+432]
0028fd50ldr x12, [sp+248]
0028fd54ldr x13, [sp+256]
0028fd58ldr x14, [sp+264]
0028fd5cstr x12, [sp+392]
0028fd60str x13, [sp+400]
0028fd64str x14, [sp+408]
0028fd68ldr x12, [sp+272]
0028fd6cldr x13, [sp+280]
0028fd70ldr x14, [sp+288]
0028fd74str x12, [sp+224]
0028fd78str x13, [sp+232]
0028fd7cstr x14, [sp+240]
0028fd80ldr x12, [sp+648]
0028fd84ldr x13, [sp+656]
0028fd88ldr x14, [sp+664]
0028fd8cstr x12, [sp+248]
0028fd90str x13, [sp+256]
0028fd94str x14, [sp+264]
0028fd98ldr x12, [sp+416]
0028fd9cldr x13, [sp+424]
0028fda0ldr x14, [sp+432]
0028fda4str x12, [sp+272]
0028fda8str x13, [sp+280]
0028fdacstr x14, [sp+288]
0028fdb0ldr x12, [sp+392]
0028fdb4ldr x13, [sp+400]
0028fdb8ldr x14, [sp+408]
0028fdbcstr x12, [sp+648]
0028fdc0str x13, [sp+656]
0028fdc4str x14, [sp+664]
0028fdc8b 0x28fdd0
0028fdcc
0028fdccloc_28fdcc:
0028fdccb 0x28fdd0
0028fdd0
0028fdd0loc_28fdd0:
0028fdd0ldr x6, [sp+128]
0028fdd4ubfm x6, x6, 63, 62
0028fdd8str x6, [sp+128]
0028fddcb 0x28fde0
0028fde0
0028fde0loc_28fde0:
0028fde0ldr x6, [sp+160]
0028fde4add x6, x6, 1
0028fde8str x6, [sp+160]
0028fdecb 0x28fb78
0028fdf0
0028fdf0loc_28fdf0:
0028fdf0ldr x6, [sp+704]
0028fdf4str x6, [sp+192]
0028fdf8sub x6, x6, 2
0028fdfcstr x6, [sp+168]
0028fe00b 0x28fe04
0028fe04
0028fe04loc_28fe04:
0028fe04ldr x6, [sp+168]
0028fe08tbz x6, 63, 0x28fe10
0028fe0cb 0x28fe38
0028fe10
0028fe10loc_28fe10:
0028fe10ldr x0, [sp+168]
0028fe14ldr x1, [sp+704]
0028fe18ldr x6, [sp+696]
0028fe1csubs xzr, x1, x0
0028fe20b.hi 0x28fe28
0028fe24b 0x2900f4
0028fe28
0028fe28loc_28fe28:
0028fe28ldr x6, [x6+3*x0]
0028fe2cstr x6, [sp+128]
0028fe30str xzr, [sp+152]
0028fe34b 0x28fe6c
0028fe38
0028fe38loc_28fe38:
0028fe38ldr x0, [sp+648]
0028fe3cldr x1, [sp+656]
0028fe40ldr x2, [sp+664]
0028fe44bl math/big.nat.norm
0028fe48str x0, [sp+512]
0028fe4cstr x1, [sp+520]
0028fe50str x2, [sp+528]
0028fe54str x0, [sp+200]
0028fe58str x1, [sp+208]
0028fe5cstr x2, [sp+216]
0028fe60ldp x29, x30, [sp-8]
0028fe64add sp, sp, 640
0028fe68ret x30
0028fe6c
0028fe6cloc_28fe6c:
0028fe6cldr x6, [sp+152]
0028fe70subs xzr, x6, 64
0028fe74b.lt 0x28fe7c
0028fe78b 0x2900e0
0028fe7c
0028fe7cloc_28fe7c:
0028fe7cldr x0, [sp+224]
0028fe80ldr x3, [sp+648]
0028fe84ldr x1, [sp+232]
0028fe88ldr x4, [sp+656]
0028fe8cldr x2, [sp+240]
0028fe90ldr x5, [sp+664]
0028fe94bl math/big.nat.sqr
0028fe98str x0, [sp+224]
0028fe9cstr x1, [sp+232]
0028fea0str x2, [sp+240]
0028fea4str x0, [sp+368]
0028fea8str x1, [sp+376]
0028feacstr x2, [sp+384]
0028feb0ldr x6, [sp+648]
0028feb4ldr x7, [sp+656]
0028feb8ldr x8, [sp+664]
0028febcstr x6, [sp+224]
0028fec0str x7, [sp+232]
0028fec4str x8, [sp+240]
0028fec8ldr x3, [sp+368]
0028feccldr x4, [sp+376]
0028fed0ldr x5, [sp+384]
0028fed4str x3, [sp+648]
0028fed8str x4, [sp+656]
0028fedcstr x5, [sp+664]
0028fee0ldr x6, [sp+128]
0028fee4tbnz x6, 63, 0x28feec
0028fee8b 0x28ff54
0028feec
0028feecloc_28feec:
0028feecldr x0, [sp+224]
0028fef0ldr x6, [sp+672]
0028fef4ldr x1, [sp+232]
0028fef8ldr x7, [sp+680]
0028fefcldr x2, [sp+240]
0028ff00ldr x8, [sp+688]
0028ff04bl math/big.nat.mul
0028ff08str x0, [sp+224]
0028ff0cstr x1, [sp+232]
0028ff10str x2, [sp+240]
0028ff14str x0, [sp+344]
0028ff18str x1, [sp+352]
0028ff1cstr x2, [sp+360]
0028ff20ldr x9, [sp+648]
0028ff24ldr x10, [sp+656]
0028ff28ldr x11, [sp+664]
0028ff2cstr x9, [sp+224]
0028ff30str x10, [sp+232]
0028ff34str x11, [sp+240]
0028ff38ldr x9, [sp+344]
0028ff3cldr x10, [sp+352]
0028ff40ldr x11, [sp+360]
0028ff44str x9, [sp+648]
0028ff48str x10, [sp+656]
0028ff4cstr x11, [sp+664]
0028ff50b 0x28ff58
0028ff54
0028ff54loc_28ff54:
0028ff54b 0x28ff58
0028ff58
0028ff58loc_28ff58:
0028ff58ldr x12, [sp+728]
0028ff5cstr x12, [sp+192]
0028ff60cbnz x12, 0x28ff68
0028ff64b 0x2900bc
0028ff68
0028ff68loc_28ff68:
0028ff68str xzr, [sp+488]
0028ff6cstp xzr, xzr, [sp+496]
0028ff70str xzr, [sp+512]
0028ff74add x27, sp, 520
0028ff78stp xzr, xzr, [x27]
0028ff7cldr x0, [sp+224]
0028ff80ldr x3, [sp+248]
0028ff84ldr x6, [sp+648]
0028ff88ldr x9, [sp+720]
0028ff8cldr x1, [sp+232]
0028ff90ldr x4, [sp+256]
0028ff94ldr x7, [sp+656]
0028ff98ldr x10, [sp+728]
0028ff9cldr x2, [sp+240]
0028ffa0ldr x5, [sp+264]
0028ffa4ldr x8, [sp+664]
0028ffa8ldr x11, [sp+736]
0028ffacbl math/big.nat.div
0028ffb0str x0, [sp+488]
0028ffb4str x1, [sp+496]
0028ffb8str x2, [sp+504]
0028ffbcstr x3, [sp+512]
0028ffc0str x4, [sp+520]
0028ffc4str x5, [sp+528]
0028ffc8ldr x12, [sp+496]
0028ffccldr x13, [sp+504]
0028ffd0ldr x14, [sp+488]
0028ffd4str x14, [sp+560]
0028ffd8str x12, [sp+568]
0028ffdcstr x13, [sp+576]
0028ffe0ldr x12, [sp+512]
0028ffe4ldr x13, [sp+520]
0028ffe8ldr x14, [sp+528]
0028ffecstr x12, [sp+536]
0028fff0str x13, [sp+544]
0028fff4str x14, [sp+552]
0028fff8ldr x12, [sp+560]
0028fffcldr x13, [sp+568]
00290000ldr x14, [sp+576]
00290004str x12, [sp+224]
00290008str x13, [sp+232]
0029000cstr x14, [sp+240]
00290010ldr x12, [sp+536]
00290014ldr x13, [sp+544]
00290018ldr x14, [sp+552]
0029001cstr x12, [sp+248]
00290020str x13, [sp+256]
00290024str x14, [sp+264]
00290028ldr x12, [sp+224]
0029002cldr x13, [sp+232]
00290030ldr x14, [sp+240]
00290034str x12, [sp+320]
00290038str x13, [sp+328]
0029003cstr x14, [sp+336]
00290040ldr x12, [sp+248]
00290044ldr x13, [sp+256]
00290048ldr x14, [sp+264]
0029004cstr x12, [sp+296]
00290050str x13, [sp+304]
00290054str x14, [sp+312]
00290058ldr x12, [sp+272]
0029005cldr x13, [sp+280]
00290060ldr x14, [sp+288]
00290064str x12, [sp+224]
00290068str x13, [sp+232]
0029006cstr x14, [sp+240]
00290070ldr x12, [sp+648]
00290074ldr x13, [sp+656]
00290078ldr x14, [sp+664]
0029007cstr x12, [sp+248]
00290080str x13, [sp+256]
00290084str x14, [sp+264]
00290088ldr x12, [sp+320]
0029008cldr x13, [sp+328]
00290090ldr x14, [sp+336]
00290094str x12, [sp+272]
00290098str x13, [sp+280]
0029009cstr x14, [sp+288]
002900a0ldr x12, [sp+296]
002900a4ldr x13, [sp+304]
002900a8ldr x14, [sp+312]
002900acstr x12, [sp+648]
002900b0str x13, [sp+656]
002900b4str x14, [sp+664]
002900b8b 0x2900c0
002900bc
002900bcloc_2900bc:
002900bcb 0x2900c0
002900c0
002900c0loc_2900c0:
002900c0ldr x6, [sp+128]
002900c4ubfm x6, x6, 63, 62
002900c8str x6, [sp+128]
002900ccb 0x2900d0
002900d0
002900d0loc_2900d0:
002900d0ldr x6, [sp+152]
002900d4add x6, x6, 1
002900d8str x6, [sp+152]
002900dcb 0x28fe6c
002900e0
002900e0loc_2900e0:
002900e0b 0x2900e4
002900e4
002900e4loc_2900e4:
002900e4ldr x6, [sp+168]
002900e8sub x6, x6, 1
002900ecstr x6, [sp+168]
002900f0b 0x28fe04
002900f4
002900f4loc_2900f4:
002900f4bl runtime.panicIndex
002900f8
002900f8loc_2900f8:
002900f8bl runtime.panicIndex
002900fc
002900fcloc_2900fc:
002900fcmov x0, xzr
00290100bl runtime.panicIndex
00290104
00290104loc_290104:
00290104mov x0, xzr
00290108bl runtime.panicIndex
0029010c
0029010cloc_29010c:
0029010cmov x0, xzr
00290110bl runtime.panicIndex
00290114
00290114loc_290114:
00290114mov x0, xzr
00290118bl runtime.panicIndex
0029011chint
00290120
00290120loc_290120:
00290120stp x0, x1, [sp+8]
00290124stp x2, x3, [sp+24]
00290128stp x4, x5, [sp+40]
0029012cstp x6, x7, [sp+56]
00290130stp x8, x9, [sp+72]
00290134stp x10, x11, [sp+88]
00290138strb w12, [sp+104]
0029013cmov x3, x30
00290140bl runtime.morestack_noctxt.abi0
00290144ldp x0, x1, [sp+8]
00290148ldp x2, x3, [sp+24]
0029014cldp x4, x5, [sp+40]
00290150ldp x6, x7, [sp+56]
00290154ldp x8, x9, [sp+72]
00290158ldp x10, x11, [sp+88]
0029015cldrb w12, [sp+104]
00290160b 0x28f590
00290164udf 0
00290168udf 0
0029016cudf 0
0028f590
0028f590math/big.nat.expNN: ; void math/big.nat.expNN(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m, bool slow)
0028f590ldr x16, [x28+16]
0028f594sub x17, sp, 512
0028f598subs xzr, x17, x16
0028f59cb.ls 0x290120
0028f5a0sub x20, sp, 640
0028f5a4stp x29, x30, [x20-8]
0028f5a8add sp, x20, 0
0028f5acsub x29, sp, 8
0028f5b0str x0, [sp+648]
0028f5b4str x1, [sp+656]
0028f5b8str x2, [sp+664]
0028f5bcstr x3, [sp+672]
0028f5c0str x4, [sp+680]
0028f5c4str x5, [sp+688]
0028f5c8str x6, [sp+696]
0028f5ccstr x7, [sp+704]
0028f5d0str x8, [sp+712]
0028f5d4str x9, [sp+720]
0028f5d8str x10, [sp+728]
0028f5dcstr x11, [sp+736]
0028f5e0strb w12, [sp+744]
0028f5e4str xzr, [sp+200]
0028f5e8stp xzr, xzr, [sp+208]
0028f5ecldr x0, [sp+648]
0028f5f0ldr x3, [sp+672]
0028f5f4ldr x1, [sp+656]
0028f5f8ldr x4, [sp+680]
0028f5fcldr x2, [sp+664]
0028f600ldr x5, [sp+688]
0028f604bl math/big.alias
0028f608strb w0, [sp+118]
0028f60cstrb w0, [sp+119]
0028f610tbnz w0, 0, 0x28f618
0028f614b 0x28f61c
0028f618
0028f618loc_28f618:
0028f618b 0x28f644
0028f61c
0028f61cloc_28f61c:
0028f61cldr x0, [sp+648]
0028f620ldr x3, [sp+696]
0028f624ldr x1, [sp+656]
0028f628ldr x4, [sp+704]
0028f62cldr x2, [sp+664]
0028f630ldr x5, [sp+712]
0028f634bl math/big.alias
0028f638strb w0, [sp+117]
0028f63cstrb w0, [sp+119]
0028f640b 0x28f644
0028f644
0028f644loc_28f644:
0028f644ldrb w9, [sp+119]
0028f648tbnz w9, 0, 0x28f650
0028f64cb 0x28f660
0028f650
0028f650loc_28f650:
0028f650str xzr, [sp+648]
0028f654add x27, sp, 656
0028f658stp xzr, xzr, [x27]
0028f65cb 0x28f664
0028f660
0028f660loc_28f660:
0028f660b 0x28f664
0028f664
0028f664loc_28f664:
0028f664ldr x9, [sp+728]
0028f668str x9, [sp+192]
0028f66csubs xzr, x9, 1
0028f670cset x9, eq
0028f674strb w9, [sp+118]
0028f678b.eq 0x28f680
0028f67cb 0x28f6a8
0028f680
0028f680loc_28f680:
0028f680ldr x1, [sp+728]
0028f684ldr x9, [sp+720]
0028f688subs xzr, x1, 0
0028f68cb.hi 0x28f694
0028f690b 0x290114
0028f694
0028f694loc_28f694:
0028f694ldr x9, [x9]
0028f698subs xzr, x9, 1
0028f69ccset x9, eq
0028f6a0strb w9, [sp+118]
0028f6a4b 0x28f6ac
0028f6a8
0028f6a8loc_28f6a8:
0028f6a8b 0x28f6ac
0028f6ac
0028f6acloc_28f6ac:
0028f6acldrb w9, [sp+118]
0028f6b0tbnz w9, 0, 0x28f6b8
0028f6b4b 0x28f6f0
0028f6b8
0028f6b8loc_28f6b8:
0028f6b8ldr x0, [sp+648]
0028f6bcldr x1, [sp+656]
0028f6c0ldr x2, [sp+664]
0028f6c4mov x3, xzr
0028f6c8bl math/big.nat.setWord
0028f6ccstr x0, [sp+512]
0028f6d0str x1, [sp+520]
0028f6d4str x2, [sp+528]
0028f6d8str x0, [sp+200]
0028f6dcstr x1, [sp+208]
0028f6e0str x2, [sp+216]
0028f6e4ldp x29, x30, [sp-8]
0028f6e8add sp, sp, 640
0028f6ecret x30
0028f6f0
0028f6f0loc_28f6f0:
0028f6f0ldr x9, [sp+704]
0028f6f4str x9, [sp+192]
0028f6f8cbz x9, 0x28f700
0028f6fcb 0x28f738
0028f700
0028f700loc_28f700:
0028f700ldr x0, [sp+648]
0028f704ldr x1, [sp+656]
0028f708ldr x2, [sp+664]
0028f70corr x3, xzr, 1
0028f710bl math/big.nat.setWord
0028f714str x0, [sp+512]
0028f718str x1, [sp+520]
0028f71cstr x2, [sp+528]
0028f720str x0, [sp+200]
0028f724str x1, [sp+208]
0028f728str x2, [sp+216]
0028f72cldp x29, x30, [sp-8]
0028f730add sp, sp, 640
0028f734ret x30
0028f738
0028f738loc_28f738:
0028f738ldr x9, [sp+680]
0028f73cstr x9, [sp+192]
0028f740cbz x9, 0x28f748
0028f744b 0x28f780
0028f748
0028f748loc_28f748:
0028f748ldr x0, [sp+648]
0028f74cldr x1, [sp+656]
0028f750ldr x2, [sp+664]
0028f754mov x3, xzr
0028f758bl math/big.nat.setWord
0028f75cstr x0, [sp+512]
0028f760str x1, [sp+520]
0028f764str x2, [sp+528]
0028f768str x0, [sp+200]
0028f76cstr x1, [sp+208]
0028f770str x2, [sp+216]
0028f774ldp x29, x30, [sp-8]
0028f778add sp, sp, 640
0028f77cret x30
0028f780
0028f780loc_28f780:
0028f780ldr x9, [sp+680]
0028f784str x9, [sp+192]
0028f788subs xzr, x9, 1
0028f78ccset x9, eq
0028f790strb w9, [sp+118]
0028f794b.eq 0x28f79c
0028f798b 0x28f7c4
0028f79c
0028f79cloc_28f79c:
0028f79cldr x1, [sp+680]
0028f7a0ldr x9, [sp+672]
0028f7a4subs xzr, x1, 0
0028f7a8b.hi 0x28f7b0
0028f7acb 0x29010c
0028f7b0
0028f7b0loc_28f7b0:
0028f7b0ldr x9, [x9]
0028f7b4subs xzr, x9, 1
0028f7b8cset x9, eq
0028f7bcstrb w9, [sp+118]
0028f7c0b 0x28f7c8
0028f7c4
0028f7c4loc_28f7c4:
0028f7c4b 0x28f7c8
0028f7c8
0028f7c8loc_28f7c8:
0028f7c8ldrb w9, [sp+118]
0028f7cctbnz w9, 0, 0x28f7d4
0028f7d0b 0x28f80c
0028f7d4
0028f7d4loc_28f7d4:
0028f7d4ldr x0, [sp+648]
0028f7d8ldr x1, [sp+656]
0028f7dcldr x2, [sp+664]
0028f7e0orr x3, xzr, 1
0028f7e4bl math/big.nat.setWord
0028f7e8str x0, [sp+512]
0028f7ecstr x1, [sp+520]
0028f7f0str x2, [sp+528]
0028f7f4str x0, [sp+200]
0028f7f8str x1, [sp+208]
0028f7fcstr x2, [sp+216]
0028f800ldp x29, x30, [sp-8]
0028f804add sp, sp, 640
0028f808ret x30
0028f80c
0028f80cloc_28f80c:
0028f80cldr x9, [sp+704]
0028f810str x9, [sp+192]
0028f814subs xzr, x9, 1
0028f818cset x9, eq
0028f81cstrb w9, [sp+118]
0028f820b.eq 0x28f828
0028f824b 0x28f850
0028f828
0028f828loc_28f828:
0028f828ldr x1, [sp+704]
0028f82cldr x9, [sp+696]
0028f830subs xzr, x1, 0
0028f834b.hi 0x28f83c
0028f838b 0x290104
0028f83c
0028f83cloc_28f83c:
0028f83cldr x9, [x9]
0028f840subs xzr, x9, 1
0028f844cset x9, eq
0028f848strb w9, [sp+118]
0028f84cb 0x28f854
0028f850
0028f850loc_28f850:
0028f850b 0x28f854
0028f854
0028f854loc_28f854:
0028f854ldrb w9, [sp+118]
0028f858tbnz w9, 0, 0x28f860
0028f85cb 0x28f8fc
0028f860
0028f860loc_28f860:
0028f860ldr x9, [sp+728]
0028f864str x9, [sp+192]
0028f868cbnz x9, 0x28f870
0028f86cb 0x28f8bc
0028f870
0028f870loc_28f870:
0028f870ldr x0, [sp+648]
0028f874ldr x3, [sp+672]
0028f878ldr x6, [sp+720]
0028f87cldr x1, [sp+656]
0028f880ldr x4, [sp+680]
0028f884ldr x7, [sp+728]
0028f888ldr x2, [sp+664]
0028f88cldr x5, [sp+688]
0028f890ldr x8, [sp+736]
0028f894bl math/big.nat.rem
0028f898str x0, [sp+512]
0028f89cstr x1, [sp+520]
0028f8a0str x2, [sp+528]
0028f8a4str x0, [sp+200]
0028f8a8str x1, [sp+208]
0028f8acstr x2, [sp+216]
0028f8b0ldp x29, x30, [sp-8]
0028f8b4add sp, sp, 640
0028f8b8ret x30
0028f8bc
0028f8bcloc_28f8bc:
0028f8bcldr x0, [sp+648]
0028f8c0ldr x3, [sp+672]
0028f8c4ldr x1, [sp+656]
0028f8c8ldr x4, [sp+680]
0028f8ccldr x2, [sp+664]
0028f8d0ldr x5, [sp+688]
0028f8d4bl math/big.nat.set
0028f8d8str x0, [sp+512]
0028f8dcstr x1, [sp+520]
0028f8e0str x2, [sp+528]
0028f8e4str x0, [sp+200]
0028f8e8str x1, [sp+208]
0028f8ecstr x2, [sp+216]
0028f8f0ldp x29, x30, [sp-8]
0028f8f4add sp, sp, 640
0028f8f8ret x30
0028f8fc
0028f8fcloc_28f8fc:
0028f8fcldr x6, [sp+728]
0028f900str x6, [sp+192]
0028f904cbnz x6, 0x28f90c
0028f908b 0x28fad0
0028f90c
0028f90cloc_28f90c:
0028f90cldr x3, [sp+728]
0028f910str x3, [sp+192]
0028f914ldr x1, [sp+656]
0028f918ldr x2, [sp+664]
0028f91cldr x0, [sp+648]
0028f920bl math/big.nat.make
0028f924str x0, [sp+648]
0028f928str x1, [sp+656]
0028f92cstr x2, [sp+664]
0028f930ldr x4, [sp+704]
0028f934str x4, [sp+192]
0028f938subs xzr, x4, 1
0028f93ccset x4, gt
0028f940strb w4, [sp+118]
0028f944b.gt 0x28f94c
0028f948b 0x28f95c
0028f94c
0028f94cloc_28f94c:
0028f94cldrb w12, [sp+744]
0028f950eor x12, x12, 1
0028f954strb w12, [sp+118]
0028f958b 0x28f960
0028f95c
0028f95cloc_28f95c:
0028f95cb 0x28f960
0028f960
0028f960loc_28f960:
0028f960ldrb w12, [sp+118]
0028f964tbnz w12, 0, 0x28f96c
0028f968b 0x28facc
0028f96c
0028f96cloc_28f96c:
0028f96cldr x1, [sp+728]
0028f970ldr x12, [sp+720]
0028f974subs xzr, x1, 0
0028f978b.hi 0x28f980
0028f97cb 0x2900fc
0028f980
0028f980loc_28f980:
0028f980ldr x12, [x12]
0028f984tbnz w12, 0, 0x28f98c
0028f988b 0x28f9e4
0028f98c
0028f98cloc_28f98c:
0028f98cldr x0, [sp+648]
0028f990ldr x3, [sp+672]
0028f994ldr x6, [sp+696]
0028f998ldr x9, [sp+720]
0028f99cldr x1, [sp+656]
0028f9a0ldr x4, [sp+680]
0028f9a4ldr x7, [sp+704]
0028f9a8ldr x10, [sp+728]
0028f9acldr x2, [sp+664]
0028f9b0ldr x5, [sp+688]
0028f9b4ldr x8, [sp+712]
0028f9b8ldr x11, [sp+736]
0028f9bcbl math/big.nat.expNNMontgomery
0028f9c0str x0, [sp+512]
0028f9c4str x1, [sp+520]
0028f9c8str x2, [sp+528]
0028f9ccstr x0, [sp+200]
0028f9d0str x1, [sp+208]
0028f9d4str x2, [sp+216]
0028f9d8ldp x29, x30, [sp-8]
0028f9dcadd sp, sp, 640
0028f9e0ret x30
0028f9e4
0028f9e4loc_28f9e4:
0028f9e4ldr x0, [sp+720]
0028f9e8ldr x1, [sp+728]
0028f9ecldr x2, [sp+736]
0028f9f0bl math/big.nat.isPow2
0028f9f4str x0, [sp+184]
0028f9f8strb w1, [sp+118]
0028f9fcldr x3, [sp+184]
0028fa00str x3, [sp+176]
0028fa04ldrb w3, [sp+118]
0028fa08strb w3, [sp+116]
0028fa0cldr x3, [sp+176]
0028fa10str x3, [sp+144]
0028fa14ldrb w3, [sp+116]
0028fa18strb w3, [sp+115]
0028fa1ctbnz w3, 0, 0x28fa24
0028fa20b 0x28fa74
0028fa24
0028fa24loc_28fa24:
0028fa24ldr x9, [sp+144]
0028fa28ldr x0, [sp+648]
0028fa2cldr x3, [sp+672]
0028fa30ldr x6, [sp+696]
0028fa34ldr x1, [sp+656]
0028fa38ldr x4, [sp+680]
0028fa3cldr x7, [sp+704]
0028fa40ldr x2, [sp+664]
0028fa44ldr x5, [sp+688]
0028fa48ldr x8, [sp+712]
0028fa4cbl math/big.nat.expNNWindowed
0028fa50str x0, [sp+512]
0028fa54str x1, [sp+520]
0028fa58str x2, [sp+528]
0028fa5cstr x0, [sp+200]
0028fa60str x1, [sp+208]
0028fa64str x2, [sp+216]
0028fa68ldp x29, x30, [sp-8]
0028fa6cadd sp, sp, 640
0028fa70ret x30
0028fa74
0028fa74loc_28fa74:
0028fa74ldr x0, [sp+648]
0028fa78ldr x3, [sp+672]
0028fa7cldr x6, [sp+696]
0028fa80ldr x9, [sp+720]
0028fa84ldr x1, [sp+656]
0028fa88ldr x4, [sp+680]
0028fa8cldr x7, [sp+704]
0028fa90ldr x10, [sp+728]
0028fa94ldr x2, [sp+664]
0028fa98ldr x5, [sp+688]
0028fa9cldr x8, [sp+712]
0028faa0ldr x11, [sp+736]
0028faa4bl math/big.nat.expNNMontgomeryEven
0028faa8str x0, [sp+512]
0028faacstr x1, [sp+520]
0028fab0str x2, [sp+528]
0028fab4str x0, [sp+200]
0028fab8str x1, [sp+208]
0028fabcstr x2, [sp+216]
0028fac0ldp x29, x30, [sp-8]
0028fac4add sp, sp, 640
0028fac8ret x30
0028facc
0028faccloc_28facc:
0028faccb 0x28fad4
0028fad0
0028fad0loc_28fad0:
0028fad0b 0x28fad4
0028fad4
0028fad4loc_28fad4:
0028fad4ldr x0, [sp+648]
0028fad8ldr x3, [sp+672]
0028fadcldr x1, [sp+656]
0028fae0ldr x4, [sp+680]
0028fae4ldr x2, [sp+664]
0028fae8ldr x5, [sp+688]
0028faecbl math/big.nat.set
0028faf0str x0, [sp+648]
0028faf4str x1, [sp+656]
0028faf8str x2, [sp+664]
0028fafcldr x6, [sp+704]
0028fb00str x6, [sp+192]
0028fb04ldr x1, [sp+704]
0028fb08ldr x7, [sp+696]
0028fb0csub x0, x6, 1
0028fb10subs xzr, x1, x0
0028fb14b.hi 0x28fb1c
0028fb18b 0x2900f8
0028fb1c
0028fb1cloc_28fb1c:
0028fb1cldr x0, [x7+3*x0]
0028fb20str x0, [sp+128]
0028fb24bl math/big.nlz
0028fb28str x0, [sp+184]
0028fb2cadd x1, x0, 1
0028fb30str x1, [sp+136]
0028fb34ldr x2, [sp+128]
0028fb38lslv x2, x2, x1
0028fb3csubs xzr, x1, 64
0028fb40csel x1, x2, xzr, lo
0028fb44str x1, [sp+128]
0028fb48str xzr, [sp+272]
0028fb4cstp xzr, xzr, [sp+280]
0028fb50ldr x1, [sp+136]
0028fb54orr x2, xzr, 64
0028fb58sub x1, x2, x1
0028fb5cstr x1, [sp+120]
0028fb60str xzr, [sp+224]
0028fb64stp xzr, xzr, [sp+232]
0028fb68str xzr, [sp+248]
0028fb6cstp xzr, xzr, [sp+256]
0028fb70str xzr, [sp+160]
0028fb74b 0x28fb78
0028fb78
0028fb78loc_28fb78:
0028fb78ldr x6, [sp+120]
0028fb7cldr x7, [sp+160]
0028fb80subs xzr, x6, x7
0028fb84b.gt 0x28fb8c
0028fb88b 0x28fdf0
0028fb8c
0028fb8cloc_28fb8c:
0028fb8cldr x0, [sp+224]
0028fb90ldr x3, [sp+648]
0028fb94ldr x1, [sp+232]
0028fb98ldr x4, [sp+656]
0028fb9cldr x2, [sp+240]
0028fba0ldr x5, [sp+664]
0028fba4bl math/big.nat.sqr
0028fba8str x0, [sp+224]
0028fbacstr x1, [sp+232]
0028fbb0str x2, [sp+240]
0028fbb4str x0, [sp+464]
0028fbb8str x1, [sp+472]
0028fbbcstr x2, [sp+480]
0028fbc0ldr x6, [sp+648]
0028fbc4ldr x7, [sp+656]
0028fbc8ldr x8, [sp+664]
0028fbccstr x6, [sp+224]
0028fbd0str x7, [sp+232]
0028fbd4str x8, [sp+240]
0028fbd8ldr x3, [sp+464]
0028fbdcldr x4, [sp+472]
0028fbe0ldr x5, [sp+480]
0028fbe4str x3, [sp+648]
0028fbe8str x4, [sp+656]
0028fbecstr x5, [sp+664]
0028fbf0ldr x6, [sp+128]
0028fbf4tbnz x6, 63, 0x28fbfc
0028fbf8b 0x28fc64
0028fbfc
0028fbfcloc_28fbfc:
0028fbfcldr x0, [sp+224]
0028fc00ldr x6, [sp+672]
0028fc04ldr x1, [sp+232]
0028fc08ldr x7, [sp+680]
0028fc0cldr x2, [sp+240]
0028fc10ldr x8, [sp+688]
0028fc14bl math/big.nat.mul
0028fc18str x0, [sp+224]
0028fc1cstr x1, [sp+232]
0028fc20str x2, [sp+240]
0028fc24str x0, [sp+440]
0028fc28str x1, [sp+448]
0028fc2cstr x2, [sp+456]
0028fc30ldr x9, [sp+648]
0028fc34ldr x10, [sp+656]
0028fc38ldr x11, [sp+664]
0028fc3cstr x9, [sp+224]
0028fc40str x10, [sp+232]
0028fc44str x11, [sp+240]
0028fc48ldr x9, [sp+440]
0028fc4cldr x10, [sp+448]
0028fc50ldr x11, [sp+456]
0028fc54str x9, [sp+648]
0028fc58str x10, [sp+656]
0028fc5cstr x11, [sp+664]
0028fc60b 0x28fc68
0028fc64
0028fc64loc_28fc64:
0028fc64b 0x28fc68
0028fc68
0028fc68loc_28fc68:
0028fc68ldr x12, [sp+728]
0028fc6cstr x12, [sp+192]
0028fc70cbnz x12, 0x28fc78
0028fc74b 0x28fdcc
0028fc78
0028fc78loc_28fc78:
0028fc78str xzr, [sp+512]
0028fc7cadd x27, sp, 520
0028fc80stp xzr, xzr, [x27]
0028fc84str xzr, [sp+488]
0028fc88stp xzr, xzr, [sp+496]
0028fc8cldr x0, [sp+224]
0028fc90ldr x3, [sp+248]
0028fc94ldr x6, [sp+648]
0028fc98ldr x9, [sp+720]
0028fc9cldr x1, [sp+232]
0028fca0ldr x4, [sp+256]
0028fca4ldr x7, [sp+656]
0028fca8ldr x10, [sp+728]
0028fcacldr x2, [sp+240]
0028fcb0ldr x5, [sp+264]
0028fcb4ldr x8, [sp+664]
0028fcb8ldr x11, [sp+736]
0028fcbcbl math/big.nat.div
0028fcc0str x0, [sp+512]
0028fcc4str x1, [sp+520]
0028fcc8str x2, [sp+528]
0028fcccstr x3, [sp+488]
0028fcd0str x4, [sp+496]
0028fcd4str x5, [sp+504]
0028fcd8ldr x12, [sp+520]
0028fcdcldr x13, [sp+528]
0028fce0ldr x14, [sp+512]
0028fce4str x14, [sp+608]
0028fce8str x12, [sp+616]
0028fcecstr x13, [sp+624]
0028fcf0ldr x12, [sp+488]
0028fcf4ldr x13, [sp+496]
0028fcf8ldr x14, [sp+504]
0028fcfcstr x12, [sp+584]
0028fd00str x13, [sp+592]
0028fd04str x14, [sp+600]
0028fd08ldr x12, [sp+608]
0028fd0cldr x13, [sp+616]
0028fd10ldr x14, [sp+624]
0028fd14str x12, [sp+224]
0028fd18str x13, [sp+232]
0028fd1cstr x14, [sp+240]
0028fd20ldr x12, [sp+584]
0028fd24ldr x13, [sp+592]
0028fd28ldr x14, [sp+600]
0028fd2cstr x12, [sp+248]
0028fd30str x13, [sp+256]
0028fd34str x14, [sp+264]
0028fd38ldr x12, [sp+224]
0028fd3cldr x13, [sp+232]
0028fd40ldr x14, [sp+240]
0028fd44str x12, [sp+416]
0028fd48str x13, [sp+424]
0028fd4cstr x14, [sp+432]
0028fd50ldr x12, [sp+248]
0028fd54ldr x13, [sp+256]
0028fd58ldr x14, [sp+264]
0028fd5cstr x12, [sp+392]
0028fd60str x13, [sp+400]
0028fd64str x14, [sp+408]
0028fd68ldr x12, [sp+272]
0028fd6cldr x13, [sp+280]
0028fd70ldr x14, [sp+288]
0028fd74str x12, [sp+224]
0028fd78str x13, [sp+232]
0028fd7cstr x14, [sp+240]
0028fd80ldr x12, [sp+648]
0028fd84ldr x13, [sp+656]
0028fd88ldr x14, [sp+664]
0028fd8cstr x12, [sp+248]
0028fd90str x13, [sp+256]
0028fd94str x14, [sp+264]
0028fd98ldr x12, [sp+416]
0028fd9cldr x13, [sp+424]
0028fda0ldr x14, [sp+432]
0028fda4str x12, [sp+272]
0028fda8str x13, [sp+280]
0028fdacstr x14, [sp+288]
0028fdb0ldr x12, [sp+392]
0028fdb4ldr x13, [sp+400]
0028fdb8ldr x14, [sp+408]
0028fdbcstr x12, [sp+648]
0028fdc0str x13, [sp+656]
0028fdc4str x14, [sp+664]
0028fdc8b 0x28fdd0
0028fdcc
0028fdccloc_28fdcc:
0028fdccb 0x28fdd0
0028fdd0
0028fdd0loc_28fdd0:
0028fdd0ldr x6, [sp+128]
0028fdd4ubfm x6, x6, 63, 62
0028fdd8str x6, [sp+128]
0028fddcb 0x28fde0
0028fde0
0028fde0loc_28fde0:
0028fde0ldr x6, [sp+160]
0028fde4add x6, x6, 1
0028fde8str x6, [sp+160]
0028fdecb 0x28fb78
0028fdf0
0028fdf0loc_28fdf0:
0028fdf0ldr x6, [sp+704]
0028fdf4str x6, [sp+192]
0028fdf8sub x6, x6, 2
0028fdfcstr x6, [sp+168]
0028fe00b 0x28fe04
0028fe04
0028fe04loc_28fe04:
0028fe04ldr x6, [sp+168]
0028fe08tbz x6, 63, 0x28fe10
0028fe0cb 0x28fe38
0028fe10
0028fe10loc_28fe10:
0028fe10ldr x0, [sp+168]
0028fe14ldr x1, [sp+704]
0028fe18ldr x6, [sp+696]
0028fe1csubs xzr, x1, x0
0028fe20b.hi 0x28fe28
0028fe24b 0x2900f4
0028fe28
0028fe28loc_28fe28:
0028fe28ldr x6, [x6+3*x0]
0028fe2cstr x6, [sp+128]
0028fe30str xzr, [sp+152]
0028fe34b 0x28fe6c
0028fe38
0028fe38loc_28fe38:
0028fe38ldr x0, [sp+648]
0028fe3cldr x1, [sp+656]
0028fe40ldr x2, [sp+664]
0028fe44bl math/big.nat.norm
0028fe48str x0, [sp+512]
0028fe4cstr x1, [sp+520]
0028fe50str x2, [sp+528]
0028fe54str x0, [sp+200]
0028fe58str x1, [sp+208]
0028fe5cstr x2, [sp+216]
0028fe60ldp x29, x30, [sp-8]
0028fe64add sp, sp, 640
0028fe68ret x30
0028fe6c
0028fe6cloc_28fe6c:
0028fe6cldr x6, [sp+152]
0028fe70subs xzr, x6, 64
0028fe74b.lt 0x28fe7c
0028fe78b 0x2900e0
0028fe7c
0028fe7cloc_28fe7c:
0028fe7cldr x0, [sp+224]
0028fe80ldr x3, [sp+648]
0028fe84ldr x1, [sp+232]
0028fe88ldr x4, [sp+656]
0028fe8cldr x2, [sp+240]
0028fe90ldr x5, [sp+664]
0028fe94bl math/big.nat.sqr
0028fe98str x0, [sp+224]
0028fe9cstr x1, [sp+232]
0028fea0str x2, [sp+240]
0028fea4str x0, [sp+368]
0028fea8str x1, [sp+376]
0028feacstr x2, [sp+384]
0028feb0ldr x6, [sp+648]
0028feb4ldr x7, [sp+656]
0028feb8ldr x8, [sp+664]
0028febcstr x6, [sp+224]
0028fec0str x7, [sp+232]
0028fec4str x8, [sp+240]
0028fec8ldr x3, [sp+368]
0028feccldr x4, [sp+376]
0028fed0ldr x5, [sp+384]
0028fed4str x3, [sp+648]
0028fed8str x4, [sp+656]
0028fedcstr x5, [sp+664]
0028fee0ldr x6, [sp+128]
0028fee4tbnz x6, 63, 0x28feec
0028fee8b 0x28ff54
0028feec
0028feecloc_28feec:
0028feecldr x0, [sp+224]
0028fef0ldr x6, [sp+672]
0028fef4ldr x1, [sp+232]
0028fef8ldr x7, [sp+680]
0028fefcldr x2, [sp+240]
0028ff00ldr x8, [sp+688]
0028ff04bl math/big.nat.mul
0028ff08str x0, [sp+224]
0028ff0cstr x1, [sp+232]
0028ff10str x2, [sp+240]
0028ff14str x0, [sp+344]
0028ff18str x1, [sp+352]
0028ff1cstr x2, [sp+360]
0028ff20ldr x9, [sp+648]
0028ff24ldr x10, [sp+656]
0028ff28ldr x11, [sp+664]
0028ff2cstr x9, [sp+224]
0028ff30str x10, [sp+232]
0028ff34str x11, [sp+240]
0028ff38ldr x9, [sp+344]
0028ff3cldr x10, [sp+352]
0028ff40ldr x11, [sp+360]
0028ff44str x9, [sp+648]
0028ff48str x10, [sp+656]
0028ff4cstr x11, [sp+664]
0028ff50b 0x28ff58
0028ff54
0028ff54loc_28ff54:
0028ff54b 0x28ff58
0028ff58
0028ff58loc_28ff58:
0028ff58ldr x12, [sp+728]
0028ff5cstr x12, [sp+192]
0028ff60cbnz x12, 0x28ff68
0028ff64b 0x2900bc
0028ff68
0028ff68loc_28ff68:
0028ff68str xzr, [sp+488]
0028ff6cstp xzr, xzr, [sp+496]
0028ff70str xzr, [sp+512]
0028ff74add x27, sp, 520
0028ff78stp xzr, xzr, [x27]
0028ff7cldr x0, [sp+224]
0028ff80ldr x3, [sp+248]
0028ff84ldr x6, [sp+648]
0028ff88ldr x9, [sp+720]
0028ff8cldr x1, [sp+232]
0028ff90ldr x4, [sp+256]
0028ff94ldr x7, [sp+656]
0028ff98ldr x10, [sp+728]
0028ff9cldr x2, [sp+240]
0028ffa0ldr x5, [sp+264]
0028ffa4ldr x8, [sp+664]
0028ffa8ldr x11, [sp+736]
0028ffacbl math/big.nat.div
0028ffb0str x0, [sp+488]
0028ffb4str x1, [sp+496]
0028ffb8str x2, [sp+504]
0028ffbcstr x3, [sp+512]
0028ffc0str x4, [sp+520]
0028ffc4str x5, [sp+528]
0028ffc8ldr x12, [sp+496]
0028ffccldr x13, [sp+504]
0028ffd0ldr x14, [sp+488]
0028ffd4str x14, [sp+560]
0028ffd8str x12, [sp+568]
0028ffdcstr x13, [sp+576]
0028ffe0ldr x12, [sp+512]
0028ffe4ldr x13, [sp+520]
0028ffe8ldr x14, [sp+528]
0028ffecstr x12, [sp+536]
0028fff0str x13, [sp+544]
0028fff4str x14, [sp+552]
0028fff8ldr x12, [sp+560]
0028fffcldr x13, [sp+568]
00290000ldr x14, [sp+576]
00290004str x12, [sp+224]
00290008str x13, [sp+232]
0029000cstr x14, [sp+240]
00290010ldr x12, [sp+536]
00290014ldr x13, [sp+544]
00290018ldr x14, [sp+552]
0029001cstr x12, [sp+248]
00290020str x13, [sp+256]
00290024str x14, [sp+264]
00290028ldr x12, [sp+224]
0029002cldr x13, [sp+232]
00290030ldr x14, [sp+240]
00290034str x12, [sp+320]
00290038str x13, [sp+328]
0029003cstr x14, [sp+336]
00290040ldr x12, [sp+248]
00290044ldr x13, [sp+256]
00290048ldr x14, [sp+264]
0029004cstr x12, [sp+296]
00290050str x13, [sp+304]
00290054str x14, [sp+312]
00290058ldr x12, [sp+272]
0029005cldr x13, [sp+280]
00290060ldr x14, [sp+288]
00290064str x12, [sp+224]
00290068str x13, [sp+232]
0029006cstr x14, [sp+240]
00290070ldr x12, [sp+648]
00290074ldr x13, [sp+656]
00290078ldr x14, [sp+664]
0029007cstr x12, [sp+248]
00290080str x13, [sp+256]
00290084str x14, [sp+264]
00290088ldr x12, [sp+320]
0029008cldr x13, [sp+328]
00290090ldr x14, [sp+336]
00290094str x12, [sp+272]
00290098str x13, [sp+280]
0029009cstr x14, [sp+288]
002900a0ldr x12, [sp+296]
002900a4ldr x13, [sp+304]
002900a8ldr x14, [sp+312]
002900acstr x12, [sp+648]
002900b0str x13, [sp+656]
002900b4str x14, [sp+664]
002900b8b 0x2900c0
002900bc
002900bcloc_2900bc:
002900bcb 0x2900c0
002900c0
002900c0loc_2900c0:
002900c0ldr x6, [sp+128]
002900c4ubfm x6, x6, 63, 62
002900c8str x6, [sp+128]
002900ccb 0x2900d0
002900d0
002900d0loc_2900d0:
002900d0ldr x6, [sp+152]
002900d4add x6, x6, 1
002900d8str x6, [sp+152]
002900dcb 0x28fe6c
002900e0
002900e0loc_2900e0:
002900e0b 0x2900e4
002900e4
002900e4loc_2900e4:
002900e4ldr x6, [sp+168]
002900e8sub x6, x6, 1
002900ecstr x6, [sp+168]
002900f0b 0x28fe04
002900f4
002900f4loc_2900f4:
002900f4bl runtime.panicIndex
002900f8
002900f8loc_2900f8:
002900f8bl runtime.panicIndex
002900fc
002900fcloc_2900fc:
002900fcmov x0, xzr
00290100bl runtime.panicIndex
00290104
00290104loc_290104:
00290104mov x0, xzr
00290108bl runtime.panicIndex
0029010c
0029010cloc_29010c:
0029010cmov x0, xzr
00290110bl runtime.panicIndex
00290114
00290114loc_290114:
00290114mov x0, xzr
00290118bl runtime.panicIndex
0029011chint
00290120
00290120loc_290120:
00290120stp x0, x1, [sp+8]
00290124stp x2, x3, [sp+24]
00290128stp x4, x5, [sp+40]
0029012cstp x6, x7, [sp+56]
00290130stp x8, x9, [sp+72]
00290134stp x10, x11, [sp+88]
00290138strb w12, [sp+104]
0029013cmov x3, x30
00290140bl runtime.morestack_noctxt.abi0
00290144ldp x0, x1, [sp+8]
00290148ldp x2, x3, [sp+24]
0029014cldp x4, x5, [sp+40]
00290150ldp x6, x7, [sp+56]
00290154ldp x8, x9, [sp+72]
00290158ldp x10, x11, [sp+88]
0029015cldrb w12, [sp+104]
00290160b 0x28f590
00290164udf 0
00290168udf 0
0029016cudf 0
0028f590
00290170
00290170math/big.nat.expNNMontgomeryEven: ; void math/big.nat.expNNMontgomeryEven(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m)
00290170ldr x16, [x28+16]
00290174sub x17, sp, 176
00290178subs xzr, x17, x16
0029017cb.ls 0x2904a4
00290180sub x20, sp, 304
00290184stp x29, x30, [x20-8]
00290188add sp, x20, 0
0029018csub x29, sp, 8
00290190str x0, [sp+312]
00290194str x1, [sp+320]
00290198str x2, [sp+328]
0029019cstr x3, [sp+336]
002901a0str x4, [sp+344]
002901a4str x5, [sp+352]
002901a8str x6, [sp+360]
002901acstr x7, [sp+368]
002901b0str x8, [sp+376]
002901b4str x9, [sp+384]
002901b8str x10, [sp+392]
002901bcstr x11, [sp+400]
002901c0str xzr, [sp+128]
002901c4stp xzr, xzr, [sp+136]
002901c8ldr x0, [sp+384]
002901ccldr x1, [sp+392]
002901d0ldr x2, [sp+400]
002901d4bl math/big.nat.trailingZeroBits
002901d8str x0, [sp+120]
002901dcadrp x27, 0x780000
002901e0ldr x3, [x27+2096]
002901e4adrp x27, 0x780000
002901e8ldr x4, [x27+2104]
002901ecadrp x27, 0x780000
002901f0ldr x5, [x27+2112]
002901f4mov x1, xzr
002901f8mov x2, x1
002901fcmov x6, x0
00290200mov x0, xzr
00290204bl math/big.nat.shl
00290208str x0, [sp+248]
0029020cstr x1, [sp+256]
00290210str x2, [sp+264]
00290214ldr x6, [sp+120]
00290218ldr x3, [sp+384]
0029021cldr x4, [sp+392]
00290220ldr x5, [sp+400]
00290224mov x0, xzr
00290228mov x1, xzr
0029022cmov x2, x1
00290230bl math/big.nat.shr
00290234str x0, [sp+224]
00290238str x1, [sp+232]
0029023cstr x2, [sp+240]
00290240ldr x3, [sp+336]
00290244ldr x6, [sp+360]
00290248ldr x9, [sp+248]
0029024cldr x4, [sp+344]
00290250ldr x7, [sp+368]
00290254ldr x10, [sp+256]
00290258ldr x5, [sp+352]
0029025cldr x8, [sp+376]
00290260ldr x11, [sp+264]
00290264mov x0, xzr
00290268mov x1, xzr
0029026cmov x2, x1
00290270mov x12, xzr
00290274bl math/big.nat.expNN
00290278str x0, [sp+176]
0029027cstr x1, [sp+184]
00290280str x2, [sp+192]
00290284ldr x3, [sp+336]
00290288ldr x6, [sp+360]
0029028cldr x9, [sp+224]
00290290ldr x4, [sp+344]
00290294ldr x7, [sp+368]
00290298ldr x10, [sp+232]
0029029cldr x5, [sp+352]
002902a0ldr x8, [sp+376]
002902a4ldr x11, [sp+240]
002902a8mov x0, xzr
002902acmov x1, xzr
002902b0mov x2, x1
002902b4mov x12, xzr
002902b8bl math/big.nat.expNN
002902bcstr x0, [sp+152]
002902c0str x1, [sp+160]
002902c4str x2, [sp+168]
002902c8ldr x3, [sp+312]
002902ccldr x4, [sp+320]
002902d0ldr x5, [sp+328]
002902d4mov x6, x0
002902d8mov x0, x3
002902dcmov x7, x1
002902e0mov x1, x4
002902e4mov x8, x2
002902e8mov x2, x5
002902ecmov x3, x6
002902f0mov x4, x7
002902f4mov x5, x8
002902f8bl math/big.nat.set
002902fcstr x0, [sp+312]
00290300str x1, [sp+320]
00290304str x2, [sp+328]
00290308ldr x9, [sp+120]
0029030cldr x0, [sp+176]
00290310ldr x3, [sp+176]
00290314ldr x6, [sp+152]
00290318ldr x1, [sp+184]
0029031cldr x4, [sp+184]
00290320ldr x7, [sp+160]
00290324ldr x2, [sp+192]
00290328ldr x5, [sp+192]
0029032cldr x8, [sp+168]
00290330bl math/big.nat.subMod2N
00290334str x0, [sp+176]
00290338str x1, [sp+184]
0029033cstr x2, [sp+192]
00290340ldr x3, [sp+224]
00290344ldr x6, [sp+248]
00290348ldr x4, [sp+232]
0029034cldr x7, [sp+256]
00290350ldr x5, [sp+240]
00290354ldr x8, [sp+264]
00290358mov x0, xzr
0029035cmov x1, xzr
00290360mov x2, x1
00290364bl math/big.nat.modInverse
00290368str x0, [sp+200]
0029036cstr x1, [sp+208]
00290370str x2, [sp+216]
00290374ldr x3, [sp+152]
00290378ldr x4, [sp+176]
0029037cldr x5, [sp+160]
00290380ldr x6, [sp+184]
00290384ldr x7, [sp+168]
00290388ldr x8, [sp+192]
0029038cmov x9, x0
00290390mov x0, x3
00290394mov x10, x1
00290398mov x1, x5
0029039cmov x11, x2
002903a0mov x2, x7
002903a4mov x3, x4
002903a8mov x4, x6
002903acmov x5, x8
002903b0mov x6, x9
002903b4mov x7, x10
002903b8mov x8, x11
002903bcbl math/big.nat.mul
002903c0str x0, [sp+152]
002903c4str x1, [sp+160]
002903c8str x2, [sp+168]
002903ccldr x6, [sp+120]
002903d0mov x3, x0
002903d4mov x4, x1
002903d8mov x5, x2
002903dcbl math/big.nat.trunc
002903e0str x0, [sp+152]
002903e4str x1, [sp+160]
002903e8str x2, [sp+168]
002903ecldr x3, [sp+176]
002903f0ldr x6, [sp+224]
002903f4ldr x4, [sp+184]
002903f8ldr x7, [sp+232]
002903fcldr x5, [sp+192]
00290400ldr x8, [sp+240]
00290404mov x9, x0
00290408mov x0, x3
0029040cmov x10, x1
00290410mov x1, x4
00290414mov x11, x2
00290418mov x2, x5
0029041cmov x3, x9
00290420mov x4, x10
00290424mov x5, x11
00290428bl math/big.nat.mul
0029042cstr x0, [sp+272]
00290430str x1, [sp+280]
00290434str x2, [sp+288]
00290438ldr x3, [sp+312]
0029043cldr x4, [sp+320]
00290440ldr x5, [sp+320]
00290444ldr x6, [sp+328]
00290448ldr x7, [sp+328]
0029044cldr x8, [sp+312]
00290450mov x9, x0
00290454mov x0, x8
00290458mov x10, x1
0029045cmov x1, x4
00290460mov x11, x2
00290464mov x2, x6
00290468mov x4, x5
0029046cmov x5, x7
00290470mov x6, x9
00290474mov x7, x10
00290478mov x8, x11
0029047cbl math/big.nat.add
00290480str x0, [sp+312]
00290484str x1, [sp+320]
00290488str x2, [sp+328]
0029048cstr x0, [sp+128]
00290490str x1, [sp+136]
00290494str x2, [sp+144]
00290498ldp x29, x30, [sp-8]
0029049cadd sp, sp, 304
002904a0ret x30
002904a4
002904a4loc_2904a4:
002904a4stp x0, x1, [sp+8]
002904a8stp x2, x3, [sp+24]
002904acstp x4, x5, [sp+40]
002904b0stp x6, x7, [sp+56]
002904b4stp x8, x9, [sp+72]
002904b8stp x10, x11, [sp+88]
002904bcmov x3, x30
002904c0bl runtime.morestack_noctxt.abi0
002904c4ldp x0, x1, [sp+8]
002904c8ldp x2, x3, [sp+24]
002904ccldp x4, x5, [sp+40]
002904d0ldp x6, x7, [sp+56]
002904d4ldp x8, x9, [sp+72]
002904d8ldp x10, x11, [sp+88]
002904dcb 0x290170
00290170
00290170math/big.nat.expNNMontgomeryEven: ; void math/big.nat.expNNMontgomeryEven(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m)
00290170ldr x16, [x28+16]
00290174sub x17, sp, 176
00290178subs xzr, x17, x16
0029017cb.ls 0x2904a4
00290180sub x20, sp, 304
00290184stp x29, x30, [x20-8]
00290188add sp, x20, 0
0029018csub x29, sp, 8
00290190str x0, [sp+312]
00290194str x1, [sp+320]
00290198str x2, [sp+328]
0029019cstr x3, [sp+336]
002901a0str x4, [sp+344]
002901a4str x5, [sp+352]
002901a8str x6, [sp+360]
002901acstr x7, [sp+368]
002901b0str x8, [sp+376]
002901b4str x9, [sp+384]
002901b8str x10, [sp+392]
002901bcstr x11, [sp+400]
002901c0str xzr, [sp+128]
002901c4stp xzr, xzr, [sp+136]
002901c8ldr x0, [sp+384]
002901ccldr x1, [sp+392]
002901d0ldr x2, [sp+400]
002901d4bl math/big.nat.trailingZeroBits
002901d8str x0, [sp+120]
002901dcadrp x27, 0x780000
002901e0ldr x3, [x27+2096]
002901e4adrp x27, 0x780000
002901e8ldr x4, [x27+2104]
002901ecadrp x27, 0x780000
002901f0ldr x5, [x27+2112]
002901f4mov x1, xzr
002901f8mov x2, x1
002901fcmov x6, x0
00290200mov x0, xzr
00290204bl math/big.nat.shl
00290208str x0, [sp+248]
0029020cstr x1, [sp+256]
00290210str x2, [sp+264]
00290214ldr x6, [sp+120]
00290218ldr x3, [sp+384]
0029021cldr x4, [sp+392]
00290220ldr x5, [sp+400]
00290224mov x0, xzr
00290228mov x1, xzr
0029022cmov x2, x1
00290230bl math/big.nat.shr
00290234str x0, [sp+224]
00290238str x1, [sp+232]
0029023cstr x2, [sp+240]
00290240ldr x3, [sp+336]
00290244ldr x6, [sp+360]
00290248ldr x9, [sp+248]
0029024cldr x4, [sp+344]
00290250ldr x7, [sp+368]
00290254ldr x10, [sp+256]
00290258ldr x5, [sp+352]
0029025cldr x8, [sp+376]
00290260ldr x11, [sp+264]
00290264mov x0, xzr
00290268mov x1, xzr
0029026cmov x2, x1
00290270mov x12, xzr
00290274bl math/big.nat.expNN
00290278str x0, [sp+176]
0029027cstr x1, [sp+184]
00290280str x2, [sp+192]
00290284ldr x3, [sp+336]
00290288ldr x6, [sp+360]
0029028cldr x9, [sp+224]
00290290ldr x4, [sp+344]
00290294ldr x7, [sp+368]
00290298ldr x10, [sp+232]
0029029cldr x5, [sp+352]
002902a0ldr x8, [sp+376]
002902a4ldr x11, [sp+240]
002902a8mov x0, xzr
002902acmov x1, xzr
002902b0mov x2, x1
002902b4mov x12, xzr
002902b8bl math/big.nat.expNN
002902bcstr x0, [sp+152]
002902c0str x1, [sp+160]
002902c4str x2, [sp+168]
002902c8ldr x3, [sp+312]
002902ccldr x4, [sp+320]
002902d0ldr x5, [sp+328]
002902d4mov x6, x0
002902d8mov x0, x3
002902dcmov x7, x1
002902e0mov x1, x4
002902e4mov x8, x2
002902e8mov x2, x5
002902ecmov x3, x6
002902f0mov x4, x7
002902f4mov x5, x8
002902f8bl math/big.nat.set
002902fcstr x0, [sp+312]
00290300str x1, [sp+320]
00290304str x2, [sp+328]
00290308ldr x9, [sp+120]
0029030cldr x0, [sp+176]
00290310ldr x3, [sp+176]
00290314ldr x6, [sp+152]
00290318ldr x1, [sp+184]
0029031cldr x4, [sp+184]
00290320ldr x7, [sp+160]
00290324ldr x2, [sp+192]
00290328ldr x5, [sp+192]
0029032cldr x8, [sp+168]
00290330bl math/big.nat.subMod2N
00290334str x0, [sp+176]
00290338str x1, [sp+184]
0029033cstr x2, [sp+192]
00290340ldr x3, [sp+224]
00290344ldr x6, [sp+248]
00290348ldr x4, [sp+232]
0029034cldr x7, [sp+256]
00290350ldr x5, [sp+240]
00290354ldr x8, [sp+264]
00290358mov x0, xzr
0029035cmov x1, xzr
00290360mov x2, x1
00290364bl math/big.nat.modInverse
00290368str x0, [sp+200]
0029036cstr x1, [sp+208]
00290370str x2, [sp+216]
00290374ldr x3, [sp+152]
00290378ldr x4, [sp+176]
0029037cldr x5, [sp+160]
00290380ldr x6, [sp+184]
00290384ldr x7, [sp+168]
00290388ldr x8, [sp+192]
0029038cmov x9, x0
00290390mov x0, x3
00290394mov x10, x1
00290398mov x1, x5
0029039cmov x11, x2
002903a0mov x2, x7
002903a4mov x3, x4
002903a8mov x4, x6
002903acmov x5, x8
002903b0mov x6, x9
002903b4mov x7, x10
002903b8mov x8, x11
002903bcbl math/big.nat.mul
002903c0str x0, [sp+152]
002903c4str x1, [sp+160]
002903c8str x2, [sp+168]
002903ccldr x6, [sp+120]
002903d0mov x3, x0
002903d4mov x4, x1
002903d8mov x5, x2
002903dcbl math/big.nat.trunc
002903e0str x0, [sp+152]
002903e4str x1, [sp+160]
002903e8str x2, [sp+168]
002903ecldr x3, [sp+176]
002903f0ldr x6, [sp+224]
002903f4ldr x4, [sp+184]
002903f8ldr x7, [sp+232]
002903fcldr x5, [sp+192]
00290400ldr x8, [sp+240]
00290404mov x9, x0
00290408mov x0, x3
0029040cmov x10, x1
00290410mov x1, x4
00290414mov x11, x2
00290418mov x2, x5
0029041cmov x3, x9
00290420mov x4, x10
00290424mov x5, x11
00290428bl math/big.nat.mul
0029042cstr x0, [sp+272]
00290430str x1, [sp+280]
00290434str x2, [sp+288]
00290438ldr x3, [sp+312]
0029043cldr x4, [sp+320]
00290440ldr x5, [sp+320]
00290444ldr x6, [sp+328]
00290448ldr x7, [sp+328]
0029044cldr x8, [sp+312]
00290450mov x9, x0
00290454mov x0, x8
00290458mov x10, x1
0029045cmov x1, x4
00290460mov x11, x2
00290464mov x2, x6
00290468mov x4, x5
0029046cmov x5, x7
00290470mov x6, x9
00290474mov x7, x10
00290478mov x8, x11
0029047cbl math/big.nat.add
00290480str x0, [sp+312]
00290484str x1, [sp+320]
00290488str x2, [sp+328]
0029048cstr x0, [sp+128]
00290490str x1, [sp+136]
00290494str x2, [sp+144]
00290498ldp x29, x30, [sp-8]
0029049cadd sp, sp, 304
002904a0ret x30
002904a4
002904a4loc_2904a4:
002904a4stp x0, x1, [sp+8]
002904a8stp x2, x3, [sp+24]
002904acstp x4, x5, [sp+40]
002904b0stp x6, x7, [sp+56]
002904b4stp x8, x9, [sp+72]
002904b8stp x10, x11, [sp+88]
002904bcmov x3, x30
002904c0bl runtime.morestack_noctxt.abi0
002904c4ldp x0, x1, [sp+8]
002904c8ldp x2, x3, [sp+24]
002904ccldp x4, x5, [sp+40]
002904d0ldp x6, x7, [sp+56]
002904d4ldp x8, x9, [sp+72]
002904d8ldp x10, x11, [sp+88]
002904dcb 0x290170
00290170
Loading..