File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    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
    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
    002904e0
    002904e0math/big.nat.expNNWindowed: ; void math/big.nat.expNNWindowed(math/big.nat z, math/big.nat x, math/big.nat y, uint logM)
    002904e0ldr x16, [x28+16]
    002904e4sub x17, sp, 720
    002904e8subs xzr, x17, x16
    002904ecb.ls 0x291014
    002904f0sub x20, sp, 848
    002904f4stp x29, x30, [x20-8]
    002904f8add sp, x20, 0
    002904fcsub x29, sp, 8
    00290500str x0, [sp+856]
    00290504str x1, [sp+864]
    00290508str x2, [sp+872]
    0029050cstr x3, [sp+880]
    00290510str x4, [sp+888]
    00290514str x5, [sp+896]
    00290518str x6, [sp+904]
    0029051cstr x7, [sp+912]
    00290520str x8, [sp+920]
    00290524str x9, [sp+928]
    00290528str xzr, [sp+208]
    0029052cstp xzr, xzr, [sp+216]
    00290530ldr x4, [sp+912]
    00290534str x4, [sp+200]
    00290538subs xzr, x4, 1
    0029053cb.le 0x290ffc
    00290540b 0x290544
    00290544
    00290544loc_290544:
    00290544ldr x1, [sp+888]
    00290548ldr x4, [sp+880]
    0029054csubs xzr, x1, 0
    00290550b.hi 0x290558
    00290554b 0x290ff4
    00290558
    00290558loc_290558:
    00290558ldr x4, [x4]
    0029055ctbz w4, 0, 0x290564
    00290560b 0x29059c
    00290564
    00290564loc_290564:
    00290564ldr x0, [sp+856]
    00290568ldr x1, [sp+864]
    0029056cldr x2, [sp+872]
    00290570mov x3, xzr
    00290574bl math/big.nat.setWord
    00290578str x0, [sp+816]
    0029057cstr x1, [sp+824]
    00290580str x2, [sp+832]
    00290584str x0, [sp+208]
    00290588str x1, [sp+216]
    0029058cstr x2, [sp+224]
    00290590ldp x29, x30, [sp-8]
    00290594add sp, sp, 848
    00290598ret x30
    0029059c
    0029059cloc_29059c:
    0029059cldr x4, [sp+928]
    002905a0subs xzr, x4, 1
    002905a4b.eq 0x2905ac
    002905a8b 0x2905e4
    002905ac
    002905acloc_2905ac:
    002905acldr x0, [sp+856]
    002905b0ldr x1, [sp+864]
    002905b4ldr x2, [sp+872]
    002905b8orr x3, xzr, 1
    002905bcbl math/big.nat.setWord
    002905c0str x0, [sp+816]
    002905c4str x1, [sp+824]
    002905c8str x2, [sp+832]
    002905ccstr x0, [sp+208]
    002905d0str x1, [sp+216]
    002905d4str x2, [sp+224]
    002905d8ldp x29, x30, [sp-8]
    002905dcadd sp, sp, 848
    002905e0ret x30
    002905e4
    002905e4loc_2905e4:
    002905e4ldr x1, [sp+928]
    002905e8add x1, x1, 63
    002905ecubfm x1, x1, 6, 63
    002905f0str x1, [sp+96]
    002905f4ldr x0, [sp+96]
    002905f8bl math/big.getNat
    002905fcstr x0, [sp+232]
    00290600ldrsb x27, [x0]
    00290604ldr x1, [x0]
    00290608ldr x2, [x0+8]
    0029060cldr x3, [x0+16]
    00290610str x1, [sp+240]
    00290614str x2, [sp+248]
    00290618str x3, [sp+256]
    0029061cadd x20, sp, 264
    00290620adr x27, 16
    00290624stp x29, x27, [sp-24]
    00290628sub x29, sp, 24
    0029062cbl fn_87cf0
    00290630sub x29, sp, 8
    00290634str xzr, [sp+192]
    00290638orr x1, xzr, 16
    0029063cstr x1, [sp+184]
    00290640b 0x290644
    00290644
    00290644loc_290644:
    00290644ldr x6, [sp+184]
    00290648ldr x7, [sp+192]
    0029064csubs xzr, x6, x7
    00290650b.gt 0x290658
    00290654b 0x29069c
    00290658
    00290658loc_290658:
    00290658ldr x1, [sp+192]
    0029065cstr x1, [sp+160]
    00290660ldr x0, [sp+96]
    00290664bl math/big.getNat
    00290668str x0, [sp+808]
    0029066cldr x1, [sp+160]
    00290670subs xzr, x1, 16
    00290674b.lo 0x29067c
    00290678b 0x290fe8
    0029067c
    0029067cloc_29067c:
    0029067cadd x6, sp, 264
    00290680str x0, [x6+3*x1]
    00290684b 0x290688
    00290688
    00290688loc_290688:
    00290688ldr x6, [sp+192]
    0029068cadd x6, x6, 1
    00290690str x6, [sp+192]
    00290694orr x1, xzr, 16
    00290698b 0x290644
    0029069c
    0029069cloc_29069c:
    0029069cldr x6, [sp+264]
    002906a0ldrsb x27, [x6]
    002906a4ldr x0, [x6]
    002906a8ldr x1, [x6+8]
    002906acldr x2, [x6+16]
    002906b0str x0, [sp+784]
    002906b4str x1, [sp+792]
    002906b8str x2, [sp+800]
    002906bcadrp x27, 0x780000
    002906c0ldr x3, [x27+2096]
    002906c4adrp x27, 0x780000
    002906c8ldr x4, [x27+2104]
    002906ccadrp x27, 0x780000
    002906d0ldr x5, [x27+2112]
    002906d4bl math/big.nat.set
    002906d8str x0, [sp+816]
    002906dcstr x1, [sp+824]
    002906e0str x2, [sp+832]
    002906e4ldr x6, [sp+264]
    002906e8ldrsb x27, [x6]
    002906ecstr x1, [x6+8]
    002906f0str x2, [x6+16]
    002906f4adrp x27, 0x7bb000
    002906f8ldr w7, [x27+3056]
    002906fccbz w7, 0x290704
    00290700b 0x290708
    00290704
    00290704loc_290704:
    00290704b 0x29071c
    00290708
    00290708loc_290708:
    00290708bl runtime.gcWriteBarrier2
    0029070cstr x0, [x25]
    00290710ldr x7, [x6]
    00290714str x7, [x25+8]
    00290718b 0x29071c
    0029071c
    0029071cloc_29071c:
    0029071cstr x0, [x6]
    00290720ldr x7, [sp+272]
    00290724ldrsb x27, [x7]
    00290728ldr x0, [x7]
    0029072cldr x1, [x7+8]
    00290730ldr x2, [x7+16]
    00290734str x0, [sp+760]
    00290738str x1, [sp+768]
    0029073cstr x2, [sp+776]
    00290740ldr x6, [sp+928]
    00290744ldr x3, [sp+880]
    00290748ldr x4, [sp+888]
    0029074cldr x5, [sp+896]
    00290750bl math/big.nat.trunc
    00290754str x0, [sp+816]
    00290758str x1, [sp+824]
    0029075cstr x2, [sp+832]
    00290760ldr x7, [sp+272]
    00290764ldrsb x27, [x7]
    00290768str x1, [x7+8]
    0029076cstr x2, [x7+16]
    00290770adrp x27, 0x7bb000
    00290774ldr w8, [x27+3056]
    00290778cbz w8, 0x290780
    0029077cb 0x290784
    00290780
    00290780loc_290780:
    00290780b 0x290798
    00290784
    00290784loc_290784:
    00290784bl runtime.gcWriteBarrier2
    00290788str x0, [x25]
    0029078cldr x6, [x7]
    00290790str x6, [x25+8]
    00290794b 0x290798
    00290798
    00290798loc_290798:
    00290798str x0, [x7]
    0029079corr x6, xzr, 2
    002907a0str x6, [sp+152]
    002907a4b 0x2907a8
    002907a8
    002907a8loc_2907a8:
    002907a8ldr x6, [sp+152]
    002907acsubs xzr, x6, 16
    002907b0b.lt 0x2907b8
    002907b4b 0x290aa0
    002907b8
    002907b8loc_2907b8:
    002907b8ldr x6, [sp+152]
    002907bcadd x6, x6, x6, lsr #63
    002907c0sbfm x0, x6, 1, 63
    002907c4subs xzr, x0, 16
    002907c8b.lo 0x2907d0
    002907ccb 0x290fe0
    002907d0
    002907d0loc_2907d0:
    002907d0add x6, sp, 264
    002907d4ldr x6, [x6+3*x0]
    002907d8str x6, [sp+392]
    002907dcldr x0, [sp+152]
    002907e0subs xzr, x0, 16
    002907e4b.lo 0x2907ec
    002907e8b 0x290fd8
    002907ec
    002907ecloc_2907ec:
    002907ecadd x6, sp, 264
    002907f0ldr x6, [x6+3*x0]
    002907f4str x6, [sp+408]
    002907f8ldr x6, [sp+152]
    002907fcadd x0, x6, 1
    00290800subs xzr, x0, 16
    00290804b.lo 0x29080c
    00290808b 0x290fd0
    0029080c
    0029080cloc_29080c:
    0029080cadd x6, sp, 264
    00290810ldr x6, [x6+3*x0]
    00290814str x6, [sp+400]
    00290818ldr x6, [sp+408]
    0029081cldrsb x27, [x6]
    00290820ldr x7, [x6]
    00290824ldr x8, [x6+8]
    00290828ldr x6, [x6+16]
    0029082cstr x7, [sp+736]
    00290830str x8, [sp+744]
    00290834str x6, [sp+752]
    00290838ldr x6, [sp+392]
    0029083cldrsb x27, [x6]
    00290840ldr x3, [x6]
    00290844ldr x4, [x6+8]
    00290848ldr x5, [x6+16]
    0029084cstr x3, [sp+712]
    00290850str x4, [sp+720]
    00290854str x5, [sp+728]
    00290858ldr x0, [sp+736]
    0029085cldr x1, [sp+744]
    00290860ldr x2, [sp+752]
    00290864bl math/big.nat.sqr
    00290868str x0, [sp+816]
    0029086cstr x1, [sp+824]
    00290870str x2, [sp+832]
    00290874ldr x6, [sp+408]
    00290878ldrsb x27, [x6]
    0029087cstr x1, [x6+8]
    00290880str x2, [x6+16]
    00290884adrp x27, 0x7bb000
    00290888ldr w7, [x27+3056]
    0029088ccbz w7, 0x290894
    00290890b 0x290898
    00290894
    00290894loc_290894:
    00290894b 0x2908ac
    00290898
    00290898loc_290898:
    00290898bl runtime.gcWriteBarrier2
    0029089cstr x0, [x25]
    002908a0ldr x7, [x6]
    002908a4str x7, [x25+8]
    002908a8b 0x2908ac
    002908ac
    002908acloc_2908ac:
    002908acstr x0, [x6]
    002908b0ldr x7, [sp+408]
    002908b4ldrsb x27, [x7]
    002908b8ldr x8, [x7]
    002908bcldr x9, [x7+8]
    002908c0ldr x7, [x7+16]
    002908c4str x8, [sp+688]
    002908c8str x9, [sp+696]
    002908ccstr x7, [sp+704]
    002908d0ldr x7, [sp+408]
    002908d4ldrsb x27, [x7]
    002908d8ldr x3, [x7]
    002908dcldr x4, [x7+8]
    002908e0ldr x5, [x7+16]
    002908e4str x3, [sp+664]
    002908e8str x4, [sp+672]
    002908ecstr x5, [sp+680]
    002908f0ldr x6, [sp+928]
    002908f4ldr x0, [sp+688]
    002908f8ldr x1, [sp+696]
    002908fcldr x2, [sp+704]
    00290900bl math/big.nat.trunc
    00290904str x0, [sp+816]
    00290908str x1, [sp+824]
    0029090cstr x2, [sp+832]
    00290910ldr x7, [sp+408]
    00290914ldrsb x27, [x7]
    00290918str x1, [x7+8]
    0029091cstr x2, [x7+16]
    00290920adrp x27, 0x7bb000
    00290924ldr w8, [x27+3056]
    00290928cbz w8, 0x290930
    0029092cb 0x290934
    00290930
    00290930loc_290930:
    00290930b 0x290948
    00290934
    00290934loc_290934:
    00290934bl runtime.gcWriteBarrier2
    00290938str x0, [x25]
    0029093cldr x9, [x7]
    00290940str x9, [x25+8]
    00290944b 0x290948
    00290948
    00290948loc_290948:
    00290948str x0, [x7]
    0029094cldr x9, [sp+400]
    00290950ldrsb x27, [x9]
    00290954ldr x10, [x9]
    00290958ldr x11, [x9+8]
    0029095cldr x9, [x9+16]
    00290960str x10, [sp+640]
    00290964str x11, [sp+648]
    00290968str x9, [sp+656]
    0029096cldr x9, [sp+408]
    00290970ldrsb x27, [x9]
    00290974ldr x3, [x9]
    00290978ldr x4, [x9+8]
    0029097cldr x5, [x9+16]
    00290980str x3, [sp+616]
    00290984str x4, [sp+624]
    00290988str x5, [sp+632]
    0029098cldr x6, [sp+880]
    00290990ldr x7, [sp+888]
    00290994ldr x8, [sp+896]
    00290998ldr x0, [sp+640]
    0029099cldr x1, [sp+648]
    002909a0ldr x2, [sp+656]
    002909a4bl math/big.nat.mul
    002909a8str x0, [sp+816]
    002909acstr x1, [sp+824]
    002909b0str x2, [sp+832]
    002909b4ldr x9, [sp+400]
    002909b8ldrsb x27, [x9]
    002909bcstr x1, [x9+8]
    002909c0str x2, [x9+16]
    002909c4adrp x27, 0x7bb000
    002909c8ldr w10, [x27+3056]
    002909cccbz w10, 0x2909d4
    002909d0b 0x2909d8
    002909d4
    002909d4loc_2909d4:
    002909d4b 0x2909ec
    002909d8
    002909d8loc_2909d8:
    002909d8bl runtime.gcWriteBarrier2
    002909dcstr x0, [x25]
    002909e0ldr x7, [x9]
    002909e4str x7, [x25+8]
    002909e8b 0x2909ec
    002909ec
    002909ecloc_2909ec:
    002909ecstr x0, [x9]
    002909f0ldr x7, [sp+400]
    002909f4ldrsb x27, [x7]
    002909f8ldr x8, [x7]
    002909fcldr x9, [x7+8]
    00290a00ldr x7, [x7+16]
    00290a04str x8, [sp+592]
    00290a08str x9, [sp+600]
    00290a0cstr x7, [sp+608]
    00290a10ldr x7, [sp+400]
    00290a14ldrsb x27, [x7]
    00290a18ldr x3, [x7]
    00290a1cldr x4, [x7+8]
    00290a20ldr x5, [x7+16]
    00290a24str x3, [sp+568]
    00290a28str x4, [sp+576]
    00290a2cstr x5, [sp+584]
    00290a30ldr x6, [sp+928]
    00290a34ldr x0, [sp+592]
    00290a38ldr x1, [sp+600]
    00290a3cldr x2, [sp+608]
    00290a40bl math/big.nat.trunc
    00290a44str x0, [sp+816]
    00290a48str x1, [sp+824]
    00290a4cstr x2, [sp+832]
    00290a50ldr x7, [sp+400]
    00290a54ldrsb x27, [x7]
    00290a58str x1, [x7+8]
    00290a5cstr x2, [x7+16]
    00290a60adrp x27, 0x7bb000
    00290a64ldr w8, [x27+3056]
    00290a68cbz w8, 0x290a70
    00290a6cb 0x290a74
    00290a70
    00290a70loc_290a70:
    00290a70b 0x290a88
    00290a74
    00290a74loc_290a74:
    00290a74bl runtime.gcWriteBarrier2
    00290a78str x0, [x25]
    00290a7cldr x6, [x7]
    00290a80str x6, [x25+8]
    00290a84b 0x290a88
    00290a88
    00290a88loc_290a88:
    00290a88str x0, [x7]
    00290a8cb 0x290a90
    00290a90
    00290a90loc_290a90:
    00290a90ldr x6, [sp+152]
    00290a94add x6, x6, 2
    00290a98str x6, [sp+152]
    00290a9cb 0x2907a8
    00290aa0
    00290aa0loc_290aa0:
    00290aa0ldr x4, [sp+912]
    00290aa4str x4, [sp+200]
    00290aa8sub x4, x4, 1
    00290aacstr x4, [sp+144]
    00290ab0ldr x4, [sp+928]
    00290ab4sub x4, x4, 2
    00290ab8ubfm x4, x4, 6, 63
    00290abcstr x4, [sp+104]
    00290ac0movn x4, 0
    00290ac4str x4, [sp+112]
    00290ac8ldr x4, [sp+928]
    00290accsub x4, x4, 1
    00290ad0and x5, x4, 63
    00290ad4str x5, [sp+120]
    00290ad8cbnz x5, 0x290ae0
    00290adcb 0x290af4
    00290ae0
    00290ae0loc_290ae0:
    00290ae0orr x3, xzr, 1
    00290ae4lslv x4, x3, x4
    00290ae8sub x4, x4, 1
    00290aecstr x4, [sp+112]
    00290af0b 0x290afc
    00290af4
    00290af4loc_290af4:
    00290af4orr x3, xzr, 1
    00290af8b 0x290afc
    00290afc
    00290afcloc_290afc:
    00290afcldr x4, [sp+104]
    00290b00ldr x5, [sp+144]
    00290b04subs xzr, x4, x5
    00290b08b.lt 0x290b10
    00290b0cb 0x290b1c
    00290b10
    00290b10loc_290b10:
    00290b10ldr x4, [sp+104]
    00290b14str x4, [sp+144]
    00290b18b 0x290b20
    00290b1c
    00290b1cloc_290b1c:
    00290b1cb 0x290b20
    00290b20
    00290b20loc_290b20:
    00290b20strb wzr, [sp+87]
    00290b24ldr x0, [sp+856]
    00290b28ldr x1, [sp+864]
    00290b2cldr x2, [sp+872]
    00290b30bl math/big.nat.setWord
    00290b34str x0, [sp+856]
    00290b38str x1, [sp+864]
    00290b3cstr x2, [sp+872]
    00290b40b 0x290b44
    00290b44
    00290b44loc_290b44:
    00290b44ldr x9, [sp+144]
    00290b48tbz x9, 63, 0x290b50
    00290b4cb 0x290ba0
    00290b50
    00290b50loc_290b50:
    00290b50ldr x0, [sp+144]
    00290b54ldr x1, [sp+912]
    00290b58ldr x9, [sp+904]
    00290b5csubs xzr, x1, x0
    00290b60b.hi 0x290b68
    00290b64b 0x290fcc
    00290b68
    00290b68loc_290b68:
    00290b68ldr x9, [x9+3*x0]
    00290b6cstr x9, [sp+88]
    00290b70ldr x10, [sp+104]
    00290b74ldr x11, [sp+144]
    00290b78subs xzr, x10, x11
    00290b7cb.eq 0x290b84
    00290b80b 0x290b94
    00290b84
    00290b84loc_290b84:
    00290b84ldr x10, [sp+112]
    00290b88and x9, x9, x10
    00290b8cstr x9, [sp+88]
    00290b90b 0x290b98
    00290b94
    00290b94loc_290b94:
    00290b94b 0x290b98
    00290b98
    00290b98loc_290b98:
    00290b98str xzr, [sp+128]
    00290b9cb 0x290c88
    00290ba0
    00290ba0loc_290ba0:
    00290ba0ldr x1, [sp+232]
    00290ba4ldrsb x27, [x1]
    00290ba8ldr x2, [sp+240]
    00290bacldr x3, [sp+248]
    00290bb0ldr x4, [sp+256]
    00290bb4str x3, [x1+8]
    00290bb8str x4, [x1+16]
    00290bbcadrp x27, 0x7bb000
    00290bc0ldr w3, [x27+3056]
    00290bc4cbz w3, 0x290bcc
    00290bc8b 0x290bd0
    00290bcc
    00290bccloc_290bcc:
    00290bccb 0x290be4
    00290bd0
    00290bd0loc_290bd0:
    00290bd0bl runtime.gcWriteBarrier2
    00290bd4str x2, [x25]
    00290bd8ldr x3, [x1]
    00290bdcstr x3, [x25+8]
    00290be0b 0x290be4
    00290be4
    00290be4loc_290be4:
    00290be4str x2, [x1]
    00290be8ldr x0, [sp+232]
    00290becbl math/big.putNat
    00290bf0str xzr, [sp+176]
    00290bf4orr x1, xzr, 16
    00290bf8str x1, [sp+168]
    00290bfcb 0x290c00
    00290c00
    00290c00loc_290c00:
    00290c00ldr x3, [sp+168]
    00290c04ldr x4, [sp+176]
    00290c08subs xzr, x3, x4
    00290c0cb.gt 0x290c14
    00290c10b 0x290c50
    00290c14
    00290c14loc_290c14:
    00290c14ldr x0, [sp+176]
    00290c18str x0, [sp+136]
    00290c1csubs xzr, x0, 16
    00290c20b.lo 0x290c28
    00290c24b 0x290c84
    00290c28
    00290c28loc_290c28:
    00290c28add x1, sp, 264
    00290c2cldr x0, [x1+3*x0]
    00290c30str x0, [sp+416]
    00290c34bl math/big.putNat
    00290c38b 0x290c3c
    00290c3c
    00290c3cloc_290c3c:
    00290c3cldr x3, [sp+176]
    00290c40add x3, x3, 1
    00290c44str x3, [sp+176]
    00290c48orr x1, xzr, 16
    00290c4cb 0x290c00
    00290c50
    00290c50loc_290c50:
    00290c50ldr x0, [sp+856]
    00290c54ldr x1, [sp+864]
    00290c58ldr x2, [sp+872]
    00290c5cbl math/big.nat.norm
    00290c60str x0, [sp+816]
    00290c64str x1, [sp+824]
    00290c68str x2, [sp+832]
    00290c6cstr x0, [sp+208]
    00290c70str x1, [sp+216]
    00290c74str x2, [sp+224]
    00290c78ldp x29, x30, [sp-8]
    00290c7cadd sp, sp, 848
    00290c80ret x30
    00290c84
    00290c84loc_290c84:
    00290c84bl runtime.panicIndex
    00290c88
    00290c88loc_290c88:
    00290c88ldr x9, [sp+128]
    00290c8csubs xzr, x9, 64
    00290c90b.lt 0x290c98
    00290c94b 0x290fb8
    00290c98
    00290c98loc_290c98:
    00290c98ldrb w9, [sp+87]
    00290c9ctbnz w9, 0, 0x290ca4
    00290ca0b 0x290edc
    00290ca4
    00290ca4loc_290ca4:
    00290ca4ldr x0, [sp+240]
    00290ca8ldr x3, [sp+856]
    00290cacldr x1, [sp+248]
    00290cb0ldr x4, [sp+864]
    00290cb4ldr x2, [sp+256]
    00290cb8ldr x5, [sp+872]
    00290cbcbl math/big.nat.sqr
    00290cc0str x0, [sp+240]
    00290cc4str x1, [sp+248]
    00290cc8str x2, [sp+256]
    00290cccstr x0, [sp+544]
    00290cd0str x1, [sp+552]
    00290cd4str x2, [sp+560]
    00290cd8ldr x6, [sp+856]
    00290cdcldr x7, [sp+864]
    00290ce0ldr x8, [sp+872]
    00290ce4str x6, [sp+240]
    00290ce8str x7, [sp+248]
    00290cecstr x8, [sp+256]
    00290cf0ldr x3, [sp+544]
    00290cf4ldr x4, [sp+552]
    00290cf8ldr x5, [sp+560]
    00290cfcstr x3, [sp+856]
    00290d00str x4, [sp+864]
    00290d04str x5, [sp+872]
    00290d08ldr x6, [sp+928]
    00290d0cmov x0, x3
    00290d10mov x1, x4
    00290d14mov x2, x5
    00290d18bl math/big.nat.trunc
    00290d1cstr x0, [sp+856]
    00290d20str x1, [sp+864]
    00290d24str x2, [sp+872]
    00290d28ldr x6, [sp+240]
    00290d2cldr x7, [sp+248]
    00290d30ldr x8, [sp+256]
    00290d34mov x3, x0
    00290d38mov x4, x1
    00290d3cmov x5, x2
    00290d40mov x0, x6
    00290d44mov x1, x7
    00290d48mov x2, x8
    00290d4cbl math/big.nat.sqr
    00290d50str x0, [sp+240]
    00290d54str x1, [sp+248]
    00290d58str x2, [sp+256]
    00290d5cstr x0, [sp+520]
    00290d60str x1, [sp+528]
    00290d64str x2, [sp+536]
    00290d68ldr x6, [sp+856]
    00290d6cldr x7, [sp+864]
    00290d70ldr x8, [sp+872]
    00290d74str x6, [sp+240]
    00290d78str x7, [sp+248]
    00290d7cstr x8, [sp+256]
    00290d80ldr x3, [sp+520]
    00290d84ldr x4, [sp+528]
    00290d88ldr x5, [sp+536]
    00290d8cstr x3, [sp+856]
    00290d90str x4, [sp+864]
    00290d94str x5, [sp+872]
    00290d98ldr x6, [sp+928]
    00290d9cmov x0, x3
    00290da0mov x1, x4
    00290da4mov x2, x5
    00290da8bl math/big.nat.trunc
    00290dacstr x0, [sp+856]
    00290db0str x1, [sp+864]
    00290db4str x2, [sp+872]
    00290db8ldr x6, [sp+240]
    00290dbcldr x7, [sp+248]
    00290dc0ldr x8, [sp+256]
    00290dc4mov x3, x0
    00290dc8mov x4, x1
    00290dccmov x5, x2
    00290dd0mov x0, x6
    00290dd4mov x1, x7
    00290dd8mov x2, x8
    00290ddcbl math/big.nat.sqr
    00290de0str x0, [sp+240]
    00290de4str x1, [sp+248]
    00290de8str x2, [sp+256]
    00290decstr x0, [sp+496]
    00290df0str x1, [sp+504]
    00290df4str x2, [sp+512]
    00290df8ldr x6, [sp+856]
    00290dfcldr x7, [sp+864]
    00290e00ldr x8, [sp+872]
    00290e04str x6, [sp+240]
    00290e08str x7, [sp+248]
    00290e0cstr x8, [sp+256]
    00290e10ldr x3, [sp+496]
    00290e14ldr x4, [sp+504]
    00290e18ldr x5, [sp+512]
    00290e1cstr x3, [sp+856]
    00290e20str x4, [sp+864]
    00290e24str x5, [sp+872]
    00290e28ldr x6, [sp+928]
    00290e2cmov x0, x3
    00290e30mov x1, x4
    00290e34mov x2, x5
    00290e38bl math/big.nat.trunc
    00290e3cstr x0, [sp+856]
    00290e40str x1, [sp+864]
    00290e44str x2, [sp+872]
    00290e48ldr x6, [sp+240]
    00290e4cldr x7, [sp+248]
    00290e50ldr x8, [sp+256]
    00290e54mov x3, x0
    00290e58mov x4, x1
    00290e5cmov x5, x2
    00290e60mov x0, x6
    00290e64mov x1, x7
    00290e68mov x2, x8
    00290e6cbl math/big.nat.sqr
    00290e70str x0, [sp+240]
    00290e74str x1, [sp+248]
    00290e78str x2, [sp+256]
    00290e7cstr x0, [sp+472]
    00290e80str x1, [sp+480]
    00290e84str x2, [sp+488]
    00290e88ldr x6, [sp+856]
    00290e8cldr x7, [sp+864]
    00290e90ldr x8, [sp+872]
    00290e94str x6, [sp+240]
    00290e98str x7, [sp+248]
    00290e9cstr x8, [sp+256]
    00290ea0ldr x3, [sp+472]
    00290ea4ldr x4, [sp+480]
    00290ea8ldr x5, [sp+488]
    00290eacstr x3, [sp+856]
    00290eb0str x4, [sp+864]
    00290eb4str x5, [sp+872]
    00290eb8ldr x6, [sp+928]
    00290ebcmov x0, x3
    00290ec0mov x1, x4
    00290ec4mov x2, x5
    00290ec8bl math/big.nat.trunc
    00290eccstr x0, [sp+856]
    00290ed0str x1, [sp+864]
    00290ed4str x2, [sp+872]
    00290ed8b 0x290ee0
    00290edc
    00290edcloc_290edc:
    00290edcb 0x290ee0
    00290ee0
    00290ee0loc_290ee0:
    00290ee0ldr x9, [sp+88]
    00290ee4ubfm x9, x9, 60, 63
    00290ee8add x10, sp, 264
    00290eecldr x9, [x10+3*x9]
    00290ef0ldrsb x27, [x9]
    00290ef4ldr x6, [x9]
    00290ef8ldr x7, [x9+8]
    00290efcldr x8, [x9+16]
    00290f00str x6, [sp+448]
    00290f04str x7, [sp+456]
    00290f08str x8, [sp+464]
    00290f0cldr x0, [sp+240]
    00290f10ldr x3, [sp+856]
    00290f14ldr x1, [sp+248]
    00290f18ldr x4, [sp+864]
    00290f1cldr x2, [sp+256]
    00290f20ldr x5, [sp+872]
    00290f24bl math/big.nat.mul
    00290f28str x0, [sp+240]
    00290f2cstr x1, [sp+248]
    00290f30str x2, [sp+256]
    00290f34str x0, [sp+424]
    00290f38str x1, [sp+432]
    00290f3cstr x2, [sp+440]
    00290f40ldr x9, [sp+856]
    00290f44ldr x10, [sp+864]
    00290f48ldr x11, [sp+872]
    00290f4cstr x9, [sp+240]
    00290f50str x10, [sp+248]
    00290f54str x11, [sp+256]
    00290f58ldr x3, [sp+424]
    00290f5cldr x4, [sp+432]
    00290f60ldr x5, [sp+440]
    00290f64str x3, [sp+856]
    00290f68str x4, [sp+864]
    00290f6cstr x5, [sp+872]
    00290f70ldr x6, [sp+928]
    00290f74mov x0, x3
    00290f78mov x1, x4
    00290f7cmov x2, x5
    00290f80bl math/big.nat.trunc
    00290f84str x0, [sp+856]
    00290f88str x1, [sp+864]
    00290f8cstr x2, [sp+872]
    00290f90ldr x9, [sp+88]
    00290f94ubfm x9, x9, 60, 59
    00290f98str x9, [sp+88]
    00290f9corr x9, xzr, 1
    00290fa0strb w9, [sp+87]
    00290fa4b 0x290fa8
    00290fa8
    00290fa8loc_290fa8:
    00290fa8ldr x10, [sp+128]
    00290facadd x10, x10, 4
    00290fb0str x10, [sp+128]
    00290fb4b 0x290c88
    00290fb8
    00290fb8loc_290fb8:
    00290fb8b 0x290fbc
    00290fbc
    00290fbcloc_290fbc:
    00290fbcldr x9, [sp+144]
    00290fc0sub x9, x9, 1
    00290fc4str x9, [sp+144]
    00290fc8b 0x290b44
    00290fcc
    00290fccloc_290fcc:
    00290fccbl runtime.panicIndex
    00290fd0
    00290fd0loc_290fd0:
    00290fd0orr x1, xzr, 16
    00290fd4bl runtime.panicIndex
    00290fd8
    00290fd8loc_290fd8:
    00290fd8orr x1, xzr, 16
    00290fdcbl runtime.panicIndex
    00290fe0
    00290fe0loc_290fe0:
    00290fe0orr x1, xzr, 16
    00290fe4bl runtime.panicIndex
    00290fe8
    00290fe8loc_290fe8:
    00290fe8mov x0, x1
    00290fecorr x1, xzr, 16
    00290ff0bl runtime.panicIndex
    00290ff4
    00290ff4loc_290ff4:
    00290ff4mov x0, xzr
    00290ff8bl runtime.panicIndex
    00290ffc
    00290ffcloc_290ffc:
    00290ffcadrp x0, 0x365000
    00291000add x0, x0, 2944
    00291004adrp x1, 0x481000
    00291008add x1, x1, 1216
    0029100cbl runtime.gopanic
    00291010hint
    00291014
    00291014loc_291014:
    00291014stp x0, x1, [sp+8]
    00291018stp x2, x3, [sp+24]
    0029101cstp x4, x5, [sp+40]
    00291020stp x6, x7, [sp+56]
    00291024stp x8, x9, [sp+72]
    00291028mov x3, x30
    0029102cbl runtime.morestack_noctxt.abi0
    00291030ldp x0, x1, [sp+8]
    00291034ldp x2, x3, [sp+24]
    00291038ldp x4, x5, [sp+40]
    0029103cldp x6, x7, [sp+56]
    00291040ldp x8, x9, [sp+72]
    00291044b 0x2904e0
    00291048udf 0
    0029104cudf 0
    002904e0
    00291050
    00291050math/big.nat.expNNMontgomery: ; void math/big.nat.expNNMontgomery(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m)
    00291050ldr x16, [x28+16]
    00291054sub x17, sp, 1136
    00291058subs xzr, x17, x16
    0029105cb.ls 0x291c3c
    00291060sub x20, sp, 1264
    00291064stp x29, x30, [x20-8]
    00291068add sp, x20, 0
    0029106csub x29, sp, 8
    00291070str x0, [sp+1272]
    00291074str x1, [sp+1280]
    00291078str x2, [sp+1288]
    0029107cstr x3, [sp+1296]
    00291080str x4, [sp+1304]
    00291084str x5, [sp+1312]
    00291088str x6, [sp+1320]
    0029108cstr x7, [sp+1328]
    00291090str x8, [sp+1336]
    00291094str x9, [sp+1344]
    00291098str x10, [sp+1352]
    0029109cstr x11, [sp+1360]
    002910a0str xzr, [sp+248]
    002910a4stp xzr, xzr, [sp+256]
    002910a8ldr x12, [sp+1352]
    002910acstr x12, [sp+144]
    002910b0ldr x13, [sp+1304]
    002910b4str x13, [sp+240]
    002910b8subs xzr, x13, x12
    002910bcb.gt 0x2910c4
    002910c0b 0x291168
    002910c4
    002910c4loc_2910c4:
    002910c4str xzr, [sp+1136]
    002910c8add x27, sp, 1144
    002910ccstp xzr, xzr, [x27]
    002910d0str xzr, [sp+1112]
    002910d4add x27, sp, 1120
    002910d8stp xzr, xzr, [x27]
    002910dcldr x6, [sp+1296]
    002910e0ldr x9, [sp+1344]
    002910e4ldr x7, [sp+1304]
    002910e8ldr x10, [sp+1352]
    002910ecldr x8, [sp+1312]
    002910f0ldr x11, [sp+1360]
    002910f4mov x0, xzr
    002910f8mov x1, xzr
    002910fcmov x2, x1
    00291100mov x3, x0
    00291104mov x4, x1
    00291108mov x5, x1
    0029110cbl math/big.nat.div
    00291110str x0, [sp+1136]
    00291114str x1, [sp+1144]
    00291118str x2, [sp+1152]
    0029111cstr x3, [sp+1112]
    00291120str x4, [sp+1120]
    00291124str x5, [sp+1128]
    00291128ldr x12, [sp+1144]
    0029112cldr x13, [sp+1152]
    00291130ldr x14, [sp+1136]
    00291134str x14, [sp+776]
    00291138str x12, [sp+784]
    0029113cstr x13, [sp+792]
    00291140ldr x12, [sp+1112]
    00291144ldr x13, [sp+1120]
    00291148ldr x14, [sp+1128]
    0029114cstr x12, [sp+752]
    00291150str x13, [sp+760]
    00291154str x14, [sp+768]
    00291158str x12, [sp+1296]
    0029115cstr x13, [sp+1304]
    00291160str x14, [sp+1312]
    00291164b 0x29116c
    00291168
    00291168loc_291168:
    00291168b 0x29116c
    0029116c
    0029116cloc_29116c:
    0029116cldr x4, [sp+1304]
    00291170str x4, [sp+240]
    00291174ldr x5, [sp+144]
    00291178subs xzr, x4, x5
    0029117cb.lt 0x291184
    00291180b 0x291244
    00291184
    00291184loc_291184:
    00291184ldr x2, [sp+144]
    00291188ldr x1, [sp+144]
    0029118cadrp x0, 0x365000
    00291190add x0, x0, 2624
    00291194bl runtime.makeslice
    00291198ldr x3, [sp+144]
    0029119cldr x4, [sp+144]
    002911a0str x0, [sp+296]
    002911a4str x3, [sp+304]
    002911a8str x4, [sp+312]
    002911acstr x0, [sp+1088]
    002911b0str x3, [sp+1096]
    002911b4str x4, [sp+1104]
    002911b8ldr x3, [sp+1304]
    002911bcldr x4, [sp+1296]
    002911c0ldr x5, [sp+1312]
    002911c4str x4, [sp+1064]
    002911c8str x3, [sp+1072]
    002911ccstr x5, [sp+1080]
    002911d0ldr x4, [sp+1096]
    002911d4str x4, [sp+232]
    002911d8subs xzr, x4, x3
    002911dcb.gt 0x2911e4
    002911e0b 0x2911ec
    002911e4
    002911e4loc_2911e4:
    002911e4str x3, [sp+232]
    002911e8b 0x2911f0
    002911ec
    002911ecloc_2911ec:
    002911ecb 0x2911f0
    002911f0
    002911f0loc_2911f0:
    002911f0ldr x4, [sp+1064]
    002911f4ldr x5, [sp+1088]
    002911f8subs xzr, x4, x5
    002911fcb.ne 0x291204
    00291200b 0x291224
    00291204
    00291204loc_291204:
    00291204ldr x3, [sp+232]
    00291208str x3, [sp+224]
    0029120cldr x3, [sp+224]
    00291210ubfm x2, x3, 61, 60
    00291214ldr x1, [sp+1064]
    00291218ldr x0, [sp+1088]
    0029121cbl runtime.memmove
    00291220b 0x291228
    00291224
    00291224loc_291224:
    00291224b 0x291228
    00291228
    00291228loc_291228:
    00291228ldr x4, [sp+296]
    0029122cldr x5, [sp+304]
    00291230ldr x6, [sp+312]
    00291234str x4, [sp+1296]
    00291238str x5, [sp+1304]
    0029123cstr x6, [sp+1312]
    00291240b 0x291248
    00291244
    00291244loc_291244:
    00291244b 0x291248
    00291248
    00291248loc_291248:
    00291248ldr x1, [sp+1352]
    0029124cldr x4, [sp+1344]
    00291250subs xzr, x1, 0
    00291254b.hi 0x29125c
    00291258b 0x291c30
    0029125c
    0029125cloc_29125c:
    0029125cldr x4, [x4]
    00291260orr x5, xzr, 2
    00291264sub x4, x5, x4
    00291268str x4, [sp+152]
    0029126cldr x1, [sp+1352]
    00291270ldr x4, [sp+1344]
    00291274subs xzr, x1, 0
    00291278b.hi 0x291280
    0029127cb 0x291c28
    00291280
    00291280loc_291280:
    00291280ldr x4, [x4]
    00291284sub x4, x4, 1
    00291288str x4, [sp+136]
    0029128corr x4, xzr, 1
    00291290str x4, [sp+184]
    00291294b 0x291298
    00291298
    00291298loc_291298:
    00291298ldr x4, [sp+184]
    0029129csubs xzr, x4, 64
    002912a0b.lt 0x2912a8
    002912a4b 0x2912dc
    002912a8
    002912a8loc_2912a8:
    002912a8ldr x4, [sp+136]
    002912acldr x5, [sp+136]
    002912b0madd x4, x5, x4, xzr
    002912b4str x4, [sp+136]
    002912b8ldr x5, [sp+152]
    002912bcadd x4, x4, 1
    002912c0madd x4, x5, x4, xzr
    002912c4str x4, [sp+152]
    002912c8b 0x2912cc
    002912cc
    002912ccloc_2912cc:
    002912ccldr x4, [sp+184]
    002912d0ubfm x4, x4, 63, 62
    002912d4str x4, [sp+184]
    002912d8b 0x291298
    002912dc
    002912dcloc_2912dc:
    002912dcldr x4, [sp+152]
    002912e0sub x4, xzr, x4
    002912e4str x4, [sp+152]
    002912e8mov x0, xzr
    002912ecmov x1, xzr
    002912f0mov x2, x1
    002912f4orr x3, xzr, 1
    002912f8bl math/big.nat.setWord
    002912fcstr x0, [sp+728]
    00291300str x1, [sp+736]
    00291304str x2, [sp+744]
    00291308ldr x4, [sp+144]
    0029130cubfm x6, x4, 57, 56
    00291310mov x3, x0
    00291314mov x4, x1
    00291318mov x5, x2
    0029131cmov x0, xzr
    00291320mov x1, xzr
    00291324mov x2, x1
    00291328bl math/big.nat.shl
    0029132cstr x0, [sp+272]
    00291330str x1, [sp+280]
    00291334str x2, [sp+288]
    00291338str xzr, [sp+1112]
    0029133cadd x27, sp, 1120
    00291340stp xzr, xzr, [x27]
    00291344str xzr, [sp+1136]
    00291348add x27, sp, 1144
    0029134cstp xzr, xzr, [x27]
    00291350ldr x3, [sp+728]
    00291354ldr x6, [sp+272]
    00291358ldr x9, [sp+1344]
    0029135cldr x4, [sp+736]
    00291360ldr x7, [sp+280]
    00291364ldr x10, [sp+1352]
    00291368ldr x5, [sp+744]
    0029136cldr x8, [sp+288]
    00291370ldr x11, [sp+1360]
    00291374mov x0, xzr
    00291378mov x1, xzr
    0029137cmov x2, x1
    00291380bl math/big.nat.div
    00291384str x0, [sp+1112]
    00291388str x1, [sp+1120]
    0029138cstr x2, [sp+1128]
    00291390str x3, [sp+1136]
    00291394str x4, [sp+1144]
    00291398str x5, [sp+1152]
    0029139cldr x4, [sp+1120]
    002913a0ldr x5, [sp+1128]
    002913a4ldr x6, [sp+1112]
    002913a8str x6, [sp+1232]
    002913acstr x4, [sp+1240]
    002913b0str x5, [sp+1248]
    002913b4ldr x4, [sp+1144]
    002913b8ldr x5, [sp+1136]
    002913bcldr x6, [sp+1152]
    002913c0str x5, [sp+1208]
    002913c4str x4, [sp+1216]
    002913c8str x6, [sp+1224]
    002913ccstr x5, [sp+728]
    002913d0str x4, [sp+736]
    002913d4str x6, [sp+744]
    002913d8str x4, [sp+240]
    002913dcldr x5, [sp+144]
    002913e0subs xzr, x5, x4
    002913e4b.gt 0x2913ec
    002913e8b 0x2914a4
    002913ec
    002913ecloc_2913ec:
    002913ecldr x3, [sp+144]
    002913f0ldr x0, [sp+272]
    002913f4ldr x1, [sp+280]
    002913f8ldr x2, [sp+288]
    002913fcbl math/big.nat.make
    00291400str x0, [sp+272]
    00291404str x1, [sp+280]
    00291408str x2, [sp+288]
    0029140cstr x0, [sp+1040]
    00291410str x1, [sp+1048]
    00291414str x2, [sp+1056]
    00291418ldr x4, [sp+736]
    0029141cldr x5, [sp+744]
    00291420ldr x6, [sp+728]
    00291424str x6, [sp+1016]
    00291428str x4, [sp+1024]
    0029142cstr x5, [sp+1032]
    00291430ldr x5, [sp+1048]
    00291434str x5, [sp+216]
    00291438subs xzr, x5, x4
    0029143cb.gt 0x291444
    00291440b 0x29144c
    00291444
    00291444loc_291444:
    00291444str x4, [sp+216]
    00291448b 0x291450
    0029144c
    0029144cloc_29144c:
    0029144cb 0x291450
    00291450
    00291450loc_291450:
    00291450ldr x3, [sp+1016]
    00291454ldr x4, [sp+1040]
    00291458subs xzr, x3, x4
    0029145cb.ne 0x291464
    00291460b 0x291484
    00291464
    00291464loc_291464:
    00291464ldr x3, [sp+216]
    00291468str x3, [sp+208]
    0029146cldr x3, [sp+208]
    00291470ubfm x2, x3, 61, 60
    00291474ldr x1, [sp+1016]
    00291478ldr x0, [sp+1040]
    0029147cbl runtime.memmove
    00291480b 0x291488
    00291484
    00291484loc_291484:
    00291484b 0x291488
    00291488
    00291488loc_291488:
    00291488ldr x3, [sp+272]
    0029148cldr x4, [sp+280]
    00291490ldr x5, [sp+288]
    00291494str x3, [sp+728]
    00291498str x4, [sp+736]
    0029149cstr x5, [sp+744]
    002914a0b 0x2914a8
    002914a4
    002914a4loc_2914a4:
    002914a4b 0x2914a8
    002914a8
    002914a8loc_2914a8:
    002914a8ldr x2, [sp+144]
    002914acldr x1, [sp+144]
    002914b0adrp x0, 0x365000
    002914b4add x0, x0, 2624
    002914b8bl runtime.makeslice
    002914bcldr x1, [sp+144]
    002914c0ldr x3, [sp+144]
    002914c4str x0, [sp+704]
    002914c8str x1, [sp+712]
    002914ccstr x3, [sp+720]
    002914d0subs xzr, x1, 0
    002914d4b.hi 0x2914dc
    002914d8b 0x291c20
    002914dc
    002914dcloc_2914dc:
    002914dcorr x14, xzr, 1
    002914e0str x14, [x0]
    002914e4add x20, sp, 320
    002914e8adr x27, 16
    002914ecstp x29, x27, [sp-24]
    002914f0sub x29, sp, 24
    002914f4bl fn_87cb0
    002914f8sub x29, sp, 8
    002914fcldr x0, [sp+320]
    00291500str x0, [sp+992]
    00291504add x27, sp, 1000
    00291508stp xzr, xzr, [x27]
    0029150cldr x13, [sp+144]
    00291510ldr x12, [sp+152]
    00291514ldr x3, [sp+704]
    00291518ldr x6, [sp+728]
    0029151cldr x9, [sp+1344]
    00291520ldr x4, [sp+712]
    00291524ldr x7, [sp+736]
    00291528ldr x10, [sp+1352]
    0029152cldr x5, [sp+720]
    00291530ldr x8, [sp+744]
    00291534ldr x11, [sp+1360]
    00291538mov x1, xzr
    0029153cmov x2, xzr
    00291540bl math/big.nat.montgomery
    00291544str x0, [sp+1136]
    00291548str x1, [sp+1144]
    0029154cstr x2, [sp+1152]
    00291550str x0, [sp+320]
    00291554str x1, [sp+328]
    00291558str x2, [sp+336]
    0029155cldr x0, [sp+344]
    00291560ldr x1, [sp+352]
    00291564ldr x2, [sp+360]
    00291568str x0, [sp+968]
    0029156cstr x1, [sp+976]
    00291570str x2, [sp+984]
    00291574ldr x13, [sp+144]
    00291578ldr x12, [sp+152]
    0029157cldr x3, [sp+1296]
    00291580ldr x6, [sp+728]
    00291584ldr x9, [sp+1344]
    00291588ldr x4, [sp+1304]
    0029158cldr x7, [sp+736]
    00291590ldr x10, [sp+1352]
    00291594ldr x5, [sp+1312]
    00291598ldr x8, [sp+744]
    0029159cldr x11, [sp+1360]
    002915a0bl math/big.nat.montgomery
    002915a4str x0, [sp+1136]
    002915a8str x1, [sp+1144]
    002915acstr x2, [sp+1152]
    002915b0str x0, [sp+344]
    002915b4str x1, [sp+352]
    002915b8str x2, [sp+360]
    002915bcorr x14, xzr, 2
    002915c0str x14, [sp+176]
    002915c4b 0x2915c8
    002915c8
    002915c8loc_2915c8:
    002915c8ldr x14, [sp+176]
    002915ccsubs xzr, x14, 16
    002915d0b.lt 0x2915d8
    002915d4b 0x2916dc
    002915d8
    002915d8loc_2915d8:
    002915d8ldr x0, [sp+176]
    002915dcsubs xzr, x0, 16
    002915e0b.lo 0x2915e8
    002915e4b 0x291c18
    002915e8
    002915e8loc_2915e8:
    002915e8sub x14, x0, x0, lsl #2
    002915ecadd x15, sp, 320
    002915f0sub x14, x15, x14, lsl #3
    002915f4ldr x15, [x14]
    002915f8ldr x16, [x14+8]
    002915fcldr x14, [x14+16]
    00291600str x15, [sp+944]
    00291604str x16, [sp+952]
    00291608str x14, [sp+960]
    0029160cldr x14, [sp+176]
    00291610sub x0, x14, 1
    00291614subs xzr, x0, 16
    00291618b.lo 0x291620
    0029161cb 0x291c10
    00291620
    00291620loc_291620:
    00291620add x14, x14, x14, lsl #1
    00291624ubfm x14, x14, 61, 60
    00291628sub x14, x14, 24
    0029162cadd x15, sp, 320
    00291630ldr x16, [x15+x14]
    00291634add x14, x15, x14
    00291638ldr x15, [x14+8]
    0029163cldr x14, [x14+16]
    00291640str x16, [sp+920]
    00291644str x15, [sp+928]
    00291648str x14, [sp+936]
    0029164cldr x6, [sp+344]
    00291650ldr x7, [sp+352]
    00291654ldr x8, [sp+360]
    00291658str x6, [sp+896]
    0029165cstr x7, [sp+904]
    00291660str x8, [sp+912]
    00291664ldr x13, [sp+144]
    00291668ldr x12, [sp+152]
    0029166cldr x9, [sp+1344]
    00291670ldr x10, [sp+1352]
    00291674ldr x11, [sp+1360]
    00291678ldr x3, [sp+920]
    0029167cldr x4, [sp+928]
    00291680ldr x5, [sp+936]
    00291684ldr x0, [sp+944]
    00291688ldr x1, [sp+952]
    0029168cldr x2, [sp+960]
    00291690bl math/big.nat.montgomery
    00291694str x0, [sp+1136]
    00291698str x1, [sp+1144]
    0029169cstr x2, [sp+1152]
    002916a0ldr x14, [sp+176]
    002916a4subs xzr, x14, 16
    002916a8b.lo 0x2916b0
    002916acb 0x291c04
    002916b0
    002916b0loc_2916b0:
    002916b0sub x14, x14, x14, lsl #2
    002916b4add x15, sp, 320
    002916b8sub x14, x15, x14, lsl #3
    002916bcstr x0, [x14]
    002916c0str x1, [x14+8]
    002916c4str x2, [x14+16]
    002916c8b 0x2916cc
    002916cc
    002916ccloc_2916cc:
    002916ccldr x14, [sp+176]
    002916d0add x14, x14, 1
    002916d4str x14, [sp+176]
    002916d8b 0x2915c8
    002916dc
    002916dcloc_2916dc:
    002916dcldr x3, [sp+144]
    002916e0ldr x0, [sp+1272]
    002916e4ldr x1, [sp+1280]
    002916e8ldr x2, [sp+1288]
    002916ecbl math/big.nat.make
    002916f0str x0, [sp+1272]
    002916f4str x1, [sp+1280]
    002916f8str x2, [sp+1288]
    002916fcstr x0, [sp+872]
    00291700str x1, [sp+880]
    00291704str x2, [sp+888]
    00291708ldr x4, [sp+328]
    0029170cldr x5, [sp+336]
    00291710ldr x6, [sp+320]
    00291714str x6, [sp+848]
    00291718str x4, [sp+856]
    0029171cstr x5, [sp+864]
    00291720ldr x5, [sp+880]
    00291724str x5, [sp+200]
    00291728subs xzr, x5, x4
    0029172cb.gt 0x291734
    00291730b 0x29173c
    00291734
    00291734loc_291734:
    00291734str x4, [sp+200]
    00291738b 0x291740
    0029173c
    0029173cloc_29173c:
    0029173cb 0x291740
    00291740
    00291740loc_291740:
    00291740ldr x4, [sp+848]
    00291744ldr x5, [sp+872]
    00291748subs xzr, x4, x5
    0029174cb.ne 0x291754
    00291750b 0x291774
    00291754
    00291754loc_291754:
    00291754ldr x3, [sp+200]
    00291758str x3, [sp+192]
    0029175cldr x3, [sp+192]
    00291760ubfm x2, x3, 61, 60
    00291764ldr x1, [sp+848]
    00291768ldr x0, [sp+872]
    0029176cbl runtime.memmove
    00291770b 0x291778
    00291774
    00291774loc_291774:
    00291774b 0x291778
    00291778
    00291778loc_291778:
    00291778ldr x3, [sp+144]
    0029177cldr x0, [sp+272]
    00291780ldr x1, [sp+280]
    00291784ldr x2, [sp+288]
    00291788bl math/big.nat.make
    0029178cstr x0, [sp+272]
    00291790str x1, [sp+280]
    00291794str x2, [sp+288]
    00291798ldr x4, [sp+1328]
    0029179cstr x4, [sp+240]
    002917a0sub x4, x4, 1
    002917a4str x4, [sp+168]
    002917a8b 0x2917ac
    002917ac
    002917acloc_2917ac:
    002917acldr x14, [sp+168]
    002917b0tbz x14, 63, 0x2917b8
    002917b4b 0x2917e0
    002917b8
    002917b8loc_2917b8:
    002917b8ldr x0, [sp+168]
    002917bcldr x1, [sp+1328]
    002917c0ldr x14, [sp+1320]
    002917c4subs xzr, x1, x0
    002917c8b.hi 0x2917d0
    002917ccb 0x291c00
    002917d0
    002917d0loc_2917d0:
    002917d0ldr x14, [x14+3*x0]
    002917d4str x14, [sp+128]
    002917d8str xzr, [sp+160]
    002917dcb 0x291978
    002917e0
    002917e0loc_2917e0:
    002917e0ldr x13, [sp+144]
    002917e4ldr x12, [sp+152]
    002917e8ldr x0, [sp+272]
    002917ecldr x3, [sp+1272]
    002917f0ldr x6, [sp+704]
    002917f4ldr x9, [sp+1344]
    002917f8ldr x1, [sp+280]
    002917fcldr x4, [sp+1280]
    00291800ldr x7, [sp+712]
    00291804ldr x10, [sp+1352]
    00291808ldr x2, [sp+288]
    0029180cldr x5, [sp+1288]
    00291810ldr x8, [sp+720]
    00291814ldr x11, [sp+1360]
    00291818bl math/big.nat.montgomery
    0029181cstr x0, [sp+272]
    00291820str x1, [sp+280]
    00291824str x2, [sp+288]
    00291828ldr x4, [sp+1352]
    0029182cldr x5, [sp+1360]
    00291830ldr x3, [sp+1344]
    00291834bl math/big.nat.cmp
    00291838str x0, [sp+240]
    0029183ctbz x0, 63, 0x291844
    00291840b 0x291940
    00291844
    00291844loc_291844:
    00291844ldr x0, [sp+272]
    00291848ldr x3, [sp+272]
    0029184cldr x6, [sp+1344]
    00291850ldr x1, [sp+280]
    00291854ldr x4, [sp+280]
    00291858ldr x7, [sp+1352]
    0029185cldr x2, [sp+288]
    00291860ldr x5, [sp+288]
    00291864ldr x8, [sp+1360]
    00291868bl math/big.nat.sub
    0029186cstr x0, [sp+272]
    00291870str x1, [sp+280]
    00291874str x2, [sp+288]
    00291878ldr x4, [sp+1352]
    0029187cldr x5, [sp+1360]
    00291880ldr x3, [sp+1344]
    00291884bl math/big.nat.cmp
    00291888str x0, [sp+240]
    0029188ctbz x0, 63, 0x291894
    00291890b 0x291938
    00291894
    00291894loc_291894:
    00291894str xzr, [sp+1136]
    00291898add x27, sp, 1144
    0029189cstp xzr, xzr, [x27]
    002918a0str xzr, [sp+1112]
    002918a4add x27, sp, 1120
    002918a8stp xzr, xzr, [x27]
    002918acldr x6, [sp+272]
    002918b0ldr x9, [sp+1344]
    002918b4ldr x7, [sp+280]
    002918b8ldr x10, [sp+1352]
    002918bcldr x8, [sp+288]
    002918c0ldr x11, [sp+1360]
    002918c4mov x0, xzr
    002918c8mov x1, xzr
    002918ccmov x2, x1
    002918d0mov x3, x0
    002918d4mov x4, x1
    002918d8mov x5, x1
    002918dcbl math/big.nat.div
    002918e0str x0, [sp+1136]
    002918e4str x1, [sp+1144]
    002918e8str x2, [sp+1152]
    002918ecstr x3, [sp+1112]
    002918f0str x4, [sp+1120]
    002918f4str x5, [sp+1128]
    002918f8ldr x12, [sp+1144]
    002918fcldr x13, [sp+1152]
    00291900ldr x14, [sp+1136]
    00291904str x14, [sp+1184]
    00291908str x12, [sp+1192]
    0029190cstr x13, [sp+1200]
    00291910ldr x12, [sp+1112]
    00291914ldr x13, [sp+1120]
    00291918ldr x14, [sp+1128]
    0029191cstr x12, [sp+1160]
    00291920str x13, [sp+1168]
    00291924str x14, [sp+1176]
    00291928str x12, [sp+272]
    0029192cstr x13, [sp+280]
    00291930str x14, [sp+288]
    00291934b 0x29193c
    00291938
    00291938loc_291938:
    00291938b 0x29193c
    0029193c
    0029193cloc_29193c:
    0029193cb 0x291944
    00291940
    00291940loc_291940:
    00291940b 0x291944
    00291944
    00291944loc_291944:
    00291944ldr x0, [sp+272]
    00291948ldr x1, [sp+280]
    0029194cldr x2, [sp+288]
    00291950bl math/big.nat.norm
    00291954str x0, [sp+1112]
    00291958str x1, [sp+1120]
    0029195cstr x2, [sp+1128]
    00291960str x0, [sp+248]
    00291964str x1, [sp+256]
    00291968str x2, [sp+264]
    0029196cldp x29, x30, [sp-8]
    00291970add sp, sp, 1264
    00291974ret x30
    00291978
    00291978loc_291978:
    00291978ldr x14, [sp+160]
    0029197csubs xzr, x14, 64
    00291980b.lt 0x291988
    00291984b 0x291bec
    00291988
    00291988loc_291988:
    00291988ldr x14, [sp+1328]
    0029198cstr x14, [sp+240]
    00291990ldr x15, [sp+168]
    00291994sub x14, x14, 1
    00291998subs xzr, x15, x14
    0029199ccset x14, ne
    002919a0strb w14, [sp+127]
    002919a4b.ne 0x2919ac
    002919a8b 0x2919b0
    002919ac
    002919acloc_2919ac:
    002919acb 0x2919c4
    002919b0
    002919b0loc_2919b0:
    002919b0ldr x14, [sp+160]
    002919b4subs xzr, x14, 0
    002919b8cset x14, ne
    002919bcstrb w14, [sp+127]
    002919c0b 0x2919c4
    002919c4
    002919c4loc_2919c4:
    002919c4ldrb w14, [sp+127]
    002919c8tbnz w14, 0, 0x2919d0
    002919ccb 0x291b18
    002919d0
    002919d0loc_2919d0:
    002919d0ldr x13, [sp+144]
    002919d4ldr x12, [sp+152]
    002919d8ldr x0, [sp+272]
    002919dcldr x3, [sp+1272]
    002919e0ldr x6, [sp+1272]
    002919e4ldr x9, [sp+1344]
    002919e8ldr x1, [sp+280]
    002919ecldr x4, [sp+1280]
    002919f0ldr x7, [sp+1280]
    002919f4ldr x10, [sp+1352]
    002919f8ldr x2, [sp+288]
    002919fcldr x5, [sp+1288]
    00291a00ldr x8, [sp+1288]
    00291a04ldr x11, [sp+1360]
    00291a08bl math/big.nat.montgomery
    00291a0cstr x0, [sp+272]
    00291a10str x1, [sp+280]
    00291a14str x2, [sp+288]
    00291a18ldr x13, [sp+144]
    00291a1cldr x12, [sp+152]
    00291a20ldr x14, [sp+1272]
    00291a24ldr x9, [sp+1344]
    00291a28ldr x15, [sp+1280]
    00291a2cldr x10, [sp+1352]
    00291a30ldr x16, [sp+1288]
    00291a34ldr x11, [sp+1360]
    00291a38mov x3, x0
    00291a3cmov x4, x1
    00291a40mov x5, x2
    00291a44mov x6, x3
    00291a48mov x7, x4
    00291a4cmov x8, x5
    00291a50mov x0, x14
    00291a54mov x1, x15
    00291a58mov x2, x16
    00291a5cbl math/big.nat.montgomery
    00291a60str x0, [sp+1272]
    00291a64str x1, [sp+1280]
    00291a68str x2, [sp+1288]
    00291a6cldr x13, [sp+144]
    00291a70ldr x12, [sp+152]
    00291a74ldr x14, [sp+272]
    00291a78ldr x9, [sp+1344]
    00291a7cldr x15, [sp+280]
    00291a80ldr x10, [sp+1352]
    00291a84ldr x16, [sp+288]
    00291a88ldr x11, [sp+1360]
    00291a8cmov x3, x0
    00291a90mov x4, x1
    00291a94mov x5, x2
    00291a98mov x6, x3
    00291a9cmov x7, x4
    00291aa0mov x8, x5
    00291aa4mov x0, x14
    00291aa8mov x1, x15
    00291aacmov x2, x16
    00291ab0bl math/big.nat.montgomery
    00291ab4str x0, [sp+272]
    00291ab8str x1, [sp+280]
    00291abcstr x2, [sp+288]
    00291ac0ldr x13, [sp+144]
    00291ac4ldr x12, [sp+152]
    00291ac8ldr x14, [sp+1272]
    00291accldr x9, [sp+1344]
    00291ad0ldr x15, [sp+1280]
    00291ad4ldr x10, [sp+1352]
    00291ad8ldr x16, [sp+1288]
    00291adcldr x11, [sp+1360]
    00291ae0mov x3, x0
    00291ae4mov x4, x1
    00291ae8mov x5, x2
    00291aecmov x6, x3
    00291af0mov x7, x4
    00291af4mov x8, x5
    00291af8mov x0, x14
    00291afcmov x1, x15
    00291b00mov x2, x16
    00291b04bl math/big.nat.montgomery
    00291b08str x0, [sp+1272]
    00291b0cstr x1, [sp+1280]
    00291b10str x2, [sp+1288]
    00291b14b 0x291b1c
    00291b18
    00291b18loc_291b18:
    00291b18b 0x291b1c
    00291b1c
    00291b1cloc_291b1c:
    00291b1cldr x14, [sp+128]
    00291b20ubfm x14, x14, 60, 63
    00291b24sub x14, x14, x14, lsl #2
    00291b28add x15, sp, 320
    00291b2csub x14, x15, x14, lsl #3
    00291b30ldr x6, [x14]
    00291b34ldr x7, [x14+8]
    00291b38ldr x8, [x14+16]
    00291b3cstr x6, [sp+824]
    00291b40str x7, [sp+832]
    00291b44str x8, [sp+840]
    00291b48ldr x13, [sp+144]
    00291b4cldr x12, [sp+152]
    00291b50ldr x0, [sp+272]
    00291b54ldr x3, [sp+1272]
    00291b58ldr x9, [sp+1344]
    00291b5cldr x1, [sp+280]
    00291b60ldr x4, [sp+1280]
    00291b64ldr x10, [sp+1352]
    00291b68ldr x2, [sp+288]
    00291b6cldr x5, [sp+1288]
    00291b70ldr x11, [sp+1360]
    00291b74bl math/big.nat.montgomery
    00291b78str x0, [sp+272]
    00291b7cstr x1, [sp+280]
    00291b80str x2, [sp+288]
    00291b84ldr x14, [sp+1272]
    00291b88ldr x15, [sp+1280]
    00291b8cldr x16, [sp+1288]
    00291b90str x14, [sp+800]
    00291b94str x15, [sp+808]
    00291b98str x16, [sp+816]
    00291b9cldr x14, [sp+272]
    00291ba0ldr x15, [sp+280]
    00291ba4ldr x16, [sp+288]
    00291ba8str x14, [sp+1272]
    00291bacstr x15, [sp+1280]
    00291bb0str x16, [sp+1288]
    00291bb4ldr x14, [sp+800]
    00291bb8ldr x15, [sp+808]
    00291bbcldr x16, [sp+816]
    00291bc0str x14, [sp+272]
    00291bc4str x15, [sp+280]
    00291bc8str x16, [sp+288]
    00291bccldr x14, [sp+128]
    00291bd0ubfm x14, x14, 60, 59
    00291bd4str x14, [sp+128]
    00291bd8b 0x291bdc
    00291bdc
    00291bdcloc_291bdc:
    00291bdcldr x14, [sp+160]
    00291be0add x14, x14, 4
    00291be4str x14, [sp+160]
    00291be8b 0x291978
    00291bec
    00291becloc_291bec:
    00291becb 0x291bf0
    00291bf0
    00291bf0loc_291bf0:
    00291bf0ldr x14, [sp+168]
    00291bf4sub x14, x14, 1
    00291bf8str x14, [sp+168]
    00291bfcb 0x2917ac
    00291c00
    00291c00loc_291c00:
    00291c00bl runtime.panicIndex
    00291c04
    00291c04loc_291c04:
    00291c04mov x0, x14
    00291c08orr x1, xzr, 16
    00291c0cbl runtime.panicIndex
    00291c10
    00291c10loc_291c10:
    00291c10orr x1, xzr, 16
    00291c14bl runtime.panicIndex
    00291c18
    00291c18loc_291c18:
    00291c18orr x1, xzr, 16
    00291c1cbl runtime.panicIndex
    00291c20
    00291c20loc_291c20:
    00291c20mov x0, xzr
    00291c24bl runtime.panicIndex
    00291c28
    00291c28loc_291c28:
    00291c28mov x0, xzr
    00291c2cbl runtime.panicIndex
    00291c30
    00291c30loc_291c30:
    00291c30mov x0, xzr
    00291c34bl runtime.panicIndex
    00291c38hint
    00291c3c
    00291c3cloc_291c3c:
    00291c3cstp x0, x1, [sp+8]
    00291c40stp x2, x3, [sp+24]
    00291c44stp x4, x5, [sp+40]
    00291c48stp x6, x7, [sp+56]
    00291c4cstp x8, x9, [sp+72]
    00291c50stp x10, x11, [sp+88]
    00291c54mov x3, x30
    00291c58bl runtime.morestack_noctxt.abi0
    00291c5cldp x0, x1, [sp+8]
    00291c60ldp x2, x3, [sp+24]
    00291c64ldp x4, x5, [sp+40]
    00291c68ldp x6, x7, [sp+56]
    00291c6cldp x8, x9, [sp+72]
    00291c70ldp x10, x11, [sp+88]
    00291c74b 0x291050
    00291c78udf 0
    00291c7cudf 0
    00291050