File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
00290170
00290170math/big.nat.expNNMontgomeryEven: ; void math/big.nat.expNNMontgomeryEven(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m)
00290170ldr x16, [x28+16]
00290174sub x17, sp, 176
00290178subs xzr, x17, x16
0029017cb.ls 0x2904a4
00290180sub x20, sp, 304
00290184stp x29, x30, [x20-8]
00290188add sp, x20, 0
0029018csub x29, sp, 8
00290190str x0, [sp+312]
00290194str x1, [sp+320]
00290198str x2, [sp+328]
0029019cstr x3, [sp+336]
002901a0str x4, [sp+344]
002901a4str x5, [sp+352]
002901a8str x6, [sp+360]
002901acstr x7, [sp+368]
002901b0str x8, [sp+376]
002901b4str x9, [sp+384]
002901b8str x10, [sp+392]
002901bcstr x11, [sp+400]
002901c0str xzr, [sp+128]
002901c4stp xzr, xzr, [sp+136]
002901c8ldr x0, [sp+384]
002901ccldr x1, [sp+392]
002901d0ldr x2, [sp+400]
002901d4bl math/big.nat.trailingZeroBits
002901d8str x0, [sp+120]
002901dcadrp x27, 0x780000
002901e0ldr x3, [x27+2096]
002901e4adrp x27, 0x780000
002901e8ldr x4, [x27+2104]
002901ecadrp x27, 0x780000
002901f0ldr x5, [x27+2112]
002901f4mov x1, xzr
002901f8mov x2, x1
002901fcmov x6, x0
00290200mov x0, xzr
00290204bl math/big.nat.shl
00290208str x0, [sp+248]
0029020cstr x1, [sp+256]
00290210str x2, [sp+264]
00290214ldr x6, [sp+120]
00290218ldr x3, [sp+384]
0029021cldr x4, [sp+392]
00290220ldr x5, [sp+400]
00290224mov x0, xzr
00290228mov x1, xzr
0029022cmov x2, x1
00290230bl math/big.nat.shr
00290234str x0, [sp+224]
00290238str x1, [sp+232]
0029023cstr x2, [sp+240]
00290240ldr x3, [sp+336]
00290244ldr x6, [sp+360]
00290248ldr x9, [sp+248]
0029024cldr x4, [sp+344]
00290250ldr x7, [sp+368]
00290254ldr x10, [sp+256]
00290258ldr x5, [sp+352]
0029025cldr x8, [sp+376]
00290260ldr x11, [sp+264]
00290264mov x0, xzr
00290268mov x1, xzr
0029026cmov x2, x1
00290270mov x12, xzr
00290274bl math/big.nat.expNN
00290278str x0, [sp+176]
0029027cstr x1, [sp+184]
00290280str x2, [sp+192]
00290284ldr x3, [sp+336]
00290288ldr x6, [sp+360]
0029028cldr x9, [sp+224]
00290290ldr x4, [sp+344]
00290294ldr x7, [sp+368]
00290298ldr x10, [sp+232]
0029029cldr x5, [sp+352]
002902a0ldr x8, [sp+376]
002902a4ldr x11, [sp+240]
002902a8mov x0, xzr
002902acmov x1, xzr
002902b0mov x2, x1
002902b4mov x12, xzr
002902b8bl math/big.nat.expNN
002902bcstr x0, [sp+152]
002902c0str x1, [sp+160]
002902c4str x2, [sp+168]
002902c8ldr x3, [sp+312]
002902ccldr x4, [sp+320]
002902d0ldr x5, [sp+328]
002902d4mov x6, x0
002902d8mov x0, x3
002902dcmov x7, x1
002902e0mov x1, x4
002902e4mov x8, x2
002902e8mov x2, x5
002902ecmov x3, x6
002902f0mov x4, x7
002902f4mov x5, x8
002902f8bl math/big.nat.set
002902fcstr x0, [sp+312]
00290300str x1, [sp+320]
00290304str x2, [sp+328]
00290308ldr x9, [sp+120]
0029030cldr x0, [sp+176]
00290310ldr x3, [sp+176]
00290314ldr x6, [sp+152]
00290318ldr x1, [sp+184]
0029031cldr x4, [sp+184]
00290320ldr x7, [sp+160]
00290324ldr x2, [sp+192]
00290328ldr x5, [sp+192]
0029032cldr x8, [sp+168]
00290330bl math/big.nat.subMod2N
00290334str x0, [sp+176]
00290338str x1, [sp+184]
0029033cstr x2, [sp+192]
00290340ldr x3, [sp+224]
00290344ldr x6, [sp+248]
00290348ldr x4, [sp+232]
0029034cldr x7, [sp+256]
00290350ldr x5, [sp+240]
00290354ldr x8, [sp+264]
00290358mov x0, xzr
0029035cmov x1, xzr
00290360mov x2, x1
00290364bl math/big.nat.modInverse
00290368str x0, [sp+200]
0029036cstr x1, [sp+208]
00290370str x2, [sp+216]
00290374ldr x3, [sp+152]
00290378ldr x4, [sp+176]
0029037cldr x5, [sp+160]
00290380ldr x6, [sp+184]
00290384ldr x7, [sp+168]
00290388ldr x8, [sp+192]
0029038cmov x9, x0
00290390mov x0, x3
00290394mov x10, x1
00290398mov x1, x5
0029039cmov x11, x2
002903a0mov x2, x7
002903a4mov x3, x4
002903a8mov x4, x6
002903acmov x5, x8
002903b0mov x6, x9
002903b4mov x7, x10
002903b8mov x8, x11
002903bcbl math/big.nat.mul
002903c0str x0, [sp+152]
002903c4str x1, [sp+160]
002903c8str x2, [sp+168]
002903ccldr x6, [sp+120]
002903d0mov x3, x0
002903d4mov x4, x1
002903d8mov x5, x2
002903dcbl math/big.nat.trunc
002903e0str x0, [sp+152]
002903e4str x1, [sp+160]
002903e8str x2, [sp+168]
002903ecldr x3, [sp+176]
002903f0ldr x6, [sp+224]
002903f4ldr x4, [sp+184]
002903f8ldr x7, [sp+232]
002903fcldr x5, [sp+192]
00290400ldr x8, [sp+240]
00290404mov x9, x0
00290408mov x0, x3
0029040cmov x10, x1
00290410mov x1, x4
00290414mov x11, x2
00290418mov x2, x5
0029041cmov x3, x9
00290420mov x4, x10
00290424mov x5, x11
00290428bl math/big.nat.mul
0029042cstr x0, [sp+272]
00290430str x1, [sp+280]
00290434str x2, [sp+288]
00290438ldr x3, [sp+312]
0029043cldr x4, [sp+320]
00290440ldr x5, [sp+320]
00290444ldr x6, [sp+328]
00290448ldr x7, [sp+328]
0029044cldr x8, [sp+312]
00290450mov x9, x0
00290454mov x0, x8
00290458mov x10, x1
0029045cmov x1, x4
00290460mov x11, x2
00290464mov x2, x6
00290468mov x4, x5
0029046cmov x5, x7
00290470mov x6, x9
00290474mov x7, x10
00290478mov x8, x11
0029047cbl math/big.nat.add
00290480str x0, [sp+312]
00290484str x1, [sp+320]
00290488str x2, [sp+328]
0029048cstr x0, [sp+128]
00290490str x1, [sp+136]
00290494str x2, [sp+144]
00290498ldp x29, x30, [sp-8]
0029049cadd sp, sp, 304
002904a0ret x30
002904a4
002904a4loc_2904a4:
002904a4stp x0, x1, [sp+8]
002904a8stp x2, x3, [sp+24]
002904acstp x4, x5, [sp+40]
002904b0stp x6, x7, [sp+56]
002904b4stp x8, x9, [sp+72]
002904b8stp x10, x11, [sp+88]
002904bcmov x3, x30
002904c0bl runtime.morestack_noctxt.abi0
002904c4ldp x0, x1, [sp+8]
002904c8ldp x2, x3, [sp+24]
002904ccldp x4, x5, [sp+40]
002904d0ldp x6, x7, [sp+56]
002904d4ldp x8, x9, [sp+72]
002904d8ldp x10, x11, [sp+88]
002904dcb 0x290170
00290170
00290170math/big.nat.expNNMontgomeryEven: ; void math/big.nat.expNNMontgomeryEven(math/big.nat z, math/big.nat x, math/big.nat y, math/big.nat m)
00290170ldr x16, [x28+16]
00290174sub x17, sp, 176
00290178subs xzr, x17, x16
0029017cb.ls 0x2904a4
00290180sub x20, sp, 304
00290184stp x29, x30, [x20-8]
00290188add sp, x20, 0
0029018csub x29, sp, 8
00290190str x0, [sp+312]
00290194str x1, [sp+320]
00290198str x2, [sp+328]
0029019cstr x3, [sp+336]
002901a0str x4, [sp+344]
002901a4str x5, [sp+352]
002901a8str x6, [sp+360]
002901acstr x7, [sp+368]
002901b0str x8, [sp+376]
002901b4str x9, [sp+384]
002901b8str x10, [sp+392]
002901bcstr x11, [sp+400]
002901c0str xzr, [sp+128]
002901c4stp xzr, xzr, [sp+136]
002901c8ldr x0, [sp+384]
002901ccldr x1, [sp+392]
002901d0ldr x2, [sp+400]
002901d4bl math/big.nat.trailingZeroBits
002901d8str x0, [sp+120]
002901dcadrp x27, 0x780000
002901e0ldr x3, [x27+2096]
002901e4adrp x27, 0x780000
002901e8ldr x4, [x27+2104]
002901ecadrp x27, 0x780000
002901f0ldr x5, [x27+2112]
002901f4mov x1, xzr
002901f8mov x2, x1
002901fcmov x6, x0
00290200mov x0, xzr
00290204bl math/big.nat.shl
00290208str x0, [sp+248]
0029020cstr x1, [sp+256]
00290210str x2, [sp+264]
00290214ldr x6, [sp+120]
00290218ldr x3, [sp+384]
0029021cldr x4, [sp+392]
00290220ldr x5, [sp+400]
00290224mov x0, xzr
00290228mov x1, xzr
0029022cmov x2, x1
00290230bl math/big.nat.shr
00290234str x0, [sp+224]
00290238str x1, [sp+232]
0029023cstr x2, [sp+240]
00290240ldr x3, [sp+336]
00290244ldr x6, [sp+360]
00290248ldr x9, [sp+248]
0029024cldr x4, [sp+344]
00290250ldr x7, [sp+368]
00290254ldr x10, [sp+256]
00290258ldr x5, [sp+352]
0029025cldr x8, [sp+376]
00290260ldr x11, [sp+264]
00290264mov x0, xzr
00290268mov x1, xzr
0029026cmov x2, x1
00290270mov x12, xzr
00290274bl math/big.nat.expNN
00290278str x0, [sp+176]
0029027cstr x1, [sp+184]
00290280str x2, [sp+192]
00290284ldr x3, [sp+336]
00290288ldr x6, [sp+360]
0029028cldr x9, [sp+224]
00290290ldr x4, [sp+344]
00290294ldr x7, [sp+368]
00290298ldr x10, [sp+232]
0029029cldr x5, [sp+352]
002902a0ldr x8, [sp+376]
002902a4ldr x11, [sp+240]
002902a8mov x0, xzr
002902acmov x1, xzr
002902b0mov x2, x1
002902b4mov x12, xzr
002902b8bl math/big.nat.expNN
002902bcstr x0, [sp+152]
002902c0str x1, [sp+160]
002902c4str x2, [sp+168]
002902c8ldr x3, [sp+312]
002902ccldr x4, [sp+320]
002902d0ldr x5, [sp+328]
002902d4mov x6, x0
002902d8mov x0, x3
002902dcmov x7, x1
002902e0mov x1, x4
002902e4mov x8, x2
002902e8mov x2, x5
002902ecmov x3, x6
002902f0mov x4, x7
002902f4mov x5, x8
002902f8bl math/big.nat.set
002902fcstr x0, [sp+312]
00290300str x1, [sp+320]
00290304str x2, [sp+328]
00290308ldr x9, [sp+120]
0029030cldr x0, [sp+176]
00290310ldr x3, [sp+176]
00290314ldr x6, [sp+152]
00290318ldr x1, [sp+184]
0029031cldr x4, [sp+184]
00290320ldr x7, [sp+160]
00290324ldr x2, [sp+192]
00290328ldr x5, [sp+192]
0029032cldr x8, [sp+168]
00290330bl math/big.nat.subMod2N
00290334str x0, [sp+176]
00290338str x1, [sp+184]
0029033cstr x2, [sp+192]
00290340ldr x3, [sp+224]
00290344ldr x6, [sp+248]
00290348ldr x4, [sp+232]
0029034cldr x7, [sp+256]
00290350ldr x5, [sp+240]
00290354ldr x8, [sp+264]
00290358mov x0, xzr
0029035cmov x1, xzr
00290360mov x2, x1
00290364bl math/big.nat.modInverse
00290368str x0, [sp+200]
0029036cstr x1, [sp+208]
00290370str x2, [sp+216]
00290374ldr x3, [sp+152]
00290378ldr x4, [sp+176]
0029037cldr x5, [sp+160]
00290380ldr x6, [sp+184]
00290384ldr x7, [sp+168]
00290388ldr x8, [sp+192]
0029038cmov x9, x0
00290390mov x0, x3
00290394mov x10, x1
00290398mov x1, x5
0029039cmov x11, x2
002903a0mov x2, x7
002903a4mov x3, x4
002903a8mov x4, x6
002903acmov x5, x8
002903b0mov x6, x9
002903b4mov x7, x10
002903b8mov x8, x11
002903bcbl math/big.nat.mul
002903c0str x0, [sp+152]
002903c4str x1, [sp+160]
002903c8str x2, [sp+168]
002903ccldr x6, [sp+120]
002903d0mov x3, x0
002903d4mov x4, x1
002903d8mov x5, x2
002903dcbl math/big.nat.trunc
002903e0str x0, [sp+152]
002903e4str x1, [sp+160]
002903e8str x2, [sp+168]
002903ecldr x3, [sp+176]
002903f0ldr x6, [sp+224]
002903f4ldr x4, [sp+184]
002903f8ldr x7, [sp+232]
002903fcldr x5, [sp+192]
00290400ldr x8, [sp+240]
00290404mov x9, x0
00290408mov x0, x3
0029040cmov x10, x1
00290410mov x1, x4
00290414mov x11, x2
00290418mov x2, x5
0029041cmov x3, x9
00290420mov x4, x10
00290424mov x5, x11
00290428bl math/big.nat.mul
0029042cstr x0, [sp+272]
00290430str x1, [sp+280]
00290434str x2, [sp+288]
00290438ldr x3, [sp+312]
0029043cldr x4, [sp+320]
00290440ldr x5, [sp+320]
00290444ldr x6, [sp+328]
00290448ldr x7, [sp+328]
0029044cldr x8, [sp+312]
00290450mov x9, x0
00290454mov x0, x8
00290458mov x10, x1
0029045cmov x1, x4
00290460mov x11, x2
00290464mov x2, x6
00290468mov x4, x5
0029046cmov x5, x7
00290470mov x6, x9
00290474mov x7, x10
00290478mov x8, x11
0029047cbl math/big.nat.add
00290480str x0, [sp+312]
00290484str x1, [sp+320]
00290488str x2, [sp+328]
0029048cstr x0, [sp+128]
00290490str x1, [sp+136]
00290494str x2, [sp+144]
00290498ldp x29, x30, [sp-8]
0029049cadd sp, sp, 304
002904a0ret x30
002904a4
002904a4loc_2904a4:
002904a4stp x0, x1, [sp+8]
002904a8stp x2, x3, [sp+24]
002904acstp x4, x5, [sp+40]
002904b0stp x6, x7, [sp+56]
002904b4stp x8, x9, [sp+72]
002904b8stp x10, x11, [sp+88]
002904bcmov x3, x30
002904c0bl runtime.morestack_noctxt.abi0
002904c4ldp x0, x1, [sp+8]
002904c8ldp x2, x3, [sp+24]
002904ccldp x4, x5, [sp+40]
002904d0ldp x6, x7, [sp+56]
002904d4ldp x8, x9, [sp+72]
002904d8ldp x10, x11, [sp+88]
002904dcb 0x290170
00290170
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
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
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
00291c80
00291c80math/big.nat.bytes: ; void math/big.nat.bytes(math/big.nat z, struct []uint8 buf)
00291c80ldr x16, [x28+16]
00291c84subs xzr, sp, x16
00291c88b.ls 0x291e50
00291c8cstr x30, [sp-112]!
00291c90stur x29, [sp-8]
00291c94sub x29, sp, 8
00291c98str x0, [sp+120]
00291c9cstr x1, [sp+128]
00291ca0str x2, [sp+136]
00291ca4str x3, [sp+144]
00291ca8str x4, [sp+152]
00291cacstr x5, [sp+160]
00291cb0str xzr, [sp+40]
00291cb4str x4, [sp+40]
00291cb8ldr x2, [sp+128]
00291cbcldr x3, [sp+120]
00291cc0ldr x4, [sp+136]
00291cc4str x3, [sp+80]
00291cc8str x2, [sp+88]
00291cccstr x4, [sp+96]
00291cd0str xzr, [sp+64]
00291cd4str x2, [sp+56]
00291cd8b 0x291cdc
00291cdc
00291cdcloc_291cdc:
00291cdcldr x2, [sp+56]
00291ce0ldr x3, [sp+64]
00291ce4subs xzr, x2, x3
00291ce8b.gt 0x291cf0
00291cecb 0x291d08
00291cf0
00291cf0loc_291cf0:
00291cf0ldr x2, [sp+64]
00291cf4ldr x3, [sp+80]
00291cf8ldr x2, [x3+3*x2]
00291cfcstr x2, [sp+48]
00291d00str xzr, [sp+32]
00291d04b 0x291da8
00291d08
00291d08loc_291d08:
00291d08ldr x2, [sp+40]
00291d0ctbnz x2, 63, 0x291d14
00291d10b 0x291d1c
00291d14
00291d14loc_291d14:
00291d14str xzr, [sp+40]
00291d18b 0x291d20
00291d1c
00291d1cloc_291d1c:
00291d1cb 0x291d20
00291d20
00291d20loc_291d20:
00291d20b 0x291d24
00291d24
00291d24loc_291d24:
00291d24ldr x2, [sp+152]
00291d28str x2, [sp+72]
00291d2cldr x3, [sp+40]
00291d30subs xzr, x2, x3
00291d34cset x2, gt
00291d38strb w2, [sp+31]
00291d3cb.gt 0x291d44
00291d40b 0x291d70
00291d44
00291d44loc_291d44:
00291d44ldr x0, [sp+40]
00291d48ldr x1, [sp+152]
00291d4cldr x2, [sp+144]
00291d50subs xzr, x1, x0
00291d54b.hi 0x291d5c
00291d58b 0x291da4
00291d5c
00291d5cloc_291d5c:
00291d5cldrb w2, [x2+x0]
00291d60subs wzr, w2, 0
00291d64cset x2, eq
00291d68strb w2, [sp+31]
00291d6cb 0x291d74
00291d70
00291d70loc_291d70:
00291d70b 0x291d74
00291d74
00291d74loc_291d74:
00291d74ldrb w2, [sp+31]
00291d78tbnz w2, 0, 0x291d80
00291d7cb 0x291d94
00291d80
00291d80loc_291d80:
00291d80ldr x2, [sp+40]
00291d84add x2, x2, 1
00291d88str x2, [sp+40]
00291d8cb 0x291d90
00291d90
00291d90loc_291d90:
00291d90b 0x291d24
00291d94
00291d94loc_291d94:
00291d94ldr x0, [sp+40]
00291d98ldur x29, [sp-8]
00291d9cldr x30, [sp], 112
00291da0ret x30
00291da4
00291da4loc_291da4:
00291da4bl runtime.panicIndex
00291da8
00291da8loc_291da8:
00291da8ldr x2, [sp+32]
00291dacsubs xzr, x2, 8
00291db0b.lt 0x291db8
00291db4b 0x291e20
00291db8
00291db8loc_291db8:
00291db8ldr x2, [sp+40]
00291dbcsub x0, x2, 1
00291dc0str x0, [sp+40]
00291dc4tbz x0, 63, 0x291dcc
00291dc8b 0x291dec
00291dcc
00291dccloc_291dcc:
00291dccldr x1, [sp+152]
00291dd0ldr x2, [sp+144]
00291dd4ldr x3, [sp+48]
00291dd8subs xzr, x1, x0
00291ddcb.hi 0x291de4
00291de0b 0x291e48
00291de4
00291de4loc_291de4:
00291de4strb w3, [x2+x0]
00291de8b 0x291e00
00291dec
00291decloc_291dec:
00291decldr x2, [sp+48]
00291df0ubfm x2, x2, 0, 7
00291df4cbnz w2, 0x291e34
00291df8b 0x291dfc
00291dfc
00291dfcloc_291dfc:
00291dfcb 0x291e00
00291e00
00291e00loc_291e00:
00291e00ldr x2, [sp+48]
00291e04ubfm x2, x2, 8, 63
00291e08str x2, [sp+48]
00291e0cb 0x291e10
00291e10
00291e10loc_291e10:
00291e10ldr x2, [sp+32]
00291e14add x2, x2, 1
00291e18str x2, [sp+32]
00291e1cb 0x291da8
00291e20
00291e20loc_291e20:
00291e20b 0x291e24
00291e24
00291e24loc_291e24:
00291e24ldr x2, [sp+64]
00291e28add x2, x2, 1
00291e2cstr x2, [sp+64]
00291e30b 0x291cdc
00291e34
00291e34loc_291e34:
00291e34adrp x0, 0x364000
00291e38add x0, x0, 2944
00291e3cadrp x1, 0x481000
00291e40add x1, x1, 1232
00291e44bl runtime.gopanic
00291e48
00291e48loc_291e48:
00291e48bl runtime.panicIndex
00291e4chint
00291e50
00291e50loc_291e50:
00291e50stp x0, x1, [sp+8]
00291e54stp x2, x3, [sp+24]
00291e58stp x4, x5, [sp+40]
00291e5cmov x3, x30
00291e60bl runtime.morestack_noctxt.abi0
00291e64ldp x0, x1, [sp+8]
00291e68ldp x2, x3, [sp+24]
00291e6cldp x4, x5, [sp+40]
00291e70b 0x291c80
00291e74udf 0
00291e78udf 0
00291e7cudf 0
00291c80
00291c80math/big.nat.bytes: ; void math/big.nat.bytes(math/big.nat z, struct []uint8 buf)
00291c80ldr x16, [x28+16]
00291c84subs xzr, sp, x16
00291c88b.ls 0x291e50
00291c8cstr x30, [sp-112]!
00291c90stur x29, [sp-8]
00291c94sub x29, sp, 8
00291c98str x0, [sp+120]
00291c9cstr x1, [sp+128]
00291ca0str x2, [sp+136]
00291ca4str x3, [sp+144]
00291ca8str x4, [sp+152]
00291cacstr x5, [sp+160]
00291cb0str xzr, [sp+40]
00291cb4str x4, [sp+40]
00291cb8ldr x2, [sp+128]
00291cbcldr x3, [sp+120]
00291cc0ldr x4, [sp+136]
00291cc4str x3, [sp+80]
00291cc8str x2, [sp+88]
00291cccstr x4, [sp+96]
00291cd0str xzr, [sp+64]
00291cd4str x2, [sp+56]
00291cd8b 0x291cdc
00291cdc
00291cdcloc_291cdc:
00291cdcldr x2, [sp+56]
00291ce0ldr x3, [sp+64]
00291ce4subs xzr, x2, x3
00291ce8b.gt 0x291cf0
00291cecb 0x291d08
00291cf0
00291cf0loc_291cf0:
00291cf0ldr x2, [sp+64]
00291cf4ldr x3, [sp+80]
00291cf8ldr x2, [x3+3*x2]
00291cfcstr x2, [sp+48]
00291d00str xzr, [sp+32]
00291d04b 0x291da8
00291d08
00291d08loc_291d08:
00291d08ldr x2, [sp+40]
00291d0ctbnz x2, 63, 0x291d14
00291d10b 0x291d1c
00291d14
00291d14loc_291d14:
00291d14str xzr, [sp+40]
00291d18b 0x291d20
00291d1c
00291d1cloc_291d1c:
00291d1cb 0x291d20
00291d20
00291d20loc_291d20:
00291d20b 0x291d24
00291d24
00291d24loc_291d24:
00291d24ldr x2, [sp+152]
00291d28str x2, [sp+72]
00291d2cldr x3, [sp+40]
00291d30subs xzr, x2, x3
00291d34cset x2, gt
00291d38strb w2, [sp+31]
00291d3cb.gt 0x291d44
00291d40b 0x291d70
00291d44
00291d44loc_291d44:
00291d44ldr x0, [sp+40]
00291d48ldr x1, [sp+152]
00291d4cldr x2, [sp+144]
00291d50subs xzr, x1, x0
00291d54b.hi 0x291d5c
00291d58b 0x291da4
00291d5c
00291d5cloc_291d5c:
00291d5cldrb w2, [x2+x0]
00291d60subs wzr, w2, 0
00291d64cset x2, eq
00291d68strb w2, [sp+31]
00291d6cb 0x291d74
00291d70
00291d70loc_291d70:
00291d70b 0x291d74
00291d74
00291d74loc_291d74:
00291d74ldrb w2, [sp+31]
00291d78tbnz w2, 0, 0x291d80
00291d7cb 0x291d94
00291d80
00291d80loc_291d80:
00291d80ldr x2, [sp+40]
00291d84add x2, x2, 1
00291d88str x2, [sp+40]
00291d8cb 0x291d90
00291d90
00291d90loc_291d90:
00291d90b 0x291d24
00291d94
00291d94loc_291d94:
00291d94ldr x0, [sp+40]
00291d98ldur x29, [sp-8]
00291d9cldr x30, [sp], 112
00291da0ret x30
00291da4
00291da4loc_291da4:
00291da4bl runtime.panicIndex
00291da8
00291da8loc_291da8:
00291da8ldr x2, [sp+32]
00291dacsubs xzr, x2, 8
00291db0b.lt 0x291db8
00291db4b 0x291e20
00291db8
00291db8loc_291db8:
00291db8ldr x2, [sp+40]
00291dbcsub x0, x2, 1
00291dc0str x0, [sp+40]
00291dc4tbz x0, 63, 0x291dcc
00291dc8b 0x291dec
00291dcc
00291dccloc_291dcc:
00291dccldr x1, [sp+152]
00291dd0ldr x2, [sp+144]
00291dd4ldr x3, [sp+48]
00291dd8subs xzr, x1, x0
00291ddcb.hi 0x291de4
00291de0b 0x291e48
00291de4
00291de4loc_291de4:
00291de4strb w3, [x2+x0]
00291de8b 0x291e00
00291dec
00291decloc_291dec:
00291decldr x2, [sp+48]
00291df0ubfm x2, x2, 0, 7
00291df4cbnz w2, 0x291e34
00291df8b 0x291dfc
00291dfc
00291dfcloc_291dfc:
00291dfcb 0x291e00
00291e00
00291e00loc_291e00:
00291e00ldr x2, [sp+48]
00291e04ubfm x2, x2, 8, 63
00291e08str x2, [sp+48]
00291e0cb 0x291e10
00291e10
00291e10loc_291e10:
00291e10ldr x2, [sp+32]
00291e14add x2, x2, 1
00291e18str x2, [sp+32]
00291e1cb 0x291da8
00291e20
00291e20loc_291e20:
00291e20b 0x291e24
00291e24
00291e24loc_291e24:
00291e24ldr x2, [sp+64]
00291e28add x2, x2, 1
00291e2cstr x2, [sp+64]
00291e30b 0x291cdc
00291e34
00291e34loc_291e34:
00291e34adrp x0, 0x364000
00291e38add x0, x0, 2944
00291e3cadrp x1, 0x481000
00291e40add x1, x1, 1232
00291e44bl runtime.gopanic
00291e48
00291e48loc_291e48:
00291e48bl runtime.panicIndex
00291e4chint
00291e50
00291e50loc_291e50:
00291e50stp x0, x1, [sp+8]
00291e54stp x2, x3, [sp+24]
00291e58stp x4, x5, [sp+40]
00291e5cmov x3, x30
00291e60bl runtime.morestack_noctxt.abi0
00291e64ldp x0, x1, [sp+8]
00291e68ldp x2, x3, [sp+24]
00291e6cldp x4, x5, [sp+40]
00291e70b 0x291c80
00291e74udf 0
00291e78udf 0
00291e7cudf 0
00291c80
00291e80
00291e80math/big.bigEndianWord: ; void math/big.bigEndianWord(struct []uint8 buf)
00291e80ldr x16, [x28+16]
00291e84subs xzr, sp, x16
00291e88b.ls 0x291ec4
00291e8cstr x30, [sp-64]!
00291e90stur x29, [sp-8]
00291e94sub x29, sp, 8
00291e98str x0, [sp+72]
00291e9cstr x1, [sp+80]
00291ea0str x2, [sp+88]
00291ea4str xzr, [sp+40]
00291ea8bl internal/byteorder.BEUint64
00291eacstr x0, [sp+48]
00291eb0str x0, [sp+40]
00291eb4ldr x0, [sp+40]
00291eb8ldur x29, [sp-8]
00291ebcldr x30, [sp], 64
00291ec0ret x30
00291ec4
00291ec4loc_291ec4:
00291ec4stp x0, x1, [sp+8]
00291ec8str x2, [sp+24]
00291eccmov x3, x30
00291ed0bl runtime.morestack_noctxt.abi0
00291ed4ldp x0, x1, [sp+8]
00291ed8ldr x2, [sp+24]
00291edcb 0x291e80
00291e80
00291e80math/big.bigEndianWord: ; void math/big.bigEndianWord(struct []uint8 buf)
00291e80ldr x16, [x28+16]
00291e84subs xzr, sp, x16
00291e88b.ls 0x291ec4
00291e8cstr x30, [sp-64]!
00291e90stur x29, [sp-8]
00291e94sub x29, sp, 8
00291e98str x0, [sp+72]
00291e9cstr x1, [sp+80]
00291ea0str x2, [sp+88]
00291ea4str xzr, [sp+40]
00291ea8bl internal/byteorder.BEUint64
00291eacstr x0, [sp+48]
00291eb0str x0, [sp+40]
00291eb4ldr x0, [sp+40]
00291eb8ldur x29, [sp-8]
00291ebcldr x30, [sp], 64
00291ec0ret x30
00291ec4
00291ec4loc_291ec4:
00291ec4stp x0, x1, [sp+8]
00291ec8str x2, [sp+24]
00291eccmov x3, x30
00291ed0bl runtime.morestack_noctxt.abi0
00291ed4ldp x0, x1, [sp+8]
00291ed8ldr x2, [sp+24]
00291edcb 0x291e80
00291e80
00291ee0
00291ee0math/big.nat.setBytes: ; void math/big.nat.setBytes(math/big.nat z, struct []uint8 buf)
00291ee0ldr x16, [x28+16]
00291ee4sub x17, sp, 64
00291ee8subs xzr, x17, x16
00291eecb.ls 0x292120
00291ef0str x30, [sp-192]!
00291ef4stur x29, [sp-8]
00291ef8sub x29, sp, 8
00291efcstr x0, [sp+200]
00291f00str x1, [sp+208]
00291f04str x2, [sp+216]
00291f08str x3, [sp+224]
00291f0cstr x4, [sp+232]
00291f10str x5, [sp+240]
00291f14str xzr, [sp+112]
00291f18stp xzr, xzr, [sp+120]
00291f1cldr x4, [sp+232]
00291f20str x4, [sp+88]
00291f24add x5, x4, 7
00291f28sbfm x5, x5, 63, 63
00291f2cadd x4, x4, x5, lsr #61
00291f30add x4, x4, 7
00291f34sbfm x3, x4, 3, 63
00291f38str x3, [sp+104]
00291f3cldr x1, [sp+208]
00291f40ldr x2, [sp+216]
00291f44ldr x0, [sp+200]
00291f48bl math/big.nat.make
00291f4cstr x0, [sp+200]
00291f50str x1, [sp+208]
00291f54str x2, [sp+216]
00291f58ldr x4, [sp+232]
00291f5cstr x4, [sp+64]
00291f60str xzr, [sp+56]
00291f64b 0x291f68
00291f68
00291f68loc_291f68:
00291f68ldr x3, [sp+64]
00291f6csubs xzr, x3, 8
00291f70b.ge 0x291f78
00291f74b 0x292014
00291f78
00291f78loc_291f78:
00291f78ldr x3, [sp+64]
00291f7csub x0, x3, 8
00291f80str x0, [sp+88]
00291f84ldr x1, [sp+64]
00291f88ldr x2, [sp+240]
00291f8cldr x4, [sp+224]
00291f90subs xzr, x2, x1
00291f94b.hs 0x291f9c
00291f98b 0x292118
00291f9c
00291f9cloc_291f9c:
00291f9csubs xzr, x1, x0
00291fa0b.hs 0x291fa8
00291fa4b 0x292114
00291fa8
00291fa8loc_291fa8:
00291fa8sub x5, x1, x3
00291facsub x3, x2, x3
00291fb0add x2, x3, 8
00291fb4add x1, x5, 8
00291fb8sub x3, xzr, x2
00291fbcand x3, x0, x3, asr #63
00291fc0add x0, x4, x3
00291fc4str x0, [sp+136]
00291fc8str x1, [sp+144]
00291fccstr x2, [sp+152]
00291fd0bl math/big.bigEndianWord
00291fd4str x0, [sp+80]
00291fd8ldr x3, [sp+56]
00291fdcldr x1, [sp+208]
00291fe0ldr x4, [sp+200]
00291fe4subs xzr, x1, x3
00291fe8b.hi 0x291ff0
00291fecb 0x29210c
00291ff0
00291ff0loc_291ff0:
00291ff0str x0, [x4+3*x3]
00291ff4ldr x3, [sp+64]
00291ff8sub x3, x3, 8
00291ffcstr x3, [sp+64]
00292000b 0x292004
00292004
00292004loc_292004:
00292004ldr x3, [sp+56]
00292008add x3, x3, 1
0029200cstr x3, [sp+56]
00292010b 0x291f68
00292014
00292014loc_292014:
00292014ldr x3, [sp+64]
00292018subs xzr, x3, 0
0029201cb.gt 0x292024
00292020b 0x292030
00292024
00292024loc_292024:
00292024str xzr, [sp+72]
00292028str xzr, [sp+48]
0029202cb 0x292068
00292030
00292030loc_292030:
00292030b 0x292034
00292034
00292034loc_292034:
00292034ldr x0, [sp+200]
00292038ldr x1, [sp+208]
0029203cldr x2, [sp+216]
00292040bl math/big.nat.norm
00292044str x0, [sp+160]
00292048str x1, [sp+168]
0029204cstr x2, [sp+176]
00292050str x0, [sp+112]
00292054str x1, [sp+120]
00292058str x2, [sp+128]
0029205cldur x29, [sp-8]
00292060ldr x30, [sp], 192
00292064ret x30
00292068
00292068loc_292068:
00292068ldr x3, [sp+64]
0029206csubs xzr, x3, 0
00292070b.gt 0x292078
00292074b 0x2920d4
00292078
00292078loc_292078:
00292078ldr x3, [sp+72]
0029207cldr x1, [sp+232]
00292080ldr x4, [sp+224]
00292084ldr x5, [sp+64]
00292088sub x0, x5, 1
0029208csubs xzr, x1, x0
00292090b.hi 0x292098
00292094b 0x292108
00292098
00292098loc_292098:
00292098ldrb w4, [x4+x0]
0029209cldr x5, [sp+48]
002920a0lslv x4, x4, x5
002920a4subs xzr, x5, 64
002920a8csel x4, x4, xzr, lo
002920acorr x3, x3, x4
002920b0str x3, [sp+72]
002920b4ldr x3, [sp+64]
002920b8sub x3, x3, 1
002920bcstr x3, [sp+64]
002920c0b 0x2920c4
002920c4
002920c4loc_2920c4:
002920c4ldr x3, [sp+48]
002920c8add x3, x3, 8
002920ccstr x3, [sp+48]
002920d0b 0x292068
002920d4
002920d4loc_2920d4:
002920d4ldr x3, [sp+208]
002920d8str x3, [sp+88]
002920dcsub x0, x3, 1
002920e0str x0, [sp+96]
002920e4ldr x1, [sp+208]
002920e8ldr x3, [sp+200]
002920ecldr x4, [sp+72]
002920f0subs xzr, x1, x0
002920f4b.hi 0x2920fc
002920f8b 0x292104
002920fc
002920fcloc_2920fc:
002920fcstr x4, [x3+3*x0]
00292100b 0x292034
00292104
00292104loc_292104:
00292104bl runtime.panicIndex
00292108
00292108loc_292108:
00292108bl runtime.panicIndex
0029210c
0029210cloc_29210c:
0029210cmov x0, x3
00292110bl runtime.panicIndex
00292114
00292114loc_292114:
00292114bl runtime.panicSliceB
00292118
00292118loc_292118:
00292118bl runtime.panicSliceAcap
0029211chint
00292120
00292120loc_292120:
00292120stp x0, x1, [sp+8]
00292124stp x2, x3, [sp+24]
00292128stp x4, x5, [sp+40]
0029212cmov x3, x30
00292130bl runtime.morestack_noctxt.abi0
00292134ldp x0, x1, [sp+8]
00292138ldp x2, x3, [sp+24]
0029213cldp x4, x5, [sp+40]
00292140b 0x291ee0
00292144udf 0
00292148udf 0
0029214cudf 0
00291ee0
00291ee0math/big.nat.setBytes: ; void math/big.nat.setBytes(math/big.nat z, struct []uint8 buf)
00291ee0ldr x16, [x28+16]
00291ee4sub x17, sp, 64
00291ee8subs xzr, x17, x16
00291eecb.ls 0x292120
00291ef0str x30, [sp-192]!
00291ef4stur x29, [sp-8]
00291ef8sub x29, sp, 8
00291efcstr x0, [sp+200]
00291f00str x1, [sp+208]
00291f04str x2, [sp+216]
00291f08str x3, [sp+224]
00291f0cstr x4, [sp+232]
00291f10str x5, [sp+240]
00291f14str xzr, [sp+112]
00291f18stp xzr, xzr, [sp+120]
00291f1cldr x4, [sp+232]
00291f20str x4, [sp+88]
00291f24add x5, x4, 7
00291f28sbfm x5, x5, 63, 63
00291f2cadd x4, x4, x5, lsr #61
00291f30add x4, x4, 7
00291f34sbfm x3, x4, 3, 63
00291f38str x3, [sp+104]
00291f3cldr x1, [sp+208]
00291f40ldr x2, [sp+216]
00291f44ldr x0, [sp+200]
00291f48bl math/big.nat.make
00291f4cstr x0, [sp+200]
00291f50str x1, [sp+208]
00291f54str x2, [sp+216]
00291f58ldr x4, [sp+232]
00291f5cstr x4, [sp+64]
00291f60str xzr, [sp+56]
00291f64b 0x291f68
00291f68
00291f68loc_291f68:
00291f68ldr x3, [sp+64]
00291f6csubs xzr, x3, 8
00291f70b.ge 0x291f78
00291f74b 0x292014
00291f78
00291f78loc_291f78:
00291f78ldr x3, [sp+64]
00291f7csub x0, x3, 8
00291f80str x0, [sp+88]
00291f84ldr x1, [sp+64]
00291f88ldr x2, [sp+240]
00291f8cldr x4, [sp+224]
00291f90subs xzr, x2, x1
00291f94b.hs 0x291f9c
00291f98b 0x292118
00291f9c
00291f9cloc_291f9c:
00291f9csubs xzr, x1, x0
00291fa0b.hs 0x291fa8
00291fa4b 0x292114
00291fa8
00291fa8loc_291fa8:
00291fa8sub x5, x1, x3
00291facsub x3, x2, x3
00291fb0add x2, x3, 8
00291fb4add x1, x5, 8
00291fb8sub x3, xzr, x2
00291fbcand x3, x0, x3, asr #63
00291fc0add x0, x4, x3
00291fc4str x0, [sp+136]
00291fc8str x1, [sp+144]
00291fccstr x2, [sp+152]
00291fd0bl math/big.bigEndianWord
00291fd4str x0, [sp+80]
00291fd8ldr x3, [sp+56]
00291fdcldr x1, [sp+208]
00291fe0ldr x4, [sp+200]
00291fe4subs xzr, x1, x3
00291fe8b.hi 0x291ff0
00291fecb 0x29210c
00291ff0
00291ff0loc_291ff0:
00291ff0str x0, [x4+3*x3]
00291ff4ldr x3, [sp+64]
00291ff8sub x3, x3, 8
00291ffcstr x3, [sp+64]
00292000b 0x292004
00292004
00292004loc_292004:
00292004ldr x3, [sp+56]
00292008add x3, x3, 1
0029200cstr x3, [sp+56]
00292010b 0x291f68
00292014
00292014loc_292014:
00292014ldr x3, [sp+64]
00292018subs xzr, x3, 0
0029201cb.gt 0x292024
00292020b 0x292030
00292024
00292024loc_292024:
00292024str xzr, [sp+72]
00292028str xzr, [sp+48]
0029202cb 0x292068
00292030
00292030loc_292030:
00292030b 0x292034
00292034
00292034loc_292034:
00292034ldr x0, [sp+200]
00292038ldr x1, [sp+208]
0029203cldr x2, [sp+216]
00292040bl math/big.nat.norm
00292044str x0, [sp+160]
00292048str x1, [sp+168]
0029204cstr x2, [sp+176]
00292050str x0, [sp+112]
00292054str x1, [sp+120]
00292058str x2, [sp+128]
0029205cldur x29, [sp-8]
00292060ldr x30, [sp], 192
00292064ret x30
00292068
00292068loc_292068:
00292068ldr x3, [sp+64]
0029206csubs xzr, x3, 0
00292070b.gt 0x292078
00292074b 0x2920d4
00292078
00292078loc_292078:
00292078ldr x3, [sp+72]
0029207cldr x1, [sp+232]
00292080ldr x4, [sp+224]
00292084ldr x5, [sp+64]
00292088sub x0, x5, 1
0029208csubs xzr, x1, x0
00292090b.hi 0x292098
00292094b 0x292108
00292098
00292098loc_292098:
00292098ldrb w4, [x4+x0]
0029209cldr x5, [sp+48]
002920a0lslv x4, x4, x5
002920a4subs xzr, x5, 64
002920a8csel x4, x4, xzr, lo
002920acorr x3, x3, x4
002920b0str x3, [sp+72]
002920b4ldr x3, [sp+64]
002920b8sub x3, x3, 1
002920bcstr x3, [sp+64]
002920c0b 0x2920c4
002920c4
002920c4loc_2920c4:
002920c4ldr x3, [sp+48]
002920c8add x3, x3, 8
002920ccstr x3, [sp+48]
002920d0b 0x292068
002920d4
002920d4loc_2920d4:
002920d4ldr x3, [sp+208]
002920d8str x3, [sp+88]
002920dcsub x0, x3, 1
002920e0str x0, [sp+96]
002920e4ldr x1, [sp+208]
002920e8ldr x3, [sp+200]
002920ecldr x4, [sp+72]
002920f0subs xzr, x1, x0
002920f4b.hi 0x2920fc
002920f8b 0x292104
002920fc
002920fcloc_2920fc:
002920fcstr x4, [x3+3*x0]
00292100b 0x292034
00292104
00292104loc_292104:
00292104bl runtime.panicIndex
00292108
00292108loc_292108:
00292108bl runtime.panicIndex
0029210c
0029210cloc_29210c:
0029210cmov x0, x3
00292110bl runtime.panicIndex
00292114
00292114loc_292114:
00292114bl runtime.panicSliceB
00292118
00292118loc_292118:
00292118bl runtime.panicSliceAcap
0029211chint
00292120
00292120loc_292120:
00292120stp x0, x1, [sp+8]
00292124stp x2, x3, [sp+24]
00292128stp x4, x5, [sp+40]
0029212cmov x3, x30
00292130bl runtime.morestack_noctxt.abi0
00292134ldp x0, x1, [sp+8]
00292138ldp x2, x3, [sp+24]
0029213cldp x4, x5, [sp+40]
00292140b 0x291ee0
00292144udf 0
00292148udf 0
0029214cudf 0
00291ee0
00292150
00292150math/big.nat.subMod2N: ; void math/big.nat.subMod2N(math/big.nat z, math/big.nat x, math/big.nat y, uint n)
00292150ldr x16, [x28+16]
00292154sub x17, sp, 48
00292158subs xzr, x17, x16
0029215cb.ls 0x292510
00292160str x30, [sp-176]!
00292164stur x29, [sp-8]
00292168sub x29, sp, 8
0029216cstr x0, [sp+184]
00292170str x1, [sp+192]
00292174str x2, [sp+200]
00292178str x3, [sp+208]
0029217cstr x4, [sp+216]
00292180str x5, [sp+224]
00292184str x6, [sp+232]
00292188str x7, [sp+240]
0029218cstr x8, [sp+248]
00292190str x9, [sp+256]
00292194str xzr, [sp+120]
00292198stp xzr, xzr, [sp+128]
0029219cldr x0, [sp+208]
002921a0ldr x1, [sp+216]
002921a4ldr x2, [sp+224]
002921a8bl math/big.nat.bitLen
002921acstr x0, [sp+104]
002921b0ldr x3, [sp+256]
002921b4subs xzr, x0, x3
002921b8b.hi 0x2921c0
002921bcb 0x29224c
002921c0
002921c0loc_2921c0:
002921c0ldr x0, [sp+184]
002921c4ldr x3, [sp+208]
002921c8ldr x1, [sp+192]
002921ccldr x4, [sp+216]
002921d0ldr x2, [sp+200]
002921d4ldr x5, [sp+224]
002921d8bl math/big.alias
002921dcstrb w0, [sp+87]
002921e0tbnz w0, 0, 0x2921e8
002921e4b 0x292218
002921e8
002921e8loc_2921e8:
002921e8ldr x6, [sp+256]
002921ecldr x0, [sp+208]
002921f0ldr x3, [sp+208]
002921f4ldr x1, [sp+216]
002921f8ldr x4, [sp+216]
002921fcldr x2, [sp+224]
00292200ldr x5, [sp+224]
00292204bl math/big.nat.trunc
00292208str x0, [sp+208]
0029220cstr x1, [sp+216]
00292210str x2, [sp+224]
00292214b 0x292248
00292218
00292218loc_292218:
00292218ldr x6, [sp+256]
0029221cldr x3, [sp+208]
00292220ldr x4, [sp+216]
00292224ldr x5, [sp+224]
00292228mov x0, xzr
0029222cmov x1, xzr
00292230mov x2, x1
00292234bl math/big.nat.trunc
00292238str x0, [sp+208]
0029223cstr x1, [sp+216]
00292240str x2, [sp+224]
00292244b 0x292248
00292248
00292248loc_292248:
00292248b 0x292250
0029224c
0029224cloc_29224c:
0029224cb 0x292250
00292250
00292250loc_292250:
00292250ldr x0, [sp+232]
00292254ldr x1, [sp+240]
00292258ldr x2, [sp+248]
0029225cbl math/big.nat.bitLen
00292260str x0, [sp+104]
00292264ldr x3, [sp+256]
00292268subs xzr, x0, x3
0029226cb.hi 0x292274
00292270b 0x292300
00292274
00292274loc_292274:
00292274ldr x0, [sp+184]
00292278ldr x3, [sp+232]
0029227cldr x1, [sp+192]
00292280ldr x4, [sp+240]
00292284ldr x2, [sp+200]
00292288ldr x5, [sp+248]
0029228cbl math/big.alias
00292290strb w0, [sp+87]
00292294tbnz w0, 0, 0x29229c
00292298b 0x2922cc
0029229c
0029229cloc_29229c:
0029229cldr x6, [sp+256]
002922a0ldr x0, [sp+232]
002922a4ldr x3, [sp+232]
002922a8ldr x1, [sp+240]
002922acldr x4, [sp+240]
002922b0ldr x2, [sp+248]
002922b4ldr x5, [sp+248]
002922b8bl math/big.nat.trunc
002922bcstr x0, [sp+232]
002922c0str x1, [sp+240]
002922c4str x2, [sp+248]
002922c8b 0x2922fc
002922cc
002922ccloc_2922cc:
002922ccldr x6, [sp+256]
002922d0ldr x3, [sp+232]
002922d4ldr x4, [sp+240]
002922d8ldr x5, [sp+248]
002922dcmov x0, xzr
002922e0mov x1, xzr
002922e4mov x2, x1
002922e8bl math/big.nat.trunc
002922ecstr x0, [sp+232]
002922f0str x1, [sp+240]
002922f4str x2, [sp+248]
002922f8b 0x2922fc
002922fc
002922fcloc_2922fc:
002922fcb 0x292304
00292300
00292300loc_292300:
00292300b 0x292304
00292304
00292304loc_292304:
00292304ldr x0, [sp+208]
00292308ldr x3, [sp+232]
0029230cldr x1, [sp+216]
00292310ldr x4, [sp+240]
00292314ldr x2, [sp+224]
00292318ldr x5, [sp+248]
0029231cbl math/big.nat.cmp
00292320str x0, [sp+104]
00292324tbz x0, 63, 0x29232c
00292328b 0x292378
0029232c
0029232cloc_29232c:
0029232cldr x0, [sp+184]
00292330ldr x3, [sp+208]
00292334ldr x6, [sp+232]
00292338ldr x1, [sp+192]
0029233cldr x4, [sp+216]
00292340ldr x7, [sp+240]
00292344ldr x2, [sp+200]
00292348ldr x5, [sp+224]
0029234cldr x8, [sp+248]
00292350bl math/big.nat.sub
00292354str x0, [sp+144]
00292358str x1, [sp+152]
0029235cstr x2, [sp+160]
00292360str x0, [sp+120]
00292364str x1, [sp+128]
00292368str x2, [sp+136]
0029236cldur x29, [sp-8]
00292370ldr x30, [sp], 176
00292374ret x30
00292378
00292378loc_292378:
00292378ldr x0, [sp+184]
0029237cldr x3, [sp+232]
00292380ldr x6, [sp+208]
00292384ldr x1, [sp+192]
00292388ldr x4, [sp+240]
0029238cldr x7, [sp+216]
00292390ldr x2, [sp+200]
00292394ldr x5, [sp+248]
00292398ldr x8, [sp+224]
0029239cbl math/big.nat.sub
002923a0str x0, [sp+184]
002923a4str x1, [sp+192]
002923a8str x2, [sp+200]
002923acb 0x2923b0
002923b0
002923b0loc_2923b0:
002923b0ldr x7, [sp+192]
002923b4str x7, [sp+104]
002923b8ldr x8, [sp+256]
002923bcsubs xzr, x8, x7, lsl #6
002923c0b.hi 0x2923c8
002923c4b 0x292418
002923c8
002923c8loc_2923c8:
002923c8ldr x2, [sp+200]
002923ccldr x0, [sp+184]
002923d0ldr x7, [sp+192]
002923d4add x1, x7, 1
002923d8subs xzr, x2, x1
002923dcb.hs 0x2923e4
002923e0b 0x2923e8
002923e4
002923e4loc_2923e4:
002923e4b 0x2923fc
002923e8
002923e8loc_2923e8:
002923e8orr x3, xzr, 1
002923ecadrp x4, 0x364000
002923f0add x4, x4, 2624
002923f4bl runtime.growslice
002923f8b 0x2923fc
002923fc
002923fcloc_2923fc:
002923fcsub x7, x1, 1
00292400str xzr, [x0+3*x7]
00292404str x0, [sp+184]
00292408str x1, [sp+192]
0029240cstr x2, [sp+200]
00292410b 0x292414
00292414
00292414loc_292414:
00292414b 0x2923b0
00292418
00292418loc_292418:
00292418str xzr, [sp+96]
0029241cldr x7, [sp+192]
00292420str x7, [sp+112]
00292424b 0x292428
00292428
00292428loc_292428:
00292428ldr x7, [sp+112]
0029242cldr x8, [sp+96]
00292430subs xzr, x7, x8
00292434b.gt 0x29243c
00292438b 0x29248c
0029243c
0029243cloc_29243c:
0029243cldr x0, [sp+96]
00292440str x0, [sp+88]
00292444ldr x1, [sp+192]
00292448ldr x7, [sp+184]
0029244csubs xzr, x1, x0
00292450b.hi 0x292458
00292454b 0x292508
00292458
00292458loc_292458:
00292458ldr x1, [sp+192]
0029245cldr x8, [sp+184]
00292460ldr x7, [x7+3*x0]
00292464orn x7, xzr, x7
00292468subs xzr, x1, x0
0029246cb.hi 0x292474
00292470b 0x292504
00292474
00292474loc_292474:
00292474str x7, [x8+3*x0]
00292478b 0x29247c
0029247c
0029247cloc_29247c:
0029247cldr x7, [sp+96]
00292480add x7, x7, 1
00292484str x7, [sp+96]
00292488b 0x292428
0029248c
0029248cloc_29248c:
0029248cldr x6, [sp+256]
00292490ldr x0, [sp+184]
00292494ldr x3, [sp+184]
00292498ldr x1, [sp+192]
0029249cldr x4, [sp+192]
002924a0ldr x2, [sp+200]
002924a4ldr x5, [sp+200]
002924a8bl math/big.nat.trunc
002924acstr x0, [sp+184]
002924b0str x1, [sp+192]
002924b4str x2, [sp+200]
002924b8adrp x27, 0x77e000
002924bcldr x7, [x27+2104]
002924c0adrp x27, 0x77e000
002924c4ldr x8, [x27+2112]
002924c8adrp x27, 0x77e000
002924ccldr x6, [x27+2096]
002924d0mov x3, x0
002924d4mov x4, x1
002924d8mov x5, x2
002924dcbl math/big.nat.add
002924e0str x0, [sp+144]
002924e4str x1, [sp+152]
002924e8str x2, [sp+160]
002924ecstr x0, [sp+120]
002924f0str x1, [sp+128]
002924f4str x2, [sp+136]
002924f8ldur x29, [sp-8]
002924fcldr x30, [sp], 176
00292500ret x30
00292504
00292504loc_292504:
00292504bl runtime.panicIndex
00292508
00292508loc_292508:
00292508bl runtime.panicIndex
0029250chint
00292510
00292510loc_292510:
00292510stp x0, x1, [sp+8]
00292514stp x2, x3, [sp+24]
00292518stp x4, x5, [sp+40]
0029251cstp x6, x7, [sp+56]
00292520stp x8, x9, [sp+72]
00292524mov x3, x30
00292528bl runtime.morestack_noctxt.abi0
0029252cldp x0, x1, [sp+8]
00292530ldp x2, x3, [sp+24]
00292534ldp x4, x5, [sp+40]
00292538ldp x6, x7, [sp+56]
0029253cldp x8, x9, [sp+72]
00292540b 0x292150
00292544udf 0
00292548udf 0
0029254cudf 0
00292150
00292150math/big.nat.subMod2N: ; void math/big.nat.subMod2N(math/big.nat z, math/big.nat x, math/big.nat y, uint n)
00292150ldr x16, [x28+16]
00292154sub x17, sp, 48
00292158subs xzr, x17, x16
0029215cb.ls 0x292510
00292160str x30, [sp-176]!
00292164stur x29, [sp-8]
00292168sub x29, sp, 8
0029216cstr x0, [sp+184]
00292170str x1, [sp+192]
00292174str x2, [sp+200]
00292178str x3, [sp+208]
0029217cstr x4, [sp+216]
00292180str x5, [sp+224]
00292184str x6, [sp+232]
00292188str x7, [sp+240]
0029218cstr x8, [sp+248]
00292190str x9, [sp+256]
00292194str xzr, [sp+120]
00292198stp xzr, xzr, [sp+128]
0029219cldr x0, [sp+208]
002921a0ldr x1, [sp+216]
002921a4ldr x2, [sp+224]
002921a8bl math/big.nat.bitLen
002921acstr x0, [sp+104]
002921b0ldr x3, [sp+256]
002921b4subs xzr, x0, x3
002921b8b.hi 0x2921c0
002921bcb 0x29224c
002921c0
002921c0loc_2921c0:
002921c0ldr x0, [sp+184]
002921c4ldr x3, [sp+208]
002921c8ldr x1, [sp+192]
002921ccldr x4, [sp+216]
002921d0ldr x2, [sp+200]
002921d4ldr x5, [sp+224]
002921d8bl math/big.alias
002921dcstrb w0, [sp+87]
002921e0tbnz w0, 0, 0x2921e8
002921e4b 0x292218
002921e8
002921e8loc_2921e8:
002921e8ldr x6, [sp+256]
002921ecldr x0, [sp+208]
002921f0ldr x3, [sp+208]
002921f4ldr x1, [sp+216]
002921f8ldr x4, [sp+216]
002921fcldr x2, [sp+224]
00292200ldr x5, [sp+224]
00292204bl math/big.nat.trunc
00292208str x0, [sp+208]
0029220cstr x1, [sp+216]
00292210str x2, [sp+224]
00292214b 0x292248
00292218
00292218loc_292218:
00292218ldr x6, [sp+256]
0029221cldr x3, [sp+208]
00292220ldr x4, [sp+216]
00292224ldr x5, [sp+224]
00292228mov x0, xzr
0029222cmov x1, xzr
00292230mov x2, x1
00292234bl math/big.nat.trunc
00292238str x0, [sp+208]
0029223cstr x1, [sp+216]
00292240str x2, [sp+224]
00292244b 0x292248
00292248
00292248loc_292248:
00292248b 0x292250
0029224c
0029224cloc_29224c:
0029224cb 0x292250
00292250
00292250loc_292250:
00292250ldr x0, [sp+232]
00292254ldr x1, [sp+240]
00292258ldr x2, [sp+248]
0029225cbl math/big.nat.bitLen
00292260str x0, [sp+104]
00292264ldr x3, [sp+256]
00292268subs xzr, x0, x3
0029226cb.hi 0x292274
00292270b 0x292300
00292274
00292274loc_292274:
00292274ldr x0, [sp+184]
00292278ldr x3, [sp+232]
0029227cldr x1, [sp+192]
00292280ldr x4, [sp+240]
00292284ldr x2, [sp+200]
00292288ldr x5, [sp+248]
0029228cbl math/big.alias
00292290strb w0, [sp+87]
00292294tbnz w0, 0, 0x29229c
00292298b 0x2922cc
0029229c
0029229cloc_29229c:
0029229cldr x6, [sp+256]
002922a0ldr x0, [sp+232]
002922a4ldr x3, [sp+232]
002922a8ldr x1, [sp+240]
002922acldr x4, [sp+240]
002922b0ldr x2, [sp+248]
002922b4ldr x5, [sp+248]
002922b8bl math/big.nat.trunc
002922bcstr x0, [sp+232]
002922c0str x1, [sp+240]
002922c4str x2, [sp+248]
002922c8b 0x2922fc
002922cc
002922ccloc_2922cc:
002922ccldr x6, [sp+256]
002922d0ldr x3, [sp+232]
002922d4ldr x4, [sp+240]
002922d8ldr x5, [sp+248]
002922dcmov x0, xzr
002922e0mov x1, xzr
002922e4mov x2, x1
002922e8bl math/big.nat.trunc
002922ecstr x0, [sp+232]
002922f0str x1, [sp+240]
002922f4str x2, [sp+248]
002922f8b 0x2922fc
002922fc
002922fcloc_2922fc:
002922fcb 0x292304
00292300
00292300loc_292300:
00292300b 0x292304
00292304
00292304loc_292304:
00292304ldr x0, [sp+208]
00292308ldr x3, [sp+232]
0029230cldr x1, [sp+216]
00292310ldr x4, [sp+240]
00292314ldr x2, [sp+224]
00292318ldr x5, [sp+248]
0029231cbl math/big.nat.cmp
00292320str x0, [sp+104]
00292324tbz x0, 63, 0x29232c
00292328b 0x292378
0029232c
0029232cloc_29232c:
0029232cldr x0, [sp+184]
00292330ldr x3, [sp+208]
00292334ldr x6, [sp+232]
00292338ldr x1, [sp+192]
0029233cldr x4, [sp+216]
00292340ldr x7, [sp+240]
00292344ldr x2, [sp+200]
00292348ldr x5, [sp+224]
0029234cldr x8, [sp+248]
00292350bl math/big.nat.sub
00292354str x0, [sp+144]
00292358str x1, [sp+152]
0029235cstr x2, [sp+160]
00292360str x0, [sp+120]
00292364str x1, [sp+128]
00292368str x2, [sp+136]
0029236cldur x29, [sp-8]
00292370ldr x30, [sp], 176
00292374ret x30
00292378
00292378loc_292378:
00292378ldr x0, [sp+184]
0029237cldr x3, [sp+232]
00292380ldr x6, [sp+208]
00292384ldr x1, [sp+192]
00292388ldr x4, [sp+240]
0029238cldr x7, [sp+216]
00292390ldr x2, [sp+200]
00292394ldr x5, [sp+248]
00292398ldr x8, [sp+224]
0029239cbl math/big.nat.sub
002923a0str x0, [sp+184]
002923a4str x1, [sp+192]
002923a8str x2, [sp+200]
002923acb 0x2923b0
002923b0
002923b0loc_2923b0:
002923b0ldr x7, [sp+192]
002923b4str x7, [sp+104]
002923b8ldr x8, [sp+256]
002923bcsubs xzr, x8, x7, lsl #6
002923c0b.hi 0x2923c8
002923c4b 0x292418
002923c8
002923c8loc_2923c8:
002923c8ldr x2, [sp+200]
002923ccldr x0, [sp+184]
002923d0ldr x7, [sp+192]
002923d4add x1, x7, 1
002923d8subs xzr, x2, x1
002923dcb.hs 0x2923e4
002923e0b 0x2923e8
002923e4
002923e4loc_2923e4:
002923e4b 0x2923fc
002923e8
002923e8loc_2923e8:
002923e8orr x3, xzr, 1
002923ecadrp x4, 0x364000
002923f0add x4, x4, 2624
002923f4bl runtime.growslice
002923f8b 0x2923fc
002923fc
002923fcloc_2923fc:
002923fcsub x7, x1, 1
00292400str xzr, [x0+3*x7]
00292404str x0, [sp+184]
00292408str x1, [sp+192]
0029240cstr x2, [sp+200]
00292410b 0x292414
00292414
00292414loc_292414:
00292414b 0x2923b0
00292418
00292418loc_292418:
00292418str xzr, [sp+96]
0029241cldr x7, [sp+192]
00292420str x7, [sp+112]
00292424b 0x292428
00292428
00292428loc_292428:
00292428ldr x7, [sp+112]
0029242cldr x8, [sp+96]
00292430subs xzr, x7, x8
00292434b.gt 0x29243c
00292438b 0x29248c
0029243c
0029243cloc_29243c:
0029243cldr x0, [sp+96]
00292440str x0, [sp+88]
00292444ldr x1, [sp+192]
00292448ldr x7, [sp+184]
0029244csubs xzr, x1, x0
00292450b.hi 0x292458
00292454b 0x292508
00292458
00292458loc_292458:
00292458ldr x1, [sp+192]
0029245cldr x8, [sp+184]
00292460ldr x7, [x7+3*x0]
00292464orn x7, xzr, x7
00292468subs xzr, x1, x0
0029246cb.hi 0x292474
00292470b 0x292504
00292474
00292474loc_292474:
00292474str x7, [x8+3*x0]
00292478b 0x29247c
0029247c
0029247cloc_29247c:
0029247cldr x7, [sp+96]
00292480add x7, x7, 1
00292484str x7, [sp+96]
00292488b 0x292428
0029248c
0029248cloc_29248c:
0029248cldr x6, [sp+256]
00292490ldr x0, [sp+184]
00292494ldr x3, [sp+184]
00292498ldr x1, [sp+192]
0029249cldr x4, [sp+192]
002924a0ldr x2, [sp+200]
002924a4ldr x5, [sp+200]
002924a8bl math/big.nat.trunc
002924acstr x0, [sp+184]
002924b0str x1, [sp+192]
002924b4str x2, [sp+200]
002924b8adrp x27, 0x77e000
002924bcldr x7, [x27+2104]
002924c0adrp x27, 0x77e000
002924c4ldr x8, [x27+2112]
002924c8adrp x27, 0x77e000
002924ccldr x6, [x27+2096]
002924d0mov x3, x0
002924d4mov x4, x1
002924d8mov x5, x2
002924dcbl math/big.nat.add
002924e0str x0, [sp+144]
002924e4str x1, [sp+152]
002924e8str x2, [sp+160]
002924ecstr x0, [sp+120]
002924f0str x1, [sp+128]
002924f4str x2, [sp+136]
002924f8ldur x29, [sp-8]
002924fcldr x30, [sp], 176
00292500ret x30
00292504
00292504loc_292504:
00292504bl runtime.panicIndex
00292508
00292508loc_292508:
00292508bl runtime.panicIndex
0029250chint
00292510
00292510loc_292510:
00292510stp x0, x1, [sp+8]
00292514stp x2, x3, [sp+24]
00292518stp x4, x5, [sp+40]
0029251cstp x6, x7, [sp+56]
00292520stp x8, x9, [sp+72]
00292524mov x3, x30
00292528bl runtime.morestack_noctxt.abi0
0029252cldp x0, x1, [sp+8]
00292530ldp x2, x3, [sp+24]
00292534ldp x4, x5, [sp+40]
00292538ldp x6, x7, [sp+56]
0029253cldp x8, x9, [sp+72]
00292540b 0x292150
00292544udf 0
00292548udf 0
0029254cudf 0
00292150
Loading..