File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00592010
    00592010crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P224Point]: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P224Point](uintptr[5] * dict, crypto/internal/fips140/ecdsa.Curve[go.shape.*crypto/internal/fips140/nistec.P224Point] * c, io.Reader rand)
    00592010ldr x16, [x28+16]
    00592014sub x17, sp, 208
    00592018subs xzr, x17, x16
    0059201cb.ls 0x592334
    00592020sub x20, sp, 336
    00592024stp x29, x30, [x20-8]
    00592028add sp, x20, 0
    0059202csub x29, sp, 8
    00592030str x0, [sp+344]
    00592034str x1, [sp+352]
    00592038str x2, [sp+360]
    0059203cstr x3, [sp+368]
    00592040str xzr, [sp+56]
    00592044stp xzr, xzr, [sp+40]
    00592048bl crypto/internal/fips140.RecordApproved
    0059204cstr xzr, [sp+272]
    00592050str xzr, [sp+264]
    00592054stp xzr, xzr, [sp+248]
    00592058stp xzr, xzr, [sp+280]
    0059205cstp xzr, xzr, [sp+296]
    00592060add x0, sp, 280
    00592064str x0, [sp+192]
    00592068ldrsb x27, [x0]
    0059206cadrp x1, 0
    00592070add x1, x1, 848
    00592074str x1, [x0]
    00592078ldrsb x27, [x0]
    0059207cldr x1, [sp+368]
    00592080ldr x2, [sp+360]
    00592084str x2, [x0+8]
    00592088adrp x27, 0x4b9000
    0059208cldr w2, [x27+3056]
    00592090cbz w2, 0x592098
    00592094b 0x59209c
    00592098
    00592098loc_592098:
    00592098b 0x5920b0
    0059209c
    0059209cloc_59209c:
    0059209cbl runtime.gcWriteBarrier2
    005920a0str x1, [x25]
    005920a4ldr x3, [x0+16]
    005920a8str x3, [x25+8]
    005920acb 0x5920b0
    005920b0
    005920b0loc_5920b0:
    005920b0str x1, [x0+16]
    005920b4ldrsb x27, [x0]
    005920b8ldr x3, [sp+344]
    005920bcadrp x27, 0x4b9000
    005920c0ldr w4, [x27+3056]
    005920c4cbz w4, 0x5920cc
    005920c8b 0x5920d0
    005920cc
    005920ccloc_5920cc:
    005920ccb 0x5920e4
    005920d0
    005920d0loc_5920d0:
    005920d0bl runtime.gcWriteBarrier2
    005920d4str x3, [x25]
    005920d8ldr x4, [x0+24]
    005920dcstr x4, [x25+8]
    005920e0b 0x5920e4
    005920e4
    005920e4loc_5920e4:
    005920e4str x3, [x0+24]
    005920e8ldr x3, [sp+344]
    005920ecldrsb x27, [x3]
    005920f0ldr x0, [x3+8]
    005920f4str x0, [sp+184]
    005920f8ldr x1, [sp+352]
    005920fcldr x2, [sp+192]
    00592100bl crypto/internal/fips140/ecdsa.randomPoint[go.shape.*crypto/internal/fips140/nistec.P224Point]
    00592104str x0, [sp+272]
    00592108str x1, [sp+264]
    0059210cstr x2, [sp+248]
    00592110str x3, [sp+256]
    00592114ldr x3, [sp+272]
    00592118str x3, [sp+128]
    0059211cldr x3, [sp+264]
    00592120str x3, [sp+120]
    00592124ldr x3, [sp+248]
    00592128ldr x4, [sp+256]
    0059212cstr x3, [sp+312]
    00592130str x4, [sp+320]
    00592134ldr x3, [sp+128]
    00592138str x3, [sp+72]
    0059213cldr x3, [sp+120]
    00592140str x3, [sp+112]
    00592144ldr x3, [sp+320]
    00592148ldr x4, [sp+312]
    0059214cstr x4, [sp+96]
    00592150str x3, [sp+104]
    00592154cbnz x4, 0x59215c
    00592158b 0x592180
    0059215c
    0059215cloc_59215c:
    0059215cstr xzr, [sp+56]
    00592160ldr x1, [sp+96]
    00592164ldr x2, [sp+104]
    00592168str x1, [sp+40]
    0059216cstr x2, [sp+48]
    00592170ldr x0, [sp+56]
    00592174ldp x29, x30, [sp-8]
    00592178add sp, sp, 336
    0059217cret x30
    00592180
    00592180loc_592180:
    00592180ldr x26, [sp+344]
    00592184ldrsb x27, [x26]
    00592188ldr x1, [x26]
    0059218cldr x0, [sp+112]
    00592190blr x1
    00592194str x0, [sp+224]
    00592198str x1, [sp+232]
    0059219cstr x2, [sp+240]
    005921a0ldr x1, [sp+352]
    005921a4ldrsb x27, [x1]
    005921a8ldr x1, [x1+32]
    005921acstr x1, [sp+176]
    005921b0ldr x0, [sp+72]
    005921b4bl crypto/internal/fips140/bigmod.(*Nat).Bytes
    005921b8str x0, [sp+200]
    005921bcstr x1, [sp+208]
    005921c0str x2, [sp+216]
    005921c4adrp x0, 0xb5000
    005921c8add x0, x0, 4032
    005921ccbl runtime.newobject
    005921d0str x0, [sp+168]
    005921d4ldr x1, [sp+352]
    005921d8ldrsb x27, [x1]
    005921dcldr x2, [x1]
    005921e0ldr x1, [x1+8]
    005921e4str x1, [x0+8]
    005921e8adrp x27, 0x4b9000
    005921ecldr w1, [x27+3056]
    005921f0cbz w1, 0x5921f8
    005921f4b 0x5921fc
    005921f8
    005921f8loc_5921f8:
    005921f8b 0x592210
    005921fc
    005921fcloc_5921fc:
    005921fcbl runtime.gcWriteBarrier2
    00592200str x2, [x25]
    00592204ldr x3, [x0]
    00592208str x3, [x25+8]
    0059220cb 0x592210
    00592210
    00592210loc_592210:
    00592210str x2, [x0]
    00592214ldr x3, [sp+168]
    00592218ldrsb x27, [x3]
    0059221cldr x4, [sp+224]
    00592220ldr x5, [sp+232]
    00592224ldr x6, [sp+240]
    00592228str x5, [x3+24]
    0059222cstr x6, [x3+32]
    00592230adrp x27, 0x4b9000
    00592234ldr w5, [x27+3056]
    00592238cbz w5, 0x592240
    0059223cb 0x592244
    00592240
    00592240loc_592240:
    00592240b 0x592258
    00592244
    00592244loc_592244:
    00592244bl runtime.gcWriteBarrier2
    00592248str x4, [x25]
    0059224cldr x5, [x3+16]
    00592250str x5, [x25+8]
    00592254b 0x592258
    00592258
    00592258loc_592258:
    00592258str x4, [x3+16]
    0059225cldr x3, [sp+168]
    00592260ldrsb x27, [x3]
    00592264ldr x4, [sp+200]
    00592268ldr x5, [sp+208]
    0059226cldr x6, [sp+216]
    00592270str x5, [x3+48]
    00592274str x6, [x3+56]
    00592278adrp x27, 0x4b9000
    0059227cldr w5, [x27+3056]
    00592280cbz w5, 0x592288
    00592284b 0x59228c
    00592288
    00592288loc_592288:
    00592288b 0x5922a0
    0059228c
    0059228cloc_59228c:
    0059228cbl runtime.gcWriteBarrier2
    00592290str x4, [x25]
    00592294ldr x5, [x3+40]
    00592298str x5, [x25+8]
    0059229cb 0x5922a0
    005922a0
    005922a0loc_5922a0:
    005922a0str x4, [x3+40]
    005922a4ldr x3, [sp+168]
    005922a8str x3, [sp+64]
    005922acldr x3, [sp+344]
    005922b0ldrsb x27, [x3]
    005922b4ldr x0, [x3+16]
    005922b8str x0, [sp+160]
    005922bcldr x2, [sp+64]
    005922c0ldr x1, [sp+352]
    005922c4bl crypto/internal/fips140/ecdsa.fipsPCT[go.shape.*crypto/internal/fips140/nistec.P224Point]
    005922c8str x0, [sp+80]
    005922ccstr x1, [sp+88]
    005922d0cbnz x0, 0x5922fc
    005922d4b 0x5922d8
    005922d8
    005922d8loc_5922d8:
    005922d8ldr x3, [sp+64]
    005922dcstr x3, [sp+56]
    005922e0stp xzr, xzr, [sp+40]
    005922e4ldr x0, [sp+56]
    005922e8mov x1, xzr
    005922ecmov x2, xzr
    005922f0ldp x29, x30, [sp-8]
    005922f4add sp, sp, 336
    005922f8ret x30
    005922fc
    005922fcloc_5922fc:
    005922fcstr x0, [sp+144]
    00592300str x1, [sp+152]
    00592304str x0, [sp+136]
    00592308ldr x2, [sp+136]
    0059230ccbnz x2, 0x592314
    00592310b 0x592330
    00592314
    00592314loc_592314:
    00592314ldr x2, [sp+136]
    00592318ldr x2, [x2+8]
    0059231cstr x2, [sp+136]
    00592320b 0x592324
    00592324
    00592324loc_592324:
    00592324ldr x0, [sp+136]
    00592328ldr x1, [sp+152]
    0059232cbl runtime.gopanic
    00592330
    00592330loc_592330:
    00592330b 0x592324
    00592334
    00592334loc_592334:
    00592334stp x0, x1, [sp+8]
    00592338stp x2, x3, [sp+24]
    0059233cmov x3, x30
    00592340bl runtime.morestack_noctxt.abi0
    00592344ldp x0, x1, [sp+8]
    00592348ldp x2, x3, [sp+24]
    0059234cb 0x592010
    00592010
    00592350
    00592350crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P224Point].func1: ; void crypto/internal/fips140/ecdsa.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P224Point].func1(struct []uint8 b)
    00592350ldr x16, [x28+16]
    00592354subs xzr, sp, x16
    00592358b.ls 0x5923c4
    0059235cstr x30, [sp-112]!
    00592360stur x29, [sp-8]
    00592364sub x29, sp, 8
    00592368str x0, [sp+120]
    0059236cstr x1, [sp+128]
    00592370str x2, [sp+136]
    00592374ldr x5, [x26+8]
    00592378ldr x6, [x26+16]
    0059237cstr x5, [sp+64]
    00592380str x6, [sp+72]
    00592384ldr x5, [x26+24]
    00592388str x5, [sp+80]
    0059238cstp xzr, xzr, [sp+48]
    00592390ldr x0, [sp+64]
    00592394ldr x2, [sp+120]
    00592398ldr x3, [sp+128]
    0059239cldr x1, [sp+72]
    005923a0ldr x4, [sp+136]
    005923a4bl crypto/internal/fips140/drbg.ReadWithReader
    005923a8str x0, [sp+88]
    005923acstr x1, [sp+96]
    005923b0str x0, [sp+48]
    005923b4str x1, [sp+56]
    005923b8ldur x29, [sp-8]
    005923bcldr x30, [sp], 112
    005923c0ret x30
    005923c4
    005923c4loc_5923c4:
    005923c4stp x0, x1, [sp+8]
    005923c8str x2, [sp+24]
    005923ccmov x3, x30
    005923d0bl runtime.morestack.abi0
    005923d4ldp x0, x1, [sp+8]
    005923d8ldr x2, [sp+24]
    005923dcb 0x592350
    00592350
    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