File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    002bf2d0
    002bf2d0crypto/ecdsa.PublicKey.ScalarMult: ; void crypto/ecdsa.PublicKey.ScalarMult(crypto/ecdsa.PublicKey p0, math/big.Int * x1, math/big.Int * y1, struct []uint8 k)
    002bf2d0ldr x16, [x28+16]
    002bf2d4subs xzr, sp, x16
    002bf2d8b.ls 0x2bf384
    002bf2dcstr x30, [sp-112]!
    002bf2e0stur x29, [sp-8]
    002bf2e4sub x29, sp, 8
    002bf2e8ldr x16, [x28+32]
    002bf2eccbnz x16, 0x2bf3b8
    002bf2f0
    002bf2f0loc_2bf2f0:
    002bf2f0str x0, [sp+120]
    002bf2f4str x1, [sp+128]
    002bf2f8str x2, [sp+136]
    002bf2fcstr x3, [sp+144]
    002bf300str x4, [sp+152]
    002bf304str x5, [sp+160]
    002bf308str x6, [sp+168]
    002bf30cstr x7, [sp+176]
    002bf310str x8, [sp+184]
    002bf314str xzr, [sp+64]
    002bf318str xzr, [sp+56]
    002bf31cstr xzr, [sp+80]
    002bf320str xzr, [sp+72]
    002bf324ldr x6, [sp+120]
    002bf328ldrsb x27, [x6]
    002bf32cldr x3, [sp+168]
    002bf330ldr x1, [sp+152]
    002bf334ldr x2, [sp+160]
    002bf338ldr x4, [sp+176]
    002bf33cldr x0, [sp+128]
    002bf340ldr x5, [sp+184]
    002bf344ldr x6, [x6+64]
    002bf348blr x6
    002bf34cstr x0, [sp+80]
    002bf350str x1, [sp+72]
    002bf354ldr x6, [sp+80]
    002bf358str x6, [sp+96]
    002bf35cldr x6, [sp+72]
    002bf360str x6, [sp+88]
    002bf364ldr x6, [sp+96]
    002bf368str x6, [sp+64]
    002bf36cldr x1, [sp+88]
    002bf370str x1, [sp+56]
    002bf374ldr x0, [sp+64]
    002bf378ldur x29, [sp-8]
    002bf37cldr x30, [sp], 112
    002bf380ret x30
    002bf384
    002bf384loc_2bf384:
    002bf384stp x0, x1, [sp+8]
    002bf388stp x2, x3, [sp+24]
    002bf38cstp x4, x5, [sp+40]
    002bf390stp x6, x7, [sp+56]
    002bf394str x8, [sp+72]
    002bf398mov x3, x30
    002bf39cbl runtime.morestack_noctxt.abi0
    002bf3a0ldp x0, x1, [sp+8]
    002bf3a4ldp x2, x3, [sp+24]
    002bf3a8ldp x4, x5, [sp+40]
    002bf3acldp x6, x7, [sp+56]
    002bf3b0ldr x8, [sp+72]
    002bf3b4b 0x2bf2d0
    002bf3b8
    002bf3b8loc_2bf3b8:
    002bf3b8ldr x17, [x16]
    002bf3bcadd x20, sp, 120
    002bf3c0subs xzr, x20, x17
    002bf3c4b.ne 0x2bf2f0
    002bf3c8add x20, sp, 8
    002bf3ccstr x20, [x16]
    002bf3d0b 0x2bf2f0
    002bf3d4udf 0
    002bf3d8udf 0
    002bf3dcudf 0
    002bf2d0
    002bf3e0
    002bf3e0crypto/ecdsa.(*PublicKey).ScalarMult: ; void crypto/ecdsa.(*PublicKey).ScalarMult(crypto/ecdsa.PublicKey * p0, math/big.Int * x1, math/big.Int * y1, struct []uint8 k)
    002bf3e0ldr x16, [x28+16]
    002bf3e4subs xzr, sp, x16
    002bf3e8b.ls 0x2bf490
    002bf3ecstr x30, [sp-112]!
    002bf3f0stur x29, [sp-8]
    002bf3f4sub x29, sp, 8
    002bf3f8ldr x16, [x28+32]
    002bf3fccbnz x16, 0x2bf4b4
    002bf400
    002bf400loc_2bf400:
    002bf400str x0, [sp+120]
    002bf404str x1, [sp+128]
    002bf408str x2, [sp+136]
    002bf40cstr x3, [sp+144]
    002bf410str x4, [sp+152]
    002bf414str x5, [sp+160]
    002bf418str xzr, [sp+64]
    002bf41cstr xzr, [sp+56]
    002bf420str xzr, [sp+80]
    002bf424str xzr, [sp+72]
    002bf428ldr x3, [sp+144]
    002bf42cldr x1, [sp+128]
    002bf430ldr x2, [sp+136]
    002bf434ldr x6, [sp+120]
    002bf438ldrsb x27, [x6]
    002bf43cldr x7, [x6]
    002bf440ldrsb x27, [x7]
    002bf444ldr x4, [sp+152]
    002bf448ldr x0, [x6+8]
    002bf44cldr x5, [sp+160]
    002bf450ldr x6, [x7+64]
    002bf454blr x6
    002bf458str x0, [sp+80]
    002bf45cstr x1, [sp+72]
    002bf460ldr x6, [sp+80]
    002bf464str x6, [sp+96]
    002bf468ldr x6, [sp+72]
    002bf46cstr x6, [sp+88]
    002bf470ldr x6, [sp+96]
    002bf474str x6, [sp+64]
    002bf478ldr x1, [sp+88]
    002bf47cstr x1, [sp+56]
    002bf480ldr x0, [sp+64]
    002bf484ldur x29, [sp-8]
    002bf488ldr x30, [sp], 112
    002bf48cret x30
    002bf490
    002bf490loc_2bf490:
    002bf490stp x0, x1, [sp+8]
    002bf494stp x2, x3, [sp+24]
    002bf498stp x4, x5, [sp+40]
    002bf49cmov x3, x30
    002bf4a0bl runtime.morestack_noctxt.abi0
    002bf4a4ldp x0, x1, [sp+8]
    002bf4a8ldp x2, x3, [sp+24]
    002bf4acldp x4, x5, [sp+40]
    002bf4b0b 0x2bf3e0
    002bf4b4
    002bf4b4loc_2bf4b4:
    002bf4b4ldr x17, [x16]
    002bf4b8add x20, sp, 120
    002bf4bcsubs xzr, x20, x17
    002bf4c0b.ne 0x2bf400
    002bf4c4add x20, sp, 8
    002bf4c8str x20, [x16]
    002bf4ccb 0x2bf400
    002bf3e0
    002bf4d0
    002bf4d0crypto/ecdsa.PrivateKey.Add: ; void crypto/ecdsa.PrivateKey.Add(crypto/ecdsa.PrivateKey p0, math/big.Int * x1, math/big.Int * y1, math/big.Int * x2, math/big.Int * y2)
    002bf4d0ldr x16, [x28+16]
    002bf4d4subs xzr, sp, x16
    002bf4d8b.ls 0x2bf580
    002bf4dcstr x30, [sp-112]!
    002bf4e0stur x29, [sp-8]
    002bf4e4sub x29, sp, 8
    002bf4e8ldr x16, [x28+32]
    002bf4eccbnz x16, 0x2bf5b4
    002bf4f0
    002bf4f0loc_2bf4f0:
    002bf4f0str x0, [sp+120]
    002bf4f4str x1, [sp+128]
    002bf4f8str x2, [sp+136]
    002bf4fcstr x3, [sp+144]
    002bf500str x4, [sp+152]
    002bf504str x5, [sp+160]
    002bf508str x6, [sp+168]
    002bf50cstr x7, [sp+176]
    002bf510str x8, [sp+184]
    002bf514str xzr, [sp+64]
    002bf518str xzr, [sp+56]
    002bf51cstr xzr, [sp+72]
    002bf520str xzr, [sp+96]
    002bf524ldr x5, [sp+120]
    002bf528ldrsb x27, [x5]
    002bf52cldr x1, [sp+160]
    002bf530ldr x2, [sp+168]
    002bf534ldr x3, [sp+176]
    002bf538ldr x4, [sp+184]
    002bf53cldr x0, [sp+128]
    002bf540ldr x5, [x5+24]
    002bf544blr x5
    002bf548str x0, [sp+72]
    002bf54cstr x1, [sp+96]
    002bf550ldr x5, [sp+72]
    002bf554str x5, [sp+88]
    002bf558ldr x5, [sp+96]
    002bf55cstr x5, [sp+80]
    002bf560ldr x5, [sp+88]
    002bf564str x5, [sp+64]
    002bf568ldr x1, [sp+80]
    002bf56cstr x1, [sp+56]
    002bf570ldr x0, [sp+64]
    002bf574ldur x29, [sp-8]
    002bf578ldr x30, [sp], 112
    002bf57cret x30
    002bf580
    002bf580loc_2bf580:
    002bf580stp x0, x1, [sp+8]
    002bf584stp x2, x3, [sp+24]
    002bf588stp x4, x5, [sp+40]
    002bf58cstp x6, x7, [sp+56]
    002bf590str x8, [sp+72]
    002bf594mov x3, x30
    002bf598bl runtime.morestack_noctxt.abi0
    002bf59cldp x0, x1, [sp+8]
    002bf5a0ldp x2, x3, [sp+24]
    002bf5a4ldp x4, x5, [sp+40]
    002bf5a8ldp x6, x7, [sp+56]
    002bf5acldr x8, [sp+72]
    002bf5b0b 0x2bf4d0
    002bf5b4
    002bf5b4loc_2bf5b4:
    002bf5b4ldr x17, [x16]
    002bf5b8add x20, sp, 120
    002bf5bcsubs xzr, x20, x17
    002bf5c0b.ne 0x2bf4f0
    002bf5c4add x20, sp, 8
    002bf5c8str x20, [x16]
    002bf5ccb 0x2bf4f0
    002bf4d0
    002bf5d0
    002bf5d0crypto/ecdsa.(*PrivateKey).Add: ; void crypto/ecdsa.(*PrivateKey).Add(crypto/ecdsa.PrivateKey * p0, math/big.Int * x1, math/big.Int * y1, math/big.Int * x2, math/big.Int * y2)
    002bf5d0ldr x16, [x28+16]
    002bf5d4subs xzr, sp, x16
    002bf5d8b.ls 0x2bf678
    002bf5dcstr x30, [sp-112]!
    002bf5e0stur x29, [sp-8]
    002bf5e4sub x29, sp, 8
    002bf5e8ldr x16, [x28+32]
    002bf5eccbnz x16, 0x2bf69c
    002bf5f0
    002bf5f0loc_2bf5f0:
    002bf5f0str x0, [sp+120]
    002bf5f4str x1, [sp+128]
    002bf5f8str x2, [sp+136]
    002bf5fcstr x3, [sp+144]
    002bf600str x4, [sp+152]
    002bf604str xzr, [sp+64]
    002bf608str xzr, [sp+56]
    002bf60cstr xzr, [sp+72]
    002bf610str xzr, [sp+96]
    002bf614ldr x1, [sp+128]
    002bf618ldr x2, [sp+136]
    002bf61cldr x3, [sp+144]
    002bf620ldr x4, [sp+152]
    002bf624ldr x5, [sp+120]
    002bf628ldrsb x27, [x5]
    002bf62cldr x6, [x5]
    002bf630ldrsb x27, [x6]
    002bf634ldr x0, [x5+8]
    002bf638ldr x5, [x6+24]
    002bf63cblr x5
    002bf640str x0, [sp+72]
    002bf644str x1, [sp+96]
    002bf648ldr x5, [sp+72]
    002bf64cstr x5, [sp+88]
    002bf650ldr x5, [sp+96]
    002bf654str x5, [sp+80]
    002bf658ldr x5, [sp+88]
    002bf65cstr x5, [sp+64]
    002bf660ldr x1, [sp+80]
    002bf664str x1, [sp+56]
    002bf668ldr x0, [sp+64]
    002bf66cldur x29, [sp-8]
    002bf670ldr x30, [sp], 112
    002bf674ret x30
    002bf678
    002bf678loc_2bf678:
    002bf678stp x0, x1, [sp+8]
    002bf67cstp x2, x3, [sp+24]
    002bf680str x4, [sp+40]
    002bf684mov x3, x30
    002bf688bl runtime.morestack_noctxt.abi0
    002bf68cldp x0, x1, [sp+8]
    002bf690ldp x2, x3, [sp+24]
    002bf694ldr x4, [sp+40]
    002bf698b 0x2bf5d0
    002bf69c
    002bf69cloc_2bf69c:
    002bf69cldr x17, [x16]
    002bf6a0add x20, sp, 120
    002bf6a4subs xzr, x20, x17
    002bf6a8b.ne 0x2bf5f0
    002bf6acadd x20, sp, 8
    002bf6b0str x20, [x16]
    002bf6b4b 0x2bf5f0
    002bf6b8udf 0
    002bf6bcudf 0
    002bf5d0
    002bf6c0
    002bf6c0crypto/ecdsa.PrivateKey.IsOnCurve: ; void crypto/ecdsa.PrivateKey.IsOnCurve(crypto/ecdsa.PrivateKey p0, math/big.Int * x, math/big.Int * y)
    002bf6c0ldr x16, [x28+16]
    002bf6c4subs xzr, sp, x16
    002bf6c8b.ls 0x2bf730
    002bf6ccstr x30, [sp-48]!
    002bf6d0stur x29, [sp-8]
    002bf6d4sub x29, sp, 8
    002bf6d8ldr x16, [x28+32]
    002bf6dccbnz x16, 0x2bf75c
    002bf6e0
    002bf6e0loc_2bf6e0:
    002bf6e0str x0, [sp+56]
    002bf6e4str x1, [sp+64]
    002bf6e8str x2, [sp+72]
    002bf6ecstr x3, [sp+80]
    002bf6f0str x4, [sp+88]
    002bf6f4str x5, [sp+96]
    002bf6f8str x6, [sp+104]
    002bf6fcstrb wzr, [sp+38]
    002bf700ldr x3, [sp+56]
    002bf704ldrsb x27, [x3]
    002bf708ldr x1, [sp+96]
    002bf70cldr x2, [sp+104]
    002bf710ldr x0, [sp+64]
    002bf714ldr x3, [x3+40]
    002bf718blr x3
    002bf71cstrb w0, [sp+39]
    002bf720strb w0, [sp+38]
    002bf724ldur x29, [sp-8]
    002bf728ldr x30, [sp], 48
    002bf72cret x30
    002bf730
    002bf730loc_2bf730:
    002bf730stp x0, x1, [sp+8]
    002bf734stp x2, x3, [sp+24]
    002bf738stp x4, x5, [sp+40]
    002bf73cstr x6, [sp+56]
    002bf740mov x3, x30
    002bf744bl runtime.morestack_noctxt.abi0
    002bf748ldp x0, x1, [sp+8]
    002bf74cldp x2, x3, [sp+24]
    002bf750ldp x4, x5, [sp+40]
    002bf754ldr x6, [sp+56]
    002bf758b 0x2bf6c0
    002bf75c
    002bf75cloc_2bf75c:
    002bf75cldr x17, [x16]
    002bf760add x20, sp, 56
    002bf764subs xzr, x20, x17
    002bf768b.ne 0x2bf6e0
    002bf76cadd x20, sp, 8
    002bf770str x20, [x16]
    002bf774b 0x2bf6e0
    002bf778udf 0
    002bf77cudf 0
    002bf6c0
    002bf780
    002bf780crypto/ecdsa.(*PrivateKey).IsOnCurve: ; void crypto/ecdsa.(*PrivateKey).IsOnCurve(crypto/ecdsa.PrivateKey * p0, math/big.Int * x, math/big.Int * y)
    002bf780ldr x16, [x28+16]
    002bf784subs xzr, sp, x16
    002bf788b.ls 0x2bf7e8
    002bf78cstr x30, [sp-48]!
    002bf790stur x29, [sp-8]
    002bf794sub x29, sp, 8
    002bf798ldr x16, [x28+32]
    002bf79ccbnz x16, 0x2bf804
    002bf7a0
    002bf7a0loc_2bf7a0:
    002bf7a0str x0, [sp+56]
    002bf7a4str x1, [sp+64]
    002bf7a8str x2, [sp+72]
    002bf7acstrb wzr, [sp+38]
    002bf7b0ldr x1, [sp+64]
    002bf7b4ldr x2, [sp+72]
    002bf7b8ldr x3, [sp+56]
    002bf7bcldrsb x27, [x3]
    002bf7c0ldr x4, [x3]
    002bf7c4ldrsb x27, [x4]
    002bf7c8ldr x0, [x3+8]
    002bf7ccldr x3, [x4+40]
    002bf7d0blr x3
    002bf7d4strb w0, [sp+39]
    002bf7d8strb w0, [sp+38]
    002bf7dcldur x29, [sp-8]
    002bf7e0ldr x30, [sp], 48
    002bf7e4ret x30
    002bf7e8
    002bf7e8loc_2bf7e8:
    002bf7e8stp x0, x1, [sp+8]
    002bf7ecstr x2, [sp+24]
    002bf7f0mov x3, x30
    002bf7f4bl runtime.morestack_noctxt.abi0
    002bf7f8ldp x0, x1, [sp+8]
    002bf7fcldr x2, [sp+24]
    002bf800b 0x2bf780
    002bf804
    002bf804loc_2bf804:
    002bf804ldr x17, [x16]
    002bf808add x20, sp, 56
    002bf80csubs xzr, x20, x17
    002bf810b.ne 0x2bf7a0
    002bf814add x20, sp, 8
    002bf818str x20, [x16]
    002bf81cb 0x2bf7a0
    002bf780
    002bf820
    002bf820crypto/ecdsa.PrivateKey.Params: ; void crypto/ecdsa.PrivateKey.Params(crypto/ecdsa.PrivateKey p0)
    002bf820ldr x16, [x28+16]
    002bf824subs xzr, sp, x16
    002bf828b.ls 0x2bf880
    002bf82cstr x30, [sp-48]!
    002bf830stur x29, [sp-8]
    002bf834sub x29, sp, 8
    002bf838ldr x16, [x28+32]
    002bf83ccbnz x16, 0x2bf8a4
    002bf840
    002bf840loc_2bf840:
    002bf840str x0, [sp+56]
    002bf844str x1, [sp+64]
    002bf848str x2, [sp+72]
    002bf84cstr x3, [sp+80]
    002bf850str x4, [sp+88]
    002bf854str xzr, [sp+24]
    002bf858ldr x1, [sp+56]
    002bf85cldrsb x27, [x1]
    002bf860ldr x0, [sp+64]
    002bf864ldr x1, [x1+48]
    002bf868blr x1
    002bf86cstr x0, [sp+32]
    002bf870str x0, [sp+24]
    002bf874ldur x29, [sp-8]
    002bf878ldr x30, [sp], 48
    002bf87cret x30
    002bf880
    002bf880loc_2bf880:
    002bf880stp x0, x1, [sp+8]
    002bf884stp x2, x3, [sp+24]
    002bf888str x4, [sp+40]
    002bf88cmov x3, x30
    002bf890bl runtime.morestack_noctxt.abi0
    002bf894ldp x0, x1, [sp+8]
    002bf898ldp x2, x3, [sp+24]
    002bf89cldr x4, [sp+40]
    002bf8a0b 0x2bf820
    002bf8a4
    002bf8a4loc_2bf8a4:
    002bf8a4ldr x17, [x16]
    002bf8a8add x20, sp, 56
    002bf8acsubs xzr, x20, x17
    002bf8b0b.ne 0x2bf840
    002bf8b4add x20, sp, 8
    002bf8b8str x20, [x16]
    002bf8bcb 0x2bf840
    002bf820
    002bf8c0
    002bf8c0crypto/ecdsa.(*PrivateKey).Params: ; void crypto/ecdsa.(*PrivateKey).Params(crypto/ecdsa.PrivateKey * p0)
    002bf8c0ldr x16, [x28+16]
    002bf8c4subs xzr, sp, x16
    002bf8c8b.ls 0x2bf918
    002bf8ccstr x30, [sp-48]!
    002bf8d0stur x29, [sp-8]
    002bf8d4sub x29, sp, 8
    002bf8d8ldr x16, [x28+32]
    002bf8dccbnz x16, 0x2bf92c
    002bf8e0
    002bf8e0loc_2bf8e0:
    002bf8e0str x0, [sp+56]
    002bf8e4str xzr, [sp+24]
    002bf8e8ldr x1, [sp+56]
    002bf8ecldrsb x27, [x1]
    002bf8f0ldr x2, [x1]
    002bf8f4ldrsb x27, [x2]
    002bf8f8ldr x0, [x1+8]
    002bf8fcldr x1, [x2+48]
    002bf900blr x1
    002bf904str x0, [sp+32]
    002bf908str x0, [sp+24]
    002bf90cldur x29, [sp-8]
    002bf910ldr x30, [sp], 48
    002bf914ret x30
    002bf918
    002bf918loc_2bf918:
    002bf918str x0, [sp+8]
    002bf91cmov x3, x30
    002bf920bl runtime.morestack_noctxt.abi0
    002bf924ldr x0, [sp+8]
    002bf928b 0x2bf8c0
    002bf92c
    002bf92cloc_2bf92c:
    002bf92cldr x17, [x16]
    002bf930add x20, sp, 56
    002bf934subs xzr, x20, x17
    002bf938b.ne 0x2bf8e0
    002bf93cadd x20, sp, 8
    002bf940str x20, [x16]
    002bf944b 0x2bf8e0
    002bf948udf 0
    002bf94cudf 0
    002bf8c0
    002bf950
    002bf950crypto/ecdsa.PrivateKey.ScalarBaseMult: ; void crypto/ecdsa.PrivateKey.ScalarBaseMult(crypto/ecdsa.PrivateKey p0, struct []uint8 k)
    002bf950ldr x16, [x28+16]
    002bf954subs xzr, sp, x16
    002bf958b.ls 0x2bf9f8
    002bf95cstr x30, [sp-96]!
    002bf960stur x29, [sp-8]
    002bf964sub x29, sp, 8
    002bf968ldr x16, [x28+32]
    002bf96ccbnz x16, 0x2bfa24
    002bf970
    002bf970loc_2bf970:
    002bf970str x0, [sp+104]
    002bf974str x1, [sp+112]
    002bf978str x2, [sp+120]
    002bf97cstr x3, [sp+128]
    002bf980str x4, [sp+136]
    002bf984str x5, [sp+144]
    002bf988str x6, [sp+152]
    002bf98cstr x7, [sp+160]
    002bf990str xzr, [sp+48]
    002bf994str xzr, [sp+40]
    002bf998str xzr, [sp+64]
    002bf99cstr xzr, [sp+56]
    002bf9a0ldr x4, [sp+104]
    002bf9a4ldrsb x27, [x4]
    002bf9a8ldr x1, [sp+144]
    002bf9acldr x2, [sp+152]
    002bf9b0ldr x0, [sp+112]
    002bf9b4ldr x3, [sp+160]
    002bf9b8ldr x4, [x4+56]
    002bf9bcblr x4
    002bf9c0str x0, [sp+64]
    002bf9c4str x1, [sp+56]
    002bf9c8ldr x4, [sp+64]
    002bf9ccstr x4, [sp+80]
    002bf9d0ldr x4, [sp+56]
    002bf9d4str x4, [sp+72]
    002bf9d8ldr x4, [sp+80]
    002bf9dcstr x4, [sp+48]
    002bf9e0ldr x1, [sp+72]
    002bf9e4str x1, [sp+40]
    002bf9e8ldr x0, [sp+48]
    002bf9ecldur x29, [sp-8]
    002bf9f0ldr x30, [sp], 96
    002bf9f4ret x30
    002bf9f8
    002bf9f8loc_2bf9f8:
    002bf9f8stp x0, x1, [sp+8]
    002bf9fcstp x2, x3, [sp+24]
    002bfa00stp x4, x5, [sp+40]
    002bfa04stp x6, x7, [sp+56]
    002bfa08mov x3, x30
    002bfa0cbl runtime.morestack_noctxt.abi0
    002bfa10ldp x0, x1, [sp+8]
    002bfa14ldp x2, x3, [sp+24]
    002bfa18ldp x4, x5, [sp+40]
    002bfa1cldp x6, x7, [sp+56]
    002bfa20b 0x2bf950
    002bfa24
    002bfa24loc_2bfa24:
    002bfa24ldr x17, [x16]
    002bfa28add x20, sp, 104
    002bfa2csubs xzr, x20, x17
    002bfa30b.ne 0x2bf970
    002bfa34add x20, sp, 8
    002bfa38str x20, [x16]
    002bfa3cb 0x2bf970
    002bf950
    002bfa40
    002bfa40crypto/ecdsa.(*PrivateKey).ScalarBaseMult: ; void crypto/ecdsa.(*PrivateKey).ScalarBaseMult(crypto/ecdsa.PrivateKey * p0, struct []uint8 k)
    002bfa40ldr x16, [x28+16]
    002bfa44subs xzr, sp, x16
    002bfa48b.ls 0x2bfae0
    002bfa4cstr x30, [sp-96]!
    002bfa50stur x29, [sp-8]
    002bfa54sub x29, sp, 8
    002bfa58ldr x16, [x28+32]
    002bfa5ccbnz x16, 0x2bfafc
    002bfa60
    002bfa60loc_2bfa60:
    002bfa60str x0, [sp+104]
    002bfa64str x1, [sp+112]
    002bfa68str x2, [sp+120]
    002bfa6cstr x3, [sp+128]
    002bfa70str xzr, [sp+48]
    002bfa74str xzr, [sp+40]
    002bfa78str xzr, [sp+64]
    002bfa7cstr xzr, [sp+56]
    002bfa80ldr x1, [sp+112]
    002bfa84ldr x4, [sp+104]
    002bfa88ldrsb x27, [x4]
    002bfa8cldr x5, [x4]
    002bfa90ldrsb x27, [x5]
    002bfa94ldr x2, [sp+120]
    002bfa98ldr x0, [x4+8]
    002bfa9cldr x3, [sp+128]
    002bfaa0ldr x4, [x5+56]
    002bfaa4blr x4
    002bfaa8str x0, [sp+64]
    002bfaacstr x1, [sp+56]
    002bfab0ldr x4, [sp+64]
    002bfab4str x4, [sp+80]
    002bfab8ldr x4, [sp+56]
    002bfabcstr x4, [sp+72]
    002bfac0ldr x4, [sp+80]
    002bfac4str x4, [sp+48]
    002bfac8ldr x1, [sp+72]
    002bfaccstr x1, [sp+40]
    002bfad0ldr x0, [sp+48]
    002bfad4ldur x29, [sp-8]
    002bfad8ldr x30, [sp], 96
    002bfadcret x30
    002bfae0
    002bfae0loc_2bfae0:
    002bfae0stp x0, x1, [sp+8]
    002bfae4stp x2, x3, [sp+24]
    002bfae8mov x3, x30
    002bfaecbl runtime.morestack_noctxt.abi0
    002bfaf0ldp x0, x1, [sp+8]
    002bfaf4ldp x2, x3, [sp+24]
    002bfaf8b 0x2bfa40
    002bfafc
    002bfafcloc_2bfafc:
    002bfafcldr x17, [x16]
    002bfb00add x20, sp, 104
    002bfb04subs xzr, x20, x17
    002bfb08b.ne 0x2bfa60
    002bfb0cadd x20, sp, 8
    002bfb10str x20, [x16]
    002bfb14b 0x2bfa60
    002bfb18udf 0
    002bfb1cudf 0
    002bfa40
    002bfb20
    002bfb20crypto/ecdsa.PrivateKey.ScalarMult: ; void crypto/ecdsa.PrivateKey.ScalarMult(crypto/ecdsa.PrivateKey p0, math/big.Int * x1, math/big.Int * y1, struct []uint8 k)
    002bfb20ldr x16, [x28+16]
    002bfb24subs xzr, sp, x16
    002bfb28b.ls 0x2bfbd8
    002bfb2cstr x30, [sp-112]!
    002bfb30stur x29, [sp-8]
    002bfb34sub x29, sp, 8
    002bfb38ldr x16, [x28+32]
    002bfb3ccbnz x16, 0x2bfc0c
    002bfb40
    002bfb40loc_2bfb40:
    002bfb40str x0, [sp+120]
    002bfb44str x1, [sp+128]
    002bfb48str x2, [sp+136]
    002bfb4cstr x3, [sp+144]
    002bfb50str x4, [sp+152]
    002bfb54str x5, [sp+160]
    002bfb58str x6, [sp+168]
    002bfb5cstr x7, [sp+176]
    002bfb60str x8, [sp+184]
    002bfb64str x9, [sp+192]
    002bfb68str xzr, [sp+64]
    002bfb6cstr xzr, [sp+56]
    002bfb70str xzr, [sp+80]
    002bfb74str xzr, [sp+72]
    002bfb78ldr x6, [sp+120]
    002bfb7cldrsb x27, [x6]
    002bfb80ldr x3, [sp+176]
    002bfb84ldr x1, [sp+160]
    002bfb88ldr x2, [sp+168]
    002bfb8cldr x4, [sp+184]
    002bfb90ldr x0, [sp+128]
    002bfb94ldr x5, [sp+192]
    002bfb98ldr x6, [x6+64]
    002bfb9cblr x6
    002bfba0str x0, [sp+80]
    002bfba4str x1, [sp+72]
    002bfba8ldr x6, [sp+80]
    002bfbacstr x6, [sp+96]
    002bfbb0ldr x6, [sp+72]
    002bfbb4str x6, [sp+88]
    002bfbb8ldr x6, [sp+96]
    002bfbbcstr x6, [sp+64]
    002bfbc0ldr x1, [sp+88]
    002bfbc4str x1, [sp+56]
    002bfbc8ldr x0, [sp+64]
    002bfbccldur x29, [sp-8]
    002bfbd0ldr x30, [sp], 112
    002bfbd4ret x30
    002bfbd8
    002bfbd8loc_2bfbd8:
    002bfbd8stp x0, x1, [sp+8]
    002bfbdcstp x2, x3, [sp+24]
    002bfbe0stp x4, x5, [sp+40]
    002bfbe4stp x6, x7, [sp+56]
    002bfbe8stp x8, x9, [sp+72]
    002bfbecmov x3, x30
    002bfbf0bl runtime.morestack_noctxt.abi0
    002bfbf4ldp x0, x1, [sp+8]
    002bfbf8ldp x2, x3, [sp+24]
    002bfbfcldp x4, x5, [sp+40]
    002bfc00ldp x6, x7, [sp+56]
    002bfc04ldp x8, x9, [sp+72]
    002bfc08b 0x2bfb20
    002bfc0c
    002bfc0cloc_2bfc0c:
    002bfc0cldr x17, [x16]
    002bfc10add x20, sp, 120
    002bfc14subs xzr, x20, x17
    002bfc18b.ne 0x2bfb40
    002bfc1cadd x20, sp, 8
    002bfc20str x20, [x16]
    002bfc24b 0x2bfb40
    002bfc28udf 0
    002bfc2cudf 0
    002bfb20
    002bfc30
    002bfc30crypto/ecdsa.(*PrivateKey).ScalarMult: ; void crypto/ecdsa.(*PrivateKey).ScalarMult(crypto/ecdsa.PrivateKey * p0, math/big.Int * x1, math/big.Int * y1, struct []uint8 k)
    002bfc30ldr x16, [x28+16]
    002bfc34subs xzr, sp, x16
    002bfc38b.ls 0x2bfce0
    002bfc3cstr x30, [sp-112]!
    002bfc40stur x29, [sp-8]
    002bfc44sub x29, sp, 8
    002bfc48ldr x16, [x28+32]
    002bfc4ccbnz x16, 0x2bfd04
    002bfc50
    002bfc50loc_2bfc50:
    002bfc50str x0, [sp+120]
    002bfc54str x1, [sp+128]
    002bfc58str x2, [sp+136]
    002bfc5cstr x3, [sp+144]
    002bfc60str x4, [sp+152]
    002bfc64str x5, [sp+160]
    002bfc68str xzr, [sp+64]
    002bfc6cstr xzr, [sp+56]
    002bfc70str xzr, [sp+80]
    002bfc74str xzr, [sp+72]
    002bfc78ldr x3, [sp+144]
    002bfc7cldr x1, [sp+128]
    002bfc80ldr x2, [sp+136]
    002bfc84ldr x6, [sp+120]
    002bfc88ldrsb x27, [x6]
    002bfc8cldr x7, [x6]
    002bfc90ldrsb x27, [x7]
    002bfc94ldr x4, [sp+152]
    002bfc98ldr x0, [x6+8]
    002bfc9cldr x5, [sp+160]
    002bfca0ldr x6, [x7+64]
    002bfca4blr x6
    002bfca8str x0, [sp+80]
    002bfcacstr x1, [sp+72]
    002bfcb0ldr x6, [sp+80]
    002bfcb4str x6, [sp+96]
    002bfcb8ldr x6, [sp+72]
    002bfcbcstr x6, [sp+88]
    002bfcc0ldr x6, [sp+96]
    002bfcc4str x6, [sp+64]
    002bfcc8ldr x1, [sp+88]
    002bfcccstr x1, [sp+56]
    002bfcd0ldr x0, [sp+64]
    002bfcd4ldur x29, [sp-8]
    002bfcd8ldr x30, [sp], 112
    002bfcdcret x30
    002bfce0
    002bfce0loc_2bfce0:
    002bfce0stp x0, x1, [sp+8]
    002bfce4stp x2, x3, [sp+24]
    002bfce8stp x4, x5, [sp+40]
    002bfcecmov x3, x30
    002bfcf0bl runtime.morestack_noctxt.abi0
    002bfcf4ldp x0, x1, [sp+8]
    002bfcf8ldp x2, x3, [sp+24]
    002bfcfcldp x4, x5, [sp+40]
    002bfd00b 0x2bfc30
    002bfd04
    002bfd04loc_2bfd04:
    002bfd04ldr x17, [x16]
    002bfd08add x20, sp, 120
    002bfd0csubs xzr, x20, x17
    002bfd10b.ne 0x2bfc50
    002bfd14add x20, sp, 8
    002bfd18str x20, [x16]
    002bfd1cb 0x2bfc50
    002bfc30
    002bfd20
    002bfd20crypto.Hash.New-fm: ; void crypto.Hash.New-fm(void)
    002bfd20ldr x16, [x28+16]
    002bfd24subs xzr, sp, x16
    002bfd28b.ls 0x2bfd70
    002bfd2cstr x30, [sp-64]!
    002bfd30stur x29, [sp-8]
    002bfd34sub x29, sp, 8
    002bfd38ldr x16, [x28+32]
    002bfd3ccbnz x16, 0x2bfd7c
    002bfd40
    002bfd40loc_2bfd40:
    002bfd40ldr x1, [x26+8]
    002bfd44str x1, [sp+16]
    002bfd48stp xzr, xzr, [sp+24]
    002bfd4cldr x0, [sp+16]
    002bfd50bl crypto.Hash.New
    002bfd54str x0, [sp+40]
    002bfd58str x1, [sp+48]
    002bfd5cstr x0, [sp+24]
    002bfd60str x1, [sp+32]
    002bfd64ldur x29, [sp-8]
    002bfd68ldr x30, [sp], 64
    002bfd6cret x30
    002bfd70
    002bfd70loc_2bfd70:
    002bfd70mov x3, x30
    002bfd74bl runtime.morestack.abi0
    002bfd78b 0x2bfd20
    002bfd7c
    002bfd7cloc_2bfd7c:
    002bfd7cldr x17, [x16]
    002bfd80add x20, sp, 72
    002bfd84subs xzr, x20, x17
    002bfd88b.ne 0x2bfd40
    002bfd8cadd x20, sp, 8
    002bfd90str x20, [x16]
    002bfd94b 0x2bfd40
    002bfd98udf 0
    002bfd9cudf 0
    002bfd20
    002bfda0
    002bfda0type:.eq.crypto/ecdsa.PrivateKey: ; void type:.eq.crypto/ecdsa.PrivateKey(crypto/ecdsa.PrivateKey * p, crypto/ecdsa.PrivateKey * q)
    002bfda0ldr x16, [x28+16]
    002bfda4subs xzr, sp, x16
    002bfda8b.ls 0x2bfe94
    002bfdacstr x30, [sp-80]!
    002bfdb0stur x29, [sp-8]
    002bfdb4sub x29, sp, 8
    002bfdb8str x0, [sp+88]
    002bfdbcstr x1, [sp+96]
    002bfdc0strb wzr, [sp+39]
    002bfdc4ldr x3, [sp+96]
    002bfdc8ldr x4, [x3]
    002bfdccldr x3, [x3+8]
    002bfdd0str x4, [sp+56]
    002bfdd4str x3, [sp+64]
    002bfdd8ldr x3, [sp+88]
    002bfddcldr x0, [x3]
    002bfde0ldr x1, [x3+8]
    002bfde4str x0, [sp+40]
    002bfde8str x1, [sp+48]
    002bfdecldr x3, [sp+56]
    002bfdf0subs xzr, x0, x3
    002bfdf4b.eq 0x2bfdfc
    002bfdf8b 0x2bfe74
    002bfdfc
    002bfdfcloc_2bfdfc:
    002bfdfcldr x2, [sp+64]
    002bfe00bl runtime.ifaceeq
    002bfe04tbnz w0, 0, 0x2bfe0c
    002bfe08b 0x2bfe6c
    002bfe0c
    002bfe0cloc_2bfe0c:
    002bfe0cldr x1, [sp+88]
    002bfe10ldr x2, [sp+96]
    002bfe14ldr x1, [x1+16]
    002bfe18ldr x2, [x2+16]
    002bfe1csubs xzr, x2, x1
    002bfe20b.eq 0x2bfe28
    002bfe24b 0x2bfe68
    002bfe28
    002bfe28loc_2bfe28:
    002bfe28ldr x1, [sp+88]
    002bfe2cldr x2, [sp+96]
    002bfe30ldr x1, [x1+24]
    002bfe34ldr x2, [x2+24]
    002bfe38subs xzr, x2, x1
    002bfe3cb.eq 0x2bfe44
    002bfe40b 0x2bfe64
    002bfe44
    002bfe44loc_2bfe44:
    002bfe44ldr x1, [sp+88]
    002bfe48ldr x2, [sp+96]
    002bfe4cldr x1, [x1+32]
    002bfe50ldr x2, [x2+32]
    002bfe54subs xzr, x2, x1
    002bfe58cset x1, eq
    002bfe5cstrb w1, [sp+39]
    002bfe60b 0x2bfe84
    002bfe64
    002bfe64loc_2bfe64:
    002bfe64b 0x2bfe70
    002bfe68
    002bfe68loc_2bfe68:
    002bfe68b 0x2bfe70
    002bfe6c
    002bfe6cloc_2bfe6c:
    002bfe6cb 0x2bfe70
    002bfe70
    002bfe70loc_2bfe70:
    002bfe70b 0x2bfe78
    002bfe74
    002bfe74loc_2bfe74:
    002bfe74b 0x2bfe78
    002bfe78
    002bfe78loc_2bfe78:
    002bfe78b 0x2bfe7c
    002bfe7c
    002bfe7cloc_2bfe7c:
    002bfe7cstrb wzr, [sp+39]
    002bfe80b 0x2bfe84
    002bfe84
    002bfe84loc_2bfe84:
    002bfe84ldrb w0, [sp+39]
    002bfe88ldur x29, [sp-8]
    002bfe8cldr x30, [sp], 80
    002bfe90ret x30
    002bfe94
    002bfe94loc_2bfe94:
    002bfe94stp x0, x1, [sp+8]
    002bfe98mov x3, x30
    002bfe9cbl runtime.morestack_noctxt.abi0
    002bfea0ldp x0, x1, [sp+8]
    002bfea4b 0x2bfda0
    002bfea8udf 0
    002bfeacudf 0
    002bfda0
    002bfeb0
    002bfeb0type:.eq.crypto/ecdsa.PublicKey: ; void type:.eq.crypto/ecdsa.PublicKey(crypto/ecdsa.PublicKey * p, crypto/ecdsa.PublicKey * q)
    002bfeb0ldr x16, [x28+16]
    002bfeb4subs xzr, sp, x16
    002bfeb8b.ls 0x2bff80
    002bfebcstr x30, [sp-80]!
    002bfec0stur x29, [sp-8]
    002bfec4sub x29, sp, 8
    002bfec8str x0, [sp+88]
    002bfeccstr x1, [sp+96]
    002bfed0strb wzr, [sp+39]
    002bfed4ldr x3, [sp+96]
    002bfed8ldr x4, [x3]
    002bfedcldr x3, [x3+8]
    002bfee0str x4, [sp+56]
    002bfee4str x3, [sp+64]
    002bfee8ldr x3, [sp+88]
    002bfeecldr x0, [x3]
    002bfef0ldr x1, [x3+8]
    002bfef4str x0, [sp+40]
    002bfef8str x1, [sp+48]
    002bfefcldr x3, [sp+56]
    002bff00subs xzr, x3, x0
    002bff04b.eq 0x2bff0c
    002bff08b 0x2bff60
    002bff0c
    002bff0cloc_2bff0c:
    002bff0cldr x2, [sp+64]
    002bff10bl runtime.ifaceeq
    002bff14tbnz w0, 0, 0x2bff1c
    002bff18b 0x2bff5c
    002bff1c
    002bff1cloc_2bff1c:
    002bff1cldr x1, [sp+88]
    002bff20ldr x2, [sp+96]
    002bff24ldr x1, [x1+16]
    002bff28ldr x2, [x2+16]
    002bff2csubs xzr, x2, x1
    002bff30b.eq 0x2bff38
    002bff34b 0x2bff58
    002bff38
    002bff38loc_2bff38:
    002bff38ldr x1, [sp+88]
    002bff3cldr x2, [sp+96]
    002bff40ldr x1, [x1+24]
    002bff44ldr x2, [x2+24]
    002bff48subs xzr, x2, x1
    002bff4ccset x1, eq
    002bff50strb w1, [sp+39]
    002bff54b 0x2bff70
    002bff58
    002bff58loc_2bff58:
    002bff58b 0x2bff68
    002bff5c
    002bff5cloc_2bff5c:
    002bff5cb 0x2bff64
    002bff60
    002bff60loc_2bff60:
    002bff60b 0x2bff64
    002bff64
    002bff64loc_2bff64:
    002bff64b 0x2bff68
    002bff68
    002bff68loc_2bff68:
    002bff68strb wzr, [sp+39]
    002bff6cb 0x2bff70
    002bff70
    002bff70loc_2bff70:
    002bff70ldrb w0, [sp+39]
    002bff74ldur x29, [sp-8]
    002bff78ldr x30, [sp], 80
    002bff7cret x30
    002bff80
    002bff80loc_2bff80:
    002bff80stp x0, x1, [sp+8]
    002bff84mov x3, x30
    002bff88bl runtime.morestack_noctxt.abi0
    002bff8cldp x0, x1, [sp+8]
    002bff90b 0x2bfeb0
    002bff94udf 0
    002bff98udf 0
    002bff9cudf 0
    002bfeb0
    002bffa0
    002bffa0crypto/rand.init.0: ; void crypto/rand.init.0(void)
    002bffa0ldr x16, [x28+16]
    002bffa4subs xzr, sp, x16
    002bffa8b.ls 0x2c004c
    002bffacstr x30, [sp-64]!
    002bffb0stur x29, [sp-8]
    002bffb4sub x29, sp, 8
    002bffb8adrp x0, 0x37c000
    002bffbcadd x0, x0, 2208
    002bffc0bl runtime.newobject
    002bffc4str x0, [sp+40]
    002bffc8str xzr, [x0]
    002bffccadrp x27, 0x78c000
    002bffd0ldr w1, [x27+3056]
    002bffd4cbz w1, 0x2bffdc
    002bffd8b 0x2bffe0
    002bffdc
    002bffdcloc_2bffdc:
    002bffdcb 0x2bfff0
    002bffe0
    002bffe0loc_2bffe0:
    002bffe0ldr x1, [x0+8]
    002bffe4bl runtime.gcWriteBarrier1
    002bffe8str x1, [x25]
    002bffecb 0x2bfff0
    002bfff0
    002bfff0loc_2bfff0:
    002bfff0str xzr, [x0+8]
    002bfff4ldr x0, [sp+40]
    002bfff8str x0, [sp+48]
    002bfffcadrp x1, 0x456000
    002c0000add x1, x1, 2688
    002c0004adrp x27, 0x761000
    002c0008str x1, [x27+2672]
    002c000cadrp x27, 0x78b000
    002c0010ldr w1, [x27+3056]
    002c0014cbz w1, 0x2c001c
    002c0018b 0x2c0020
    002c001c
    002c001cloc_2c001c:
    002c001cb 0x2c0038
    002c0020
    002c0020loc_2c0020:
    002c0020bl runtime.gcWriteBarrier2
    002c0024str x0, [x25]
    002c0028adrp x27, 0x761000
    002c002cldr x1, [x27+2680]
    002c0030str x1, [x25+8]
    002c0034b 0x2c0038
    002c0038
    002c0038loc_2c0038:
    002c0038adrp x27, 0x761000
    002c003cstr x0, [x27+2680]
    002c0040ldur x29, [sp-8]
    002c0044ldr x30, [sp], 64
    002c0048ret x30
    002c004c
    002c004cloc_2c004c:
    002c004cmov x3, x30
    002c0050bl runtime.morestack_noctxt.abi0
    002c0054b 0x2bffa0
    002c0058udf 0
    002c005cudf 0
    002bffa0
    002c0060
    002c0060crypto/rand.(*reader).Read: ; void crypto/rand.(*reader).Read(crypto/rand.reader * r, struct []uint8 b)
    002c0060ldr x16, [x28+16]
    002c0064subs xzr, sp, x16
    002c0068b.ls 0x2c00f4
    002c006cstr x30, [sp-80]!
    002c0070stur x29, [sp-8]
    002c0074sub x29, sp, 8
    002c0078str x0, [sp+88]
    002c007cstr x1, [sp+96]
    002c0080str x2, [sp+104]
    002c0084str x3, [sp+112]
    002c0088str xzr, [sp+40]
    002c008cstp xzr, xzr, [sp+56]
    002c0090bl crypto/internal/boring.Unreachable
    002c0094adrp x27, 0x78b000
    002c0098ldrb w0, [x27+1548]
    002c009ctbnz w0, 0, 0x2c00a4
    002c00a0b 0x2c00b8
    002c00a4
    002c00a4loc_2c00a4:
    002c00a4ldr x0, [sp+96]
    002c00a8ldr x1, [sp+104]
    002c00acldr x2, [sp+112]
    002c00b0bl crypto/internal/fips140/drbg.Read
    002c00b4b 0x2c00cc
    002c00b8
    002c00b8loc_2c00b8:
    002c00b8ldr x0, [sp+96]
    002c00bcldr x1, [sp+104]
    002c00c0ldr x2, [sp+112]
    002c00c4bl crypto/internal/sysrand.Read
    002c00c8b 0x2c00cc
    002c00cc
    002c00ccloc_2c00cc:
    002c00ccldr x3, [sp+104]
    002c00d0str x3, [sp+48]
    002c00d4str x3, [sp+40]
    002c00d8stp xzr, xzr, [sp+56]
    002c00dcldr x0, [sp+40]
    002c00e0mov x1, xzr
    002c00e4mov x2, xzr
    002c00e8ldur x29, [sp-8]
    002c00ecldr x30, [sp], 80
    002c00f0ret x30
    002c00f4
    002c00f4loc_2c00f4:
    002c00f4stp x0, x1, [sp+8]
    002c00f8stp x2, x3, [sp+24]
    002c00fcmov x3, x30
    002c0100bl runtime.morestack_noctxt.abi0
    002c0104ldp x0, x1, [sp+8]
    002c0108ldp x2, x3, [sp+24]
    002c010cb 0x2c0060
    002c0060
    002c0110
    002c0110crypto/rand.Read: ; void crypto/rand.Read(struct []uint8 b)
    002c0110ldr x16, [x28+16]
    002c0114sub x17, sp, 176
    002c0118subs xzr, x17, x16
    002c011cb.ls 0x2c037c
    002c0120sub x20, sp, 304
    002c0124stp x29, x30, [x20-8]
    002c0128add sp, x20, 0
    002c012csub x29, sp, 8
    002c0130str x0, [sp+312]
    002c0134str x1, [sp+320]
    002c0138str x2, [sp+328]
    002c013cstr xzr, [sp+56]
    002c0140stp xzr, xzr, [sp+112]
    002c0144str xzr, [sp+272]
    002c0148adrp x27, 0x761000
    002c014cldr x4, [x27+2672]
    002c0150adrp x27, 0x761000
    002c0154ldr x5, [x27+2680]
    002c0158adrp x6, 0x455000
    002c015cadd x6, x6, 2688
    002c0160subs xzr, x4, x6
    002c0164b.eq 0x2c016c
    002c0168b 0x2c0174
    002c016c
    002c016cloc_2c016c:
    002c016corr x0, xzr, 1
    002c0170b 0x2c0180
    002c0174
    002c0174loc_2c0174:
    002c0174mov x0, xzr
    002c0178mov x5, xzr
    002c017cb 0x2c0180
    002c0180
    002c0180loc_2c0180:
    002c0180str x5, [sp+272]
    002c0184strb w0, [sp+55]
    002c0188ldr x4, [sp+272]
    002c018cstr x4, [sp+168]
    002c0190ldrb w4, [sp+55]
    002c0194strb w4, [sp+54]
    002c0198ldr x4, [sp+168]
    002c019cstr x4, [sp+104]
    002c01a0ldrb w4, [sp+54]
    002c01a4strb w4, [sp+53]
    002c01a8tbnz w4, 0, 0x2c01b0
    002c01acb 0x2c01f0
    002c01b0
    002c01b0loc_2c01b0:
    002c01b0stp xzr, xzr, [sp+256]
    002c01b4ldr x1, [sp+312]
    002c01b8ldr x2, [sp+320]
    002c01bcldr x3, [sp+328]
    002c01c0ldr x0, [sp+104]
    002c01c4bl crypto/rand.(*reader).Read
    002c01c8str x0, [sp+88]
    002c01ccstr x1, [sp+256]
    002c01d0str x2, [sp+264]
    002c01d4ldr x4, [sp+88]
    002c01d8str x4, [sp+64]
    002c01dcstr x1, [sp+152]
    002c01e0str x2, [sp+160]
    002c01e4str x1, [sp+112]
    002c01e8str x2, [sp+120]
    002c01ecb 0x2c02ec
    002c01f0
    002c01f0loc_2c01f0:
    002c01f0ldr x2, [sp+320]
    002c01f4str x2, [sp+88]
    002c01f8adrp x0, 0x335000
    002c01fcadd x0, x0, 3072
    002c0200mov x1, x2
    002c0204bl runtime.makeslice
    002c0208ldr x3, [sp+88]
    002c020cldr x4, [sp+88]
    002c0210str x0, [sp+128]
    002c0214str x3, [sp+136]
    002c0218str x4, [sp+144]
    002c021cstp xzr, xzr, [sp+256]
    002c0220adrp x27, 0x761000
    002c0224ldr x0, [x27+2672]
    002c0228ldr x2, [sp+128]
    002c022cldr x3, [sp+136]
    002c0230adrp x27, 0x761000
    002c0234ldr x1, [x27+2680]
    002c0238ldr x4, [sp+144]
    002c023cbl io.ReadFull
    002c0240str x0, [sp+88]
    002c0244str x1, [sp+256]
    002c0248str x2, [sp+264]
    002c024cldr x3, [sp+88]
    002c0250str x3, [sp+96]
    002c0254str x1, [sp+280]
    002c0258str x2, [sp+288]
    002c025cstr x1, [sp+112]
    002c0260str x2, [sp+120]
    002c0264ldr x3, [sp+312]
    002c0268ldr x4, [sp+320]
    002c026cldr x5, [sp+328]
    002c0270str x3, [sp+216]
    002c0274str x4, [sp+224]
    002c0278str x5, [sp+232]
    002c027cldr x3, [sp+136]
    002c0280ldr x4, [sp+128]
    002c0284ldr x5, [sp+144]
    002c0288str x4, [sp+192]
    002c028cstr x3, [sp+200]
    002c0290str x5, [sp+208]
    002c0294ldr x4, [sp+224]
    002c0298str x4, [sp+80]
    002c029csubs xzr, x4, x3
    002c02a0b.gt 0x2c02a8
    002c02a4b 0x2c02b0
    002c02a8
    002c02a8loc_2c02a8:
    002c02a8str x3, [sp+80]
    002c02acb 0x2c02b4
    002c02b0
    002c02b0loc_2c02b0:
    002c02b0b 0x2c02b4
    002c02b4
    002c02b4loc_2c02b4:
    002c02b4ldr x3, [sp+192]
    002c02b8ldr x4, [sp+216]
    002c02bcsubs xzr, x3, x4
    002c02c0b.ne 0x2c02c8
    002c02c4b 0x2c02e4
    002c02c8
    002c02c8loc_2c02c8:
    002c02c8ldr x3, [sp+80]
    002c02ccstr x3, [sp+72]
    002c02d0ldr x2, [sp+72]
    002c02d4ldr x1, [sp+192]
    002c02d8ldr x0, [sp+216]
    002c02dcbl runtime.memmove
    002c02e0b 0x2c02e8
    002c02e4
    002c02e4loc_2c02e4:
    002c02e4b 0x2c02e8
    002c02e8
    002c02e8loc_2c02e8:
    002c02e8b 0x2c02ec
    002c02ec
    002c02ecloc_2c02ec:
    002c02ecldr x3, [sp+112]
    002c02f0cbnz x3, 0x2c0320
    002c02f4b 0x2c02f8
    002c02f8
    002c02f8loc_2c02f8:
    002c02f8ldr x3, [sp+320]
    002c02fcstr x3, [sp+88]
    002c0300str x3, [sp+56]
    002c0304stp xzr, xzr, [sp+112]
    002c0308ldr x0, [sp+56]
    002c030cmov x1, xzr
    002c0310mov x2, xzr
    002c0314ldp x29, x30, [sp-8]
    002c0318add sp, sp, 304
    002c031cret x30
    002c0320
    002c0320loc_2c0320:
    002c0320ldr x1, [sp+112]
    002c0324ldrsb x27, [x1]
    002c0328ldr x1, [x1+24]
    002c032cldr x0, [sp+120]
    002c0330blr x1
    002c0334str x0, [sp+240]
    002c0338str x1, [sp+248]
    002c033cmovz x2, 74
    002c0340mov x3, x0
    002c0344mov x4, x1
    002c0348mov x0, xzr
    002c034cadrp x1, 0x40e000
    002c0350add x1, x1, 3672
    002c0354bl runtime.concatstring2
    002c0358str x0, [sp+176]
    002c035cstr x1, [sp+184]
    002c0360bl crypto/rand.fatal
    002c0364adrp x0, 0x335000
    002c0368add x0, x0, 2944
    002c036cadrp x1, 0x451000
    002c0370add x1, x1, 8
    002c0374bl runtime.gopanic
    002c0378hint
    002c037c
    002c037cloc_2c037c:
    002c037cstp x0, x1, [sp+8]
    002c0380str x2, [sp+24]
    002c0384mov x3, x30
    002c0388bl runtime.morestack_noctxt.abi0
    002c038cldp x0, x1, [sp+8]
    002c0390ldr x2, [sp+24]
    002c0394b 0x2c0110
    002c0398udf 0
    002c039cudf 0
    002c0110
    002c03a0
    002c03a0crypto/rand.Int: ; void crypto/rand.Int(io.Reader rand, math/big.Int * max)
    002c03a0ldr x16, [x28+16]
    002c03a4sub x17, sp, 64
    002c03a8subs xzr, x17, x16
    002c03acb.ls 0x2c05e8
    002c03b0str x30, [sp-192]!
    002c03b4stur x29, [sp-8]
    002c03b8sub x29, sp, 8
    002c03bcstr x0, [sp+200]
    002c03c0str x1, [sp+208]
    002c03c4str x2, [sp+216]
    002c03c8str xzr, [sp+96]
    002c03ccstp xzr, xzr, [sp+104]
    002c03d0ldr x0, [sp+216]
    002c03d4bl math/big.(*Int).Sign
    002c03d8str x0, [sp+88]
    002c03dcsubs xzr, x0, 0
    002c03e0b.le 0x2c05d0
    002c03e4b 0x2c03e8
    002c03e8
    002c03e8loc_2c03e8:
    002c03e8adrp x0, 0x385000
    002c03ecadd x0, x0, 1024
    002c03f0bl runtime.newobject
    002c03f4str x0, [sp+96]
    002c03f8orr x1, xzr, 1
    002c03fcbl math/big.(*Int).SetUint64
    002c0400str x0, [sp+176]
    002c0404ldr x1, [sp+96]
    002c0408ldr x2, [sp+216]
    002c040cmov x3, x0
    002c0410mov x0, x1
    002c0414mov x1, x2
    002c0418mov x2, x3
    002c041cbl math/big.(*Int).Sub
    002c0420ldr x0, [sp+96]
    002c0424bl math/big.(*Int).BitLen
    002c0428str x0, [sp+64]
    002c042ccbz x0, 0x2c0434
    002c0430b 0x2c044c
    002c0434
    002c0434loc_2c0434:
    002c0434ldr x1, [sp+104]
    002c0438ldr x2, [sp+112]
    002c043cldr x0, [sp+96]
    002c0440ldur x29, [sp-8]
    002c0444ldr x30, [sp], 192
    002c0448ret x30
    002c044c
    002c044cloc_2c044c:
    002c044cadd x3, x0, 7
    002c0450sbfm x3, x3, 63, 63
    002c0454add x3, x0, x3, lsr #61
    002c0458add x3, x3, 7
    002c045csbfm x3, x3, 3, 63
    002c0460str x3, [sp+56]
    002c0464sbfm x3, x0, 63, 63
    002c0468add x3, x0, x3, lsr #61
    002c046cand x3, x3, -8
    002c0470sub x3, x0, x3
    002c0474str x3, [sp+72]
    002c0478ldr x3, [sp+72]
    002c047ccbz x3, 0x2c0484
    002c0480b 0x2c0490
    002c0484
    002c0484loc_2c0484:
    002c0484orr x3, xzr, 8
    002c0488str x3, [sp+72]
    002c048cb 0x2c0494
    002c0490
    002c0490loc_2c0490:
    002c0490b 0x2c0494
    002c0494
    002c0494loc_2c0494:
    002c0494ldr x2, [sp+56]
    002c0498ldr x1, [sp+56]
    002c049cadrp x0, 0x335000
    002c04a0add x0, x0, 3072
    002c04a4bl runtime.makeslice
    002c04a8ldr x3, [sp+56]
    002c04acldr x4, [sp+56]
    002c04b0str x0, [sp+120]
    002c04b4str x3, [sp+128]
    002c04b8str x4, [sp+136]
    002c04bcb 0x2c04c0
    002c04c0
    002c04c0loc_2c04c0:
    002c04c0b 0x2c04c4
    002c04c4
    002c04c4loc_2c04c4:
    002c04c4stp xzr, xzr, [sp+160]
    002c04c8ldr x0, [sp+200]
    002c04ccldr x2, [sp+120]
    002c04d0ldr x3, [sp+128]
    002c04d4ldr x1, [sp+208]
    002c04d8ldr x4, [sp+136]
    002c04dcbl io.ReadFull
    002c04e0str x0, [sp+88]
    002c04e4str x1, [sp+160]
    002c04e8str x2, [sp+168]
    002c04ecldr x5, [sp+88]
    002c04f0str x5, [sp+80]
    002c04f4str x1, [sp+144]
    002c04f8str x2, [sp+152]
    002c04fcstr x1, [sp+104]
    002c0500str x2, [sp+112]
    002c0504cbnz x1, 0x2c050c
    002c0508b 0x2c0528
    002c050c
    002c050cloc_2c050c:
    002c050cstr xzr, [sp+96]
    002c0510ldr x1, [sp+104]
    002c0514ldr x2, [sp+112]
    002c0518mov x0, xzr
    002c051cldur x29, [sp-8]
    002c0520ldr x30, [sp], 192
    002c0524ret x30
    002c0528
    002c0528loc_2c0528:
    002c0528ldr x1, [sp+128]
    002c052cldr x4, [sp+120]
    002c0530subs xzr, x1, 0
    002c0534b.hi 0x2c053c
    002c0538b 0x2c05c8
    002c053c
    002c053cloc_2c053c:
    002c053cldr x1, [sp+128]
    002c0540ldrb w4, [x4]
    002c0544ldr x5, [sp+120]
    002c0548ldr x6, [sp+72]
    002c054corr x7, xzr, 1
    002c0550lslv x8, x7, x6
    002c0554subs xzr, x6, 64
    002c0558csel x6, x8, xzr, lo
    002c055csub x6, x6, 1
    002c0560and x4, x4, x6
    002c0564subs xzr, x1, 0
    002c0568b.hi 0x2c0570
    002c056cb 0x2c05c0
    002c0570
    002c0570loc_2c0570:
    002c0570strb w4, [x5]
    002c0574ldr x1, [sp+120]
    002c0578ldr x2, [sp+128]
    002c057cldr x3, [sp+136]
    002c0580ldr x0, [sp+96]
    002c0584bl math/big.(*Int).SetBytes
    002c0588ldr x1, [sp+216]
    002c058cldr x0, [sp+96]
    002c0590bl math/big.(*Int).Cmp
    002c0594str x0, [sp+88]
    002c0598tbnz x0, 63, 0x2c05a0
    002c059cb 0x2c05b8
    002c05a0
    002c05a0loc_2c05a0:
    002c05a0ldr x1, [sp+104]
    002c05a4ldr x2, [sp+112]
    002c05a8ldr x0, [sp+96]
    002c05acldur x29, [sp-8]
    002c05b0ldr x30, [sp], 192
    002c05b4ret x30
    002c05b8
    002c05b8loc_2c05b8:
    002c05b8b 0x2c05bc
    002c05bc
    002c05bcloc_2c05bc:
    002c05bcb 0x2c04c0
    002c05c0
    002c05c0loc_2c05c0:
    002c05c0mov x0, xzr
    002c05c4bl runtime.panicIndex
    002c05c8
    002c05c8loc_2c05c8:
    002c05c8mov x0, xzr
    002c05ccbl runtime.panicIndex
    002c05d0
    002c05d0loc_2c05d0:
    002c05d0adrp x0, 0x335000
    002c05d4add x0, x0, 2944
    002c05d8adrp x1, 0x451000
    002c05dcadd x1, x1, 4064
    002c05e0bl runtime.gopanic
    002c05e4hint
    002c05e8
    002c05e8loc_2c05e8:
    002c05e8stp x0, x1, [sp+8]
    002c05ecstr x2, [sp+24]
    002c05f0mov x3, x30
    002c05f4bl runtime.morestack_noctxt.abi0
    002c05f8ldp x0, x1, [sp+8]
    002c05fcldr x2, [sp+24]
    002c0600b 0x2c03a0
    002c0604udf 0
    002c0608udf 0
    002c060cudf 0
    002c03a0
    002c0610
    002c0610crypto/ed25519.PublicKey.Equal: ; void crypto/ed25519.PublicKey.Equal(crypto/ed25519.PublicKey pub, crypto.PublicKey x)
    002c0610ldr x16, [x28+16]
    002c0614sub x17, sp, 32
    002c0618subs xzr, x17, x16
    002c061cb.ls 0x2c0734
    002c0620str x30, [sp-160]!
    002c0624stur x29, [sp-8]
    002c0628sub x29, sp, 8
    002c062cstr x0, [sp+168]
    002c0630str x1, [sp+176]
    002c0634str x2, [sp+184]
    002c0638str x3, [sp+192]
    002c063cstr x4, [sp+200]
    002c0640strb wzr, [sp+68]
    002c0644str xzr, [sp+104]
    002c0648stp xzr, xzr, [sp+112]
    002c064cldr x6, [sp+200]
    002c0650ldr x7, [sp+192]
    002c0654adrp x8, 0x352000
    002c0658add x8, x8, 2560
    002c065csubs xzr, x7, x8
    002c0660b.eq 0x2c0668
    002c0664b 0x2c067c
    002c0668
    002c0668loc_2c0668:
    002c0668ldr x7, [x6]
    002c066cldr x8, [x6+8]
    002c0670ldr x6, [x6+16]
    002c0674orr x0, xzr, 1
    002c0678b 0x2c0690
    002c067c
    002c067cloc_2c067c:
    002c067cmov x8, xzr
    002c0680mov x6, xzr
    002c0684mov x0, xzr
    002c0688mov x7, xzr
    002c068cb 0x2c0690
    002c0690
    002c0690loc_2c0690:
    002c0690str x7, [sp+104]
    002c0694str x8, [sp+112]
    002c0698str x6, [sp+120]
    002c069cstrb w0, [sp+70]
    002c06a0ldr x6, [sp+104]
    002c06a4ldr x7, [sp+112]
    002c06a8ldr x8, [sp+120]
    002c06acstr x6, [sp+128]
    002c06b0str x7, [sp+136]
    002c06b4str x8, [sp+144]
    002c06b8ldrb w6, [sp+70]
    002c06bcstrb w6, [sp+71]
    002c06c0ldr x6, [sp+128]
    002c06c4ldr x7, [sp+136]
    002c06c8ldr x8, [sp+144]
    002c06ccstr x6, [sp+80]
    002c06d0str x7, [sp+88]
    002c06d4str x8, [sp+96]
    002c06d8ldrb w6, [sp+71]
    002c06dcstrb w6, [sp+69]
    002c06e0tbnz w6, 0, 0x2c06e8
    002c06e4b 0x2c0720
    002c06e8
    002c06e8loc_2c06e8:
    002c06e8ldr x0, [sp+168]
    002c06ecldr x1, [sp+176]
    002c06f0ldr x2, [sp+184]
    002c06f4ldr x3, [sp+80]
    002c06f8ldr x4, [sp+88]
    002c06fcldr x5, [sp+96]
    002c0700bl crypto/subtle.ConstantTimeCompare
    002c0704str x0, [sp+72]
    002c0708subs xzr, x0, 1
    002c070ccset x0, eq
    002c0710strb w0, [sp+68]
    002c0714ldur x29, [sp-8]
    002c0718ldr x30, [sp], 160
    002c071cret x30
    002c0720
    002c0720loc_2c0720:
    002c0720strb wzr, [sp+68]
    002c0724mov x0, xzr
    002c0728ldur x29, [sp-8]
    002c072cldr x30, [sp], 160
    002c0730ret x30
    002c0734
    002c0734loc_2c0734:
    002c0734stp x0, x1, [sp+8]
    002c0738stp x2, x3, [sp+24]
    002c073cstr x4, [sp+40]
    002c0740mov x3, x30
    002c0744bl runtime.morestack_noctxt.abi0
    002c0748ldp x0, x1, [sp+8]
    002c074cldp x2, x3, [sp+24]
    002c0750ldr x4, [sp+40]
    002c0754b 0x2c0610
    002c0758udf 0
    002c075cudf 0
    002c0610
    002c0760
    002c0760crypto/ed25519.PrivateKey.Public: ; void crypto/ed25519.PrivateKey.Public(crypto/ed25519.PrivateKey priv)
    002c0760ldr x16, [x28+16]
    002c0764sub x17, sp, 48
    002c0768subs xzr, x17, x16
    002c076cb.ls 0x2c08b4
    002c0770str x30, [sp-176]!
    002c0774stur x29, [sp-8]
    002c0778sub x29, sp, 8
    002c077cstr x0, [sp+184]
    002c0780str x1, [sp+192]
    002c0784str x2, [sp+200]
    002c0788stp xzr, xzr, [sp+48]
    002c078cadrp x0, 0x335000
    002c0790add x0, x0, 3072
    002c0794orr x1, xzr, 32
    002c0798mov x2, x1
    002c079cbl runtime.makeslice
    002c07a0str x0, [sp+64]
    002c07a4orr x0, xzr, 32
    002c07a8str x0, [sp+72]
    002c07acstr x0, [sp+80]
    002c07b0ldr x1, [sp+192]
    002c07b4ldr x3, [sp+184]
    002c07b8ldr x4, [sp+200]
    002c07bcb 0x2c07c0
    002c07c0
    002c07c0loc_2c07c0:
    002c07c0subs xzr, x1, 32
    002c07c4b.hs 0x2c07cc
    002c07c8b 0x2c08ac
    002c07cc
    002c07ccloc_2c07cc:
    002c07ccsub x4, x4, 32
    002c07d0sub x5, xzr, x4
    002c07d4sub x6, x1, 32
    002c07d8sbfm x5, x5, 63, 63
    002c07dcand x5, x5, 32
    002c07e0add x3, x3, x5
    002c07e4str x3, [sp+144]
    002c07e8str x6, [sp+152]
    002c07ecstr x4, [sp+160]
    002c07f0ldr x3, [sp+64]
    002c07f4ldr x4, [sp+72]
    002c07f8ldr x5, [sp+80]
    002c07fcstr x3, [sp+120]
    002c0800str x4, [sp+128]
    002c0804str x5, [sp+136]
    002c0808ldr x3, [sp+152]
    002c080cldr x4, [sp+144]
    002c0810ldr x5, [sp+160]
    002c0814str x4, [sp+96]
    002c0818str x3, [sp+104]
    002c081cstr x5, [sp+112]
    002c0820ldr x4, [sp+128]
    002c0824str x4, [sp+40]
    002c0828subs xzr, x4, x3
    002c082cb.gt 0x2c0834
    002c0830b 0x2c083c
    002c0834
    002c0834loc_2c0834:
    002c0834str x3, [sp+40]
    002c0838b 0x2c0840
    002c083c
    002c083cloc_2c083c:
    002c083cb 0x2c0840
    002c0840
    002c0840loc_2c0840:
    002c0840ldr x3, [sp+96]
    002c0844ldr x4, [sp+120]
    002c0848subs xzr, x3, x4
    002c084cb.ne 0x2c0854
    002c0850b 0x2c0870
    002c0854
    002c0854loc_2c0854:
    002c0854ldr x3, [sp+40]
    002c0858str x3, [sp+32]
    002c085cldr x2, [sp+32]
    002c0860ldr x1, [sp+96]
    002c0864ldr x0, [sp+120]
    002c0868bl runtime.memmove
    002c086cb 0x2c0874
    002c0870
    002c0870loc_2c0870:
    002c0870b 0x2c0874
    002c0874
    002c0874loc_2c0874:
    002c0874ldr x0, [sp+64]
    002c0878ldr x1, [sp+72]
    002c087cldr x2, [sp+80]
    002c0880bl runtime.convTslice
    002c0884str x0, [sp+88]
    002c0888adrp x3, 0x352000
    002c088cadd x3, x3, 2560
    002c0890str x3, [sp+48]
    002c0894str x0, [sp+56]
    002c0898ldr x0, [sp+48]
    002c089cldr x1, [sp+56]
    002c08a0ldur x29, [sp-8]
    002c08a4ldr x30, [sp], 176
    002c08a8ret x30
    002c08ac
    002c08acloc_2c08ac:
    002c08acbl runtime.panicSliceB
    002c08b0hint
    002c08b4
    002c08b4loc_2c08b4:
    002c08b4stp x0, x1, [sp+8]
    002c08b8str x2, [sp+24]
    002c08bcmov x3, x30
    002c08c0bl runtime.morestack_noctxt.abi0
    002c08c4ldp x0, x1, [sp+8]
    002c08c8ldr x2, [sp+24]
    002c08ccb 0x2c0760
    002c0760
    002c08d0
    002c08d0crypto/ed25519.PrivateKey.Sign: ; void crypto/ed25519.PrivateKey.Sign(crypto/ed25519.PrivateKey priv, io.Reader rand, struct []uint8 message, crypto.SignerOpts opts)
    002c08d0ldr x16, [x28+16]
    002c08d4sub x17, sp, 192
    002c08d8subs xzr, x17, x16
    002c08dcb.ls 0x2c0ce8
    002c08e0sub x20, sp, 320
    002c08e4stp x29, x30, [x20-8]
    002c08e8add sp, x20, 0
    002c08ecsub x29, sp, 8
    002c08f0str x0, [sp+328]
    002c08f4str x1, [sp+336]
    002c08f8str x2, [sp+344]
    002c08fcstr x3, [sp+352]
    002c0900str x4, [sp+360]
    002c0904str x5, [sp+368]
    002c0908str x6, [sp+376]
    002c090cstr x7, [sp+384]
    002c0910str x8, [sp+392]
    002c0914str x9, [sp+400]
    002c0918str xzr, [sp+72]
    002c091cstp xzr, xzr, [sp+80]
    002c0920stp xzr, xzr, [sp+112]
    002c0924str xzr, [sp+216]
    002c0928stp xzr, xzr, [sp+200]
    002c092cldr x0, [sp+328]
    002c0930ldr x1, [sp+336]
    002c0934ldr x2, [sp+344]
    002c0938bl crypto/internal/fips140/ed25519.NewPrivateKey
    002c093cstr x0, [sp+216]
    002c0940str x1, [sp+200]
    002c0944str x2, [sp+208]
    002c0948ldr x3, [sp+216]
    002c094cstr x3, [sp+160]
    002c0950ldr x3, [sp+208]
    002c0954ldr x4, [sp+200]
    002c0958str x4, [sp+144]
    002c095cstr x3, [sp+152]
    002c0960ldr x3, [sp+160]
    002c0964str x3, [sp+104]
    002c0968ldr x3, [sp+152]
    002c096cldr x4, [sp+144]
    002c0970str x4, [sp+112]
    002c0974str x3, [sp+120]
    002c0978cbnz x4, 0x2c0980
    002c097cb 0x2c09a8
    002c0980
    002c0980loc_2c0980:
    002c0980str xzr, [sp+72]
    002c0984stp xzr, xzr, [sp+80]
    002c0988ldr x3, [sp+112]
    002c098cldr x4, [sp+120]
    002c0990mov x0, xzr
    002c0994mov x1, xzr
    002c0998mov x2, x1
    002c099cldp x29, x30, [sp-8]
    002c09a0add sp, sp, 320
    002c09a4ret x30
    002c09a8
    002c09a8loc_2c09a8:
    002c09a8ldr x1, [sp+392]
    002c09acldrsb x27, [x1]
    002c09b0ldr x1, [x1+24]
    002c09b4ldr x0, [sp+400]
    002c09b8blr x1
    002c09bcstr x0, [sp+64]
    002c09c0stp xzr, xzr, [sp+128]
    002c09c4str xzr, [sp+192]
    002c09c8ldr x1, [sp+392]
    002c09ccldr x2, [sp+400]
    002c09d0adrp x3, 0x456000
    002c09d4add x3, x3, 832
    002c09d8subs xzr, x1, x3
    002c09dcb.eq 0x2c09e4
    002c09e0b 0x2c09ec
    002c09e4
    002c09e4loc_2c09e4:
    002c09e4orr x0, xzr, 1
    002c09e8b 0x2c09f8
    002c09ec
    002c09ecloc_2c09ec:
    002c09ecmov x0, xzr
    002c09f0mov x2, xzr
    002c09f4b 0x2c09f8
    002c09f8
    002c09f8loc_2c09f8:
    002c09f8str x2, [sp+192]
    002c09fcstrb w0, [sp+62]
    002c0a00ldr x6, [sp+192]
    002c0a04str x6, [sp+304]
    002c0a08ldrb w6, [sp+62]
    002c0a0cstrb w6, [sp+63]
    002c0a10ldr x6, [sp+304]
    002c0a14str x6, [sp+96]
    002c0a18ldrb w6, [sp+63]
    002c0a1cstrb w6, [sp+61]
    002c0a20tbnz w6, 0, 0x2c0a28
    002c0a24b 0x2c0a44
    002c0a28
    002c0a28loc_2c0a28:
    002c0a28ldr x6, [sp+96]
    002c0a2cldrsb x27, [x6]
    002c0a30ldr x7, [x6+8]
    002c0a34ldr x6, [x6+16]
    002c0a38str x7, [sp+128]
    002c0a3cstr x6, [sp+136]
    002c0a40b 0x2c0a48
    002c0a44
    002c0a44loc_2c0a44:
    002c0a44b 0x2c0a48
    002c0a48
    002c0a48loc_2c0a48:
    002c0a48ldr x6, [sp+64]
    002c0a4csubs xzr, x6, 7
    002c0a50b.eq 0x2c0a58
    002c0a54b 0x2c0b00
    002c0a58
    002c0a58loc_2c0a58:
    002c0a58b 0x2c0a5c
    002c0a5c
    002c0a5cloc_2c0a5c:
    002c0a5cstr xzr, [sp+168]
    002c0a60stp xzr, xzr, [sp+176]
    002c0a64stp xzr, xzr, [sp+200]
    002c0a68ldr x1, [sp+368]
    002c0a6cldr x4, [sp+128]
    002c0a70ldr x2, [sp+376]
    002c0a74ldr x5, [sp+136]
    002c0a78ldr x3, [sp+384]
    002c0a7cldr x0, [sp+104]
    002c0a80bl crypto/internal/fips140/ed25519.SignPH
    002c0a84str x0, [sp+168]
    002c0a88str x1, [sp+176]
    002c0a8cstr x2, [sp+184]
    002c0a90str x3, [sp+200]
    002c0a94str x4, [sp+208]
    002c0a98ldr x6, [sp+168]
    002c0a9cldr x7, [sp+176]
    002c0aa0ldr x8, [sp+184]
    002c0aa4str x6, [sp+280]
    002c0aa8str x7, [sp+288]
    002c0aacstr x8, [sp+296]
    002c0ab0ldr x6, [sp+200]
    002c0ab4ldr x7, [sp+208]
    002c0ab8str x6, [sp+264]
    002c0abcstr x7, [sp+272]
    002c0ac0ldr x6, [sp+280]
    002c0ac4ldr x7, [sp+288]
    002c0ac8ldr x8, [sp+296]
    002c0accstr x6, [sp+72]
    002c0ad0str x7, [sp+80]
    002c0ad4str x8, [sp+88]
    002c0ad8ldr x3, [sp+264]
    002c0adcldr x4, [sp+272]
    002c0ae0str x3, [sp+112]
    002c0ae4str x4, [sp+120]
    002c0ae8ldr x0, [sp+72]
    002c0aecldr x1, [sp+80]
    002c0af0ldr x2, [sp+88]
    002c0af4ldp x29, x30, [sp-8]
    002c0af8add sp, sp, 320
    002c0afcret x30
    002c0b00
    002c0b00loc_2c0b00:
    002c0b00ldr x6, [sp+64]
    002c0b04subs xzr, x6, 0
    002c0b08cset x7, eq
    002c0b0cstrb w7, [sp+62]
    002c0b10cbz x6, 0x2c0b18
    002c0b14b 0x2c0b2c
    002c0b18
    002c0b18loc_2c0b18:
    002c0b18ldr x6, [sp+136]
    002c0b1csubs xzr, x6, 0
    002c0b20cset x6, ne
    002c0b24strb w6, [sp+62]
    002c0b28b 0x2c0b30
    002c0b2c
    002c0b2cloc_2c0b2c:
    002c0b2cb 0x2c0b30
    002c0b30
    002c0b30loc_2c0b30:
    002c0b30ldrb w6, [sp+62]
    002c0b34tbnz w6, 0, 0x2c0b3c
    002c0b38b 0x2c0c3c
    002c0b3c
    002c0b3cloc_2c0b3c:
    002c0b3cb 0x2c0b40
    002c0b40
    002c0b40loc_2c0b40:
    002c0b40adrp x27, 0x78b000
    002c0b44ldrb w6, [x27+1551]
    002c0b48tbnz w6, 0, 0x2c0b50
    002c0b4cb 0x2c0b98
    002c0b50
    002c0b50loc_2c0b50:
    002c0b50adrp x0, 0x40e000
    002c0b54add x0, x0, 2163
    002c0b58movz x1, 70
    002c0b5cbl errors.New
    002c0b60str x0, [sp+200]
    002c0b64str x1, [sp+208]
    002c0b68str xzr, [sp+72]
    002c0b6cstp xzr, xzr, [sp+80]
    002c0b70ldr x3, [sp+200]
    002c0b74ldr x4, [sp+208]
    002c0b78str x3, [sp+112]
    002c0b7cstr x4, [sp+120]
    002c0b80ldr x0, [sp+72]
    002c0b84ldr x1, [sp+80]
    002c0b88ldr x2, [sp+88]
    002c0b8cldp x29, x30, [sp-8]
    002c0b90add sp, sp, 320
    002c0b94ret x30
    002c0b98
    002c0b98loc_2c0b98:
    002c0b98str xzr, [sp+168]
    002c0b9cstp xzr, xzr, [sp+176]
    002c0ba0stp xzr, xzr, [sp+200]
    002c0ba4ldr x1, [sp+368]
    002c0ba8ldr x4, [sp+128]
    002c0bacldr x2, [sp+376]
    002c0bb0ldr x5, [sp+136]
    002c0bb4ldr x3, [sp+384]
    002c0bb8ldr x0, [sp+104]
    002c0bbcbl crypto/internal/fips140/ed25519.SignCtx
    002c0bc0str x0, [sp+168]
    002c0bc4str x1, [sp+176]
    002c0bc8str x2, [sp+184]
    002c0bccstr x3, [sp+200]
    002c0bd0str x4, [sp+208]
    002c0bd4ldr x6, [sp+168]
    002c0bd8ldr x7, [sp+176]
    002c0bdcldr x8, [sp+184]
    002c0be0str x6, [sp+240]
    002c0be4str x7, [sp+248]
    002c0be8str x8, [sp+256]
    002c0becldr x6, [sp+200]
    002c0bf0ldr x7, [sp+208]
    002c0bf4str x6, [sp+224]
    002c0bf8str x7, [sp+232]
    002c0bfcldr x6, [sp+240]
    002c0c00ldr x7, [sp+248]
    002c0c04ldr x8, [sp+256]
    002c0c08str x6, [sp+72]
    002c0c0cstr x7, [sp+80]
    002c0c10str x8, [sp+88]
    002c0c14ldr x3, [sp+224]
    002c0c18ldr x4, [sp+232]
    002c0c1cstr x3, [sp+112]
    002c0c20str x4, [sp+120]
    002c0c24ldr x0, [sp+72]
    002c0c28ldr x1, [sp+80]
    002c0c2cldr x2, [sp+88]
    002c0c30ldp x29, x30, [sp-8]
    002c0c34add sp, sp, 320
    002c0c38ret x30
    002c0c3c
    002c0c3cloc_2c0c3c:
    002c0c3cldr x4, [sp+64]
    002c0c40cbz x4, 0x2c0c48
    002c0c44b 0x2c0c9c
    002c0c48
    002c0c48loc_2c0c48:
    002c0c48b 0x2c0c4c
    002c0c4c
    002c0c4cloc_2c0c4c:
    002c0c4cldr x1, [sp+368]
    002c0c50ldr x2, [sp+376]
    002c0c54ldr x3, [sp+384]
    002c0c58ldr x0, [sp+104]
    002c0c5cbl crypto/internal/fips140/ed25519.Sign
    002c0c60str x0, [sp+168]
    002c0c64str x1, [sp+176]
    002c0c68str x2, [sp+184]
    002c0c6cstr x0, [sp+72]
    002c0c70str x1, [sp+80]
    002c0c74str x2, [sp+88]
    002c0c78stp xzr, xzr, [sp+112]
    002c0c7cldr x0, [sp+72]
    002c0c80ldr x1, [sp+80]
    002c0c84ldr x2, [sp+88]
    002c0c88mov x3, xzr
    002c0c8cmov x4, xzr
    002c0c90ldp x29, x30, [sp-8]
    002c0c94add sp, sp, 320
    002c0c98ret x30
    002c0c9c
    002c0c9cloc_2c0c9c:
    002c0c9cb 0x2c0ca0
    002c0ca0
    002c0ca0loc_2c0ca0:
    002c0ca0adrp x0, 0x410000
    002c0ca4add x0, x0, 2827
    002c0ca8movz x1, 106
    002c0cacbl errors.New
    002c0cb0str x0, [sp+200]
    002c0cb4str x1, [sp+208]
    002c0cb8str xzr, [sp+72]
    002c0cbcstp xzr, xzr, [sp+80]
    002c0cc0ldr x3, [sp+200]
    002c0cc4ldr x4, [sp+208]
    002c0cc8str x3, [sp+112]
    002c0cccstr x4, [sp+120]
    002c0cd0ldr x0, [sp+72]
    002c0cd4ldr x1, [sp+80]
    002c0cd8ldr x2, [sp+88]
    002c0cdcldp x29, x30, [sp-8]
    002c0ce0add sp, sp, 320
    002c0ce4ret x30
    002c0ce8
    002c0ce8loc_2c0ce8:
    002c0ce8stp x0, x1, [sp+8]
    002c0cecstp x2, x3, [sp+24]
    002c0cf0stp x4, x5, [sp+40]
    002c0cf4stp x6, x7, [sp+56]
    002c0cf8stp x8, x9, [sp+72]
    002c0cfcmov x3, x30
    002c0d00bl runtime.morestack_noctxt.abi0
    002c0d04ldp x0, x1, [sp+8]
    002c0d08ldp x2, x3, [sp+24]
    002c0d0cldp x4, x5, [sp+40]
    002c0d10ldp x6, x7, [sp+56]
    002c0d14ldp x8, x9, [sp+72]
    002c0d18b 0x2c08d0
    002c0d1cudf 0
    002c08d0
    002c0d20
    002c0d20crypto/ed25519.NewKeyFromSeed: ; void crypto/ed25519.NewKeyFromSeed(struct []uint8 seed)
    002c0d20ldr x16, [x28+16]
    002c0d24subs xzr, sp, x16
    002c0d28b.ls 0x2c0da8
    002c0d2cstr x30, [sp-112]!
    002c0d30stur x29, [sp-8]
    002c0d34sub x29, sp, 8
    002c0d38str x0, [sp+120]
    002c0d3cstr x1, [sp+128]
    002c0d40str x2, [sp+136]
    002c0d44str xzr, [sp+56]
    002c0d48stp xzr, xzr, [sp+64]
    002c0d4cadrp x0, 0x335000
    002c0d50add x0, x0, 3072
    002c0d54orr x1, xzr, 64
    002c0d58mov x2, x1
    002c0d5cbl runtime.makeslice
    002c0d60str x0, [sp+80]
    002c0d64orr x2, xzr, 64
    002c0d68str x2, [sp+88]
    002c0d6cstr x2, [sp+96]
    002c0d70ldr x4, [sp+128]
    002c0d74ldr x5, [sp+136]
    002c0d78ldr x3, [sp+120]
    002c0d7cmov x1, x2
    002c0d80bl crypto/ed25519.newKeyFromSeed
    002c0d84ldr x0, [sp+80]
    002c0d88ldr x1, [sp+88]
    002c0d8cldr x2, [sp+96]
    002c0d90str x0, [sp+56]
    002c0d94str x1, [sp+64]
    002c0d98str x2, [sp+72]
    002c0d9cldur x29, [sp-8]
    002c0da0ldr x30, [sp], 112
    002c0da4ret x30
    002c0da8
    002c0da8loc_2c0da8:
    002c0da8stp x0, x1, [sp+8]
    002c0dacstr x2, [sp+24]
    002c0db0mov x3, x30
    002c0db4bl runtime.morestack_noctxt.abi0
    002c0db8ldp x0, x1, [sp+8]
    002c0dbcldr x2, [sp+24]
    002c0dc0b 0x2c0d20
    002c0dc4udf 0
    002c0dc8udf 0
    002c0dccudf 0
    002c0d20
    002c0dd0
    002c0dd0crypto/ed25519.newKeyFromSeed: ; void crypto/ed25519.newKeyFromSeed(struct []uint8 privateKey, struct []uint8 seed)
    002c0dd0ldr x16, [x28+16]
    002c0dd4sub x17, sp, 144
    002c0dd8subs xzr, x17, x16
    002c0ddcb.ls 0x2c0f5c
    002c0de0sub x20, sp, 272
    002c0de4stp x29, x30, [x20-8]
    002c0de8add sp, x20, 0
    002c0decsub x29, sp, 8
    002c0df0str x0, [sp+280]
    002c0df4str x1, [sp+288]
    002c0df8str x2, [sp+296]
    002c0dfcstr x3, [sp+304]
    002c0e00str x4, [sp+312]
    002c0e04str x5, [sp+320]
    002c0e08str xzr, [sp+136]
    002c0e0cstp xzr, xzr, [sp+120]
    002c0e10ldr x0, [sp+304]
    002c0e14ldr x1, [sp+312]
    002c0e18ldr x2, [sp+320]
    002c0e1cbl crypto/internal/fips140/ed25519.NewPrivateKeyFromSeed
    002c0e20str x0, [sp+136]
    002c0e24str x1, [sp+120]
    002c0e28str x2, [sp+128]
    002c0e2cldr x3, [sp+136]
    002c0e30str x3, [sp+160]
    002c0e34ldr x3, [sp+128]
    002c0e38ldr x4, [sp+120]
    002c0e3cstr x4, [sp+144]
    002c0e40str x3, [sp+152]
    002c0e44ldr x3, [sp+160]
    002c0e48str x3, [sp+80]
    002c0e4cldr x3, [sp+152]
    002c0e50ldr x4, [sp+144]
    002c0e54str x4, [sp+88]
    002c0e58str x3, [sp+96]
    002c0e5ccbnz x4, 0x2c0f08
    002c0e60b 0x2c0e64
    002c0e64
    002c0e64loc_2c0e64:
    002c0e64ldr x0, [sp+80]
    002c0e68bl crypto/internal/fips140/ed25519.(*PrivateKey).Bytes
    002c0e6cstr x0, [sp+240]
    002c0e70str x1, [sp+248]
    002c0e74str x2, [sp+256]
    002c0e78ldr x1, [sp+280]
    002c0e7cldr x2, [sp+288]
    002c0e80ldr x3, [sp+296]
    002c0e84str x1, [sp+192]
    002c0e88str x2, [sp+200]
    002c0e8cstr x3, [sp+208]
    002c0e90ldr x1, [sp+248]
    002c0e94ldr x2, [sp+240]
    002c0e98ldr x3, [sp+256]
    002c0e9cstr x2, [sp+168]
    002c0ea0str x1, [sp+176]
    002c0ea4str x3, [sp+184]
    002c0ea8ldr x2, [sp+200]
    002c0eacstr x2, [sp+72]
    002c0eb0subs xzr, x2, x1
    002c0eb4b.gt 0x2c0ebc
    002c0eb8b 0x2c0ec4
    002c0ebc
    002c0ebcloc_2c0ebc:
    002c0ebcstr x1, [sp+72]
    002c0ec0b 0x2c0ec8
    002c0ec4
    002c0ec4loc_2c0ec4:
    002c0ec4b 0x2c0ec8
    002c0ec8
    002c0ec8loc_2c0ec8:
    002c0ec8ldr x3, [sp+168]
    002c0eccldr x4, [sp+192]
    002c0ed0subs xzr, x3, x4
    002c0ed4b.ne 0x2c0edc
    002c0ed8b 0x2c0ef8
    002c0edc
    002c0edcloc_2c0edc:
    002c0edcldr x3, [sp+72]
    002c0ee0str x3, [sp+64]
    002c0ee4ldr x2, [sp+64]
    002c0ee8ldr x1, [sp+168]
    002c0eecldr x0, [sp+192]
    002c0ef0bl runtime.memmove
    002c0ef4b 0x2c0efc
    002c0ef8
    002c0ef8loc_2c0ef8:
    002c0ef8b 0x2c0efc
    002c0efc
    002c0efcloc_2c0efc:
    002c0efcldp x29, x30, [sp-8]
    002c0f00add sp, sp, 272
    002c0f04ret x30
    002c0f08
    002c0f08loc_2c0f08:
    002c0f08ldr x0, [sp+312]
    002c0f0cstr x0, [sp+56]
    002c0f10bl strconv.Itoa
    002c0f14str x0, [sp+104]
    002c0f18str x1, [sp+112]
    002c0f1cmovz x2, 26
    002c0f20mov x3, x0
    002c0f24mov x4, x1
    002c0f28mov x0, xzr
    002c0f2cadrp x1, 0x3fa000
    002c0f30add x1, x1, 2255
    002c0f34bl runtime.concatstring2
    002c0f38str x0, [sp+224]
    002c0f3cstr x1, [sp+232]
    002c0f40bl runtime.convTstring
    002c0f44str x0, [sp+216]
    002c0f48mov x1, x0
    002c0f4cadrp x0, 0x335000
    002c0f50add x0, x0, 2944
    002c0f54bl runtime.gopanic
    002c0f58hint
    002c0f5c
    002c0f5cloc_2c0f5c:
    002c0f5cstp x0, x1, [sp+8]
    002c0f60stp x2, x3, [sp+24]
    002c0f64stp x4, x5, [sp+40]
    002c0f68mov x3, x30
    002c0f6cbl runtime.morestack_noctxt.abi0
    002c0f70ldp x0, x1, [sp+8]
    002c0f74ldp x2, x3, [sp+24]
    002c0f78ldp x4, x5, [sp+40]
    002c0f7cb 0x2c0dd0
    002c0dd0
    002c0f80
    002c0f80crypto/ed25519.Verify: ; void crypto/ed25519.Verify(crypto/ed25519.PublicKey publicKey, struct []uint8 message, struct []uint8 sig)
    002c0f80ldr x16, [x28+16]
    002c0f84sub x17, sp, 32
    002c0f88subs xzr, x17, x16
    002c0f8cb.ls 0x2c1060
    002c0f90str x30, [sp-160]!
    002c0f94stur x29, [sp-8]
    002c0f98sub x29, sp, 8
    002c0f9cstr x0, [sp+168]
    002c0fa0str x1, [sp+176]
    002c0fa4str x2, [sp+184]
    002c0fa8str x3, [sp+192]
    002c0facstr x4, [sp+200]
    002c0fb0str x5, [sp+208]
    002c0fb4str x6, [sp+216]
    002c0fb8str x7, [sp+224]
    002c0fbcstr x8, [sp+232]
    002c0fc0strb wzr, [sp+103]
    002c0fc4stp xzr, xzr, [sp+104]
    002c0fc8str xzr, [sp+120]
    002c0fccadd x10, sp, 104
    002c0fd0str x10, [sp+128]
    002c0fd4ldrsb x27, [x10]
    002c0fd8str xzr, [x10]
    002c0fdcstr xzr, [x10+16]
    002c0fe0adrp x27, 0x78b000
    002c0fe4ldr w11, [x27+3056]
    002c0fe8cbz w11, 0x2c0ff0
    002c0fecb 0x2c0ff4
    002c0ff0
    002c0ff0loc_2c0ff0:
    002c0ff0b 0x2c1004
    002c0ff4
    002c0ff4loc_2c0ff4:
    002c0ff4ldr x11, [x10+8]
    002c0ff8bl runtime.gcWriteBarrier1
    002c0ffcstr x11, [x25]
    002c1000b 0x2c1004
    002c1004
    002c1004loc_2c1004:
    002c1004str xzr, [x10+8]
    002c1008ldrsb x27, [x10]
    002c100cstr xzr, [x10]
    002c1010ldr x0, [sp+168]
    002c1014ldr x3, [sp+192]
    002c1018ldr x6, [sp+216]
    002c101cldr x1, [sp+176]
    002c1020ldr x4, [sp+200]
    002c1024ldr x7, [sp+224]
    002c1028ldr x2, [sp+184]
    002c102cldr x5, [sp+208]
    002c1030ldr x8, [sp+232]
    002c1034ldr x9, [sp+128]
    002c1038bl crypto/ed25519.VerifyWithOptions
    002c103cstr x0, [sp+136]
    002c1040str x1, [sp+144]
    002c1044subs xzr, x0, 0
    002c1048cset x10, ne
    002c104ceor x0, x10, 1
    002c1050strb w0, [sp+103]
    002c1054ldur x29, [sp-8]
    002c1058ldr x30, [sp], 160
    002c105cret x30
    002c1060
    002c1060loc_2c1060:
    002c1060stp x0, x1, [sp+8]
    002c1064stp x2, x3, [sp+24]
    002c1068stp x4, x5, [sp+40]
    002c106cstp x6, x7, [sp+56]
    002c1070str x8, [sp+72]
    002c1074mov x3, x30
    002c1078bl runtime.morestack_noctxt.abi0
    002c107cldp x0, x1, [sp+8]
    002c1080ldp x2, x3, [sp+24]
    002c1084ldp x4, x5, [sp+40]
    002c1088ldp x6, x7, [sp+56]
    002c108cldr x8, [sp+72]
    002c1090b 0x2c0f80
    002c1094udf 0
    002c1098udf 0
    002c109cudf 0
    002c0f80
    002c10a0
    002c10a0crypto/ed25519.VerifyWithOptions: ; void crypto/ed25519.VerifyWithOptions(crypto/ed25519.PublicKey publicKey, struct []uint8 message, struct []uint8 sig, crypto/ed25519.Options * opts)
    002c10a0ldr x16, [x28+16]
    002c10a4sub x17, sp, 144
    002c10a8subs xzr, x17, x16
    002c10acb.ls 0x2c1390
    002c10b0sub x20, sp, 272
    002c10b4stp x29, x30, [x20-8]
    002c10b8add sp, x20, 0
    002c10bcsub x29, sp, 8
    002c10c0str x0, [sp+280]
    002c10c4str x1, [sp+288]
    002c10c8str x2, [sp+296]
    002c10ccstr x3, [sp+304]
    002c10d0str x4, [sp+312]
    002c10d4str x5, [sp+320]
    002c10d8str x6, [sp+328]
    002c10dcstr x7, [sp+336]
    002c10e0str x8, [sp+344]
    002c10e4str x9, [sp+352]
    002c10e8stp xzr, xzr, [sp+104]
    002c10ecldr x0, [sp+288]
    002c10f0str x0, [sp+96]
    002c10f4subs xzr, x0, 32
    002c10f8b.ne 0x2c1344
    002c10fcb 0x2c1100
    002c1100
    002c1100loc_2c1100:
    002c1100str xzr, [sp+240]
    002c1104stp xzr, xzr, [sp+224]
    002c1108ldr x0, [sp+280]
    002c110cldr x1, [sp+288]
    002c1110ldr x2, [sp+296]
    002c1114bl crypto/internal/fips140/ed25519.NewPublicKey
    002c1118str x0, [sp+240]
    002c111cstr x1, [sp+224]
    002c1120str x2, [sp+232]
    002c1124ldr x3, [sp+240]
    002c1128str x3, [sp+160]
    002c112cldr x3, [sp+232]
    002c1130ldr x4, [sp+224]
    002c1134str x4, [sp+144]
    002c1138str x3, [sp+152]
    002c113cldr x3, [sp+160]
    002c1140str x3, [sp+120]
    002c1144ldr x1, [sp+152]
    002c1148ldr x0, [sp+144]
    002c114cstr x0, [sp+128]
    002c1150str x1, [sp+136]
    002c1154cbnz x0, 0x2c115c
    002c1158b 0x2c1170
    002c115c
    002c115cloc_2c115c:
    002c115cstr x0, [sp+104]
    002c1160str x1, [sp+112]
    002c1164ldp x29, x30, [sp-8]
    002c1168add sp, sp, 272
    002c116cret x30
    002c1170
    002c1170loc_2c1170:
    002c1170ldr x9, [sp+352]
    002c1174ldrsb x27, [x9]
    002c1178ldr x9, [x9]
    002c117csubs xzr, x9, 7
    002c1180b.eq 0x2c1188
    002c1184b 0x2c11e0
    002c1188
    002c1188loc_2c1188:
    002c1188b 0x2c118c
    002c118c
    002c118cloc_2c118c:
    002c118cldr x9, [sp+352]
    002c1190ldrsb x27, [x9]
    002c1194ldr x7, [x9+8]
    002c1198ldr x8, [x9+16]
    002c119cstr x7, [sp+184]
    002c11a0str x8, [sp+192]
    002c11a4ldr x1, [sp+304]
    002c11a8ldr x4, [sp+328]
    002c11acldr x0, [sp+120]
    002c11b0ldr x2, [sp+312]
    002c11b4ldr x5, [sp+336]
    002c11b8ldr x3, [sp+320]
    002c11bcldr x6, [sp+344]
    002c11c0bl crypto/internal/fips140/ed25519.VerifyPH
    002c11c4str x0, [sp+224]
    002c11c8str x1, [sp+232]
    002c11ccstr x0, [sp+104]
    002c11d0str x1, [sp+112]
    002c11d4ldp x29, x30, [sp-8]
    002c11d8add sp, sp, 272
    002c11dcret x30
    002c11e0
    002c11e0loc_2c11e0:
    002c11e0ldr x9, [sp+352]
    002c11e4ldrsb x27, [x9]
    002c11e8ldr x9, [x9]
    002c11ecsubs xzr, x9, 0
    002c11f0cset x10, eq
    002c11f4strb w10, [sp+95]
    002c11f8cbz x9, 0x2c1200
    002c11fcb 0x2c121c
    002c1200
    002c1200loc_2c1200:
    002c1200ldr x9, [sp+352]
    002c1204ldrsb x27, [x9]
    002c1208ldr x9, [x9+16]
    002c120csubs xzr, x9, 0
    002c1210cset x9, ne
    002c1214strb w9, [sp+95]
    002c1218b 0x2c1220
    002c121c
    002c121cloc_2c121c:
    002c121cb 0x2c1220
    002c1220
    002c1220loc_2c1220:
    002c1220ldrb w9, [sp+95]
    002c1224tbnz w9, 0, 0x2c122c
    002c1228b 0x2c12c0
    002c122c
    002c122cloc_2c122c:
    002c122cb 0x2c1230
    002c1230
    002c1230loc_2c1230:
    002c1230adrp x27, 0x78a000
    002c1234ldrb w9, [x27+1551]
    002c1238tbnz w9, 0, 0x2c1240
    002c123cb 0x2c126c
    002c1240
    002c1240loc_2c1240:
    002c1240adrp x0, 0x40d000
    002c1244add x0, x0, 2163
    002c1248movz x1, 70
    002c124cbl errors.New
    002c1250str x0, [sp+224]
    002c1254str x1, [sp+232]
    002c1258str x0, [sp+104]
    002c125cstr x1, [sp+112]
    002c1260ldp x29, x30, [sp-8]
    002c1264add sp, sp, 272
    002c1268ret x30
    002c126c
    002c126cloc_2c126c:
    002c126cldr x9, [sp+352]
    002c1270ldrsb x27, [x9]
    002c1274ldr x7, [x9+8]
    002c1278ldr x8, [x9+16]
    002c127cstr x7, [sp+168]
    002c1280str x8, [sp+176]
    002c1284ldr x1, [sp+304]
    002c1288ldr x4, [sp+328]
    002c128cldr x0, [sp+120]
    002c1290ldr x2, [sp+312]
    002c1294ldr x5, [sp+336]
    002c1298ldr x3, [sp+320]
    002c129cldr x6, [sp+344]
    002c12a0bl crypto/internal/fips140/ed25519.VerifyCtx
    002c12a4str x0, [sp+224]
    002c12a8str x1, [sp+232]
    002c12acstr x0, [sp+104]
    002c12b0str x1, [sp+112]
    002c12b4ldp x29, x30, [sp-8]
    002c12b8add sp, sp, 272
    002c12bcret x30
    002c12c0
    002c12c0loc_2c12c0:
    002c12c0ldr x7, [sp+352]
    002c12c4ldrsb x27, [x7]
    002c12c8ldr x7, [x7]
    002c12cccbz x7, 0x2c12d4
    002c12d0b 0x2c1314
    002c12d4
    002c12d4loc_2c12d4:
    002c12d4b 0x2c12d8
    002c12d8
    002c12d8loc_2c12d8:
    002c12d8ldr x1, [sp+304]
    002c12dcldr x4, [sp+328]
    002c12e0ldr x2, [sp+312]
    002c12e4ldr x5, [sp+336]
    002c12e8ldr x3, [sp+320]
    002c12ecldr x6, [sp+344]
    002c12f0ldr x0, [sp+120]
    002c12f4bl crypto/internal/fips140/ed25519.Verify
    002c12f8str x0, [sp+224]
    002c12fcstr x1, [sp+232]
    002c1300str x0, [sp+104]
    002c1304str x1, [sp+112]
    002c1308ldp x29, x30, [sp-8]
    002c130cadd sp, sp, 272
    002c1310ret x30
    002c1314
    002c1314loc_2c1314:
    002c1314b 0x2c1318
    002c1318
    002c1318loc_2c1318:
    002c1318adrp x0, 0x40f000
    002c131cadd x0, x0, 2625
    002c1320movz x1, 100
    002c1324bl errors.New
    002c1328str x0, [sp+224]
    002c132cstr x1, [sp+232]
    002c1330str x0, [sp+104]
    002c1334str x1, [sp+112]
    002c1338ldp x29, x30, [sp-8]
    002c133cadd sp, sp, 272
    002c1340ret x30
    002c1344
    002c1344loc_2c1344:
    002c1344bl strconv.Itoa
    002c1348str x0, [sp+248]
    002c134cstr x1, [sp+256]
    002c1350orr x2, xzr, 32
    002c1354mov x3, x0
    002c1358mov x4, x1
    002c135cmov x0, xzr
    002c1360adrp x1, 0x3fd000
    002c1364add x1, x1, 3280
    002c1368bl runtime.concatstring2
    002c136cstr x0, [sp+208]
    002c1370str x1, [sp+216]
    002c1374bl runtime.convTstring
    002c1378str x0, [sp+200]
    002c137cmov x1, x0
    002c1380adrp x0, 0x334000
    002c1384add x0, x0, 2944
    002c1388bl runtime.gopanic
    002c138chint
    002c1390
    002c1390loc_2c1390:
    002c1390stp x0, x1, [sp+8]
    002c1394stp x2, x3, [sp+24]
    002c1398stp x4, x5, [sp+40]
    002c139cstp x6, x7, [sp+56]
    002c13a0stp x8, x9, [sp+72]
    002c13a4mov x3, x30
    002c13a8bl runtime.morestack_noctxt.abi0
    002c13acldp x0, x1, [sp+8]
    002c13b0ldp x2, x3, [sp+24]
    002c13b4ldp x4, x5, [sp+40]
    002c13b8ldp x6, x7, [sp+56]
    002c13bcldp x8, x9, [sp+72]
    002c13c0b 0x2c10a0
    002c13c4udf 0
    002c13c8udf 0
    002c13ccudf 0
    002c10a0