File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0059b9b0
    0059b9b0crypto/internal/fips140/ed25519.fipsPCT.func1: ; void crypto/internal/fips140/ed25519.fipsPCT.func1(void)
    0059b9b0ldr x16, [x28+16]
    0059b9b4subs xzr, sp, x16
    0059b9b8b.ls 0x59b9f8
    0059b9bcstr x30, [sp-64]!
    0059b9c0stur x29, [sp-8]
    0059b9c4sub x29, sp, 8
    0059b9c8ldr x1, [x26+8]
    0059b9ccstr x1, [sp+32]
    0059b9d0stp xzr, xzr, [sp+16]
    0059b9d4ldr x0, [sp+32]
    0059b9d8bl crypto/internal/fips140/ed25519.pairwiseTest
    0059b9dcstr x0, [sp+40]
    0059b9e0str x1, [sp+48]
    0059b9e4str x0, [sp+16]
    0059b9e8str x1, [sp+24]
    0059b9ecldur x29, [sp-8]
    0059b9f0ldr x30, [sp], 64
    0059b9f4ret x30
    0059b9f8
    0059b9f8loc_59b9f8:
    0059b9f8mov x3, x30
    0059b9fcbl runtime.morestack.abi0
    0059ba00b 0x59b9b0
    0059ba04udf 0
    0059ba08udf 0
    0059ba0cudf 0
    0059b9b0
    0059ba10
    0059ba10crypto/internal/fips140/ed25519.pairwiseTest: ; void crypto/internal/fips140/ed25519.pairwiseTest(crypto/internal/fips140/ed25519.PrivateKey * k)
    0059ba10ldr x16, [x28+16]
    0059ba14sub x17, sp, 128
    0059ba18subs xzr, x17, x16
    0059ba1cb.ls 0x59bb48
    0059ba20sub x20, sp, 256
    0059ba24stp x29, x30, [x20-8]
    0059ba28add sp, x20, 0
    0059ba2csub x29, sp, 8
    0059ba30str x0, [sp+264]
    0059ba34stp xzr, xzr, [sp+80]
    0059ba38add x4, sp, 77
    0059ba3cstr x4, [sp+224]
    0059ba40ldrsb x27, [x4]
    0059ba44movz x5, 17232
    0059ba48strh w5, [x4]
    0059ba4cmovz x5, 84
    0059ba50strb w5, [x4+2]
    0059ba54ldr x1, [sp+224]
    0059ba58ldrsb x27, [x1]
    0059ba5cb 0x59ba60
    0059ba60
    0059ba60loc_59ba60:
    0059ba60str x1, [sp+128]
    0059ba64orr x3, xzr, 3
    0059ba68str x3, [sp+136]
    0059ba6cstr x3, [sp+144]
    0059ba70ldr x0, [sp+264]
    0059ba74mov x2, x3
    0059ba78bl crypto/internal/fips140/ed25519.Sign
    0059ba7cstr x0, [sp+96]
    0059ba80str x1, [sp+104]
    0059ba84str x2, [sp+112]
    0059ba88ldr x0, [sp+264]
    0059ba8cbl crypto/internal/fips140/ed25519.(*PrivateKey).PublicKey
    0059ba90str x0, [sp+176]
    0059ba94str x1, [sp+184]
    0059ba98str x2, [sp+192]
    0059ba9cstr xzr, [sp+168]
    0059baa0stp xzr, xzr, [sp+232]
    0059baa4ldr x0, [sp+176]
    0059baa8ldr x1, [sp+184]
    0059baacldr x2, [sp+192]
    0059bab0bl crypto/internal/fips140/ed25519.NewPublicKey
    0059bab4str x0, [sp+168]
    0059bab8str x1, [sp+232]
    0059babcstr x2, [sp+240]
    0059bac0ldr x4, [sp+168]
    0059bac4str x4, [sp+216]
    0059bac8ldr x4, [sp+232]
    0059baccldr x5, [sp+240]
    0059bad0str x4, [sp+200]
    0059bad4str x5, [sp+208]
    0059bad8ldr x4, [sp+216]
    0059badcstr x4, [sp+120]
    0059bae0ldr x1, [sp+208]
    0059bae4ldr x0, [sp+200]
    0059bae8str x0, [sp+152]
    0059baecstr x1, [sp+160]
    0059baf0cbnz x0, 0x59baf8
    0059baf4b 0x59bb0c
    0059baf8
    0059baf8loc_59baf8:
    0059baf8str x0, [sp+80]
    0059bafcstr x1, [sp+88]
    0059bb00ldp x29, x30, [sp-8]
    0059bb04add sp, sp, 256
    0059bb08ret x30
    0059bb0c
    0059bb0cloc_59bb0c:
    0059bb0cldr x1, [sp+128]
    0059bb10ldr x4, [sp+96]
    0059bb14ldr x2, [sp+136]
    0059bb18ldr x5, [sp+104]
    0059bb1cldr x3, [sp+144]
    0059bb20ldr x6, [sp+112]
    0059bb24ldr x0, [sp+120]
    0059bb28bl crypto/internal/fips140/ed25519.Verify
    0059bb2cstr x0, [sp+232]
    0059bb30str x1, [sp+240]
    0059bb34str x0, [sp+80]
    0059bb38str x1, [sp+88]
    0059bb3cldp x29, x30, [sp-8]
    0059bb40add sp, sp, 256
    0059bb44ret x30
    0059bb48
    0059bb48loc_59bb48:
    0059bb48str x0, [sp+8]
    0059bb4cmov x3, x30
    0059bb50bl runtime.morestack_noctxt.abi0
    0059bb54ldr x0, [sp+8]
    0059bb58b 0x59ba10
    0059bb5cudf 0
    0059ba10
    0059bb60
    0059bb60crypto/internal/fips140/ed25519.signWithoutSelfTest: ; void crypto/internal/fips140/ed25519.signWithoutSelfTest(crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 message)
    0059bb60ldr x16, [x28+16]
    0059bb64sub x17, sp, 48
    0059bb68subs xzr, x17, x16
    0059bb6cb.ls 0x59bc04
    0059bb70str x30, [sp-176]!
    0059bb74stur x29, [sp-8]
    0059bb78sub x29, sp, 8
    0059bb7cstr x0, [sp+184]
    0059bb80str x1, [sp+192]
    0059bb84str x2, [sp+200]
    0059bb88str x3, [sp+208]
    0059bb8cstr xzr, [sp+96]
    0059bb90stp xzr, xzr, [sp+104]
    0059bb94adrp x0, 0x5a000
    0059bb98add x0, x0, 3072
    0059bb9corr x1, xzr, 64
    0059bba0mov x2, x1
    0059bba4bl runtime.makeslice
    0059bba8str x0, [sp+120]
    0059bbacorr x2, xzr, 64
    0059bbb0str x2, [sp+128]
    0059bbb4str x2, [sp+136]
    0059bbb8ldr x3, [sp+184]
    0059bbbcldr x5, [sp+200]
    0059bbc0ldr x6, [sp+208]
    0059bbc4ldr x4, [sp+192]
    0059bbc8mov x1, x2
    0059bbccmov x7, xzr
    0059bbd0mov x8, xzr
    0059bbd4mov x9, x7
    0059bbd8mov x10, x8
    0059bbdcbl crypto/internal/fips140/ed25519.signWithDom
    0059bbe0str x0, [sp+144]
    0059bbe4str x1, [sp+152]
    0059bbe8str x2, [sp+160]
    0059bbecstr x0, [sp+96]
    0059bbf0str x1, [sp+104]
    0059bbf4str x2, [sp+112]
    0059bbf8ldur x29, [sp-8]
    0059bbfcldr x30, [sp], 176
    0059bc00ret x30
    0059bc04
    0059bc04loc_59bc04:
    0059bc04stp x0, x1, [sp+8]
    0059bc08stp x2, x3, [sp+24]
    0059bc0cmov x3, x30
    0059bc10bl runtime.morestack_noctxt.abi0
    0059bc14ldp x0, x1, [sp+8]
    0059bc18ldp x2, x3, [sp+24]
    0059bc1cb 0x59bb60
    0059bb60
    0059bc20
    0059bc20crypto/internal/fips140/ed25519.verifyWithoutSelfTest: ; void crypto/internal/fips140/ed25519.verifyWithoutSelfTest(crypto/internal/fips140/ed25519.PublicKey * pub, struct []uint8 message, struct []uint8 sig)
    0059bc20ldr x16, [x28+16]
    0059bc24sub x17, sp, 16
    0059bc28subs xzr, x17, x16
    0059bc2cb.ls 0x59bca8
    0059bc30str x30, [sp-144]!
    0059bc34stur x29, [sp-8]
    0059bc38sub x29, sp, 8
    0059bc3cstr x0, [sp+152]
    0059bc40str x1, [sp+160]
    0059bc44str x2, [sp+168]
    0059bc48str x3, [sp+176]
    0059bc4cstr x4, [sp+184]
    0059bc50str x5, [sp+192]
    0059bc54str x6, [sp+200]
    0059bc58stp xzr, xzr, [sp+104]
    0059bc5cldr x1, [sp+160]
    0059bc60ldr x4, [sp+184]
    0059bc64ldr x2, [sp+168]
    0059bc68ldr x5, [sp+192]
    0059bc6cldr x3, [sp+176]
    0059bc70ldr x6, [sp+200]
    0059bc74ldr x0, [sp+152]
    0059bc78mov x7, xzr
    0059bc7cmov x8, xzr
    0059bc80mov x9, x7
    0059bc84mov x10, x8
    0059bc88bl crypto/internal/fips140/ed25519.verifyWithDom
    0059bc8cstr x0, [sp+120]
    0059bc90str x1, [sp+128]
    0059bc94str x0, [sp+104]
    0059bc98str x1, [sp+112]
    0059bc9cldur x29, [sp-8]
    0059bca0ldr x30, [sp], 144
    0059bca4ret x30
    0059bca8
    0059bca8loc_59bca8:
    0059bca8stp x0, x1, [sp+8]
    0059bcacstp x2, x3, [sp+24]
    0059bcb0stp x4, x5, [sp+40]
    0059bcb4str x6, [sp+56]
    0059bcb8mov x3, x30
    0059bcbcbl runtime.morestack_noctxt.abi0
    0059bcc0ldp x0, x1, [sp+8]
    0059bcc4ldp x2, x3, [sp+24]
    0059bcc8ldp x4, x5, [sp+40]
    0059bcccldr x6, [sp+56]
    0059bcd0b 0x59bc20
    0059bcd4udf 0
    0059bcd8udf 0
    0059bcdcudf 0
    0059bc20
    0059bce0
    0059bce0crypto/internal/fips140/ed25519.(*PrivateKey).Bytes: ; void crypto/internal/fips140/ed25519.(*PrivateKey).Bytes(crypto/internal/fips140/ed25519.PrivateKey * priv)
    0059bce0ldr x16, [x28+16]
    0059bce4sub x17, sp, 96
    0059bce8subs xzr, x17, x16
    0059bcecb.ls 0x59bec0
    0059bcf0str x30, [sp-224]!
    0059bcf4stur x29, [sp-8]
    0059bcf8sub x29, sp, 8
    0059bcfcstr x0, [sp+232]
    0059bd00str xzr, [sp+80]
    0059bd04stp xzr, xzr, [sp+88]
    0059bd08adrp x0, 0x5a000
    0059bd0cadd x0, x0, 3072
    0059bd10mov x1, xzr
    0059bd14orr x2, xzr, 64
    0059bd18bl runtime.makeslice
    0059bd1cstr x0, [sp+104]
    0059bd20str xzr, [sp+112]
    0059bd24orr x3, xzr, 64
    0059bd28str x3, [sp+120]
    0059bd2cldr x3, [sp+232]
    0059bd30ldrsb x27, [x3]
    0059bd34ldrsb x27, [x3]
    0059bd38b 0x59bd3c
    0059bd3c
    0059bd3cloc_59bd3c:
    0059bd3cstr x3, [sp+184]
    0059bd40orr x5, xzr, 32
    0059bd44str x5, [sp+192]
    0059bd48str x5, [sp+200]
    0059bd4cldr x2, [sp+120]
    0059bd50ldr x0, [sp+104]
    0059bd54ldr x6, [sp+112]
    0059bd58str x0, [sp+160]
    0059bd5cstr x6, [sp+168]
    0059bd60str x2, [sp+176]
    0059bd64ldr x7, [sp+192]
    0059bd68add x1, x6, x7
    0059bd6cstr x1, [sp+64]
    0059bd70subs xzr, x2, x1
    0059bd74b.hs 0x59bd7c
    0059bd78b 0x59bd84
    0059bd7c
    0059bd7cloc_59bd7c:
    0059bd7cstr x1, [sp+168]
    0059bd80b 0x59bda4
    0059bd84
    0059bd84loc_59bd84:
    0059bd84ldr x3, [sp+192]
    0059bd88adrp x4, 0x5a000
    0059bd8cadd x4, x4, 3072
    0059bd90bl runtime.growslice
    0059bd94str x0, [sp+160]
    0059bd98str x1, [sp+168]
    0059bd9cstr x2, [sp+176]
    0059bda0b 0x59bda4
    0059bda4
    0059bda4loc_59bda4:
    0059bda4ldr x3, [sp+192]
    0059bda8str x3, [sp+56]
    0059bdacldr x3, [sp+64]
    0059bdb0ldr x4, [sp+192]
    0059bdb4sub x3, x3, x4
    0059bdb8ldr x4, [sp+160]
    0059bdbcadd x0, x4, x3
    0059bdc0str x0, [sp+152]
    0059bdc4ldr x2, [sp+56]
    0059bdc8ldr x1, [sp+184]
    0059bdccbl runtime.memmove
    0059bdd0ldr x3, [sp+160]
    0059bdd4ldr x4, [sp+168]
    0059bdd8ldr x5, [sp+176]
    0059bddcstr x3, [sp+104]
    0059bde0str x4, [sp+112]
    0059bde4str x5, [sp+120]
    0059bde8ldr x3, [sp+232]
    0059bdecldrsb x27, [x3]
    0059bdf0add x3, x3, 32
    0059bdf4ldrsb x27, [x3]
    0059bdf8b 0x59bdfc
    0059bdfc
    0059bdfcloc_59bdfc:
    0059bdfcstr x3, [sp+184]
    0059be00orr x5, xzr, 32
    0059be04str x5, [sp+192]
    0059be08str x5, [sp+200]
    0059be0cldr x2, [sp+120]
    0059be10ldr x0, [sp+104]
    0059be14ldr x5, [sp+112]
    0059be18str x0, [sp+128]
    0059be1cstr x5, [sp+136]
    0059be20str x2, [sp+144]
    0059be24ldr x6, [sp+192]
    0059be28add x1, x5, x6
    0059be2cstr x1, [sp+48]
    0059be30subs xzr, x2, x1
    0059be34b.hs 0x59be3c
    0059be38b 0x59be44
    0059be3c
    0059be3cloc_59be3c:
    0059be3cstr x1, [sp+136]
    0059be40b 0x59be64
    0059be44
    0059be44loc_59be44:
    0059be44ldr x3, [sp+192]
    0059be48adrp x4, 0x5a000
    0059be4cadd x4, x4, 3072
    0059be50bl runtime.growslice
    0059be54str x0, [sp+128]
    0059be58str x1, [sp+136]
    0059be5cstr x2, [sp+144]
    0059be60b 0x59be64
    0059be64
    0059be64loc_59be64:
    0059be64ldr x3, [sp+192]
    0059be68str x3, [sp+72]
    0059be6cldr x3, [sp+48]
    0059be70ldr x4, [sp+192]
    0059be74sub x3, x3, x4
    0059be78ldr x4, [sp+128]
    0059be7cadd x0, x4, x3
    0059be80str x0, [sp+208]
    0059be84ldr x2, [sp+72]
    0059be88ldr x1, [sp+184]
    0059be8cbl runtime.memmove
    0059be90ldr x0, [sp+128]
    0059be94ldr x1, [sp+136]
    0059be98ldr x2, [sp+144]
    0059be9cstr x0, [sp+104]
    0059bea0str x1, [sp+112]
    0059bea4str x2, [sp+120]
    0059bea8str x0, [sp+80]
    0059beacstr x1, [sp+88]
    0059beb0str x2, [sp+96]
    0059beb4ldur x29, [sp-8]
    0059beb8ldr x30, [sp], 224
    0059bebcret x30
    0059bec0
    0059bec0loc_59bec0:
    0059bec0str x0, [sp+8]
    0059bec4mov x3, x30
    0059bec8bl runtime.morestack_noctxt.abi0
    0059beccldr x0, [sp+8]
    0059bed0b 0x59bce0
    0059bed4udf 0
    0059bed8udf 0
    0059bedcudf 0
    0059bce0
    0059bee0
    0059bee0crypto/internal/fips140/ed25519.(*PrivateKey).PublicKey: ; void crypto/internal/fips140/ed25519.(*PrivateKey).PublicKey(crypto/internal/fips140/ed25519.PrivateKey * priv)
    0059bee0ldr x16, [x28+16]
    0059bee4subs xzr, sp, x16
    0059bee8b.ls 0x59bf68
    0059beecstr x30, [sp-96]!
    0059bef0stur x29, [sp-8]
    0059bef4sub x29, sp, 8
    0059bef8str x0, [sp+104]
    0059befcstr xzr, [sp+32]
    0059bf00stp xzr, xzr, [sp+40]
    0059bf04adrp x0, 0x62000
    0059bf08add x0, x0, 2240
    0059bf0cbl runtime.newobject
    0059bf10str x0, [sp+80]
    0059bf14ldr x1, [sp+104]
    0059bf18ldrsb x27, [x1]
    0059bf1cldp x2, x3, [x1+32]
    0059bf20ldp x1, x4, [x1+48]
    0059bf24stp x2, x3, [x0]
    0059bf28stp x1, x4, [x0+16]
    0059bf2cldr x1, [sp+80]
    0059bf30ldrsb x27, [x1]
    0059bf34b 0x59bf38
    0059bf38
    0059bf38loc_59bf38:
    0059bf38str x1, [sp+56]
    0059bf3corr x2, xzr, 32
    0059bf40str x2, [sp+64]
    0059bf44str x2, [sp+72]
    0059bf48str x1, [sp+32]
    0059bf4cstr x2, [sp+40]
    0059bf50str x2, [sp+48]
    0059bf54ldr x0, [sp+32]
    0059bf58mov x1, x2
    0059bf5cldur x29, [sp-8]
    0059bf60ldr x30, [sp], 96
    0059bf64ret x30
    0059bf68
    0059bf68loc_59bf68:
    0059bf68str x0, [sp+8]
    0059bf6cmov x3, x30
    0059bf70bl runtime.morestack_noctxt.abi0
    0059bf74ldr x0, [sp+8]
    0059bf78b 0x59bee0
    0059bf7cudf 0
    0059bee0
    0059bf80
    0059bf80crypto/internal/fips140/ed25519.NewPrivateKeyFromSeed: ; void crypto/internal/fips140/ed25519.NewPrivateKeyFromSeed(struct []uint8 seed)
    0059bf80ldr x16, [x28+16]
    0059bf84sub x17, sp, 16
    0059bf88subs xzr, x17, x16
    0059bf8cb.ls 0x59c048
    0059bf90str x30, [sp-144]!
    0059bf94stur x29, [sp-8]
    0059bf98sub x29, sp, 8
    0059bf9cstr x0, [sp+152]
    0059bfa0str x1, [sp+160]
    0059bfa4str x2, [sp+168]
    0059bfa8str xzr, [sp+64]
    0059bfacstp xzr, xzr, [sp+48]
    0059bfb0adrp x0, 0xcd000
    0059bfb4add x0, x0, 2528
    0059bfb8bl runtime.newobject
    0059bfbcstr x0, [sp+80]
    0059bfc0mov x20, x0
    0059bfc4adr x27, 16
    0059bfc8stp x29, x27, [sp-24]
    0059bfccsub x29, sp, 24
    0059bfd0bl fn_87cf0
    0059bfd4sub x29, sp, 8
    0059bfd8ldr x1, [sp+80]
    0059bfdcstr x1, [sp+72]
    0059bfe0str xzr, [sp+104]
    0059bfe4stp xzr, xzr, [sp+88]
    0059bfe8ldr x1, [sp+152]
    0059bfecldr x2, [sp+160]
    0059bff0ldr x3, [sp+168]
    0059bff4ldr x0, [sp+72]
    0059bff8bl crypto/internal/fips140/ed25519.newPrivateKeyFromSeed
    0059bffcstr x0, [sp+104]
    0059c000str x1, [sp+88]
    0059c004str x2, [sp+96]
    0059c008ldr x1, [sp+104]
    0059c00cstr x1, [sp+128]
    0059c010ldr x1, [sp+88]
    0059c014ldr x2, [sp+96]
    0059c018str x1, [sp+112]
    0059c01cstr x2, [sp+120]
    0059c020ldr x1, [sp+128]
    0059c024str x1, [sp+64]
    0059c028ldr x1, [sp+112]
    0059c02cldr x2, [sp+120]
    0059c030str x1, [sp+48]
    0059c034str x2, [sp+56]
    0059c038ldr x0, [sp+64]
    0059c03cldur x29, [sp-8]
    0059c040ldr x30, [sp], 144
    0059c044ret x30
    0059c048
    0059c048loc_59c048:
    0059c048stp x0, x1, [sp+8]
    0059c04cstr x2, [sp+24]
    0059c050mov x3, x30
    0059c054bl runtime.morestack_noctxt.abi0
    0059c058ldp x0, x1, [sp+8]
    0059c05cldr x2, [sp+24]
    0059c060b 0x59bf80
    0059c064udf 0
    0059c068udf 0
    0059c06cudf 0
    0059bf80
    0059c070
    0059c070crypto/internal/fips140/ed25519.newPrivateKeyFromSeed: ; void crypto/internal/fips140/ed25519.newPrivateKeyFromSeed(crypto/internal/fips140/ed25519.PrivateKey * priv, struct []uint8 seed)
    0059c070ldr x16, [x28+16]
    0059c074sub x17, sp, 144
    0059c078subs xzr, x17, x16
    0059c07cb.ls 0x59c234
    0059c080sub x20, sp, 272
    0059c084stp x29, x30, [x20-8]
    0059c088add sp, x20, 0
    0059c08csub x29, sp, 8
    0059c090str x0, [sp+280]
    0059c094str x1, [sp+288]
    0059c098str x2, [sp+296]
    0059c09cstr x3, [sp+304]
    0059c0a0str xzr, [sp+96]
    0059c0a4stp xzr, xzr, [sp+80]
    0059c0a8bl crypto/internal/fips140.RecordApproved
    0059c0acldr x0, [sp+296]
    0059c0b0str x0, [sp+56]
    0059c0b4subs xzr, x0, 32
    0059c0b8b.ne 0x59c0c0
    0059c0bcb 0x59c120
    0059c0c0
    0059c0c0loc_59c0c0:
    0059c0c0bl strconv.Itoa
    0059c0c4str x0, [sp+176]
    0059c0c8str x1, [sp+184]
    0059c0ccmovz x2, 26
    0059c0d0mov x3, x0
    0059c0d4mov x4, x1
    0059c0d8mov x0, xzr
    0059c0dcadrp x1, 0x11e000
    0059c0e0add x1, x1, 2255
    0059c0e4bl runtime.concatstring2
    0059c0e8str x0, [sp+120]
    0059c0ecstr x1, [sp+128]
    0059c0f0bl errors.New
    0059c0f4str x0, [sp+160]
    0059c0f8str x1, [sp+168]
    0059c0fcstr xzr, [sp+96]
    0059c100ldr x1, [sp+160]
    0059c104ldr x2, [sp+168]
    0059c108str x1, [sp+80]
    0059c10cstr x2, [sp+88]
    0059c110ldr x0, [sp+96]
    0059c114ldp x29, x30, [sp-8]
    0059c118add sp, sp, 272
    0059c11cret x30
    0059c120
    0059c120loc_59c120:
    0059c120ldr x3, [sp+280]
    0059c124ldrsb x27, [x3]
    0059c128ldrsb x27, [x3]
    0059c12cb 0x59c130
    0059c130
    0059c130loc_59c130:
    0059c130str x3, [sp+136]
    0059c134orr x4, xzr, 32
    0059c138str x4, [sp+144]
    0059c13cstr x4, [sp+152]
    0059c140str x3, [sp+240]
    0059c144str x4, [sp+248]
    0059c148str x4, [sp+256]
    0059c14cldr x3, [sp+296]
    0059c150ldr x4, [sp+288]
    0059c154ldr x5, [sp+304]
    0059c158str x4, [sp+216]
    0059c15cstr x3, [sp+224]
    0059c160str x5, [sp+232]
    0059c164ldr x4, [sp+248]
    0059c168str x4, [sp+72]
    0059c16csubs xzr, x4, x3
    0059c170b.gt 0x59c178
    0059c174b 0x59c180
    0059c178
    0059c178loc_59c178:
    0059c178str x3, [sp+72]
    0059c17cb 0x59c184
    0059c180
    0059c180loc_59c180:
    0059c180b 0x59c184
    0059c184
    0059c184loc_59c184:
    0059c184ldr x3, [sp+216]
    0059c188ldr x4, [sp+240]
    0059c18csubs xzr, x3, x4
    0059c190b.ne 0x59c198
    0059c194b 0x59c1b4
    0059c198
    0059c198loc_59c198:
    0059c198ldr x3, [sp+72]
    0059c19cstr x3, [sp+64]
    0059c1a0ldr x2, [sp+64]
    0059c1a4ldr x1, [sp+216]
    0059c1a8ldr x0, [sp+240]
    0059c1acbl runtime.memmove
    0059c1b0b 0x59c1b8
    0059c1b4
    0059c1b4loc_59c1b4:
    0059c1b4b 0x59c1b8
    0059c1b8
    0059c1b8loc_59c1b8:
    0059c1b8ldr x0, [sp+280]
    0059c1bcbl crypto/internal/fips140/ed25519.precomputePrivateKey
    0059c1c0ldr x0, [sp+280]
    0059c1c4bl crypto/internal/fips140/ed25519.fipsPCT
    0059c1c8str x0, [sp+104]
    0059c1ccstr x1, [sp+112]
    0059c1d0cbnz x0, 0x59c1fc
    0059c1d4b 0x59c1d8
    0059c1d8
    0059c1d8loc_59c1d8:
    0059c1d8ldr x3, [sp+280]
    0059c1dcstr x3, [sp+96]
    0059c1e0stp xzr, xzr, [sp+80]
    0059c1e4ldr x0, [sp+96]
    0059c1e8mov x1, xzr
    0059c1ecmov x2, xzr
    0059c1f0ldp x29, x30, [sp-8]
    0059c1f4add sp, sp, 272
    0059c1f8ret x30
    0059c1fc
    0059c1fcloc_59c1fc:
    0059c1fcstr x0, [sp+200]
    0059c200str x1, [sp+208]
    0059c204str x0, [sp+192]
    0059c208ldr x2, [sp+192]
    0059c20ccbnz x2, 0x59c214
    0059c210b 0x59c230
    0059c214
    0059c214loc_59c214:
    0059c214ldr x2, [sp+192]
    0059c218ldr x2, [x2+8]
    0059c21cstr x2, [sp+192]
    0059c220b 0x59c224
    0059c224
    0059c224loc_59c224:
    0059c224ldr x1, [sp+208]
    0059c228ldr x0, [sp+192]
    0059c22cbl runtime.gopanic
    0059c230
    0059c230loc_59c230:
    0059c230b 0x59c224
    0059c234
    0059c234loc_59c234:
    0059c234stp x0, x1, [sp+8]
    0059c238stp x2, x3, [sp+24]
    0059c23cmov x3, x30
    0059c240bl runtime.morestack_noctxt.abi0
    0059c244ldp x0, x1, [sp+8]
    0059c248ldp x2, x3, [sp+24]
    0059c24cb 0x59c070
    0059c070
    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