File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00281b60
    00281b60crypto/ecdh.init.func6: ; void crypto/ecdh.init.func6(struct []uint8 b)
    00281b60ldr x16, [x28+16]
    00281b64sub x17, sp, 16
    00281b68subs xzr, x17, x16
    00281b6cb.ls 0x281c08
    00281b70str x30, [sp-144]!
    00281b74stur x29, [sp-8]
    00281b78sub x29, sp, 8
    00281b7cstr x0, [sp+152]
    00281b80str x1, [sp+160]
    00281b84str x2, [sp+168]
    00281b88str xzr, [sp+72]
    00281b8cstp xzr, xzr, [sp+56]
    00281b90bl crypto/internal/fips140/ecdh.P384
    00281b94str x0, [sp+104]
    00281b98str xzr, [sp+96]
    00281b9cstp xzr, xzr, [sp+80]
    00281ba0ldr x2, [sp+152]
    00281ba4ldr x3, [sp+160]
    00281ba8ldr x4, [sp+168]
    00281bacldr x1, [sp+104]
    00281bb0adrp x0, 0x495000
    00281bb4add x0, x0, 1184
    00281bb8bl crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P384Point]
    00281bbcstr x0, [sp+96]
    00281bc0str x1, [sp+80]
    00281bc4str x2, [sp+88]
    00281bc8ldr x0, [sp+96]
    00281bccstr x0, [sp+128]
    00281bd0ldr x0, [sp+80]
    00281bd4ldr x1, [sp+88]
    00281bd8str x0, [sp+112]
    00281bdcstr x1, [sp+120]
    00281be0ldr x0, [sp+128]
    00281be4str x0, [sp+72]
    00281be8ldr x1, [sp+112]
    00281becldr x2, [sp+120]
    00281bf0str x1, [sp+56]
    00281bf4str x2, [sp+64]
    00281bf8ldr x0, [sp+72]
    00281bfcldur x29, [sp-8]
    00281c00ldr x30, [sp], 144
    00281c04ret x30
    00281c08
    00281c08loc_281c08:
    00281c08stp x0, x1, [sp+8]
    00281c0cstr x2, [sp+24]
    00281c10mov x3, x30
    00281c14bl runtime.morestack_noctxt.abi0
    00281c18ldp x0, x1, [sp+8]
    00281c1cldr x2, [sp+24]
    00281c20b 0x281b60
    00281c24udf 0
    00281c28udf 0
    00281c2cudf 0
    00281b60
    00281c30
    00281c30crypto/ecdh.init.func7: ; void crypto/ecdh.init.func7(struct []uint8 publicKey)
    00281c30ldr x16, [x28+16]
    00281c34sub x17, sp, 16
    00281c38subs xzr, x17, x16
    00281c3cb.ls 0x281cd8
    00281c40str x30, [sp-144]!
    00281c44stur x29, [sp-8]
    00281c48sub x29, sp, 8
    00281c4cstr x0, [sp+152]
    00281c50str x1, [sp+160]
    00281c54str x2, [sp+168]
    00281c58str xzr, [sp+72]
    00281c5cstp xzr, xzr, [sp+56]
    00281c60bl crypto/internal/fips140/ecdh.P384
    00281c64str x0, [sp+104]
    00281c68str xzr, [sp+96]
    00281c6cstp xzr, xzr, [sp+80]
    00281c70ldr x2, [sp+152]
    00281c74ldr x3, [sp+160]
    00281c78ldr x4, [sp+168]
    00281c7cldr x1, [sp+104]
    00281c80adrp x0, 0x491000
    00281c84add x0, x0, 2800
    00281c88bl crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P384Point]
    00281c8cstr x0, [sp+96]
    00281c90str x1, [sp+80]
    00281c94str x2, [sp+88]
    00281c98ldr x0, [sp+96]
    00281c9cstr x0, [sp+128]
    00281ca0ldr x0, [sp+80]
    00281ca4ldr x1, [sp+88]
    00281ca8str x0, [sp+112]
    00281cacstr x1, [sp+120]
    00281cb0ldr x0, [sp+128]
    00281cb4str x0, [sp+72]
    00281cb8ldr x1, [sp+112]
    00281cbcldr x2, [sp+120]
    00281cc0str x1, [sp+56]
    00281cc4str x2, [sp+64]
    00281cc8ldr x0, [sp+72]
    00281cccldur x29, [sp-8]
    00281cd0ldr x30, [sp], 144
    00281cd4ret x30
    00281cd8
    00281cd8loc_281cd8:
    00281cd8stp x0, x1, [sp+8]
    00281cdcstr x2, [sp+24]
    00281ce0mov x3, x30
    00281ce4bl runtime.morestack_noctxt.abi0
    00281ce8ldp x0, x1, [sp+8]
    00281cecldr x2, [sp+24]
    00281cf0b 0x281c30
    00281cf4udf 0
    00281cf8udf 0
    00281cfcudf 0
    00281c30
    00281d00
    00281d00crypto/ecdh.init.func8: ; void crypto/ecdh.init.func8(crypto/internal/fips140/ecdh.PrivateKey * priv, crypto/internal/fips140/ecdh.PublicKey * pub)
    00281d00ldr x16, [x28+16]
    00281d04sub x17, sp, 48
    00281d08subs xzr, x17, x16
    00281d0cb.ls 0x281dd8
    00281d10str x30, [sp-176]!
    00281d14stur x29, [sp-8]
    00281d18sub x29, sp, 8
    00281d1cstr x0, [sp+184]
    00281d20str x1, [sp+192]
    00281d24str xzr, [sp+40]
    00281d28stp xzr, xzr, [sp+48]
    00281d2cstp xzr, xzr, [sp+64]
    00281d30bl crypto/internal/fips140/ecdh.P384
    00281d34str x0, [sp+120]
    00281d38str xzr, [sp+96]
    00281d3cstp xzr, xzr, [sp+104]
    00281d40stp xzr, xzr, [sp+80]
    00281d44ldr x3, [sp+192]
    00281d48ldr x2, [sp+184]
    00281d4cldr x1, [sp+120]
    00281d50adrp x0, 0x491000
    00281d54add x0, x0, 2816
    00281d58bl crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P384Point]
    00281d5cstr x0, [sp+96]
    00281d60str x1, [sp+104]
    00281d64str x2, [sp+112]
    00281d68str x3, [sp+80]
    00281d6cstr x4, [sp+88]
    00281d70ldr x0, [sp+96]
    00281d74ldr x1, [sp+104]
    00281d78ldr x2, [sp+112]
    00281d7cstr x0, [sp+144]
    00281d80str x1, [sp+152]
    00281d84str x2, [sp+160]
    00281d88ldr x0, [sp+80]
    00281d8cldr x1, [sp+88]
    00281d90str x0, [sp+128]
    00281d94str x1, [sp+136]
    00281d98ldr x0, [sp+144]
    00281d9cldr x1, [sp+152]
    00281da0ldr x2, [sp+160]
    00281da4str x0, [sp+40]
    00281da8str x1, [sp+48]
    00281dacstr x2, [sp+56]
    00281db0ldr x3, [sp+128]
    00281db4ldr x4, [sp+136]
    00281db8str x3, [sp+64]
    00281dbcstr x4, [sp+72]
    00281dc0ldr x0, [sp+40]
    00281dc4ldr x1, [sp+48]
    00281dc8ldr x2, [sp+56]
    00281dccldur x29, [sp-8]
    00281dd0ldr x30, [sp], 176
    00281dd4ret x30
    00281dd8
    00281dd8loc_281dd8:
    00281dd8stp x0, x1, [sp+8]
    00281ddcmov x3, x30
    00281de0bl runtime.morestack_noctxt.abi0
    00281de4ldp x0, x1, [sp+8]
    00281de8b 0x281d00
    00281decudf 0
    00281d00
    00281df0
    00281df0crypto/ecdh.init.func9: ; void crypto/ecdh.init.func9(io.Reader r)
    00281df0ldr x16, [x28+16]
    00281df4subs xzr, sp, x16
    00281df8b.ls 0x281e8c
    00281dfcstr x30, [sp-128]!
    00281e00stur x29, [sp-8]
    00281e04sub x29, sp, 8
    00281e08str x0, [sp+136]
    00281e0cstr x1, [sp+144]
    00281e10str xzr, [sp+56]
    00281e14stp xzr, xzr, [sp+40]
    00281e18bl crypto/internal/fips140/ecdh.P521
    00281e1cstr x0, [sp+88]
    00281e20str xzr, [sp+80]
    00281e24stp xzr, xzr, [sp+64]
    00281e28ldr x2, [sp+136]
    00281e2cldr x3, [sp+144]
    00281e30ldr x1, [sp+88]
    00281e34adrp x0, 0x491000
    00281e38add x0, x0, 2832
    00281e3cbl crypto/internal/fips140/ecdh.GenerateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00281e40str x0, [sp+80]
    00281e44str x1, [sp+64]
    00281e48str x2, [sp+72]
    00281e4cldr x0, [sp+80]
    00281e50str x0, [sp+112]
    00281e54ldr x0, [sp+64]
    00281e58ldr x1, [sp+72]
    00281e5cstr x0, [sp+96]
    00281e60str x1, [sp+104]
    00281e64ldr x0, [sp+112]
    00281e68str x0, [sp+56]
    00281e6cldr x1, [sp+96]
    00281e70ldr x2, [sp+104]
    00281e74str x1, [sp+40]
    00281e78str x2, [sp+48]
    00281e7cldr x0, [sp+56]
    00281e80ldur x29, [sp-8]
    00281e84ldr x30, [sp], 128
    00281e88ret x30
    00281e8c
    00281e8cloc_281e8c:
    00281e8cstp x0, x1, [sp+8]
    00281e90mov x3, x30
    00281e94bl runtime.morestack_noctxt.abi0
    00281e98ldp x0, x1, [sp+8]
    00281e9cb 0x281df0
    00281df0
    00281ea0
    00281ea0crypto/ecdh.init.func10: ; void crypto/ecdh.init.func10(struct []uint8 b)
    00281ea0ldr x16, [x28+16]
    00281ea4sub x17, sp, 16
    00281ea8subs xzr, x17, x16
    00281eacb.ls 0x281f48
    00281eb0str x30, [sp-144]!
    00281eb4stur x29, [sp-8]
    00281eb8sub x29, sp, 8
    00281ebcstr x0, [sp+152]
    00281ec0str x1, [sp+160]
    00281ec4str x2, [sp+168]
    00281ec8str xzr, [sp+72]
    00281eccstp xzr, xzr, [sp+56]
    00281ed0bl crypto/internal/fips140/ecdh.P521
    00281ed4str x0, [sp+104]
    00281ed8str xzr, [sp+96]
    00281edcstp xzr, xzr, [sp+80]
    00281ee0ldr x2, [sp+152]
    00281ee4ldr x3, [sp+160]
    00281ee8ldr x4, [sp+168]
    00281eecldr x1, [sp+104]
    00281ef0adrp x0, 0x495000
    00281ef4add x0, x0, 1216
    00281ef8bl crypto/internal/fips140/ecdh.NewPrivateKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00281efcstr x0, [sp+96]
    00281f00str x1, [sp+80]
    00281f04str x2, [sp+88]
    00281f08ldr x0, [sp+96]
    00281f0cstr x0, [sp+128]
    00281f10ldr x0, [sp+80]
    00281f14ldr x1, [sp+88]
    00281f18str x0, [sp+112]
    00281f1cstr x1, [sp+120]
    00281f20ldr x0, [sp+128]
    00281f24str x0, [sp+72]
    00281f28ldr x1, [sp+112]
    00281f2cldr x2, [sp+120]
    00281f30str x1, [sp+56]
    00281f34str x2, [sp+64]
    00281f38ldr x0, [sp+72]
    00281f3cldur x29, [sp-8]
    00281f40ldr x30, [sp], 144
    00281f44ret x30
    00281f48
    00281f48loc_281f48:
    00281f48stp x0, x1, [sp+8]
    00281f4cstr x2, [sp+24]
    00281f50mov x3, x30
    00281f54bl runtime.morestack_noctxt.abi0
    00281f58ldp x0, x1, [sp+8]
    00281f5cldr x2, [sp+24]
    00281f60b 0x281ea0
    00281f64udf 0
    00281f68udf 0
    00281f6cudf 0
    00281ea0
    00281f70
    00281f70crypto/ecdh.init.func11: ; void crypto/ecdh.init.func11(struct []uint8 publicKey)
    00281f70ldr x16, [x28+16]
    00281f74sub x17, sp, 16
    00281f78subs xzr, x17, x16
    00281f7cb.ls 0x282018
    00281f80str x30, [sp-144]!
    00281f84stur x29, [sp-8]
    00281f88sub x29, sp, 8
    00281f8cstr x0, [sp+152]
    00281f90str x1, [sp+160]
    00281f94str x2, [sp+168]
    00281f98str xzr, [sp+72]
    00281f9cstp xzr, xzr, [sp+56]
    00281fa0bl crypto/internal/fips140/ecdh.P521
    00281fa4str x0, [sp+104]
    00281fa8str xzr, [sp+96]
    00281facstp xzr, xzr, [sp+80]
    00281fb0ldr x2, [sp+152]
    00281fb4ldr x3, [sp+160]
    00281fb8ldr x4, [sp+168]
    00281fbcldr x1, [sp+104]
    00281fc0adrp x0, 0x491000
    00281fc4add x0, x0, 2848
    00281fc8bl crypto/internal/fips140/ecdh.NewPublicKey[go.shape.*crypto/internal/fips140/nistec.P521Point]
    00281fccstr x0, [sp+96]
    00281fd0str x1, [sp+80]
    00281fd4str x2, [sp+88]
    00281fd8ldr x0, [sp+96]
    00281fdcstr x0, [sp+128]
    00281fe0ldr x0, [sp+80]
    00281fe4ldr x1, [sp+88]
    00281fe8str x0, [sp+112]
    00281fecstr x1, [sp+120]
    00281ff0ldr x0, [sp+128]
    00281ff4str x0, [sp+72]
    00281ff8ldr x1, [sp+112]
    00281ffcldr x2, [sp+120]
    00282000str x1, [sp+56]
    00282004str x2, [sp+64]
    00282008ldr x0, [sp+72]
    0028200cldur x29, [sp-8]
    00282010ldr x30, [sp], 144
    00282014ret x30
    00282018
    00282018loc_282018:
    00282018stp x0, x1, [sp+8]
    0028201cstr x2, [sp+24]
    00282020mov x3, x30
    00282024bl runtime.morestack_noctxt.abi0
    00282028ldp x0, x1, [sp+8]
    0028202cldr x2, [sp+24]
    00282030b 0x281f70
    00282034udf 0
    00282038udf 0
    0028203cudf 0
    00281f70
    00282040
    00282040crypto/ecdh.init.func12: ; void crypto/ecdh.init.func12(crypto/internal/fips140/ecdh.PrivateKey * priv, crypto/internal/fips140/ecdh.PublicKey * pub)
    00282040ldr x16, [x28+16]
    00282044sub x17, sp, 48
    00282048subs xzr, x17, x16
    0028204cb.ls 0x282118
    00282050str x30, [sp-176]!
    00282054stur x29, [sp-8]
    00282058sub x29, sp, 8
    0028205cstr x0, [sp+184]
    00282060str x1, [sp+192]
    00282064str xzr, [sp+40]
    00282068stp xzr, xzr, [sp+48]
    0028206cstp xzr, xzr, [sp+64]
    00282070bl crypto/internal/fips140/ecdh.P521
    00282074str x0, [sp+120]
    00282078str xzr, [sp+96]
    0028207cstp xzr, xzr, [sp+104]
    00282080stp xzr, xzr, [sp+80]
    00282084ldr x3, [sp+192]
    00282088ldr x2, [sp+184]
    0028208cldr x1, [sp+120]
    00282090adrp x0, 0x490000
    00282094add x0, x0, 2864
    00282098bl crypto/internal/fips140/ecdh.ECDH[go.shape.*crypto/internal/fips140/nistec.P521Point]
    0028209cstr x0, [sp+96]
    002820a0str x1, [sp+104]
    002820a4str x2, [sp+112]
    002820a8str x3, [sp+80]
    002820acstr x4, [sp+88]
    002820b0ldr x0, [sp+96]
    002820b4ldr x1, [sp+104]
    002820b8ldr x2, [sp+112]
    002820bcstr x0, [sp+144]
    002820c0str x1, [sp+152]
    002820c4str x2, [sp+160]
    002820c8ldr x0, [sp+80]
    002820ccldr x1, [sp+88]
    002820d0str x0, [sp+128]
    002820d4str x1, [sp+136]
    002820d8ldr x0, [sp+144]
    002820dcldr x1, [sp+152]
    002820e0ldr x2, [sp+160]
    002820e4str x0, [sp+40]
    002820e8str x1, [sp+48]
    002820ecstr x2, [sp+56]
    002820f0ldr x3, [sp+128]
    002820f4ldr x4, [sp+136]
    002820f8str x3, [sp+64]
    002820fcstr x4, [sp+72]
    00282100ldr x0, [sp+40]
    00282104ldr x1, [sp+48]
    00282108ldr x2, [sp+56]
    0028210cldur x29, [sp-8]
    00282110ldr x30, [sp], 176
    00282114ret x30
    00282118
    00282118loc_282118:
    00282118stp x0, x1, [sp+8]
    0028211cmov x3, x30
    00282120bl runtime.morestack_noctxt.abi0
    00282124ldp x0, x1, [sp+8]
    00282128b 0x282040
    0028212cudf 0
    00282040
    00282130
    00282130crypto/ecdh.(*PublicKey).Bytes: ; void crypto/ecdh.(*PublicKey).Bytes(crypto/ecdh.PublicKey * k)
    00282130ldr x16, [x28+16]
    00282134sub x17, sp, 80
    00282138subs xzr, x17, x16
    0028213cb.ls 0x282278
    00282140str x30, [sp-208]!
    00282144stur x29, [sp-8]
    00282148sub x29, sp, 8
    0028214cstr x0, [sp+216]
    00282150str xzr, [sp+64]
    00282154stp xzr, xzr, [sp+72]
    00282158adrp x0, 0x384000
    0028215cadd x0, x0, 672
    00282160bl runtime.newobject
    00282164str x0, [sp+192]
    00282168mov x20, x0
    0028216cadr x27, 16
    00282170stp x29, x27, [sp-24]
    00282174sub x29, sp, 24
    00282178bl fn_87cf0
    0028217csub x29, sp, 8
    00282180stur xzr, [x0+125]
    00282184ldr x1, [sp+192]
    00282188ldrsb x27, [x1]
    0028218cb 0x282190
    00282190
    00282190loc_282190:
    00282190b 0x282194
    00282194
    00282194loc_282194:
    00282194str x1, [sp+168]
    00282198str xzr, [sp+176]
    0028219cmovz x5, 133
    002821a0str x5, [sp+184]
    002821a4ldr x5, [sp+216]
    002821a8ldrsb x27, [x5]
    002821acldr x6, [x5+16]
    002821b0ldr x7, [x5+24]
    002821b4ldr x5, [x5+32]
    002821b8str x6, [sp+120]
    002821bcstr x7, [sp+128]
    002821c0str x5, [sp+136]
    002821c4ldr x2, [sp+184]
    002821c8ldr x0, [sp+168]
    002821ccldr x5, [sp+176]
    002821d0str x0, [sp+96]
    002821d4str x5, [sp+104]
    002821d8str x2, [sp+112]
    002821dcldr x6, [sp+128]
    002821e0add x1, x5, x6
    002821e4str x1, [sp+56]
    002821e8subs xzr, x2, x1
    002821ecb.hs 0x2821f4
    002821f0b 0x2821fc
    002821f4
    002821f4loc_2821f4:
    002821f4str x1, [sp+104]
    002821f8b 0x28221c
    002821fc
    002821fcloc_2821fc:
    002821fcldr x3, [sp+128]
    00282200adrp x4, 0x373000
    00282204add x4, x4, 3072
    00282208bl runtime.growslice
    0028220cstr x0, [sp+96]
    00282210str x1, [sp+104]
    00282214str x2, [sp+112]
    00282218b 0x28221c
    0028221c
    0028221cloc_28221c:
    0028221cldr x3, [sp+128]
    00282220str x3, [sp+48]
    00282224ldr x3, [sp+56]
    00282228ldr x4, [sp+128]
    0028222csub x3, x3, x4
    00282230ldr x4, [sp+96]
    00282234add x0, x4, x3
    00282238str x0, [sp+88]
    0028223cldr x2, [sp+48]
    00282240ldr x1, [sp+120]
    00282244bl runtime.memmove
    00282248ldr x0, [sp+96]
    0028224cldr x1, [sp+104]
    00282250ldr x2, [sp+112]
    00282254str x0, [sp+144]
    00282258str x1, [sp+152]
    0028225cstr x2, [sp+160]
    00282260str x0, [sp+64]
    00282264str x1, [sp+72]
    00282268str x2, [sp+80]
    0028226cldur x29, [sp-8]
    00282270ldr x30, [sp], 208
    00282274ret x30
    00282278
    00282278loc_282278:
    00282278str x0, [sp+8]
    0028227cmov x3, x30
    00282280bl runtime.morestack_noctxt.abi0
    00282284ldr x0, [sp+8]
    00282288b 0x282130
    0028228cudf 0
    00282130
    00282290
    00282290crypto/ecdh.(*PublicKey).Equal: ; void crypto/ecdh.(*PublicKey).Equal(crypto/ecdh.PublicKey * k, crypto.PublicKey x)
    00282290ldr x16, [x28+16]
    00282294sub x17, sp, 64
    00282298subs xzr, x17, x16
    0028229cb.ls 0x282414
    002822a0str x30, [sp-192]!
    002822a4stur x29, [sp-8]
    002822a8sub x29, sp, 8
    002822acstr x0, [sp+200]
    002822b0str x1, [sp+208]
    002822b4str x2, [sp+216]
    002822b8strb wzr, [sp+68]
    002822bcstr xzr, [sp+88]
    002822c0ldr x6, [sp+208]
    002822c4ldr x7, [sp+216]
    002822c8adrp x8, 0x3ab000
    002822ccadd x8, x8, 2016
    002822d0subs xzr, x6, x8
    002822d4b.eq 0x2822dc
    002822d8b 0x2822e4
    002822dc
    002822dcloc_2822dc:
    002822dcorr x0, xzr, 1
    002822e0b 0x2822f0
    002822e4
    002822e4loc_2822e4:
    002822e4mov x0, xzr
    002822e8mov x7, xzr
    002822ecb 0x2822f0
    002822f0
    002822f0loc_2822f0:
    002822f0str x7, [sp+88]
    002822f4strb w0, [sp+70]
    002822f8ldr x6, [sp+88]
    002822fcstr x6, [sp+96]
    00282300ldrb w6, [sp+70]
    00282304strb w6, [sp+71]
    00282308ldr x6, [sp+96]
    0028230cstr x6, [sp+80]
    00282310ldrb w6, [sp+71]
    00282314strb w6, [sp+69]
    00282318tbnz w6, 0, 0x282320
    0028231cb 0x282400
    00282320
    00282320loc_282320:
    00282320ldr x6, [sp+80]
    00282324ldrsb x27, [x6]
    00282328ldr x7, [x6]
    0028232cldr x6, [x6+8]
    00282330str x7, [sp+168]
    00282334str x6, [sp+176]
    00282338ldr x6, [sp+200]
    0028233cldrsb x27, [x6]
    00282340ldr x0, [x6]
    00282344ldr x1, [x6+8]
    00282348str x0, [sp+152]
    0028234cstr x1, [sp+160]
    00282350ldr x6, [sp+168]
    00282354subs xzr, x6, x0
    00282358cset x6, eq
    0028235cb.eq 0x282364
    00282360b 0x282370
    00282364
    00282364loc_282364:
    00282364ldr x2, [sp+176]
    00282368bl runtime.ifaceeq
    0028236cb 0x282378
    00282370
    00282370loc_282370:
    00282370mov x0, x6
    00282374b 0x282378
    00282378
    00282378loc_282378:
    00282378strb w0, [sp+70]
    0028237ctbnz w0, 0, 0x282384
    00282380b 0x2823e8
    00282384
    00282384loc_282384:
    00282384ldr x6, [sp+200]
    00282388ldrsb x27, [x6]
    0028238cldr x7, [x6+16]
    00282390ldr x8, [x6+24]
    00282394ldr x6, [x6+32]
    00282398str x7, [sp+128]
    0028239cstr x8, [sp+136]
    002823a0str x6, [sp+144]
    002823a4ldr x6, [sp+80]
    002823a8ldrsb x27, [x6]
    002823acldr x3, [x6+16]
    002823b0ldr x4, [x6+24]
    002823b4ldr x5, [x6+32]
    002823b8str x3, [sp+104]
    002823bcstr x4, [sp+112]
    002823c0str x5, [sp+120]
    002823c4ldr x0, [sp+128]
    002823c8ldr x1, [sp+136]
    002823ccldr x2, [sp+144]
    002823d0bl crypto/subtle.ConstantTimeCompare
    002823d4str x0, [sp+72]
    002823d8subs xzr, x0, 1
    002823dccset x6, eq
    002823e0strb w6, [sp+70]
    002823e4b 0x2823ec
    002823e8
    002823e8loc_2823e8:
    002823e8b 0x2823ec
    002823ec
    002823ecloc_2823ec:
    002823ecldrb w0, [sp+70]
    002823f0strb w0, [sp+68]
    002823f4ldur x29, [sp-8]
    002823f8ldr x30, [sp], 192
    002823fcret x30
    00282400
    00282400loc_282400:
    00282400strb wzr, [sp+68]
    00282404mov x0, xzr
    00282408ldur x29, [sp-8]
    0028240cldr x30, [sp], 192
    00282410ret x30
    00282414
    00282414loc_282414:
    00282414stp x0, x1, [sp+8]
    00282418str x2, [sp+24]
    0028241cmov x3, x30
    00282420bl runtime.morestack_noctxt.abi0
    00282424ldp x0, x1, [sp+8]
    00282428ldr x2, [sp+24]
    0028242cb 0x282290
    00282290
    00282430
    00282430crypto/ecdh.(*PrivateKey).ECDH: ; void crypto/ecdh.(*PrivateKey).ECDH(crypto/ecdh.PrivateKey * k, crypto/ecdh.PublicKey * remote)
    00282430ldr x16, [x28+16]
    00282434sub x17, sp, 64
    00282438subs xzr, x17, x16
    0028243cb.ls 0x2825ac
    00282440str x30, [sp-192]!
    00282444stur x29, [sp-8]
    00282448sub x29, sp, 8
    0028244cstr x0, [sp+200]
    00282450str x1, [sp+208]
    00282454str xzr, [sp+48]
    00282458stp xzr, xzr, [sp+56]
    0028245cstp xzr, xzr, [sp+32]
    00282460ldr x3, [sp+208]
    00282464ldrsb x27, [x3]
    00282468ldr x4, [x3]
    0028246cldr x3, [x3+8]
    00282470str x4, [sp+88]
    00282474str x3, [sp+96]
    00282478ldr x3, [sp+200]
    0028247cldrsb x27, [x3]
    00282480ldr x0, [x3]
    00282484ldr x1, [x3+8]
    00282488str x0, [sp+72]
    0028248cstr x1, [sp+80]
    00282490ldr x3, [sp+88]
    00282494subs xzr, x3, x0
    00282498b.ne 0x2824a0
    0028249cb 0x2824a4
    002824a0
    002824a0loc_2824a0:
    002824a0b 0x282564
    002824a4
    002824a4loc_2824a4:
    002824a4ldr x2, [sp+96]
    002824a8bl runtime.ifaceeq
    002824actbnz w0, 0, 0x2824b4
    002824b0b 0x282560
    002824b4
    002824b4loc_2824b4:
    002824b4str xzr, [sp+104]
    002824b8stp xzr, xzr, [sp+112]
    002824bcstp xzr, xzr, [sp+128]
    002824c0ldr x3, [sp+200]
    002824c4ldrsb x27, [x3]
    002824c8ldr x4, [x3]
    002824ccldrsb x27, [x4]
    002824d0ldr x0, [x3+8]
    002824d4ldr x2, [sp+208]
    002824d8ldr x1, [sp+200]
    002824dcldr x3, [x4+48]
    002824e0blr x3
    002824e4str x0, [sp+104]
    002824e8str x1, [sp+112]
    002824ecstr x2, [sp+120]
    002824f0str x3, [sp+128]
    002824f4str x4, [sp+136]
    002824f8ldr x3, [sp+104]
    002824fcldr x4, [sp+112]
    00282500ldr x5, [sp+120]
    00282504str x3, [sp+160]
    00282508str x4, [sp+168]
    0028250cstr x5, [sp+176]
    00282510ldr x3, [sp+128]
    00282514ldr x4, [sp+136]
    00282518str x3, [sp+144]
    0028251cstr x4, [sp+152]
    00282520ldr x3, [sp+160]
    00282524ldr x4, [sp+168]
    00282528ldr x5, [sp+176]
    0028252cstr x3, [sp+48]
    00282530str x4, [sp+56]
    00282534str x5, [sp+64]
    00282538ldr x3, [sp+144]
    0028253cldr x4, [sp+152]
    00282540str x3, [sp+32]
    00282544str x4, [sp+40]
    00282548ldr x0, [sp+48]
    0028254cldr x1, [sp+56]
    00282550ldr x2, [sp+64]
    00282554ldur x29, [sp-8]
    00282558ldr x30, [sp], 192
    0028255cret x30
    00282560
    00282560loc_282560:
    00282560b 0x282564
    00282564
    00282564loc_282564:
    00282564adrp x0, 0x44a000
    00282568add x0, x0, 1094
    0028256cmovz x1, 59
    00282570bl errors.New
    00282574str x0, [sp+128]
    00282578str x1, [sp+136]
    0028257cstr xzr, [sp+48]
    00282580stp xzr, xzr, [sp+56]
    00282584ldr x3, [sp+128]
    00282588ldr x4, [sp+136]
    0028258cstr x3, [sp+32]
    00282590str x4, [sp+40]
    00282594ldr x0, [sp+48]
    00282598ldr x1, [sp+56]
    0028259cldr x2, [sp+64]
    002825a0ldur x29, [sp-8]
    002825a4ldr x30, [sp], 192
    002825a8ret x30
    002825ac
    002825acloc_2825ac:
    002825acstp x0, x1, [sp+8]
    002825b0mov x3, x30
    002825b4bl runtime.morestack_noctxt.abi0
    002825b8ldp x0, x1, [sp+8]
    002825bcb 0x282430
    00282430
    002825c0
    002825c0crypto/ecdh.(*PrivateKey).Curve: ; void crypto/ecdh.(*PrivateKey).Curve(crypto/ecdh.PrivateKey * k)
    002825c0str x30, [sp-32]!
    002825c4stur x29, [sp-8]
    002825c8sub x29, sp, 8
    002825ccstr x0, [sp+40]
    002825d0stp xzr, xzr, [sp+8]
    002825d4ldr x2, [sp+40]
    002825d8ldrsb x27, [x2]
    002825dcldr x0, [x2]
    002825e0ldr x1, [x2+8]
    002825e4str x0, [sp+8]
    002825e8str x1, [sp+16]
    002825ecadd x29, sp, 24
    002825f0add sp, sp, 32
    002825f4ret x30
    002825f8udf 0
    002825fcudf 0
    002825c0
    00282600
    00282600crypto/ecdh.(*PrivateKey).PublicKey: ; void crypto/ecdh.(*PrivateKey).PublicKey(crypto/ecdh.PrivateKey * k)
    00282600str x30, [sp-32]!
    00282604stur x29, [sp-8]
    00282608sub x29, sp, 8
    0028260cstr x0, [sp+40]
    00282610str xzr, [sp+16]
    00282614ldr x1, [sp+40]
    00282618ldrsb x27, [x1]
    0028261cldr x0, [x1+40]
    00282620str x0, [sp+16]
    00282624add x29, sp, 24
    00282628add sp, sp, 32
    0028262cret x30
    00282600
    00282630
    00282630crypto/ecdh.(*PrivateKey).Public: ; void crypto/ecdh.(*PrivateKey).Public(crypto/ecdh.PrivateKey * k)
    00282630ldr x16, [x28+16]
    00282634subs xzr, sp, x16
    00282638b.ls 0x282684
    0028263cstr x30, [sp-64]!
    00282640stur x29, [sp-8]
    00282644sub x29, sp, 8
    00282648str x0, [sp+72]
    0028264cstp xzr, xzr, [sp+24]
    00282650ldr x0, [sp+72]
    00282654bl crypto/ecdh.(*PrivateKey).PublicKey
    00282658str x0, [sp+48]
    0028265cstr x0, [sp+40]
    00282660adrp x1, 0x3ab000
    00282664add x1, x1, 2016
    00282668str x1, [sp+24]
    0028266cstr x0, [sp+32]
    00282670ldr x0, [sp+24]
    00282674ldr x1, [sp+32]
    00282678ldur x29, [sp-8]
    0028267cldr x30, [sp], 64
    00282680ret x30
    00282684
    00282684loc_282684:
    00282684str x0, [sp+8]
    00282688mov x3, x30
    0028268cbl runtime.morestack_noctxt.abi0
    00282690ldr x0, [sp+8]
    00282694b 0x282630
    00282698udf 0
    0028269cudf 0
    00282630
    002826a0
    002826a0crypto/ecdh.(*nistCurve).String: ; void crypto/ecdh.(*nistCurve).String(crypto/ecdh.nistCurve * c)
    002826a0str x30, [sp-32]!
    002826a4stur x29, [sp-8]
    002826a8sub x29, sp, 8
    002826acstr x0, [sp+40]
    002826b0stp xzr, xzr, [sp+8]
    002826b4ldr x2, [sp+40]
    002826b8ldrsb x27, [x2]
    002826bcldr x0, [x2]
    002826c0ldr x1, [x2+8]
    002826c4str x0, [sp+8]
    002826c8str x1, [sp+16]
    002826ccadd x29, sp, 24
    002826d0add sp, sp, 32
    002826d4ret x30
    002826d8udf 0
    002826dcudf 0
    002826a0
    002826e0
    002826e0crypto/ecdh.(*nistCurve).GenerateKey: ; void crypto/ecdh.(*nistCurve).GenerateKey(crypto/ecdh.nistCurve * c, io.Reader rand)
    002826e0ldr x16, [x28+16]
    002826e4sub x17, sp, 128
    002826e8subs xzr, x17, x16
    002826ecb.ls 0x282ae0
    002826f0sub x20, sp, 256
    002826f4stp x29, x30, [x20-8]
    002826f8add sp, x20, 0
    002826fcsub x29, sp, 8
    00282700str x0, [sp+264]
    00282704str x1, [sp+272]
    00282708str x2, [sp+280]
    0028270cstr xzr, [sp+64]
    00282710stp xzr, xzr, [sp+48]
    00282714adrp x27, 0x7c9000
    00282718ldrb w2, [x27+1551]
    0028271cstrb w2, [sp+46]
    00282720tbnz w2, 0, 0x282728
    00282724b 0x282744
    00282728
    00282728loc_282728:
    00282728ldr x0, [sp+272]
    0028272cldr x1, [sp+280]
    00282730bl crypto/internal/fips140only.ApprovedRandomReader
    00282734strb w0, [sp+47]
    00282738eor x2, x0, 1
    0028273cstrb w2, [sp+46]
    00282740b 0x282748
    00282744
    00282744loc_282744:
    00282744b 0x282748
    00282748
    00282748loc_282748:
    00282748ldrb w2, [sp+46]
    0028274ctbnz w2, 0, 0x282754
    00282750b 0x282790
    00282754
    00282754loc_282754:
    00282754adrp x0, 0x44c000
    00282758add x0, x0, 1676
    0028275cmovz x1, 69
    00282760bl errors.New
    00282764str x0, [sp+232]
    00282768str x1, [sp+240]
    0028276cstr xzr, [sp+64]
    00282770ldr x1, [sp+232]
    00282774ldr x2, [sp+240]
    00282778str x1, [sp+48]
    0028277cstr x2, [sp+56]
    00282780ldr x0, [sp+64]
    00282784ldp x29, x30, [sp-8]
    00282788add sp, sp, 256
    0028278cret x30
    00282790
    00282790loc_282790:
    00282790str xzr, [sp+224]
    00282794stp xzr, xzr, [sp+232]
    00282798ldr x2, [sp+264]
    0028279cldrsb x27, [x2]
    002827a0ldr x26, [x2+16]
    002827a4ldr x2, [x26]
    002827a8ldr x0, [sp+272]
    002827acldr x1, [sp+280]
    002827b0blr x2
    002827b4str x0, [sp+224]
    002827b8str x1, [sp+232]
    002827bcstr x2, [sp+240]
    002827c0ldr x2, [sp+224]
    002827c4str x2, [sp+120]
    002827c8ldr x2, [sp+232]
    002827ccldr x3, [sp+240]
    002827d0str x2, [sp+104]
    002827d4str x3, [sp+112]
    002827d8ldr x2, [sp+120]
    002827dcstr x2, [sp+72]
    002827e0ldr x2, [sp+112]
    002827e4ldr x3, [sp+104]
    002827e8str x3, [sp+88]
    002827ecstr x2, [sp+96]
    002827f0cbnz x3, 0x2827f8
    002827f4b 0x28281c
    002827f8
    002827f8loc_2827f8:
    002827f8str xzr, [sp+64]
    002827fcldr x1, [sp+88]
    00282800ldr x2, [sp+96]
    00282804str x1, [sp+48]
    00282808str x2, [sp+56]
    0028280cldr x0, [sp+64]
    00282810ldp x29, x30, [sp-8]
    00282814add sp, sp, 256
    00282818ret x30
    0028281c
    0028281cloc_28281c:
    0028281cldr x0, [sp+72]
    00282820bl crypto/internal/fips140/ecdh.(*PrivateKey).Bytes
    00282824str x0, [sp+200]
    00282828str x1, [sp+208]
    0028282cstr x2, [sp+216]
    00282830ldr x0, [sp+72]
    00282834bl crypto/internal/fips140/ecdh.(*PrivateKey).PublicKey
    00282838str x0, [sp+192]
    0028283cbl crypto/internal/fips140/ecdh.(*PublicKey).Bytes
    00282840str x0, [sp+168]
    00282844str x1, [sp+176]
    00282848str x2, [sp+184]
    0028284cldr x0, [sp+72]
    00282850bl crypto/internal/fips140/ecdh.(*PrivateKey).PublicKey
    00282854str x0, [sp+160]
    00282858adrp x0, 0x3f4000
    0028285cadd x0, x0, 2816
    00282860bl runtime.newobject
    00282864str x0, [sp+152]
    00282868adrp x27, 0x7c9000
    0028286cldr w1, [x27+3056]
    00282870cbz w1, 0x282878
    00282874b 0x28287c
    00282878
    00282878loc_282878:
    00282878b 0x282898
    0028287c
    0028287cloc_28287c:
    0028287cstr x0, [sp+136]
    00282880mov x1, x0
    00282884adrp x0, 0x3f4000
    00282888add x0, x0, 2816
    0028288cbl runtime.wbZero
    00282890ldr x0, [sp+136]
    00282894b 0x282898
    00282898
    00282898loc_282898:
    00282898stp xzr, xzr, [x0]
    0028289cstp xzr, xzr, [x0+16]
    002828a0stp xzr, xzr, [x0+32]
    002828a4stp xzr, xzr, [x0+48]
    002828a8ldr x1, [sp+152]
    002828acldrsb x27, [x1]
    002828b0ldr x2, [sp+264]
    002828b4adrp x3, 0x497000
    002828b8add x3, x3, 1200
    002828bcstr x3, [x1]
    002828c0adrp x27, 0x7c9000
    002828c4ldr w3, [x27+3056]
    002828c8cbz w3, 0x2828d0
    002828ccb 0x2828d4
    002828d0
    002828d0loc_2828d0:
    002828d0b 0x2828e8
    002828d4
    002828d4loc_2828d4:
    002828d4bl runtime.gcWriteBarrier2
    002828d8str x2, [x25]
    002828dcldr x3, [x1+8]
    002828e0str x3, [x25+8]
    002828e4b 0x2828e8
    002828e8
    002828e8loc_2828e8:
    002828e8str x2, [x1+8]
    002828ecldr x1, [sp+152]
    002828f0ldrsb x27, [x1]
    002828f4ldr x2, [sp+200]
    002828f8ldr x3, [sp+208]
    002828fcldr x4, [sp+216]
    00282900str x3, [x1+24]
    00282904str x4, [x1+32]
    00282908adrp x27, 0x7c9000
    0028290cldr w3, [x27+3056]
    00282910cbz w3, 0x282918
    00282914b 0x28291c
    00282918
    00282918loc_282918:
    00282918b 0x282930
    0028291c
    0028291cloc_28291c:
    0028291cbl runtime.gcWriteBarrier2
    00282920str x2, [x25]
    00282924ldr x3, [x1+16]
    00282928str x3, [x25+8]
    0028292cb 0x282930
    00282930
    00282930loc_282930:
    00282930str x2, [x1+16]
    00282934ldr x1, [sp+152]
    00282938ldrsb x27, [x1]
    0028293cldr x2, [sp+72]
    00282940adrp x27, 0x7c9000
    00282944ldr w3, [x27+3056]
    00282948cbz w3, 0x282950
    0028294cb 0x282954
    00282950
    00282950loc_282950:
    00282950b 0x282968
    00282954
    00282954loc_282954:
    00282954bl runtime.gcWriteBarrier2
    00282958str x2, [x25]
    0028295cldr x3, [x1+56]
    00282960str x3, [x25+8]
    00282964b 0x282968
    00282968
    00282968loc_282968:
    00282968str x2, [x1+56]
    0028296cadrp x0, 0x3e5000
    00282970add x0, x0, 2592
    00282974bl runtime.newobject
    00282978str x0, [sp+144]
    0028297cadrp x27, 0x7c9000
    00282980ldr w1, [x27+3056]
    00282984cbz w1, 0x28298c
    00282988b 0x282990
    0028298c
    0028298cloc_28298c:
    0028298cb 0x2829ac
    00282990
    00282990loc_282990:
    00282990str x0, [sp+128]
    00282994mov x1, x0
    00282998adrp x0, 0x3e5000
    0028299cadd x0, x0, 2592
    002829a0bl runtime.wbZero
    002829a4ldr x0, [sp+128]
    002829a8b 0x2829ac
    002829ac
    002829acloc_2829ac:
    002829acstp xzr, xzr, [x0]
    002829b0stp xzr, xzr, [x0+16]
    002829b4stp xzr, xzr, [x0+32]
    002829b8str xzr, [x0+48]
    002829bcldr x3, [sp+144]
    002829c0ldrsb x27, [x3]
    002829c4ldr x4, [sp+264]
    002829c8adrp x5, 0x497000
    002829ccadd x5, x5, 1200
    002829d0str x5, [x3]
    002829d4adrp x27, 0x7c9000
    002829d8ldr w5, [x27+3056]
    002829dccbz w5, 0x2829e4
    002829e0b 0x2829e8
    002829e4
    002829e4loc_2829e4:
    002829e4b 0x2829fc
    002829e8
    002829e8loc_2829e8:
    002829e8bl runtime.gcWriteBarrier2
    002829ecstr x4, [x25]
    002829f0ldr x5, [x3+8]
    002829f4str x5, [x25+8]
    002829f8b 0x2829fc
    002829fc
    002829fcloc_2829fc:
    002829fcstr x4, [x3+8]
    00282a00ldr x3, [sp+144]
    00282a04ldrsb x27, [x3]
    00282a08ldr x4, [sp+168]
    00282a0cldr x5, [sp+176]
    00282a10ldr x6, [sp+184]
    00282a14str x5, [x3+24]
    00282a18str x6, [x3+32]
    00282a1cadrp x27, 0x7c9000
    00282a20ldr w5, [x27+3056]
    00282a24cbz w5, 0x282a2c
    00282a28b 0x282a30
    00282a2c
    00282a2cloc_282a2c:
    00282a2cb 0x282a44
    00282a30
    00282a30loc_282a30:
    00282a30bl runtime.gcWriteBarrier2
    00282a34str x4, [x25]
    00282a38ldr x5, [x3+16]
    00282a3cstr x5, [x25+8]
    00282a40b 0x282a44
    00282a44
    00282a44loc_282a44:
    00282a44str x4, [x3+16]
    00282a48ldr x3, [sp+144]
    00282a4cldrsb x27, [x3]
    00282a50ldr x4, [sp+160]
    00282a54adrp x27, 0x7c9000
    00282a58ldr w5, [x27+3056]
    00282a5ccbz w5, 0x282a64
    00282a60b 0x282a68
    00282a64
    00282a64loc_282a64:
    00282a64b 0x282a7c
    00282a68
    00282a68loc_282a68:
    00282a68bl runtime.gcWriteBarrier2
    00282a6cstr x4, [x25]
    00282a70ldr x5, [x3+48]
    00282a74str x5, [x25+8]
    00282a78b 0x282a7c
    00282a7c
    00282a7cloc_282a7c:
    00282a7cstr x4, [x3+48]
    00282a80ldr x3, [sp+152]
    00282a84ldrsb x27, [x3]
    00282a88ldr x4, [sp+144]
    00282a8cadrp x27, 0x7c9000
    00282a90ldr w5, [x27+3056]
    00282a94cbz w5, 0x282a9c
    00282a98b 0x282aa0
    00282a9c
    00282a9cloc_282a9c:
    00282a9cb 0x282ab4
    00282aa0
    00282aa0loc_282aa0:
    00282aa0bl runtime.gcWriteBarrier2
    00282aa4str x4, [x25]
    00282aa8ldr x5, [x3+40]
    00282aacstr x5, [x25+8]
    00282ab0b 0x282ab4
    00282ab4
    00282ab4loc_282ab4:
    00282ab4str x4, [x3+40]
    00282ab8ldr x3, [sp+152]
    00282abcstr x3, [sp+80]
    00282ac0str x3, [sp+64]
    00282ac4stp xzr, xzr, [sp+48]
    00282ac8ldr x0, [sp+64]
    00282accmov x1, xzr
    00282ad0mov x2, xzr
    00282ad4ldp x29, x30, [sp-8]
    00282ad8add sp, sp, 256
    00282adcret x30
    00282ae0
    00282ae0loc_282ae0:
    00282ae0stp x0, x1, [sp+8]
    00282ae4str x2, [sp+24]
    00282ae8mov x3, x30
    00282aecbl runtime.morestack_noctxt.abi0
    00282af0ldp x0, x1, [sp+8]
    00282af4ldr x2, [sp+24]
    00282af8b 0x2826e0
    00282afcudf 0
    002826e0
    00282b00
    00282b00crypto/ecdh.(*nistCurve).NewPrivateKey: ; void crypto/ecdh.(*nistCurve).NewPrivateKey(crypto/ecdh.nistCurve * c, struct []uint8 key)
    00282b00ldr x16, [x28+16]
    00282b04sub x17, sp, 112
    00282b08subs xzr, x17, x16
    00282b0cb.ls 0x282e90
    00282b10str x30, [sp-240]!
    00282b14stur x29, [sp-8]
    00282b18sub x29, sp, 8
    00282b1cstr x0, [sp+248]
    00282b20str x1, [sp+256]
    00282b24str x2, [sp+264]
    00282b28str x3, [sp+272]
    00282b2cstr xzr, [sp+48]
    00282b30stp xzr, xzr, [sp+32]
    00282b34str xzr, [sp+88]
    00282b38stp xzr, xzr, [sp+216]
    00282b3cldr x3, [sp+248]
    00282b40ldrsb x27, [x3]
    00282b44ldr x26, [x3+24]
    00282b48ldr x3, [x26]
    00282b4cldr x0, [sp+256]
    00282b50ldr x1, [sp+264]
    00282b54ldr x2, [sp+272]
    00282b58blr x3
    00282b5cstr x0, [sp+88]
    00282b60str x1, [sp+216]
    00282b64str x2, [sp+224]
    00282b68ldr x3, [sp+88]
    00282b6cstr x3, [sp+112]
    00282b70ldr x3, [sp+216]
    00282b74ldr x4, [sp+224]
    00282b78str x3, [sp+96]
    00282b7cstr x4, [sp+104]
    00282b80ldr x3, [sp+112]
    00282b84str x3, [sp+64]
    00282b88ldr x3, [sp+104]
    00282b8cldr x4, [sp+96]
    00282b90str x4, [sp+72]
    00282b94str x3, [sp+80]
    00282b98cbnz x4, 0x282ba0
    00282b9cb 0x282bc4
    00282ba0
    00282ba0loc_282ba0:
    00282ba0str xzr, [sp+48]
    00282ba4ldr x1, [sp+72]
    00282ba8ldr x2, [sp+80]
    00282bacstr x1, [sp+32]
    00282bb0str x2, [sp+40]
    00282bb4ldr x0, [sp+48]
    00282bb8ldur x29, [sp-8]
    00282bbcldr x30, [sp], 240
    00282bc0ret x30
    00282bc4
    00282bc4loc_282bc4:
    00282bc4ldr x0, [sp+256]
    00282bc8ldr x1, [sp+264]
    00282bccldr x2, [sp+272]
    00282bd0bl bytes.Clone
    00282bd4str x0, [sp+192]
    00282bd8str x1, [sp+200]
    00282bdcstr x2, [sp+208]
    00282be0ldr x0, [sp+64]
    00282be4bl crypto/internal/fips140/ecdh.(*PrivateKey).PublicKey
    00282be8str x0, [sp+184]
    00282becbl crypto/internal/fips140/ecdh.(*PublicKey).Bytes
    00282bf0str x0, [sp+160]
    00282bf4str x1, [sp+168]
    00282bf8str x2, [sp+176]
    00282bfcldr x0, [sp+64]
    00282c00bl crypto/internal/fips140/ecdh.(*PrivateKey).PublicKey
    00282c04str x0, [sp+152]
    00282c08adrp x0, 0x3f4000
    00282c0cadd x0, x0, 2816
    00282c10bl runtime.newobject
    00282c14str x0, [sp+144]
    00282c18adrp x27, 0x7c9000
    00282c1cldr w3, [x27+3056]
    00282c20cbz w3, 0x282c28
    00282c24b 0x282c2c
    00282c28
    00282c28loc_282c28:
    00282c28b 0x282c48
    00282c2c
    00282c2cloc_282c2c:
    00282c2cstr x0, [sp+128]
    00282c30mov x1, x0
    00282c34adrp x0, 0x3f4000
    00282c38add x0, x0, 2816
    00282c3cbl runtime.wbZero
    00282c40ldr x0, [sp+128]
    00282c44b 0x282c48
    00282c48
    00282c48loc_282c48:
    00282c48stp xzr, xzr, [x0]
    00282c4cstp xzr, xzr, [x0+16]
    00282c50stp xzr, xzr, [x0+32]
    00282c54stp xzr, xzr, [x0+48]
    00282c58ldr x1, [sp+144]
    00282c5cldrsb x27, [x1]
    00282c60ldr x2, [sp+248]
    00282c64adrp x3, 0x497000
    00282c68add x3, x3, 1200
    00282c6cstr x3, [x1]
    00282c70adrp x27, 0x7c9000
    00282c74ldr w3, [x27+3056]
    00282c78cbz w3, 0x282c80
    00282c7cb 0x282c84
    00282c80
    00282c80loc_282c80:
    00282c80b 0x282c98
    00282c84
    00282c84loc_282c84:
    00282c84bl runtime.gcWriteBarrier2
    00282c88str x2, [x25]
    00282c8cldr x3, [x1+8]
    00282c90str x3, [x25+8]
    00282c94b 0x282c98
    00282c98
    00282c98loc_282c98:
    00282c98str x2, [x1+8]
    00282c9cldr x1, [sp+144]
    00282ca0ldrsb x27, [x1]
    00282ca4ldr x2, [sp+192]
    00282ca8ldr x3, [sp+200]
    00282cacldr x4, [sp+208]
    00282cb0str x3, [x1+24]
    00282cb4str x4, [x1+32]
    00282cb8adrp x27, 0x7c9000
    00282cbcldr w3, [x27+3056]
    00282cc0cbz w3, 0x282cc8
    00282cc4b 0x282ccc
    00282cc8
    00282cc8loc_282cc8:
    00282cc8b 0x282ce0
    00282ccc
    00282cccloc_282ccc:
    00282cccbl runtime.gcWriteBarrier2
    00282cd0str x2, [x25]
    00282cd4ldr x3, [x1+16]
    00282cd8str x3, [x25+8]
    00282cdcb 0x282ce0
    00282ce0
    00282ce0loc_282ce0:
    00282ce0str x2, [x1+16]
    00282ce4ldr x1, [sp+144]
    00282ce8ldrsb x27, [x1]
    00282cecldr x2, [sp+64]
    00282cf0adrp x27, 0x7c9000
    00282cf4ldr w3, [x27+3056]
    00282cf8cbz w3, 0x282d00
    00282cfcb 0x282d04
    00282d00
    00282d00loc_282d00:
    00282d00b 0x282d18
    00282d04
    00282d04loc_282d04:
    00282d04bl runtime.gcWriteBarrier2
    00282d08str x2, [x25]
    00282d0cldr x3, [x1+56]
    00282d10str x3, [x25+8]
    00282d14b 0x282d18
    00282d18
    00282d18loc_282d18:
    00282d18str x2, [x1+56]
    00282d1cadrp x0, 0x3e5000
    00282d20add x0, x0, 2592
    00282d24bl runtime.newobject
    00282d28str x0, [sp+136]
    00282d2cadrp x27, 0x7c9000
    00282d30ldr w1, [x27+3056]
    00282d34cbz w1, 0x282d3c
    00282d38b 0x282d40
    00282d3c
    00282d3cloc_282d3c:
    00282d3cb 0x282d5c
    00282d40
    00282d40loc_282d40:
    00282d40str x0, [sp+120]
    00282d44mov x1, x0
    00282d48adrp x0, 0x3e5000
    00282d4cadd x0, x0, 2592
    00282d50bl runtime.wbZero
    00282d54ldr x0, [sp+120]
    00282d58b 0x282d5c
    00282d5c
    00282d5cloc_282d5c:
    00282d5cstp xzr, xzr, [x0]
    00282d60stp xzr, xzr, [x0+16]
    00282d64stp xzr, xzr, [x0+32]
    00282d68str xzr, [x0+48]
    00282d6cldr x3, [sp+136]
    00282d70ldrsb x27, [x3]
    00282d74ldr x4, [sp+248]
    00282d78adrp x5, 0x497000
    00282d7cadd x5, x5, 1200
    00282d80str x5, [x3]
    00282d84adrp x27, 0x7c9000
    00282d88ldr w5, [x27+3056]
    00282d8ccbz w5, 0x282d94
    00282d90b 0x282d98
    00282d94
    00282d94loc_282d94:
    00282d94b 0x282dac
    00282d98
    00282d98loc_282d98:
    00282d98bl runtime.gcWriteBarrier2
    00282d9cstr x4, [x25]
    00282da0ldr x5, [x3+8]
    00282da4str x5, [x25+8]
    00282da8b 0x282dac
    00282dac
    00282dacloc_282dac:
    00282dacstr x4, [x3+8]
    00282db0ldr x3, [sp+136]
    00282db4ldrsb x27, [x3]
    00282db8ldr x4, [sp+160]
    00282dbcldr x5, [sp+168]
    00282dc0ldr x6, [sp+176]
    00282dc4str x5, [x3+24]
    00282dc8str x6, [x3+32]
    00282dccadrp x27, 0x7c9000
    00282dd0ldr w5, [x27+3056]
    00282dd4cbz w5, 0x282ddc
    00282dd8b 0x282de0
    00282ddc
    00282ddcloc_282ddc:
    00282ddcb 0x282df4
    00282de0
    00282de0loc_282de0:
    00282de0bl runtime.gcWriteBarrier2
    00282de4str x4, [x25]
    00282de8ldr x5, [x3+16]
    00282decstr x5, [x25+8]
    00282df0b 0x282df4
    00282df4
    00282df4loc_282df4:
    00282df4str x4, [x3+16]
    00282df8ldr x3, [sp+136]
    00282dfcldrsb x27, [x3]
    00282e00ldr x4, [sp+152]
    00282e04adrp x27, 0x7c9000
    00282e08ldr w5, [x27+3056]
    00282e0ccbz w5, 0x282e14
    00282e10b 0x282e18
    00282e14
    00282e14loc_282e14:
    00282e14b 0x282e2c
    00282e18
    00282e18loc_282e18:
    00282e18bl runtime.gcWriteBarrier2
    00282e1cstr x4, [x25]
    00282e20ldr x5, [x3+48]
    00282e24str x5, [x25+8]
    00282e28b 0x282e2c
    00282e2c
    00282e2cloc_282e2c:
    00282e2cstr x4, [x3+48]
    00282e30ldr x3, [sp+144]
    00282e34ldrsb x27, [x3]
    00282e38ldr x4, [sp+136]
    00282e3cadrp x27, 0x7c9000
    00282e40ldr w5, [x27+3056]
    00282e44cbz w5, 0x282e4c
    00282e48b 0x282e50
    00282e4c
    00282e4cloc_282e4c:
    00282e4cb 0x282e64
    00282e50
    00282e50loc_282e50:
    00282e50bl runtime.gcWriteBarrier2
    00282e54str x4, [x25]
    00282e58ldr x5, [x3+40]
    00282e5cstr x5, [x25+8]
    00282e60b 0x282e64
    00282e64
    00282e64loc_282e64:
    00282e64str x4, [x3+40]
    00282e68ldr x3, [sp+144]
    00282e6cstr x3, [sp+56]
    00282e70str x3, [sp+48]
    00282e74stp xzr, xzr, [sp+32]
    00282e78ldr x0, [sp+48]
    00282e7cmov x1, xzr
    00282e80mov x2, xzr
    00282e84ldur x29, [sp-8]
    00282e88ldr x30, [sp], 240
    00282e8cret x30
    00282e90
    00282e90loc_282e90:
    00282e90stp x0, x1, [sp+8]
    00282e94stp x2, x3, [sp+24]
    00282e98mov x3, x30
    00282e9cbl runtime.morestack_noctxt.abi0
    00282ea0ldp x0, x1, [sp+8]
    00282ea4ldp x2, x3, [sp+24]
    00282ea8b 0x282b00
    00282eacudf 0
    00282b00
    00282eb0
    00282eb0crypto/ecdh.(*nistCurve).NewPublicKey: ; void crypto/ecdh.(*nistCurve).NewPublicKey(crypto/ecdh.nistCurve * c, struct []uint8 key)
    00282eb0ldr x16, [x28+16]
    00282eb4sub x17, sp, 80
    00282eb8subs xzr, x17, x16
    00282ebcb.ls 0x28316c
    00282ec0str x30, [sp-208]!
    00282ec4stur x29, [sp-8]
    00282ec8sub x29, sp, 8
    00282eccstr x0, [sp+216]
    00282ed0str x1, [sp+224]
    00282ed4str x2, [sp+232]
    00282ed8str x3, [sp+240]
    00282edcstr xzr, [sp+72]
    00282ee0stp xzr, xzr, [sp+56]
    00282ee4ldr x3, [sp+232]
    00282ee8str x3, [sp+48]
    00282eecsubs xzr, x3, 0
    00282ef0cset x4, eq
    00282ef4strb w4, [sp+47]
    00282ef8cbz x3, 0x282f00
    00282efcb 0x282f04
    00282f00
    00282f00loc_282f00:
    00282f00b 0x282f2c
    00282f04
    00282f04loc_282f04:
    00282f04ldr x1, [sp+232]
    00282f08ldr x3, [sp+224]
    00282f0csubs xzr, x1, 0
    00282f10b.hi 0x282f18
    00282f14b 0x283160
    00282f18
    00282f18loc_282f18:
    00282f18ldrb w3, [x3]
    00282f1csubs wzr, w3, 4
    00282f20cset x3, ne
    00282f24strb w3, [sp+47]
    00282f28b 0x282f2c
    00282f2c
    00282f2cloc_282f2c:
    00282f2cldrb w3, [sp+47]
    00282f30tbnz w3, 0, 0x282f38
    00282f34b 0x282f74
    00282f38
    00282f38loc_282f38:
    00282f38adrp x0, 0x43c000
    00282f3cadd x0, x0, 444
    00282f40orr x1, xzr, 31
    00282f44bl errors.New
    00282f48str x0, [sp+184]
    00282f4cstr x1, [sp+192]
    00282f50str xzr, [sp+72]
    00282f54ldr x1, [sp+184]
    00282f58ldr x2, [sp+192]
    00282f5cstr x1, [sp+56]
    00282f60str x2, [sp+64]
    00282f64ldr x0, [sp+72]
    00282f68ldur x29, [sp-8]
    00282f6cldr x30, [sp], 208
    00282f70ret x30
    00282f74
    00282f74loc_282f74:
    00282f74ldr x0, [sp+224]
    00282f78ldr x1, [sp+232]
    00282f7cldr x2, [sp+240]
    00282f80bl bytes.Clone
    00282f84str x0, [sp+160]
    00282f88str x1, [sp+168]
    00282f8cstr x2, [sp+176]
    00282f90adrp x0, 0x3e5000
    00282f94add x0, x0, 2592
    00282f98bl runtime.newobject
    00282f9cstr x0, [sp+144]
    00282fa0adrp x27, 0x7c9000
    00282fa4ldr w3, [x27+3056]
    00282fa8cbz w3, 0x282fb0
    00282facb 0x282fb4
    00282fb0
    00282fb0loc_282fb0:
    00282fb0b 0x282fd0
    00282fb4
    00282fb4loc_282fb4:
    00282fb4str x0, [sp+136]
    00282fb8mov x1, x0
    00282fbcadrp x0, 0x3e5000
    00282fc0add x0, x0, 2592
    00282fc4bl runtime.wbZero
    00282fc8ldr x0, [sp+136]
    00282fccb 0x282fd0
    00282fd0
    00282fd0loc_282fd0:
    00282fd0stp xzr, xzr, [x0]
    00282fd4stp xzr, xzr, [x0+16]
    00282fd8stp xzr, xzr, [x0+32]
    00282fdcstr xzr, [x0+48]
    00282fe0ldr x3, [sp+144]
    00282fe4ldrsb x27, [x3]
    00282fe8ldr x4, [sp+216]
    00282fecadrp x5, 0x497000
    00282ff0add x5, x5, 1200
    00282ff4str x5, [x3]
    00282ff8adrp x27, 0x7c9000
    00282ffcldr w5, [x27+3056]
    00283000cbz w5, 0x283008
    00283004b 0x28300c
    00283008
    00283008loc_283008:
    00283008b 0x283020
    0028300c
    0028300cloc_28300c:
    0028300cbl runtime.gcWriteBarrier2
    00283010str x4, [x25]
    00283014ldr x5, [x3+8]
    00283018str x5, [x25+8]
    0028301cb 0x283020
    00283020
    00283020loc_283020:
    00283020str x4, [x3+8]
    00283024ldr x3, [sp+144]
    00283028ldrsb x27, [x3]
    0028302cldr x4, [sp+160]
    00283030ldr x5, [sp+168]
    00283034ldr x6, [sp+176]
    00283038str x5, [x3+24]
    0028303cstr x6, [x3+32]
    00283040adrp x27, 0x7c8000
    00283044ldr w5, [x27+3056]
    00283048cbz w5, 0x283050
    0028304cb 0x283054
    00283050
    00283050loc_283050:
    00283050b 0x283068
    00283054
    00283054loc_283054:
    00283054bl runtime.gcWriteBarrier2
    00283058str x4, [x25]
    0028305cldr x5, [x3+16]
    00283060str x5, [x25+8]
    00283064b 0x283068
    00283068
    00283068loc_283068:
    00283068str x4, [x3+16]
    0028306cldr x3, [sp+144]
    00283070str x3, [sp+80]
    00283074str xzr, [sp+152]
    00283078stp xzr, xzr, [sp+184]
    0028307cldr x3, [sp+216]
    00283080ldrsb x27, [x3]
    00283084ldr x26, [x3+32]
    00283088ldr x3, [x26]
    0028308cldr x0, [sp+224]
    00283090ldr x1, [sp+232]
    00283094ldr x2, [sp+240]
    00283098blr x3
    0028309cstr x0, [sp+152]
    002830a0str x1, [sp+184]
    002830a4str x2, [sp+192]
    002830a8ldr x3, [sp+152]
    002830acstr x3, [sp+128]
    002830b0ldr x3, [sp+184]
    002830b4ldr x4, [sp+192]
    002830b8str x3, [sp+112]
    002830bcstr x4, [sp+120]
    002830c0ldr x3, [sp+128]
    002830c4str x3, [sp+88]
    002830c8ldr x3, [sp+120]
    002830ccldr x4, [sp+112]
    002830d0str x4, [sp+96]
    002830d4str x3, [sp+104]
    002830d8cbnz x4, 0x2830e0
    002830dcb 0x283104
    002830e0
    002830e0loc_2830e0:
    002830e0str xzr, [sp+72]
    002830e4ldr x1, [sp+96]
    002830e8ldr x2, [sp+104]
    002830ecstr x1, [sp+56]
    002830f0str x2, [sp+64]
    002830f4ldr x0, [sp+72]
    002830f8ldur x29, [sp-8]
    002830fcldr x30, [sp], 208
    00283100ret x30
    00283104
    00283104loc_283104:
    00283104ldr x3, [sp+80]
    00283108ldrsb x27, [x3]
    0028310cldr x4, [sp+88]
    00283110adrp x27, 0x7c8000
    00283114ldr w5, [x27+3056]
    00283118cbz w5, 0x283120
    0028311cb 0x283124
    00283120
    00283120loc_283120:
    00283120b 0x283138
    00283124
    00283124loc_283124:
    00283124bl runtime.gcWriteBarrier2
    00283128str x4, [x25]
    0028312cldr x5, [x3+48]
    00283130str x5, [x25+8]
    00283134b 0x283138
    00283138
    00283138loc_283138:
    00283138str x4, [x3+48]
    0028313cldr x3, [sp+80]
    00283140str x3, [sp+72]
    00283144stp xzr, xzr, [sp+56]
    00283148ldr x0, [sp+72]
    0028314cmov x1, xzr
    00283150mov x2, xzr
    00283154ldur x29, [sp-8]
    00283158ldr x30, [sp], 208
    0028315cret x30
    00283160
    00283160loc_283160:
    00283160mov x0, xzr
    00283164bl runtime.panicIndex
    00283168hint
    0028316c
    0028316cloc_28316c:
    0028316cstp x0, x1, [sp+8]
    00283170stp x2, x3, [sp+24]
    00283174mov x3, x30
    00283178bl runtime.morestack_noctxt.abi0
    0028317cldp x0, x1, [sp+8]
    00283180ldp x2, x3, [sp+24]
    00283184b 0x282eb0
    00283188udf 0
    0028318cudf 0
    00282eb0
    00283190
    00283190crypto/ecdh.(*nistCurve).ecdh: ; void crypto/ecdh.(*nistCurve).ecdh(crypto/ecdh.nistCurve * c, crypto/ecdh.PrivateKey * local, crypto/ecdh.PublicKey * remote)
    00283190ldr x16, [x28+16]
    00283194sub x17, sp, 48
    00283198subs xzr, x17, x16
    0028319cb.ls 0x283284
    002831a0str x30, [sp-176]!
    002831a4stur x29, [sp-8]
    002831a8sub x29, sp, 8
    002831acstr x0, [sp+184]
    002831b0str x1, [sp+192]
    002831b4str x2, [sp+200]
    002831b8str xzr, [sp+48]
    002831bcstp xzr, xzr, [sp+56]
    002831c0stp xzr, xzr, [sp+32]
    002831c4str xzr, [sp+96]
    002831c8stp xzr, xzr, [sp+104]
    002831ccstp xzr, xzr, [sp+80]
    002831d0ldr x2, [sp+192]
    002831d4ldrsb x27, [x2]
    002831d8ldr x2, [x2+56]
    002831dcstr x2, [sp+72]
    002831e0ldr x2, [sp+200]
    002831e4ldrsb x27, [x2]
    002831e8ldr x1, [x2+48]
    002831ecstr x1, [sp+160]
    002831f0ldr x2, [sp+184]
    002831f4ldrsb x27, [x2]
    002831f8ldr x26, [x2+40]
    002831fcldr x2, [x26]
    00283200ldr x0, [sp+72]
    00283204blr x2
    00283208str x0, [sp+96]
    0028320cstr x1, [sp+104]
    00283210str x2, [sp+112]
    00283214str x3, [sp+80]
    00283218str x4, [sp+88]
    0028321cldr x2, [sp+96]
    00283220ldr x3, [sp+104]
    00283224ldr x4, [sp+112]
    00283228str x2, [sp+136]
    0028322cstr x3, [sp+144]
    00283230str x4, [sp+152]
    00283234ldr x2, [sp+80]
    00283238ldr x3, [sp+88]
    0028323cstr x2, [sp+120]
    00283240str x3, [sp+128]
    00283244ldr x2, [sp+136]
    00283248ldr x3, [sp+144]
    0028324cldr x4, [sp+152]
    00283250str x2, [sp+48]
    00283254str x3, [sp+56]
    00283258str x4, [sp+64]
    0028325cldr x3, [sp+120]
    00283260ldr x4, [sp+128]
    00283264str x3, [sp+32]
    00283268str x4, [sp+40]
    0028326cldr x0, [sp+48]
    00283270ldr x1, [sp+56]
    00283274ldr x2, [sp+64]
    00283278ldur x29, [sp-8]
    0028327cldr x30, [sp], 176
    00283280ret x30
    00283284
    00283284loc_283284:
    00283284stp x0, x1, [sp+8]
    00283288str x2, [sp+24]
    0028328cmov x3, x30
    00283290bl runtime.morestack_noctxt.abi0
    00283294ldp x0, x1, [sp+8]
    00283298ldr x2, [sp+24]
    0028329cb 0x283190
    00283190
    002832a0
    002832a0crypto/ecdh.P256: ; void crypto/ecdh.P256(void)
    002832a0str x30, [sp-32]!
    002832a4stur x29, [sp-8]
    002832a8sub x29, sp, 8
    002832acstp xzr, xzr, [sp+8]
    002832b0adrp x27, 0x78a000
    002832b4ldr x2, [x27+2008]
    002832b8adrp x3, 0x496000
    002832bcadd x3, x3, 1200
    002832c0str x3, [sp+8]
    002832c4str x2, [sp+16]
    002832c8ldr x0, [sp+8]
    002832ccldr x1, [sp+16]
    002832d0add x29, sp, 24
    002832d4add sp, sp, 32
    002832d8ret x30
    002832dcudf 0
    002832a0
    002832e0
    002832e0crypto/ecdh.P384: ; void crypto/ecdh.P384(void)
    002832e0str x30, [sp-32]!
    002832e4stur x29, [sp-8]
    002832e8sub x29, sp, 8
    002832ecstp xzr, xzr, [sp+8]
    002832f0adrp x27, 0x78a000
    002832f4ldr x2, [x27+2016]
    002832f8adrp x3, 0x496000
    002832fcadd x3, x3, 1200
    00283300str x3, [sp+8]
    00283304str x2, [sp+16]
    00283308ldr x0, [sp+8]
    0028330cldr x1, [sp+16]
    00283310add x29, sp, 24
    00283314add sp, sp, 32
    00283318ret x30
    0028331cudf 0
    002832e0
    00283320
    00283320crypto/ecdh.P521: ; void crypto/ecdh.P521(void)
    00283320str x30, [sp-32]!
    00283324stur x29, [sp-8]
    00283328sub x29, sp, 8
    0028332cstp xzr, xzr, [sp+8]
    00283330adrp x27, 0x78a000
    00283334ldr x2, [x27+2024]
    00283338adrp x3, 0x496000
    0028333cadd x3, x3, 1200
    00283340str x3, [sp+8]
    00283344str x2, [sp+16]
    00283348ldr x0, [sp+8]
    0028334cldr x1, [sp+16]
    00283350add x29, sp, 24
    00283354add sp, sp, 32
    00283358ret x30
    0028335cudf 0
    00283320
    00283360
    00283360crypto/ecdh.X25519: ; void crypto/ecdh.X25519(void)
    00283360str x30, [sp-32]!
    00283364stur x29, [sp-8]
    00283368sub x29, sp, 8
    0028336cstp xzr, xzr, [sp+8]
    00283370adrp x27, 0x78a000
    00283374ldr x2, [x27+2032]
    00283378adrp x3, 0x496000
    0028337cadd x3, x3, 1144
    00283380str x3, [sp+8]
    00283384str x2, [sp+16]
    00283388ldr x0, [sp+8]
    0028338cldr x1, [sp+16]
    00283390add x29, sp, 24
    00283394add sp, sp, 32
    00283398ret x30
    0028339cudf 0
    00283360
    002833a0
    002833a0crypto/ecdh.(*x25519Curve).String: ; void crypto/ecdh.(*x25519Curve).String(crypto/ecdh.x25519Curve * c)
    002833a0str x30, [sp-32]!
    002833a4stur x29, [sp-8]
    002833a8sub x29, sp, 8
    002833acstr x0, [sp+40]
    002833b0stp xzr, xzr, [sp+8]
    002833b4adrp x0, 0x42d000
    002833b8add x0, x0, 2935
    002833bcstr x0, [sp+8]
    002833c0orr x1, xzr, 6
    002833c4str x1, [sp+16]
    002833c8add x29, sp, 24
    002833ccadd sp, sp, 32
    002833d0ret x30
    002833d4udf 0
    002833d8udf 0
    002833dcudf 0
    002833a0
    002833e0
    002833e0crypto/ecdh.(*x25519Curve).GenerateKey: ; void crypto/ecdh.(*x25519Curve).GenerateKey(crypto/ecdh.x25519Curve * c, io.Reader rand)
    002833e0ldr x16, [x28+16]
    002833e4sub x17, sp, 80
    002833e8subs xzr, x17, x16
    002833ecb.ls 0x283574
    002833f0str x30, [sp-208]!
    002833f4stur x29, [sp-8]
    002833f8sub x29, sp, 8
    002833fcstr x0, [sp+216]
    00283400str x1, [sp+224]
    00283404str x2, [sp+232]
    00283408str xzr, [sp+88]
    0028340cstp xzr, xzr, [sp+72]
    00283410adrp x27, 0x7c8000
    00283414ldrb w3, [x27+1551]
    00283418tbnz w3, 0, 0x283420
    0028341cb 0x28345c
    00283420
    00283420loc_283420:
    00283420adrp x0, 0x44a000
    00283424add x0, x0, 654
    00283428orr x1, xzr, 63
    0028342cbl errors.New
    00283430str x0, [sp+184]
    00283434str x1, [sp+192]
    00283438str xzr, [sp+88]
    0028343cldr x1, [sp+184]
    00283440ldr x2, [sp+192]
    00283444str x1, [sp+72]
    00283448str x2, [sp+80]
    0028344cldr x0, [sp+88]
    00283450ldur x29, [sp-8]
    00283454ldr x30, [sp], 208
    00283458ret x30
    0028345c
    0028345cloc_28345c:
    0028345cadrp x27, 0x73d000
    00283460ldr x2, [x27+2056]
    00283464adrp x27, 0x73d000
    00283468ldr x1, [x27+2056]
    0028346cadrp x0, 0x372000
    00283470add x0, x0, 3072
    00283474bl runtime.makeslice
    00283478adrp x27, 0x73d000
    0028347cldr x3, [x27+2056]
    00283480adrp x27, 0x73d000
    00283484ldr x4, [x27+2056]
    00283488str x0, [sp+96]
    0028348cstr x3, [sp+104]
    00283490str x4, [sp+112]
    00283494ldr x0, [sp+224]
    00283498ldr x1, [sp+232]
    0028349cbl crypto/internal/randutil.MaybeReadByte
    002834a0stp xzr, xzr, [sp+184]
    002834a4ldr x0, [sp+224]
    002834a8ldr x2, [sp+96]
    002834acldr x3, [sp+104]
    002834b0ldr x1, [sp+232]
    002834b4ldr x4, [sp+112]
    002834b8bl io.ReadFull
    002834bcstr x0, [sp+64]
    002834c0str x1, [sp+184]
    002834c4str x2, [sp+192]
    002834c8ldr x3, [sp+64]
    002834ccstr x3, [sp+56]
    002834d0str x1, [sp+160]
    002834d4str x2, [sp+168]
    002834d8str x1, [sp+120]
    002834dcstr x2, [sp+128]
    002834e0cbnz x1, 0x2834e8
    002834e4b 0x28350c
    002834e8
    002834e8loc_2834e8:
    002834e8str xzr, [sp+88]
    002834ecldr x1, [sp+120]
    002834f0ldr x2, [sp+128]
    002834f4str x1, [sp+72]
    002834f8str x2, [sp+80]
    002834fcldr x0, [sp+88]
    00283500ldur x29, [sp-8]
    00283504ldr x30, [sp], 208
    00283508ret x30
    0028350c
    0028350cloc_28350c:
    0028350cstr xzr, [sp+176]
    00283510stp xzr, xzr, [sp+184]
    00283514ldr x1, [sp+96]
    00283518ldr x2, [sp+104]
    0028351cldr x3, [sp+112]
    00283520ldr x0, [sp+216]
    00283524bl crypto/ecdh.(*x25519Curve).NewPrivateKey
    00283528str x0, [sp+176]
    0028352cstr x1, [sp+184]
    00283530str x2, [sp+192]
    00283534ldr x4, [sp+176]
    00283538str x4, [sp+152]
    0028353cldr x4, [sp+184]
    00283540ldr x5, [sp+192]
    00283544str x4, [sp+136]
    00283548str x5, [sp+144]
    0028354cldr x4, [sp+152]
    00283550str x4, [sp+88]
    00283554ldr x1, [sp+136]
    00283558ldr x2, [sp+144]
    0028355cstr x1, [sp+72]
    00283560str x2, [sp+80]
    00283564ldr x0, [sp+88]
    00283568ldur x29, [sp-8]
    0028356cldr x30, [sp], 208
    00283570ret x30
    00283574
    00283574loc_283574:
    00283574stp x0, x1, [sp+8]
    00283578str x2, [sp+24]
    0028357cmov x3, x30
    00283580bl runtime.morestack_noctxt.abi0
    00283584ldp x0, x1, [sp+8]
    00283588ldr x2, [sp+24]
    0028358cb 0x2833e0
    002833e0
    00283590
    00283590crypto/ecdh.(*x25519Curve).NewPrivateKey: ; void crypto/ecdh.(*x25519Curve).NewPrivateKey(crypto/ecdh.x25519Curve * c, struct []uint8 key)
    00283590ldr x16, [x28+16]
    00283594sub x17, sp, 128
    00283598subs xzr, x17, x16
    0028359cb.ls 0x283930
    002835a0sub x20, sp, 256
    002835a4stp x29, x30, [x20-8]
    002835a8add sp, x20, 0
    002835acsub x29, sp, 8
    002835b0str x0, [sp+264]
    002835b4str x1, [sp+272]
    002835b8str x2, [sp+280]
    002835bcstr x3, [sp+288]
    002835c0str xzr, [sp+144]
    002835c4stp xzr, xzr, [sp+128]
    002835c8adrp x27, 0x7c8000
    002835ccldrb w3, [x27+1551]
    002835d0tbnz w3, 0, 0x2835d8
    002835d4b 0x283614
    002835d8
    002835d8loc_2835d8:
    002835d8adrp x0, 0x44a000
    002835dcadd x0, x0, 654
    002835e0orr x1, xzr, 63
    002835e4bl errors.New
    002835e8str x0, [sp+208]
    002835ecstr x1, [sp+216]
    002835f0str xzr, [sp+144]
    002835f4ldr x1, [sp+208]
    002835f8ldr x2, [sp+216]
    002835fcstr x1, [sp+128]
    00283600str x2, [sp+136]
    00283604ldr x0, [sp+144]
    00283608ldp x29, x30, [sp-8]
    0028360cadd sp, sp, 256
    00283610ret x30
    00283614
    00283614loc_283614:
    00283614ldr x3, [sp+280]
    00283618str x3, [sp+120]
    0028361cadrp x27, 0x73d000
    00283620ldr x4, [x27+2056]
    00283624subs xzr, x3, x4
    00283628b.ne 0x283630
    0028362cb 0x28366c
    00283630
    00283630loc_283630:
    00283630adrp x0, 0x43f000
    00283634add x0, x0, 1875
    00283638movz x1, 37
    0028363cbl errors.New
    00283640str x0, [sp+208]
    00283644str x1, [sp+216]
    00283648str xzr, [sp+144]
    0028364cldr x1, [sp+208]
    00283650ldr x2, [sp+216]
    00283654str x1, [sp+128]
    00283658str x2, [sp+136]
    0028365cldr x0, [sp+144]
    00283660ldp x29, x30, [sp-8]
    00283664add sp, sp, 256
    00283668ret x30
    0028366c
    0028366cloc_28366c:
    0028366cadrp x27, 0x73d000
    00283670ldr x2, [x27+2048]
    00283674adrp x27, 0x73d000
    00283678ldr x1, [x27+2048]
    0028367cadrp x0, 0x372000
    00283680add x0, x0, 3072
    00283684bl runtime.makeslice
    00283688adrp x27, 0x73d000
    0028368cldr x3, [x27+2048]
    00283690adrp x27, 0x73d000
    00283694ldr x4, [x27+2048]
    00283698str x0, [sp+152]
    0028369cstr x3, [sp+160]
    002836a0str x4, [sp+168]
    002836a4adrp x27, 0x493000
    002836a8add x27, x27, 1120
    002836acldp x3, x4, [x27]
    002836b0adrp x27, 0x493000
    002836b4add x27, x27, 1136
    002836b8ldp x5, x6, [x27]
    002836bcstp x3, x4, [sp+88]
    002836c0stp x5, x6, [sp+104]
    002836c4add x6, sp, 88
    002836c8ldrsb x27, [x6]
    002836ccb 0x2836d0
    002836d0
    002836d0loc_2836d0:
    002836d0str x6, [sp+184]
    002836d4orr x8, xzr, 32
    002836d8str x8, [sp+192]
    002836dcstr x8, [sp+200]
    002836e0ldr x0, [sp+152]
    002836e4ldr x3, [sp+272]
    002836e8ldr x1, [sp+160]
    002836ecldr x4, [sp+280]
    002836f0ldr x2, [sp+168]
    002836f4ldr x5, [sp+288]
    002836f8mov x7, x8
    002836fcbl crypto/ecdh.x25519ScalarMult
    00283700ldr x0, [sp+272]
    00283704ldr x1, [sp+280]
    00283708ldr x2, [sp+288]
    0028370cbl bytes.Clone
    00283710str x0, [sp+184]
    00283714str x1, [sp+192]
    00283718str x2, [sp+200]
    0028371cadrp x0, 0x3f3000
    00283720add x0, x0, 2816
    00283724bl runtime.newobject
    00283728str x0, [sp+176]
    0028372cadrp x27, 0x7c8000
    00283730ldr w9, [x27+3056]
    00283734cbz w9, 0x28373c
    00283738b 0x283740
    0028373c
    0028373cloc_28373c:
    0028373cb 0x28375c
    00283740
    00283740loc_283740:
    00283740str x0, [sp+232]
    00283744mov x1, x0
    00283748adrp x0, 0x3f3000
    0028374cadd x0, x0, 2816
    00283750bl runtime.wbZero
    00283754ldr x0, [sp+232]
    00283758b 0x28375c
    0028375c
    0028375cloc_28375c:
    0028375cstp xzr, xzr, [x0]
    00283760stp xzr, xzr, [x0+16]
    00283764stp xzr, xzr, [x0+32]
    00283768stp xzr, xzr, [x0+48]
    0028376cldr x1, [sp+176]
    00283770ldrsb x27, [x1]
    00283774ldr x2, [sp+264]
    00283778adrp x3, 0x496000
    0028377cadd x3, x3, 1144
    00283780str x3, [x1]
    00283784adrp x27, 0x7c8000
    00283788ldr w3, [x27+3056]
    0028378ccbz w3, 0x283794
    00283790b 0x283798
    00283794
    00283794loc_283794:
    00283794b 0x2837ac
    00283798
    00283798loc_283798:
    00283798bl runtime.gcWriteBarrier2
    0028379cstr x2, [x25]
    002837a0ldr x3, [x1+8]
    002837a4str x3, [x25+8]
    002837a8b 0x2837ac
    002837ac
    002837acloc_2837ac:
    002837acstr x2, [x1+8]
    002837b0ldr x1, [sp+176]
    002837b4ldrsb x27, [x1]
    002837b8ldr x2, [sp+184]
    002837bcldr x3, [sp+192]
    002837c0ldr x4, [sp+200]
    002837c4str x3, [x1+24]
    002837c8str x4, [x1+32]
    002837ccadrp x27, 0x7c8000
    002837d0ldr w3, [x27+3056]
    002837d4cbz w3, 0x2837dc
    002837d8b 0x2837e0
    002837dc
    002837dcloc_2837dc:
    002837dcb 0x2837f4
    002837e0
    002837e0loc_2837e0:
    002837e0bl runtime.gcWriteBarrier2
    002837e4str x2, [x25]
    002837e8ldr x3, [x1+16]
    002837ecstr x3, [x25+8]
    002837f0b 0x2837f4
    002837f4
    002837f4loc_2837f4:
    002837f4str x2, [x1+16]
    002837f8adrp x0, 0x3e4000
    002837fcadd x0, x0, 2592
    00283800bl runtime.newobject
    00283804str x0, [sp+240]
    00283808adrp x27, 0x7c8000
    0028380cldr w1, [x27+3056]
    00283810cbz w1, 0x283818
    00283814b 0x28381c
    00283818
    00283818loc_283818:
    00283818b 0x283838
    0028381c
    0028381cloc_28381c:
    0028381cstr x0, [sp+224]
    00283820mov x1, x0
    00283824adrp x0, 0x3e4000
    00283828add x0, x0, 2592
    0028382cbl runtime.wbZero
    00283830ldr x0, [sp+224]
    00283834b 0x283838
    00283838
    00283838loc_283838:
    00283838stp xzr, xzr, [x0]
    0028383cstp xzr, xzr, [x0+16]
    00283840stp xzr, xzr, [x0+32]
    00283844str xzr, [x0+48]
    00283848ldr x3, [sp+240]
    0028384cldrsb x27, [x3]
    00283850ldr x4, [sp+264]
    00283854adrp x5, 0x496000
    00283858add x5, x5, 1144
    0028385cstr x5, [x3]
    00283860adrp x27, 0x7c8000
    00283864ldr w5, [x27+3056]
    00283868cbz w5, 0x283870
    0028386cb 0x283874
    00283870
    00283870loc_283870:
    00283870b 0x283888
    00283874
    00283874loc_283874:
    00283874bl runtime.gcWriteBarrier2
    00283878str x4, [x25]
    0028387cldr x5, [x3+8]
    00283880str x5, [x25+8]
    00283884b 0x283888
    00283888
    00283888loc_283888:
    00283888str x4, [x3+8]
    0028388cldr x3, [sp+240]
    00283890ldrsb x27, [x3]
    00283894ldr x4, [sp+152]
    00283898ldr x5, [sp+160]
    0028389cldr x6, [sp+168]
    002838a0str x5, [x3+24]
    002838a4str x6, [x3+32]
    002838a8adrp x27, 0x7c8000
    002838acldr w5, [x27+3056]
    002838b0cbz w5, 0x2838b8
    002838b4b 0x2838bc
    002838b8
    002838b8loc_2838b8:
    002838b8b 0x2838d0
    002838bc
    002838bcloc_2838bc:
    002838bcbl runtime.gcWriteBarrier2
    002838c0str x4, [x25]
    002838c4ldr x5, [x3+16]
    002838c8str x5, [x25+8]
    002838ccb 0x2838d0
    002838d0
    002838d0loc_2838d0:
    002838d0str x4, [x3+16]
    002838d4ldr x3, [sp+176]
    002838d8ldrsb x27, [x3]
    002838dcldr x4, [sp+240]
    002838e0adrp x27, 0x7c8000
    002838e4ldr w5, [x27+3056]
    002838e8cbz w5, 0x2838f0
    002838ecb 0x2838f4
    002838f0
    002838f0loc_2838f0:
    002838f0b 0x283908
    002838f4
    002838f4loc_2838f4:
    002838f4bl runtime.gcWriteBarrier2
    002838f8str x4, [x25]
    002838fcldr x5, [x3+40]
    00283900str x5, [x25+8]
    00283904b 0x283908
    00283908
    00283908loc_283908:
    00283908str x4, [x3+40]
    0028390cldr x3, [sp+176]
    00283910str x3, [sp+144]
    00283914stp xzr, xzr, [sp+128]
    00283918ldr x0, [sp+144]
    0028391cmov x1, xzr
    00283920mov x2, xzr
    00283924ldp x29, x30, [sp-8]
    00283928add sp, sp, 256
    0028392cret x30
    00283930
    00283930loc_283930:
    00283930stp x0, x1, [sp+8]
    00283934stp x2, x3, [sp+24]
    00283938mov x3, x30
    0028393cbl runtime.morestack_noctxt.abi0
    00283940ldp x0, x1, [sp+8]
    00283944ldp x2, x3, [sp+24]
    00283948b 0x283590
    0028394cudf 0
    00283590
    00283950
    00283950crypto/ecdh.(*x25519Curve).NewPublicKey: ; void crypto/ecdh.(*x25519Curve).NewPublicKey(crypto/ecdh.x25519Curve * c, struct []uint8 key)
    00283950ldr x16, [x28+16]
    00283954subs xzr, sp, x16
    00283958b.ls 0x283b40
    0028395cstr x30, [sp-128]!
    00283960stur x29, [sp-8]
    00283964sub x29, sp, 8
    00283968str x0, [sp+136]
    0028396cstr x1, [sp+144]
    00283970str x2, [sp+152]
    00283974str x3, [sp+160]
    00283978str xzr, [sp+56]
    0028397cstp xzr, xzr, [sp+40]
    00283980adrp x27, 0x7c8000
    00283984ldrb w3, [x27+1551]
    00283988tbnz w3, 0, 0x283990
    0028398cb 0x2839cc
    00283990
    00283990loc_283990:
    00283990adrp x0, 0x44a000
    00283994add x0, x0, 654
    00283998orr x1, xzr, 63
    0028399cbl errors.New
    002839a0str x0, [sp+104]
    002839a4str x1, [sp+112]
    002839a8str xzr, [sp+56]
    002839acldr x1, [sp+104]
    002839b0ldr x2, [sp+112]
    002839b4str x1, [sp+40]
    002839b8str x2, [sp+48]
    002839bcldr x0, [sp+56]
    002839c0ldur x29, [sp-8]
    002839c4ldr x30, [sp], 128
    002839c8ret x30
    002839cc
    002839ccloc_2839cc:
    002839ccldr x3, [sp+152]
    002839d0str x3, [sp+32]
    002839d4adrp x27, 0x73d000
    002839d8ldr x4, [x27+2048]
    002839dcsubs xzr, x3, x4
    002839e0b.ne 0x2839e8
    002839e4b 0x283a24
    002839e8
    002839e8loc_2839e8:
    002839e8adrp x0, 0x43b000
    002839ecadd x0, x0, 444
    002839f0orr x1, xzr, 31
    002839f4bl errors.New
    002839f8str x0, [sp+104]
    002839fcstr x1, [sp+112]
    00283a00str xzr, [sp+56]
    00283a04ldr x1, [sp+104]
    00283a08ldr x2, [sp+112]
    00283a0cstr x1, [sp+40]
    00283a10str x2, [sp+48]
    00283a14ldr x0, [sp+56]
    00283a18ldur x29, [sp-8]
    00283a1cldr x30, [sp], 128
    00283a20ret x30
    00283a24
    00283a24loc_283a24:
    00283a24ldr x0, [sp+144]
    00283a28ldr x1, [sp+152]
    00283a2cldr x2, [sp+160]
    00283a30bl bytes.Clone
    00283a34str x0, [sp+80]
    00283a38str x1, [sp+88]
    00283a3cstr x2, [sp+96]
    00283a40adrp x0, 0x3e4000
    00283a44add x0, x0, 2592
    00283a48bl runtime.newobject
    00283a4cstr x0, [sp+72]
    00283a50adrp x27, 0x7c8000
    00283a54ldr w3, [x27+3056]
    00283a58cbz w3, 0x283a60
    00283a5cb 0x283a64
    00283a60
    00283a60loc_283a60:
    00283a60b 0x283a80
    00283a64
    00283a64loc_283a64:
    00283a64str x0, [sp+64]
    00283a68mov x1, x0
    00283a6cadrp x0, 0x3e4000
    00283a70add x0, x0, 2592
    00283a74bl runtime.wbZero
    00283a78ldr x0, [sp+64]
    00283a7cb 0x283a80
    00283a80
    00283a80loc_283a80:
    00283a80stp xzr, xzr, [x0]
    00283a84stp xzr, xzr, [x0+16]
    00283a88stp xzr, xzr, [x0+32]
    00283a8cstr xzr, [x0+48]
    00283a90ldr x3, [sp+72]
    00283a94ldrsb x27, [x3]
    00283a98ldr x4, [sp+136]
    00283a9cadrp x5, 0x496000
    00283aa0add x5, x5, 1144
    00283aa4str x5, [x3]
    00283aa8adrp x27, 0x7c8000
    00283aacldr w5, [x27+3056]
    00283ab0cbz w5, 0x283ab8
    00283ab4b 0x283abc
    00283ab8
    00283ab8loc_283ab8:
    00283ab8b 0x283ad0
    00283abc
    00283abcloc_283abc:
    00283abcbl runtime.gcWriteBarrier2
    00283ac0str x4, [x25]
    00283ac4ldr x5, [x3+8]
    00283ac8str x5, [x25+8]
    00283accb 0x283ad0
    00283ad0
    00283ad0loc_283ad0:
    00283ad0str x4, [x3+8]
    00283ad4ldr x3, [sp+72]
    00283ad8ldrsb x27, [x3]
    00283adcldr x4, [sp+80]
    00283ae0ldr x5, [sp+88]
    00283ae4ldr x6, [sp+96]
    00283ae8str x5, [x3+24]
    00283aecstr x6, [x3+32]
    00283af0adrp x27, 0x7c8000
    00283af4ldr w5, [x27+3056]
    00283af8cbz w5, 0x283b00
    00283afcb 0x283b04
    00283b00
    00283b00loc_283b00:
    00283b00b 0x283b18
    00283b04
    00283b04loc_283b04:
    00283b04bl runtime.gcWriteBarrier2
    00283b08str x4, [x25]
    00283b0cldr x5, [x3+16]
    00283b10str x5, [x25+8]
    00283b14b 0x283b18
    00283b18
    00283b18loc_283b18:
    00283b18str x4, [x3+16]
    00283b1cldr x3, [sp+72]
    00283b20str x3, [sp+56]
    00283b24stp xzr, xzr, [sp+40]
    00283b28ldr x0, [sp+56]
    00283b2cmov x1, xzr
    00283b30mov x2, xzr
    00283b34ldur x29, [sp-8]
    00283b38ldr x30, [sp], 128
    00283b3cret x30
    00283b40
    00283b40loc_283b40:
    00283b40stp x0, x1, [sp+8]
    00283b44stp x2, x3, [sp+24]
    00283b48mov x3, x30
    00283b4cbl runtime.morestack_noctxt.abi0
    00283b50ldp x0, x1, [sp+8]
    00283b54ldp x2, x3, [sp+24]
    00283b58b 0x283950
    00283b5cudf 0
    00283950
    00283b60
    00283b60crypto/ecdh.(*x25519Curve).ecdh: ; void crypto/ecdh.(*x25519Curve).ecdh(crypto/ecdh.x25519Curve * c, crypto/ecdh.PrivateKey * local, crypto/ecdh.PublicKey * remote)
    00283b60ldr x16, [x28+16]
    00283b64sub x17, sp, 96
    00283b68subs xzr, x17, x16
    00283b6cb.ls 0x283cc8
    00283b70str x30, [sp-224]!
    00283b74stur x29, [sp-8]
    00283b78sub x29, sp, 8
    00283b7cstr x0, [sp+232]
    00283b80str x1, [sp+240]
    00283b84str x2, [sp+248]
    00283b88str xzr, [sp+104]
    00283b8cstp xzr, xzr, [sp+112]
    00283b90stp xzr, xzr, [sp+88]
    00283b94adrp x27, 0x73d000
    00283b98ldr x2, [x27+2064]
    00283b9cadrp x27, 0x73d000
    00283ba0ldr x1, [x27+2064]
    00283ba4adrp x0, 0x372000
    00283ba8add x0, x0, 3072
    00283bacbl runtime.makeslice
    00283bb0adrp x27, 0x73d000
    00283bb4ldr x3, [x27+2064]
    00283bb8adrp x27, 0x73d000
    00283bbcldr x4, [x27+2064]
    00283bc0str x0, [sp+128]
    00283bc4str x3, [sp+136]
    00283bc8str x4, [sp+144]
    00283bccldr x3, [sp+240]
    00283bd0ldrsb x27, [x3]
    00283bd4ldr x4, [x3+16]
    00283bd8ldr x5, [x3+24]
    00283bdcldr x3, [x3+32]
    00283be0str x4, [sp+176]
    00283be4str x5, [sp+184]
    00283be8str x3, [sp+192]
    00283becldr x3, [sp+248]
    00283bf0ldrsb x27, [x3]
    00283bf4ldr x6, [x3+16]
    00283bf8ldr x7, [x3+24]
    00283bfcldr x8, [x3+32]
    00283c00str x6, [sp+152]
    00283c04str x7, [sp+160]
    00283c08str x8, [sp+168]
    00283c0cldr x0, [sp+128]
    00283c10ldr x1, [sp+136]
    00283c14ldr x2, [sp+144]
    00283c18ldr x3, [sp+176]
    00283c1cldr x4, [sp+184]
    00283c20ldr x5, [sp+192]
    00283c24bl crypto/ecdh.x25519ScalarMult
    00283c28ldr x0, [sp+128]
    00283c2cldr x1, [sp+136]
    00283c30ldr x2, [sp+144]
    00283c34bl crypto/ecdh.isZero
    00283c38strb w0, [sp+87]
    00283c3ctbnz w0, 0, 0x283c44
    00283c40b 0x283c8c
    00283c44
    00283c44loc_283c44:
    00283c44adrp x0, 0x449000
    00283c48add x0, x0, 95
    00283c4cmovz x1, 58
    00283c50bl errors.New
    00283c54str x0, [sp+200]
    00283c58str x1, [sp+208]
    00283c5cstr xzr, [sp+104]
    00283c60stp xzr, xzr, [sp+112]
    00283c64ldr x3, [sp+200]
    00283c68ldr x4, [sp+208]
    00283c6cstr x3, [sp+88]
    00283c70str x4, [sp+96]
    00283c74ldr x0, [sp+104]
    00283c78ldr x1, [sp+112]
    00283c7cldr x2, [sp+120]
    00283c80ldur x29, [sp-8]
    00283c84ldr x30, [sp], 224
    00283c88ret x30
    00283c8c
    00283c8cloc_283c8c:
    00283c8cldr x5, [sp+128]
    00283c90ldr x6, [sp+136]
    00283c94ldr x7, [sp+144]
    00283c98str x5, [sp+104]
    00283c9cstr x6, [sp+112]
    00283ca0str x7, [sp+120]
    00283ca4stp xzr, xzr, [sp+88]
    00283ca8ldr x0, [sp+104]
    00283cacldr x1, [sp+112]
    00283cb0ldr x2, [sp+120]
    00283cb4mov x3, xzr
    00283cb8mov x4, xzr
    00283cbcldur x29, [sp-8]
    00283cc0ldr x30, [sp], 224
    00283cc4ret x30
    00283cc8
    00283cc8loc_283cc8:
    00283cc8stp x0, x1, [sp+8]
    00283cccstr x2, [sp+24]
    00283cd0mov x3, x30
    00283cd4bl runtime.morestack_noctxt.abi0
    00283cd8ldp x0, x1, [sp+8]
    00283cdcldr x2, [sp+24]
    00283ce0b 0x283b60
    00283ce4udf 0
    00283ce8udf 0
    00283cecudf 0
    00283b60