File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    0035b6f0
    0035b6f0crypto/internal/hpke.init: ; void crypto/internal/hpke.init(void)
    0035b6f0ldr x16, [x28+16]
    0035b6f4subs xzr, sp, x16
    0035b6f8b.ls 0x35b894
    0035b6fcstr x30, [sp-128]!
    0035b700stur x29, [sp-8]
    0035b704sub x29, sp, 8
    0035b708bl runtime.makemap_small
    0035b70cstr x0, [sp+112]
    0035b710bl crypto/ecdh.X25519
    0035b714str x0, [sp+96]
    0035b718str x1, [sp+104]
    0035b71cstp xzr, xzr, [sp+56]
    0035b720str xzr, [sp+72]
    0035b724strh wzr, [sp+80]
    0035b728ldr x0, [sp+96]
    0035b72cldr x1, [sp+104]
    0035b730str x0, [sp+56]
    0035b734str x1, [sp+64]
    0035b738movz x0, 5
    0035b73cstr x0, [sp+72]
    0035b740orr x0, xzr, 32
    0035b744strh w0, [sp+80]
    0035b748ldr x1, [sp+112]
    0035b74cadrp x0, 0x2c9000
    0035b750add x0, x0, 3488
    0035b754adrp x2, 0x3b5000
    0035b758add x2, x2, 3072
    0035b75cbl runtime.mapassign
    0035b760str x0, [sp+32]
    0035b764ldrsb x27, [x0]
    0035b768ldr x1, [sp+64]
    0035b76cldr x2, [sp+56]
    0035b770ldr x3, [sp+72]
    0035b774ldrh w4, [sp+80]
    0035b778str x2, [x0]
    0035b77cstr x3, [x0+16]
    0035b780strh w4, [x0+24]
    0035b784adrp x27, 0x6f0000
    0035b788ldr w2, [x27+3056]
    0035b78ccbz w2, 0x35b794
    0035b790b 0x35b798
    0035b794
    0035b794loc_35b794:
    0035b794b 0x35b7ac
    0035b798
    0035b798loc_35b798:
    0035b798bl runtime.gcWriteBarrier2
    0035b79cstr x1, [x25]
    0035b7a0ldr x2, [x0+8]
    0035b7a4str x2, [x25+8]
    0035b7a8b 0x35b7ac
    0035b7ac
    0035b7acloc_35b7ac:
    0035b7acstr x1, [x0+8]
    0035b7b0ldr x0, [sp+112]
    0035b7b4adrp x27, 0x6f0000
    0035b7b8ldr w1, [x27+3056]
    0035b7bccbz w1, 0x35b7c4
    0035b7c0b 0x35b7c8
    0035b7c4
    0035b7c4loc_35b7c4:
    0035b7c4b 0x35b7e0
    0035b7c8
    0035b7c8loc_35b7c8:
    0035b7c8bl runtime.gcWriteBarrier2
    0035b7ccstr x0, [x25]
    0035b7d0adrp x27, 0x6c6000
    0035b7d4ldr x1, [x27+80]
    0035b7d8str x1, [x25+8]
    0035b7dcb 0x35b7e0
    0035b7e0
    0035b7e0loc_35b7e0:
    0035b7e0adrp x27, 0x6c6000
    0035b7e4str x0, [x27+80]
    0035b7e8bl crypto/internal/hpke.map.init.0
    0035b7ecbl runtime.makemap_small
    0035b7f0str x0, [sp+48]
    0035b7f4adrp x0, 0x37e000
    0035b7f8add x0, x0, 936
    0035b7fcstr x0, [sp+40]
    0035b800ldr x1, [sp+48]
    0035b804adrp x0, 0x2c9000
    0035b808add x0, x0, 3360
    0035b80cadrp x2, 0x3b4000
    0035b810add x2, x2, 152
    0035b814bl runtime.mapassign
    0035b818str x0, [sp+88]
    0035b81cldrsb x27, [x0]
    0035b820ldr x1, [sp+40]
    0035b824adrp x27, 0x6f0000
    0035b828ldr w2, [x27+3056]
    0035b82ccbz w2, 0x35b834
    0035b830b 0x35b838
    0035b834
    0035b834loc_35b834:
    0035b834b 0x35b84c
    0035b838
    0035b838loc_35b838:
    0035b838bl runtime.gcWriteBarrier2
    0035b83cstr x1, [x25]
    0035b840ldr x2, [x0]
    0035b844str x2, [x25+8]
    0035b848b 0x35b84c
    0035b84c
    0035b84cloc_35b84c:
    0035b84cstr x1, [x0]
    0035b850ldr x0, [sp+48]
    0035b854adrp x27, 0x6f0000
    0035b858ldr w1, [x27+3056]
    0035b85ccbz w1, 0x35b864
    0035b860b 0x35b868
    0035b864
    0035b864loc_35b864:
    0035b864b 0x35b880
    0035b868
    0035b868loc_35b868:
    0035b868bl runtime.gcWriteBarrier2
    0035b86cstr x0, [x25]
    0035b870adrp x27, 0x6c6000
    0035b874ldr x1, [x27+96]
    0035b878str x1, [x25+8]
    0035b87cb 0x35b880
    0035b880
    0035b880loc_35b880:
    0035b880adrp x27, 0x6c6000
    0035b884str x0, [x27+96]
    0035b888ldur x29, [sp-8]
    0035b88cldr x30, [sp], 128
    0035b890ret x30
    0035b894
    0035b894loc_35b894:
    0035b894mov x3, x30
    0035b898bl runtime.morestack_noctxt.abi0
    0035b89cb 0x35b6f0
    0035b6f0
    0035b8a0
    0035b8a0crypto/internal/hpke.init.func1: ; void crypto/internal/hpke.init.func1(struct []uint8 key)
    0035b8a0ldr x16, [x28+16]
    0035b8a4sub x17, sp, 96
    0035b8a8subs xzr, x17, x16
    0035b8acb.ls 0x35b9e0
    0035b8b0str x30, [sp-224]!
    0035b8b4stur x29, [sp-8]
    0035b8b8sub x29, sp, 8
    0035b8bcstr x0, [sp+232]
    0035b8c0str x1, [sp+240]
    0035b8c4str x2, [sp+248]
    0035b8c8stp xzr, xzr, [sp+56]
    0035b8ccstp xzr, xzr, [sp+40]
    0035b8d0stp xzr, xzr, [sp+104]
    0035b8d4stp xzr, xzr, [sp+200]
    0035b8d8ldr x0, [sp+232]
    0035b8dcldr x1, [sp+240]
    0035b8e0ldr x2, [sp+248]
    0035b8e4bl crypto/aes.NewCipher
    0035b8e8str x0, [sp+104]
    0035b8ecstr x1, [sp+112]
    0035b8f0str x2, [sp+200]
    0035b8f4str x3, [sp+208]
    0035b8f8ldr x3, [sp+112]
    0035b8fcldr x4, [sp+104]
    0035b900str x4, [sp+168]
    0035b904str x3, [sp+176]
    0035b908ldr x3, [sp+200]
    0035b90cldr x4, [sp+208]
    0035b910str x3, [sp+152]
    0035b914str x4, [sp+160]
    0035b918ldr x3, [sp+168]
    0035b91cldr x4, [sp+176]
    0035b920str x3, [sp+88]
    0035b924str x4, [sp+96]
    0035b928ldr x3, [sp+160]
    0035b92cldr x4, [sp+152]
    0035b930str x4, [sp+72]
    0035b934str x3, [sp+80]
    0035b938cbnz x4, 0x35b940
    0035b93cb 0x35b968
    0035b940
    0035b940loc_35b940:
    0035b940stp xzr, xzr, [sp+56]
    0035b944ldr x3, [sp+80]
    0035b948ldr x2, [sp+72]
    0035b94cstr x2, [sp+40]
    0035b950str x3, [sp+48]
    0035b954ldr x0, [sp+56]
    0035b958ldr x1, [sp+64]
    0035b95cldur x29, [sp-8]
    0035b960ldr x30, [sp], 224
    0035b964ret x30
    0035b968
    0035b968loc_35b968:
    0035b968stp xzr, xzr, [sp+184]
    0035b96cstp xzr, xzr, [sp+200]
    0035b970ldr x0, [sp+88]
    0035b974ldr x1, [sp+96]
    0035b978bl crypto/cipher.NewGCM
    0035b97cstr x0, [sp+184]
    0035b980str x1, [sp+192]
    0035b984str x2, [sp+200]
    0035b988str x3, [sp+208]
    0035b98cldr x2, [sp+192]
    0035b990ldr x3, [sp+184]
    0035b994str x3, [sp+136]
    0035b998str x2, [sp+144]
    0035b99cldr x2, [sp+200]
    0035b9a0ldr x3, [sp+208]
    0035b9a4str x2, [sp+120]
    0035b9a8str x3, [sp+128]
    0035b9acldr x2, [sp+136]
    0035b9b0ldr x3, [sp+144]
    0035b9b4str x2, [sp+56]
    0035b9b8str x3, [sp+64]
    0035b9bcldr x2, [sp+120]
    0035b9c0ldr x3, [sp+128]
    0035b9c4str x2, [sp+40]
    0035b9c8str x3, [sp+48]
    0035b9ccldr x0, [sp+56]
    0035b9d0ldr x1, [sp+64]
    0035b9d4ldur x29, [sp-8]
    0035b9d8ldr x30, [sp], 224
    0035b9dcret x30
    0035b9e0
    0035b9e0loc_35b9e0:
    0035b9e0stp x0, x1, [sp+8]
    0035b9e4str x2, [sp+24]
    0035b9e8mov x3, x30
    0035b9ecbl runtime.morestack_noctxt.abi0
    0035b9f0ldp x0, x1, [sp+8]
    0035b9f4ldr x2, [sp+24]
    0035b9f8b 0x35b8a0
    0035b9fcudf 0
    0035b8a0
    0035ba00
    0035ba00crypto/internal/hpke.init.func2: ; void crypto/internal/hpke.init.func2(void)
    0035ba00ldr x16, [x28+16]
    0035ba04subs xzr, sp, x16
    0035ba08b.ls 0x35ba48
    0035ba0cstr x30, [sp-64]!
    0035ba10stur x29, [sp-8]
    0035ba14sub x29, sp, 8
    0035ba18str xzr, [sp+40]
    0035ba1cadrp x0, 0x2d2000
    0035ba20add x0, x0, 992
    0035ba24bl runtime.newobject
    0035ba28str x0, [sp+48]
    0035ba2cmovz x1, 5
    0035ba30str x1, [x0]
    0035ba34ldr x0, [sp+48]
    0035ba38str x0, [sp+40]
    0035ba3cldur x29, [sp-8]
    0035ba40ldr x30, [sp], 64
    0035ba44ret x30
    0035ba48
    0035ba48loc_35ba48:
    0035ba48mov x3, x30
    0035ba4cbl runtime.morestack_noctxt.abi0
    0035ba50b 0x35ba00
    0035ba54udf 0
    0035ba58udf 0
    0035ba5cudf 0
    0035ba00
    0035ba60
    0035ba60crypto/internal/hpke.map.init.0: ; void crypto/internal/hpke.map.init.0(void)
    0035ba60ldr x16, [x28+16]
    0035ba64subs xzr, sp, x16
    0035ba68b.ls 0x35bc50
    0035ba6cstr x30, [sp-96]!
    0035ba70stur x29, [sp-8]
    0035ba74sub x29, sp, 8
    0035ba78bl runtime.makemap_small
    0035ba7cstr x0, [sp+80]
    0035ba80stp xzr, xzr, [sp+56]
    0035ba84str xzr, [sp+72]
    0035ba88orr x0, xzr, 16
    0035ba8cstr x0, [sp+56]
    0035ba90orr x0, xzr, 12
    0035ba94str x0, [sp+64]
    0035ba98adrp x27, 0x6b2000
    0035ba9cldr x0, [x27+2000]
    0035baa0str x0, [sp+72]
    0035baa4ldr x1, [sp+80]
    0035baa8adrp x0, 0x2c9000
    0035baacadd x0, x0, 3616
    0035bab0adrp x2, 0x3b4000
    0035bab4add x2, x2, 152
    0035bab8bl runtime.mapassign
    0035babcstr x0, [sp+48]
    0035bac0ldrsb x27, [x0]
    0035bac4ldr x1, [sp+72]
    0035bac8ldr x2, [sp+56]
    0035baccldr x3, [sp+64]
    0035bad0str x2, [x0]
    0035bad4str x3, [x0+8]
    0035bad8adrp x27, 0x6f0000
    0035badcldr w2, [x27+3056]
    0035bae0cbz w2, 0x35bae8
    0035bae4b 0x35baec
    0035bae8
    0035bae8loc_35bae8:
    0035bae8b 0x35bb00
    0035baec
    0035baecloc_35baec:
    0035baecbl runtime.gcWriteBarrier2
    0035baf0str x1, [x25]
    0035baf4ldr x3, [x0+16]
    0035baf8str x3, [x25+8]
    0035bafcb 0x35bb00
    0035bb00
    0035bb00loc_35bb00:
    0035bb00str x1, [x0+16]
    0035bb04stp xzr, xzr, [sp+56]
    0035bb08str xzr, [sp+72]
    0035bb0corr x3, xzr, 32
    0035bb10str x3, [sp+56]
    0035bb14orr x3, xzr, 12
    0035bb18str x3, [sp+64]
    0035bb1cadrp x27, 0x6b2000
    0035bb20ldr x3, [x27+2000]
    0035bb24str x3, [sp+72]
    0035bb28ldr x1, [sp+80]
    0035bb2cadrp x0, 0x2c9000
    0035bb30add x0, x0, 3616
    0035bb34adrp x2, 0x3b4000
    0035bb38add x2, x2, 176
    0035bb3cbl runtime.mapassign
    0035bb40str x0, [sp+40]
    0035bb44ldrsb x27, [x0]
    0035bb48ldr x3, [sp+72]
    0035bb4cldr x4, [sp+56]
    0035bb50ldr x5, [sp+64]
    0035bb54str x4, [x0]
    0035bb58str x5, [x0+8]
    0035bb5cadrp x27, 0x6f0000
    0035bb60ldr w4, [x27+3056]
    0035bb64cbz w4, 0x35bb6c
    0035bb68b 0x35bb70
    0035bb6c
    0035bb6cloc_35bb6c:
    0035bb6cb 0x35bb84
    0035bb70
    0035bb70loc_35bb70:
    0035bb70bl runtime.gcWriteBarrier2
    0035bb74str x3, [x25]
    0035bb78ldr x4, [x0+16]
    0035bb7cstr x4, [x25+8]
    0035bb80b 0x35bb84
    0035bb84
    0035bb84loc_35bb84:
    0035bb84str x3, [x0+16]
    0035bb88stp xzr, xzr, [sp+56]
    0035bb8cstr xzr, [sp+72]
    0035bb90orr x3, xzr, 32
    0035bb94str x3, [sp+56]
    0035bb98orr x3, xzr, 12
    0035bb9cstr x3, [sp+64]
    0035bba0adrp x3, 0x37e000
    0035bba4add x3, x3, 944
    0035bba8str x3, [sp+72]
    0035bbacldr x1, [sp+80]
    0035bbb0adrp x0, 0x2c9000
    0035bbb4add x0, x0, 3616
    0035bbb8adrp x2, 0x3b4000
    0035bbbcadd x2, x2, 184
    0035bbc0bl runtime.mapassign
    0035bbc4str x0, [sp+32]
    0035bbc8ldrsb x27, [x0]
    0035bbccldr x3, [sp+72]
    0035bbd0ldr x4, [sp+56]
    0035bbd4ldr x5, [sp+64]
    0035bbd8str x4, [x0]
    0035bbdcstr x5, [x0+8]
    0035bbe0adrp x27, 0x6f0000
    0035bbe4ldr w4, [x27+3056]
    0035bbe8cbz w4, 0x35bbf0
    0035bbecb 0x35bbf4
    0035bbf0
    0035bbf0loc_35bbf0:
    0035bbf0b 0x35bc08
    0035bbf4
    0035bbf4loc_35bbf4:
    0035bbf4bl runtime.gcWriteBarrier2
    0035bbf8str x3, [x25]
    0035bbfcldr x1, [x0+16]
    0035bc00str x1, [x25+8]
    0035bc04b 0x35bc08
    0035bc08
    0035bc08loc_35bc08:
    0035bc08str x3, [x0+16]
    0035bc0cldr x0, [sp+80]
    0035bc10adrp x27, 0x6f0000
    0035bc14ldr w1, [x27+3056]
    0035bc18cbz w1, 0x35bc20
    0035bc1cb 0x35bc24
    0035bc20
    0035bc20loc_35bc20:
    0035bc20b 0x35bc3c
    0035bc24
    0035bc24loc_35bc24:
    0035bc24bl runtime.gcWriteBarrier2
    0035bc28str x0, [x25]
    0035bc2cadrp x27, 0x6c6000
    0035bc30ldr x1, [x27+88]
    0035bc34str x1, [x25+8]
    0035bc38b 0x35bc3c
    0035bc3c
    0035bc3cloc_35bc3c:
    0035bc3cadrp x27, 0x6c6000
    0035bc40str x0, [x27+88]
    0035bc44ldur x29, [sp-8]
    0035bc48ldr x30, [sp], 96
    0035bc4cret x30
    0035bc50
    0035bc50loc_35bc50:
    0035bc50mov x3, x30
    0035bc54bl runtime.morestack_noctxt.abi0
    0035bc58b 0x35ba60
    0035bc5cudf 0
    0035ba60
    0035bc60
    0035bc60crypto/internal/hpke.(*hkdfKDF).LabeledExtract: ; void crypto/internal/hpke.(*hkdfKDF).LabeledExtract(crypto/internal/hpke.hkdfKDF * kdf, struct []uint8 sid, struct []uint8 salt, struct string label, struct []uint8 inputKey)
    0035bc60ldr x16, [x28+16]
    0035bc64sub x17, sp, 272
    0035bc68subs xzr, x17, x16
    0035bc6cb.ls 0x35bff4
    0035bc70sub x20, sp, 400
    0035bc74stp x29, x30, [x20-8]
    0035bc78add sp, x20, 0
    0035bc7csub x29, sp, 8
    0035bc80str x0, [sp+408]
    0035bc84str x1, [sp+416]
    0035bc88str x2, [sp+424]
    0035bc8cstr x3, [sp+432]
    0035bc90str x4, [sp+440]
    0035bc94str x5, [sp+448]
    0035bc98str x6, [sp+456]
    0035bc9cstr x7, [sp+464]
    0035bca0str x8, [sp+472]
    0035bca4str x9, [sp+480]
    0035bca8str x10, [sp+488]
    0035bcacstr x11, [sp+496]
    0035bcb0str xzr, [sp+184]
    0035bcb4stp xzr, xzr, [sp+192]
    0035bcb8ldr x3, [sp+424]
    0035bcbcstr x3, [sp+96]
    0035bcc0ldr x4, [sp+472]
    0035bcc4str x4, [sp+88]
    0035bcc8add x3, x3, x4
    0035bcccldr x4, [sp+488]
    0035bcd0str x4, [sp+80]
    0035bcd4add x3, x3, x4
    0035bcd8add x2, x3, 7
    0035bcdcadrp x0, 0x29a000
    0035bce0add x0, x0, 3072
    0035bce4mov x1, xzr
    0035bce8bl runtime.makeslice
    0035bcecldr x3, [sp+96]
    0035bcf0ldr x4, [sp+88]
    0035bcf4add x3, x3, x4
    0035bcf8ldr x4, [sp+80]
    0035bcfcstr x0, [sp+208]
    0035bd00str xzr, [sp+216]
    0035bd04add x3, x3, x4
    0035bd08add x3, x3, 7
    0035bd0cstr x3, [sp+224]
    0035bd10b 0x35bd14
    0035bd14
    0035bd14loc_35bd14:
    0035bd14b 0x35bd18
    0035bd18
    0035bd18loc_35bd18:
    0035bd18adrp x5, 0x356000
    0035bd1cadd x5, x5, 244
    0035bd20str x5, [sp+368]
    0035bd24orr x5, xzr, 7
    0035bd28str x5, [sp+376]
    0035bd2cstr x5, [sp+384]
    0035bd30ldr x2, [sp+224]
    0035bd34ldr x0, [sp+208]
    0035bd38ldr x5, [sp+216]
    0035bd3cstr x0, [sp+344]
    0035bd40str x5, [sp+352]
    0035bd44str x2, [sp+360]
    0035bd48ldr x6, [sp+376]
    0035bd4cadd x1, x5, x6
    0035bd50str x1, [sp+160]
    0035bd54subs xzr, x2, x1
    0035bd58b.hs 0x35bd60
    0035bd5cb 0x35bd68
    0035bd60
    0035bd60loc_35bd60:
    0035bd60str x1, [sp+352]
    0035bd64b 0x35bd88
    0035bd68
    0035bd68loc_35bd68:
    0035bd68ldr x3, [sp+376]
    0035bd6cadrp x4, 0x29a000
    0035bd70add x4, x4, 3072
    0035bd74bl runtime.growslice
    0035bd78str x0, [sp+344]
    0035bd7cstr x1, [sp+352]
    0035bd80str x2, [sp+360]
    0035bd84b 0x35bd88
    0035bd88
    0035bd88loc_35bd88:
    0035bd88ldr x3, [sp+376]
    0035bd8cstr x3, [sp+152]
    0035bd90ldr x3, [sp+160]
    0035bd94ldr x4, [sp+376]
    0035bd98sub x3, x3, x4
    0035bd9cldr x4, [sp+344]
    0035bda0add x0, x4, x3
    0035bda4str x0, [sp+336]
    0035bda8ldr x2, [sp+152]
    0035bdacldr x1, [sp+368]
    0035bdb0bl runtime.memmove
    0035bdb4ldr x2, [sp+360]
    0035bdb8ldr x0, [sp+344]
    0035bdbcldr x3, [sp+352]
    0035bdc0str x0, [sp+208]
    0035bdc4str x3, [sp+216]
    0035bdc8str x2, [sp+224]
    0035bdccstr x0, [sp+312]
    0035bdd0str x3, [sp+320]
    0035bdd4str x2, [sp+328]
    0035bdd8ldr x4, [sp+424]
    0035bddcadd x1, x3, x4
    0035bde0str x1, [sp+144]
    0035bde4subs xzr, x2, x1
    0035bde8b.hs 0x35bdf0
    0035bdecb 0x35bdf8
    0035bdf0
    0035bdf0loc_35bdf0:
    0035bdf0str x1, [sp+320]
    0035bdf4b 0x35be18
    0035bdf8
    0035bdf8loc_35bdf8:
    0035bdf8ldr x3, [sp+424]
    0035bdfcadrp x4, 0x29a000
    0035be00add x4, x4, 3072
    0035be04bl runtime.growslice
    0035be08str x0, [sp+312]
    0035be0cstr x1, [sp+320]
    0035be10str x2, [sp+328]
    0035be14b 0x35be18
    0035be18
    0035be18loc_35be18:
    0035be18ldr x3, [sp+424]
    0035be1cstr x3, [sp+136]
    0035be20ldr x3, [sp+144]
    0035be24ldr x4, [sp+424]
    0035be28sub x3, x3, x4
    0035be2cldr x4, [sp+312]
    0035be30add x0, x4, x3
    0035be34str x0, [sp+304]
    0035be38ldr x2, [sp+136]
    0035be3cldr x1, [sp+416]
    0035be40bl runtime.memmove
    0035be44ldr x2, [sp+328]
    0035be48ldr x0, [sp+312]
    0035be4cldr x3, [sp+320]
    0035be50str x0, [sp+208]
    0035be54str x3, [sp+216]
    0035be58str x2, [sp+224]
    0035be5cstr x0, [sp+280]
    0035be60str x3, [sp+288]
    0035be64str x2, [sp+296]
    0035be68ldr x4, [sp+472]
    0035be6cadd x1, x3, x4
    0035be70str x1, [sp+128]
    0035be74subs xzr, x2, x1
    0035be78b.hs 0x35be80
    0035be7cb 0x35be88
    0035be80
    0035be80loc_35be80:
    0035be80str x1, [sp+288]
    0035be84b 0x35bea8
    0035be88
    0035be88loc_35be88:
    0035be88ldr x3, [sp+472]
    0035be8cadrp x4, 0x29a000
    0035be90add x4, x4, 3072
    0035be94bl runtime.growslice
    0035be98str x0, [sp+280]
    0035be9cstr x1, [sp+288]
    0035bea0str x2, [sp+296]
    0035bea4b 0x35bea8
    0035bea8
    0035bea8loc_35bea8:
    0035bea8ldr x3, [sp+472]
    0035beacstr x3, [sp+120]
    0035beb0ldr x3, [sp+128]
    0035beb4ldr x4, [sp+472]
    0035beb8sub x3, x3, x4
    0035bebcldr x4, [sp+280]
    0035bec0add x0, x4, x3
    0035bec4str x0, [sp+272]
    0035bec8ldr x2, [sp+120]
    0035beccldr x1, [sp+464]
    0035bed0bl runtime.memmove
    0035bed4ldr x2, [sp+296]
    0035bed8ldr x0, [sp+280]
    0035bedcldr x3, [sp+288]
    0035bee0str x0, [sp+208]
    0035bee4str x3, [sp+216]
    0035bee8str x2, [sp+224]
    0035beecstr x0, [sp+248]
    0035bef0str x3, [sp+256]
    0035bef4str x2, [sp+264]
    0035bef8ldr x4, [sp+488]
    0035befcadd x1, x3, x4
    0035bf00str x1, [sp+112]
    0035bf04subs xzr, x2, x1
    0035bf08b.hs 0x35bf10
    0035bf0cb 0x35bf18
    0035bf10
    0035bf10loc_35bf10:
    0035bf10str x1, [sp+256]
    0035bf14b 0x35bf38
    0035bf18
    0035bf18loc_35bf18:
    0035bf18ldr x3, [sp+488]
    0035bf1cadrp x4, 0x29a000
    0035bf20add x4, x4, 3072
    0035bf24bl runtime.growslice
    0035bf28str x0, [sp+248]
    0035bf2cstr x1, [sp+256]
    0035bf30str x2, [sp+264]
    0035bf34b 0x35bf38
    0035bf38
    0035bf38loc_35bf38:
    0035bf38ldr x3, [sp+488]
    0035bf3cstr x3, [sp+104]
    0035bf40ldr x3, [sp+112]
    0035bf44ldr x4, [sp+488]
    0035bf48sub x3, x3, x4
    0035bf4cldr x4, [sp+248]
    0035bf50add x0, x4, x3
    0035bf54str x0, [sp+240]
    0035bf58ldr x2, [sp+104]
    0035bf5cldr x1, [sp+480]
    0035bf60bl runtime.memmove
    0035bf64ldr x3, [sp+248]
    0035bf68ldr x4, [sp+256]
    0035bf6cldr x5, [sp+264]
    0035bf70str x3, [sp+208]
    0035bf74str x4, [sp+216]
    0035bf78str x5, [sp+224]
    0035bf7cstp xzr, xzr, [sp+168]
    0035bf80add x1, sp, 168
    0035bf84str x1, [sp+232]
    0035bf88ldrsb x27, [x1]
    0035bf8cadrp x3, 0xfffffffffff64000
    0035bf90add x3, x3, 3360
    0035bf94str x3, [x1]
    0035bf98ldrsb x27, [x1]
    0035bf9cldr x3, [sp+408]
    0035bfa0ldrsb x27, [x3]
    0035bfa4ldr x3, [x3]
    0035bfa8str x3, [x1+8]
    0035bfacldr x2, [sp+208]
    0035bfb0ldr x5, [sp+440]
    0035bfb4ldr x3, [sp+216]
    0035bfb8ldr x6, [sp+448]
    0035bfbcldr x4, [sp+224]
    0035bfc0ldr x7, [sp+456]
    0035bfc4adrp x0, 0x3b8000
    0035bfc8add x0, x0, 448
    0035bfccbl crypto/internal/fips140/hkdf.Extract[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    0035bfd0str x0, [sp+368]
    0035bfd4str x1, [sp+376]
    0035bfd8str x2, [sp+384]
    0035bfdcstr x0, [sp+184]
    0035bfe0str x1, [sp+192]
    0035bfe4str x2, [sp+200]
    0035bfe8ldp x29, x30, [sp-8]
    0035bfecadd sp, sp, 400
    0035bff0ret x30
    0035bff4
    0035bff4loc_35bff4:
    0035bff4stp x0, x1, [sp+8]
    0035bff8stp x2, x3, [sp+24]
    0035bffcstp x4, x5, [sp+40]
    0035c000stp x6, x7, [sp+56]
    0035c004stp x8, x9, [sp+72]
    0035c008stp x10, x11, [sp+88]
    0035c00cmov x3, x30
    0035c010bl runtime.morestack_noctxt.abi0
    0035c014ldp x0, x1, [sp+8]
    0035c018ldp x2, x3, [sp+24]
    0035c01cldp x4, x5, [sp+40]
    0035c020ldp x6, x7, [sp+56]
    0035c024ldp x8, x9, [sp+72]
    0035c028ldp x10, x11, [sp+88]
    0035c02cb 0x35bc60
    0035bc60
    0035c030
    0035c030crypto/internal/hpke.(*hkdfKDF).LabeledExpand: ; void crypto/internal/hpke.(*hkdfKDF).LabeledExpand(crypto/internal/hpke.hkdfKDF * kdf, struct []uint8 suiteID, struct []uint8 randomKey, struct string label, struct []uint8 info, uint16 length)
    0035c030ldr x16, [x28+16]
    0035c034sub x17, sp, 320
    0035c038subs xzr, x17, x16
    0035c03cb.ls 0x35c404
    0035c040sub x20, sp, 448
    0035c044stp x29, x30, [x20-8]
    0035c048add sp, x20, 0
    0035c04csub x29, sp, 8
    0035c050str x0, [sp+456]
    0035c054str x1, [sp+464]
    0035c058str x2, [sp+472]
    0035c05cstr x3, [sp+480]
    0035c060str x4, [sp+488]
    0035c064str x5, [sp+496]
    0035c068str x6, [sp+504]
    0035c06cstr x7, [sp+512]
    0035c070str x8, [sp+520]
    0035c074str x9, [sp+528]
    0035c078str x10, [sp+536]
    0035c07cstr x11, [sp+544]
    0035c080strh w12, [sp+552]
    0035c084str xzr, [sp+216]
    0035c088stp xzr, xzr, [sp+224]
    0035c08cldr x3, [sp+472]
    0035c090str x3, [sp+120]
    0035c094ldr x4, [sp+520]
    0035c098str x4, [sp+112]
    0035c09cadd x3, x3, x4
    0035c0a0ldr x4, [sp+536]
    0035c0a4str x4, [sp+208]
    0035c0a8add x3, x3, x4
    0035c0acadd x2, x3, 9
    0035c0b0adrp x0, 0x299000
    0035c0b4add x0, x0, 3072
    0035c0b8mov x1, xzr
    0035c0bcbl runtime.makeslice
    0035c0c0ldr x3, [sp+120]
    0035c0c4ldr x4, [sp+112]
    0035c0c8add x3, x3, x4
    0035c0ccldr x4, [sp+208]
    0035c0d0str x0, [sp+240]
    0035c0d4str xzr, [sp+248]
    0035c0d8add x3, x3, x4
    0035c0dcadd x2, x3, 9
    0035c0e0str x2, [sp+256]
    0035c0e4ldrh w3, [sp+552]
    0035c0e8mov x1, xzr
    0035c0ecbl internal/byteorder.BEAppendUint16
    0035c0f0str x0, [sp+240]
    0035c0f4str x1, [sp+248]
    0035c0f8str x2, [sp+256]
    0035c0fcb 0x35c100
    0035c100
    0035c100loc_35c100:
    0035c100b 0x35c104
    0035c104
    0035c104loc_35c104:
    0035c104adrp x5, 0x355000
    0035c108add x5, x5, 244
    0035c10cstr x5, [sp+416]
    0035c110orr x5, xzr, 7
    0035c114str x5, [sp+424]
    0035c118str x5, [sp+432]
    0035c11cldr x2, [sp+256]
    0035c120ldr x0, [sp+240]
    0035c124ldr x5, [sp+248]
    0035c128str x0, [sp+392]
    0035c12cstr x5, [sp+400]
    0035c130str x2, [sp+408]
    0035c134ldr x6, [sp+424]
    0035c138add x1, x5, x6
    0035c13cstr x1, [sp+184]
    0035c140subs xzr, x2, x1
    0035c144b.hs 0x35c14c
    0035c148b 0x35c154
    0035c14c
    0035c14cloc_35c14c:
    0035c14cstr x1, [sp+400]
    0035c150b 0x35c174
    0035c154
    0035c154loc_35c154:
    0035c154ldr x3, [sp+424]
    0035c158adrp x4, 0x299000
    0035c15cadd x4, x4, 3072
    0035c160bl runtime.growslice
    0035c164str x0, [sp+392]
    0035c168str x1, [sp+400]
    0035c16cstr x2, [sp+408]
    0035c170b 0x35c174
    0035c174
    0035c174loc_35c174:
    0035c174ldr x3, [sp+424]
    0035c178str x3, [sp+176]
    0035c17cldr x3, [sp+184]
    0035c180ldr x4, [sp+424]
    0035c184sub x3, x3, x4
    0035c188ldr x4, [sp+392]
    0035c18cadd x0, x4, x3
    0035c190str x0, [sp+384]
    0035c194ldr x2, [sp+176]
    0035c198ldr x1, [sp+416]
    0035c19cbl runtime.memmove
    0035c1a0ldr x2, [sp+408]
    0035c1a4ldr x0, [sp+392]
    0035c1a8ldr x3, [sp+400]
    0035c1acstr x0, [sp+240]
    0035c1b0str x3, [sp+248]
    0035c1b4str x2, [sp+256]
    0035c1b8str x0, [sp+360]
    0035c1bcstr x3, [sp+368]
    0035c1c0str x2, [sp+376]
    0035c1c4ldr x4, [sp+472]
    0035c1c8add x1, x3, x4
    0035c1ccstr x1, [sp+168]
    0035c1d0subs xzr, x2, x1
    0035c1d4b.hs 0x35c1dc
    0035c1d8b 0x35c1e4
    0035c1dc
    0035c1dcloc_35c1dc:
    0035c1dcstr x1, [sp+368]
    0035c1e0b 0x35c204
    0035c1e4
    0035c1e4loc_35c1e4:
    0035c1e4ldr x3, [sp+472]
    0035c1e8adrp x4, 0x299000
    0035c1ecadd x4, x4, 3072
    0035c1f0bl runtime.growslice
    0035c1f4str x0, [sp+360]
    0035c1f8str x1, [sp+368]
    0035c1fcstr x2, [sp+376]
    0035c200b 0x35c204
    0035c204
    0035c204loc_35c204:
    0035c204ldr x3, [sp+472]
    0035c208str x3, [sp+160]
    0035c20cldr x3, [sp+168]
    0035c210ldr x4, [sp+472]
    0035c214sub x3, x3, x4
    0035c218ldr x4, [sp+360]
    0035c21cadd x0, x4, x3
    0035c220str x0, [sp+352]
    0035c224ldr x2, [sp+160]
    0035c228ldr x1, [sp+464]
    0035c22cbl runtime.memmove
    0035c230ldr x2, [sp+376]
    0035c234ldr x0, [sp+360]
    0035c238ldr x3, [sp+368]
    0035c23cstr x0, [sp+240]
    0035c240str x3, [sp+248]
    0035c244str x2, [sp+256]
    0035c248str x0, [sp+328]
    0035c24cstr x3, [sp+336]
    0035c250str x2, [sp+344]
    0035c254ldr x4, [sp+520]
    0035c258add x1, x3, x4
    0035c25cstr x1, [sp+152]
    0035c260subs xzr, x2, x1
    0035c264b.hs 0x35c26c
    0035c268b 0x35c274
    0035c26c
    0035c26cloc_35c26c:
    0035c26cstr x1, [sp+336]
    0035c270b 0x35c294
    0035c274
    0035c274loc_35c274:
    0035c274ldr x3, [sp+520]
    0035c278adrp x4, 0x299000
    0035c27cadd x4, x4, 3072
    0035c280bl runtime.growslice
    0035c284str x0, [sp+328]
    0035c288str x1, [sp+336]
    0035c28cstr x2, [sp+344]
    0035c290b 0x35c294
    0035c294
    0035c294loc_35c294:
    0035c294ldr x3, [sp+520]
    0035c298str x3, [sp+144]
    0035c29cldr x3, [sp+152]
    0035c2a0ldr x4, [sp+520]
    0035c2a4sub x3, x3, x4
    0035c2a8ldr x4, [sp+328]
    0035c2acadd x0, x4, x3
    0035c2b0str x0, [sp+320]
    0035c2b4ldr x2, [sp+144]
    0035c2b8ldr x1, [sp+512]
    0035c2bcbl runtime.memmove
    0035c2c0ldr x2, [sp+344]
    0035c2c4ldr x0, [sp+328]
    0035c2c8ldr x3, [sp+336]
    0035c2ccstr x0, [sp+240]
    0035c2d0str x3, [sp+248]
    0035c2d4str x2, [sp+256]
    0035c2d8str x0, [sp+296]
    0035c2dcstr x3, [sp+304]
    0035c2e0str x2, [sp+312]
    0035c2e4ldr x4, [sp+536]
    0035c2e8add x1, x3, x4
    0035c2ecstr x1, [sp+136]
    0035c2f0subs xzr, x2, x1
    0035c2f4b.hs 0x35c2fc
    0035c2f8b 0x35c304
    0035c2fc
    0035c2fcloc_35c2fc:
    0035c2fcstr x1, [sp+304]
    0035c300b 0x35c324
    0035c304
    0035c304loc_35c304:
    0035c304ldr x3, [sp+536]
    0035c308adrp x4, 0x299000
    0035c30cadd x4, x4, 3072
    0035c310bl runtime.growslice
    0035c314str x0, [sp+296]
    0035c318str x1, [sp+304]
    0035c31cstr x2, [sp+312]
    0035c320b 0x35c324
    0035c324
    0035c324loc_35c324:
    0035c324ldr x3, [sp+536]
    0035c328str x3, [sp+128]
    0035c32cldr x3, [sp+136]
    0035c330ldr x4, [sp+536]
    0035c334sub x3, x3, x4
    0035c338ldr x4, [sp+296]
    0035c33cadd x0, x4, x3
    0035c340str x0, [sp+288]
    0035c344ldr x2, [sp+128]
    0035c348ldr x1, [sp+528]
    0035c34cbl runtime.memmove
    0035c350ldr x3, [sp+296]
    0035c354ldr x4, [sp+304]
    0035c358ldr x5, [sp+312]
    0035c35cstr x3, [sp+240]
    0035c360str x4, [sp+248]
    0035c364str x5, [sp+256]
    0035c368stp xzr, xzr, [sp+192]
    0035c36cadd x3, sp, 192
    0035c370str x3, [sp+280]
    0035c374ldrsb x27, [x3]
    0035c378adrp x4, 0xfffffffffff63000
    0035c37cadd x4, x4, 3360
    0035c380str x4, [x3]
    0035c384ldrsb x27, [x3]
    0035c388ldr x4, [sp+456]
    0035c38cldrsb x27, [x4]
    0035c390ldr x4, [x4]
    0035c394str x4, [x3+8]
    0035c398ldr x1, [sp+240]
    0035c39cldr x2, [sp+248]
    0035c3a0add x0, sp, 80
    0035c3a4bl runtime.slicebytetostring
    0035c3a8str x0, [sp+264]
    0035c3acstr x1, [sp+272]
    0035c3b0ldr x2, [sp+488]
    0035c3b4ldr x3, [sp+496]
    0035c3b8ldr x4, [sp+504]
    0035c3bcldr x5, [sp+280]
    0035c3c0ldrh w6, [sp+552]
    0035c3c4mov x7, x6
    0035c3c8mov x6, x1
    0035c3ccmov x1, x5
    0035c3d0mov x5, x0
    0035c3d4adrp x0, 0x3b6000
    0035c3d8add x0, x0, 112
    0035c3dcbl crypto/internal/fips140/hkdf.Expand[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    0035c3e0str x0, [sp+416]
    0035c3e4str x1, [sp+424]
    0035c3e8str x2, [sp+432]
    0035c3ecstr x0, [sp+216]
    0035c3f0str x1, [sp+224]
    0035c3f4str x2, [sp+232]
    0035c3f8ldp x29, x30, [sp-8]
    0035c3fcadd sp, sp, 448
    0035c400ret x30
    0035c404
    0035c404loc_35c404:
    0035c404stp x0, x1, [sp+8]
    0035c408stp x2, x3, [sp+24]
    0035c40cstp x4, x5, [sp+40]
    0035c410stp x6, x7, [sp+56]
    0035c414stp x8, x9, [sp+72]
    0035c418stp x10, x11, [sp+88]
    0035c41cstrh w12, [sp+104]
    0035c420mov x3, x30
    0035c424bl runtime.morestack_noctxt.abi0
    0035c428ldp x0, x1, [sp+8]
    0035c42cldp x2, x3, [sp+24]
    0035c430ldp x4, x5, [sp+40]
    0035c434ldp x6, x7, [sp+56]
    0035c438ldp x8, x9, [sp+72]
    0035c43cldp x10, x11, [sp+88]
    0035c440ldrh w12, [sp+104]
    0035c444b 0x35c030
    0035c448udf 0
    0035c44cudf 0
    0035c030
    0035c450
    0035c450crypto/internal/hpke.newDHKem: ; void crypto/internal/hpke.newDHKem(uint16 kemID)
    0035c450ldr x16, [x28+16]
    0035c454sub x17, sp, 144
    0035c458subs xzr, x17, x16
    0035c45cb.ls 0x35c684
    0035c460sub x20, sp, 272
    0035c464stp x29, x30, [x20-8]
    0035c468add sp, x20, 0
    0035c46csub x29, sp, 8
    0035c470strh w0, [sp+280]
    0035c474str xzr, [sp+72]
    0035c478stp xzr, xzr, [sp+56]
    0035c47cstr xzr, [sp+128]
    0035c480stp xzr, xzr, [sp+136]
    0035c484strh wzr, [sp+152]
    0035c488adrp x27, 0x6c5000
    0035c48cldr x1, [x27+80]
    0035c490adrp x0, 0x2c8000
    0035c494add x0, x0, 3488
    0035c498add x2, sp, 280
    0035c49cbl runtime.mapaccess2
    0035c4a0str x0, [sp+208]
    0035c4a4strb w1, [sp+54]
    0035c4a8ldr x3, [sp+208]
    0035c4acldrh w4, [x3+24]
    0035c4b0ldr x5, [x3]
    0035c4b4ldr x6, [x3+8]
    0035c4b8ldr x3, [x3+16]
    0035c4bcstr x5, [sp+128]
    0035c4c0str x6, [sp+136]
    0035c4c4str x3, [sp+144]
    0035c4c8strh w4, [sp+152]
    0035c4ccldr x3, [sp+128]
    0035c4d0ldr x5, [sp+136]
    0035c4d4ldr x6, [sp+144]
    0035c4d8str x3, [sp+160]
    0035c4dcstr x5, [sp+168]
    0035c4e0str x6, [sp+176]
    0035c4e4strh w4, [sp+184]
    0035c4e8ldrb w3, [sp+54]
    0035c4ecstrb w3, [sp+55]
    0035c4f0ldr x3, [sp+160]
    0035c4f4ldr x4, [sp+168]
    0035c4f8ldr x5, [sp+176]
    0035c4fcldrh w6, [sp+184]
    0035c500str x3, [sp+80]
    0035c504str x4, [sp+88]
    0035c508str x5, [sp+96]
    0035c50cstrh w6, [sp+104]
    0035c510ldrb w3, [sp+55]
    0035c514strb w3, [sp+53]
    0035c518tbnz w3, 0, 0x35c520
    0035c51cb 0x35c648
    0035c520
    0035c520loc_35c520:
    0035c520adrp x0, 0x2a2000
    0035c524add x0, x0, 1120
    0035c528bl runtime.newobject
    0035c52cstr x0, [sp+200]
    0035c530movz x1, 17739
    0035c534strh w1, [x0]
    0035c538movz x1, 77
    0035c53cstrb w1, [x0+2]
    0035c540ldr x0, [sp+200]
    0035c544ldrsb x27, [x0]
    0035c548b 0x35c54c
    0035c54c
    0035c54cloc_35c54c:
    0035c54cstr x0, [sp+240]
    0035c550orr x2, xzr, 3
    0035c554str x2, [sp+248]
    0035c558str x2, [sp+256]
    0035c55cldrh w3, [sp+280]
    0035c560mov x1, x2
    0035c564bl internal/byteorder.BEAppendUint16
    0035c568str x0, [sp+216]
    0035c56cstr x1, [sp+224]
    0035c570str x2, [sp+232]
    0035c574adrp x0, 0x30b000
    0035c578add x0, x0, 2208
    0035c57cbl runtime.newobject
    0035c580str x0, [sp+192]
    0035c584ldr x4, [sp+88]
    0035c588ldr x5, [sp+80]
    0035c58cstr x5, [x0]
    0035c590adrp x27, 0x6ef000
    0035c594ldr w5, [x27+3056]
    0035c598cbz w5, 0x35c5a0
    0035c59cb 0x35c5a4
    0035c5a0
    0035c5a0loc_35c5a0:
    0035c5a0b 0x35c5b8
    0035c5a4
    0035c5a4loc_35c5a4:
    0035c5a4bl runtime.gcWriteBarrier2
    0035c5a8str x4, [x25]
    0035c5acldr x3, [x0+8]
    0035c5b0str x3, [x25+8]
    0035c5b4b 0x35c5b8
    0035c5b8
    0035c5b8loc_35c5b8:
    0035c5b8str x4, [x0+8]
    0035c5bcldr x3, [sp+192]
    0035c5c0ldrsb x27, [x3]
    0035c5c4ldr x4, [sp+96]
    0035c5c8str x4, [x3+16]
    0035c5ccldr x3, [sp+192]
    0035c5d0ldrsb x27, [x3]
    0035c5d4ldr x4, [sp+216]
    0035c5d8ldr x5, [sp+224]
    0035c5dcldr x6, [sp+232]
    0035c5e0str x5, [x3+32]
    0035c5e4str x6, [x3+40]
    0035c5e8adrp x27, 0x6ef000
    0035c5ecldr w5, [x27+3056]
    0035c5f0cbz w5, 0x35c5f8
    0035c5f4b 0x35c5fc
    0035c5f8
    0035c5f8loc_35c5f8:
    0035c5f8b 0x35c610
    0035c5fc
    0035c5fcloc_35c5fc:
    0035c5fcbl runtime.gcWriteBarrier2
    0035c600str x4, [x25]
    0035c604ldr x5, [x3+24]
    0035c608str x5, [x25+8]
    0035c60cb 0x35c610
    0035c610
    0035c610loc_35c610:
    0035c610str x4, [x3+24]
    0035c614ldr x3, [sp+192]
    0035c618ldrsb x27, [x3]
    0035c61cldrh w4, [sp+104]
    0035c620strh w4, [x3+48]
    0035c624ldr x3, [sp+192]
    0035c628str x3, [sp+72]
    0035c62cstp xzr, xzr, [sp+56]
    0035c630ldr x0, [sp+72]
    0035c634mov x1, xzr
    0035c638mov x2, xzr
    0035c63cldp x29, x30, [sp-8]
    0035c640add sp, sp, 272
    0035c644ret x30
    0035c648
    0035c648loc_35c648:
    0035c648adrp x0, 0x35a000
    0035c64cadd x0, x0, 3907
    0035c650movz x1, 20
    0035c654bl errors.New
    0035c658str x0, [sp+112]
    0035c65cstr x1, [sp+120]
    0035c660str xzr, [sp+72]
    0035c664ldr x1, [sp+112]
    0035c668ldr x2, [sp+120]
    0035c66cstr x1, [sp+56]
    0035c670str x2, [sp+64]
    0035c674ldr x0, [sp+72]
    0035c678ldp x29, x30, [sp-8]
    0035c67cadd sp, sp, 272
    0035c680ret x30
    0035c684
    0035c684loc_35c684:
    0035c684strh w0, [sp+8]
    0035c688mov x3, x30
    0035c68cbl runtime.morestack_noctxt.abi0
    0035c690ldrh w0, [sp+8]
    0035c694b 0x35c450
    0035c698udf 0
    0035c69cudf 0
    0035c450
    0035c6a0
    0035c6a0crypto/internal/hpke.(*dhKEM).ExtractAndExpand: ; void crypto/internal/hpke.(*dhKEM).ExtractAndExpand(crypto/internal/hpke.dhKEM * dh, struct []uint8 dhKey, struct []uint8 kemContext)
    0035c6a0ldr x16, [x28+16]
    0035c6a4sub x17, sp, 112
    0035c6a8subs xzr, x17, x16
    0035c6acb.ls 0x35c7ec
    0035c6b0str x30, [sp-240]!
    0035c6b4stur x29, [sp-8]
    0035c6b8sub x29, sp, 8
    0035c6bcstr x0, [sp+248]
    0035c6c0str x1, [sp+256]
    0035c6c4str x2, [sp+264]
    0035c6c8str x3, [sp+272]
    0035c6ccstr x4, [sp+280]
    0035c6d0str x5, [sp+288]
    0035c6d4str x6, [sp+296]
    0035c6d8str xzr, [sp+120]
    0035c6dcstp xzr, xzr, [sp+128]
    0035c6e0ldr x12, [sp+248]
    0035c6e4ldrsb x27, [x12]
    0035c6e8ldr x13, [x12+24]
    0035c6ecldr x14, [x12+32]
    0035c6f0ldr x12, [x12+40]
    0035c6f4str x13, [sp+208]
    0035c6f8str x14, [sp+216]
    0035c6fcstr x12, [sp+224]
    0035c700ldr x12, [sp+248]
    0035c704ldrsb x27, [x12]
    0035c708add x0, x12, 16
    0035c70cstr x0, [sp+176]
    0035c710ldr x9, [sp+256]
    0035c714ldr x10, [sp+264]
    0035c718ldr x11, [sp+272]
    0035c71cldr x1, [sp+208]
    0035c720ldr x2, [sp+216]
    0035c724ldr x3, [sp+224]
    0035c728mov x4, xzr
    0035c72cmov x5, xzr
    0035c730mov x6, x5
    0035c734adrp x7, 0x355000
    0035c738add x7, x7, 251
    0035c73corr x8, xzr, 7
    0035c740bl crypto/internal/hpke.(*hkdfKDF).LabeledExtract
    0035c744str x0, [sp+144]
    0035c748str x1, [sp+152]
    0035c74cstr x2, [sp+160]
    0035c750ldr x12, [sp+248]
    0035c754ldrsb x27, [x12]
    0035c758ldr x13, [x12+24]
    0035c75cldr x14, [x12+32]
    0035c760ldr x12, [x12+40]
    0035c764str x13, [sp+208]
    0035c768str x14, [sp+216]
    0035c76cstr x12, [sp+224]
    0035c770ldr x12, [sp+248]
    0035c774ldrsb x27, [x12]
    0035c778add x12, x12, 16
    0035c77cstr x12, [sp+168]
    0035c780ldr x12, [sp+248]
    0035c784ldrsb x27, [x12]
    0035c788ldrh w12, [x12+48]
    0035c78cstrh w12, [sp+118]
    0035c790ldr x4, [sp+144]
    0035c794ldr x9, [sp+280]
    0035c798ldr x5, [sp+152]
    0035c79cldr x10, [sp+288]
    0035c7a0ldr x6, [sp+160]
    0035c7a4ldr x11, [sp+296]
    0035c7a8ldr x1, [sp+208]
    0035c7acldr x2, [sp+216]
    0035c7b0ldr x3, [sp+224]
    0035c7b4ldr x0, [sp+168]
    0035c7b8adrp x7, 0x357000
    0035c7bcadd x7, x7, 2694
    0035c7c0movz x8, 13
    0035c7c4bl crypto/internal/hpke.(*hkdfKDF).LabeledExpand
    0035c7c8str x0, [sp+184]
    0035c7ccstr x1, [sp+192]
    0035c7d0str x2, [sp+200]
    0035c7d4str x0, [sp+120]
    0035c7d8str x1, [sp+128]
    0035c7dcstr x2, [sp+136]
    0035c7e0ldur x29, [sp-8]
    0035c7e4ldr x30, [sp], 240
    0035c7e8ret x30
    0035c7ec
    0035c7ecloc_35c7ec:
    0035c7ecstp x0, x1, [sp+8]
    0035c7f0stp x2, x3, [sp+24]
    0035c7f4stp x4, x5, [sp+40]
    0035c7f8str x6, [sp+56]
    0035c7fcmov x3, x30
    0035c800bl runtime.morestack_noctxt.abi0
    0035c804ldp x0, x1, [sp+8]
    0035c808ldp x2, x3, [sp+24]
    0035c80cldp x4, x5, [sp+40]
    0035c810ldr x6, [sp+56]
    0035c814b 0x35c6a0
    0035c818udf 0
    0035c81cudf 0
    0035c6a0
    0035c820
    0035c820crypto/internal/hpke.(*dhKEM).Encap: ; void crypto/internal/hpke.(*dhKEM).Encap(crypto/internal/hpke.dhKEM * dh, crypto/ecdh.PublicKey * pubRecipient)
    0035c820ldr x16, [x28+16]
    0035c824sub x17, sp, 304
    0035c828subs xzr, x17, x16
    0035c82cb.ls 0x35cb84
    0035c830sub x20, sp, 432
    0035c834stp x29, x30, [x20-8]
    0035c838add sp, x20, 0
    0035c83csub x29, sp, 8
    0035c840str x0, [sp+440]
    0035c844str x1, [sp+448]
    0035c848str xzr, [sp+80]
    0035c84cstp xzr, xzr, [sp+88]
    0035c850str xzr, [sp+152]
    0035c854stp xzr, xzr, [sp+160]
    0035c858stp xzr, xzr, [sp+136]
    0035c85cstr xzr, [sp+104]
    0035c860adrp x27, 0x6c5000
    0035c864ldr x3, [x27+72]
    0035c868cbnz x3, 0x35c870
    0035c86cb 0x35c8c8
    0035c870
    0035c870loc_35c870:
    0035c870str xzr, [sp+376]
    0035c874stp xzr, xzr, [sp+360]
    0035c878adrp x27, 0x6c5000
    0035c87cldr x26, [x27+72]
    0035c880ldr x0, [x26]
    0035c884blr x0
    0035c888str x0, [sp+376]
    0035c88cstr x1, [sp+360]
    0035c890str x2, [sp+368]
    0035c894ldr x0, [sp+376]
    0035c898str x0, [sp+288]
    0035c89cldr x0, [sp+360]
    0035c8a0ldr x1, [sp+368]
    0035c8a4str x0, [sp+272]
    0035c8a8str x1, [sp+280]
    0035c8acldr x0, [sp+288]
    0035c8b0str x0, [sp+104]
    0035c8b4ldr x0, [sp+272]
    0035c8b8ldr x1, [sp+280]
    0035c8bcstr x0, [sp+136]
    0035c8c0str x1, [sp+144]
    0035c8c4b 0x35c93c
    0035c8c8
    0035c8c8loc_35c8c8:
    0035c8c8str xzr, [sp+376]
    0035c8ccstp xzr, xzr, [sp+360]
    0035c8d0ldr x3, [sp+440]
    0035c8d4ldrsb x27, [x3]
    0035c8d8ldr x4, [x3]
    0035c8dcldrsb x27, [x4]
    0035c8e0ldr x0, [x3+8]
    0035c8e4adrp x27, 0x6c5000
    0035c8e8ldr x1, [x27+2672]
    0035c8ecadrp x27, 0x6c5000
    0035c8f0ldr x2, [x27+2680]
    0035c8f4ldr x3, [x4+24]
    0035c8f8blr x3
    0035c8fcstr x0, [sp+376]
    0035c900str x1, [sp+360]
    0035c904str x2, [sp+368]
    0035c908ldr x3, [sp+376]
    0035c90cstr x3, [sp+264]
    0035c910ldr x3, [sp+360]
    0035c914ldr x4, [sp+368]
    0035c918str x3, [sp+248]
    0035c91cstr x4, [sp+256]
    0035c920ldr x3, [sp+264]
    0035c924str x3, [sp+104]
    0035c928ldr x3, [sp+248]
    0035c92cldr x4, [sp+256]
    0035c930str x3, [sp+136]
    0035c934str x4, [sp+144]
    0035c938b 0x35c93c
    0035c93c
    0035c93cloc_35c93c:
    0035c93cldr x8, [sp+136]
    0035c940cbnz x8, 0x35c948
    0035c944b 0x35c984
    0035c948
    0035c948loc_35c948:
    0035c948str xzr, [sp+80]
    0035c94cstp xzr, xzr, [sp+88]
    0035c950str xzr, [sp+152]
    0035c954stp xzr, xzr, [sp+160]
    0035c958ldr x6, [sp+136]
    0035c95cldr x0, [sp+80]
    0035c960ldr x1, [sp+88]
    0035c964ldr x7, [sp+144]
    0035c968ldr x2, [sp+96]
    0035c96cmov x3, xzr
    0035c970mov x4, xzr
    0035c974mov x5, x4
    0035c978ldp x29, x30, [sp-8]
    0035c97cadd sp, sp, 432
    0035c980ret x30
    0035c984
    0035c984loc_35c984:
    0035c984str xzr, [sp+336]
    0035c988stp xzr, xzr, [sp+344]
    0035c98cstp xzr, xzr, [sp+360]
    0035c990ldr x1, [sp+448]
    0035c994ldr x0, [sp+104]
    0035c998bl crypto/ecdh.(*PrivateKey).ECDH
    0035c99cstr x0, [sp+336]
    0035c9a0str x1, [sp+344]
    0035c9a4str x2, [sp+352]
    0035c9a8str x3, [sp+360]
    0035c9acstr x4, [sp+368]
    0035c9b0ldr x2, [sp+336]
    0035c9b4ldr x3, [sp+344]
    0035c9b8ldr x4, [sp+352]
    0035c9bcstr x2, [sp+400]
    0035c9c0str x3, [sp+408]
    0035c9c4str x4, [sp+416]
    0035c9c8ldr x2, [sp+360]
    0035c9ccldr x3, [sp+368]
    0035c9d0str x2, [sp+384]
    0035c9d4str x3, [sp+392]
    0035c9d8ldr x2, [sp+400]
    0035c9dcldr x3, [sp+408]
    0035c9e0ldr x4, [sp+416]
    0035c9e4str x2, [sp+224]
    0035c9e8str x3, [sp+232]
    0035c9ecstr x4, [sp+240]
    0035c9f0ldr x2, [sp+392]
    0035c9f4ldr x3, [sp+384]
    0035c9f8str x3, [sp+136]
    0035c9fcstr x2, [sp+144]
    0035ca00cbnz x3, 0x35ca08
    0035ca04b 0x35ca44
    0035ca08
    0035ca08loc_35ca08:
    0035ca08str xzr, [sp+80]
    0035ca0cstp xzr, xzr, [sp+88]
    0035ca10str xzr, [sp+152]
    0035ca14stp xzr, xzr, [sp+160]
    0035ca18ldr x6, [sp+136]
    0035ca1cldr x0, [sp+80]
    0035ca20ldr x1, [sp+88]
    0035ca24ldr x7, [sp+144]
    0035ca28ldr x2, [sp+96]
    0035ca2cmov x3, xzr
    0035ca30mov x4, xzr
    0035ca34mov x5, x4
    0035ca38ldp x29, x30, [sp-8]
    0035ca3cadd sp, sp, 432
    0035ca40ret x30
    0035ca44
    0035ca44loc_35ca44:
    0035ca44ldr x0, [sp+104]
    0035ca48bl crypto/ecdh.(*PrivateKey).PublicKey
    0035ca4cstr x0, [sp+328]
    0035ca50bl crypto/ecdh.(*PublicKey).Bytes
    0035ca54str x0, [sp+200]
    0035ca58str x1, [sp+208]
    0035ca5cstr x2, [sp+216]
    0035ca60ldr x0, [sp+448]
    0035ca64bl crypto/ecdh.(*PublicKey).Bytes
    0035ca68str x0, [sp+176]
    0035ca6cstr x1, [sp+184]
    0035ca70str x2, [sp+192]
    0035ca74ldr x2, [sp+216]
    0035ca78ldr x0, [sp+200]
    0035ca7cldr x1, [sp+208]
    0035ca80str x0, [sp+304]
    0035ca84str x1, [sp+312]
    0035ca88str x2, [sp+320]
    0035ca8cldr x3, [sp+184]
    0035ca90add x1, x1, x3
    0035ca94str x1, [sp+72]
    0035ca98subs xzr, x2, x1
    0035ca9cb.hs 0x35caa4
    0035caa0b 0x35caac
    0035caa4
    0035caa4loc_35caa4:
    0035caa4str x1, [sp+312]
    0035caa8b 0x35cacc
    0035caac
    0035caacloc_35caac:
    0035caacldr x3, [sp+184]
    0035cab0adrp x4, 0x299000
    0035cab4add x4, x4, 3072
    0035cab8bl runtime.growslice
    0035cabcstr x0, [sp+304]
    0035cac0str x1, [sp+312]
    0035cac4str x2, [sp+320]
    0035cac8b 0x35cacc
    0035cacc
    0035caccloc_35cacc:
    0035caccldr x3, [sp+184]
    0035cad0str x3, [sp+64]
    0035cad4ldr x3, [sp+72]
    0035cad8ldr x4, [sp+184]
    0035cadcsub x3, x3, x4
    0035cae0ldr x4, [sp+304]
    0035cae4add x0, x4, x3
    0035cae8str x0, [sp+296]
    0035caecldr x2, [sp+64]
    0035caf0ldr x1, [sp+176]
    0035caf4bl runtime.memmove
    0035caf8ldr x4, [sp+304]
    0035cafcldr x5, [sp+312]
    0035cb00ldr x6, [sp+320]
    0035cb04str x4, [sp+112]
    0035cb08str x5, [sp+120]
    0035cb0cstr x6, [sp+128]
    0035cb10ldr x1, [sp+224]
    0035cb14ldr x2, [sp+232]
    0035cb18ldr x3, [sp+240]
    0035cb1cldr x0, [sp+440]
    0035cb20bl crypto/internal/hpke.(*dhKEM).ExtractAndExpand
    0035cb24str x0, [sp+336]
    0035cb28str x1, [sp+344]
    0035cb2cstr x2, [sp+352]
    0035cb30str x0, [sp+80]
    0035cb34str x1, [sp+88]
    0035cb38str x2, [sp+96]
    0035cb3cldr x3, [sp+200]
    0035cb40ldr x4, [sp+208]
    0035cb44ldr x5, [sp+216]
    0035cb48str x3, [sp+152]
    0035cb4cstr x4, [sp+160]
    0035cb50str x5, [sp+168]
    0035cb54stp xzr, xzr, [sp+136]
    0035cb58ldr x0, [sp+80]
    0035cb5cldr x3, [sp+152]
    0035cb60ldr x1, [sp+88]
    0035cb64ldr x4, [sp+160]
    0035cb68ldr x2, [sp+96]
    0035cb6cldr x5, [sp+168]
    0035cb70mov x6, xzr
    0035cb74mov x7, xzr
    0035cb78ldp x29, x30, [sp-8]
    0035cb7cadd sp, sp, 432
    0035cb80ret x30
    0035cb84
    0035cb84loc_35cb84:
    0035cb84stp x0, x1, [sp+8]
    0035cb88mov x3, x30
    0035cb8cbl runtime.morestack_noctxt.abi0
    0035cb90ldp x0, x1, [sp+8]
    0035cb94b 0x35c820
    0035cb98udf 0
    0035cb9cudf 0
    0035c820
    0035cba0
    0035cba0crypto/internal/hpke.newContext: ; void crypto/internal/hpke.newContext(struct []uint8 sharedSecret, uint16 kemID, uint16 kdfID, uint16 aeadID, struct []uint8 info)
    0035cba0ldr x16, [x28+16]
    0035cba4sub x17, sp, 592
    0035cba8subs xzr, x17, x16
    0035cbacb.ls 0x35d36c
    0035cbb0sub x20, sp, 720
    0035cbb4stp x29, x30, [x20-8]
    0035cbb8add sp, x20, 0
    0035cbbcsub x29, sp, 8
    0035cbc0str x0, [sp+728]
    0035cbc4str x1, [sp+736]
    0035cbc8str x2, [sp+744]
    0035cbccstrh w3, [sp+752]
    0035cbd0strh w4, [sp+754]
    0035cbd4strh w5, [sp+756]
    0035cbd8str x6, [sp+760]
    0035cbdcstr x7, [sp+768]
    0035cbe0str x8, [sp+776]
    0035cbe4str xzr, [sp+184]
    0035cbe8stp xzr, xzr, [sp+168]
    0035cbecldrh w1, [sp+754]
    0035cbf0ldrh w2, [sp+756]
    0035cbf4ldrh w0, [sp+752]
    0035cbf8bl crypto/internal/hpke.suiteID
    0035cbfcstr x0, [sp+192]
    0035cc00str x1, [sp+200]
    0035cc04str x2, [sp+208]
    0035cc08str xzr, [sp+640]
    0035cc0cadrp x27, 0x6c5000
    0035cc10ldr x1, [x27+96]
    0035cc14adrp x0, 0x2c8000
    0035cc18add x0, x0, 3360
    0035cc1cadd x2, sp, 754
    0035cc20bl runtime.mapaccess2
    0035cc24str x0, [sp+576]
    0035cc28strb w1, [sp+117]
    0035cc2cldr x3, [sp+576]
    0035cc30ldr x3, [x3]
    0035cc34str x3, [sp+640]
    0035cc38str x3, [sp+704]
    0035cc3cldrb w3, [sp+117]
    0035cc40strb w3, [sp+119]
    0035cc44ldr x3, [sp+704]
    0035cc48str x3, [sp+312]
    0035cc4cldrb w3, [sp+119]
    0035cc50strb w3, [sp+115]
    0035cc54tbnz w3, 0, 0x35cc5c
    0035cc58b 0x35d330
    0035cc5c
    0035cc5cloc_35cc5c:
    0035cc5cldr x26, [sp+312]
    0035cc60ldr x0, [x26]
    0035cc64blr x0
    0035cc68str x0, [sp+320]
    0035cc6cadd x27, sp, 600
    0035cc70stp xzr, xzr, [x27]
    0035cc74str xzr, [sp+616]
    0035cc78adrp x27, 0x6c5000
    0035cc7cldr x1, [x27+88]
    0035cc80adrp x0, 0x2c8000
    0035cc84add x0, x0, 3616
    0035cc88add x2, sp, 756
    0035cc8cbl runtime.mapaccess2
    0035cc90str x0, [sp+568]
    0035cc94strb w1, [sp+117]
    0035cc98ldr x0, [sp+568]
    0035cc9cldr x1, [x0]
    0035cca0ldr x2, [x0+8]
    0035cca4ldr x0, [x0+16]
    0035cca8str x1, [sp+600]
    0035ccacstr x2, [sp+608]
    0035ccb0str x0, [sp+616]
    0035ccb4str x1, [sp+680]
    0035ccb8str x2, [sp+688]
    0035ccbcstr x0, [sp+696]
    0035ccc0ldrb w0, [sp+117]
    0035ccc4strb w0, [sp+118]
    0035ccc8ldr x0, [sp+680]
    0035ccccldr x1, [sp+688]
    0035ccd0ldr x2, [sp+696]
    0035ccd4str x0, [sp+416]
    0035ccd8str x1, [sp+424]
    0035ccdcstr x2, [sp+432]
    0035cce0ldrb w0, [sp+118]
    0035cce4strb w0, [sp+115]
    0035cce8tbnz w0, 0, 0x35ccf0
    0035ccecb 0x35d2f4
    0035ccf0
    0035ccf0loc_35ccf0:
    0035ccf0ldr x1, [sp+192]
    0035ccf4ldr x2, [sp+200]
    0035ccf8ldr x3, [sp+208]
    0035ccfcldr x0, [sp+320]
    0035cd00mov x4, xzr
    0035cd04mov x5, xzr
    0035cd08mov x6, x5
    0035cd0cadrp x7, 0x356000
    0035cd10add x7, x7, 3231
    0035cd14movz x8, 11
    0035cd18mov x9, x4
    0035cd1cmov x10, x5
    0035cd20mov x11, x5
    0035cd24bl crypto/internal/hpke.(*hkdfKDF).LabeledExtract
    0035cd28str x0, [sp+240]
    0035cd2cstr x1, [sp+248]
    0035cd30str x2, [sp+256]
    0035cd34ldr x1, [sp+192]
    0035cd38ldr x9, [sp+760]
    0035cd3cldr x2, [sp+200]
    0035cd40ldr x10, [sp+768]
    0035cd44ldr x3, [sp+208]
    0035cd48ldr x11, [sp+776]
    0035cd4cldr x0, [sp+320]
    0035cd50mov x4, xzr
    0035cd54mov x5, xzr
    0035cd58mov x6, x5
    0035cd5cadrp x7, 0x355000
    0035cd60add x7, x7, 4018
    0035cd64movz x8, 9
    0035cd68bl crypto/internal/hpke.(*hkdfKDF).LabeledExtract
    0035cd6cstr x0, [sp+328]
    0035cd70str x1, [sp+336]
    0035cd74str x2, [sp+344]
    0035cd78strb wzr, [sp+116]
    0035cd7cadd x12, sp, 116
    0035cd80str x12, [sp+536]
    0035cd84ldrsb x27, [x12]
    0035cd88strb wzr, [x12]
    0035cd8cldr x12, [sp+536]
    0035cd90ldrsb x27, [x12]
    0035cd94b 0x35cd98
    0035cd98
    0035cd98loc_35cd98:
    0035cd98str x12, [sp+544]
    0035cd9corr x2, xzr, 1
    0035cda0str x2, [sp+552]
    0035cda4str x2, [sp+560]
    0035cda8str x12, [sp+512]
    0035cdacstr x2, [sp+520]
    0035cdb0str x2, [sp+528]
    0035cdb4ldr x5, [sp+248]
    0035cdb8add x1, x5, 1
    0035cdbcstr x1, [sp+152]
    0035cdc0subs xzr, x1, 1
    0035cdc4b.ls 0x35cdcc
    0035cdc8b 0x35cdd4
    0035cdcc
    0035cdccloc_35cdcc:
    0035cdccstr x1, [sp+520]
    0035cdd0b 0x35cdf8
    0035cdd4
    0035cdd4loc_35cdd4:
    0035cdd4ldr x3, [sp+248]
    0035cdd8ldr x0, [sp+512]
    0035cddcadrp x4, 0x299000
    0035cde0add x4, x4, 3072
    0035cde4bl runtime.growslice
    0035cde8str x0, [sp+512]
    0035cdecstr x1, [sp+520]
    0035cdf0str x2, [sp+528]
    0035cdf4b 0x35cdf8
    0035cdf8
    0035cdf8loc_35cdf8:
    0035cdf8ldr x3, [sp+248]
    0035cdfcstr x3, [sp+144]
    0035ce00ldr x3, [sp+152]
    0035ce04ldr x4, [sp+248]
    0035ce08sub x3, x3, x4
    0035ce0cldr x4, [sp+512]
    0035ce10add x0, x4, x3
    0035ce14str x0, [sp+504]
    0035ce18ldr x2, [sp+144]
    0035ce1cldr x1, [sp+240]
    0035ce20bl runtime.memmove
    0035ce24ldr x2, [sp+528]
    0035ce28ldr x0, [sp+512]
    0035ce2cldr x3, [sp+520]
    0035ce30str x0, [sp+264]
    0035ce34str x3, [sp+272]
    0035ce38str x2, [sp+280]
    0035ce3cstr x0, [sp+480]
    0035ce40str x3, [sp+488]
    0035ce44str x2, [sp+496]
    0035ce48ldr x4, [sp+336]
    0035ce4cadd x1, x3, x4
    0035ce50str x1, [sp+136]
    0035ce54subs xzr, x2, x1
    0035ce58b.hs 0x35ce60
    0035ce5cb 0x35ce68
    0035ce60
    0035ce60loc_35ce60:
    0035ce60str x1, [sp+488]
    0035ce64b 0x35ce88
    0035ce68
    0035ce68loc_35ce68:
    0035ce68ldr x3, [sp+336]
    0035ce6cadrp x4, 0x299000
    0035ce70add x4, x4, 3072
    0035ce74bl runtime.growslice
    0035ce78str x0, [sp+480]
    0035ce7cstr x1, [sp+488]
    0035ce80str x2, [sp+496]
    0035ce84b 0x35ce88
    0035ce88
    0035ce88loc_35ce88:
    0035ce88ldr x3, [sp+336]
    0035ce8cstr x3, [sp+128]
    0035ce90ldr x3, [sp+136]
    0035ce94ldr x4, [sp+336]
    0035ce98sub x3, x3, x4
    0035ce9cldr x4, [sp+480]
    0035cea0add x0, x4, x3
    0035cea4str x0, [sp+472]
    0035cea8ldr x2, [sp+128]
    0035ceacldr x1, [sp+328]
    0035ceb0bl runtime.memmove
    0035ceb4ldr x3, [sp+480]
    0035ceb8ldr x4, [sp+488]
    0035cebcldr x5, [sp+496]
    0035cec0str x3, [sp+264]
    0035cec4str x4, [sp+272]
    0035cec8str x5, [sp+280]
    0035ceccldr x1, [sp+192]
    0035ced0ldr x4, [sp+728]
    0035ced4ldr x2, [sp+200]
    0035ced8ldr x5, [sp+736]
    0035cedcldr x3, [sp+208]
    0035cee0ldr x6, [sp+744]
    0035cee4ldr x0, [sp+320]
    0035cee8adrp x7, 0x354000
    0035ceecadd x7, x7, 3169
    0035cef0orr x8, xzr, 6
    0035cef4mov x9, xzr
    0035cef8mov x10, xzr
    0035cefcmov x11, x10
    0035cf00bl crypto/internal/hpke.(*hkdfKDF).LabeledExtract
    0035cf04str x0, [sp+216]
    0035cf08str x1, [sp+224]
    0035cf0cstr x2, [sp+232]
    0035cf10ldr x3, [sp+192]
    0035cf14ldr x9, [sp+264]
    0035cf18ldr x4, [sp+200]
    0035cf1cldr x10, [sp+272]
    0035cf20ldr x5, [sp+208]
    0035cf24ldr x11, [sp+280]
    0035cf28ldr x6, [sp+320]
    0035cf2cldr x12, [sp+416]
    0035cf30adrp x7, 0x354000
    0035cf34add x7, x7, 561
    0035cf38orr x8, xzr, 3
    0035cf3cmov x13, x0
    0035cf40mov x0, x6
    0035cf44mov x14, x1
    0035cf48mov x1, x3
    0035cf4cmov x15, x2
    0035cf50mov x2, x4
    0035cf54mov x3, x5
    0035cf58mov x4, x13
    0035cf5cmov x5, x14
    0035cf60mov x6, x15
    0035cf64bl crypto/internal/hpke.(*hkdfKDF).LabeledExpand
    0035cf68str x0, [sp+288]
    0035cf6cstr x1, [sp+296]
    0035cf70str x2, [sp+304]
    0035cf74ldr x1, [sp+192]
    0035cf78ldr x4, [sp+216]
    0035cf7cldr x9, [sp+264]
    0035cf80ldr x2, [sp+200]
    0035cf84ldr x5, [sp+224]
    0035cf88ldr x10, [sp+272]
    0035cf8cldr x3, [sp+208]
    0035cf90ldr x6, [sp+232]
    0035cf94ldr x11, [sp+280]
    0035cf98ldr x0, [sp+320]
    0035cf9cldr x12, [sp+424]
    0035cfa0adrp x7, 0x356000
    0035cfa4add x7, x7, 1494
    0035cfa8movz x8, 10
    0035cfacbl crypto/internal/hpke.(*hkdfKDF).LabeledExpand
    0035cfb0str x0, [sp+392]
    0035cfb4str x1, [sp+400]
    0035cfb8str x2, [sp+408]
    0035cfbcldr x3, [sp+320]
    0035cfc0ldrsb x27, [x3]
    0035cfc4ldr x0, [x3]
    0035cfc8str x0, [sp+120]
    0035cfccbl crypto.Hash.Size
    0035cfd0str x0, [sp+160]
    0035cfd4ldr x1, [sp+192]
    0035cfd8ldr x4, [sp+216]
    0035cfdcldr x9, [sp+264]
    0035cfe0ldr x3, [sp+320]
    0035cfe4ldr x2, [sp+200]
    0035cfe8ldr x5, [sp+224]
    0035cfecldr x10, [sp+272]
    0035cff0ldr x6, [sp+208]
    0035cff4ldr x7, [sp+232]
    0035cff8ldr x11, [sp+280]
    0035cffcorr x8, xzr, 3
    0035d000mov x12, x0
    0035d004mov x0, x3
    0035d008mov x3, x6
    0035d00cmov x6, x7
    0035d010adrp x7, 0x353000
    0035d014add x7, x7, 636
    0035d018bl crypto/internal/hpke.(*hkdfKDF).LabeledExpand
    0035d01cstr x0, [sp+352]
    0035d020str x1, [sp+360]
    0035d024str x2, [sp+368]
    0035d028add x27, sp, 584
    0035d02cstp xzr, xzr, [x27]
    0035d030add x27, sp, 624
    0035d034stp xzr, xzr, [x27]
    0035d038ldr x26, [sp+432]
    0035d03cldr x3, [x26]
    0035d040ldr x0, [sp+288]
    0035d044ldr x1, [sp+296]
    0035d048ldr x2, [sp+304]
    0035d04cblr x3
    0035d050str x0, [sp+584]
    0035d054str x1, [sp+592]
    0035d058str x2, [sp+624]
    0035d05cstr x3, [sp+632]
    0035d060ldr x3, [sp+584]
    0035d064ldr x4, [sp+592]
    0035d068str x3, [sp+664]
    0035d06cstr x4, [sp+672]
    0035d070ldr x3, [sp+624]
    0035d074ldr x4, [sp+632]
    0035d078str x3, [sp+648]
    0035d07cstr x4, [sp+656]
    0035d080ldr x3, [sp+664]
    0035d084ldr x4, [sp+672]
    0035d088str x3, [sp+440]
    0035d08cstr x4, [sp+448]
    0035d090ldr x3, [sp+656]
    0035d094ldr x4, [sp+648]
    0035d098str x4, [sp+376]
    0035d09cstr x3, [sp+384]
    0035d0a0cbnz x4, 0x35d0a8
    0035d0a4b 0x35d0cc
    0035d0a8
    0035d0a8loc_35d0a8:
    0035d0a8str xzr, [sp+184]
    0035d0acldr x1, [sp+376]
    0035d0b0ldr x2, [sp+384]
    0035d0b4str x1, [sp+168]
    0035d0b8str x2, [sp+176]
    0035d0bcldr x0, [sp+184]
    0035d0c0ldp x29, x30, [sp-8]
    0035d0c4add sp, sp, 720
    0035d0c8ret x30
    0035d0cc
    0035d0ccloc_35d0cc:
    0035d0ccadrp x0, 0x329000
    0035d0d0add x0, x0, 3584
    0035d0d4bl runtime.newobject
    0035d0d8str x0, [sp+464]
    0035d0dcadrp x27, 0x6ee000
    0035d0e0ldr w1, [x27+3056]
    0035d0e4cbz w1, 0x35d0ec
    0035d0e8b 0x35d0f0
    0035d0ec
    0035d0ecloc_35d0ec:
    0035d0ecb 0x35d10c
    0035d0f0
    0035d0f0loc_35d0f0:
    0035d0f0str x0, [sp+456]
    0035d0f4mov x1, x0
    0035d0f8adrp x0, 0x329000
    0035d0fcadd x0, x0, 3584
    0035d100bl runtime.wbZero
    0035d104ldr x0, [sp+456]
    0035d108b 0x35d10c
    0035d10c
    0035d10cloc_35d10c:
    0035d10cmov x20, x0
    0035d110adr x27, 16
    0035d114stp x29, x27, [sp-24]
    0035d118sub x29, sp, 24
    0035d11cbl fn_87cec
    0035d120sub x29, sp, 8
    0035d124str xzr, [x0+144]
    0035d128ldr x3, [sp+464]
    0035d12cldrsb x27, [x3]
    0035d130ldr x4, [sp+448]
    0035d134ldr x5, [sp+440]
    0035d138str x5, [x3]
    0035d13cadrp x27, 0x6ee000
    0035d140ldr w5, [x27+3056]
    0035d144cbz w5, 0x35d14c
    0035d148b 0x35d150
    0035d14c
    0035d14cloc_35d14c:
    0035d14cb 0x35d164
    0035d150
    0035d150loc_35d150:
    0035d150bl runtime.gcWriteBarrier2
    0035d154str x4, [x25]
    0035d158ldr x5, [x3+8]
    0035d15cstr x5, [x25+8]
    0035d160b 0x35d164
    0035d164
    0035d164loc_35d164:
    0035d164str x4, [x3+8]
    0035d168ldr x3, [sp+464]
    0035d16cldrsb x27, [x3]
    0035d170ldr x4, [sp+728]
    0035d174ldr x5, [sp+736]
    0035d178ldr x6, [sp+744]
    0035d17cstr x5, [x3+24]
    0035d180str x6, [x3+32]
    0035d184adrp x27, 0x6ee000
    0035d188ldr w5, [x27+3056]
    0035d18ccbz w5, 0x35d194
    0035d190b 0x35d198
    0035d194
    0035d194loc_35d194:
    0035d194b 0x35d1ac
    0035d198
    0035d198loc_35d198:
    0035d198bl runtime.gcWriteBarrier2
    0035d19cstr x4, [x25]
    0035d1a0ldr x5, [x3+16]
    0035d1a4str x5, [x25+8]
    0035d1a8b 0x35d1ac
    0035d1ac
    0035d1acloc_35d1ac:
    0035d1acstr x4, [x3+16]
    0035d1b0ldr x3, [sp+464]
    0035d1b4ldrsb x27, [x3]
    0035d1b8ldr x4, [sp+192]
    0035d1bcldr x5, [sp+200]
    0035d1c0ldr x6, [sp+208]
    0035d1c4str x5, [x3+48]
    0035d1c8str x6, [x3+56]
    0035d1ccadrp x27, 0x6ee000
    0035d1d0ldr w5, [x27+3056]
    0035d1d4cbz w5, 0x35d1dc
    0035d1d8b 0x35d1e0
    0035d1dc
    0035d1dcloc_35d1dc:
    0035d1dcb 0x35d1f4
    0035d1e0
    0035d1e0loc_35d1e0:
    0035d1e0bl runtime.gcWriteBarrier2
    0035d1e4str x4, [x25]
    0035d1e8ldr x5, [x3+40]
    0035d1ecstr x5, [x25+8]
    0035d1f0b 0x35d1f4
    0035d1f4
    0035d1f4loc_35d1f4:
    0035d1f4str x4, [x3+40]
    0035d1f8ldr x3, [sp+464]
    0035d1fcldrsb x27, [x3]
    0035d200ldr x4, [sp+288]
    0035d204ldr x5, [sp+296]
    0035d208ldr x6, [sp+304]
    0035d20cstr x5, [x3+72]
    0035d210str x6, [x3+80]
    0035d214adrp x27, 0x6ee000
    0035d218ldr w5, [x27+3056]
    0035d21ccbz w5, 0x35d224
    0035d220b 0x35d228
    0035d224
    0035d224loc_35d224:
    0035d224b 0x35d23c
    0035d228
    0035d228loc_35d228:
    0035d228bl runtime.gcWriteBarrier2
    0035d22cstr x4, [x25]
    0035d230ldr x5, [x3+64]
    0035d234str x5, [x25+8]
    0035d238b 0x35d23c
    0035d23c
    0035d23cloc_35d23c:
    0035d23cstr x4, [x3+64]
    0035d240ldr x3, [sp+464]
    0035d244ldrsb x27, [x3]
    0035d248ldr x4, [sp+392]
    0035d24cldr x5, [sp+400]
    0035d250ldr x6, [sp+408]
    0035d254str x5, [x3+96]
    0035d258str x6, [x3+104]
    0035d25cadrp x27, 0x6ee000
    0035d260ldr w5, [x27+3056]
    0035d264cbz w5, 0x35d26c
    0035d268b 0x35d270
    0035d26c
    0035d26cloc_35d26c:
    0035d26cb 0x35d284
    0035d270
    0035d270loc_35d270:
    0035d270bl runtime.gcWriteBarrier2
    0035d274str x4, [x25]
    0035d278ldr x5, [x3+88]
    0035d27cstr x5, [x25+8]
    0035d280b 0x35d284
    0035d284
    0035d284loc_35d284:
    0035d284str x4, [x3+88]
    0035d288ldr x3, [sp+464]
    0035d28cldrsb x27, [x3]
    0035d290ldr x4, [sp+352]
    0035d294ldr x5, [sp+360]
    0035d298ldr x6, [sp+368]
    0035d29cstr x5, [x3+120]
    0035d2a0str x6, [x3+128]
    0035d2a4adrp x27, 0x6ee000
    0035d2a8ldr w5, [x27+3056]
    0035d2accbz w5, 0x35d2b4
    0035d2b0b 0x35d2b8
    0035d2b4
    0035d2b4loc_35d2b4:
    0035d2b4b 0x35d2cc
    0035d2b8
    0035d2b8loc_35d2b8:
    0035d2b8bl runtime.gcWriteBarrier2
    0035d2bcstr x4, [x25]
    0035d2c0ldr x5, [x3+112]
    0035d2c4str x5, [x25+8]
    0035d2c8b 0x35d2cc
    0035d2cc
    0035d2ccloc_35d2cc:
    0035d2ccstr x4, [x3+112]
    0035d2d0ldr x3, [sp+464]
    0035d2d4str x3, [sp+184]
    0035d2d8stp xzr, xzr, [sp+168]
    0035d2dcldr x0, [sp+184]
    0035d2e0mov x1, xzr
    0035d2e4mov x2, xzr
    0035d2e8ldp x29, x30, [sp-8]
    0035d2ecadd sp, sp, 720
    0035d2f0ret x30
    0035d2f4
    0035d2f4loc_35d2f4:
    0035d2f4adrp x0, 0x359000
    0035d2f8add x0, x0, 1688
    0035d2fcmovz x1, 19
    0035d300bl errors.New
    0035d304str x0, [sp+624]
    0035d308str x1, [sp+632]
    0035d30cstr xzr, [sp+184]
    0035d310ldr x1, [sp+624]
    0035d314ldr x2, [sp+632]
    0035d318str x1, [sp+168]
    0035d31cstr x2, [sp+176]
    0035d320ldr x0, [sp+184]
    0035d324ldp x29, x30, [sp-8]
    0035d328add sp, sp, 720
    0035d32cret x30
    0035d330
    0035d330loc_35d330:
    0035d330adrp x0, 0x358000
    0035d334add x0, x0, 3335
    0035d338movz x1, 18
    0035d33cbl errors.New
    0035d340str x0, [sp+624]
    0035d344str x1, [sp+632]
    0035d348str xzr, [sp+184]
    0035d34cldr x1, [sp+624]
    0035d350ldr x2, [sp+632]
    0035d354str x1, [sp+168]
    0035d358str x2, [sp+176]
    0035d35cldr x0, [sp+184]
    0035d360ldp x29, x30, [sp-8]
    0035d364add sp, sp, 720
    0035d368ret x30
    0035d36c
    0035d36cloc_35d36c:
    0035d36cstp x0, x1, [sp+8]
    0035d370str x2, [sp+24]
    0035d374strh w3, [sp+32]
    0035d378strh w4, [sp+34]
    0035d37cstrh w5, [sp+36]
    0035d380stp x6, x7, [sp+40]
    0035d384str x8, [sp+56]
    0035d388mov x3, x30
    0035d38cbl runtime.morestack_noctxt.abi0
    0035d390ldp x0, x1, [sp+8]
    0035d394ldr x2, [sp+24]
    0035d398ldrh w3, [sp+32]
    0035d39cldrh w4, [sp+34]
    0035d3a0ldrh w5, [sp+36]
    0035d3a4ldp x6, x7, [sp+40]
    0035d3a8ldr x8, [sp+56]
    0035d3acb 0x35cba0
    0035cba0
    0035d3b0
    0035d3b0crypto/internal/hpke.SetupSender: ; void crypto/internal/hpke.SetupSender(uint16 kemID, uint16 kdfID, uint16 aeadID, crypto/ecdh.PublicKey * pub, struct []uint8 info)
    0035d3b0ldr x16, [x28+16]
    0035d3b4sub x17, sp, 272
    0035d3b8subs xzr, x17, x16
    0035d3bcb.ls 0x35d6bc
    0035d3c0sub x20, sp, 400
    0035d3c4stp x29, x30, [x20-8]
    0035d3c8add sp, x20, 0
    0035d3ccsub x29, sp, 8
    0035d3d0strh w0, [sp+408]
    0035d3d4strh w1, [sp+410]
    0035d3d8strh w2, [sp+412]
    0035d3dcstr x3, [sp+416]
    0035d3e0str x4, [sp+424]
    0035d3e4str x5, [sp+432]
    0035d3e8str x6, [sp+440]
    0035d3ecstr xzr, [sp+88]
    0035d3f0stp xzr, xzr, [sp+96]
    0035d3f4str xzr, [sp+80]
    0035d3f8stp xzr, xzr, [sp+64]
    0035d3fcstr xzr, [sp+272]
    0035d400stp xzr, xzr, [sp+256]
    0035d404ldrh w0, [sp+408]
    0035d408bl crypto/internal/hpke.newDHKem
    0035d40cstr x0, [sp+272]
    0035d410str x1, [sp+256]
    0035d414str x2, [sp+264]
    0035d418ldr x1, [sp+272]
    0035d41cstr x1, [sp+384]
    0035d420ldr x1, [sp+256]
    0035d424ldr x2, [sp+264]
    0035d428str x1, [sp+368]
    0035d42cstr x2, [sp+376]
    0035d430ldr x1, [sp+384]
    0035d434str x1, [sp+136]
    0035d438ldr x1, [sp+376]
    0035d43cldr x2, [sp+368]
    0035d440str x2, [sp+144]
    0035d444str x1, [sp+152]
    0035d448cbnz x2, 0x35d450
    0035d44cb 0x35d488
    0035d450
    0035d450loc_35d450:
    0035d450str xzr, [sp+88]
    0035d454stp xzr, xzr, [sp+96]
    0035d458str xzr, [sp+80]
    0035d45cldr x4, [sp+144]
    0035d460ldr x5, [sp+152]
    0035d464str x4, [sp+64]
    0035d468str x5, [sp+72]
    0035d46cldr x0, [sp+88]
    0035d470ldr x3, [sp+80]
    0035d474ldr x1, [sp+96]
    0035d478ldr x2, [sp+104]
    0035d47cldp x29, x30, [sp-8]
    0035d480add sp, sp, 400
    0035d484ret x30
    0035d488
    0035d488loc_35d488:
    0035d488str xzr, [sp+232]
    0035d48cstp xzr, xzr, [sp+240]
    0035d490str xzr, [sp+208]
    0035d494stp xzr, xzr, [sp+216]
    0035d498stp xzr, xzr, [sp+256]
    0035d49cldr x1, [sp+416]
    0035d4a0ldr x0, [sp+136]
    0035d4a4bl crypto/internal/hpke.(*dhKEM).Encap
    0035d4a8str x0, [sp+232]
    0035d4acstr x1, [sp+240]
    0035d4b0str x2, [sp+248]
    0035d4b4str x3, [sp+208]
    0035d4b8str x4, [sp+216]
    0035d4bcstr x5, [sp+224]
    0035d4c0str x6, [sp+256]
    0035d4c4str x7, [sp+264]
    0035d4c8ldr x2, [sp+232]
    0035d4ccldr x3, [sp+240]
    0035d4d0ldr x4, [sp+248]
    0035d4d4str x2, [sp+344]
    0035d4d8str x3, [sp+352]
    0035d4dcstr x4, [sp+360]
    0035d4e0ldr x2, [sp+208]
    0035d4e4ldr x3, [sp+216]
    0035d4e8ldr x4, [sp+224]
    0035d4ecstr x2, [sp+320]
    0035d4f0str x3, [sp+328]
    0035d4f4str x4, [sp+336]
    0035d4f8ldr x2, [sp+256]
    0035d4fcldr x3, [sp+264]
    0035d500str x2, [sp+304]
    0035d504str x3, [sp+312]
    0035d508ldr x2, [sp+344]
    0035d50cldr x3, [sp+352]
    0035d510ldr x4, [sp+360]
    0035d514str x2, [sp+112]
    0035d518str x3, [sp+120]
    0035d51cstr x4, [sp+128]
    0035d520ldr x2, [sp+320]
    0035d524ldr x3, [sp+328]
    0035d528ldr x4, [sp+336]
    0035d52cstr x2, [sp+160]
    0035d530str x3, [sp+168]
    0035d534str x4, [sp+176]
    0035d538ldr x2, [sp+312]
    0035d53cldr x3, [sp+304]
    0035d540str x3, [sp+144]
    0035d544str x2, [sp+152]
    0035d548cbnz x3, 0x35d550
    0035d54cb 0x35d588
    0035d550
    0035d550loc_35d550:
    0035d550str xzr, [sp+88]
    0035d554stp xzr, xzr, [sp+96]
    0035d558str xzr, [sp+80]
    0035d55cldr x4, [sp+144]
    0035d560ldr x5, [sp+152]
    0035d564str x4, [sp+64]
    0035d568str x5, [sp+72]
    0035d56cldr x0, [sp+88]
    0035d570ldr x3, [sp+80]
    0035d574ldr x1, [sp+96]
    0035d578ldr x2, [sp+104]
    0035d57cldp x29, x30, [sp-8]
    0035d580add sp, sp, 400
    0035d584ret x30
    0035d588
    0035d588loc_35d588:
    0035d588str xzr, [sp+200]
    0035d58cstp xzr, xzr, [sp+256]
    0035d590ldrh w4, [sp+410]
    0035d594ldrh w5, [sp+412]
    0035d598ldr x7, [sp+432]
    0035d59cldr x8, [sp+440]
    0035d5a0ldrh w3, [sp+408]
    0035d5a4ldr x0, [sp+112]
    0035d5a8ldr x6, [sp+424]
    0035d5acldr x1, [sp+120]
    0035d5b0ldr x2, [sp+128]
    0035d5b4bl crypto/internal/hpke.newContext
    0035d5b8str x0, [sp+200]
    0035d5bcstr x1, [sp+256]
    0035d5c0str x2, [sp+264]
    0035d5c4ldr x9, [sp+200]
    0035d5c8str x9, [sp+296]
    0035d5ccldr x9, [sp+256]
    0035d5d0ldr x10, [sp+264]
    0035d5d4str x9, [sp+280]
    0035d5d8str x10, [sp+288]
    0035d5dcldr x9, [sp+296]
    0035d5e0str x9, [sp+184]
    0035d5e4ldr x9, [sp+288]
    0035d5e8ldr x10, [sp+280]
    0035d5ecstr x10, [sp+144]
    0035d5f0str x9, [sp+152]
    0035d5f4cbnz x10, 0x35d5fc
    0035d5f8b 0x35d634
    0035d5fc
    0035d5fcloc_35d5fc:
    0035d5fcstr xzr, [sp+88]
    0035d600stp xzr, xzr, [sp+96]
    0035d604str xzr, [sp+80]
    0035d608ldr x4, [sp+144]
    0035d60cldr x5, [sp+152]
    0035d610str x4, [sp+64]
    0035d614str x5, [sp+72]
    0035d618ldr x0, [sp+88]
    0035d61cldr x3, [sp+80]
    0035d620ldr x1, [sp+96]
    0035d624ldr x2, [sp+104]
    0035d628ldp x29, x30, [sp-8]
    0035d62cadd sp, sp, 400
    0035d630ret x30
    0035d634
    0035d634loc_35d634:
    0035d634ldr x1, [sp+160]
    0035d638ldr x2, [sp+168]
    0035d63cldr x3, [sp+176]
    0035d640str x1, [sp+88]
    0035d644str x2, [sp+96]
    0035d648str x3, [sp+104]
    0035d64cadrp x0, 0x2ed000
    0035d650add x0, x0, 2752
    0035d654bl runtime.newobject
    0035d658str x0, [sp+192]
    0035d65cldr x1, [sp+184]
    0035d660adrp x27, 0x6ee000
    0035d664ldr w2, [x27+3056]
    0035d668cbz w2, 0x35d670
    0035d66cb 0x35d674
    0035d670
    0035d670loc_35d670:
    0035d670b 0x35d688
    0035d674
    0035d674loc_35d674:
    0035d674bl runtime.gcWriteBarrier2
    0035d678str x1, [x25]
    0035d67cldr x6, [x0]
    0035d680str x6, [x25+8]
    0035d684b 0x35d688
    0035d688
    0035d688loc_35d688:
    0035d688str x1, [x0]
    0035d68cldr x6, [sp+192]
    0035d690str x6, [sp+80]
    0035d694stp xzr, xzr, [sp+64]
    0035d698ldr x0, [sp+88]
    0035d69cldr x3, [sp+80]
    0035d6a0ldr x1, [sp+96]
    0035d6a4ldr x2, [sp+104]
    0035d6a8mov x4, xzr
    0035d6acmov x5, xzr
    0035d6b0ldp x29, x30, [sp-8]
    0035d6b4add sp, sp, 400
    0035d6b8ret x30
    0035d6bc
    0035d6bcloc_35d6bc:
    0035d6bcstrh w0, [sp+8]
    0035d6c0strh w1, [sp+10]
    0035d6c4strh w2, [sp+12]
    0035d6c8stp x3, x4, [sp+16]
    0035d6ccstp x5, x6, [sp+32]
    0035d6d0mov x3, x30
    0035d6d4bl runtime.morestack_noctxt.abi0
    0035d6d8ldrh w0, [sp+8]
    0035d6dcldrh w1, [sp+10]
    0035d6e0ldrh w2, [sp+12]
    0035d6e4ldp x3, x4, [sp+16]
    0035d6e8ldp x5, x6, [sp+32]
    0035d6ecb 0x35d3b0
    0035d3b0
    0035d6f0
    0035d6f0crypto/internal/hpke.(*context).nextNonce: ; void crypto/internal/hpke.(*context).nextNonce(crypto/internal/hpke.context * ctx)
    0035d6f0ldr x16, [x28+16]
    0035d6f4sub x17, sp, 32
    0035d6f8subs xzr, x17, x16
    0035d6fcb.ls 0x35d888
    0035d700str x30, [sp-160]!
    0035d704stur x29, [sp-8]
    0035d708sub x29, sp, 8
    0035d70cstr x0, [sp+168]
    0035d710str xzr, [sp+80]
    0035d714stp xzr, xzr, [sp+88]
    0035d718ldr x2, [sp+168]
    0035d71cldrsb x27, [x2]
    0035d720ldr x0, [x2+136]
    0035d724ldr x1, [x2+144]
    0035d728str x0, [sp+48]
    0035d72cstr x1, [sp+56]
    0035d730bl crypto/internal/hpke.uint128.bytes
    0035d734str x0, [sp+128]
    0035d738str x1, [sp+136]
    0035d73cstr x2, [sp+144]
    0035d740ldr x2, [sp+168]
    0035d744ldrsb x27, [x2]
    0035d748ldr x3, [x2]
    0035d74cldrsb x27, [x3]
    0035d750ldr x0, [x2+8]
    0035d754ldr x2, [x3+24]
    0035d758blr x2
    0035d75cstr x0, [sp+72]
    0035d760orr x2, xzr, 16
    0035d764sub x2, x2, x0
    0035d768str x2, [sp+64]
    0035d76cldr x1, [sp+136]
    0035d770ldr x3, [sp+128]
    0035d774ldr x4, [sp+144]
    0035d778b 0x35d77c
    0035d77c
    0035d77cloc_35d77c:
    0035d77csubs xzr, x1, x2
    0035d780b.hs 0x35d788
    0035d784b 0x35d87c
    0035d788
    0035d788loc_35d788:
    0035d788add x5, x1, x0
    0035d78cadd x4, x4, x0
    0035d790sub x4, x4, 16
    0035d794sub x6, xzr, x4
    0035d798and x6, x2, x6, asr #63
    0035d79cadd x3, x3, x6
    0035d7a0str x3, [sp+104]
    0035d7a4sub x3, x5, 16
    0035d7a8str x3, [sp+112]
    0035d7acstr x4, [sp+120]
    0035d7b0str xzr, [sp+40]
    0035d7b4ldr x3, [sp+168]
    0035d7b8ldrsb x27, [x3]
    0035d7bcldr x3, [x3+96]
    0035d7c0str x3, [sp+32]
    0035d7c4b 0x35d7c8
    0035d7c8
    0035d7c8loc_35d7c8:
    0035d7c8ldr x3, [sp+32]
    0035d7ccldr x4, [sp+40]
    0035d7d0subs xzr, x3, x4
    0035d7d4b.gt 0x35d7dc
    0035d7d8b 0x35d84c
    0035d7dc
    0035d7dcloc_35d7dc:
    0035d7dcldr x0, [sp+40]
    0035d7e0str x0, [sp+24]
    0035d7e4ldr x1, [sp+112]
    0035d7e8ldr x3, [sp+104]
    0035d7ecsubs xzr, x1, x0
    0035d7f0b.hi 0x35d7f8
    0035d7f4b 0x35d878
    0035d7f8
    0035d7f8loc_35d7f8:
    0035d7f8ldrb w3, [x3+x0]
    0035d7fcldr x4, [sp+168]
    0035d800ldrsb x27, [x4]
    0035d804ldr x1, [x4+96]
    0035d808ldr x4, [x4+88]
    0035d80csubs xzr, x1, x0
    0035d810b.hi 0x35d818
    0035d814b 0x35d874
    0035d818
    0035d818loc_35d818:
    0035d818ldr x1, [sp+112]
    0035d81cldr x5, [sp+104]
    0035d820ldrb w4, [x4+x0]
    0035d824eor x3, x3, x4
    0035d828subs xzr, x1, x0
    0035d82cb.hi 0x35d834
    0035d830b 0x35d870
    0035d834
    0035d834loc_35d834:
    0035d834strb w3, [x5+x0]
    0035d838b 0x35d83c
    0035d83c
    0035d83cloc_35d83c:
    0035d83cldr x3, [sp+40]
    0035d840add x3, x3, 1
    0035d844str x3, [sp+40]
    0035d848b 0x35d7c8
    0035d84c
    0035d84cloc_35d84c:
    0035d84cldr x0, [sp+104]
    0035d850ldr x1, [sp+112]
    0035d854ldr x2, [sp+120]
    0035d858str x0, [sp+80]
    0035d85cstr x1, [sp+88]
    0035d860str x2, [sp+96]
    0035d864ldur x29, [sp-8]
    0035d868ldr x30, [sp], 160
    0035d86cret x30
    0035d870
    0035d870loc_35d870:
    0035d870bl runtime.panicIndex
    0035d874
    0035d874loc_35d874:
    0035d874bl runtime.panicIndex
    0035d878
    0035d878loc_35d878:
    0035d878bl runtime.panicIndex
    0035d87c
    0035d87cloc_35d87c:
    0035d87cmov x0, x2
    0035d880bl runtime.panicSliceB
    0035d884hint
    0035d888
    0035d888loc_35d888:
    0035d888str x0, [sp+8]
    0035d88cmov x3, x30
    0035d890bl runtime.morestack_noctxt.abi0
    0035d894ldr x0, [sp+8]
    0035d898b 0x35d6f0
    0035d89cudf 0
    0035d6f0