File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0059c250
    0059c250crypto/internal/fips140/ed25519.precomputePrivateKey: ; void crypto/internal/fips140/ed25519.precomputePrivateKey(crypto/internal/fips140/ed25519.PrivateKey * priv)
    0059c250ldr x16, [x28+16]
    0059c254sub x17, sp, 480
    0059c258subs xzr, x17, x16
    0059c25cb.ls 0x59c5b8
    0059c260sub x20, sp, 608
    0059c264stp x29, x30, [x20-8]
    0059c268add sp, x20, 0
    0059c26csub x29, sp, 8
    0059c270str x0, [sp+616]
    0059c274bl crypto/internal/fips140/sha512.New
    0059c278str x0, [sp+312]
    0059c27cldr x1, [sp+616]
    0059c280ldrsb x27, [x1]
    0059c284ldrsb x27, [x1]
    0059c288b 0x59c28c
    0059c28c
    0059c28cloc_59c28c:
    0059c28cstr x1, [sp+376]
    0059c290orr x3, xzr, 32
    0059c294str x3, [sp+384]
    0059c298str x3, [sp+392]
    0059c29cldr x0, [sp+312]
    0059c2a0mov x2, x3
    0059c2a4bl crypto/internal/fips140/sha512.(*Digest).Write
    0059c2a8b 0x59c2ac
    0059c2ac
    0059c2acloc_59c2ac:
    0059c2acstp xzr, xzr, [sp+48]
    0059c2b0stp xzr, xzr, [sp+64]
    0059c2b4stp xzr, xzr, [sp+80]
    0059c2b8stp xzr, xzr, [sp+96]
    0059c2bcadd x1, sp, 48
    0059c2c0ldrsb x27, [x1]
    0059c2c4b 0x59c2c8
    0059c2c8
    0059c2c8loc_59c2c8:
    0059c2c8b 0x59c2cc
    0059c2cc
    0059c2ccloc_59c2cc:
    0059c2ccstr x1, [sp+376]
    0059c2d0str xzr, [sp+384]
    0059c2d4orr x3, xzr, 64
    0059c2d8str x3, [sp+392]
    0059c2dcldr x0, [sp+312]
    0059c2e0mov x2, xzr
    0059c2e4bl crypto/internal/fips140/sha512.(*Digest).Sum
    0059c2e8str x0, [sp+320]
    0059c2ecstr x1, [sp+328]
    0059c2f0str x2, [sp+336]
    0059c2f4subs xzr, x2, 32
    0059c2f8b.hs 0x59c300
    0059c2fcb 0x59c5ac
    0059c300
    0059c300loc_59c300:
    0059c300b 0x59c304
    0059c304
    0059c304loc_59c304:
    0059c304str x0, [sp+376]
    0059c308orr x4, xzr, 32
    0059c30cstr x4, [sp+384]
    0059c310str x2, [sp+392]
    0059c314str xzr, [sp+368]
    0059c318add x27, sp, 584
    0059c31cstp xzr, xzr, [x27]
    0059c320ldr x4, [sp+616]
    0059c324ldrsb x27, [x4]
    0059c328add x0, x4, 64
    0059c32cstr x0, [sp+536]
    0059c330ldr x1, [sp+376]
    0059c334ldr x2, [sp+384]
    0059c338ldr x3, [sp+392]
    0059c33cbl crypto/internal/fips140/edwards25519.(*Scalar).SetBytesWithClamping
    0059c340str x0, [sp+368]
    0059c344str x1, [sp+584]
    0059c348str x2, [sp+592]
    0059c34cldr x4, [sp+368]
    0059c350str x4, [sp+416]
    0059c354ldr x4, [sp+584]
    0059c358ldr x5, [sp+592]
    0059c35cstr x4, [sp+400]
    0059c360str x5, [sp+408]
    0059c364ldr x4, [sp+416]
    0059c368str x4, [sp+304]
    0059c36cldr x4, [sp+408]
    0059c370ldr x5, [sp+400]
    0059c374str x5, [sp+344]
    0059c378str x4, [sp+352]
    0059c37ccbnz x5, 0x59c580
    0059c380b 0x59c384
    0059c384
    0059c384loc_59c384:
    0059c384add x20, sp, 144
    0059c388adr x27, 16
    0059c38cstp x29, x27, [sp-24]
    0059c390sub x29, sp, 24
    0059c394bl fn_87ce8
    0059c398sub x29, sp, 8
    0059c39cadd x20, sp, 144
    0059c3a0str x20, [sp+520]
    0059c3a4ldrsb x27, [x20]
    0059c3a8adr x27, 16
    0059c3acstp x29, x27, [sp-24]
    0059c3b0sub x29, sp, 24
    0059c3b4bl fn_87ce8
    0059c3b8sub x29, sp, 8
    0059c3bcldr x1, [sp+304]
    0059c3c0ldr x0, [sp+520]
    0059c3c4bl crypto/internal/fips140/edwards25519.(*Point).ScalarBaseMult
    0059c3c8str x0, [sp+360]
    0059c3ccldr x2, [sp+616]
    0059c3d0ldrsb x27, [x2]
    0059c3d4add x2, x2, 32
    0059c3d8ldrsb x27, [x2]
    0059c3dcb 0x59c3e0
    0059c3e0
    0059c3e0loc_59c3e0:
    0059c3e0str x2, [sp+376]
    0059c3e4orr x1, xzr, 32
    0059c3e8str x1, [sp+384]
    0059c3ecstr x1, [sp+392]
    0059c3f0ldr x0, [sp+360]
    0059c3f4bl crypto/internal/fips140/edwards25519.(*Point).Bytes
    0059c3f8str x0, [sp+544]
    0059c3fcstr x1, [sp+552]
    0059c400str x2, [sp+560]
    0059c404ldr x1, [sp+376]
    0059c408ldr x2, [sp+384]
    0059c40cldr x3, [sp+392]
    0059c410str x1, [sp+496]
    0059c414str x2, [sp+504]
    0059c418str x3, [sp+512]
    0059c41cldr x1, [sp+552]
    0059c420ldr x2, [sp+544]
    0059c424ldr x3, [sp+560]
    0059c428str x2, [sp+472]
    0059c42cstr x1, [sp+480]
    0059c430str x3, [sp+488]
    0059c434ldr x2, [sp+504]
    0059c438str x2, [sp+136]
    0059c43csubs xzr, x2, x1
    0059c440b.gt 0x59c448
    0059c444b 0x59c450
    0059c448
    0059c448loc_59c448:
    0059c448str x1, [sp+136]
    0059c44cb 0x59c454
    0059c450
    0059c450loc_59c450:
    0059c450b 0x59c454
    0059c454
    0059c454loc_59c454:
    0059c454ldr x3, [sp+472]
    0059c458ldr x4, [sp+496]
    0059c45csubs xzr, x3, x4
    0059c460b.ne 0x59c468
    0059c464b 0x59c484
    0059c468
    0059c468loc_59c468:
    0059c468ldr x3, [sp+136]
    0059c46cstr x3, [sp+128]
    0059c470ldr x2, [sp+128]
    0059c474ldr x1, [sp+472]
    0059c478ldr x0, [sp+496]
    0059c47cbl runtime.memmove
    0059c480b 0x59c488
    0059c484
    0059c484loc_59c484:
    0059c484b 0x59c488
    0059c488
    0059c488loc_59c488:
    0059c488ldr x3, [sp+616]
    0059c48cldrsb x27, [x3]
    0059c490add x3, x3, 96
    0059c494ldrsb x27, [x3]
    0059c498b 0x59c49c
    0059c49c
    0059c49cloc_59c49c:
    0059c49cstr x3, [sp+544]
    0059c4a0orr x0, xzr, 32
    0059c4a4str x0, [sp+552]
    0059c4a8str x0, [sp+560]
    0059c4acldr x1, [sp+328]
    0059c4b0ldr x3, [sp+320]
    0059c4b4ldr x4, [sp+336]
    0059c4b8b 0x59c4bc
    0059c4bc
    0059c4bcloc_59c4bc:
    0059c4bcsubs xzr, x1, 32
    0059c4c0b.hs 0x59c4c8
    0059c4c4b 0x59c57c
    0059c4c8
    0059c4c8loc_59c4c8:
    0059c4c8sub x4, x4, 32
    0059c4ccsub x5, xzr, x4
    0059c4d0sub x6, x1, 32
    0059c4d4sbfm x5, x5, 63, 63
    0059c4d8and x5, x5, 32
    0059c4dcadd x3, x3, x5
    0059c4e0str x3, [sp+376]
    0059c4e4str x6, [sp+384]
    0059c4e8str x4, [sp+392]
    0059c4ecldr x3, [sp+544]
    0059c4f0ldr x4, [sp+552]
    0059c4f4ldr x5, [sp+560]
    0059c4f8str x3, [sp+448]
    0059c4fcstr x4, [sp+456]
    0059c500str x5, [sp+464]
    0059c504ldr x3, [sp+384]
    0059c508ldr x4, [sp+376]
    0059c50cldr x5, [sp+392]
    0059c510str x4, [sp+424]
    0059c514str x3, [sp+432]
    0059c518str x5, [sp+440]
    0059c51cldr x4, [sp+456]
    0059c520str x4, [sp+120]
    0059c524subs xzr, x4, x3
    0059c528b.gt 0x59c530
    0059c52cb 0x59c538
    0059c530
    0059c530loc_59c530:
    0059c530str x3, [sp+120]
    0059c534b 0x59c53c
    0059c538
    0059c538loc_59c538:
    0059c538b 0x59c53c
    0059c53c
    0059c53cloc_59c53c:
    0059c53cldr x3, [sp+448]
    0059c540ldr x4, [sp+424]
    0059c544subs xzr, x4, x3
    0059c548b.ne 0x59c550
    0059c54cb 0x59c56c
    0059c550
    0059c550loc_59c550:
    0059c550ldr x3, [sp+120]
    0059c554str x3, [sp+112]
    0059c558ldr x2, [sp+112]
    0059c55cldr x1, [sp+424]
    0059c560ldr x0, [sp+448]
    0059c564bl runtime.memmove
    0059c568b 0x59c570
    0059c56c
    0059c56cloc_59c56c:
    0059c56cb 0x59c570
    0059c570
    0059c570loc_59c570:
    0059c570ldp x29, x30, [sp-8]
    0059c574add sp, sp, 608
    0059c578ret x30
    0059c57c
    0059c57cloc_59c57c:
    0059c57cbl runtime.panicSliceB
    0059c580
    0059c580loc_59c580:
    0059c580adrp x0, 0x12b000
    0059c584add x0, x0, 2825
    0059c588str x0, [sp+568]
    0059c58cmovz x1, 46
    0059c590str x1, [sp+576]
    0059c594bl runtime.convTstring
    0059c598str x0, [sp+528]
    0059c59cmov x1, x0
    0059c5a0adrp x0, 0x59000
    0059c5a4add x0, x0, 2944
    0059c5a8bl runtime.gopanic
    0059c5ac
    0059c5acloc_59c5ac:
    0059c5acorr x1, xzr, 32
    0059c5b0bl runtime.panicSliceAcap
    0059c5b4hint
    0059c5b8
    0059c5b8loc_59c5b8:
    0059c5b8str x0, [sp+8]
    0059c5bcmov x3, x30
    0059c5c0bl runtime.morestack_noctxt.abi0
    0059c5c4ldr x0, [sp+8]
    0059c5c8b 0x59c250
    0059c5ccudf 0
    0059c250
    0059c5d0
    0059c5d0crypto/internal/fips140/ed25519.NewPrivateKey: ; void crypto/internal/fips140/ed25519.NewPrivateKey(struct []uint8 priv)
    0059c5d0ldr x16, [x28+16]
    0059c5d4sub x17, sp, 16
    0059c5d8subs xzr, x17, x16
    0059c5dcb.ls 0x59c698
    0059c5e0str x30, [sp-144]!
    0059c5e4stur x29, [sp-8]
    0059c5e8sub x29, sp, 8
    0059c5ecstr x0, [sp+152]
    0059c5f0str x1, [sp+160]
    0059c5f4str x2, [sp+168]
    0059c5f8str xzr, [sp+64]
    0059c5fcstp xzr, xzr, [sp+48]
    0059c600adrp x0, 0xcc000
    0059c604add x0, x0, 2528
    0059c608bl runtime.newobject
    0059c60cstr x0, [sp+80]
    0059c610mov x20, x0
    0059c614adr x27, 16
    0059c618stp x29, x27, [sp-24]
    0059c61csub x29, sp, 24
    0059c620bl fn_87cf0
    0059c624sub x29, sp, 8
    0059c628ldr x1, [sp+80]
    0059c62cstr x1, [sp+72]
    0059c630str xzr, [sp+104]
    0059c634stp xzr, xzr, [sp+88]
    0059c638ldr x1, [sp+152]
    0059c63cldr x2, [sp+160]
    0059c640ldr x3, [sp+168]
    0059c644ldr x0, [sp+72]
    0059c648bl crypto/internal/fips140/ed25519.newPrivateKey
    0059c64cstr x0, [sp+104]
    0059c650str x1, [sp+88]
    0059c654str x2, [sp+96]
    0059c658ldr x1, [sp+104]
    0059c65cstr x1, [sp+128]
    0059c660ldr x1, [sp+88]
    0059c664ldr x2, [sp+96]
    0059c668str x1, [sp+112]
    0059c66cstr x2, [sp+120]
    0059c670ldr x1, [sp+128]
    0059c674str x1, [sp+64]
    0059c678ldr x1, [sp+112]
    0059c67cldr x2, [sp+120]
    0059c680str x1, [sp+48]
    0059c684str x2, [sp+56]
    0059c688ldr x0, [sp+64]
    0059c68cldur x29, [sp-8]
    0059c690ldr x30, [sp], 144
    0059c694ret x30
    0059c698
    0059c698loc_59c698:
    0059c698stp x0, x1, [sp+8]
    0059c69cstr x2, [sp+24]
    0059c6a0mov x3, x30
    0059c6a4bl runtime.morestack_noctxt.abi0
    0059c6a8ldp x0, x1, [sp+8]
    0059c6acldr x2, [sp+24]
    0059c6b0b 0x59c5d0
    0059c6b4udf 0
    0059c6b8udf 0
    0059c6bcudf 0
    0059c5d0
    0059c6c0
    0059c6c0crypto/internal/fips140/ed25519.newPrivateKey: ; void crypto/internal/fips140/ed25519.newPrivateKey(crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 privBytes)
    0059c6c0ldr x16, [x28+16]
    0059c6c4sub x17, sp, 432
    0059c6c8subs xzr, x17, x16
    0059c6ccb.ls 0x59cbac
    0059c6d0sub x20, sp, 560
    0059c6d4stp x29, x30, [x20-8]
    0059c6d8add sp, x20, 0
    0059c6dcsub x29, sp, 8
    0059c6e0str x0, [sp+568]
    0059c6e4str x1, [sp+576]
    0059c6e8str x2, [sp+584]
    0059c6ecstr x3, [sp+592]
    0059c6f0str xzr, [sp+192]
    0059c6f4stp xzr, xzr, [sp+176]
    0059c6f8bl crypto/internal/fips140.RecordApproved
    0059c6fcldr x0, [sp+584]
    0059c700str x0, [sp+120]
    0059c704subs xzr, x0, 64
    0059c708b.ne 0x59c710
    0059c70cb 0x59c770
    0059c710
    0059c710loc_59c710:
    0059c710bl strconv.Itoa
    0059c714str x0, [sp+536]
    0059c718str x1, [sp+544]
    0059c71cmovz x2, 33
    0059c720mov x3, x0
    0059c724mov x4, x1
    0059c728mov x0, xzr
    0059c72cadrp x1, 0x123000
    0059c730add x1, x1, 3015
    0059c734bl runtime.concatstring2
    0059c738str x0, [sp+448]
    0059c73cstr x1, [sp+456]
    0059c740bl errors.New
    0059c744str x0, [sp+520]
    0059c748str x1, [sp+528]
    0059c74cstr xzr, [sp+192]
    0059c750ldr x1, [sp+520]
    0059c754ldr x2, [sp+528]
    0059c758str x1, [sp+176]
    0059c75cstr x2, [sp+184]
    0059c760ldr x0, [sp+192]
    0059c764ldp x29, x30, [sp-8]
    0059c768add sp, sp, 560
    0059c76cret x30
    0059c770
    0059c770loc_59c770:
    0059c770ldr x3, [sp+568]
    0059c774ldrsb x27, [x3]
    0059c778ldrsb x27, [x3]
    0059c77cb 0x59c780
    0059c780
    0059c780loc_59c780:
    0059c780str x3, [sp+496]
    0059c784orr x1, xzr, 32
    0059c788str x1, [sp+504]
    0059c78cstr x1, [sp+512]
    0059c790ldr x2, [sp+592]
    0059c794ldr x3, [sp+576]
    0059c798subs xzr, x2, 32
    0059c79cb.hs 0x59c7a4
    0059c7a0b 0x59cba4
    0059c7a4
    0059c7a4loc_59c7a4:
    0059c7a4b 0x59c7a8
    0059c7a8
    0059c7a8loc_59c7a8:
    0059c7a8str x3, [sp+472]
    0059c7acstr x1, [sp+480]
    0059c7b0str x2, [sp+488]
    0059c7b4ldr x3, [sp+496]
    0059c7b8ldr x4, [sp+504]
    0059c7bcldr x5, [sp+512]
    0059c7c0str x3, [sp+424]
    0059c7c4str x4, [sp+432]
    0059c7c8str x5, [sp+440]
    0059c7ccldr x3, [sp+480]
    0059c7d0ldr x4, [sp+472]
    0059c7d4ldr x5, [sp+488]
    0059c7d8str x4, [sp+400]
    0059c7dcstr x3, [sp+408]
    0059c7e0str x5, [sp+416]
    0059c7e4ldr x4, [sp+432]
    0059c7e8str x4, [sp+168]
    0059c7ecsubs xzr, x3, x4
    0059c7f0b.lt 0x59c7f8
    0059c7f4b 0x59c800
    0059c7f8
    0059c7f8loc_59c7f8:
    0059c7f8str x3, [sp+168]
    0059c7fcb 0x59c804
    0059c800
    0059c800loc_59c800:
    0059c800b 0x59c804
    0059c804
    0059c804loc_59c804:
    0059c804ldr x3, [sp+400]
    0059c808ldr x4, [sp+424]
    0059c80csubs xzr, x4, x3
    0059c810b.ne 0x59c818
    0059c814b 0x59c834
    0059c818
    0059c818loc_59c818:
    0059c818ldr x3, [sp+168]
    0059c81cstr x3, [sp+160]
    0059c820ldr x2, [sp+160]
    0059c824ldr x0, [sp+424]
    0059c828ldr x1, [sp+400]
    0059c82cbl runtime.memmove
    0059c830b 0x59c838
    0059c834
    0059c834loc_59c834:
    0059c834b 0x59c838
    0059c838
    0059c838loc_59c838:
    0059c838bl crypto/internal/fips140/sha512.New
    0059c83cstr x0, [sp+200]
    0059c840ldr x1, [sp+568]
    0059c844ldrsb x27, [x1]
    0059c848ldrsb x27, [x1]
    0059c84cb 0x59c850
    0059c850
    0059c850loc_59c850:
    0059c850str x1, [sp+472]
    0059c854orr x3, xzr, 32
    0059c858str x3, [sp+480]
    0059c85cstr x3, [sp+488]
    0059c860ldr x0, [sp+200]
    0059c864mov x2, x3
    0059c868bl crypto/internal/fips140/sha512.(*Digest).Write
    0059c86cb 0x59c870
    0059c870
    0059c870loc_59c870:
    0059c870stp xzr, xzr, [sp+56]
    0059c874stp xzr, xzr, [sp+72]
    0059c878stp xzr, xzr, [sp+88]
    0059c87cstp xzr, xzr, [sp+104]
    0059c880add x1, sp, 56
    0059c884ldrsb x27, [x1]
    0059c888b 0x59c88c
    0059c88c
    0059c88cloc_59c88c:
    0059c88cb 0x59c890
    0059c890
    0059c890loc_59c890:
    0059c890str x1, [sp+472]
    0059c894str xzr, [sp+480]
    0059c898orr x3, xzr, 64
    0059c89cstr x3, [sp+488]
    0059c8a0ldr x0, [sp+200]
    0059c8a4mov x2, xzr
    0059c8a8bl crypto/internal/fips140/sha512.(*Digest).Sum
    0059c8acstr x0, [sp+208]
    0059c8b0str x1, [sp+216]
    0059c8b4str x2, [sp+224]
    0059c8b8subs xzr, x2, 32
    0059c8bcb.hs 0x59c8c4
    0059c8c0b 0x59cb9c
    0059c8c4
    0059c8c4loc_59c8c4:
    0059c8c4b 0x59c8c8
    0059c8c8
    0059c8c8loc_59c8c8:
    0059c8c8str x0, [sp+472]
    0059c8ccorr x4, xzr, 32
    0059c8d0str x4, [sp+480]
    0059c8d4str x2, [sp+488]
    0059c8d8str xzr, [sp+464]
    0059c8dcadd x27, sp, 520
    0059c8e0stp xzr, xzr, [x27]
    0059c8e4ldr x4, [sp+568]
    0059c8e8ldrsb x27, [x4]
    0059c8ecadd x0, x4, 64
    0059c8f0str x0, [sp+392]
    0059c8f4ldr x1, [sp+472]
    0059c8f8ldr x2, [sp+480]
    0059c8fcldr x3, [sp+488]
    0059c900bl crypto/internal/fips140/edwards25519.(*Scalar).SetBytesWithClamping
    0059c904str x0, [sp+464]
    0059c908str x1, [sp+520]
    0059c90cstr x2, [sp+528]
    0059c910ldr x4, [sp+464]
    0059c914str x4, [sp+280]
    0059c918ldr x4, [sp+528]
    0059c91cldr x5, [sp+520]
    0059c920str x5, [sp+264]
    0059c924str x4, [sp+272]
    0059c928str x5, [sp+248]
    0059c92cstr x4, [sp+256]
    0059c930cbnz x5, 0x59cb70
    0059c934b 0x59c938
    0059c938
    0059c938loc_59c938:
    0059c938ldr x3, [sp+568]
    0059c93cldrsb x27, [x3]
    0059c940add x3, x3, 32
    0059c944ldrsb x27, [x3]
    0059c948b 0x59c94c
    0059c94c
    0059c94cloc_59c94c:
    0059c94cstr x3, [sp+472]
    0059c950orr x0, xzr, 32
    0059c954str x0, [sp+480]
    0059c958str x0, [sp+488]
    0059c95cldr x1, [sp+584]
    0059c960ldr x3, [sp+576]
    0059c964ldr x4, [sp+592]
    0059c968b 0x59c96c
    0059c96c
    0059c96cloc_59c96c:
    0059c96csubs xzr, x1, 32
    0059c970b.hs 0x59c978
    0059c974b 0x59cb6c
    0059c978
    0059c978loc_59c978:
    0059c978sub x4, x4, 32
    0059c97csub x5, xzr, x4
    0059c980sub x6, x1, 32
    0059c984sbfm x5, x5, 63, 63
    0059c988and x5, x5, 32
    0059c98cadd x3, x3, x5
    0059c990str x3, [sp+496]
    0059c994str x6, [sp+504]
    0059c998str x4, [sp+512]
    0059c99cldr x3, [sp+472]
    0059c9a0ldr x4, [sp+480]
    0059c9a4ldr x5, [sp+488]
    0059c9a8str x3, [sp+360]
    0059c9acstr x4, [sp+368]
    0059c9b0str x5, [sp+376]
    0059c9b4ldr x3, [sp+504]
    0059c9b8ldr x4, [sp+496]
    0059c9bcldr x5, [sp+512]
    0059c9c0str x4, [sp+336]
    0059c9c4str x3, [sp+344]
    0059c9c8str x5, [sp+352]
    0059c9ccldr x4, [sp+368]
    0059c9d0str x4, [sp+152]
    0059c9d4subs xzr, x4, x3
    0059c9d8b.gt 0x59c9e0
    0059c9dcb 0x59c9e8
    0059c9e0
    0059c9e0loc_59c9e0:
    0059c9e0str x3, [sp+152]
    0059c9e4b 0x59c9ec
    0059c9e8
    0059c9e8loc_59c9e8:
    0059c9e8b 0x59c9ec
    0059c9ec
    0059c9ecloc_59c9ec:
    0059c9ecldr x3, [sp+336]
    0059c9f0ldr x4, [sp+360]
    0059c9f4subs xzr, x3, x4
    0059c9f8b.ne 0x59ca00
    0059c9fcb 0x59ca1c
    0059ca00
    0059ca00loc_59ca00:
    0059ca00ldr x3, [sp+152]
    0059ca04str x3, [sp+144]
    0059ca08ldr x2, [sp+144]
    0059ca0cldr x1, [sp+336]
    0059ca10ldr x0, [sp+360]
    0059ca14bl runtime.memmove
    0059ca18b 0x59ca20
    0059ca1c
    0059ca1cloc_59ca1c:
    0059ca1cb 0x59ca20
    0059ca20
    0059ca20loc_59ca20:
    0059ca20ldr x3, [sp+568]
    0059ca24ldrsb x27, [x3]
    0059ca28add x3, x3, 96
    0059ca2cldrsb x27, [x3]
    0059ca30b 0x59ca34
    0059ca34
    0059ca34loc_59ca34:
    0059ca34str x3, [sp+496]
    0059ca38orr x0, xzr, 32
    0059ca3cstr x0, [sp+504]
    0059ca40str x0, [sp+512]
    0059ca44ldr x1, [sp+216]
    0059ca48ldr x3, [sp+208]
    0059ca4cldr x4, [sp+224]
    0059ca50b 0x59ca54
    0059ca54
    0059ca54loc_59ca54:
    0059ca54subs xzr, x1, 32
    0059ca58b.hs 0x59ca60
    0059ca5cb 0x59cb68
    0059ca60
    0059ca60loc_59ca60:
    0059ca60sub x4, x4, 32
    0059ca64sub x5, xzr, x4
    0059ca68sub x6, x1, 32
    0059ca6csbfm x5, x5, 63, 63
    0059ca70and x5, x5, 32
    0059ca74add x3, x3, x5
    0059ca78str x3, [sp+472]
    0059ca7cstr x6, [sp+480]
    0059ca80str x4, [sp+488]
    0059ca84ldr x3, [sp+496]
    0059ca88ldr x4, [sp+504]
    0059ca8cldr x5, [sp+512]
    0059ca90str x3, [sp+312]
    0059ca94str x4, [sp+320]
    0059ca98str x5, [sp+328]
    0059ca9cldr x3, [sp+480]
    0059caa0ldr x4, [sp+472]
    0059caa4ldr x5, [sp+488]
    0059caa8str x4, [sp+288]
    0059caacstr x3, [sp+296]
    0059cab0str x5, [sp+304]
    0059cab4ldr x4, [sp+320]
    0059cab8str x4, [sp+136]
    0059cabcsubs xzr, x4, x3
    0059cac0b.gt 0x59cac8
    0059cac4b 0x59cad0
    0059cac8
    0059cac8loc_59cac8:
    0059cac8str x3, [sp+136]
    0059caccb 0x59cad4
    0059cad0
    0059cad0loc_59cad0:
    0059cad0b 0x59cad4
    0059cad4
    0059cad4loc_59cad4:
    0059cad4ldr x3, [sp+288]
    0059cad8ldr x4, [sp+312]
    0059cadcsubs xzr, x3, x4
    0059cae0b.ne 0x59cae8
    0059cae4b 0x59cb04
    0059cae8
    0059cae8loc_59cae8:
    0059cae8ldr x3, [sp+136]
    0059caecstr x3, [sp+128]
    0059caf0ldr x2, [sp+128]
    0059caf4ldr x1, [sp+288]
    0059caf8ldr x0, [sp+312]
    0059cafcbl runtime.memmove
    0059cb00b 0x59cb08
    0059cb04
    0059cb04loc_59cb04:
    0059cb04b 0x59cb08
    0059cb08
    0059cb08loc_59cb08:
    0059cb08ldr x0, [sp+568]
    0059cb0cbl crypto/internal/fips140/ed25519.fipsPCT
    0059cb10str x0, [sp+232]
    0059cb14str x1, [sp+240]
    0059cb18cbnz x0, 0x59cb20
    0059cb1cb 0x59cb44
    0059cb20
    0059cb20loc_59cb20:
    0059cb20str xzr, [sp+192]
    0059cb24ldr x1, [sp+232]
    0059cb28ldr x2, [sp+240]
    0059cb2cstr x1, [sp+176]
    0059cb30str x2, [sp+184]
    0059cb34ldr x0, [sp+192]
    0059cb38ldp x29, x30, [sp-8]
    0059cb3cadd sp, sp, 560
    0059cb40ret x30
    0059cb44
    0059cb44loc_59cb44:
    0059cb44ldr x3, [sp+568]
    0059cb48str x3, [sp+192]
    0059cb4cstp xzr, xzr, [sp+176]
    0059cb50ldr x0, [sp+192]
    0059cb54mov x1, xzr
    0059cb58mov x2, xzr
    0059cb5cldp x29, x30, [sp-8]
    0059cb60add sp, sp, 560
    0059cb64ret x30
    0059cb68
    0059cb68loc_59cb68:
    0059cb68bl runtime.panicSliceB
    0059cb6c
    0059cb6cloc_59cb6c:
    0059cb6cbl runtime.panicSliceB
    0059cb70
    0059cb70loc_59cb70:
    0059cb70adrp x0, 0x12b000
    0059cb74add x0, x0, 2825
    0059cb78str x0, [sp+536]
    0059cb7cmovz x1, 46
    0059cb80str x1, [sp+544]
    0059cb84bl runtime.convTstring
    0059cb88str x0, [sp+384]
    0059cb8cmov x1, x0
    0059cb90adrp x0, 0x59000
    0059cb94add x0, x0, 2944
    0059cb98bl runtime.gopanic
    0059cb9c
    0059cb9cloc_59cb9c:
    0059cb9corr x1, xzr, 32
    0059cba0bl runtime.panicSliceAcap
    0059cba4
    0059cba4loc_59cba4:
    0059cba4bl runtime.panicSliceAcap
    0059cba8hint
    0059cbac
    0059cbacloc_59cbac:
    0059cbacstp x0, x1, [sp+8]
    0059cbb0stp x2, x3, [sp+24]
    0059cbb4mov x3, x30
    0059cbb8bl runtime.morestack_noctxt.abi0
    0059cbbcldp x0, x1, [sp+8]
    0059cbc0ldp x2, x3, [sp+24]
    0059cbc4b 0x59c6c0
    0059cbc8udf 0
    0059cbccudf 0
    0059c6c0
    0059cbd0
    0059cbd0crypto/internal/fips140/ed25519.NewPublicKey: ; void crypto/internal/fips140/ed25519.NewPublicKey(struct []uint8 pub)
    0059cbd0ldr x16, [x28+16]
    0059cbd4sub x17, sp, 16
    0059cbd8subs xzr, x17, x16
    0059cbdcb.ls 0x59cc98
    0059cbe0str x30, [sp-144]!
    0059cbe4stur x29, [sp-8]
    0059cbe8sub x29, sp, 8
    0059cbecstr x0, [sp+152]
    0059cbf0str x1, [sp+160]
    0059cbf4str x2, [sp+168]
    0059cbf8str xzr, [sp+64]
    0059cbfcstp xzr, xzr, [sp+48]
    0059cc00adrp x0, 0xac000
    0059cc04add x0, x0, 256
    0059cc08bl runtime.newobject
    0059cc0cstr x0, [sp+80]
    0059cc10mov x20, x0
    0059cc14adr x27, 16
    0059cc18stp x29, x27, [sp-24]
    0059cc1csub x29, sp, 24
    0059cc20bl fn_87ce0
    0059cc24sub x29, sp, 8
    0059cc28ldr x1, [sp+80]
    0059cc2cstr x1, [sp+72]
    0059cc30str xzr, [sp+104]
    0059cc34stp xzr, xzr, [sp+88]
    0059cc38ldr x1, [sp+152]
    0059cc3cldr x2, [sp+160]
    0059cc40ldr x3, [sp+168]
    0059cc44ldr x0, [sp+72]
    0059cc48bl crypto/internal/fips140/ed25519.newPublicKey
    0059cc4cstr x0, [sp+104]
    0059cc50str x1, [sp+88]
    0059cc54str x2, [sp+96]
    0059cc58ldr x1, [sp+104]
    0059cc5cstr x1, [sp+128]
    0059cc60ldr x1, [sp+88]
    0059cc64ldr x2, [sp+96]
    0059cc68str x1, [sp+112]
    0059cc6cstr x2, [sp+120]
    0059cc70ldr x1, [sp+128]
    0059cc74str x1, [sp+64]
    0059cc78ldr x1, [sp+112]
    0059cc7cldr x2, [sp+120]
    0059cc80str x1, [sp+48]
    0059cc84str x2, [sp+56]
    0059cc88ldr x0, [sp+64]
    0059cc8cldur x29, [sp-8]
    0059cc90ldr x30, [sp], 144
    0059cc94ret x30
    0059cc98
    0059cc98loc_59cc98:
    0059cc98stp x0, x1, [sp+8]
    0059cc9cstr x2, [sp+24]
    0059cca0mov x3, x30
    0059cca4bl runtime.morestack_noctxt.abi0
    0059cca8ldp x0, x1, [sp+8]
    0059ccacldr x2, [sp+24]
    0059ccb0b 0x59cbd0
    0059ccb4udf 0
    0059ccb8udf 0
    0059ccbcudf 0
    0059cbd0
    0059ccc0
    0059ccc0crypto/internal/fips140/ed25519.newPublicKey: ; void crypto/internal/fips140/ed25519.newPublicKey(crypto/internal/fips140/ed25519.PublicKey * pub, struct []uint8 pubBytes)
    0059ccc0ldr x16, [x28+16]
    0059ccc4sub x17, sp, 160
    0059ccc8subs xzr, x17, x16
    0059ccccb.ls 0x59cec0
    0059ccd0sub x20, sp, 288
    0059ccd4stp x29, x30, [x20-8]
    0059ccd8add sp, x20, 0
    0059ccdcsub x29, sp, 8
    0059cce0str x0, [sp+296]
    0059cce4str x1, [sp+304]
    0059cce8str x2, [sp+312]
    0059ccecstr x3, [sp+320]
    0059ccf0str xzr, [sp+96]
    0059ccf4stp xzr, xzr, [sp+80]
    0059ccf8ldr x0, [sp+312]
    0059ccfcstr x0, [sp+56]
    0059cd00subs xzr, x0, 32
    0059cd04b.ne 0x59cd0c
    0059cd08b 0x59cd6c
    0059cd0c
    0059cd0cloc_59cd0c:
    0059cd0cbl strconv.Itoa
    0059cd10str x0, [sp+136]
    0059cd14str x1, [sp+144]
    0059cd18orr x2, xzr, 32
    0059cd1cmov x3, x0
    0059cd20mov x4, x1
    0059cd24mov x0, xzr
    0059cd28adrp x1, 0x122000
    0059cd2cadd x1, x1, 3280
    0059cd30bl runtime.concatstring2
    0059cd34str x0, [sp+232]
    0059cd38str x1, [sp+240]
    0059cd3cbl errors.New
    0059cd40str x0, [sp+120]
    0059cd44str x1, [sp+128]
    0059cd48str xzr, [sp+96]
    0059cd4cldr x1, [sp+120]
    0059cd50ldr x2, [sp+128]
    0059cd54str x1, [sp+80]
    0059cd58str x2, [sp+88]
    0059cd5cldr x0, [sp+96]
    0059cd60ldp x29, x30, [sp-8]
    0059cd64add sp, sp, 288
    0059cd68ret x30
    0059cd6c
    0059cd6cloc_59cd6c:
    0059cd6cstr xzr, [sp+272]
    0059cd70stp xzr, xzr, [sp+120]
    0059cd74ldr x0, [sp+296]
    0059cd78ldrsb x27, [x0]
    0059cd7cstr x0, [sp+224]
    0059cd80ldr x1, [sp+304]
    0059cd84ldr x2, [sp+312]
    0059cd88ldr x3, [sp+320]
    0059cd8cbl crypto/internal/fips140/edwards25519.(*Point).SetBytes
    0059cd90str x0, [sp+272]
    0059cd94str x1, [sp+120]
    0059cd98str x2, [sp+128]
    0059cd9cldr x4, [sp+272]
    0059cda0str x4, [sp+168]
    0059cda4ldr x4, [sp+128]
    0059cda8ldr x5, [sp+120]
    0059cdacstr x5, [sp+152]
    0059cdb0str x4, [sp+160]
    0059cdb4str x5, [sp+104]
    0059cdb8str x4, [sp+112]
    0059cdbccbnz x5, 0x59cdc4
    0059cdc0b 0x59ce00
    0059cdc4
    0059cdc4loc_59cdc4:
    0059cdc4adrp x0, 0x11c000
    0059cdc8add x0, x0, 3445
    0059cdccmovz x1, 23
    0059cdd0bl errors.New
    0059cdd4str x0, [sp+120]
    0059cdd8str x1, [sp+128]
    0059cddcstr xzr, [sp+96]
    0059cde0ldr x1, [sp+120]
    0059cde4ldr x2, [sp+128]
    0059cde8str x1, [sp+80]
    0059cdecstr x2, [sp+88]
    0059cdf0ldr x0, [sp+96]
    0059cdf4ldp x29, x30, [sp-8]
    0059cdf8add sp, sp, 288
    0059cdfcret x30
    0059ce00
    0059ce00loc_59ce00:
    0059ce00ldr x3, [sp+296]
    0059ce04ldrsb x27, [x3]
    0059ce08add x3, x3, 160
    0059ce0cldrsb x27, [x3]
    0059ce10b 0x59ce14
    0059ce14
    0059ce14loc_59ce14:
    0059ce14str x3, [sp+248]
    0059ce18orr x4, xzr, 32
    0059ce1cstr x4, [sp+256]
    0059ce20str x4, [sp+264]
    0059ce24str x3, [sp+200]
    0059ce28str x4, [sp+208]
    0059ce2cstr x4, [sp+216]
    0059ce30ldr x3, [sp+312]
    0059ce34ldr x4, [sp+304]
    0059ce38ldr x5, [sp+320]
    0059ce3cstr x4, [sp+176]
    0059ce40str x3, [sp+184]
    0059ce44str x5, [sp+192]
    0059ce48ldr x4, [sp+208]
    0059ce4cstr x4, [sp+72]
    0059ce50subs xzr, x4, x3
    0059ce54b.gt 0x59ce5c
    0059ce58b 0x59ce64
    0059ce5c
    0059ce5cloc_59ce5c:
    0059ce5cstr x3, [sp+72]
    0059ce60b 0x59ce68
    0059ce64
    0059ce64loc_59ce64:
    0059ce64b 0x59ce68
    0059ce68
    0059ce68loc_59ce68:
    0059ce68ldr x3, [sp+200]
    0059ce6cldr x4, [sp+176]
    0059ce70subs xzr, x4, x3
    0059ce74b.ne 0x59ce7c
    0059ce78b 0x59ce98
    0059ce7c
    0059ce7cloc_59ce7c:
    0059ce7cldr x3, [sp+72]
    0059ce80str x3, [sp+64]
    0059ce84ldr x2, [sp+64]
    0059ce88ldr x1, [sp+176]
    0059ce8cldr x0, [sp+200]
    0059ce90bl runtime.memmove
    0059ce94b 0x59ce9c
    0059ce98
    0059ce98loc_59ce98:
    0059ce98b 0x59ce9c
    0059ce9c
    0059ce9cloc_59ce9c:
    0059ce9cldr x3, [sp+296]
    0059cea0str x3, [sp+96]
    0059cea4stp xzr, xzr, [sp+80]
    0059cea8ldr x0, [sp+96]
    0059ceacmov x1, xzr
    0059ceb0mov x2, xzr
    0059ceb4ldp x29, x30, [sp-8]
    0059ceb8add sp, sp, 288
    0059cebcret x30
    0059cec0
    0059cec0loc_59cec0:
    0059cec0stp x0, x1, [sp+8]
    0059cec4stp x2, x3, [sp+24]
    0059cec8mov x3, x30
    0059ceccbl runtime.morestack_noctxt.abi0
    0059ced0ldp x0, x1, [sp+8]
    0059ced4ldp x2, x3, [sp+24]
    0059ced8b 0x59ccc0
    0059cedcudf 0
    0059ccc0
    0059cee0
    0059cee0crypto/internal/fips140/ed25519.Sign: ; void crypto/internal/fips140/ed25519.Sign(crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 message)
    0059cee0ldr x16, [x28+16]
    0059cee4sub x17, sp, 16
    0059cee8subs xzr, x17, x16
    0059ceecb.ls 0x59cf74
    0059cef0str x30, [sp-144]!
    0059cef4stur x29, [sp-8]
    0059cef8sub x29, sp, 8
    0059cefcstr x0, [sp+152]
    0059cf00str x1, [sp+160]
    0059cf04str x2, [sp+168]
    0059cf08str x3, [sp+176]
    0059cf0cstr xzr, [sp+64]
    0059cf10stp xzr, xzr, [sp+72]
    0059cf14adrp x0, 0x59000
    0059cf18add x0, x0, 3072
    0059cf1corr x1, xzr, 64
    0059cf20mov x2, x1
    0059cf24bl runtime.makeslice
    0059cf28str x0, [sp+88]
    0059cf2corr x2, xzr, 64
    0059cf30str x2, [sp+96]
    0059cf34str x2, [sp+104]
    0059cf38ldr x3, [sp+152]
    0059cf3cldr x5, [sp+168]
    0059cf40ldr x6, [sp+176]
    0059cf44ldr x4, [sp+160]
    0059cf48mov x1, x2
    0059cf4cbl crypto/internal/fips140/ed25519.sign
    0059cf50str x0, [sp+112]
    0059cf54str x1, [sp+120]
    0059cf58str x2, [sp+128]
    0059cf5cstr x0, [sp+64]
    0059cf60str x1, [sp+72]
    0059cf64str x2, [sp+80]
    0059cf68ldur x29, [sp-8]
    0059cf6cldr x30, [sp], 144
    0059cf70ret x30
    0059cf74
    0059cf74loc_59cf74:
    0059cf74stp x0, x1, [sp+8]
    0059cf78stp x2, x3, [sp+24]
    0059cf7cmov x3, x30
    0059cf80bl runtime.morestack_noctxt.abi0
    0059cf84ldp x0, x1, [sp+8]
    0059cf88ldp x2, x3, [sp+24]
    0059cf8cb 0x59cee0
    0059cee0
    0059cf90
    0059cf90crypto/internal/fips140/ed25519.sign: ; void crypto/internal/fips140/ed25519.sign(struct []uint8 signature, crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 message)
    0059cf90ldr x16, [x28+16]
    0059cf94sub x17, sp, 32
    0059cf98subs xzr, x17, x16
    0059cf9cb.ls 0x59d038
    0059cfa0str x30, [sp-160]!
    0059cfa4stur x29, [sp-8]
    0059cfa8sub x29, sp, 8
    0059cfacstr x0, [sp+168]
    0059cfb0str x1, [sp+176]
    0059cfb4str x2, [sp+184]
    0059cfb8str x3, [sp+192]
    0059cfbcstr x4, [sp+200]
    0059cfc0str x5, [sp+208]
    0059cfc4str x6, [sp+216]
    0059cfc8str xzr, [sp+104]
    0059cfccstp xzr, xzr, [sp+112]
    0059cfd0adrp x27, 0x485000
    0059cfd4ldr x26, [x27+384]
    0059cfd8ldr x0, [x26]
    0059cfdcblr x0
    0059cfe0bl crypto/internal/fips140.RecordApproved
    0059cfe4ldr x5, [sp+208]
    0059cfe8ldr x6, [sp+216]
    0059cfecldr x0, [sp+168]
    0059cff0ldr x4, [sp+200]
    0059cff4ldr x3, [sp+192]
    0059cff8ldr x1, [sp+176]
    0059cffcldr x2, [sp+184]
    0059d000mov x7, xzr
    0059d004mov x8, xzr
    0059d008mov x9, x7
    0059d00cmov x10, x8
    0059d010bl crypto/internal/fips140/ed25519.signWithDom
    0059d014str x0, [sp+128]
    0059d018str x1, [sp+136]
    0059d01cstr x2, [sp+144]
    0059d020str x0, [sp+104]
    0059d024str x1, [sp+112]
    0059d028str x2, [sp+120]
    0059d02cldur x29, [sp-8]
    0059d030ldr x30, [sp], 160
    0059d034ret x30
    0059d038
    0059d038loc_59d038:
    0059d038stp x0, x1, [sp+8]
    0059d03cstp x2, x3, [sp+24]
    0059d040stp x4, x5, [sp+40]
    0059d044str x6, [sp+56]
    0059d048mov x3, x30
    0059d04cbl runtime.morestack_noctxt.abi0
    0059d050ldp x0, x1, [sp+8]
    0059d054ldp x2, x3, [sp+24]
    0059d058ldp x4, x5, [sp+40]
    0059d05cldr x6, [sp+56]
    0059d060b 0x59cf90
    0059d064udf 0
    0059d068udf 0
    0059d06cudf 0
    0059cf90
    0059d070
    0059d070crypto/internal/fips140/ed25519.SignPH: ; void crypto/internal/fips140/ed25519.SignPH(crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 message, struct string context)
    0059d070ldr x16, [x28+16]
    0059d074sub x17, sp, 112
    0059d078subs xzr, x17, x16
    0059d07cb.ls 0x59d184
    0059d080str x30, [sp-240]!
    0059d084stur x29, [sp-8]
    0059d088sub x29, sp, 8
    0059d08cstr x0, [sp+248]
    0059d090str x1, [sp+256]
    0059d094str x2, [sp+264]
    0059d098str x3, [sp+272]
    0059d09cstr x4, [sp+280]
    0059d0a0str x5, [sp+288]
    0059d0a4str xzr, [sp+104]
    0059d0a8stp xzr, xzr, [sp+112]
    0059d0acstp xzr, xzr, [sp+88]
    0059d0b0adrp x0, 0x58000
    0059d0b4add x0, x0, 3072
    0059d0b8orr x1, xzr, 64
    0059d0bcmov x2, x1
    0059d0c0bl runtime.makeslice
    0059d0c4str x0, [sp+128]
    0059d0c8orr x3, xzr, 64
    0059d0ccstr x3, [sp+136]
    0059d0d0str x3, [sp+144]
    0059d0d4str xzr, [sp+168]
    0059d0d8stp xzr, xzr, [sp+176]
    0059d0dcstp xzr, xzr, [sp+152]
    0059d0e0ldr x7, [sp+280]
    0059d0e4ldr x5, [sp+264]
    0059d0e8ldr x8, [sp+288]
    0059d0ecldr x6, [sp+272]
    0059d0f0ldr x0, [sp+128]
    0059d0f4ldr x4, [sp+256]
    0059d0f8ldr x3, [sp+248]
    0059d0fcldr x1, [sp+136]
    0059d100ldr x2, [sp+144]
    0059d104bl crypto/internal/fips140/ed25519.signPH
    0059d108str x0, [sp+168]
    0059d10cstr x1, [sp+176]
    0059d110str x2, [sp+184]
    0059d114str x3, [sp+152]
    0059d118str x4, [sp+160]
    0059d11cldr x3, [sp+168]
    0059d120ldr x4, [sp+176]
    0059d124ldr x5, [sp+184]
    0059d128str x3, [sp+208]
    0059d12cstr x4, [sp+216]
    0059d130str x5, [sp+224]
    0059d134ldr x3, [sp+152]
    0059d138ldr x4, [sp+160]
    0059d13cstr x3, [sp+192]
    0059d140str x4, [sp+200]
    0059d144ldr x3, [sp+208]
    0059d148ldr x4, [sp+216]
    0059d14cldr x5, [sp+224]
    0059d150str x3, [sp+104]
    0059d154str x4, [sp+112]
    0059d158str x5, [sp+120]
    0059d15cldr x3, [sp+192]
    0059d160ldr x4, [sp+200]
    0059d164str x3, [sp+88]
    0059d168str x4, [sp+96]
    0059d16cldr x0, [sp+104]
    0059d170ldr x1, [sp+112]
    0059d174ldr x2, [sp+120]
    0059d178ldur x29, [sp-8]
    0059d17cldr x30, [sp], 240
    0059d180ret x30
    0059d184
    0059d184loc_59d184:
    0059d184stp x0, x1, [sp+8]
    0059d188stp x2, x3, [sp+24]
    0059d18cstp x4, x5, [sp+40]
    0059d190mov x3, x30
    0059d194bl runtime.morestack_noctxt.abi0
    0059d198ldp x0, x1, [sp+8]
    0059d19cldp x2, x3, [sp+24]
    0059d1a0ldp x4, x5, [sp+40]
    0059d1a4b 0x59d070
    0059d1a8udf 0
    0059d1acudf 0
    0059d070
    0059d1b0
    0059d1b0crypto/internal/fips140/ed25519.signPH: ; void crypto/internal/fips140/ed25519.signPH(struct []uint8 signature, crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 message, struct string context)
    0059d1b0ldr x16, [x28+16]
    0059d1b4sub x17, sp, 128
    0059d1b8subs xzr, x17, x16
    0059d1bcb.ls 0x59d384
    0059d1c0sub x20, sp, 256
    0059d1c4stp x29, x30, [x20-8]
    0059d1c8add sp, x20, 0
    0059d1ccsub x29, sp, 8
    0059d1d0str x0, [sp+264]
    0059d1d4str x1, [sp+272]
    0059d1d8str x2, [sp+280]
    0059d1dcstr x3, [sp+288]
    0059d1e0str x4, [sp+296]
    0059d1e4str x5, [sp+304]
    0059d1e8str x6, [sp+312]
    0059d1ecstr x7, [sp+320]
    0059d1f0str x8, [sp+328]
    0059d1f4str xzr, [sp+136]
    0059d1f8stp xzr, xzr, [sp+144]
    0059d1fcstp xzr, xzr, [sp+120]
    0059d200adrp x27, 0x484000
    0059d204ldr x26, [x27+384]
    0059d208ldr x0, [x26]
    0059d20cblr x0
    0059d210bl crypto/internal/fips140.RecordApproved
    0059d214ldr x0, [sp+304]
    0059d218str x0, [sp+112]
    0059d21csubs xzr, x0, 64
    0059d220b.ne 0x59d228
    0059d224b 0x59d294
    0059d228
    0059d228loc_59d228:
    0059d228bl strconv.Itoa
    0059d22cstr x0, [sp+176]
    0059d230str x1, [sp+184]
    0059d234movz x2, 44
    0059d238mov x3, x0
    0059d23cmov x4, x1
    0059d240mov x0, xzr
    0059d244adrp x1, 0x129000
    0059d248add x1, x1, 2740
    0059d24cbl runtime.concatstring2
    0059d250str x0, [sp+208]
    0059d254str x1, [sp+216]
    0059d258bl errors.New
    0059d25cstr x0, [sp+160]
    0059d260str x1, [sp+168]
    0059d264str xzr, [sp+136]
    0059d268stp xzr, xzr, [sp+144]
    0059d26cldr x3, [sp+160]
    0059d270ldr x4, [sp+168]
    0059d274str x3, [sp+120]
    0059d278str x4, [sp+128]
    0059d27cldr x0, [sp+136]
    0059d280ldr x1, [sp+144]
    0059d284ldr x2, [sp+152]
    0059d288ldp x29, x30, [sp-8]
    0059d28cadd sp, sp, 256
    0059d290ret x30
    0059d294
    0059d294loc_59d294:
    0059d294ldr x0, [sp+328]
    0059d298str x0, [sp+104]
    0059d29csubs xzr, x0, 255
    0059d2a0b.gt 0x59d2a8
    0059d2a4b 0x59d314
    0059d2a8
    0059d2a8loc_59d2a8:
    0059d2a8bl strconv.Itoa
    0059d2acstr x0, [sp+176]
    0059d2b0str x1, [sp+184]
    0059d2b4movz x2, 39
    0059d2b8mov x3, x0
    0059d2bcmov x4, x1
    0059d2c0mov x0, xzr
    0059d2c4adrp x1, 0x126000
    0059d2c8add x1, x1, 3640
    0059d2ccbl runtime.concatstring2
    0059d2d0str x0, [sp+192]
    0059d2d4str x1, [sp+200]
    0059d2d8bl errors.New
    0059d2dcstr x0, [sp+160]
    0059d2e0str x1, [sp+168]
    0059d2e4str xzr, [sp+136]
    0059d2e8stp xzr, xzr, [sp+144]
    0059d2ecldr x3, [sp+160]
    0059d2f0ldr x4, [sp+168]
    0059d2f4str x3, [sp+120]
    0059d2f8str x4, [sp+128]
    0059d2fcldr x0, [sp+136]
    0059d300ldr x1, [sp+144]
    0059d304ldr x2, [sp+152]
    0059d308ldp x29, x30, [sp-8]
    0059d30cadd sp, sp, 256
    0059d310ret x30
    0059d314
    0059d314loc_59d314:
    0059d314ldr x9, [sp+320]
    0059d318ldr x5, [sp+304]
    0059d31cldr x10, [sp+328]
    0059d320ldr x6, [sp+312]
    0059d324ldr x0, [sp+264]
    0059d328ldr x4, [sp+296]
    0059d32cldr x3, [sp+288]
    0059d330ldr x1, [sp+272]
    0059d334ldr x2, [sp+280]
    0059d338adrp x7, 0x122000
    0059d33cadd x7, x7, 3048
    0059d340movz x8, 33
    0059d344bl crypto/internal/fips140/ed25519.signWithDom
    0059d348str x0, [sp+224]
    0059d34cstr x1, [sp+232]
    0059d350str x2, [sp+240]
    0059d354str x0, [sp+136]
    0059d358str x1, [sp+144]
    0059d35cstr x2, [sp+152]
    0059d360stp xzr, xzr, [sp+120]
    0059d364ldr x0, [sp+136]
    0059d368ldr x1, [sp+144]
    0059d36cldr x2, [sp+152]
    0059d370mov x3, xzr
    0059d374mov x4, xzr
    0059d378ldp x29, x30, [sp-8]
    0059d37cadd sp, sp, 256
    0059d380ret x30
    0059d384
    0059d384loc_59d384:
    0059d384stp x0, x1, [sp+8]
    0059d388stp x2, x3, [sp+24]
    0059d38cstp x4, x5, [sp+40]
    0059d390stp x6, x7, [sp+56]
    0059d394str x8, [sp+72]
    0059d398mov x3, x30
    0059d39cbl runtime.morestack_noctxt.abi0
    0059d3a0ldp x0, x1, [sp+8]
    0059d3a4ldp x2, x3, [sp+24]
    0059d3a8ldp x4, x5, [sp+40]
    0059d3acldp x6, x7, [sp+56]
    0059d3b0ldr x8, [sp+72]
    0059d3b4b 0x59d1b0
    0059d3b8udf 0
    0059d3bcudf 0
    0059d1b0
    0059d3c0
    0059d3c0crypto/internal/fips140/ed25519.SignCtx: ; void crypto/internal/fips140/ed25519.SignCtx(crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 message, struct string context)
    0059d3c0ldr x16, [x28+16]
    0059d3c4sub x17, sp, 112
    0059d3c8subs xzr, x17, x16
    0059d3ccb.ls 0x59d4d4
    0059d3d0str x30, [sp-240]!
    0059d3d4stur x29, [sp-8]
    0059d3d8sub x29, sp, 8
    0059d3dcstr x0, [sp+248]
    0059d3e0str x1, [sp+256]
    0059d3e4str x2, [sp+264]
    0059d3e8str x3, [sp+272]
    0059d3ecstr x4, [sp+280]
    0059d3f0str x5, [sp+288]
    0059d3f4str xzr, [sp+104]
    0059d3f8stp xzr, xzr, [sp+112]
    0059d3fcstp xzr, xzr, [sp+88]
    0059d400adrp x0, 0x58000
    0059d404add x0, x0, 3072
    0059d408orr x1, xzr, 64
    0059d40cmov x2, x1
    0059d410bl runtime.makeslice
    0059d414str x0, [sp+128]
    0059d418orr x3, xzr, 64
    0059d41cstr x3, [sp+136]
    0059d420str x3, [sp+144]
    0059d424str xzr, [sp+168]
    0059d428stp xzr, xzr, [sp+176]
    0059d42cstp xzr, xzr, [sp+152]
    0059d430ldr x7, [sp+280]
    0059d434ldr x5, [sp+264]
    0059d438ldr x8, [sp+288]
    0059d43cldr x6, [sp+272]
    0059d440ldr x0, [sp+128]
    0059d444ldr x4, [sp+256]
    0059d448ldr x3, [sp+248]
    0059d44cldr x1, [sp+136]
    0059d450ldr x2, [sp+144]
    0059d454bl crypto/internal/fips140/ed25519.signCtx
    0059d458str x0, [sp+168]
    0059d45cstr x1, [sp+176]
    0059d460str x2, [sp+184]
    0059d464str x3, [sp+152]
    0059d468str x4, [sp+160]
    0059d46cldr x3, [sp+168]
    0059d470ldr x4, [sp+176]
    0059d474ldr x5, [sp+184]
    0059d478str x3, [sp+208]
    0059d47cstr x4, [sp+216]
    0059d480str x5, [sp+224]
    0059d484ldr x3, [sp+152]
    0059d488ldr x4, [sp+160]
    0059d48cstr x3, [sp+192]
    0059d490str x4, [sp+200]
    0059d494ldr x3, [sp+208]
    0059d498ldr x4, [sp+216]
    0059d49cldr x5, [sp+224]
    0059d4a0str x3, [sp+104]
    0059d4a4str x4, [sp+112]
    0059d4a8str x5, [sp+120]
    0059d4acldr x3, [sp+192]
    0059d4b0ldr x4, [sp+200]
    0059d4b4str x3, [sp+88]
    0059d4b8str x4, [sp+96]
    0059d4bcldr x0, [sp+104]
    0059d4c0ldr x1, [sp+112]
    0059d4c4ldr x2, [sp+120]
    0059d4c8ldur x29, [sp-8]
    0059d4ccldr x30, [sp], 240
    0059d4d0ret x30
    0059d4d4
    0059d4d4loc_59d4d4:
    0059d4d4stp x0, x1, [sp+8]
    0059d4d8stp x2, x3, [sp+24]
    0059d4dcstp x4, x5, [sp+40]
    0059d4e0mov x3, x30
    0059d4e4bl runtime.morestack_noctxt.abi0
    0059d4e8ldp x0, x1, [sp+8]
    0059d4ecldp x2, x3, [sp+24]
    0059d4f0ldp x4, x5, [sp+40]
    0059d4f4b 0x59d3c0
    0059d4f8udf 0
    0059d4fcudf 0
    0059d3c0
    0059d500
    0059d500crypto/internal/fips140/ed25519.signCtx: ; void crypto/internal/fips140/ed25519.signCtx(struct []uint8 signature, crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 message, struct string context)
    0059d500ldr x16, [x28+16]
    0059d504sub x17, sp, 96
    0059d508subs xzr, x17, x16
    0059d50cb.ls 0x59d650
    0059d510str x30, [sp-224]!
    0059d514stur x29, [sp-8]
    0059d518sub x29, sp, 8
    0059d51cstr x0, [sp+232]
    0059d520str x1, [sp+240]
    0059d524str x2, [sp+248]
    0059d528str x3, [sp+256]
    0059d52cstr x4, [sp+264]
    0059d530str x5, [sp+272]
    0059d534str x6, [sp+280]
    0059d538str x7, [sp+288]
    0059d53cstr x8, [sp+296]
    0059d540str xzr, [sp+120]
    0059d544stp xzr, xzr, [sp+128]
    0059d548stp xzr, xzr, [sp+104]
    0059d54cadrp x27, 0x484000
    0059d550ldr x26, [x27+384]
    0059d554ldr x0, [x26]
    0059d558blr x0
    0059d55cbl crypto/internal/fips140.RecordNonApproved
    0059d560ldr x0, [sp+296]
    0059d564str x0, [sp+96]
    0059d568subs xzr, x0, 255
    0059d56cb.gt 0x59d574
    0059d570b 0x59d5e0
    0059d574
    0059d574loc_59d574:
    0059d574bl strconv.Itoa
    0059d578str x0, [sp+184]
    0059d57cstr x1, [sp+192]
    0059d580movz x2, 40
    0059d584mov x3, x0
    0059d588mov x4, x1
    0059d58cmov x0, xzr
    0059d590adrp x1, 0x127000
    0059d594add x1, x1, 2259
    0059d598bl runtime.concatstring2
    0059d59cstr x0, [sp+200]
    0059d5a0str x1, [sp+208]
    0059d5a4bl errors.New
    0059d5a8str x0, [sp+168]
    0059d5acstr x1, [sp+176]
    0059d5b0str xzr, [sp+120]
    0059d5b4stp xzr, xzr, [sp+128]
    0059d5b8ldr x3, [sp+168]
    0059d5bcldr x4, [sp+176]
    0059d5c0str x3, [sp+104]
    0059d5c4str x4, [sp+112]
    0059d5c8ldr x0, [sp+120]
    0059d5ccldr x1, [sp+128]
    0059d5d0ldr x2, [sp+136]
    0059d5d4ldur x29, [sp-8]
    0059d5d8ldr x30, [sp], 224
    0059d5dcret x30
    0059d5e0
    0059d5e0loc_59d5e0:
    0059d5e0ldr x9, [sp+288]
    0059d5e4ldr x5, [sp+272]
    0059d5e8ldr x10, [sp+296]
    0059d5ecldr x6, [sp+280]
    0059d5f0ldr x0, [sp+232]
    0059d5f4ldr x4, [sp+264]
    0059d5f8ldr x3, [sp+256]
    0059d5fcldr x1, [sp+240]
    0059d600ldr x2, [sp+248]
    0059d604adrp x7, 0x122000
    0059d608add x7, x7, 3081
    0059d60cmovz x8, 33
    0059d610bl crypto/internal/fips140/ed25519.signWithDom
    0059d614str x0, [sp+144]
    0059d618str x1, [sp+152]
    0059d61cstr x2, [sp+160]
    0059d620str x0, [sp+120]
    0059d624str x1, [sp+128]
    0059d628str x2, [sp+136]
    0059d62cstp xzr, xzr, [sp+104]
    0059d630ldr x0, [sp+120]
    0059d634ldr x1, [sp+128]
    0059d638ldr x2, [sp+136]
    0059d63cmov x3, xzr
    0059d640mov x4, xzr
    0059d644ldur x29, [sp-8]
    0059d648ldr x30, [sp], 224
    0059d64cret x30
    0059d650
    0059d650loc_59d650:
    0059d650stp x0, x1, [sp+8]
    0059d654stp x2, x3, [sp+24]
    0059d658stp x4, x5, [sp+40]
    0059d65cstp x6, x7, [sp+56]
    0059d660str x8, [sp+72]
    0059d664mov x3, x30
    0059d668bl runtime.morestack_noctxt.abi0
    0059d66cldp x0, x1, [sp+8]
    0059d670ldp x2, x3, [sp+24]
    0059d674ldp x4, x5, [sp+40]
    0059d678ldp x6, x7, [sp+56]
    0059d67cldr x8, [sp+72]
    0059d680b 0x59d500
    0059d684udf 0
    0059d688udf 0
    0059d68cudf 0
    0059d500
    0059d690
    0059d690crypto/internal/fips140/ed25519.signWithDom: ; void crypto/internal/fips140/ed25519.signWithDom(struct []uint8 signature, crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 message, struct string domPrefix, struct string context)
    0059d690ldr x16, [x28+16]
    0059d694sub x17, sp, 864
    0059d698subs xzr, x17, x16
    0059d69cb.ls 0x59dd84
    0059d6a0sub x20, sp, 992
    0059d6a4stp x29, x30, [x20-8]
    0059d6a8add sp, x20, 0
    0059d6acsub x29, sp, 8
    0059d6b0str x0, [sp+1000]
    0059d6b4str x1, [sp+1008]
    0059d6b8str x2, [sp+1016]
    0059d6bcstr x3, [sp+1024]
    0059d6c0str x4, [sp+1032]
    0059d6c4str x5, [sp+1040]
    0059d6c8str x6, [sp+1048]
    0059d6ccstr x7, [sp+1056]
    0059d6d0str x8, [sp+1064]
    0059d6d4str x9, [sp+1072]
    0059d6d8str x10, [sp+1080]
    0059d6dcstr xzr, [sp+512]
    0059d6e0add x27, sp, 520
    0059d6e4stp xzr, xzr, [x27]
    0059d6e8bl crypto/internal/fips140/sha512.New
    0059d6ecstr x0, [sp+544]
    0059d6f0ldr x0, [sp+1064]
    0059d6f4cbnz x0, 0x59d6fc
    0059d6f8b 0x59d7bc
    0059d6fc
    0059d6fcloc_59d6fc:
    0059d6fcldr x1, [sp+1056]
    0059d700ldr x2, [sp+1064]
    0059d704add x0, sp, 279
    0059d708bl runtime.stringtoslicebyte
    0059d70cstr x0, [sp+912]
    0059d710str x1, [sp+920]
    0059d714str x2, [sp+928]
    0059d718ldr x3, [sp+544]
    0059d71cmov x4, x0
    0059d720mov x0, x3
    0059d724mov x5, x1
    0059d728mov x1, x4
    0059d72cmov x6, x2
    0059d730mov x2, x5
    0059d734mov x3, x6
    0059d738bl crypto/internal/fips140/sha512.(*Digest).Write
    0059d73cldr x3, [sp+1080]
    0059d740str x3, [sp+504]
    0059d744strb wzr, [sp+311]
    0059d748add x3, sp, 311
    0059d74cstr x3, [sp+808]
    0059d750ldrsb x27, [x3]
    0059d754ldr x4, [sp+504]
    0059d758strb w4, [x3]
    0059d75cldr x1, [sp+808]
    0059d760ldrsb x27, [x1]
    0059d764b 0x59d768
    0059d768
    0059d768loc_59d768:
    0059d768str x1, [sp+816]
    0059d76corr x3, xzr, 1
    0059d770str x3, [sp+824]
    0059d774str x3, [sp+832]
    0059d778ldr x0, [sp+544]
    0059d77cmov x2, x3
    0059d780bl crypto/internal/fips140/sha512.(*Digest).Write
    0059d784ldr x1, [sp+1072]
    0059d788ldr x2, [sp+1080]
    0059d78cadd x0, sp, 247
    0059d790bl runtime.stringtoslicebyte
    0059d794str x0, [sp+912]
    0059d798str x1, [sp+920]
    0059d79cstr x2, [sp+928]
    0059d7a0ldr x4, [sp+544]
    0059d7a4mov x3, x2
    0059d7a8mov x2, x1
    0059d7acmov x1, x0
    0059d7b0mov x0, x4
    0059d7b4bl crypto/internal/fips140/sha512.(*Digest).Write
    0059d7b8b 0x59d7c0
    0059d7bc
    0059d7bcloc_59d7bc:
    0059d7bcb 0x59d7c0
    0059d7c0
    0059d7c0loc_59d7c0:
    0059d7c0ldr x4, [sp+1024]
    0059d7c4ldrsb x27, [x4]
    0059d7c8add x1, x4, 96
    0059d7ccldrsb x27, [x1]
    0059d7d0b 0x59d7d4
    0059d7d4
    0059d7d4loc_59d7d4:
    0059d7d4str x1, [sp+912]
    0059d7d8orr x3, xzr, 32
    0059d7dcstr x3, [sp+920]
    0059d7e0str x3, [sp+928]
    0059d7e4ldr x0, [sp+544]
    0059d7e8mov x2, x3
    0059d7ecbl crypto/internal/fips140/sha512.(*Digest).Write
    0059d7f0ldr x1, [sp+1032]
    0059d7f4ldr x2, [sp+1040]
    0059d7f8ldr x3, [sp+1048]
    0059d7fcldr x0, [sp+544]
    0059d800bl crypto/internal/fips140/sha512.(*Digest).Write
    0059d804b 0x59d808
    0059d808
    0059d808loc_59d808:
    0059d808add x27, sp, 183
    0059d80cstp xzr, xzr, [x27]
    0059d810add x27, sp, 199
    0059d814stp xzr, xzr, [x27]
    0059d818add x27, sp, 215
    0059d81cstp xzr, xzr, [x27]
    0059d820add x27, sp, 231
    0059d824stp xzr, xzr, [x27]
    0059d828add x1, sp, 183
    0059d82cldrsb x27, [x1]
    0059d830b 0x59d834
    0059d834
    0059d834loc_59d834:
    0059d834b 0x59d838
    0059d838
    0059d838loc_59d838:
    0059d838str x1, [sp+552]
    0059d83cstr xzr, [sp+560]
    0059d840orr x3, xzr, 64
    0059d844str x3, [sp+568]
    0059d848ldr x0, [sp+544]
    0059d84cmov x2, xzr
    0059d850bl crypto/internal/fips140/sha512.(*Digest).Sum
    0059d854str x0, [sp+552]
    0059d858str x1, [sp+560]
    0059d85cstr x2, [sp+568]
    0059d860bl crypto/internal/fips140/edwards25519.NewScalar
    0059d864str x0, [sp+904]
    0059d868str xzr, [sp+896]
    0059d86cadd x27, sp, 880
    0059d870stp xzr, xzr, [x27]
    0059d874ldr x1, [sp+552]
    0059d878ldr x2, [sp+560]
    0059d87cldr x3, [sp+568]
    0059d880ldr x0, [sp+904]
    0059d884bl crypto/internal/fips140/edwards25519.(*Scalar).SetUniformBytes
    0059d888str x0, [sp+896]
    0059d88cstr x1, [sp+880]
    0059d890str x2, [sp+888]
    0059d894ldr x4, [sp+896]
    0059d898str x4, [sp+976]
    0059d89cldr x4, [sp+880]
    0059d8a0ldr x5, [sp+888]
    0059d8a4str x4, [sp+960]
    0059d8a8str x5, [sp+968]
    0059d8acldr x4, [sp+976]
    0059d8b0str x4, [sp+536]
    0059d8b4ldr x4, [sp+968]
    0059d8b8ldr x5, [sp+960]
    0059d8bcstr x5, [sp+616]
    0059d8c0str x4, [sp+624]
    0059d8c4cbnz x5, 0x59dd54
    0059d8c8b 0x59d8cc
    0059d8cc
    0059d8ccloc_59d8cc:
    0059d8ccadd x20, sp, 344
    0059d8d0adr x27, 16
    0059d8d4stp x29, x27, [sp-24]
    0059d8d8sub x29, sp, 24
    0059d8dcbl fn_87ce8
    0059d8e0sub x29, sp, 8
    0059d8e4add x20, sp, 344
    0059d8e8str x20, [sp+792]
    0059d8ecldrsb x27, [x20]
    0059d8f0adr x27, 16
    0059d8f4stp x29, x27, [sp-24]
    0059d8f8sub x29, sp, 24
    0059d8fcbl fn_87ce8
    0059d900sub x29, sp, 8
    0059d904ldr x1, [sp+536]
    0059d908ldr x0, [sp+792]
    0059d90cbl crypto/internal/fips140/edwards25519.(*Point).ScalarBaseMult
    0059d910str x0, [sp+640]
    0059d914bl crypto/internal/fips140/sha512.New
    0059d918str x0, [sp+576]
    0059d91cldr x2, [sp+1064]
    0059d920cbnz x2, 0x59d928
    0059d924b 0x59d9e8
    0059d928
    0059d928loc_59d928:
    0059d928ldr x1, [sp+1056]
    0059d92cldr x2, [sp+1064]
    0059d930add x0, sp, 151
    0059d934bl runtime.stringtoslicebyte
    0059d938str x0, [sp+912]
    0059d93cstr x1, [sp+920]
    0059d940str x2, [sp+928]
    0059d944ldr x3, [sp+576]
    0059d948mov x4, x0
    0059d94cmov x0, x3
    0059d950mov x5, x1
    0059d954mov x1, x4
    0059d958mov x6, x2
    0059d95cmov x2, x5
    0059d960mov x3, x6
    0059d964bl crypto/internal/fips140/sha512.(*Digest).Write
    0059d968ldr x3, [sp+1080]
    0059d96cstr x3, [sp+504]
    0059d970strb wzr, [sp+311]
    0059d974add x3, sp, 311
    0059d978str x3, [sp+760]
    0059d97cldrsb x27, [x3]
    0059d980ldr x4, [sp+504]
    0059d984strb w4, [x3]
    0059d988ldr x1, [sp+760]
    0059d98cldrsb x27, [x1]
    0059d990b 0x59d994
    0059d994
    0059d994loc_59d994:
    0059d994str x1, [sp+768]
    0059d998orr x3, xzr, 1
    0059d99cstr x3, [sp+776]
    0059d9a0str x3, [sp+784]
    0059d9a4ldr x0, [sp+576]
    0059d9a8mov x2, x3
    0059d9acbl crypto/internal/fips140/sha512.(*Digest).Write
    0059d9b0ldr x1, [sp+1072]
    0059d9b4ldr x2, [sp+1080]
    0059d9b8add x0, sp, 119
    0059d9bcbl runtime.stringtoslicebyte
    0059d9c0str x0, [sp+912]
    0059d9c4str x1, [sp+920]
    0059d9c8str x2, [sp+928]
    0059d9ccldr x4, [sp+576]
    0059d9d0mov x3, x2
    0059d9d4mov x2, x1
    0059d9d8mov x1, x0
    0059d9dcmov x0, x4
    0059d9e0bl crypto/internal/fips140/sha512.(*Digest).Write
    0059d9e4b 0x59d9ec
    0059d9e8
    0059d9e8loc_59d9e8:
    0059d9e8b 0x59d9ec
    0059d9ec
    0059d9ecloc_59d9ec:
    0059d9ecldr x0, [sp+640]
    0059d9f0bl crypto/internal/fips140/edwards25519.(*Point).Bytes
    0059d9f4str x0, [sp+912]
    0059d9f8str x1, [sp+920]
    0059d9fcstr x2, [sp+928]
    0059da00ldr x3, [sp+576]
    0059da04mov x4, x0
    0059da08mov x0, x3
    0059da0cmov x5, x1
    0059da10mov x1, x4
    0059da14mov x6, x2
    0059da18mov x2, x5
    0059da1cmov x3, x6
    0059da20bl crypto/internal/fips140/sha512.(*Digest).Write
    0059da24ldr x1, [sp+1024]
    0059da28ldrsb x27, [x1]
    0059da2cadd x1, x1, 32
    0059da30ldrsb x27, [x1]
    0059da34b 0x59da38
    0059da38
    0059da38loc_59da38:
    0059da38str x1, [sp+912]
    0059da3corr x3, xzr, 32
    0059da40str x3, [sp+920]
    0059da44str x3, [sp+928]
    0059da48ldr x0, [sp+576]
    0059da4cmov x2, x3
    0059da50bl crypto/internal/fips140/sha512.(*Digest).Write
    0059da54ldr x1, [sp+1032]
    0059da58ldr x2, [sp+1040]
    0059da5cldr x3, [sp+1048]
    0059da60ldr x0, [sp+576]
    0059da64bl crypto/internal/fips140/sha512.(*Digest).Write
    0059da68b 0x59da6c
    0059da6c
    0059da6cloc_59da6c:
    0059da6cadd x27, sp, 55
    0059da70stp xzr, xzr, [x27]
    0059da74add x27, sp, 71
    0059da78stp xzr, xzr, [x27]
    0059da7cadd x27, sp, 87
    0059da80stp xzr, xzr, [x27]
    0059da84add x27, sp, 103
    0059da88stp xzr, xzr, [x27]
    0059da8cadd x1, sp, 55
    0059da90ldrsb x27, [x1]
    0059da94b 0x59da98
    0059da98
    0059da98loc_59da98:
    0059da98b 0x59da9c
    0059da9c
    0059da9cloc_59da9c:
    0059da9cstr x1, [sp+592]
    0059daa0str xzr, [sp+600]
    0059daa4orr x3, xzr, 64
    0059daa8str x3, [sp+608]
    0059daacldr x0, [sp+576]
    0059dab0mov x2, xzr
    0059dab4bl crypto/internal/fips140/sha512.(*Digest).Sum
    0059dab8str x0, [sp+592]
    0059dabcstr x1, [sp+600]
    0059dac0str x2, [sp+608]
    0059dac4bl crypto/internal/fips140/edwards25519.NewScalar
    0059dac8str x0, [sp+896]
    0059daccstr xzr, [sp+904]
    0059dad0add x27, sp, 880
    0059dad4stp xzr, xzr, [x27]
    0059dad8ldr x1, [sp+592]
    0059dadcldr x2, [sp+600]
    0059dae0ldr x3, [sp+608]
    0059dae4ldr x0, [sp+896]
    0059dae8bl crypto/internal/fips140/edwards25519.(*Scalar).SetUniformBytes
    0059daecstr x0, [sp+904]
    0059daf0str x1, [sp+880]
    0059daf4str x2, [sp+888]
    0059daf8ldr x4, [sp+904]
    0059dafcstr x4, [sp+952]
    0059db00ldr x4, [sp+880]
    0059db04ldr x5, [sp+888]
    0059db08str x4, [sp+936]
    0059db0cstr x5, [sp+944]
    0059db10ldr x4, [sp+952]
    0059db14str x4, [sp+584]
    0059db18ldr x4, [sp+944]
    0059db1cldr x5, [sp+936]
    0059db20str x5, [sp+616]
    0059db24str x4, [sp+624]
    0059db28cbnz x5, 0x59dd28
    0059db2cb 0x59db30
    0059db30
    0059db30loc_59db30:
    0059db30bl crypto/internal/fips140/edwards25519.NewScalar
    0059db34str x0, [sp+904]
    0059db38ldr x0, [sp+1024]
    0059db3cldrsb x27, [x0]
    0059db40add x2, x0, 64
    0059db44str x2, [sp+744]
    0059db48ldr x1, [sp+584]
    0059db4cldr x3, [sp+536]
    0059db50ldr x0, [sp+904]
    0059db54bl crypto/internal/fips140/edwards25519.(*Scalar).MultiplyAdd
    0059db58str x0, [sp+632]
    0059db5cldr x2, [sp+1016]
    0059db60ldr x0, [sp+1000]
    0059db64subs xzr, x2, 32
    0059db68b.hs 0x59db70
    0059db6cb 0x59dd20
    0059db70
    0059db70loc_59db70:
    0059db70b 0x59db74
    0059db74
    0059db74loc_59db74:
    0059db74str x0, [sp+912]
    0059db78orr x1, xzr, 32
    0059db7cstr x1, [sp+920]
    0059db80str x2, [sp+928]
    0059db84ldr x0, [sp+640]
    0059db88bl crypto/internal/fips140/edwards25519.(*Point).Bytes
    0059db8cstr x0, [sp+840]
    0059db90str x1, [sp+848]
    0059db94str x2, [sp+856]
    0059db98ldr x1, [sp+912]
    0059db9cldr x2, [sp+920]
    0059dba0ldr x3, [sp+928]
    0059dba4str x1, [sp+720]
    0059dba8str x2, [sp+728]
    0059dbacstr x3, [sp+736]
    0059dbb0ldr x1, [sp+848]
    0059dbb4ldr x2, [sp+840]
    0059dbb8ldr x3, [sp+856]
    0059dbbcstr x2, [sp+696]
    0059dbc0str x1, [sp+704]
    0059dbc4str x3, [sp+712]
    0059dbc8ldr x2, [sp+728]
    0059dbccstr x2, [sp+336]
    0059dbd0subs xzr, x2, x1
    0059dbd4b.gt 0x59dbdc
    0059dbd8b 0x59dbe4
    0059dbdc
    0059dbdcloc_59dbdc:
    0059dbdcstr x1, [sp+336]
    0059dbe0b 0x59dbe8
    0059dbe4
    0059dbe4loc_59dbe4:
    0059dbe4b 0x59dbe8
    0059dbe8
    0059dbe8loc_59dbe8:
    0059dbe8ldr x3, [sp+696]
    0059dbecldr x4, [sp+720]
    0059dbf0subs xzr, x3, x4
    0059dbf4b.ne 0x59dbfc
    0059dbf8b 0x59dc18
    0059dbfc
    0059dbfcloc_59dbfc:
    0059dbfcldr x3, [sp+336]
    0059dc00str x3, [sp+328]
    0059dc04ldr x2, [sp+328]
    0059dc08ldr x1, [sp+696]
    0059dc0cldr x0, [sp+720]
    0059dc10bl runtime.memmove
    0059dc14b 0x59dc1c
    0059dc18
    0059dc18loc_59dc18:
    0059dc18b 0x59dc1c
    0059dc1c
    0059dc1cloc_59dc1c:
    0059dc1cldr x1, [sp+1008]
    0059dc20ldr x2, [sp+1000]
    0059dc24ldr x3, [sp+1016]
    0059dc28b 0x59dc2c
    0059dc2c
    0059dc2cloc_59dc2c:
    0059dc2csubs xzr, x1, 32
    0059dc30b.hs 0x59dc38
    0059dc34b 0x59dd18
    0059dc38
    0059dc38loc_59dc38:
    0059dc38sub x3, x3, 32
    0059dc3csub x4, xzr, x3
    0059dc40sub x1, x1, 32
    0059dc44sbfm x4, x4, 63, 63
    0059dc48and x4, x4, 32
    0059dc4cadd x2, x2, x4
    0059dc50str x2, [sp+840]
    0059dc54str x1, [sp+848]
    0059dc58str x3, [sp+856]
    0059dc5cldr x0, [sp+632]
    0059dc60bl crypto/internal/fips140/edwards25519.(*Scalar).Bytes
    0059dc64str x0, [sp+912]
    0059dc68str x1, [sp+920]
    0059dc6cstr x2, [sp+928]
    0059dc70ldr x1, [sp+840]
    0059dc74ldr x2, [sp+848]
    0059dc78ldr x3, [sp+856]
    0059dc7cstr x1, [sp+672]
    0059dc80str x2, [sp+680]
    0059dc84str x3, [sp+688]
    0059dc88ldr x1, [sp+920]
    0059dc8cldr x2, [sp+912]
    0059dc90ldr x3, [sp+928]
    0059dc94str x2, [sp+648]
    0059dc98str x1, [sp+656]
    0059dc9cstr x3, [sp+664]
    0059dca0ldr x2, [sp+680]
    0059dca4str x2, [sp+320]
    0059dca8subs xzr, x2, x1
    0059dcacb.gt 0x59dcb4
    0059dcb0b 0x59dcbc
    0059dcb4
    0059dcb4loc_59dcb4:
    0059dcb4str x1, [sp+320]
    0059dcb8b 0x59dcc0
    0059dcbc
    0059dcbcloc_59dcbc:
    0059dcbcb 0x59dcc0
    0059dcc0
    0059dcc0loc_59dcc0:
    0059dcc0ldr x3, [sp+648]
    0059dcc4ldr x4, [sp+672]
    0059dcc8subs xzr, x3, x4
    0059dcccb.ne 0x59dcd4
    0059dcd0b 0x59dcf0
    0059dcd4
    0059dcd4loc_59dcd4:
    0059dcd4ldr x3, [sp+320]
    0059dcd8str x3, [sp+312]
    0059dcdcldr x2, [sp+312]
    0059dce0ldr x1, [sp+648]
    0059dce4ldr x0, [sp+672]
    0059dce8bl runtime.memmove
    0059dcecb 0x59dcf4
    0059dcf0
    0059dcf0loc_59dcf0:
    0059dcf0b 0x59dcf4
    0059dcf4
    0059dcf4loc_59dcf4:
    0059dcf4ldr x0, [sp+1000]
    0059dcf8ldr x1, [sp+1008]
    0059dcfcldr x2, [sp+1016]
    0059dd00str x0, [sp+512]
    0059dd04str x1, [sp+520]
    0059dd08str x2, [sp+528]
    0059dd0cldp x29, x30, [sp-8]
    0059dd10add sp, sp, 992
    0059dd14ret x30
    0059dd18
    0059dd18loc_59dd18:
    0059dd18orr x0, xzr, 32
    0059dd1cbl runtime.panicSliceB
    0059dd20
    0059dd20loc_59dd20:
    0059dd20orr x1, xzr, 32
    0059dd24bl runtime.panicSliceAcap
    0059dd28
    0059dd28loc_59dd28:
    0059dd28adrp x0, 0x12a000
    0059dd2cadd x0, x0, 2825
    0059dd30str x0, [sp+864]
    0059dd34movz x1, 46
    0059dd38str x1, [sp+872]
    0059dd3cbl runtime.convTstring
    0059dd40str x0, [sp+752]
    0059dd44mov x1, x0
    0059dd48adrp x0, 0x58000
    0059dd4cadd x0, x0, 2944
    0059dd50bl runtime.gopanic
    0059dd54
    0059dd54loc_59dd54:
    0059dd54adrp x0, 0x12a000
    0059dd58add x0, x0, 2825
    0059dd5cstr x0, [sp+864]
    0059dd60movz x1, 46
    0059dd64str x1, [sp+872]
    0059dd68bl runtime.convTstring
    0059dd6cstr x0, [sp+800]
    0059dd70mov x1, x0
    0059dd74adrp x0, 0x58000
    0059dd78add x0, x0, 2944
    0059dd7cbl runtime.gopanic
    0059dd80hint
    0059dd84
    0059dd84loc_59dd84:
    0059dd84stp x0, x1, [sp+8]
    0059dd88stp x2, x3, [sp+24]
    0059dd8cstp x4, x5, [sp+40]
    0059dd90stp x6, x7, [sp+56]
    0059dd94stp x8, x9, [sp+72]
    0059dd98str x10, [sp+88]
    0059dd9cmov x3, x30
    0059dda0bl runtime.morestack_noctxt.abi0
    0059dda4ldp x0, x1, [sp+8]
    0059dda8ldp x2, x3, [sp+24]
    0059ddacldp x4, x5, [sp+40]
    0059ddb0ldp x6, x7, [sp+56]
    0059ddb4ldp x8, x9, [sp+72]
    0059ddb8ldr x10, [sp+88]
    0059ddbcb 0x59d690
    0059d690
    0059ddc0
    0059ddc0crypto/internal/fips140/ed25519.Verify: ; void crypto/internal/fips140/ed25519.Verify(crypto/internal/fips140/ed25519.PublicKey * pub, struct []uint8 message, struct []uint8 sig)
    0059ddc0ldr x16, [x28+16]
    0059ddc4subs xzr, sp, x16
    0059ddc8b.ls 0x59de34
    0059ddccstr x30, [sp-112]!
    0059ddd0stur x29, [sp-8]
    0059ddd4sub x29, sp, 8
    0059ddd8str x0, [sp+120]
    0059dddcstr x1, [sp+128]
    0059dde0str x2, [sp+136]
    0059dde4str x3, [sp+144]
    0059dde8str x4, [sp+152]
    0059ddecstr x5, [sp+160]
    0059ddf0str x6, [sp+168]
    0059ddf4stp xzr, xzr, [sp+72]
    0059ddf8ldr x1, [sp+128]
    0059ddfcldr x4, [sp+152]
    0059de00ldr x2, [sp+136]
    0059de04ldr x5, [sp+160]
    0059de08ldr x3, [sp+144]
    0059de0cldr x6, [sp+168]
    0059de10ldr x0, [sp+120]
    0059de14bl crypto/internal/fips140/ed25519.verify
    0059de18str x0, [sp+88]
    0059de1cstr x1, [sp+96]
    0059de20str x0, [sp+72]
    0059de24str x1, [sp+80]
    0059de28ldur x29, [sp-8]
    0059de2cldr x30, [sp], 112
    0059de30ret x30
    0059de34
    0059de34loc_59de34:
    0059de34stp x0, x1, [sp+8]
    0059de38stp x2, x3, [sp+24]
    0059de3cstp x4, x5, [sp+40]
    0059de40str x6, [sp+56]
    0059de44mov x3, x30
    0059de48bl runtime.morestack_noctxt.abi0
    0059de4cldp x0, x1, [sp+8]
    0059de50ldp x2, x3, [sp+24]
    0059de54ldp x4, x5, [sp+40]
    0059de58ldr x6, [sp+56]
    0059de5cb 0x59ddc0
    0059ddc0
    0059de60
    0059de60crypto/internal/fips140/ed25519.verify: ; void crypto/internal/fips140/ed25519.verify(crypto/internal/fips140/ed25519.PublicKey * pub, struct []uint8 message, struct []uint8 sig)
    0059de60ldr x16, [x28+16]
    0059de64sub x17, sp, 16
    0059de68subs xzr, x17, x16
    0059de6cb.ls 0x59defc
    0059de70str x30, [sp-144]!
    0059de74stur x29, [sp-8]
    0059de78sub x29, sp, 8
    0059de7cstr x0, [sp+152]
    0059de80str x1, [sp+160]
    0059de84str x2, [sp+168]
    0059de88str x3, [sp+176]
    0059de8cstr x4, [sp+184]
    0059de90str x5, [sp+192]
    0059de94str x6, [sp+200]
    0059de98stp xzr, xzr, [sp+104]
    0059de9cadrp x27, 0x484000
    0059dea0ldr x26, [x27+384]
    0059dea4ldr x0, [x26]
    0059dea8blr x0
    0059deacbl crypto/internal/fips140.RecordApproved
    0059deb0ldr x1, [sp+160]
    0059deb4ldr x4, [sp+184]
    0059deb8ldr x2, [sp+168]
    0059debcldr x5, [sp+192]
    0059dec0ldr x3, [sp+176]
    0059dec4ldr x6, [sp+200]
    0059dec8ldr x0, [sp+152]
    0059deccmov x7, xzr
    0059ded0mov x8, xzr
    0059ded4mov x9, x7
    0059ded8mov x10, x8
    0059dedcbl crypto/internal/fips140/ed25519.verifyWithDom
    0059dee0str x0, [sp+120]
    0059dee4str x1, [sp+128]
    0059dee8str x0, [sp+104]
    0059deecstr x1, [sp+112]
    0059def0ldur x29, [sp-8]
    0059def4ldr x30, [sp], 144
    0059def8ret x30
    0059defc
    0059defcloc_59defc:
    0059defcstp x0, x1, [sp+8]
    0059df00stp x2, x3, [sp+24]
    0059df04stp x4, x5, [sp+40]
    0059df08str x6, [sp+56]
    0059df0cmov x3, x30
    0059df10bl runtime.morestack_noctxt.abi0
    0059df14ldp x0, x1, [sp+8]
    0059df18ldp x2, x3, [sp+24]
    0059df1cldp x4, x5, [sp+40]
    0059df20ldr x6, [sp+56]
    0059df24b 0x59de60
    0059df28udf 0
    0059df2cudf 0
    0059de60
    0059df30
    0059df30crypto/internal/fips140/ed25519.VerifyPH: ; void crypto/internal/fips140/ed25519.VerifyPH(crypto/internal/fips140/ed25519.PublicKey * pub, struct []uint8 message, struct []uint8 sig, struct string context)
    0059df30ldr x16, [x28+16]
    0059df34sub x17, sp, 80
    0059df38subs xzr, x17, x16
    0059df3cb.ls 0x59e0a0
    0059df40str x30, [sp-208]!
    0059df44stur x29, [sp-8]
    0059df48sub x29, sp, 8
    0059df4cstr x0, [sp+216]
    0059df50str x1, [sp+224]
    0059df54str x2, [sp+232]
    0059df58str x3, [sp+240]
    0059df5cstr x4, [sp+248]
    0059df60str x5, [sp+256]
    0059df64str x6, [sp+264]
    0059df68str x7, [sp+272]
    0059df6cstr x8, [sp+280]
    0059df70stp xzr, xzr, [sp+120]
    0059df74adrp x27, 0x484000
    0059df78ldr x26, [x27+384]
    0059df7cldr x0, [x26]
    0059df80blr x0
    0059df84bl crypto/internal/fips140.RecordApproved
    0059df88ldr x0, [sp+232]
    0059df8cstr x0, [sp+112]
    0059df90subs xzr, x0, 64
    0059df94b.ne 0x59df9c
    0059df98b 0x59dfec
    0059df9c
    0059df9cloc_59df9c:
    0059df9cbl strconv.Itoa
    0059dfa0str x0, [sp+168]
    0059dfa4str x1, [sp+176]
    0059dfa8movz x2, 44
    0059dfacmov x3, x0
    0059dfb0mov x4, x1
    0059dfb4mov x0, xzr
    0059dfb8adrp x1, 0x129000
    0059dfbcadd x1, x1, 2740
    0059dfc0bl runtime.concatstring2
    0059dfc4str x0, [sp+136]
    0059dfc8str x1, [sp+144]
    0059dfccbl errors.New
    0059dfd0str x0, [sp+152]
    0059dfd4str x1, [sp+160]
    0059dfd8str x0, [sp+120]
    0059dfdcstr x1, [sp+128]
    0059dfe0ldur x29, [sp-8]
    0059dfe4ldr x30, [sp], 208
    0059dfe8ret x30
    0059dfec
    0059dfecloc_59dfec:
    0059dfecldr x0, [sp+280]
    0059dff0str x0, [sp+104]
    0059dff4subs xzr, x0, 255
    0059dff8b.gt 0x59e000
    0059dffcb 0x59e050
    0059e000
    0059e000loc_59e000:
    0059e000bl strconv.Itoa
    0059e004str x0, [sp+168]
    0059e008str x1, [sp+176]
    0059e00cmovz x2, 39
    0059e010mov x3, x0
    0059e014mov x4, x1
    0059e018mov x0, xzr
    0059e01cadrp x1, 0x125000
    0059e020add x1, x1, 3640
    0059e024bl runtime.concatstring2
    0059e028str x0, [sp+184]
    0059e02cstr x1, [sp+192]
    0059e030bl errors.New
    0059e034str x0, [sp+152]
    0059e038str x1, [sp+160]
    0059e03cstr x0, [sp+120]
    0059e040str x1, [sp+128]
    0059e044ldur x29, [sp-8]
    0059e048ldr x30, [sp], 208
    0059e04cret x30
    0059e050
    0059e050loc_59e050:
    0059e050ldr x1, [sp+224]
    0059e054ldr x4, [sp+248]
    0059e058ldr x9, [sp+272]
    0059e05cldr x2, [sp+232]
    0059e060ldr x5, [sp+256]
    0059e064ldr x10, [sp+280]
    0059e068ldr x3, [sp+240]
    0059e06cldr x6, [sp+264]
    0059e070ldr x0, [sp+216]
    0059e074adrp x7, 0x121000
    0059e078add x7, x7, 3048
    0059e07cmovz x8, 33
    0059e080bl crypto/internal/fips140/ed25519.verifyWithDom
    0059e084str x0, [sp+152]
    0059e088str x1, [sp+160]
    0059e08cstr x0, [sp+120]
    0059e090str x1, [sp+128]
    0059e094ldur x29, [sp-8]
    0059e098ldr x30, [sp], 208
    0059e09cret x30
    0059e0a0
    0059e0a0loc_59e0a0:
    0059e0a0stp x0, x1, [sp+8]
    0059e0a4stp x2, x3, [sp+24]
    0059e0a8stp x4, x5, [sp+40]
    0059e0acstp x6, x7, [sp+56]
    0059e0b0str x8, [sp+72]
    0059e0b4mov x3, x30
    0059e0b8bl runtime.morestack_noctxt.abi0
    0059e0bcldp x0, x1, [sp+8]
    0059e0c0ldp x2, x3, [sp+24]
    0059e0c4ldp x4, x5, [sp+40]
    0059e0c8ldp x6, x7, [sp+56]
    0059e0ccldr x8, [sp+72]
    0059e0d0b 0x59df30
    0059e0d4udf 0
    0059e0d8udf 0
    0059e0dcudf 0
    0059df30
    0059e0e0
    0059e0e0crypto/internal/fips140/ed25519.VerifyCtx: ; void crypto/internal/fips140/ed25519.VerifyCtx(crypto/internal/fips140/ed25519.PublicKey * pub, struct []uint8 message, struct []uint8 sig, struct string context)
    0059e0e0ldr x16, [x28+16]
    0059e0e4sub x17, sp, 48
    0059e0e8subs xzr, x17, x16
    0059e0ecb.ls 0x59e1ec
    0059e0f0str x30, [sp-176]!
    0059e0f4stur x29, [sp-8]
    0059e0f8sub x29, sp, 8
    0059e0fcstr x0, [sp+184]
    0059e100str x1, [sp+192]
    0059e104str x2, [sp+200]
    0059e108str x3, [sp+208]
    0059e10cstr x4, [sp+216]
    0059e110str x5, [sp+224]
    0059e114str x6, [sp+232]
    0059e118str x7, [sp+240]
    0059e11cstr x8, [sp+248]
    0059e120stp xzr, xzr, [sp+104]
    0059e124adrp x27, 0x483000
    0059e128ldr x26, [x27+384]
    0059e12cldr x0, [x26]
    0059e130blr x0
    0059e134bl crypto/internal/fips140.RecordNonApproved
    0059e138ldr x0, [sp+248]
    0059e13cstr x0, [sp+96]
    0059e140subs xzr, x0, 255
    0059e144b.gt 0x59e14c
    0059e148b 0x59e19c
    0059e14c
    0059e14cloc_59e14c:
    0059e14cbl strconv.Itoa
    0059e150str x0, [sp+152]
    0059e154str x1, [sp+160]
    0059e158movz x2, 40
    0059e15cmov x3, x0
    0059e160mov x4, x1
    0059e164mov x0, xzr
    0059e168adrp x1, 0x126000
    0059e16cadd x1, x1, 2259
    0059e170bl runtime.concatstring2
    0059e174str x0, [sp+120]
    0059e178str x1, [sp+128]
    0059e17cbl errors.New
    0059e180str x0, [sp+136]
    0059e184str x1, [sp+144]
    0059e188str x0, [sp+104]
    0059e18cstr x1, [sp+112]
    0059e190ldur x29, [sp-8]
    0059e194ldr x30, [sp], 176
    0059e198ret x30
    0059e19c
    0059e19cloc_59e19c:
    0059e19cldr x1, [sp+192]
    0059e1a0ldr x4, [sp+216]
    0059e1a4ldr x9, [sp+240]
    0059e1a8ldr x2, [sp+200]
    0059e1acldr x5, [sp+224]
    0059e1b0ldr x10, [sp+248]
    0059e1b4ldr x3, [sp+208]
    0059e1b8ldr x6, [sp+232]
    0059e1bcldr x0, [sp+184]
    0059e1c0adrp x7, 0x121000
    0059e1c4add x7, x7, 3081
    0059e1c8movz x8, 33
    0059e1ccbl crypto/internal/fips140/ed25519.verifyWithDom
    0059e1d0str x0, [sp+136]
    0059e1d4str x1, [sp+144]
    0059e1d8str x0, [sp+104]
    0059e1dcstr x1, [sp+112]
    0059e1e0ldur x29, [sp-8]
    0059e1e4ldr x30, [sp], 176
    0059e1e8ret x30
    0059e1ec
    0059e1ecloc_59e1ec:
    0059e1ecstp x0, x1, [sp+8]
    0059e1f0stp x2, x3, [sp+24]
    0059e1f4stp x4, x5, [sp+40]
    0059e1f8stp x6, x7, [sp+56]
    0059e1fcstr x8, [sp+72]
    0059e200mov x3, x30
    0059e204bl runtime.morestack_noctxt.abi0
    0059e208ldp x0, x1, [sp+8]
    0059e20cldp x2, x3, [sp+24]
    0059e210ldp x4, x5, [sp+40]
    0059e214ldp x6, x7, [sp+56]
    0059e218ldr x8, [sp+72]
    0059e21cb 0x59e0e0
    0059e0e0
    0059e220
    0059e220crypto/internal/fips140/ed25519.verifyWithDom: ; void crypto/internal/fips140/ed25519.verifyWithDom(crypto/internal/fips140/ed25519.PublicKey * pub, struct []uint8 message, struct []uint8 sig, struct string domPrefix, struct string context)
    0059e220ldr x16, [x28+16]
    0059e224sub x17, sp, 736
    0059e228subs xzr, x17, x16
    0059e22cb.ls 0x59e7d0
    0059e230sub x20, sp, 864
    0059e234stp x29, x30, [x20-8]
    0059e238add sp, x20, 0
    0059e23csub x29, sp, 8
    0059e240str x0, [sp+872]
    0059e244str x1, [sp+880]
    0059e248str x2, [sp+888]
    0059e24cstr x3, [sp+896]
    0059e250str x4, [sp+904]
    0059e254str x5, [sp+912]
    0059e258str x6, [sp+920]
    0059e25cstr x7, [sp+928]
    0059e260str x8, [sp+936]
    0059e264str x9, [sp+944]
    0059e268str x10, [sp+952]
    0059e26cadd x27, sp, 536
    0059e270stp xzr, xzr, [x27]
    0059e274ldr x0, [sp+912]
    0059e278str x0, [sp+200]
    0059e27csubs xzr, x0, 64
    0059e280b.ne 0x59e288
    0059e284b 0x59e2d8
    0059e288
    0059e288loc_59e288:
    0059e288bl strconv.Itoa
    0059e28cstr x0, [sp+792]
    0059e290str x1, [sp+800]
    0059e294orr x2, xzr, 31
    0059e298mov x3, x0
    0059e29cmov x4, x1
    0059e2a0mov x0, xzr
    0059e2a4adrp x1, 0x120000
    0059e2a8add x1, x1, 723
    0059e2acbl runtime.concatstring2
    0059e2b0str x0, [sp+696]
    0059e2b4str x1, [sp+704]
    0059e2b8bl errors.New
    0059e2bcstr x0, [sp+776]
    0059e2c0str x1, [sp+784]
    0059e2c4str x0, [sp+536]
    0059e2c8str x1, [sp+544]
    0059e2ccldp x29, x30, [sp-8]
    0059e2d0add sp, sp, 864
    0059e2d4ret x30
    0059e2d8
    0059e2d8loc_59e2d8:
    0059e2d8ldr x1, [sp+912]
    0059e2dcldr x2, [sp+904]
    0059e2e0subs xzr, x1, 63
    0059e2e4b.hi 0x59e2ec
    0059e2e8b 0x59e7c4
    0059e2ec
    0059e2ecloc_59e2ec:
    0059e2ecldrb w2, [x2+63]
    0059e2f0ands wzr, w2, 224
    0059e2f4b.ne 0x59e2fc
    0059e2f8b 0x59e328
    0059e2fc
    0059e2fcloc_59e2fc:
    0059e2fcadrp x0, 0x11c000
    0059e300add x0, x0, 2801
    0059e304movz x1, 26
    0059e308bl errors.New
    0059e30cstr x0, [sp+776]
    0059e310str x1, [sp+784]
    0059e314str x0, [sp+536]
    0059e318str x1, [sp+544]
    0059e31cldp x29, x30, [sp-8]
    0059e320add sp, sp, 864
    0059e324ret x30
    0059e328
    0059e328loc_59e328:
    0059e328bl crypto/internal/fips140/sha512.New
    0059e32cstr x0, [sp+560]
    0059e330ldr x0, [sp+936]
    0059e334cbnz x0, 0x59e33c
    0059e338b 0x59e3fc
    0059e33c
    0059e33cloc_59e33c:
    0059e33cldr x1, [sp+928]
    0059e340ldr x2, [sp+936]
    0059e344add x0, sp, 166
    0059e348bl runtime.stringtoslicebyte
    0059e34cstr x0, [sp+752]
    0059e350str x1, [sp+760]
    0059e354str x2, [sp+768]
    0059e358ldr x3, [sp+560]
    0059e35cmov x4, x0
    0059e360mov x0, x3
    0059e364mov x5, x1
    0059e368mov x1, x4
    0059e36cmov x6, x2
    0059e370mov x2, x5
    0059e374mov x3, x6
    0059e378bl crypto/internal/fips140/sha512.(*Digest).Write
    0059e37cldr x3, [sp+952]
    0059e380str x3, [sp+528]
    0059e384strb wzr, [sp+199]
    0059e388add x3, sp, 199
    0059e38cstr x3, [sp+664]
    0059e390ldrsb x27, [x3]
    0059e394ldr x4, [sp+528]
    0059e398strb w4, [x3]
    0059e39cldr x1, [sp+664]
    0059e3a0ldrsb x27, [x1]
    0059e3a4b 0x59e3a8
    0059e3a8
    0059e3a8loc_59e3a8:
    0059e3a8str x1, [sp+672]
    0059e3acorr x3, xzr, 1
    0059e3b0str x3, [sp+680]
    0059e3b4str x3, [sp+688]
    0059e3b8ldr x0, [sp+560]
    0059e3bcmov x2, x3
    0059e3c0bl crypto/internal/fips140/sha512.(*Digest).Write
    0059e3c4ldr x1, [sp+944]
    0059e3c8ldr x2, [sp+952]
    0059e3ccadd x0, sp, 134
    0059e3d0bl runtime.stringtoslicebyte
    0059e3d4str x0, [sp+752]
    0059e3d8str x1, [sp+760]
    0059e3dcstr x2, [sp+768]
    0059e3e0ldr x4, [sp+560]
    0059e3e4mov x3, x2
    0059e3e8mov x2, x1
    0059e3ecmov x1, x0
    0059e3f0mov x0, x4
    0059e3f4bl crypto/internal/fips140/sha512.(*Digest).Write
    0059e3f8b 0x59e400
    0059e3fc
    0059e3fcloc_59e3fc:
    0059e3fcb 0x59e400
    0059e400
    0059e400loc_59e400:
    0059e400ldr x2, [sp+920]
    0059e404ldr x1, [sp+904]
    0059e408subs xzr, x2, 32
    0059e40cb.hs 0x59e414
    0059e410b 0x59e7bc
    0059e414
    0059e414loc_59e414:
    0059e414b 0x59e418
    0059e418
    0059e418loc_59e418:
    0059e418str x1, [sp+752]
    0059e41corr x4, xzr, 32
    0059e420str x4, [sp+760]
    0059e424str x2, [sp+768]
    0059e428ldr x0, [sp+560]
    0059e42cmov x3, x2
    0059e430mov x2, x4
    0059e434bl crypto/internal/fips140/sha512.(*Digest).Write
    0059e438ldr x4, [sp+872]
    0059e43cldrsb x27, [x4]
    0059e440add x1, x4, 160
    0059e444ldrsb x27, [x1]
    0059e448b 0x59e44c
    0059e44c
    0059e44cloc_59e44c:
    0059e44cstr x1, [sp+752]
    0059e450orr x3, xzr, 32
    0059e454str x3, [sp+760]
    0059e458str x3, [sp+768]
    0059e45cldr x0, [sp+560]
    0059e460mov x2, x3
    0059e464bl crypto/internal/fips140/sha512.(*Digest).Write
    0059e468ldr x1, [sp+880]
    0059e46cldr x2, [sp+888]
    0059e470ldr x3, [sp+896]
    0059e474ldr x0, [sp+560]
    0059e478bl crypto/internal/fips140/sha512.(*Digest).Write
    0059e47cb 0x59e480
    0059e480
    0059e480loc_59e480:
    0059e480add x27, sp, 70
    0059e484stp xzr, xzr, [x27]
    0059e488add x27, sp, 86
    0059e48cstp xzr, xzr, [x27]
    0059e490add x27, sp, 102
    0059e494stp xzr, xzr, [x27]
    0059e498add x27, sp, 118
    0059e49cstp xzr, xzr, [x27]
    0059e4a0add x1, sp, 70
    0059e4a4ldrsb x27, [x1]
    0059e4a8b 0x59e4ac
    0059e4ac
    0059e4acloc_59e4ac:
    0059e4acb 0x59e4b0
    0059e4b0
    0059e4b0loc_59e4b0:
    0059e4b0str x1, [sp+576]
    0059e4b4str xzr, [sp+584]
    0059e4b8orr x3, xzr, 64
    0059e4bcstr x3, [sp+592]
    0059e4c0ldr x0, [sp+560]
    0059e4c4mov x2, xzr
    0059e4c8bl crypto/internal/fips140/sha512.(*Digest).Sum
    0059e4ccstr x0, [sp+576]
    0059e4d0str x1, [sp+584]
    0059e4d4str x2, [sp+592]
    0059e4d8bl crypto/internal/fips140/edwards25519.NewScalar
    0059e4dcstr x0, [sp+744]
    0059e4e0str xzr, [sp+736]
    0059e4e4add x27, sp, 776
    0059e4e8stp xzr, xzr, [x27]
    0059e4ecldr x1, [sp+576]
    0059e4f0ldr x2, [sp+584]
    0059e4f4ldr x3, [sp+592]
    0059e4f8ldr x0, [sp+744]
    0059e4fcbl crypto/internal/fips140/edwards25519.(*Scalar).SetUniformBytes
    0059e500str x0, [sp+736]
    0059e504str x1, [sp+776]
    0059e508str x2, [sp+784]
    0059e50cldr x4, [sp+736]
    0059e510str x4, [sp+848]
    0059e514ldr x4, [sp+776]
    0059e518ldr x5, [sp+784]
    0059e51cstr x4, [sp+832]
    0059e520str x5, [sp+840]
    0059e524ldr x4, [sp+848]
    0059e528str x4, [sp+568]
    0059e52cldr x4, [sp+840]
    0059e530ldr x5, [sp+832]
    0059e534str x5, [sp+600]
    0059e538str x4, [sp+608]
    0059e53ccbnz x5, 0x59e790
    0059e540b 0x59e544
    0059e544
    0059e544loc_59e544:
    0059e544bl crypto/internal/fips140/edwards25519.NewScalar
    0059e548str x0, [sp+736]
    0059e54cldr x1, [sp+912]
    0059e550ldr x0, [sp+904]
    0059e554ldr x2, [sp+920]
    0059e558b 0x59e55c
    0059e55c
    0059e55cloc_59e55c:
    0059e55csubs xzr, x1, 32
    0059e560b.hs 0x59e568
    0059e564b 0x59e788
    0059e568
    0059e568loc_59e568:
    0059e568sub x4, x2, 32
    0059e56csub x5, xzr, x4
    0059e570sub x6, x1, 32
    0059e574sbfm x5, x5, 63, 63
    0059e578and x5, x5, 32
    0059e57cadd x5, x0, x5
    0059e580str x5, [sp+752]
    0059e584str x6, [sp+760]
    0059e588str x4, [sp+768]
    0059e58cstr xzr, [sp+744]
    0059e590add x27, sp, 776
    0059e594stp xzr, xzr, [x27]
    0059e598ldr x1, [sp+752]
    0059e59cldr x2, [sp+760]
    0059e5a0ldr x3, [sp+768]
    0059e5a4ldr x0, [sp+736]
    0059e5a8bl crypto/internal/fips140/edwards25519.(*Scalar).SetCanonicalBytes
    0059e5acstr x0, [sp+744]
    0059e5b0str x1, [sp+776]
    0059e5b4str x2, [sp+784]
    0059e5b8ldr x4, [sp+744]
    0059e5bcstr x4, [sp+824]
    0059e5c0ldr x4, [sp+776]
    0059e5c4ldr x5, [sp+784]
    0059e5c8str x4, [sp+808]
    0059e5ccstr x5, [sp+816]
    0059e5d0ldr x4, [sp+824]
    0059e5d4str x4, [sp+616]
    0059e5d8ldr x4, [sp+816]
    0059e5dcldr x5, [sp+808]
    0059e5e0str x5, [sp+600]
    0059e5e4str x4, [sp+608]
    0059e5e8cbnz x5, 0x59e5f0
    0059e5ecb 0x59e61c
    0059e5f0
    0059e5f0loc_59e5f0:
    0059e5f0adrp x0, 0x11c000
    0059e5f4add x0, x0, 2801
    0059e5f8movz x1, 26
    0059e5fcbl errors.New
    0059e600str x0, [sp+776]
    0059e604str x1, [sp+784]
    0059e608str x0, [sp+536]
    0059e60cstr x1, [sp+544]
    0059e610ldp x29, x30, [sp-8]
    0059e614add sp, sp, 864
    0059e618ret x30
    0059e61c
    0059e61cloc_59e61c:
    0059e61cadd x20, sp, 368
    0059e620adr x27, 16
    0059e624stp x29, x27, [sp-24]
    0059e628sub x29, sp, 24
    0059e62cbl fn_87ce8
    0059e630sub x29, sp, 8
    0059e634add x20, sp, 368
    0059e638str x20, [sp+648]
    0059e63cldrsb x27, [x20]
    0059e640adr x27, 16
    0059e644stp x29, x27, [sp-24]
    0059e648sub x29, sp, 24
    0059e64cbl fn_87ce8
    0059e650sub x29, sp, 8
    0059e654ldr x1, [sp+872]
    0059e658ldrsb x27, [x1]
    0059e65cstr x1, [sp+640]
    0059e660ldr x0, [sp+648]
    0059e664bl crypto/internal/fips140/edwards25519.(*Point).Negate
    0059e668str x0, [sp+552]
    0059e66cadd x20, sp, 208
    0059e670adr x27, 16
    0059e674stp x29, x27, [sp-24]
    0059e678sub x29, sp, 24
    0059e67cbl fn_87ce8
    0059e680sub x29, sp, 8
    0059e684add x20, sp, 208
    0059e688str x20, [sp+632]
    0059e68cldrsb x27, [x20]
    0059e690adr x27, 16
    0059e694stp x29, x27, [sp-24]
    0059e698sub x29, sp, 24
    0059e69cbl fn_87ce8
    0059e6a0sub x29, sp, 8
    0059e6a4ldr x2, [sp+552]
    0059e6a8ldr x1, [sp+568]
    0059e6acldr x3, [sp+616]
    0059e6b0ldr x0, [sp+632]
    0059e6b4bl crypto/internal/fips140/edwards25519.(*Point).VarTimeDoubleScalarBaseMult
    0059e6b8str x0, [sp+624]
    0059e6bcldr x2, [sp+920]
    0059e6c0ldr x3, [sp+904]
    0059e6c4subs xzr, x2, 32
    0059e6c8b.hs 0x59e6d0
    0059e6ccb 0x59e780
    0059e6d0
    0059e6d0loc_59e6d0:
    0059e6d0b 0x59e6d4
    0059e6d4
    0059e6d4loc_59e6d4:
    0059e6d4str x3, [sp+752]
    0059e6d8orr x1, xzr, 32
    0059e6dcstr x1, [sp+760]
    0059e6e0str x2, [sp+768]
    0059e6e4ldr x0, [sp+624]
    0059e6e8bl crypto/internal/fips140/edwards25519.(*Point).Bytes
    0059e6ecstr x0, [sp+712]
    0059e6f0str x1, [sp+720]
    0059e6f4str x2, [sp+728]
    0059e6f8ldr x3, [sp+752]
    0059e6fcldr x4, [sp+760]
    0059e700ldr x5, [sp+768]
    0059e704mov x6, x0
    0059e708mov x0, x3
    0059e70cmov x7, x1
    0059e710mov x1, x4
    0059e714mov x8, x2
    0059e718mov x2, x5
    0059e71cmov x3, x6
    0059e720mov x4, x7
    0059e724mov x5, x8
    0059e728bl bytes.Equal
    0059e72cstrb w0, [sp+198]
    0059e730tbnz w0, 0, 0x59e738
    0059e734b 0x59e754
    0059e738
    0059e738loc_59e738:
    0059e738add x27, sp, 536
    0059e73cstp xzr, xzr, [x27]
    0059e740mov x0, xzr
    0059e744mov x1, xzr
    0059e748ldp x29, x30, [sp-8]
    0059e74cadd sp, sp, 864
    0059e750ret x30
    0059e754
    0059e754loc_59e754:
    0059e754adrp x0, 0x11c000
    0059e758add x0, x0, 2801
    0059e75cmovz x1, 26
    0059e760bl errors.New
    0059e764str x0, [sp+776]
    0059e768str x1, [sp+784]
    0059e76cstr x0, [sp+536]
    0059e770str x1, [sp+544]
    0059e774ldp x29, x30, [sp-8]
    0059e778add sp, sp, 864
    0059e77cret x30
    0059e780
    0059e780loc_59e780:
    0059e780orr x1, xzr, 32
    0059e784bl runtime.panicSliceAcap
    0059e788
    0059e788loc_59e788:
    0059e788orr x0, xzr, 32
    0059e78cbl runtime.panicSliceB
    0059e790
    0059e790loc_59e790:
    0059e790adrp x0, 0x129000
    0059e794add x0, x0, 2825
    0059e798str x0, [sp+792]
    0059e79cmovz x1, 46
    0059e7a0str x1, [sp+800]
    0059e7a4bl runtime.convTstring
    0059e7a8str x0, [sp+656]
    0059e7acmov x1, x0
    0059e7b0adrp x0, 0x57000
    0059e7b4add x0, x0, 2944
    0059e7b8bl runtime.gopanic
    0059e7bc
    0059e7bcloc_59e7bc:
    0059e7bcorr x1, xzr, 32
    0059e7c0bl runtime.panicSliceAcap
    0059e7c4
    0059e7c4loc_59e7c4:
    0059e7c4orr x0, xzr, 63
    0059e7c8bl runtime.panicIndex
    0059e7cchint
    0059e7d0
    0059e7d0loc_59e7d0:
    0059e7d0stp x0, x1, [sp+8]
    0059e7d4stp x2, x3, [sp+24]
    0059e7d8stp x4, x5, [sp+40]
    0059e7dcstp x6, x7, [sp+56]
    0059e7e0stp x8, x9, [sp+72]
    0059e7e4str x10, [sp+88]
    0059e7e8mov x3, x30
    0059e7ecbl runtime.morestack_noctxt.abi0
    0059e7f0ldp x0, x1, [sp+8]
    0059e7f4ldp x2, x3, [sp+24]
    0059e7f8ldp x4, x5, [sp+40]
    0059e7fcldp x6, x7, [sp+56]
    0059e800ldp x8, x9, [sp+72]
    0059e804ldr x10, [sp+88]
    0059e808b 0x59e220
    0059e80cudf 0
    0059e220