File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    005923e0
    005923e0crypto/internal/fips140/edwards25519.init: ; void crypto/internal/fips140/edwards25519.init(void)
    005923e0ldr x16, [x28+16]
    005923e4sub x17, sp, 96
    005923e8subs xzr, x17, x16
    005923ecb.ls 0x592bf4
    005923f0str x30, [sp-224]!
    005923f4stur x29, [sp-8]
    005923f8sub x29, sp, 8
    005923fcadrp x0, 0xe5000
    00592400add x0, x0, 3648
    00592404bl runtime.newobject
    00592408str x0, [sp+208]
    0059240cbl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592410adrp x27, 0x4b9000
    00592414ldr w1, [x27+3056]
    00592418cbz w1, 0x592420
    0059241cb 0x592424
    00592420
    00592420loc_592420:
    00592420b 0x59243c
    00592424
    00592424loc_592424:
    00592424bl runtime.gcWriteBarrier2
    00592428str x0, [x25]
    0059242cadrp x27, 0x48f000
    00592430ldr x1, [x27+712]
    00592434str x1, [x25+8]
    00592438b 0x59243c
    0059243c
    0059243cloc_59243c:
    0059243cadrp x27, 0x48f000
    00592440str x0, [x27+712]
    00592444adrp x0, 0xe5000
    00592448add x0, x0, 3648
    0059244cbl runtime.newobject
    00592450str x0, [sp+208]
    00592454str xzr, [sp+176]
    00592458stp xzr, xzr, [sp+40]
    0059245cstp xzr, xzr, [sp+56]
    00592460add x1, sp, 40
    00592464str x1, [sp+128]
    00592468ldrsb x27, [x1]
    0059246cmovn x2, 92
    00592470strb w2, [x1]
    00592474ldr x1, [sp+128]
    00592478ldrsb x27, [x1]
    0059247corr x2, xzr, 120
    00592480strb w2, [x1+1]
    00592484ldr x1, [sp+128]
    00592488ldrsb x27, [x1]
    0059248cmovz x2, 89
    00592490strb w2, [x1+2]
    00592494ldr x1, [sp+128]
    00592498ldrsb x27, [x1]
    0059249cmovz x2, 19
    005924a0strb w2, [x1+3]
    005924a4ldr x1, [sp+128]
    005924a8ldrsb x27, [x1]
    005924acmovn x2, 53
    005924b0strb w2, [x1+4]
    005924b4ldr x1, [sp+128]
    005924b8ldrsb x27, [x1]
    005924bcmovz x2, 77
    005924c0strb w2, [x1+5]
    005924c4ldr x1, [sp+128]
    005924c8ldrsb x27, [x1]
    005924ccmovn x3, 20
    005924d0strb w3, [x1+6]
    005924d4ldr x1, [sp+128]
    005924d8ldrsb x27, [x1]
    005924dcmovz x3, 117
    005924e0strb w3, [x1+7]
    005924e4ldr x1, [sp+128]
    005924e8ldrsb x27, [x1]
    005924ecmovn x3, 84
    005924f0strb w3, [x1+8]
    005924f4ldr x1, [sp+128]
    005924f8ldrsb x27, [x1]
    005924fcmovn x3, 39
    00592500strb w3, [x1+9]
    00592504ldr x1, [sp+128]
    00592508ldrsb x27, [x1]
    0059250cmovz x3, 65
    00592510strb w3, [x1+10]
    00592514ldr x1, [sp+128]
    00592518ldrsb x27, [x1]
    0059251cstrb w3, [x1+11]
    00592520ldr x1, [sp+128]
    00592524ldrsb x27, [x1]
    00592528strb w2, [x1+12]
    0059252cldr x1, [sp+128]
    00592530ldrsb x27, [x1]
    00592534movz x2, 10
    00592538strb w2, [x1+13]
    0059253cldr x1, [sp+128]
    00592540ldrsb x27, [x1]
    00592544orr x2, xzr, 112
    00592548strb w2, [x1+14]
    0059254cldr x1, [sp+128]
    00592550ldrsb x27, [x1]
    00592554strb wzr, [x1+15]
    00592558ldr x1, [sp+128]
    0059255cldrsb x27, [x1]
    00592560movn x2, 103
    00592564strb w2, [x1+16]
    00592568ldr x1, [sp+128]
    0059256cldrsb x27, [x1]
    00592570movn x2, 23
    00592574strb w2, [x1+17]
    00592578ldr x1, [sp+128]
    0059257cldrsb x27, [x1]
    00592580movz x2, 121
    00592584strb w2, [x1+18]
    00592588ldr x1, [sp+128]
    0059258cldrsb x27, [x1]
    00592590movz x3, 119
    00592594strb w3, [x1+19]
    00592598ldr x1, [sp+128]
    0059259cldrsb x27, [x1]
    005925a0strb w2, [x1+20]
    005925a4ldr x1, [sp+128]
    005925a8ldrsb x27, [x1]
    005925acorr x2, xzr, 64
    005925b0strb w2, [x1+21]
    005925b4ldr x1, [sp+128]
    005925b8ldrsb x27, [x1]
    005925bcmovn x2, 56
    005925c0strb w2, [x1+22]
    005925c4ldr x1, [sp+128]
    005925c8ldrsb x27, [x1]
    005925ccmovn x2, 115
    005925d0strb w2, [x1+23]
    005925d4ldr x1, [sp+128]
    005925d8ldrsb x27, [x1]
    005925dcmovz x2, 115
    005925e0strb w2, [x1+24]
    005925e4ldr x1, [sp+128]
    005925e8ldrsb x27, [x1]
    005925ecmovn x2, 1
    005925f0strb w2, [x1+25]
    005925f4ldr x1, [sp+128]
    005925f8ldrsb x27, [x1]
    005925fcmovz x2, 111
    00592600strb w2, [x1+26]
    00592604ldr x1, [sp+128]
    00592608ldrsb x27, [x1]
    0059260cmovz x2, 43
    00592610strb w2, [x1+27]
    00592614ldr x1, [sp+128]
    00592618ldrsb x27, [x1]
    0059261cmovn x2, 17
    00592620strb w2, [x1+28]
    00592624ldr x1, [sp+128]
    00592628ldrsb x27, [x1]
    0059262cmovz x2, 108
    00592630strb w2, [x1+29]
    00592634ldr x1, [sp+128]
    00592638ldrsb x27, [x1]
    0059263corr x2, xzr, 3
    00592640strb w2, [x1+30]
    00592644ldr x1, [sp+128]
    00592648ldrsb x27, [x1]
    0059264cmovz x2, 82
    00592650strb w2, [x1+31]
    00592654ldr x1, [sp+128]
    00592658ldrsb x27, [x1]
    0059265cb 0x592660
    00592660
    00592660loc_592660:
    00592660str x1, [sp+136]
    00592664orr x3, xzr, 32
    00592668str x3, [sp+144]
    0059266cstr x3, [sp+152]
    00592670ldr x0, [sp+208]
    00592674mov x2, x3
    00592678bl crypto/internal/fips140/edwards25519/field.(*Element).SetBytes
    0059267cstr x0, [sp+176]
    00592680adrp x27, 0x4b9000
    00592684ldr w4, [x27+3056]
    00592688cbz w4, 0x592690
    0059268cb 0x592694
    00592690
    00592690loc_592690:
    00592690b 0x5926ac
    00592694
    00592694loc_592694:
    00592694bl runtime.gcWriteBarrier2
    00592698str x0, [x25]
    0059269cadrp x27, 0x48f000
    005926a0ldr x1, [x27+720]
    005926a4str x1, [x25+8]
    005926a8b 0x5926ac
    005926ac
    005926acloc_5926ac:
    005926acadrp x27, 0x48f000
    005926b0str x0, [x27+720]
    005926b4adrp x0, 0xe6000
    005926b8add x0, x0, 448
    005926bcbl runtime.newobject
    005926c0str x0, [sp+168]
    005926c4str xzr, [sp+160]
    005926c8stp xzr, xzr, [sp+40]
    005926ccstp xzr, xzr, [sp+56]
    005926d0add x1, sp, 40
    005926d4str x1, [sp+96]
    005926d8ldrsb x27, [x1]
    005926dcorr x2, xzr, 1
    005926e0strb w2, [x1]
    005926e4ldr x1, [sp+96]
    005926e8ldrsb x27, [x1]
    005926ecstrb wzr, [x1+1]
    005926f0ldr x1, [sp+96]
    005926f4ldrsb x27, [x1]
    005926f8strb wzr, [x1+2]
    005926fcldr x1, [sp+96]
    00592700ldrsb x27, [x1]
    00592704strb wzr, [x1+3]
    00592708ldr x1, [sp+96]
    0059270cldrsb x27, [x1]
    00592710strb wzr, [x1+4]
    00592714ldr x1, [sp+96]
    00592718ldrsb x27, [x1]
    0059271cstrb wzr, [x1+5]
    00592720ldr x1, [sp+96]
    00592724ldrsb x27, [x1]
    00592728strb wzr, [x1+6]
    0059272cldr x1, [sp+96]
    00592730ldrsb x27, [x1]
    00592734strb wzr, [x1+7]
    00592738ldr x1, [sp+96]
    0059273cldrsb x27, [x1]
    00592740strb wzr, [x1+8]
    00592744ldr x1, [sp+96]
    00592748ldrsb x27, [x1]
    0059274cstrb wzr, [x1+9]
    00592750ldr x1, [sp+96]
    00592754ldrsb x27, [x1]
    00592758strb wzr, [x1+10]
    0059275cldr x1, [sp+96]
    00592760ldrsb x27, [x1]
    00592764strb wzr, [x1+11]
    00592768ldr x1, [sp+96]
    0059276cldrsb x27, [x1]
    00592770strb wzr, [x1+12]
    00592774ldr x1, [sp+96]
    00592778ldrsb x27, [x1]
    0059277cstrb wzr, [x1+13]
    00592780ldr x1, [sp+96]
    00592784ldrsb x27, [x1]
    00592788strb wzr, [x1+14]
    0059278cldr x1, [sp+96]
    00592790ldrsb x27, [x1]
    00592794strb wzr, [x1+15]
    00592798ldr x1, [sp+96]
    0059279cldrsb x27, [x1]
    005927a0strb wzr, [x1+16]
    005927a4ldr x1, [sp+96]
    005927a8ldrsb x27, [x1]
    005927acstrb wzr, [x1+17]
    005927b0ldr x1, [sp+96]
    005927b4ldrsb x27, [x1]
    005927b8strb wzr, [x1+18]
    005927bcldr x1, [sp+96]
    005927c0ldrsb x27, [x1]
    005927c4strb wzr, [x1+19]
    005927c8ldr x1, [sp+96]
    005927ccldrsb x27, [x1]
    005927d0strb wzr, [x1+20]
    005927d4ldr x1, [sp+96]
    005927d8ldrsb x27, [x1]
    005927dcstrb wzr, [x1+21]
    005927e0ldr x1, [sp+96]
    005927e4ldrsb x27, [x1]
    005927e8strb wzr, [x1+22]
    005927ecldr x1, [sp+96]
    005927f0ldrsb x27, [x1]
    005927f4strb wzr, [x1+23]
    005927f8ldr x1, [sp+96]
    005927fcldrsb x27, [x1]
    00592800strb wzr, [x1+24]
    00592804ldr x1, [sp+96]
    00592808ldrsb x27, [x1]
    0059280cstrb wzr, [x1+25]
    00592810ldr x1, [sp+96]
    00592814ldrsb x27, [x1]
    00592818strb wzr, [x1+26]
    0059281cldr x1, [sp+96]
    00592820ldrsb x27, [x1]
    00592824strb wzr, [x1+27]
    00592828ldr x1, [sp+96]
    0059282cldrsb x27, [x1]
    00592830strb wzr, [x1+28]
    00592834ldr x1, [sp+96]
    00592838ldrsb x27, [x1]
    0059283cstrb wzr, [x1+29]
    00592840ldr x1, [sp+96]
    00592844ldrsb x27, [x1]
    00592848strb wzr, [x1+30]
    0059284cldr x1, [sp+96]
    00592850ldrsb x27, [x1]
    00592854strb wzr, [x1+31]
    00592858ldr x1, [sp+96]
    0059285cldrsb x27, [x1]
    00592860b 0x592864
    00592864
    00592864loc_592864:
    00592864str x1, [sp+104]
    00592868orr x3, xzr, 32
    0059286cstr x3, [sp+112]
    00592870str x3, [sp+120]
    00592874ldr x0, [sp+168]
    00592878mov x2, x3
    0059287cbl crypto/internal/fips140/edwards25519.(*Point).SetBytes
    00592880str x0, [sp+160]
    00592884adrp x27, 0x4b9000
    00592888ldr w4, [x27+3056]
    0059288ccbz w4, 0x592894
    00592890b 0x592898
    00592894
    00592894loc_592894:
    00592894b 0x5928b0
    00592898
    00592898loc_592898:
    00592898bl runtime.gcWriteBarrier2
    0059289cstr x0, [x25]
    005928a0adrp x27, 0x48f000
    005928a4ldr x1, [x27+696]
    005928a8str x1, [x25+8]
    005928acb 0x5928b0
    005928b0
    005928b0loc_5928b0:
    005928b0adrp x27, 0x48f000
    005928b4str x0, [x27+696]
    005928b8adrp x0, 0xe6000
    005928bcadd x0, x0, 448
    005928c0bl runtime.newobject
    005928c4str x0, [sp+160]
    005928c8str xzr, [sp+168]
    005928ccstp xzr, xzr, [sp+40]
    005928d0stp xzr, xzr, [sp+56]
    005928d4add x1, sp, 40
    005928d8str x1, [sp+200]
    005928dcldrsb x27, [x1]
    005928e0movz x2, 88
    005928e4strb w2, [x1]
    005928e8ldr x1, [sp+200]
    005928ecldrsb x27, [x1]
    005928f0movz x2, 102
    005928f4strb w2, [x1+1]
    005928f8ldr x1, [sp+200]
    005928fcldrsb x27, [x1]
    00592900strb w2, [x1+2]
    00592904ldr x1, [sp+200]
    00592908ldrsb x27, [x1]
    0059290cstrb w2, [x1+3]
    00592910ldr x1, [sp+200]
    00592914ldrsb x27, [x1]
    00592918strb w2, [x1+4]
    0059291cldr x1, [sp+200]
    00592920ldrsb x27, [x1]
    00592924strb w2, [x1+5]
    00592928ldr x1, [sp+200]
    0059292cldrsb x27, [x1]
    00592930strb w2, [x1+6]
    00592934ldr x1, [sp+200]
    00592938ldrsb x27, [x1]
    0059293cstrb w2, [x1+7]
    00592940ldr x1, [sp+200]
    00592944ldrsb x27, [x1]
    00592948strb w2, [x1+8]
    0059294cldr x1, [sp+200]
    00592950ldrsb x27, [x1]
    00592954strb w2, [x1+9]
    00592958ldr x1, [sp+200]
    0059295cldrsb x27, [x1]
    00592960strb w2, [x1+10]
    00592964ldr x1, [sp+200]
    00592968ldrsb x27, [x1]
    0059296cstrb w2, [x1+11]
    00592970ldr x1, [sp+200]
    00592974ldrsb x27, [x1]
    00592978strb w2, [x1+12]
    0059297cldr x1, [sp+200]
    00592980ldrsb x27, [x1]
    00592984strb w2, [x1+13]
    00592988ldr x1, [sp+200]
    0059298cldrsb x27, [x1]
    00592990strb w2, [x1+14]
    00592994ldr x1, [sp+200]
    00592998ldrsb x27, [x1]
    0059299cstrb w2, [x1+15]
    005929a0ldr x1, [sp+200]
    005929a4ldrsb x27, [x1]
    005929a8strb w2, [x1+16]
    005929acldr x1, [sp+200]
    005929b0ldrsb x27, [x1]
    005929b4strb w2, [x1+17]
    005929b8ldr x1, [sp+200]
    005929bcldrsb x27, [x1]
    005929c0strb w2, [x1+18]
    005929c4ldr x1, [sp+200]
    005929c8ldrsb x27, [x1]
    005929ccstrb w2, [x1+19]
    005929d0ldr x1, [sp+200]
    005929d4ldrsb x27, [x1]
    005929d8strb w2, [x1+20]
    005929dcldr x1, [sp+200]
    005929e0ldrsb x27, [x1]
    005929e4strb w2, [x1+21]
    005929e8ldr x1, [sp+200]
    005929ecldrsb x27, [x1]
    005929f0strb w2, [x1+22]
    005929f4ldr x1, [sp+200]
    005929f8ldrsb x27, [x1]
    005929fcstrb w2, [x1+23]
    00592a00ldr x1, [sp+200]
    00592a04ldrsb x27, [x1]
    00592a08strb w2, [x1+24]
    00592a0cldr x1, [sp+200]
    00592a10ldrsb x27, [x1]
    00592a14strb w2, [x1+25]
    00592a18ldr x1, [sp+200]
    00592a1cldrsb x27, [x1]
    00592a20strb w2, [x1+26]
    00592a24ldr x1, [sp+200]
    00592a28ldrsb x27, [x1]
    00592a2cstrb w2, [x1+27]
    00592a30ldr x1, [sp+200]
    00592a34ldrsb x27, [x1]
    00592a38strb w2, [x1+28]
    00592a3cldr x1, [sp+200]
    00592a40ldrsb x27, [x1]
    00592a44strb w2, [x1+29]
    00592a48ldr x1, [sp+200]
    00592a4cldrsb x27, [x1]
    00592a50strb w2, [x1+30]
    00592a54ldr x1, [sp+200]
    00592a58ldrsb x27, [x1]
    00592a5cstrb w2, [x1+31]
    00592a60ldr x1, [sp+200]
    00592a64ldrsb x27, [x1]
    00592a68b 0x592a6c
    00592a6c
    00592a6cloc_592a6c:
    00592a6cstr x1, [sp+72]
    00592a70orr x3, xzr, 32
    00592a74str x3, [sp+80]
    00592a78str x3, [sp+88]
    00592a7cldr x0, [sp+160]
    00592a80mov x2, x3
    00592a84bl crypto/internal/fips140/edwards25519.(*Point).SetBytes
    00592a88str x0, [sp+168]
    00592a8cadrp x27, 0x4b9000
    00592a90ldr w4, [x27+3056]
    00592a94cbz w4, 0x592a9c
    00592a98b 0x592aa0
    00592a9c
    00592a9cloc_592a9c:
    00592a9cb 0x592ab8
    00592aa0
    00592aa0loc_592aa0:
    00592aa0bl runtime.gcWriteBarrier2
    00592aa4str x0, [x25]
    00592aa8adrp x27, 0x48f000
    00592aacldr x1, [x27+704]
    00592ab0str x1, [x25+8]
    00592ab4b 0x592ab8
    00592ab8
    00592ab8loc_592ab8:
    00592ab8adrp x27, 0x48f000
    00592abcstr x0, [x27+704]
    00592ac0adrp x0, 0xe5000
    00592ac4add x0, x0, 3648
    00592ac8bl runtime.newobject
    00592accstr x0, [sp+176]
    00592ad0adrp x27, 0x48f000
    00592ad4ldr x1, [x27+720]
    00592ad8adrp x27, 0x48f000
    00592adcldr x2, [x27+720]
    00592ae0bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00592ae4adrp x27, 0x4b9000
    00592ae8ldr w1, [x27+3056]
    00592aeccbz w1, 0x592af4
    00592af0b 0x592af8
    00592af4
    00592af4loc_592af4:
    00592af4b 0x592b10
    00592af8
    00592af8loc_592af8:
    00592af8bl runtime.gcWriteBarrier2
    00592afcstr x0, [x25]
    00592b00adrp x27, 0x48f000
    00592b04ldr x1, [x27+728]
    00592b08str x1, [x25+8]
    00592b0cb 0x592b10
    00592b10
    00592b10loc_592b10:
    00592b10adrp x27, 0x48f000
    00592b14str x0, [x27+728]
    00592b18adrp x0, 0x9c000
    00592b1cadd x0, x0, 2400
    00592b20bl runtime.newobject
    00592b24str x0, [sp+192]
    00592b28adrp x27, 0x197000
    00592b2cadd x27, x27, 3168
    00592b30ldp x1, x2, [x27]
    00592b34adrp x27, 0x197000
    00592b38add x27, x27, 3184
    00592b3cldp x3, x4, [x27]
    00592b40stp x1, x2, [x0]
    00592b44stp x3, x4, [x0+16]
    00592b48ldr x1, [sp+192]
    00592b4cadrp x27, 0x4b9000
    00592b50ldr w2, [x27+3056]
    00592b54cbz w2, 0x592b5c
    00592b58b 0x592b60
    00592b5c
    00592b5cloc_592b5c:
    00592b5cb 0x592b78
    00592b60
    00592b60loc_592b60:
    00592b60bl runtime.gcWriteBarrier2
    00592b64str x1, [x25]
    00592b68adrp x27, 0x48f000
    00592b6cldr x2, [x27+736]
    00592b70str x2, [x25+8]
    00592b74b 0x592b78
    00592b78
    00592b78loc_592b78:
    00592b78adrp x27, 0x48f000
    00592b7cstr x1, [x27+736]
    00592b80adrp x0, 0x9c000
    00592b84add x0, x0, 2400
    00592b88bl runtime.newobject
    00592b8cstr x0, [sp+184]
    00592b90adrp x27, 0x197000
    00592b94add x27, x27, 3200
    00592b98ldp x1, x2, [x27]
    00592b9cadrp x27, 0x197000
    00592ba0add x27, x27, 3216
    00592ba4ldp x3, x4, [x27]
    00592ba8stp x1, x2, [x0]
    00592bacstp x3, x4, [x0+16]
    00592bb0ldr x1, [sp+184]
    00592bb4adrp x27, 0x4b9000
    00592bb8ldr w2, [x27+3056]
    00592bbccbz w2, 0x592bc4
    00592bc0b 0x592bc8
    00592bc4
    00592bc4loc_592bc4:
    00592bc4b 0x592be0
    00592bc8
    00592bc8loc_592bc8:
    00592bc8bl runtime.gcWriteBarrier2
    00592bccstr x1, [x25]
    00592bd0adrp x27, 0x48f000
    00592bd4ldr x0, [x27+744]
    00592bd8str x0, [x25+8]
    00592bdcb 0x592be0
    00592be0
    00592be0loc_592be0:
    00592be0adrp x27, 0x48f000
    00592be4str x1, [x27+744]
    00592be8ldur x29, [sp-8]
    00592becldr x30, [sp], 224
    00592bf0ret x30
    00592bf4
    00592bf4loc_592bf4:
    00592bf4mov x3, x30
    00592bf8bl runtime.morestack_noctxt.abi0
    00592bfcb 0x5923e0
    005923e0
    00592c00
    00592c00crypto/internal/fips140/edwards25519.checkInitialized: ; void crypto/internal/fips140/edwards25519.checkInitialized(struct []*crypto/internal/fips140/edwards25519.Point points)
    00592c00ldr x16, [x28+16]
    00592c04sub x17, sp, 96
    00592c08subs xzr, x17, x16
    00592c0cb.ls 0x592d24
    00592c10str x30, [sp-224]!
    00592c14stur x29, [sp-8]
    00592c18sub x29, sp, 8
    00592c1cstr x0, [sp+232]
    00592c20str x1, [sp+240]
    00592c24str x2, [sp+248]
    00592c28str x0, [sp+176]
    00592c2cstr x1, [sp+184]
    00592c30str x2, [sp+192]
    00592c34str xzr, [sp+56]
    00592c38str x1, [sp+48]
    00592c3cb 0x592c40
    00592c40
    00592c40loc_592c40:
    00592c40ldr x3, [sp+48]
    00592c44ldr x4, [sp+56]
    00592c48subs xzr, x3, x4
    00592c4cb.gt 0x592c54
    00592c50b 0x592ce8
    00592c54
    00592c54loc_592c54:
    00592c54ldr x3, [sp+56]
    00592c58ldr x4, [sp+176]
    00592c5cldr x3, [x4+3*x3]
    00592c60str x3, [sp+144]
    00592c64stp xzr, xzr, [sp+104]
    00592c68stp xzr, xzr, [sp+120]
    00592c6cstr xzr, [sp+136]
    00592c70ldr x0, [sp+144]
    00592c74ldrsb x27, [x0]
    00592c78str x0, [sp+152]
    00592c7cadd x1, sp, 104
    00592c80movz x2, 40
    00592c84bl runtime.memequal
    00592c88strb w0, [sp+47]
    00592c8ctbnz w0, 0, 0x592c94
    00592c90b 0x592cc4
    00592c94
    00592c94loc_592c94:
    00592c94stp xzr, xzr, [sp+64]
    00592c98stp xzr, xzr, [sp+80]
    00592c9cstr xzr, [sp+96]
    00592ca0ldr x3, [sp+144]
    00592ca4ldrsb x27, [x3]
    00592ca8add x0, x3, 40
    00592cacstr x0, [sp+208]
    00592cb0add x1, sp, 64
    00592cb4movz x2, 40
    00592cb8bl runtime.memequal
    00592cbcstrb w0, [sp+47]
    00592cc0b 0x592cc8
    00592cc4
    00592cc4loc_592cc4:
    00592cc4b 0x592cc8
    00592cc8
    00592cc8loc_592cc8:
    00592cc8ldrb w3, [sp+47]
    00592ccctbnz w3, 0, 0x592cf4
    00592cd0b 0x592cd4
    00592cd4
    00592cd4loc_592cd4:
    00592cd4b 0x592cd8
    00592cd8
    00592cd8loc_592cd8:
    00592cd8ldr x3, [sp+56]
    00592cdcadd x3, x3, 1
    00592ce0str x3, [sp+56]
    00592ce4b 0x592c40
    00592ce8
    00592ce8loc_592ce8:
    00592ce8ldur x29, [sp-8]
    00592cecldr x30, [sp], 224
    00592cf0ret x30
    00592cf4
    00592cf4loc_592cf4:
    00592cf4adrp x0, 0x132000
    00592cf8add x0, x0, 2579
    00592cfcstr x0, [sp+160]
    00592d00movz x1, 40
    00592d04str x1, [sp+168]
    00592d08bl runtime.convTstring
    00592d0cstr x0, [sp+200]
    00592d10mov x1, x0
    00592d14adrp x0, 0x63000
    00592d18add x0, x0, 2944
    00592d1cbl runtime.gopanic
    00592d20hint
    00592d24
    00592d24loc_592d24:
    00592d24stp x0, x1, [sp+8]
    00592d28str x2, [sp+24]
    00592d2cmov x3, x30
    00592d30bl runtime.morestack_noctxt.abi0
    00592d34ldp x0, x1, [sp+8]
    00592d38ldr x2, [sp+24]
    00592d3cb 0x592c00
    00592c00
    00592d40
    00592d40crypto/internal/fips140/edwards25519.(*projP2).Zero: ; void crypto/internal/fips140/edwards25519.(*projP2).Zero(crypto/internal/fips140/edwards25519.projP2 * v)
    00592d40ldr x16, [x28+16]
    00592d44subs xzr, sp, x16
    00592d48b.ls 0x592dac
    00592d4cstr x30, [sp-64]!
    00592d50stur x29, [sp-8]
    00592d54sub x29, sp, 8
    00592d58str x0, [sp+72]
    00592d5cstr xzr, [sp+24]
    00592d60ldr x0, [sp+72]
    00592d64ldrsb x27, [x0]
    00592d68str x0, [sp+48]
    00592d6cbl crypto/internal/fips140/edwards25519/field.(*Element).Zero
    00592d70ldr x1, [sp+72]
    00592d74ldrsb x27, [x1]
    00592d78add x0, x1, 40
    00592d7cstr x0, [sp+40]
    00592d80bl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592d84ldr x1, [sp+72]
    00592d88ldrsb x27, [x1]
    00592d8cadd x0, x1, 80
    00592d90str x0, [sp+32]
    00592d94bl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592d98ldr x0, [sp+72]
    00592d9cstr x0, [sp+24]
    00592da0ldur x29, [sp-8]
    00592da4ldr x30, [sp], 64
    00592da8ret x30
    00592dac
    00592dacloc_592dac:
    00592dacstr x0, [sp+8]
    00592db0mov x3, x30
    00592db4bl runtime.morestack_noctxt.abi0
    00592db8ldr x0, [sp+8]
    00592dbcb 0x592d40
    00592d40
    00592dc0
    00592dc0crypto/internal/fips140/edwards25519.NewIdentityPoint: ; void crypto/internal/fips140/edwards25519.NewIdentityPoint(void)
    00592dc0ldr x16, [x28+16]
    00592dc4subs xzr, sp, x16
    00592dc8b.ls 0x592e0c
    00592dccstr x30, [sp-64]!
    00592dd0stur x29, [sp-8]
    00592dd4sub x29, sp, 8
    00592dd8str xzr, [sp+32]
    00592ddcadrp x0, 0xe6000
    00592de0add x0, x0, 448
    00592de4bl runtime.newobject
    00592de8str x0, [sp+48]
    00592decadrp x27, 0x48f000
    00592df0ldr x1, [x27+696]
    00592df4bl crypto/internal/fips140/edwards25519.(*Point).Set
    00592df8str x0, [sp+40]
    00592dfcstr x0, [sp+32]
    00592e00ldur x29, [sp-8]
    00592e04ldr x30, [sp], 64
    00592e08ret x30
    00592e0c
    00592e0cloc_592e0c:
    00592e0cmov x3, x30
    00592e10bl runtime.morestack_noctxt.abi0
    00592e14b 0x592dc0
    00592e18udf 0
    00592e1cudf 0
    00592dc0
    00592e20
    00592e20crypto/internal/fips140/edwards25519.NewGeneratorPoint: ; void crypto/internal/fips140/edwards25519.NewGeneratorPoint(void)
    00592e20ldr x16, [x28+16]
    00592e24subs xzr, sp, x16
    00592e28b.ls 0x592e6c
    00592e2cstr x30, [sp-64]!
    00592e30stur x29, [sp-8]
    00592e34sub x29, sp, 8
    00592e38str xzr, [sp+32]
    00592e3cadrp x0, 0xe6000
    00592e40add x0, x0, 448
    00592e44bl runtime.newobject
    00592e48str x0, [sp+48]
    00592e4cadrp x27, 0x48f000
    00592e50ldr x1, [x27+704]
    00592e54bl crypto/internal/fips140/edwards25519.(*Point).Set
    00592e58str x0, [sp+40]
    00592e5cstr x0, [sp+32]
    00592e60ldur x29, [sp-8]
    00592e64ldr x30, [sp], 64
    00592e68ret x30
    00592e6c
    00592e6cloc_592e6c:
    00592e6cmov x3, x30
    00592e70bl runtime.morestack_noctxt.abi0
    00592e74b 0x592e20
    00592e78udf 0
    00592e7cudf 0
    00592e20
    00592e80
    00592e80crypto/internal/fips140/edwards25519.(*affineCached).Zero: ; void crypto/internal/fips140/edwards25519.(*affineCached).Zero(crypto/internal/fips140/edwards25519.affineCached * v)
    00592e80ldr x16, [x28+16]
    00592e84subs xzr, sp, x16
    00592e88b.ls 0x592eec
    00592e8cstr x30, [sp-64]!
    00592e90stur x29, [sp-8]
    00592e94sub x29, sp, 8
    00592e98str x0, [sp+72]
    00592e9cstr xzr, [sp+24]
    00592ea0ldr x0, [sp+72]
    00592ea4ldrsb x27, [x0]
    00592ea8str x0, [sp+48]
    00592eacbl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592eb0ldr x1, [sp+72]
    00592eb4ldrsb x27, [x1]
    00592eb8add x0, x1, 40
    00592ebcstr x0, [sp+40]
    00592ec0bl crypto/internal/fips140/edwards25519/field.(*Element).One
    00592ec4ldr x1, [sp+72]
    00592ec8ldrsb x27, [x1]
    00592eccadd x0, x1, 80
    00592ed0str x0, [sp+32]
    00592ed4bl crypto/internal/fips140/edwards25519/field.(*Element).Zero
    00592ed8ldr x0, [sp+72]
    00592edcstr x0, [sp+24]
    00592ee0ldur x29, [sp-8]
    00592ee4ldr x30, [sp], 64
    00592ee8ret x30
    00592eec
    00592eecloc_592eec:
    00592eecstr x0, [sp+8]
    00592ef0mov x3, x30
    00592ef4bl runtime.morestack_noctxt.abi0
    00592ef8ldr x0, [sp+8]
    00592efcb 0x592e80
    00592e80
    00592f00
    00592f00crypto/internal/fips140/edwards25519.(*Point).Set: ; void crypto/internal/fips140/edwards25519.(*Point).Set(crypto/internal/fips140/edwards25519.Point * v, crypto/internal/fips140/edwards25519.Point * u)
    00592f00ldr x16, [x28+16]
    00592f04subs xzr, sp, x16
    00592f08b.ls 0x592f5c
    00592f0cstr x30, [sp-32]!
    00592f10stur x29, [sp-8]
    00592f14sub x29, sp, 8
    00592f18str x0, [sp+40]
    00592f1cstr x1, [sp+48]
    00592f20str xzr, [sp+16]
    00592f24ldr x21, [sp+40]
    00592f28ldrsb x27, [x21]
    00592f2cldr x20, [sp+48]
    00592f30ldrsb x27, [x20]
    00592f34adr x27, 16
    00592f38stp x29, x27, [sp-24]
    00592f3csub x29, sp, 24
    00592f40bl fn_87ed0
    00592f44sub x29, sp, 8
    00592f48ldr x0, [sp+40]
    00592f4cstr x0, [sp+16]
    00592f50ldur x29, [sp-8]
    00592f54ldr x30, [sp], 32
    00592f58ret x30
    00592f5c
    00592f5cloc_592f5c:
    00592f5cstp x0, x1, [sp+8]
    00592f60mov x3, x30
    00592f64bl runtime.morestack_noctxt.abi0
    00592f68ldp x0, x1, [sp+8]
    00592f6cb 0x592f00
    00592f00
    00592f70
    00592f70crypto/internal/fips140/edwards25519.(*Point).Bytes: ; void crypto/internal/fips140/edwards25519.(*Point).Bytes(crypto/internal/fips140/edwards25519.Point * v)
    00592f70ldr x16, [x28+16]
    00592f74subs xzr, sp, x16
    00592f78b.ls 0x592fdc
    00592f7cstr x30, [sp-96]!
    00592f80stur x29, [sp-8]
    00592f84sub x29, sp, 8
    00592f88str x0, [sp+104]
    00592f8cstr xzr, [sp+32]
    00592f90stp xzr, xzr, [sp+40]
    00592f94adrp x0, 0x6b000
    00592f98add x0, x0, 2240
    00592f9cbl runtime.newobject
    00592fa0str x0, [sp+80]
    00592fa4stp xzr, xzr, [x0]
    00592fa8stp xzr, xzr, [x0+16]
    00592facldr x0, [sp+104]
    00592fb0ldr x1, [sp+80]
    00592fb4bl crypto/internal/fips140/edwards25519.(*Point).bytes
    00592fb8str x0, [sp+56]
    00592fbcstr x1, [sp+64]
    00592fc0str x2, [sp+72]
    00592fc4str x0, [sp+32]
    00592fc8str x1, [sp+40]
    00592fccstr x2, [sp+48]
    00592fd0ldur x29, [sp-8]
    00592fd4ldr x30, [sp], 96
    00592fd8ret x30
    00592fdc
    00592fdcloc_592fdc:
    00592fdcstr x0, [sp+8]
    00592fe0mov x3, x30
    00592fe4bl runtime.morestack_noctxt.abi0
    00592fe8ldr x0, [sp+8]
    00592fecb 0x592f70
    00592f70
    00592ff0
    00592ff0crypto/internal/fips140/edwards25519.(*Point).bytes: ; void crypto/internal/fips140/edwards25519.(*Point).bytes(crypto/internal/fips140/edwards25519.Point * v, uint8[32] * buf)
    00592ff0ldr x16, [x28+16]
    00592ff4sub x17, sp, 160
    00592ff8subs xzr, x17, x16
    00592ffcb.ls 0x593180
    00593000sub x20, sp, 288
    00593004stp x29, x30, [x20-8]
    00593008add sp, x20, 0
    0059300csub x29, sp, 8
    00593010str x0, [sp+296]
    00593014str x1, [sp+304]
    00593018stp xzr, xzr, [sp+168]
    0059301cstr xzr, [sp+184]
    00593020str xzr, [sp+240]
    00593024add x0, sp, 240
    00593028str x0, [sp+272]
    0059302cldrsb x27, [x0]
    00593030ldr x3, [sp+296]
    00593034adrp x27, 0x4b8000
    00593038ldr w4, [x27+3056]
    0059303ccbz w4, 0x593044
    00593040b 0x593048
    00593044
    00593044loc_593044:
    00593044b 0x59305c
    00593048
    00593048loc_593048:
    00593048bl runtime.gcWriteBarrier2
    0059304cstr x3, [x25]
    00593050ldr x4, [x0]
    00593054str x4, [x25+8]
    00593058b 0x59305c
    0059305c
    0059305cloc_59305c:
    0059305cstr x3, [x0]
    00593060ldrsb x27, [x0]
    00593064b 0x593068
    00593068
    00593068loc_593068:
    00593068str x0, [sp+216]
    0059306corr x2, xzr, 1
    00593070str x2, [sp+224]
    00593074str x2, [sp+232]
    00593078mov x1, x2
    0059307cbl crypto/internal/fips140/edwards25519.checkInitialized
    00593080stp xzr, xzr, [sp+40]
    00593084stp xzr, xzr, [sp+56]
    00593088str xzr, [sp+72]
    0059308cstp xzr, xzr, [sp+120]
    00593090stp xzr, xzr, [sp+136]
    00593094str xzr, [sp+152]
    00593098stp xzr, xzr, [sp+80]
    0059309cstp xzr, xzr, [sp+96]
    005930a0str xzr, [sp+112]
    005930a4ldr x3, [sp+296]
    005930a8ldrsb x27, [x3]
    005930acadd x1, x3, 80
    005930b0str x1, [sp+264]
    005930b4add x0, sp, 40
    005930b8bl crypto/internal/fips140/edwards25519/field.(*Element).Invert
    005930bcldr x1, [sp+296]
    005930c0ldrsb x27, [x1]
    005930c4str x1, [sp+256]
    005930c8add x0, sp, 120
    005930ccadd x2, sp, 40
    005930d0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005930d4ldr x3, [sp+296]
    005930d8ldrsb x27, [x3]
    005930dcadd x1, x3, 40
    005930e0str x1, [sp+248]
    005930e4add x0, sp, 80
    005930e8add x2, sp, 40
    005930ecbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005930f0ldr x0, [sp+304]
    005930f4add x1, sp, 80
    005930f8bl crypto/internal/fips140/edwards25519.copyFieldElement
    005930fcstr x0, [sp+192]
    00593100str x1, [sp+200]
    00593104str x2, [sp+208]
    00593108add x0, sp, 120
    0059310cbl crypto/internal/fips140/edwards25519/field.(*Element).IsNegative
    00593110str x0, [sp+160]
    00593114ldr x1, [sp+200]
    00593118ldr x3, [sp+192]
    0059311csubs xzr, x1, 31
    00593120b.hi 0x593128
    00593124b 0x593174
    00593128
    00593128loc_593128:
    00593128ldr x1, [sp+200]
    0059312cldr x4, [sp+192]
    00593130ldrb w3, [x3+31]
    00593134orr x3, x3, x0, lsl #7
    00593138subs xzr, x1, 31
    0059313cb.hi 0x593144
    00593140b 0x59316c
    00593144
    00593144loc_593144:
    00593144strb w3, [x4+31]
    00593148ldr x0, [sp+192]
    0059314cldr x1, [sp+200]
    00593150ldr x2, [sp+208]
    00593154str x0, [sp+168]
    00593158str x1, [sp+176]
    0059315cstr x2, [sp+184]
    00593160ldp x29, x30, [sp-8]
    00593164add sp, sp, 288
    00593168ret x30
    0059316c
    0059316cloc_59316c:
    0059316corr x0, xzr, 31
    00593170bl runtime.panicIndex
    00593174
    00593174loc_593174:
    00593174orr x0, xzr, 31
    00593178bl runtime.panicIndex
    0059317chint
    00593180
    00593180loc_593180:
    00593180stp x0, x1, [sp+8]
    00593184mov x3, x30
    00593188bl runtime.morestack_noctxt.abi0
    0059318cldp x0, x1, [sp+8]
    00593190b 0x592ff0
    00593194udf 0
    00593198udf 0
    0059319cudf 0
    00592ff0
    005931a0
    005931a0crypto/internal/fips140/edwards25519.(*Point).SetBytes: ; void crypto/internal/fips140/edwards25519.(*Point).SetBytes(crypto/internal/fips140/edwards25519.Point * v, struct []uint8 x)
    005931a0ldr x16, [x28+16]
    005931a4sub x17, sp, 384
    005931a8subs xzr, x17, x16
    005931acb.ls 0x59347c
    005931b0sub x20, sp, 512
    005931b4stp x29, x30, [x20-8]
    005931b8add sp, x20, 0
    005931bcsub x29, sp, 8
    005931c0str x0, [sp+520]
    005931c4str x1, [sp+528]
    005931c8str x2, [sp+536]
    005931ccstr x3, [sp+544]
    005931d0str xzr, [sp+336]
    005931d4stp xzr, xzr, [sp+320]
    005931d8stp xzr, xzr, [sp+264]
    005931dcstp xzr, xzr, [sp+280]
    005931e0str xzr, [sp+296]
    005931e4add x4, sp, 264
    005931e8str x4, [sp+488]
    005931ecstr xzr, [sp+480]
    005931f0stp xzr, xzr, [sp+464]
    005931f4ldr x1, [sp+528]
    005931f8ldr x2, [sp+536]
    005931fcldr x3, [sp+544]
    00593200ldr x0, [sp+488]
    00593204bl crypto/internal/fips140/edwards25519/field.(*Element).SetBytes
    00593208str x0, [sp+480]
    0059320cstr x1, [sp+464]
    00593210str x2, [sp+472]
    00593214ldr x4, [sp+480]
    00593218str x4, [sp+424]
    0059321cldr x4, [sp+464]
    00593220ldr x5, [sp+472]
    00593224str x4, [sp+408]
    00593228str x5, [sp+416]
    0059322cldr x4, [sp+424]
    00593230str x4, [sp+352]
    00593234ldr x4, [sp+416]
    00593238ldr x5, [sp+408]
    0059323cstr x5, [sp+392]
    00593240str x4, [sp+400]
    00593244cbnz x5, 0x59324c
    00593248b 0x593288
    0059324c
    0059324cloc_59324c:
    0059324cadrp x0, 0x133000
    00593250add x0, x0, 763
    00593254movz x1, 43
    00593258bl errors.New
    0059325cstr x0, [sp+464]
    00593260str x1, [sp+472]
    00593264str xzr, [sp+336]
    00593268ldr x1, [sp+464]
    0059326cldr x2, [sp+472]
    00593270str x1, [sp+320]
    00593274str x2, [sp+328]
    00593278ldr x0, [sp+336]
    0059327cldp x29, x30, [sp-8]
    00593280add sp, sp, 512
    00593284ret x30
    00593288
    00593288loc_593288:
    00593288stp xzr, xzr, [sp+224]
    0059328cstp xzr, xzr, [sp+240]
    00593290str xzr, [sp+256]
    00593294add x0, sp, 224
    00593298str x0, [sp+480]
    0059329cldr x1, [sp+352]
    005932a0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    005932a4str x0, [sp+344]
    005932a8stp xzr, xzr, [sp+184]
    005932acstp xzr, xzr, [sp+200]
    005932b0str xzr, [sp+216]
    005932b4add x0, sp, 184
    005932b8str x0, [sp+480]
    005932bcldr x1, [sp+344]
    005932c0adrp x27, 0x48e000
    005932c4ldr x2, [x27+712]
    005932c8bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    005932ccstr x0, [sp+384]
    005932d0stp xzr, xzr, [sp+144]
    005932d4stp xzr, xzr, [sp+160]
    005932d8str xzr, [sp+176]
    005932dcadd x0, sp, 144
    005932e0str x0, [sp+480]
    005932e4ldr x1, [sp+344]
    005932e8adrp x27, 0x48e000
    005932ecldr x2, [x27+720]
    005932f0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005932f4str x0, [sp+376]
    005932f8adrp x27, 0x48e000
    005932fcldr x2, [x27+712]
    00593300mov x1, x0
    00593304bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593308str x0, [sp+376]
    0059330cstp xzr, xzr, [sp+104]
    00593310stp xzr, xzr, [sp+120]
    00593314str xzr, [sp+136]
    00593318add x2, sp, 104
    0059331cstr x2, [sp+480]
    00593320str xzr, [sp+488]
    00593324ldr x1, [sp+384]
    00593328ldr x2, [sp+376]
    0059332cldr x0, [sp+480]
    00593330bl crypto/internal/fips140/edwards25519/field.(*Element).SqrtRatio
    00593334str x0, [sp+488]
    00593338str x1, [sp+304]
    0059333cstr x0, [sp+496]
    00593340ldr x2, [sp+304]
    00593344str x2, [sp+312]
    00593348str x0, [sp+368]
    0059334cldr x2, [sp+312]
    00593350str x2, [sp+48]
    00593354cbz x2, 0x59335c
    00593358b 0x593398
    0059335c
    0059335cloc_59335c:
    0059335cadrp x0, 0x12e000
    00593360add x0, x0, 3901
    00593364movz x1, 36
    00593368bl errors.New
    0059336cstr x0, [sp+464]
    00593370str x1, [sp+472]
    00593374str xzr, [sp+336]
    00593378ldr x1, [sp+464]
    0059337cldr x2, [sp+472]
    00593380str x1, [sp+320]
    00593384str x2, [sp+328]
    00593388ldr x0, [sp+336]
    0059338cldp x29, x30, [sp-8]
    00593390add sp, sp, 512
    00593394ret x30
    00593398
    00593398loc_593398:
    00593398stp xzr, xzr, [sp+64]
    0059339cstp xzr, xzr, [sp+80]
    005933a0str xzr, [sp+96]
    005933a4add x0, sp, 64
    005933a8str x0, [sp+488]
    005933acldr x1, [sp+368]
    005933b0bl crypto/internal/fips140/edwards25519/field.(*Element).Negate
    005933b4str x0, [sp+360]
    005933b8ldr x1, [sp+536]
    005933bcldr x2, [sp+528]
    005933c0subs xzr, x1, 31
    005933c4b.hi 0x5933cc
    005933c8b 0x593470
    005933cc
    005933ccloc_5933cc:
    005933ccldrb w4, [x2+31]
    005933d0ubfm x3, x4, 7, 7
    005933d4str x3, [sp+56]
    005933d8ldr x4, [sp+368]
    005933dcldr x2, [sp+368]
    005933e0mov x1, x0
    005933e4mov x0, x4
    005933e8bl crypto/internal/fips140/edwards25519/field.(*Element).Select
    005933ecstr x0, [sp+368]
    005933f0ldr x0, [sp+520]
    005933f4ldrsb x27, [x0]
    005933f8str x0, [sp+456]
    005933fcldr x1, [sp+368]
    00593400bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00593404ldr x4, [sp+520]
    00593408ldrsb x27, [x4]
    0059340cadd x0, x4, 40
    00593410str x0, [sp+448]
    00593414ldr x1, [sp+352]
    00593418bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    0059341cldr x4, [sp+520]
    00593420ldrsb x27, [x4]
    00593424add x0, x4, 80
    00593428str x0, [sp+440]
    0059342cbl crypto/internal/fips140/edwards25519/field.(*Element).One
    00593430ldr x4, [sp+520]
    00593434ldrsb x27, [x4]
    00593438add x0, x4, 120
    0059343cstr x0, [sp+432]
    00593440ldr x1, [sp+368]
    00593444ldr x2, [sp+352]
    00593448bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    0059344cldr x4, [sp+520]
    00593450str x4, [sp+336]
    00593454stp xzr, xzr, [sp+320]
    00593458ldr x0, [sp+336]
    0059345cmov x1, xzr
    00593460mov x2, xzr
    00593464ldp x29, x30, [sp-8]
    00593468add sp, sp, 512
    0059346cret x30
    00593470
    00593470loc_593470:
    00593470orr x0, xzr, 31
    00593474bl runtime.panicIndex
    00593478hint
    0059347c
    0059347cloc_59347c:
    0059347cstp x0, x1, [sp+8]
    00593480stp x2, x3, [sp+24]
    00593484mov x3, x30
    00593488bl runtime.morestack_noctxt.abi0
    0059348cldp x0, x1, [sp+8]
    00593490ldp x2, x3, [sp+24]
    00593494b 0x5931a0
    00593498udf 0
    0059349cudf 0
    005931a0
    005934a0
    005934a0crypto/internal/fips140/edwards25519.copyFieldElement: ; void crypto/internal/fips140/edwards25519.copyFieldElement(uint8[32] * buf, crypto/internal/fips140/edwards25519/field.Element * v)
    005934a0ldr x16, [x28+16]
    005934a4sub x17, sp, 48
    005934a8subs xzr, x17, x16
    005934acb.ls 0x5935bc
    005934b0str x30, [sp-176]!
    005934b4stur x29, [sp-8]
    005934b8sub x29, sp, 8
    005934bcstr x0, [sp+184]
    005934c0str x1, [sp+192]
    005934c4str xzr, [sp+48]
    005934c8stp xzr, xzr, [sp+56]
    005934ccldr x1, [sp+184]
    005934d0ldrsb x27, [x1]
    005934d4b 0x5934d8
    005934d8
    005934d8loc_5934d8:
    005934d8str x1, [sp+144]
    005934dcorr x1, xzr, 32
    005934e0str x1, [sp+152]
    005934e4str x1, [sp+160]
    005934e8ldr x0, [sp+192]
    005934ecbl crypto/internal/fips140/edwards25519/field.(*Element).Bytes
    005934f0str x0, [sp+120]
    005934f4str x1, [sp+128]
    005934f8str x2, [sp+136]
    005934fcldr x1, [sp+144]
    00593500ldr x2, [sp+152]
    00593504ldr x3, [sp+160]
    00593508str x1, [sp+96]
    0059350cstr x2, [sp+104]
    00593510str x3, [sp+112]
    00593514ldr x1, [sp+128]
    00593518ldr x2, [sp+120]
    0059351cldr x3, [sp+136]
    00593520str x2, [sp+72]
    00593524str x1, [sp+80]
    00593528str x3, [sp+88]
    0059352cldr x2, [sp+104]
    00593530str x2, [sp+40]
    00593534subs xzr, x2, x1
    00593538b.gt 0x593540
    0059353cb 0x593548
    00593540
    00593540loc_593540:
    00593540str x1, [sp+40]
    00593544b 0x59354c
    00593548
    00593548loc_593548:
    00593548b 0x59354c
    0059354c
    0059354cloc_59354c:
    0059354cldr x3, [sp+72]
    00593550ldr x4, [sp+96]
    00593554subs xzr, x3, x4
    00593558b.ne 0x593560
    0059355cb 0x59357c
    00593560
    00593560loc_593560:
    00593560ldr x3, [sp+40]
    00593564str x3, [sp+32]
    00593568ldr x2, [sp+32]
    0059356cldr x1, [sp+72]
    00593570ldr x0, [sp+96]
    00593574bl runtime.memmove
    00593578b 0x593580
    0059357c
    0059357cloc_59357c:
    0059357cb 0x593580
    00593580
    00593580loc_593580:
    00593580ldr x3, [sp+184]
    00593584ldrsb x27, [x3]
    00593588b 0x59358c
    0059358c
    0059358cloc_59358c:
    0059358cstr x3, [sp+120]
    00593590orr x2, xzr, 32
    00593594str x2, [sp+128]
    00593598str x2, [sp+136]
    0059359cstr x3, [sp+48]
    005935a0str x2, [sp+56]
    005935a4str x2, [sp+64]
    005935a8ldr x0, [sp+48]
    005935acmov x1, x2
    005935b0ldur x29, [sp-8]
    005935b4ldr x30, [sp], 176
    005935b8ret x30
    005935bc
    005935bcloc_5935bc:
    005935bcstp x0, x1, [sp+8]
    005935c0mov x3, x30
    005935c4bl runtime.morestack_noctxt.abi0
    005935c8ldp x0, x1, [sp+8]
    005935ccb 0x5934a0
    005934a0
    005935d0
    005935d0crypto/internal/fips140/edwards25519.(*projP2).FromP1xP1: ; void crypto/internal/fips140/edwards25519.(*projP2).FromP1xP1(crypto/internal/fips140/edwards25519.projP2 * v, crypto/internal/fips140/edwards25519.projP1xP1 * p)
    005935d0ldr x16, [x28+16]
    005935d4subs xzr, sp, x16
    005935d8b.ls 0x5936b4
    005935dcstr x30, [sp-128]!
    005935e0stur x29, [sp-8]
    005935e4sub x29, sp, 8
    005935e8str x0, [sp+136]
    005935ecstr x1, [sp+144]
    005935f0str xzr, [sp+40]
    005935f4ldr x3, [sp+136]
    005935f8ldrsb x27, [x3]
    005935fcstr x3, [sp+96]
    00593600ldr x3, [sp+144]
    00593604ldrsb x27, [x3]
    00593608str x3, [sp+88]
    0059360cldr x3, [sp+144]
    00593610ldrsb x27, [x3]
    00593614add x2, x3, 120
    00593618str x2, [sp+80]
    0059361cldr x1, [sp+88]
    00593620ldr x0, [sp+96]
    00593624bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593628ldr x3, [sp+136]
    0059362cldrsb x27, [x3]
    00593630add x3, x3, 40
    00593634str x3, [sp+72]
    00593638ldr x3, [sp+144]
    0059363cldrsb x27, [x3]
    00593640add x3, x3, 40
    00593644str x3, [sp+64]
    00593648ldr x3, [sp+144]
    0059364cldrsb x27, [x3]
    00593650add x2, x3, 80
    00593654str x2, [sp+56]
    00593658ldr x1, [sp+64]
    0059365cldr x0, [sp+72]
    00593660bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593664ldr x3, [sp+136]
    00593668ldrsb x27, [x3]
    0059366cadd x3, x3, 80
    00593670str x3, [sp+48]
    00593674ldr x3, [sp+144]
    00593678ldrsb x27, [x3]
    0059367cadd x3, x3, 80
    00593680str x3, [sp+112]
    00593684ldr x3, [sp+144]
    00593688ldrsb x27, [x3]
    0059368cadd x2, x3, 120
    00593690str x2, [sp+104]
    00593694ldr x0, [sp+48]
    00593698ldr x1, [sp+112]
    0059369cbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005936a0ldr x0, [sp+136]
    005936a4str x0, [sp+40]
    005936a8ldur x29, [sp-8]
    005936acldr x30, [sp], 128
    005936b0ret x30
    005936b4
    005936b4loc_5936b4:
    005936b4stp x0, x1, [sp+8]
    005936b8mov x3, x30
    005936bcbl runtime.morestack_noctxt.abi0
    005936c0ldp x0, x1, [sp+8]
    005936c4b 0x5935d0
    005936c8udf 0
    005936ccudf 0
    005935d0
    005936d0
    005936d0crypto/internal/fips140/edwards25519.(*projP2).FromP3: ; void crypto/internal/fips140/edwards25519.(*projP2).FromP3(crypto/internal/fips140/edwards25519.projP2 * v, crypto/internal/fips140/edwards25519.Point * p)
    005936d0ldr x16, [x28+16]
    005936d4subs xzr, sp, x16
    005936d8b.ls 0x593778
    005936dcstr x30, [sp-96]!
    005936e0stur x29, [sp-8]
    005936e4sub x29, sp, 8
    005936e8str x0, [sp+104]
    005936ecstr x1, [sp+112]
    005936f0str xzr, [sp+32]
    005936f4ldr x2, [sp+104]
    005936f8ldrsb x27, [x2]
    005936fcstr x2, [sp+80]
    00593700ldr x1, [sp+112]
    00593704ldrsb x27, [x1]
    00593708str x1, [sp+72]
    0059370cldr x0, [sp+80]
    00593710bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00593714ldr x2, [sp+104]
    00593718ldrsb x27, [x2]
    0059371cadd x2, x2, 40
    00593720str x2, [sp+64]
    00593724ldr x2, [sp+112]
    00593728ldrsb x27, [x2]
    0059372cadd x1, x2, 40
    00593730str x1, [sp+56]
    00593734ldr x0, [sp+64]
    00593738bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    0059373cldr x2, [sp+104]
    00593740ldrsb x27, [x2]
    00593744add x2, x2, 80
    00593748str x2, [sp+48]
    0059374cldr x2, [sp+112]
    00593750ldrsb x27, [x2]
    00593754add x1, x2, 80
    00593758str x1, [sp+40]
    0059375cldr x0, [sp+48]
    00593760bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00593764ldr x0, [sp+104]
    00593768str x0, [sp+32]
    0059376cldur x29, [sp-8]
    00593770ldr x30, [sp], 96
    00593774ret x30
    00593778
    00593778loc_593778:
    00593778stp x0, x1, [sp+8]
    0059377cmov x3, x30
    00593780bl runtime.morestack_noctxt.abi0
    00593784ldp x0, x1, [sp+8]
    00593788b 0x5936d0
    0059378cudf 0
    005936d0
    00593790
    00593790crypto/internal/fips140/edwards25519.(*Point).fromP1xP1: ; void crypto/internal/fips140/edwards25519.(*Point).fromP1xP1(crypto/internal/fips140/edwards25519.Point * v, crypto/internal/fips140/edwards25519.projP1xP1 * p)
    00593790ldr x16, [x28+16]
    00593794sub x17, sp, 16
    00593798subs xzr, x17, x16
    0059379cb.ls 0x5938b0
    005937a0str x30, [sp-144]!
    005937a4stur x29, [sp-8]
    005937a8sub x29, sp, 8
    005937acstr x0, [sp+152]
    005937b0str x1, [sp+160]
    005937b4str xzr, [sp+32]
    005937b8ldr x3, [sp+152]
    005937bcldrsb x27, [x3]
    005937c0str x3, [sp+88]
    005937c4ldr x3, [sp+160]
    005937c8ldrsb x27, [x3]
    005937ccstr x3, [sp+80]
    005937d0ldr x3, [sp+160]
    005937d4ldrsb x27, [x3]
    005937d8add x2, x3, 120
    005937dcstr x2, [sp+72]
    005937e0ldr x1, [sp+80]
    005937e4ldr x0, [sp+88]
    005937e8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005937ecldr x3, [sp+152]
    005937f0ldrsb x27, [x3]
    005937f4add x3, x3, 40
    005937f8str x3, [sp+64]
    005937fcldr x3, [sp+160]
    00593800ldrsb x27, [x3]
    00593804add x3, x3, 40
    00593808str x3, [sp+56]
    0059380cldr x3, [sp+160]
    00593810ldrsb x27, [x3]
    00593814add x2, x3, 80
    00593818str x2, [sp+48]
    0059381cldr x1, [sp+56]
    00593820ldr x0, [sp+64]
    00593824bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593828ldr x3, [sp+152]
    0059382cldrsb x27, [x3]
    00593830add x3, x3, 80
    00593834str x3, [sp+40]
    00593838ldr x3, [sp+160]
    0059383cldrsb x27, [x3]
    00593840add x3, x3, 80
    00593844str x3, [sp+128]
    00593848ldr x3, [sp+160]
    0059384cldrsb x27, [x3]
    00593850add x2, x3, 120
    00593854str x2, [sp+120]
    00593858ldr x0, [sp+40]
    0059385cldr x1, [sp+128]
    00593860bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593864ldr x3, [sp+152]
    00593868ldrsb x27, [x3]
    0059386cadd x3, x3, 120
    00593870str x3, [sp+112]
    00593874ldr x3, [sp+160]
    00593878ldrsb x27, [x3]
    0059387cstr x3, [sp+104]
    00593880ldr x3, [sp+160]
    00593884ldrsb x27, [x3]
    00593888add x2, x3, 40
    0059388cstr x2, [sp+96]
    00593890ldr x0, [sp+112]
    00593894ldr x1, [sp+104]
    00593898bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    0059389cldr x0, [sp+152]
    005938a0str x0, [sp+32]
    005938a4ldur x29, [sp-8]
    005938a8ldr x30, [sp], 144
    005938acret x30
    005938b0
    005938b0loc_5938b0:
    005938b0stp x0, x1, [sp+8]
    005938b4mov x3, x30
    005938b8bl runtime.morestack_noctxt.abi0
    005938bcldp x0, x1, [sp+8]
    005938c0b 0x593790
    005938c4udf 0
    005938c8udf 0
    005938ccudf 0
    00593790
    005938d0
    005938d0crypto/internal/fips140/edwards25519.(*Point).fromP2: ; void crypto/internal/fips140/edwards25519.(*Point).fromP2(crypto/internal/fips140/edwards25519.Point * v, crypto/internal/fips140/edwards25519.projP2 * p)
    005938d0ldr x16, [x28+16]
    005938d4sub x17, sp, 16
    005938d8subs xzr, x17, x16
    005938dcb.ls 0x5939dc
    005938e0str x30, [sp-144]!
    005938e4stur x29, [sp-8]
    005938e8sub x29, sp, 8
    005938ecstr x0, [sp+152]
    005938f0str x1, [sp+160]
    005938f4str xzr, [sp+40]
    005938f8ldr x3, [sp+152]
    005938fcldrsb x27, [x3]
    00593900str x3, [sp+96]
    00593904ldr x3, [sp+160]
    00593908ldrsb x27, [x3]
    0059390cstr x3, [sp+88]
    00593910ldr x3, [sp+160]
    00593914ldrsb x27, [x3]
    00593918add x2, x3, 80
    0059391cstr x2, [sp+80]
    00593920ldr x1, [sp+88]
    00593924ldr x0, [sp+96]
    00593928bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    0059392cldr x3, [sp+152]
    00593930ldrsb x27, [x3]
    00593934add x3, x3, 40
    00593938str x3, [sp+72]
    0059393cldr x3, [sp+160]
    00593940ldrsb x27, [x3]
    00593944add x3, x3, 40
    00593948str x3, [sp+64]
    0059394cldr x3, [sp+160]
    00593950ldrsb x27, [x3]
    00593954add x2, x3, 80
    00593958str x2, [sp+56]
    0059395cldr x1, [sp+64]
    00593960ldr x0, [sp+72]
    00593964bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593968ldr x3, [sp+152]
    0059396cldrsb x27, [x3]
    00593970add x3, x3, 80
    00593974str x3, [sp+48]
    00593978ldr x3, [sp+160]
    0059397cldrsb x27, [x3]
    00593980add x1, x3, 80
    00593984str x1, [sp+128]
    00593988ldr x0, [sp+48]
    0059398cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00593990ldr x3, [sp+152]
    00593994ldrsb x27, [x3]
    00593998add x3, x3, 120
    0059399cstr x3, [sp+120]
    005939a0ldr x3, [sp+160]
    005939a4ldrsb x27, [x3]
    005939a8str x3, [sp+112]
    005939acldr x3, [sp+160]
    005939b0ldrsb x27, [x3]
    005939b4add x2, x3, 40
    005939b8str x2, [sp+104]
    005939bcldr x0, [sp+120]
    005939c0ldr x1, [sp+112]
    005939c4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005939c8ldr x0, [sp+152]
    005939ccstr x0, [sp+40]
    005939d0ldur x29, [sp-8]
    005939d4ldr x30, [sp], 144
    005939d8ret x30
    005939dc
    005939dcloc_5939dc:
    005939dcstp x0, x1, [sp+8]
    005939e0mov x3, x30
    005939e4bl runtime.morestack_noctxt.abi0
    005939e8ldp x0, x1, [sp+8]
    005939ecb 0x5938d0
    005938d0
    005939f0
    005939f0crypto/internal/fips140/edwards25519.(*projCached).FromP3: ; void crypto/internal/fips140/edwards25519.(*projCached).FromP3(crypto/internal/fips140/edwards25519.projCached * v, crypto/internal/fips140/edwards25519.Point * p)
    005939f0ldr x16, [x28+16]
    005939f4subs xzr, sp, x16
    005939f8b.ls 0x593aec
    005939fcstr x30, [sp-128]!
    00593a00stur x29, [sp-8]
    00593a04sub x29, sp, 8
    00593a08str x0, [sp+136]
    00593a0cstr x1, [sp+144]
    00593a10str xzr, [sp+32]
    00593a14ldr x3, [sp+136]
    00593a18ldrsb x27, [x3]
    00593a1cstr x3, [sp+88]
    00593a20ldr x3, [sp+144]
    00593a24ldrsb x27, [x3]
    00593a28add x3, x3, 40
    00593a2cstr x3, [sp+80]
    00593a30ldr x2, [sp+144]
    00593a34ldrsb x27, [x2]
    00593a38str x2, [sp+72]
    00593a3cldr x1, [sp+80]
    00593a40ldr x0, [sp+88]
    00593a44bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593a48ldr x3, [sp+136]
    00593a4cldrsb x27, [x3]
    00593a50add x3, x3, 40
    00593a54str x3, [sp+64]
    00593a58ldr x3, [sp+144]
    00593a5cldrsb x27, [x3]
    00593a60add x3, x3, 40
    00593a64str x3, [sp+56]
    00593a68ldr x2, [sp+144]
    00593a6cldrsb x27, [x2]
    00593a70str x2, [sp+48]
    00593a74ldr x1, [sp+56]
    00593a78ldr x0, [sp+64]
    00593a7cbl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00593a80ldr x3, [sp+136]
    00593a84ldrsb x27, [x3]
    00593a88add x3, x3, 80
    00593a8cstr x3, [sp+40]
    00593a90ldr x3, [sp+144]
    00593a94ldrsb x27, [x3]
    00593a98add x1, x3, 80
    00593a9cstr x1, [sp+112]
    00593aa0ldr x0, [sp+40]
    00593aa4bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00593aa8ldr x3, [sp+136]
    00593aacldrsb x27, [x3]
    00593ab0add x3, x3, 120
    00593ab4str x3, [sp+104]
    00593ab8ldr x3, [sp+144]
    00593abcldrsb x27, [x3]
    00593ac0add x1, x3, 120
    00593ac4str x1, [sp+96]
    00593ac8adrp x27, 0x48e000
    00593accldr x2, [x27+728]
    00593ad0ldr x0, [sp+104]
    00593ad4bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593ad8ldr x0, [sp+136]
    00593adcstr x0, [sp+32]
    00593ae0ldur x29, [sp-8]
    00593ae4ldr x30, [sp], 128
    00593ae8ret x30
    00593aec
    00593aecloc_593aec:
    00593aecstp x0, x1, [sp+8]
    00593af0mov x3, x30
    00593af4bl runtime.morestack_noctxt.abi0
    00593af8ldp x0, x1, [sp+8]
    00593afcb 0x5939f0
    005939f0
    00593b00
    00593b00crypto/internal/fips140/edwards25519.(*affineCached).FromP3: ; void crypto/internal/fips140/edwards25519.(*affineCached).FromP3(crypto/internal/fips140/edwards25519.affineCached * v, crypto/internal/fips140/edwards25519.Point * p)
    00593b00ldr x16, [x28+16]
    00593b04sub x17, sp, 80
    00593b08subs xzr, x17, x16
    00593b0cb.ls 0x593c78
    00593b10str x30, [sp-208]!
    00593b14stur x29, [sp-8]
    00593b18sub x29, sp, 8
    00593b1cstr x0, [sp+216]
    00593b20str x1, [sp+224]
    00593b24str xzr, [sp+72]
    00593b28ldr x3, [sp+216]
    00593b2cldrsb x27, [x3]
    00593b30str x3, [sp+120]
    00593b34ldr x3, [sp+224]
    00593b38ldrsb x27, [x3]
    00593b3cadd x3, x3, 40
    00593b40str x3, [sp+112]
    00593b44ldr x2, [sp+224]
    00593b48ldrsb x27, [x2]
    00593b4cstr x2, [sp+104]
    00593b50ldr x1, [sp+112]
    00593b54ldr x0, [sp+120]
    00593b58bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593b5cldr x3, [sp+216]
    00593b60ldrsb x27, [x3]
    00593b64add x3, x3, 40
    00593b68str x3, [sp+96]
    00593b6cldr x3, [sp+224]
    00593b70ldrsb x27, [x3]
    00593b74add x3, x3, 40
    00593b78str x3, [sp+88]
    00593b7cldr x2, [sp+224]
    00593b80ldrsb x27, [x2]
    00593b84str x2, [sp+80]
    00593b88ldr x1, [sp+88]
    00593b8cldr x0, [sp+96]
    00593b90bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00593b94ldr x3, [sp+216]
    00593b98ldrsb x27, [x3]
    00593b9cadd x3, x3, 80
    00593ba0str x3, [sp+192]
    00593ba4ldr x3, [sp+224]
    00593ba8ldrsb x27, [x3]
    00593bacadd x1, x3, 120
    00593bb0str x1, [sp+184]
    00593bb4adrp x27, 0x48e000
    00593bb8ldr x2, [x27+728]
    00593bbcldr x0, [sp+192]
    00593bc0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593bc4stp xzr, xzr, [sp+32]
    00593bc8stp xzr, xzr, [sp+48]
    00593bccstr xzr, [sp+64]
    00593bd0ldr x3, [sp+224]
    00593bd4ldrsb x27, [x3]
    00593bd8add x1, x3, 80
    00593bdcstr x1, [sp+176]
    00593be0add x0, sp, 32
    00593be4bl crypto/internal/fips140/edwards25519/field.(*Element).Invert
    00593be8ldr x3, [sp+216]
    00593becldrsb x27, [x3]
    00593bf0str x3, [sp+168]
    00593bf4ldr x1, [sp+216]
    00593bf8ldrsb x27, [x1]
    00593bfcstr x1, [sp+160]
    00593c00ldr x0, [sp+168]
    00593c04add x2, sp, 32
    00593c08bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593c0cldr x3, [sp+216]
    00593c10ldrsb x27, [x3]
    00593c14add x3, x3, 40
    00593c18str x3, [sp+152]
    00593c1cldr x3, [sp+216]
    00593c20ldrsb x27, [x3]
    00593c24add x1, x3, 40
    00593c28str x1, [sp+144]
    00593c2cldr x0, [sp+152]
    00593c30add x2, sp, 32
    00593c34bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593c38ldr x3, [sp+216]
    00593c3cldrsb x27, [x3]
    00593c40add x3, x3, 80
    00593c44str x3, [sp+136]
    00593c48ldr x3, [sp+216]
    00593c4cldrsb x27, [x3]
    00593c50add x1, x3, 80
    00593c54str x1, [sp+128]
    00593c58ldr x0, [sp+136]
    00593c5cadd x2, sp, 32
    00593c60bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593c64ldr x0, [sp+216]
    00593c68str x0, [sp+72]
    00593c6cldur x29, [sp-8]
    00593c70ldr x30, [sp], 208
    00593c74ret x30
    00593c78
    00593c78loc_593c78:
    00593c78stp x0, x1, [sp+8]
    00593c7cmov x3, x30
    00593c80bl runtime.morestack_noctxt.abi0
    00593c84ldp x0, x1, [sp+8]
    00593c88b 0x593b00
    00593c8cudf 0
    00593b00
    00593c90
    00593c90crypto/internal/fips140/edwards25519.(*Point).Add: ; void crypto/internal/fips140/edwards25519.(*Point).Add(crypto/internal/fips140/edwards25519.Point * v, crypto/internal/fips140/edwards25519.Point * p, crypto/internal/fips140/edwards25519.Point * q)
    00593c90ldr x16, [x28+16]
    00593c94sub x17, sp, 336
    00593c98subs xzr, x17, x16
    00593c9cb.ls 0x593dd4
    00593ca0sub x20, sp, 464
    00593ca4stp x29, x30, [x20-8]
    00593ca8add sp, x20, 0
    00593cacsub x29, sp, 8
    00593cb0str x0, [sp+472]
    00593cb4str x1, [sp+480]
    00593cb8str x2, [sp+488]
    00593cbcstr xzr, [sp+360]
    00593cc0stp xzr, xzr, [sp+408]
    00593cc4add x0, sp, 408
    00593cc8str x0, [sp+424]
    00593cccldrsb x27, [x0]
    00593cd0ldr x3, [sp+480]
    00593cd4adrp x27, 0x4b8000
    00593cd8ldr w4, [x27+3056]
    00593cdccbz w4, 0x593ce4
    00593ce0b 0x593ce8
    00593ce4
    00593ce4loc_593ce4:
    00593ce4b 0x593cfc
    00593ce8
    00593ce8loc_593ce8:
    00593ce8bl runtime.gcWriteBarrier2
    00593cecstr x3, [x25]
    00593cf0ldr x4, [x0]
    00593cf4str x4, [x25+8]
    00593cf8b 0x593cfc
    00593cfc
    00593cfcloc_593cfc:
    00593cfcstr x3, [x0]
    00593d00ldrsb x27, [x0]
    00593d04ldr x3, [sp+488]
    00593d08adrp x27, 0x4b8000
    00593d0cldr w4, [x27+3056]
    00593d10cbz w4, 0x593d18
    00593d14b 0x593d1c
    00593d18
    00593d18loc_593d18:
    00593d18b 0x593d30
    00593d1c
    00593d1cloc_593d1c:
    00593d1cbl runtime.gcWriteBarrier2
    00593d20str x3, [x25]
    00593d24ldr x4, [x0+8]
    00593d28str x4, [x25+8]
    00593d2cb 0x593d30
    00593d30
    00593d30loc_593d30:
    00593d30str x3, [x0+8]
    00593d34ldrsb x27, [x0]
    00593d38b 0x593d3c
    00593d3c
    00593d3cloc_593d3c:
    00593d3cstr x0, [sp+432]
    00593d40orr x2, xzr, 2
    00593d44str x2, [sp+440]
    00593d48str x2, [sp+448]
    00593d4cmov x1, x2
    00593d50bl crypto/internal/fips140/edwards25519.checkInitialized
    00593d54add x20, sp, 200
    00593d58adr x27, 16
    00593d5cstp x29, x27, [sp-24]
    00593d60sub x29, sp, 24
    00593d64bl fn_87ce8
    00593d68sub x29, sp, 8
    00593d6cadd x0, sp, 200
    00593d70str x0, [sp+400]
    00593d74ldr x1, [sp+488]
    00593d78bl crypto/internal/fips140/edwards25519.(*projCached).FromP3
    00593d7cstr x0, [sp+376]
    00593d80add x20, sp, 40
    00593d84adr x27, 16
    00593d88stp x29, x27, [sp-24]
    00593d8csub x29, sp, 24
    00593d90bl fn_87ce8
    00593d94sub x29, sp, 8
    00593d98add x0, sp, 40
    00593d9cstr x0, [sp+392]
    00593da0ldr x1, [sp+480]
    00593da4ldr x2, [sp+376]
    00593da8bl crypto/internal/fips140/edwards25519.(*projP1xP1).Add
    00593dacstr x0, [sp+368]
    00593db0ldr x3, [sp+472]
    00593db4mov x1, x0
    00593db8mov x0, x3
    00593dbcbl crypto/internal/fips140/edwards25519.(*Point).fromP1xP1
    00593dc0str x0, [sp+384]
    00593dc4str x0, [sp+360]
    00593dc8ldp x29, x30, [sp-8]
    00593dccadd sp, sp, 464
    00593dd0ret x30
    00593dd4
    00593dd4loc_593dd4:
    00593dd4stp x0, x1, [sp+8]
    00593dd8str x2, [sp+24]
    00593ddcmov x3, x30
    00593de0bl runtime.morestack_noctxt.abi0
    00593de4ldp x0, x1, [sp+8]
    00593de8ldr x2, [sp+24]
    00593decb 0x593c90
    00593c90
    00593df0
    00593df0crypto/internal/fips140/edwards25519.(*projP1xP1).Add: ; void crypto/internal/fips140/edwards25519.(*projP1xP1).Add(crypto/internal/fips140/edwards25519.projP1xP1 * v, crypto/internal/fips140/edwards25519.Point * p, crypto/internal/fips140/edwards25519.projCached * q)
    00593df0ldr x16, [x28+16]
    00593df4sub x17, sp, 272
    00593df8subs xzr, x17, x16
    00593dfcb.ls 0x593fd4
    00593e00sub x20, sp, 400
    00593e04stp x29, x30, [x20-8]
    00593e08add sp, x20, 0
    00593e0csub x29, sp, 8
    00593e10str x0, [sp+408]
    00593e14str x1, [sp+416]
    00593e18str x2, [sp+424]
    00593e1cstr xzr, [sp+272]
    00593e20stp xzr, xzr, [sp+72]
    00593e24stp xzr, xzr, [sp+88]
    00593e28str xzr, [sp+104]
    00593e2cstp xzr, xzr, [sp+112]
    00593e30stp xzr, xzr, [sp+128]
    00593e34str xzr, [sp+144]
    00593e38stp xzr, xzr, [sp+192]
    00593e3cstp xzr, xzr, [sp+208]
    00593e40str xzr, [sp+224]
    00593e44stp xzr, xzr, [sp+232]
    00593e48stp xzr, xzr, [sp+248]
    00593e4cstr xzr, [sp+264]
    00593e50stp xzr, xzr, [sp+152]
    00593e54stp xzr, xzr, [sp+168]
    00593e58str xzr, [sp+184]
    00593e5cstp xzr, xzr, [sp+32]
    00593e60stp xzr, xzr, [sp+48]
    00593e64str xzr, [sp+64]
    00593e68ldr x3, [sp+416]
    00593e6cldrsb x27, [x3]
    00593e70add x3, x3, 40
    00593e74str x3, [sp+384]
    00593e78ldr x2, [sp+416]
    00593e7cldrsb x27, [x2]
    00593e80str x2, [sp+376]
    00593e84ldr x1, [sp+384]
    00593e88add x0, sp, 72
    00593e8cbl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593e90ldr x3, [sp+416]
    00593e94ldrsb x27, [x3]
    00593e98add x3, x3, 40
    00593e9cstr x3, [sp+368]
    00593ea0ldr x2, [sp+416]
    00593ea4ldrsb x27, [x2]
    00593ea8str x2, [sp+360]
    00593eacldr x1, [sp+368]
    00593eb0add x0, sp, 112
    00593eb4bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00593eb8ldr x2, [sp+424]
    00593ebcldrsb x27, [x2]
    00593ec0str x2, [sp+352]
    00593ec4add x0, sp, 192
    00593ec8add x1, sp, 72
    00593eccbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593ed0ldr x3, [sp+424]
    00593ed4ldrsb x27, [x3]
    00593ed8add x2, x3, 40
    00593edcstr x2, [sp+344]
    00593ee0add x0, sp, 232
    00593ee4add x1, sp, 112
    00593ee8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593eecldr x3, [sp+416]
    00593ef0ldrsb x27, [x3]
    00593ef4add x3, x3, 120
    00593ef8str x3, [sp+336]
    00593efcldr x3, [sp+424]
    00593f00ldrsb x27, [x3]
    00593f04add x2, x3, 120
    00593f08str x2, [sp+328]
    00593f0cldr x1, [sp+336]
    00593f10add x0, sp, 152
    00593f14bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593f18ldr x3, [sp+416]
    00593f1cldrsb x27, [x3]
    00593f20add x3, x3, 80
    00593f24str x3, [sp+320]
    00593f28ldr x3, [sp+424]
    00593f2cldrsb x27, [x3]
    00593f30add x2, x3, 80
    00593f34str x2, [sp+312]
    00593f38ldr x1, [sp+320]
    00593f3cadd x0, sp, 32
    00593f40bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00593f44add x0, sp, 32
    00593f48add x1, sp, 32
    00593f4cadd x2, sp, 32
    00593f50bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593f54ldr x0, [sp+408]
    00593f58ldrsb x27, [x0]
    00593f5cstr x0, [sp+304]
    00593f60add x1, sp, 192
    00593f64add x2, sp, 232
    00593f68bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00593f6cldr x3, [sp+408]
    00593f70ldrsb x27, [x3]
    00593f74add x0, x3, 40
    00593f78str x0, [sp+296]
    00593f7cadd x1, sp, 192
    00593f80add x2, sp, 232
    00593f84bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593f88ldr x3, [sp+408]
    00593f8cldrsb x27, [x3]
    00593f90add x0, x3, 80
    00593f94str x0, [sp+288]
    00593f98add x1, sp, 32
    00593f9cadd x2, sp, 152
    00593fa0bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00593fa4ldr x3, [sp+408]
    00593fa8ldrsb x27, [x3]
    00593facadd x0, x3, 120
    00593fb0str x0, [sp+280]
    00593fb4add x1, sp, 32
    00593fb8add x2, sp, 152
    00593fbcbl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00593fc0ldr x0, [sp+408]
    00593fc4str x0, [sp+272]
    00593fc8ldp x29, x30, [sp-8]
    00593fccadd sp, sp, 400
    00593fd0ret x30
    00593fd4
    00593fd4loc_593fd4:
    00593fd4stp x0, x1, [sp+8]
    00593fd8str x2, [sp+24]
    00593fdcmov x3, x30
    00593fe0bl runtime.morestack_noctxt.abi0
    00593fe4ldp x0, x1, [sp+8]
    00593fe8ldr x2, [sp+24]
    00593fecb 0x593df0
    00593df0
    00593ff0
    00593ff0crypto/internal/fips140/edwards25519.(*projP1xP1).Sub: ; void crypto/internal/fips140/edwards25519.(*projP1xP1).Sub(crypto/internal/fips140/edwards25519.projP1xP1 * v, crypto/internal/fips140/edwards25519.Point * p, crypto/internal/fips140/edwards25519.projCached * q)
    00593ff0ldr x16, [x28+16]
    00593ff4sub x17, sp, 272
    00593ff8subs xzr, x17, x16
    00593ffcb.ls 0x5941d4
    00594000sub x20, sp, 400
    00594004stp x29, x30, [x20-8]
    00594008add sp, x20, 0
    0059400csub x29, sp, 8
    00594010str x0, [sp+408]
    00594014str x1, [sp+416]
    00594018str x2, [sp+424]
    0059401cstr xzr, [sp+272]
    00594020stp xzr, xzr, [sp+72]
    00594024stp xzr, xzr, [sp+88]
    00594028str xzr, [sp+104]
    0059402cstp xzr, xzr, [sp+112]
    00594030stp xzr, xzr, [sp+128]
    00594034str xzr, [sp+144]
    00594038stp xzr, xzr, [sp+192]
    0059403cstp xzr, xzr, [sp+208]
    00594040str xzr, [sp+224]
    00594044stp xzr, xzr, [sp+232]
    00594048stp xzr, xzr, [sp+248]
    0059404cstr xzr, [sp+264]
    00594050stp xzr, xzr, [sp+152]
    00594054stp xzr, xzr, [sp+168]
    00594058str xzr, [sp+184]
    0059405cstp xzr, xzr, [sp+32]
    00594060stp xzr, xzr, [sp+48]
    00594064str xzr, [sp+64]
    00594068ldr x3, [sp+416]
    0059406cldrsb x27, [x3]
    00594070add x3, x3, 40
    00594074str x3, [sp+384]
    00594078ldr x2, [sp+416]
    0059407cldrsb x27, [x2]
    00594080str x2, [sp+376]
    00594084ldr x1, [sp+384]
    00594088add x0, sp, 72
    0059408cbl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594090ldr x3, [sp+416]
    00594094ldrsb x27, [x3]
    00594098add x3, x3, 40
    0059409cstr x3, [sp+368]
    005940a0ldr x2, [sp+416]
    005940a4ldrsb x27, [x2]
    005940a8str x2, [sp+360]
    005940acldr x1, [sp+368]
    005940b0add x0, sp, 112
    005940b4bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    005940b8ldr x3, [sp+424]
    005940bcldrsb x27, [x3]
    005940c0add x2, x3, 40
    005940c4str x2, [sp+352]
    005940c8add x0, sp, 192
    005940ccadd x1, sp, 72
    005940d0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005940d4ldr x2, [sp+424]
    005940d8ldrsb x27, [x2]
    005940dcstr x2, [sp+344]
    005940e0add x0, sp, 232
    005940e4add x1, sp, 112
    005940e8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005940ecldr x3, [sp+416]
    005940f0ldrsb x27, [x3]
    005940f4add x3, x3, 120
    005940f8str x3, [sp+336]
    005940fcldr x3, [sp+424]
    00594100ldrsb x27, [x3]
    00594104add x2, x3, 120
    00594108str x2, [sp+328]
    0059410cldr x1, [sp+336]
    00594110add x0, sp, 152
    00594114bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00594118ldr x3, [sp+416]
    0059411cldrsb x27, [x3]
    00594120add x3, x3, 80
    00594124str x3, [sp+320]
    00594128ldr x3, [sp+424]
    0059412cldrsb x27, [x3]
    00594130add x2, x3, 80
    00594134str x2, [sp+312]
    00594138ldr x1, [sp+320]
    0059413cadd x0, sp, 32
    00594140bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00594144add x0, sp, 32
    00594148add x1, sp, 32
    0059414cadd x2, sp, 32
    00594150bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594154ldr x0, [sp+408]
    00594158ldrsb x27, [x0]
    0059415cstr x0, [sp+304]
    00594160add x1, sp, 192
    00594164add x2, sp, 232
    00594168bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    0059416cldr x3, [sp+408]
    00594170ldrsb x27, [x3]
    00594174add x0, x3, 40
    00594178str x0, [sp+296]
    0059417cadd x1, sp, 192
    00594180add x2, sp, 232
    00594184bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594188ldr x3, [sp+408]
    0059418cldrsb x27, [x3]
    00594190add x0, x3, 80
    00594194str x0, [sp+288]
    00594198add x1, sp, 32
    0059419cadd x2, sp, 152
    005941a0bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    005941a4ldr x3, [sp+408]
    005941a8ldrsb x27, [x3]
    005941acadd x0, x3, 120
    005941b0str x0, [sp+280]
    005941b4add x1, sp, 32
    005941b8add x2, sp, 152
    005941bcbl crypto/internal/fips140/edwards25519/field.(*Element).Add
    005941c0ldr x0, [sp+408]
    005941c4str x0, [sp+272]
    005941c8ldp x29, x30, [sp-8]
    005941ccadd sp, sp, 400
    005941d0ret x30
    005941d4
    005941d4loc_5941d4:
    005941d4stp x0, x1, [sp+8]
    005941d8str x2, [sp+24]
    005941dcmov x3, x30
    005941e0bl runtime.morestack_noctxt.abi0
    005941e4ldp x0, x1, [sp+8]
    005941e8ldr x2, [sp+24]
    005941ecb 0x593ff0
    00593ff0
    005941f0
    005941f0crypto/internal/fips140/edwards25519.(*projP1xP1).AddAffine: ; void crypto/internal/fips140/edwards25519.(*projP1xP1).AddAffine(crypto/internal/fips140/edwards25519.projP1xP1 * v, crypto/internal/fips140/edwards25519.Point * p, crypto/internal/fips140/edwards25519.affineCached * q)
    005941f0ldr x16, [x28+16]
    005941f4sub x17, sp, 272
    005941f8subs xzr, x17, x16
    005941fcb.ls 0x5943c4
    00594200sub x20, sp, 400
    00594204stp x29, x30, [x20-8]
    00594208add sp, x20, 0
    0059420csub x29, sp, 8
    00594210str x0, [sp+408]
    00594214str x1, [sp+416]
    00594218str x2, [sp+424]
    0059421cstr xzr, [sp+272]
    00594220stp xzr, xzr, [sp+72]
    00594224stp xzr, xzr, [sp+88]
    00594228str xzr, [sp+104]
    0059422cstp xzr, xzr, [sp+112]
    00594230stp xzr, xzr, [sp+128]
    00594234str xzr, [sp+144]
    00594238stp xzr, xzr, [sp+192]
    0059423cstp xzr, xzr, [sp+208]
    00594240str xzr, [sp+224]
    00594244stp xzr, xzr, [sp+232]
    00594248stp xzr, xzr, [sp+248]
    0059424cstr xzr, [sp+264]
    00594250stp xzr, xzr, [sp+152]
    00594254stp xzr, xzr, [sp+168]
    00594258str xzr, [sp+184]
    0059425cstp xzr, xzr, [sp+32]
    00594260stp xzr, xzr, [sp+48]
    00594264str xzr, [sp+64]
    00594268ldr x3, [sp+416]
    0059426cldrsb x27, [x3]
    00594270add x3, x3, 40
    00594274str x3, [sp+384]
    00594278ldr x2, [sp+416]
    0059427cldrsb x27, [x2]
    00594280str x2, [sp+376]
    00594284ldr x1, [sp+384]
    00594288add x0, sp, 72
    0059428cbl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594290ldr x3, [sp+416]
    00594294ldrsb x27, [x3]
    00594298add x3, x3, 40
    0059429cstr x3, [sp+368]
    005942a0ldr x2, [sp+416]
    005942a4ldrsb x27, [x2]
    005942a8str x2, [sp+360]
    005942acldr x1, [sp+368]
    005942b0add x0, sp, 112
    005942b4bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    005942b8ldr x2, [sp+424]
    005942bcldrsb x27, [x2]
    005942c0str x2, [sp+352]
    005942c4add x0, sp, 192
    005942c8add x1, sp, 72
    005942ccbl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005942d0ldr x3, [sp+424]
    005942d4ldrsb x27, [x3]
    005942d8add x2, x3, 40
    005942dcstr x2, [sp+344]
    005942e0add x0, sp, 232
    005942e4add x1, sp, 112
    005942e8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005942ecldr x3, [sp+416]
    005942f0ldrsb x27, [x3]
    005942f4add x3, x3, 120
    005942f8str x3, [sp+336]
    005942fcldr x3, [sp+424]
    00594300ldrsb x27, [x3]
    00594304add x2, x3, 80
    00594308str x2, [sp+328]
    0059430cldr x1, [sp+336]
    00594310add x0, sp, 152
    00594314bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00594318ldr x3, [sp+416]
    0059431cldrsb x27, [x3]
    00594320add x3, x3, 80
    00594324str x3, [sp+320]
    00594328ldr x3, [sp+416]
    0059432cldrsb x27, [x3]
    00594330add x2, x3, 80
    00594334str x2, [sp+312]
    00594338ldr x1, [sp+320]
    0059433cadd x0, sp, 32
    00594340bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594344ldr x0, [sp+408]
    00594348ldrsb x27, [x0]
    0059434cstr x0, [sp+304]
    00594350add x1, sp, 192
    00594354add x2, sp, 232
    00594358bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    0059435cldr x3, [sp+408]
    00594360ldrsb x27, [x3]
    00594364add x0, x3, 40
    00594368str x0, [sp+296]
    0059436cadd x1, sp, 192
    00594370add x2, sp, 232
    00594374bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594378ldr x3, [sp+408]
    0059437cldrsb x27, [x3]
    00594380add x0, x3, 80
    00594384str x0, [sp+288]
    00594388add x1, sp, 32
    0059438cadd x2, sp, 152
    00594390bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594394ldr x3, [sp+408]
    00594398ldrsb x27, [x3]
    0059439cadd x0, x3, 120
    005943a0str x0, [sp+280]
    005943a4add x1, sp, 32
    005943a8add x2, sp, 152
    005943acbl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    005943b0ldr x0, [sp+408]
    005943b4str x0, [sp+272]
    005943b8ldp x29, x30, [sp-8]
    005943bcadd sp, sp, 400
    005943c0ret x30
    005943c4
    005943c4loc_5943c4:
    005943c4stp x0, x1, [sp+8]
    005943c8str x2, [sp+24]
    005943ccmov x3, x30
    005943d0bl runtime.morestack_noctxt.abi0
    005943d4ldp x0, x1, [sp+8]
    005943d8ldr x2, [sp+24]
    005943dcb 0x5941f0
    005941f0
    005943e0
    005943e0crypto/internal/fips140/edwards25519.(*projP1xP1).SubAffine: ; void crypto/internal/fips140/edwards25519.(*projP1xP1).SubAffine(crypto/internal/fips140/edwards25519.projP1xP1 * v, crypto/internal/fips140/edwards25519.Point * p, crypto/internal/fips140/edwards25519.affineCached * q)
    005943e0ldr x16, [x28+16]
    005943e4sub x17, sp, 272
    005943e8subs xzr, x17, x16
    005943ecb.ls 0x5945b4
    005943f0sub x20, sp, 400
    005943f4stp x29, x30, [x20-8]
    005943f8add sp, x20, 0
    005943fcsub x29, sp, 8
    00594400str x0, [sp+408]
    00594404str x1, [sp+416]
    00594408str x2, [sp+424]
    0059440cstr xzr, [sp+272]
    00594410stp xzr, xzr, [sp+72]
    00594414stp xzr, xzr, [sp+88]
    00594418str xzr, [sp+104]
    0059441cstp xzr, xzr, [sp+112]
    00594420stp xzr, xzr, [sp+128]
    00594424str xzr, [sp+144]
    00594428stp xzr, xzr, [sp+192]
    0059442cstp xzr, xzr, [sp+208]
    00594430str xzr, [sp+224]
    00594434stp xzr, xzr, [sp+232]
    00594438stp xzr, xzr, [sp+248]
    0059443cstr xzr, [sp+264]
    00594440stp xzr, xzr, [sp+152]
    00594444stp xzr, xzr, [sp+168]
    00594448str xzr, [sp+184]
    0059444cstp xzr, xzr, [sp+32]
    00594450stp xzr, xzr, [sp+48]
    00594454str xzr, [sp+64]
    00594458ldr x3, [sp+416]
    0059445cldrsb x27, [x3]
    00594460add x3, x3, 40
    00594464str x3, [sp+384]
    00594468ldr x2, [sp+416]
    0059446cldrsb x27, [x2]
    00594470str x2, [sp+376]
    00594474ldr x1, [sp+384]
    00594478add x0, sp, 72
    0059447cbl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594480ldr x3, [sp+416]
    00594484ldrsb x27, [x3]
    00594488add x3, x3, 40
    0059448cstr x3, [sp+368]
    00594490ldr x2, [sp+416]
    00594494ldrsb x27, [x2]
    00594498str x2, [sp+360]
    0059449cldr x1, [sp+368]
    005944a0add x0, sp, 112
    005944a4bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    005944a8ldr x3, [sp+424]
    005944acldrsb x27, [x3]
    005944b0add x2, x3, 40
    005944b4str x2, [sp+352]
    005944b8add x0, sp, 192
    005944bcadd x1, sp, 72
    005944c0bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005944c4ldr x2, [sp+424]
    005944c8ldrsb x27, [x2]
    005944ccstr x2, [sp+344]
    005944d0add x0, sp, 232
    005944d4add x1, sp, 112
    005944d8bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    005944dcldr x3, [sp+416]
    005944e0ldrsb x27, [x3]
    005944e4add x3, x3, 120
    005944e8str x3, [sp+336]
    005944ecldr x3, [sp+424]
    005944f0ldrsb x27, [x3]
    005944f4add x2, x3, 80
    005944f8str x2, [sp+328]
    005944fcldr x1, [sp+336]
    00594500add x0, sp, 152
    00594504bl crypto/internal/fips140/edwards25519/field.(*Element).Multiply
    00594508ldr x3, [sp+416]
    0059450cldrsb x27, [x3]
    00594510add x3, x3, 80
    00594514str x3, [sp+320]
    00594518ldr x3, [sp+416]
    0059451cldrsb x27, [x3]
    00594520add x2, x3, 80
    00594524str x2, [sp+312]
    00594528ldr x1, [sp+320]
    0059452cadd x0, sp, 32
    00594530bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594534ldr x0, [sp+408]
    00594538ldrsb x27, [x0]
    0059453cstr x0, [sp+304]
    00594540add x1, sp, 192
    00594544add x2, sp, 232
    00594548bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    0059454cldr x3, [sp+408]
    00594550ldrsb x27, [x3]
    00594554add x0, x3, 40
    00594558str x0, [sp+296]
    0059455cadd x1, sp, 192
    00594560add x2, sp, 232
    00594564bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594568ldr x3, [sp+408]
    0059456cldrsb x27, [x3]
    00594570add x0, x3, 80
    00594574str x0, [sp+288]
    00594578add x1, sp, 32
    0059457cadd x2, sp, 152
    00594580bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00594584ldr x3, [sp+408]
    00594588ldrsb x27, [x3]
    0059458cadd x0, x3, 120
    00594590str x0, [sp+280]
    00594594add x1, sp, 32
    00594598add x2, sp, 152
    0059459cbl crypto/internal/fips140/edwards25519/field.(*Element).Add
    005945a0ldr x0, [sp+408]
    005945a4str x0, [sp+272]
    005945a8ldp x29, x30, [sp-8]
    005945acadd sp, sp, 400
    005945b0ret x30
    005945b4
    005945b4loc_5945b4:
    005945b4stp x0, x1, [sp+8]
    005945b8str x2, [sp+24]
    005945bcmov x3, x30
    005945c0bl runtime.morestack_noctxt.abi0
    005945c4ldp x0, x1, [sp+8]
    005945c8ldr x2, [sp+24]
    005945ccb 0x5943e0
    005943e0
    005945d0
    005945d0crypto/internal/fips140/edwards25519.(*projP1xP1).Double: ; void crypto/internal/fips140/edwards25519.(*projP1xP1).Double(crypto/internal/fips140/edwards25519.projP1xP1 * v, crypto/internal/fips140/edwards25519.projP2 * p)
    005945d0ldr x16, [x28+16]
    005945d4sub x17, sp, 176
    005945d8subs xzr, x17, x16
    005945dcb.ls 0x594754
    005945e0sub x20, sp, 304
    005945e4stp x29, x30, [x20-8]
    005945e8add sp, x20, 0
    005945ecsub x29, sp, 8
    005945f0str x0, [sp+312]
    005945f4str x1, [sp+320]
    005945f8str xzr, [sp+200]
    005945fcstp xzr, xzr, [sp+160]
    00594600stp xzr, xzr, [sp+176]
    00594604str xzr, [sp+192]
    00594608stp xzr, xzr, [sp+80]
    0059460cstp xzr, xzr, [sp+96]
    00594610str xzr, [sp+112]
    00594614stp xzr, xzr, [sp+40]
    00594618stp xzr, xzr, [sp+56]
    0059461cstr xzr, [sp+72]
    00594620stp xzr, xzr, [sp+120]
    00594624stp xzr, xzr, [sp+136]
    00594628str xzr, [sp+152]
    0059462cldr x1, [sp+320]
    00594630ldrsb x27, [x1]
    00594634str x1, [sp+224]
    00594638add x0, sp, 160
    0059463cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00594640ldr x2, [sp+320]
    00594644ldrsb x27, [x2]
    00594648add x1, x2, 40
    0059464cstr x1, [sp+216]
    00594650add x0, sp, 80
    00594654bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00594658ldr x2, [sp+320]
    0059465cldrsb x27, [x2]
    00594660add x1, x2, 80
    00594664str x1, [sp+208]
    00594668add x0, sp, 40
    0059466cbl crypto/internal/fips140/edwards25519/field.(*Element).Square
    00594670add x0, sp, 40
    00594674add x1, sp, 40
    00594678add x2, sp, 40
    0059467cbl crypto/internal/fips140/edwards25519/field.(*Element).Add
    00594680ldr x2, [sp+320]
    00594684ldrsb x27, [x2]
    00594688str x2, [sp+288]
    0059468cldr x2, [sp+320]
    00594690ldrsb x27, [x2]
    00594694add x2, x2, 40
    00594698str x2, [sp+280]
    0059469cldr x1, [sp+288]
    005946a0add x0, sp, 120
    005946a4bl crypto/internal/fips140/edwards25519/field.(*Element).Add
    005946a8add x0, sp, 120
    005946acadd x1, sp, 120
    005946b0bl crypto/internal/fips140/edwards25519/field.(*Element).Square
    005946b4ldr x2, [sp+312]
    005946b8ldrsb x27, [x2]
    005946bcadd x0, x2, 40
    005946c0str x0, [sp+272]
    005946c4add x1, sp, 80
    005946c8add x2, sp, 160
    005946ccbl crypto/internal/fips140/edwards25519/field.(*Element).Add
    005946d0ldr x2, [sp+312]
    005946d4ldrsb x27, [x2]
    005946d8add x0, x2, 80
    005946dcstr x0, [sp+264]
    005946e0add x1, sp, 80
    005946e4add x2, sp, 160
    005946e8bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    005946ecldr x2, [sp+312]
    005946f0ldrsb x27, [x2]
    005946f4str x2, [sp+256]
    005946f8ldr x2, [sp+312]
    005946fcldrsb x27, [x2]
    00594700add x2, x2, 40
    00594704str x2, [sp+248]
    00594708ldr x0, [sp+256]
    0059470cadd x1, sp, 120
    00594710bl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00594714ldr x2, [sp+312]
    00594718ldrsb x27, [x2]
    0059471cadd x2, x2, 120
    00594720str x2, [sp+240]
    00594724ldr x2, [sp+312]
    00594728ldrsb x27, [x2]
    0059472cadd x2, x2, 80
    00594730str x2, [sp+232]
    00594734ldr x0, [sp+240]
    00594738add x1, sp, 40
    0059473cbl crypto/internal/fips140/edwards25519/field.(*Element).Subtract
    00594740ldr x0, [sp+312]
    00594744str x0, [sp+200]
    00594748ldp x29, x30, [sp-8]
    0059474cadd sp, sp, 304
    00594750ret x30
    00594754
    00594754loc_594754:
    00594754stp x0, x1, [sp+8]
    00594758mov x3, x30
    0059475cbl runtime.morestack_noctxt.abi0
    00594760ldp x0, x1, [sp+8]
    00594764b 0x5945d0
    00594768udf 0
    0059476cudf 0
    005945d0
    00594770
    00594770crypto/internal/fips140/edwards25519.(*Point).Negate: ; void crypto/internal/fips140/edwards25519.(*Point).Negate(crypto/internal/fips140/edwards25519.Point * v, crypto/internal/fips140/edwards25519.Point * p)
    00594770ldr x16, [x28+16]
    00594774sub x17, sp, 32
    00594778subs xzr, x17, x16
    0059477cb.ls 0x5948a4
    00594780str x30, [sp-160]!
    00594784stur x29, [sp-8]
    00594788sub x29, sp, 8
    0059478cstr x0, [sp+168]
    00594790str x1, [sp+176]
    00594794str xzr, [sp+40]
    00594798str xzr, [sp+112]
    0059479cadd x0, sp, 112
    005947a0str x0, [sp+80]
    005947a4ldrsb x27, [x0]
    005947a8ldr x3, [sp+176]
    005947acadrp x27, 0x4b7000
    005947b0ldr w4, [x27+3056]
    005947b4cbz w4, 0x5947bc
    005947b8b 0x5947c0
    005947bc
    005947bcloc_5947bc:
    005947bcb 0x5947d4
    005947c0
    005947c0loc_5947c0:
    005947c0bl runtime.gcWriteBarrier2
    005947c4str x3, [x25]
    005947c8ldr x4, [x0]
    005947ccstr x4, [x25+8]
    005947d0b 0x5947d4
    005947d4
    005947d4loc_5947d4:
    005947d4str x3, [x0]
    005947d8ldrsb x27, [x0]
    005947dcb 0x5947e0
    005947e0
    005947e0loc_5947e0:
    005947e0str x0, [sp+88]
    005947e4orr x2, xzr, 1
    005947e8str x2, [sp+96]
    005947ecstr x2, [sp+104]
    005947f0mov x1, x2
    005947f4bl crypto/internal/fips140/edwards25519.checkInitialized
    005947f8ldr x3, [sp+168]
    005947fcldrsb x27, [x3]
    00594800str x3, [sp+72]
    00594804ldr x1, [sp+176]
    00594808ldrsb x27, [x1]
    0059480cstr x1, [sp+64]
    00594810ldr x0, [sp+72]
    00594814bl crypto/internal/fips140/edwards25519/field.(*Element).Negate
    00594818ldr x3, [sp+168]
    0059481cldrsb x27, [x3]
    00594820add x3, x3, 40
    00594824str x3, [sp+56]
    00594828ldr x3, [sp+176]
    0059482cldrsb x27, [x3]
    00594830add x1, x3, 40
    00594834str x1, [sp+48]
    00594838ldr x0, [sp+56]
    0059483cbl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00594840ldr x3, [sp+168]
    00594844ldrsb x27, [x3]
    00594848add x3, x3, 80
    0059484cstr x3, [sp+144]
    00594850ldr x3, [sp+176]
    00594854ldrsb x27, [x3]
    00594858add x1, x3, 80
    0059485cstr x1, [sp+136]
    00594860ldr x0, [sp+144]
    00594864bl crypto/internal/fips140/edwards25519/field.(*Element).Set
    00594868ldr x3, [sp+168]
    0059486cldrsb x27, [x3]
    00594870add x3, x3, 120
    00594874str x3, [sp+128]
    00594878ldr x3, [sp+176]
    0059487cldrsb x27, [x3]
    00594880add x1, x3, 120
    00594884str x1, [sp+120]
    00594888ldr x0, [sp+128]
    0059488cbl crypto/internal/fips140/edwards25519/field.(*Element).Negate
    00594890ldr x0, [sp+168]
    00594894str x0, [sp+40]
    00594898ldur x29, [sp-8]
    0059489cldr x30, [sp], 160
    005948a0ret x30
    005948a4
    005948a4loc_5948a4:
    005948a4stp x0, x1, [sp+8]
    005948a8mov x3, x30
    005948acbl runtime.morestack_noctxt.abi0
    005948b0ldp x0, x1, [sp+8]
    005948b4b 0x594770
    005948b8udf 0
    005948bcudf 0
    00594770
    005948c0
    005948c0crypto/internal/fips140/edwards25519.(*affineCached).Select: ; void crypto/internal/fips140/edwards25519.(*affineCached).Select(crypto/internal/fips140/edwards25519.affineCached * v, crypto/internal/fips140/edwards25519.affineCached * a, crypto/internal/fips140/edwards25519.affineCached * b, int cond)
    005948c0ldr x16, [x28+16]
    005948c4subs xzr, sp, x16
    005948c8b.ls 0x5949b4
    005948ccstr x30, [sp-128]!
    005948d0stur x29, [sp-8]
    005948d4sub x29, sp, 8
    005948d8str x0, [sp+136]
    005948dcstr x1, [sp+144]
    005948e0str x2, [sp+152]
    005948e4str x3, [sp+160]
    005948e8str xzr, [sp+40]
    005948ecldr x4, [sp+136]
    005948f0ldrsb x27, [x4]
    005948f4str x4, [sp+80]
    005948f8ldr x4, [sp+144]
    005948fcldrsb x27, [x4]
    00594900str x4, [sp+72]
    00594904ldr x2, [sp+152]
    00594908ldrsb x27, [x2]
    0059490cstr x2, [sp+64]
    00594910ldr x3, [sp+160]
    00594914ldr x1, [sp+72]
    00594918ldr x0, [sp+80]
    0059491cbl crypto/internal/fips140/edwards25519/field.(*Element).Select
    00594920ldr x4, [sp+136]
    00594924ldrsb x27, [x4]
    00594928add x4, x4, 40
    0059492cstr x4, [sp+56]
    00594930ldr x4, [sp+144]
    00594934ldrsb x27, [x4]
    00594938add x4, x4, 40
    0059493cstr x4, [sp+48]
    00594940ldr x4, [sp+152]
    00594944ldrsb x27, [x4]
    00594948add x2, x4, 40
    0059494cstr x2, [sp+112]
    00594950ldr x3, [sp+160]
    00594954ldr x0, [sp+56]
    00594958ldr x1, [sp+48]
    0059495cbl crypto/internal/fips140/edwards25519/field.(*Element).Select
    00594960ldr x4, [sp+136]
    00594964ldrsb x27, [x4]
    00594968add x4, x4, 80
    0059496cstr x4, [sp+104]
    00594970ldr x4, [sp+144]
    00594974ldrsb x27, [x4]
    00594978add x4, x4, 80
    0059497cstr x4, [sp+96]
    00594980ldr x4, [sp+152]
    00594984ldrsb x27, [x4]
    00594988add x2, x4, 80
    0059498cstr x2, [sp+88]
    00594990ldr x3, [sp+160]
    00594994ldr x0, [sp+104]
    00594998ldr x1, [sp+96]
    0059499cbl crypto/internal/fips140/edwards25519/field.(*Element).Select
    005949a0ldr x0, [sp+136]
    005949a4str x0, [sp+40]
    005949a8ldur x29, [sp-8]
    005949acldr x30, [sp], 128
    005949b0ret x30
    005949b4
    005949b4loc_5949b4:
    005949b4stp x0, x1, [sp+8]
    005949b8stp x2, x3, [sp+24]
    005949bcmov x3, x30
    005949c0bl runtime.morestack_noctxt.abi0
    005949c4ldp x0, x1, [sp+8]
    005949c8ldp x2, x3, [sp+24]
    005949ccb 0x5948c0
    005948c0
    005949d0
    005949d0crypto/internal/fips140/edwards25519.(*affineCached).CondNeg: ; void crypto/internal/fips140/edwards25519.(*affineCached).CondNeg(crypto/internal/fips140/edwards25519.affineCached * v, int cond)
    005949d0ldr x16, [x28+16]
    005949d4sub x17, sp, 32
    005949d8subs xzr, x17, x16
    005949dcb.ls 0x594a94
    005949e0str x30, [sp-160]!
    005949e4stur x29, [sp-8]
    005949e8sub x29, sp, 8
    005949ecstr x0, [sp+168]
    005949f0str x1, [sp+176]
    005949f4str xzr, [sp+88]
    005949f8ldr x3, [sp+168]
    005949fcldrsb x27, [x3]
    00594a00str x3, [sp+120]
    00594a04ldr x3, [sp+168]
    00594a08ldrsb x27, [x3]
    00594a0cadd x1, x3, 40
    00594a10str x1, [sp+112]
    00594a14ldr x2, [sp+176]
    00594a18ldr x0, [sp+120]
    00594a1cbl crypto/internal/fips140/edwards25519/field.(*Element).Swap
    00594a20stp xzr, xzr, [sp+48]
    00594a24stp xzr, xzr, [sp+64]
    00594a28str xzr, [sp+80]
    00594a2cadd x3, sp, 48
    00594a30str x3, [sp+136]
    00594a34ldr x3, [sp+168]
    00594a38ldrsb x27, [x3]
    00594a3cadd x1, x3, 80
    00594a40str x1, [sp+104]
    00594a44ldr x0, [sp+136]
    00594a48bl crypto/internal/fips140/edwards25519/field.(*Element).Negate
    00594a4cstr x0, [sp+128]
    00594a50ldr x3, [sp+168]
    00594a54ldrsb x27, [x3]
    00594a58add x3, x3, 80
    00594a5cstr x3, [sp+96]
    00594a60ldr x3, [sp+168]
    00594a64ldrsb x27, [x3]
    00594a68add x2, x3, 80
    00594a6cstr x2, [sp+144]
    00594a70ldr x3, [sp+176]
    00594a74ldr x0, [sp+96]
    00594a78ldr x1, [sp+128]
    00594a7cbl crypto/internal/fips140/edwards25519/field.(*Element).Select
    00594a80ldr x0, [sp+168]
    00594a84str x0, [sp+88]
    00594a88ldur x29, [sp-8]
    00594a8cldr x30, [sp], 160
    00594a90ret x30
    00594a94
    00594a94loc_594a94:
    00594a94stp x0, x1, [sp+8]
    00594a98mov x3, x30
    00594a9cbl runtime.morestack_noctxt.abi0
    00594aa0ldp x0, x1, [sp+8]
    00594aa4b 0x5949d0
    00594aa8udf 0
    00594aacudf 0
    005949d0
    00594ab0
    00594ab0crypto/internal/fips140/edwards25519.NewScalar: ; void crypto/internal/fips140/edwards25519.NewScalar(void)
    00594ab0ldr x16, [x28+16]
    00594ab4subs xzr, sp, x16
    00594ab8b.ls 0x594af8
    00594abcstr x30, [sp-64]!
    00594ac0stur x29, [sp-8]
    00594ac4sub x29, sp, 8
    00594ac8str xzr, [sp+40]
    00594accadrp x0, 0x9a000
    00594ad0add x0, x0, 2400
    00594ad4bl runtime.newobject
    00594ad8str x0, [sp+48]
    00594adcstp xzr, xzr, [x0]
    00594ae0stp xzr, xzr, [x0+16]
    00594ae4ldr x0, [sp+48]
    00594ae8str x0, [sp+40]
    00594aecldur x29, [sp-8]
    00594af0ldr x30, [sp], 64
    00594af4ret x30
    00594af8
    00594af8loc_594af8:
    00594af8mov x3, x30
    00594afcbl runtime.morestack_noctxt.abi0
    00594b00b 0x594ab0
    00594b04udf 0
    00594b08udf 0
    00594b0cudf 0
    00594ab0
    00594b10
    00594b10crypto/internal/fips140/edwards25519.(*Scalar).MultiplyAdd: ; void crypto/internal/fips140/edwards25519.(*Scalar).MultiplyAdd(crypto/internal/fips140/edwards25519.Scalar * s, crypto/internal/fips140/edwards25519.Scalar * x, crypto/internal/fips140/edwards25519.Scalar * y, crypto/internal/fips140/edwards25519.Scalar * z)
    00594b10ldr x16, [x28+16]
    00594b14subs xzr, sp, x16
    00594b18b.ls 0x594b8c
    00594b1cstr x30, [sp-112]!
    00594b20stur x29, [sp-8]
    00594b24sub x29, sp, 8
    00594b28str x0, [sp+120]
    00594b2cstr x1, [sp+128]
    00594b30str x2, [sp+136]
    00594b34str x3, [sp+144]
    00594b38str xzr, [sp+72]
    00594b3cstp xzr, xzr, [sp+40]
    00594b40stp xzr, xzr, [sp+56]
    00594b44add x0, sp, 40
    00594b48str x0, [sp+96]
    00594b4cldr x1, [sp+144]
    00594b50bl crypto/internal/fips140/edwards25519.(*Scalar).Set
    00594b54str x0, [sp+80]
    00594b58ldr x1, [sp+128]
    00594b5cldr x2, [sp+136]
    00594b60ldr x0, [sp+120]
    00594b64bl crypto/internal/fips140/edwards25519.(*Scalar).Multiply
    00594b68str x0, [sp+96]
    00594b6cldr x1, [sp+120]
    00594b70ldr x2, [sp+80]
    00594b74bl crypto/internal/fips140/edwards25519.(*Scalar).Add
    00594b78str x0, [sp+88]
    00594b7cstr x0, [sp+72]
    00594b80ldur x29, [sp-8]
    00594b84ldr x30, [sp], 112
    00594b88ret x30
    00594b8c
    00594b8cloc_594b8c:
    00594b8cstp x0, x1, [sp+8]
    00594b90stp x2, x3, [sp+24]
    00594b94mov x3, x30
    00594b98bl runtime.morestack_noctxt.abi0
    00594b9cldp x0, x1, [sp+8]
    00594ba0ldp x2, x3, [sp+24]
    00594ba4b 0x594b10
    00594ba8udf 0
    00594bacudf 0
    00594b10