File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
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
00292550
00292550math/big.maxPow: ; void math/big.maxPow(math/big.Word b)
00292550ldr x16, [x28+16]
00292554subs xzr, sp, x16
00292558b.ls 0x2925f0
0029255cstr x30, [sp-48]!
00292560stur x29, [sp-8]
00292564sub x29, sp, 8
00292568str x0, [sp+56]
0029256cstr xzr, [sp+16]
00292570str xzr, [sp+24]
00292574str x0, [sp+16]
00292578orr x2, xzr, 1
0029257cstr x2, [sp+24]
00292580ldr x2, [sp+56]
00292584cbnz x2, 0x29258c
00292588b 0x2925e8
0029258c
0029258cloc_29258c:
0029258cmovn x3, 0
00292590udiv x2, x3, x2
00292594str x2, [sp+32]
00292598b 0x29259c
0029259c
0029259cloc_29259c:
0029259cldr x2, [sp+32]
002925a0ldr x3, [sp+16]
002925a4subs xzr, x2, x3
002925a8b.hs 0x2925b0
002925acb 0x2925d4
002925b0
002925b0loc_2925b0:
002925b0ldr x2, [sp+56]
002925b4ldr x3, [sp+16]
002925b8madd x2, x3, x2, xzr
002925bcstr x2, [sp+16]
002925c0ldr x2, [sp+24]
002925c4add x2, x2, 1
002925c8str x2, [sp+24]
002925ccb 0x2925d0
002925d0
002925d0loc_2925d0:
002925d0b 0x29259c
002925d4
002925d4loc_2925d4:
002925d4ldr x1, [sp+24]
002925d8ldr x0, [sp+16]
002925dcldur x29, [sp-8]
002925e0ldr x30, [sp], 48
002925e4ret x30
002925e8
002925e8loc_2925e8:
002925e8bl runtime.panicdivide
002925echint
002925f0
002925f0loc_2925f0:
002925f0str x0, [sp+8]
002925f4mov x3, x30
002925f8bl runtime.morestack_noctxt.abi0
002925fcldr x0, [sp+8]
00292600b 0x292550
00292604udf 0
00292608udf 0
0029260cudf 0
00292550
00292550math/big.maxPow: ; void math/big.maxPow(math/big.Word b)
00292550ldr x16, [x28+16]
00292554subs xzr, sp, x16
00292558b.ls 0x2925f0
0029255cstr x30, [sp-48]!
00292560stur x29, [sp-8]
00292564sub x29, sp, 8
00292568str x0, [sp+56]
0029256cstr xzr, [sp+16]
00292570str xzr, [sp+24]
00292574str x0, [sp+16]
00292578orr x2, xzr, 1
0029257cstr x2, [sp+24]
00292580ldr x2, [sp+56]
00292584cbnz x2, 0x29258c
00292588b 0x2925e8
0029258c
0029258cloc_29258c:
0029258cmovn x3, 0
00292590udiv x2, x3, x2
00292594str x2, [sp+32]
00292598b 0x29259c
0029259c
0029259cloc_29259c:
0029259cldr x2, [sp+32]
002925a0ldr x3, [sp+16]
002925a4subs xzr, x2, x3
002925a8b.hs 0x2925b0
002925acb 0x2925d4
002925b0
002925b0loc_2925b0:
002925b0ldr x2, [sp+56]
002925b4ldr x3, [sp+16]
002925b8madd x2, x3, x2, xzr
002925bcstr x2, [sp+16]
002925c0ldr x2, [sp+24]
002925c4add x2, x2, 1
002925c8str x2, [sp+24]
002925ccb 0x2925d0
002925d0
002925d0loc_2925d0:
002925d0b 0x29259c
002925d4
002925d4loc_2925d4:
002925d4ldr x1, [sp+24]
002925d8ldr x0, [sp+16]
002925dcldur x29, [sp-8]
002925e0ldr x30, [sp], 48
002925e4ret x30
002925e8
002925e8loc_2925e8:
002925e8bl runtime.panicdivide
002925echint
002925f0
002925f0loc_2925f0:
002925f0str x0, [sp+8]
002925f4mov x3, x30
002925f8bl runtime.morestack_noctxt.abi0
002925fcldr x0, [sp+8]
00292600b 0x292550
00292604udf 0
00292608udf 0
0029260cudf 0
00292550
Loading..