File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    003a7720
    003a7720golang.org/x/crypto/chacha20.hChaCha20: ; void golang.org/x/crypto/chacha20.hChaCha20(struct []uint8 out, struct []uint8 key, struct []uint8 nonce)
    003a7720ldr x16, [x28+16]
    003a7724sub x17, sp, 224
    003a7728subs xzr, x17, x16
    003a772cb.ls 0x3a80b4
    003a7730sub x20, sp, 352
    003a7734stp x29, x30, [x20-8]
    003a7738add sp, x20, 0
    003a773csub x29, sp, 8
    003a7740str x0, [sp+360]
    003a7744str x1, [sp+368]
    003a7748str x2, [sp+376]
    003a774cstr x3, [sp+384]
    003a7750str x4, [sp+392]
    003a7754str x5, [sp+400]
    003a7758str x6, [sp+408]
    003a775cstr x7, [sp+416]
    003a7760str x8, [sp+424]
    003a7764str xzr, [sp+280]
    003a7768stp xzr, xzr, [sp+288]
    003a776cstp xzr, xzr, [sp+264]
    003a7770ldr x3, [sp+392]
    003a7774str x3, [sp+256]
    003a7778subs xzr, x3, 32
    003a777cb.ne 0x3a7784
    003a7780b 0x3a77cc
    003a7784
    003a7784loc_3a7784:
    003a7784adrp x0, 0x319000
    003a7788add x0, x0, 1729
    003a778cmovz x1, 34
    003a7790bl errors.New
    003a7794str x0, [sp+328]
    003a7798str x1, [sp+336]
    003a779cstr xzr, [sp+280]
    003a77a0stp xzr, xzr, [sp+288]
    003a77a4ldr x3, [sp+328]
    003a77a8ldr x4, [sp+336]
    003a77acstr x3, [sp+264]
    003a77b0str x4, [sp+272]
    003a77b4ldr x0, [sp+280]
    003a77b8ldr x1, [sp+288]
    003a77bcldr x2, [sp+296]
    003a77c0ldp x29, x30, [sp-8]
    003a77c4add sp, sp, 352
    003a77c8ret x30
    003a77cc
    003a77ccloc_3a77cc:
    003a77ccldr x3, [sp+416]
    003a77d0str x3, [sp+256]
    003a77d4subs xzr, x3, 16
    003a77d8b.ne 0x3a77e0
    003a77dcb 0x3a7828
    003a77e0
    003a77e0loc_3a77e0:
    003a77e0adrp x0, 0x31a000
    003a77e4add x0, x0, 3541
    003a77e8movz x1, 36
    003a77ecbl errors.New
    003a77f0str x0, [sp+328]
    003a77f4str x1, [sp+336]
    003a77f8str xzr, [sp+280]
    003a77fcstp xzr, xzr, [sp+288]
    003a7800ldr x3, [sp+328]
    003a7804ldr x4, [sp+336]
    003a7808str x3, [sp+264]
    003a780cstr x4, [sp+272]
    003a7810ldr x0, [sp+280]
    003a7814ldr x1, [sp+288]
    003a7818ldr x2, [sp+296]
    003a781cldp x29, x30, [sp-8]
    003a7820add sp, sp, 352
    003a7824ret x30
    003a7828
    003a7828loc_3a7828:
    003a7828movz x3, 30821
    003a782cmovk x3, 0x61700000
    003a7830str w3, [sp+100]
    003a7834movz x3, 25710
    003a7838movk x3, 0x33200000
    003a783cstr w3, [sp+96]
    003a7840movz x3, 11570
    003a7844movk x3, 0x79620000
    003a7848str w3, [sp+68]
    003a784cmovz x3, 25972
    003a7850movk x3, 0x6b200000
    003a7854str w3, [sp+64]
    003a7858ldr x2, [sp+400]
    003a785cldr x0, [sp+384]
    003a7860subs xzr, x2, 4
    003a7864b.hs 0x3a786c
    003a7868b 0x3a80a8
    003a786c
    003a786cloc_3a786c:
    003a786cb 0x3a7870
    003a7870
    003a7870loc_3a7870:
    003a7870str x0, [sp+304]
    003a7874orr x1, xzr, 4
    003a7878str x1, [sp+312]
    003a787cstr x2, [sp+320]
    003a7880bl encoding/binary.littleEndian.Uint32
    003a7884str w0, [sp+60]
    003a7888ldr x2, [sp+400]
    003a788cldr x3, [sp+384]
    003a7890subs xzr, x2, 8
    003a7894b.hs 0x3a789c
    003a7898b 0x3a80a0
    003a789c
    003a789cloc_3a789c:
    003a789cb 0x3a78a0
    003a78a0
    003a78a0loc_3a78a0:
    003a78a0sub x2, x2, 4
    003a78a4sub x4, xzr, x2
    003a78a8sbfm x4, x4, 63, 63
    003a78acand x4, x4, 4
    003a78b0add x0, x3, x4
    003a78b4str x0, [sp+304]
    003a78b8orr x1, xzr, 4
    003a78bcstr x1, [sp+312]
    003a78c0str x2, [sp+320]
    003a78c4bl encoding/binary.littleEndian.Uint32
    003a78c8str w0, [sp+56]
    003a78ccldr x2, [sp+400]
    003a78d0ldr x3, [sp+384]
    003a78d4subs xzr, x2, 12
    003a78d8b.hs 0x3a78e0
    003a78dcb 0x3a8098
    003a78e0
    003a78e0loc_3a78e0:
    003a78e0b 0x3a78e4
    003a78e4
    003a78e4loc_3a78e4:
    003a78e4sub x2, x2, 8
    003a78e8sub x4, xzr, x2
    003a78ecsbfm x4, x4, 63, 63
    003a78f0and x4, x4, 8
    003a78f4add x0, x3, x4
    003a78f8str x0, [sp+304]
    003a78fcorr x1, xzr, 4
    003a7900str x1, [sp+312]
    003a7904str x2, [sp+320]
    003a7908bl encoding/binary.littleEndian.Uint32
    003a790cstr w0, [sp+52]
    003a7910ldr x2, [sp+400]
    003a7914ldr x3, [sp+384]
    003a7918subs xzr, x2, 16
    003a791cb.hs 0x3a7924
    003a7920b 0x3a8090
    003a7924
    003a7924loc_3a7924:
    003a7924b 0x3a7928
    003a7928
    003a7928loc_3a7928:
    003a7928sub x2, x2, 12
    003a792csub x4, xzr, x2
    003a7930sbfm x4, x4, 63, 63
    003a7934and x4, x4, 12
    003a7938add x0, x3, x4
    003a793cstr x0, [sp+304]
    003a7940orr x1, xzr, 4
    003a7944str x1, [sp+312]
    003a7948str x2, [sp+320]
    003a794cbl encoding/binary.littleEndian.Uint32
    003a7950str w0, [sp+48]
    003a7954ldr x2, [sp+400]
    003a7958ldr x3, [sp+384]
    003a795csubs xzr, x2, 20
    003a7960b.hs 0x3a7968
    003a7964b 0x3a8088
    003a7968
    003a7968loc_3a7968:
    003a7968b 0x3a796c
    003a796c
    003a796cloc_3a796c:
    003a796csub x2, x2, 16
    003a7970sub x4, xzr, x2
    003a7974sbfm x4, x4, 63, 63
    003a7978and x4, x4, 16
    003a797cadd x0, x3, x4
    003a7980str x0, [sp+304]
    003a7984orr x1, xzr, 4
    003a7988str x1, [sp+312]
    003a798cstr x2, [sp+320]
    003a7990bl encoding/binary.littleEndian.Uint32
    003a7994str w0, [sp+44]
    003a7998ldr x2, [sp+400]
    003a799cldr x3, [sp+384]
    003a79a0subs xzr, x2, 24
    003a79a4b.hs 0x3a79ac
    003a79a8b 0x3a8080
    003a79ac
    003a79acloc_3a79ac:
    003a79acb 0x3a79b0
    003a79b0
    003a79b0loc_3a79b0:
    003a79b0sub x2, x2, 20
    003a79b4sub x4, xzr, x2
    003a79b8sbfm x4, x4, 63, 63
    003a79bcmovz x5, 20
    003a79c0and x4, x4, x5
    003a79c4add x0, x3, x4
    003a79c8str x0, [sp+304]
    003a79ccorr x1, xzr, 4
    003a79d0str x1, [sp+312]
    003a79d4str x2, [sp+320]
    003a79d8bl encoding/binary.littleEndian.Uint32
    003a79dcstr w0, [sp+40]
    003a79e0ldr x2, [sp+400]
    003a79e4ldr x3, [sp+384]
    003a79e8subs xzr, x2, 28
    003a79ecb.hs 0x3a79f4
    003a79f0b 0x3a8078
    003a79f4
    003a79f4loc_3a79f4:
    003a79f4b 0x3a79f8
    003a79f8
    003a79f8loc_3a79f8:
    003a79f8sub x2, x2, 24
    003a79fcsub x4, xzr, x2
    003a7a00sbfm x4, x4, 63, 63
    003a7a04and x4, x4, 24
    003a7a08add x0, x3, x4
    003a7a0cstr x0, [sp+304]
    003a7a10orr x1, xzr, 4
    003a7a14str x1, [sp+312]
    003a7a18str x2, [sp+320]
    003a7a1cbl encoding/binary.littleEndian.Uint32
    003a7a20str w0, [sp+92]
    003a7a24ldr x2, [sp+400]
    003a7a28ldr x3, [sp+384]
    003a7a2csubs xzr, x2, 32
    003a7a30b.hs 0x3a7a38
    003a7a34b 0x3a8070
    003a7a38
    003a7a38loc_3a7a38:
    003a7a38b 0x3a7a3c
    003a7a3c
    003a7a3cloc_3a7a3c:
    003a7a3csub x2, x2, 28
    003a7a40sub x4, xzr, x2
    003a7a44sbfm x4, x4, 63, 63
    003a7a48and x4, x4, 28
    003a7a4cadd x0, x3, x4
    003a7a50str x0, [sp+304]
    003a7a54orr x1, xzr, 4
    003a7a58str x1, [sp+312]
    003a7a5cstr x2, [sp+320]
    003a7a60bl encoding/binary.littleEndian.Uint32
    003a7a64str w0, [sp+88]
    003a7a68ldr x2, [sp+424]
    003a7a6cldr x0, [sp+408]
    003a7a70subs xzr, x2, 4
    003a7a74b.hs 0x3a7a7c
    003a7a78b 0x3a8068
    003a7a7c
    003a7a7cloc_3a7a7c:
    003a7a7cb 0x3a7a80
    003a7a80
    003a7a80loc_3a7a80:
    003a7a80str x0, [sp+304]
    003a7a84orr x1, xzr, 4
    003a7a88str x1, [sp+312]
    003a7a8cstr x2, [sp+320]
    003a7a90bl encoding/binary.littleEndian.Uint32
    003a7a94str w0, [sp+84]
    003a7a98ldr x2, [sp+424]
    003a7a9cldr x3, [sp+408]
    003a7aa0subs xzr, x2, 8
    003a7aa4b.hs 0x3a7aac
    003a7aa8b 0x3a8060
    003a7aac
    003a7aacloc_3a7aac:
    003a7aacb 0x3a7ab0
    003a7ab0
    003a7ab0loc_3a7ab0:
    003a7ab0sub x2, x2, 4
    003a7ab4sub x4, xzr, x2
    003a7ab8sbfm x4, x4, 63, 63
    003a7abcand x4, x4, 4
    003a7ac0add x0, x3, x4
    003a7ac4str x0, [sp+304]
    003a7ac8orr x1, xzr, 4
    003a7accstr x1, [sp+312]
    003a7ad0str x2, [sp+320]
    003a7ad4bl encoding/binary.littleEndian.Uint32
    003a7ad8str w0, [sp+80]
    003a7adcldr x2, [sp+424]
    003a7ae0ldr x3, [sp+408]
    003a7ae4subs xzr, x2, 12
    003a7ae8b.hs 0x3a7af0
    003a7aecb 0x3a8058
    003a7af0
    003a7af0loc_3a7af0:
    003a7af0b 0x3a7af4
    003a7af4
    003a7af4loc_3a7af4:
    003a7af4sub x2, x2, 8
    003a7af8sub x4, xzr, x2
    003a7afcsbfm x4, x4, 63, 63
    003a7b00and x4, x4, 8
    003a7b04add x0, x3, x4
    003a7b08str x0, [sp+304]
    003a7b0corr x1, xzr, 4
    003a7b10str x1, [sp+312]
    003a7b14str x2, [sp+320]
    003a7b18bl encoding/binary.littleEndian.Uint32
    003a7b1cstr w0, [sp+76]
    003a7b20ldr x2, [sp+424]
    003a7b24ldr x3, [sp+408]
    003a7b28subs xzr, x2, 16
    003a7b2cb.hs 0x3a7b34
    003a7b30b 0x3a8050
    003a7b34
    003a7b34loc_3a7b34:
    003a7b34b 0x3a7b38
    003a7b38
    003a7b38loc_3a7b38:
    003a7b38sub x2, x2, 12
    003a7b3csub x4, xzr, x2
    003a7b40sbfm x4, x4, 63, 63
    003a7b44and x4, x4, 12
    003a7b48add x0, x3, x4
    003a7b4cstr x0, [sp+304]
    003a7b50orr x1, xzr, 4
    003a7b54str x1, [sp+312]
    003a7b58str x2, [sp+320]
    003a7b5cbl encoding/binary.littleEndian.Uint32
    003a7b60str w0, [sp+72]
    003a7b64str xzr, [sp+248]
    003a7b68b 0x3a7b6c
    003a7b6c
    003a7b6cloc_3a7b6c:
    003a7b6cldr x4, [sp+248]
    003a7b70subs xzr, x4, 10
    003a7b74b.lt 0x3a7b7c
    003a7b78b 0x3a7dac
    003a7b7c
    003a7b7cloc_3a7b7c:
    003a7b7cldr w1, [sp+60]
    003a7b80ldr w2, [sp+44]
    003a7b84ldr w3, [sp+84]
    003a7b88ldr w0, [sp+100]
    003a7b8cbl golang.org/x/crypto/chacha20.quarterRound
    003a7b90str w0, [sp+116]
    003a7b94str w1, [sp+112]
    003a7b98str w2, [sp+108]
    003a7b9cstr w3, [sp+104]
    003a7ba0str w0, [sp+244]
    003a7ba4str w1, [sp+240]
    003a7ba8str w2, [sp+236]
    003a7bacstr w3, [sp+232]
    003a7bb0str w0, [sp+100]
    003a7bb4str w1, [sp+60]
    003a7bb8str w2, [sp+44]
    003a7bbcstr w3, [sp+84]
    003a7bc0ldr w1, [sp+56]
    003a7bc4ldr w2, [sp+40]
    003a7bc8ldr w3, [sp+80]
    003a7bccldr w0, [sp+96]
    003a7bd0bl golang.org/x/crypto/chacha20.quarterRound
    003a7bd4str w0, [sp+104]
    003a7bd8str w1, [sp+108]
    003a7bdcstr w2, [sp+112]
    003a7be0str w3, [sp+116]
    003a7be4str w0, [sp+228]
    003a7be8str w1, [sp+224]
    003a7becstr w2, [sp+220]
    003a7bf0str w3, [sp+216]
    003a7bf4str w0, [sp+96]
    003a7bf8str w1, [sp+56]
    003a7bfcstr w2, [sp+40]
    003a7c00str w3, [sp+80]
    003a7c04ldr w1, [sp+52]
    003a7c08ldr w2, [sp+92]
    003a7c0cldr w3, [sp+76]
    003a7c10ldr w0, [sp+68]
    003a7c14bl golang.org/x/crypto/chacha20.quarterRound
    003a7c18str w0, [sp+116]
    003a7c1cstr w1, [sp+112]
    003a7c20str w2, [sp+108]
    003a7c24str w3, [sp+104]
    003a7c28str w0, [sp+212]
    003a7c2cstr w1, [sp+208]
    003a7c30str w2, [sp+204]
    003a7c34str w3, [sp+200]
    003a7c38str w0, [sp+68]
    003a7c3cstr w1, [sp+52]
    003a7c40str w2, [sp+92]
    003a7c44str w3, [sp+76]
    003a7c48ldr w1, [sp+48]
    003a7c4cldr w2, [sp+88]
    003a7c50ldr w3, [sp+72]
    003a7c54ldr w0, [sp+64]
    003a7c58bl golang.org/x/crypto/chacha20.quarterRound
    003a7c5cstr w0, [sp+104]
    003a7c60str w1, [sp+108]
    003a7c64str w2, [sp+112]
    003a7c68str w3, [sp+116]
    003a7c6cstr w0, [sp+196]
    003a7c70str w1, [sp+192]
    003a7c74str w2, [sp+188]
    003a7c78str w3, [sp+184]
    003a7c7cstr w0, [sp+64]
    003a7c80str w1, [sp+48]
    003a7c84str w2, [sp+88]
    003a7c88str w3, [sp+72]
    003a7c8cldr w1, [sp+56]
    003a7c90ldr w2, [sp+92]
    003a7c94ldr w0, [sp+100]
    003a7c98bl golang.org/x/crypto/chacha20.quarterRound
    003a7c9cstr w0, [sp+116]
    003a7ca0str w1, [sp+112]
    003a7ca4str w2, [sp+108]
    003a7ca8str w3, [sp+104]
    003a7cacstr w0, [sp+180]
    003a7cb0str w1, [sp+176]
    003a7cb4str w2, [sp+172]
    003a7cb8str w3, [sp+168]
    003a7cbcstr w0, [sp+100]
    003a7cc0str w1, [sp+56]
    003a7cc4str w2, [sp+92]
    003a7cc8str w3, [sp+72]
    003a7cccldr w1, [sp+52]
    003a7cd0ldr w2, [sp+88]
    003a7cd4ldr w3, [sp+84]
    003a7cd8ldr w0, [sp+96]
    003a7cdcbl golang.org/x/crypto/chacha20.quarterRound
    003a7ce0str w0, [sp+104]
    003a7ce4str w1, [sp+108]
    003a7ce8str w2, [sp+112]
    003a7cecstr w3, [sp+116]
    003a7cf0str w0, [sp+164]
    003a7cf4str w1, [sp+160]
    003a7cf8str w2, [sp+156]
    003a7cfcstr w3, [sp+152]
    003a7d00str w0, [sp+96]
    003a7d04str w1, [sp+52]
    003a7d08str w2, [sp+88]
    003a7d0cstr w3, [sp+84]
    003a7d10ldr w1, [sp+48]
    003a7d14ldr w2, [sp+44]
    003a7d18ldr w3, [sp+80]
    003a7d1cldr w0, [sp+68]
    003a7d20bl golang.org/x/crypto/chacha20.quarterRound
    003a7d24str w0, [sp+116]
    003a7d28str w1, [sp+112]
    003a7d2cstr w2, [sp+108]
    003a7d30str w3, [sp+104]
    003a7d34str w0, [sp+148]
    003a7d38str w1, [sp+144]
    003a7d3cstr w2, [sp+140]
    003a7d40str w3, [sp+136]
    003a7d44str w0, [sp+68]
    003a7d48str w1, [sp+48]
    003a7d4cstr w2, [sp+44]
    003a7d50str w3, [sp+80]
    003a7d54ldr w1, [sp+60]
    003a7d58ldr w2, [sp+40]
    003a7d5cldr w3, [sp+76]
    003a7d60ldr w0, [sp+64]
    003a7d64bl golang.org/x/crypto/chacha20.quarterRound
    003a7d68str w0, [sp+104]
    003a7d6cstr w1, [sp+108]
    003a7d70str w2, [sp+112]
    003a7d74str w3, [sp+116]
    003a7d78str w0, [sp+132]
    003a7d7cstr w1, [sp+128]
    003a7d80str w2, [sp+124]
    003a7d84str w3, [sp+120]
    003a7d88str w0, [sp+64]
    003a7d8cstr w1, [sp+60]
    003a7d90str w2, [sp+40]
    003a7d94str w3, [sp+76]
    003a7d98b 0x3a7d9c
    003a7d9c
    003a7d9cloc_3a7d9c:
    003a7d9cldr x4, [sp+248]
    003a7da0add x4, x4, 1
    003a7da4str x4, [sp+248]
    003a7da8b 0x3a7b6c
    003a7dac
    003a7dacloc_3a7dac:
    003a7dacldr x1, [sp+368]
    003a7db0subs xzr, x1, 31
    003a7db4b.hi 0x3a7dbc
    003a7db8b 0x3a8048
    003a7dbc
    003a7dbcloc_3a7dbc:
    003a7dbcldr x2, [sp+376]
    003a7dc0ldr x0, [sp+360]
    003a7dc4subs xzr, x2, 4
    003a7dc8b.hs 0x3a7dd0
    003a7dccb 0x3a8040
    003a7dd0
    003a7dd0loc_3a7dd0:
    003a7dd0b 0x3a7dd4
    003a7dd4
    003a7dd4loc_3a7dd4:
    003a7dd4str x0, [sp+304]
    003a7dd8orr x1, xzr, 4
    003a7ddcstr x1, [sp+312]
    003a7de0str x2, [sp+320]
    003a7de4ldr w3, [sp+100]
    003a7de8bl encoding/binary.littleEndian.PutUint32
    003a7decldr x2, [sp+376]
    003a7df0ldr x4, [sp+360]
    003a7df4subs xzr, x2, 8
    003a7df8b.hs 0x3a7e00
    003a7dfcb 0x3a8038
    003a7e00
    003a7e00loc_3a7e00:
    003a7e00b 0x3a7e04
    003a7e04
    003a7e04loc_3a7e04:
    003a7e04sub x2, x2, 4
    003a7e08sub x5, xzr, x2
    003a7e0csbfm x5, x5, 63, 63
    003a7e10and x5, x5, 4
    003a7e14add x0, x4, x5
    003a7e18str x0, [sp+304]
    003a7e1corr x1, xzr, 4
    003a7e20str x1, [sp+312]
    003a7e24str x2, [sp+320]
    003a7e28ldr w3, [sp+96]
    003a7e2cbl encoding/binary.littleEndian.PutUint32
    003a7e30ldr x2, [sp+376]
    003a7e34ldr x4, [sp+360]
    003a7e38subs xzr, x2, 12
    003a7e3cb.hs 0x3a7e44
    003a7e40b 0x3a8030
    003a7e44
    003a7e44loc_3a7e44:
    003a7e44b 0x3a7e48
    003a7e48
    003a7e48loc_3a7e48:
    003a7e48sub x2, x2, 8
    003a7e4csub x5, xzr, x2
    003a7e50sbfm x5, x5, 63, 63
    003a7e54and x5, x5, 8
    003a7e58add x0, x4, x5
    003a7e5cstr x0, [sp+304]
    003a7e60orr x1, xzr, 4
    003a7e64str x1, [sp+312]
    003a7e68str x2, [sp+320]
    003a7e6cldr w3, [sp+68]
    003a7e70bl encoding/binary.littleEndian.PutUint32
    003a7e74ldr x2, [sp+376]
    003a7e78ldr x4, [sp+360]
    003a7e7csubs xzr, x2, 16
    003a7e80b.hs 0x3a7e88
    003a7e84b 0x3a8028
    003a7e88
    003a7e88loc_3a7e88:
    003a7e88b 0x3a7e8c
    003a7e8c
    003a7e8cloc_3a7e8c:
    003a7e8csub x2, x2, 12
    003a7e90sub x5, xzr, x2
    003a7e94sbfm x5, x5, 63, 63
    003a7e98and x5, x5, 12
    003a7e9cadd x0, x4, x5
    003a7ea0str x0, [sp+304]
    003a7ea4orr x1, xzr, 4
    003a7ea8str x1, [sp+312]
    003a7eacstr x2, [sp+320]
    003a7eb0ldr w3, [sp+64]
    003a7eb4bl encoding/binary.littleEndian.PutUint32
    003a7eb8ldr x2, [sp+376]
    003a7ebcldr x4, [sp+360]
    003a7ec0subs xzr, x2, 20
    003a7ec4b.hs 0x3a7ecc
    003a7ec8b 0x3a8020
    003a7ecc
    003a7eccloc_3a7ecc:
    003a7eccb 0x3a7ed0
    003a7ed0
    003a7ed0loc_3a7ed0:
    003a7ed0sub x2, x2, 16
    003a7ed4sub x5, xzr, x2
    003a7ed8sbfm x5, x5, 63, 63
    003a7edcand x5, x5, 16
    003a7ee0add x0, x4, x5
    003a7ee4str x0, [sp+304]
    003a7ee8orr x1, xzr, 4
    003a7eecstr x1, [sp+312]
    003a7ef0str x2, [sp+320]
    003a7ef4ldr w3, [sp+84]
    003a7ef8bl encoding/binary.littleEndian.PutUint32
    003a7efcldr x2, [sp+376]
    003a7f00ldr x4, [sp+360]
    003a7f04subs xzr, x2, 24
    003a7f08b.hs 0x3a7f10
    003a7f0cb 0x3a8018
    003a7f10
    003a7f10loc_3a7f10:
    003a7f10b 0x3a7f14
    003a7f14
    003a7f14loc_3a7f14:
    003a7f14sub x2, x2, 20
    003a7f18sub x5, xzr, x2
    003a7f1csbfm x5, x5, 63, 63
    003a7f20movz x6, 20
    003a7f24and x5, x5, x6
    003a7f28add x0, x4, x5
    003a7f2cstr x0, [sp+304]
    003a7f30orr x1, xzr, 4
    003a7f34str x1, [sp+312]
    003a7f38str x2, [sp+320]
    003a7f3cldr w3, [sp+80]
    003a7f40bl encoding/binary.littleEndian.PutUint32
    003a7f44ldr x2, [sp+376]
    003a7f48ldr x4, [sp+360]
    003a7f4csubs xzr, x2, 28
    003a7f50b.hs 0x3a7f58
    003a7f54b 0x3a8010
    003a7f58
    003a7f58loc_3a7f58:
    003a7f58b 0x3a7f5c
    003a7f5c
    003a7f5cloc_3a7f5c:
    003a7f5csub x2, x2, 24
    003a7f60sub x5, xzr, x2
    003a7f64sbfm x5, x5, 63, 63
    003a7f68and x5, x5, 24
    003a7f6cadd x0, x4, x5
    003a7f70str x0, [sp+304]
    003a7f74orr x1, xzr, 4
    003a7f78str x1, [sp+312]
    003a7f7cstr x2, [sp+320]
    003a7f80ldr w3, [sp+76]
    003a7f84bl encoding/binary.littleEndian.PutUint32
    003a7f88ldr x2, [sp+376]
    003a7f8cldr x4, [sp+360]
    003a7f90subs xzr, x2, 32
    003a7f94b.hs 0x3a7f9c
    003a7f98b 0x3a8008
    003a7f9c
    003a7f9cloc_3a7f9c:
    003a7f9cb 0x3a7fa0
    003a7fa0
    003a7fa0loc_3a7fa0:
    003a7fa0sub x2, x2, 28
    003a7fa4sub x5, xzr, x2
    003a7fa8sbfm x5, x5, 63, 63
    003a7facand x5, x5, 28
    003a7fb0add x0, x4, x5
    003a7fb4str x0, [sp+304]
    003a7fb8orr x1, xzr, 4
    003a7fbcstr x1, [sp+312]
    003a7fc0str x2, [sp+320]
    003a7fc4ldr w3, [sp+72]
    003a7fc8bl encoding/binary.littleEndian.PutUint32
    003a7fccldr x4, [sp+360]
    003a7fd0ldr x5, [sp+368]
    003a7fd4ldr x6, [sp+376]
    003a7fd8str x4, [sp+280]
    003a7fdcstr x5, [sp+288]
    003a7fe0str x6, [sp+296]
    003a7fe4stp xzr, xzr, [sp+264]
    003a7fe8ldr x0, [sp+280]
    003a7fecldr x1, [sp+288]
    003a7ff0ldr x2, [sp+296]
    003a7ff4mov x3, xzr
    003a7ff8mov x4, xzr
    003a7ffcldp x29, x30, [sp-8]
    003a8000add sp, sp, 352
    003a8004ret x30
    003a8008
    003a8008loc_3a8008:
    003a8008orr x1, xzr, 32
    003a800cbl runtime.panicSliceAcap
    003a8010
    003a8010loc_3a8010:
    003a8010orr x1, xzr, 28
    003a8014bl runtime.panicSliceAcap
    003a8018
    003a8018loc_3a8018:
    003a8018orr x1, xzr, 24
    003a801cbl runtime.panicSliceAcap
    003a8020
    003a8020loc_3a8020:
    003a8020movz x1, 20
    003a8024bl runtime.panicSliceAcap
    003a8028
    003a8028loc_3a8028:
    003a8028orr x1, xzr, 16
    003a802cbl runtime.panicSliceAcap
    003a8030
    003a8030loc_3a8030:
    003a8030orr x1, xzr, 12
    003a8034bl runtime.panicSliceAcap
    003a8038
    003a8038loc_3a8038:
    003a8038orr x1, xzr, 8
    003a803cbl runtime.panicSliceAcap
    003a8040
    003a8040loc_3a8040:
    003a8040orr x1, xzr, 4
    003a8044bl runtime.panicSliceAcap
    003a8048
    003a8048loc_3a8048:
    003a8048orr x0, xzr, 31
    003a804cbl runtime.panicIndex
    003a8050
    003a8050loc_3a8050:
    003a8050orr x1, xzr, 16
    003a8054bl runtime.panicSliceAcap
    003a8058
    003a8058loc_3a8058:
    003a8058orr x1, xzr, 12
    003a805cbl runtime.panicSliceAcap
    003a8060
    003a8060loc_3a8060:
    003a8060orr x1, xzr, 8
    003a8064bl runtime.panicSliceAcap
    003a8068
    003a8068loc_3a8068:
    003a8068orr x1, xzr, 4
    003a806cbl runtime.panicSliceAcap
    003a8070
    003a8070loc_3a8070:
    003a8070orr x1, xzr, 32
    003a8074bl runtime.panicSliceAcap
    003a8078
    003a8078loc_3a8078:
    003a8078orr x1, xzr, 28
    003a807cbl runtime.panicSliceAcap
    003a8080
    003a8080loc_3a8080:
    003a8080orr x1, xzr, 24
    003a8084bl runtime.panicSliceAcap
    003a8088
    003a8088loc_3a8088:
    003a8088movz x1, 20
    003a808cbl runtime.panicSliceAcap
    003a8090
    003a8090loc_3a8090:
    003a8090orr x1, xzr, 16
    003a8094bl runtime.panicSliceAcap
    003a8098
    003a8098loc_3a8098:
    003a8098orr x1, xzr, 12
    003a809cbl runtime.panicSliceAcap
    003a80a0
    003a80a0loc_3a80a0:
    003a80a0orr x1, xzr, 8
    003a80a4bl runtime.panicSliceAcap
    003a80a8
    003a80a8loc_3a80a8:
    003a80a8orr x1, xzr, 4
    003a80acbl runtime.panicSliceAcap
    003a80b0hint
    003a80b4
    003a80b4loc_3a80b4:
    003a80b4stp x0, x1, [sp+8]
    003a80b8stp x2, x3, [sp+24]
    003a80bcstp x4, x5, [sp+40]
    003a80c0stp x6, x7, [sp+56]
    003a80c4str x8, [sp+72]
    003a80c8mov x3, x30
    003a80ccbl runtime.morestack_noctxt.abi0
    003a80d0ldp x0, x1, [sp+8]
    003a80d4ldp x2, x3, [sp+24]
    003a80d8ldp x4, x5, [sp+40]
    003a80dcldp x6, x7, [sp+56]
    003a80e0ldr x8, [sp+72]
    003a80e4b 0x3a7720
    003a80e8udf 0
    003a80ecudf 0
    003a7720
    003a80f0
    003a80f0golang.org/x/crypto/chacha20.addXor: ; void golang.org/x/crypto/chacha20.addXor(struct []uint8 dst, struct []uint8 src, uint32 a, uint32 b)
    003a80f0ldr x16, [x28+16]
    003a80f4subs xzr, sp, x16
    003a80f8b.ls 0x3a82bc
    003a80fcstr x30, [sp-48]!
    003a8100stur x29, [sp-8]
    003a8104sub x29, sp, 8
    003a8108str x0, [sp+56]
    003a810cstr x1, [sp+64]
    003a8110str x2, [sp+72]
    003a8114str x3, [sp+80]
    003a8118str x4, [sp+88]
    003a811cstr x5, [sp+96]
    003a8120str w6, [sp+104]
    003a8124str w7, [sp+108]
    003a8128ldr x1, [sp+88]
    003a812csubs xzr, x1, 3
    003a8130b.hi 0x3a8138
    003a8134b 0x3a82b0
    003a8138
    003a8138loc_3a8138:
    003a8138ldr x1, [sp+64]
    003a813csubs xzr, x1, 3
    003a8140b.hi 0x3a8148
    003a8144b 0x3a82a8
    003a8148
    003a8148loc_3a8148:
    003a8148ldr x1, [sp+88]
    003a814cldr x2, [sp+80]
    003a8150subs xzr, x1, 0
    003a8154b.hi 0x3a815c
    003a8158b 0x3a82a0
    003a815c
    003a815cloc_3a815c:
    003a815cldrb w2, [x2]
    003a8160str w2, [sp+36]
    003a8164ldr x1, [sp+88]
    003a8168ldr x3, [sp+80]
    003a816csubs xzr, x1, 1
    003a8170b.hi 0x3a8178
    003a8174b 0x3a8298
    003a8178
    003a8178loc_3a8178:
    003a8178ldrb w3, [x3+1]
    003a817cubfm x3, x3, 56, 7
    003a8180orr x2, x2, x3
    003a8184str w2, [sp+36]
    003a8188ldr x1, [sp+88]
    003a818cldr x3, [sp+80]
    003a8190subs xzr, x1, 2
    003a8194b.hi 0x3a819c
    003a8198b 0x3a8290
    003a819c
    003a819cloc_3a819c:
    003a819cldrb w3, [x3+2]
    003a81a0ubfm x3, x3, 48, 7
    003a81a4orr x2, x2, x3
    003a81a8str w2, [sp+36]
    003a81acldr x1, [sp+88]
    003a81b0ldr x3, [sp+80]
    003a81b4subs xzr, x1, 3
    003a81b8b.hi 0x3a81c0
    003a81bcb 0x3a8288
    003a81c0
    003a81c0loc_3a81c0:
    003a81c0ldrb w3, [x3+3]
    003a81c4ubfm x3, x3, 40, 7
    003a81c8orr x2, x2, x3
    003a81ccstr w2, [sp+36]
    003a81d0ldr w3, [sp+104]
    003a81d4ldr w4, [sp+108]
    003a81d8add x3, x3, x4
    003a81dceor x2, x2, x3
    003a81e0str w2, [sp+36]
    003a81e4ldr x1, [sp+64]
    003a81e8ldr x3, [sp+56]
    003a81ecsubs xzr, x1, 0
    003a81f0b.hi 0x3a81f8
    003a81f4b 0x3a8280
    003a81f8
    003a81f8loc_3a81f8:
    003a81f8strb w2, [x3]
    003a81fcldr x1, [sp+64]
    003a8200ldr x2, [sp+56]
    003a8204ldr w3, [sp+36]
    003a8208ubfm x3, x3, 8, 31
    003a820csubs xzr, x1, 1
    003a8210b.hi 0x3a8218
    003a8214b 0x3a8278
    003a8218
    003a8218loc_3a8218:
    003a8218strb w3, [x2+1]
    003a821cldr x1, [sp+64]
    003a8220ldr x2, [sp+56]
    003a8224ldr w3, [sp+36]
    003a8228ubfm x3, x3, 16, 31
    003a822csubs xzr, x1, 2
    003a8230b.hi 0x3a8238
    003a8234b 0x3a8270
    003a8238
    003a8238loc_3a8238:
    003a8238strb w3, [x2+2]
    003a823cldr x1, [sp+64]
    003a8240ldr x2, [sp+56]
    003a8244ldr w3, [sp+36]
    003a8248ubfm x3, x3, 24, 31
    003a824csubs xzr, x1, 3
    003a8250b.hi 0x3a8258
    003a8254b 0x3a8268
    003a8258
    003a8258loc_3a8258:
    003a8258strb w3, [x2+3]
    003a825cldur x29, [sp-8]
    003a8260ldr x30, [sp], 48
    003a8264ret x30
    003a8268
    003a8268loc_3a8268:
    003a8268orr x0, xzr, 3
    003a826cbl runtime.panicIndex
    003a8270
    003a8270loc_3a8270:
    003a8270orr x0, xzr, 2
    003a8274bl runtime.panicIndex
    003a8278
    003a8278loc_3a8278:
    003a8278orr x0, xzr, 1
    003a827cbl runtime.panicIndex
    003a8280
    003a8280loc_3a8280:
    003a8280mov x0, xzr
    003a8284bl runtime.panicIndex
    003a8288
    003a8288loc_3a8288:
    003a8288orr x0, xzr, 3
    003a828cbl runtime.panicIndex
    003a8290
    003a8290loc_3a8290:
    003a8290orr x0, xzr, 2
    003a8294bl runtime.panicIndex
    003a8298
    003a8298loc_3a8298:
    003a8298orr x0, xzr, 1
    003a829cbl runtime.panicIndex
    003a82a0
    003a82a0loc_3a82a0:
    003a82a0mov x0, xzr
    003a82a4bl runtime.panicIndex
    003a82a8
    003a82a8loc_3a82a8:
    003a82a8orr x0, xzr, 3
    003a82acbl runtime.panicIndex
    003a82b0
    003a82b0loc_3a82b0:
    003a82b0orr x0, xzr, 3
    003a82b4bl runtime.panicIndex
    003a82b8hint
    003a82bc
    003a82bcloc_3a82bc:
    003a82bcstp x0, x1, [sp+8]
    003a82c0stp x2, x3, [sp+24]
    003a82c4stp x4, x5, [sp+40]
    003a82c8stp w6, w7, [sp+56]
    003a82ccmov x3, x30
    003a82d0bl runtime.morestack_noctxt.abi0
    003a82d4ldp x0, x1, [sp+8]
    003a82d8ldp x2, x3, [sp+24]
    003a82dcldp x4, x5, [sp+40]
    003a82e0ldp w6, w7, [sp+56]
    003a82e4b 0x3a80f0
    003a82e8udf 0
    003a82ecudf 0
    003a80f0
    003a82f0
    003a82f0golang.org/x/crypto/chacha20.xorKeyStreamVX.abi0: ; void golang.org/x/crypto/chacha20.xorKeyStreamVX(void)
    003a82f0ldr x1, [sp+8]
    003a82f4ldr x2, [sp+32]
    003a82f8ldr x3, [sp+40]
    003a82fcldr x4, [sp+56]
    003a8300ldr x6, [sp+64]
    003a8304ldr x7, [sp+72]
    003a8308adrp x10, 0x36e000
    003a830cadd x10, x10, 2016
    003a8310adrp x11, 0x36e000
    003a8314add x11, x11, 2048
    003a8318ldrsw x20, [x7]
    003a831cand x13, x3, -256
    003a8320add x12, x13, x2
    003a8324and x13, x3, 255
    003a8328
    003a8328loc_3a8328:
    003a8328movz x21, 10
    003a832cld1
    003a8330ld4r
    003a8334ld4r
    003a8338ld4r
    003a833csub x4, x4, 32
    003a8340ld1r
    003a8344ld3r
    003a8348add v12.4s, v12.4s, v30.4s
    003a834c
    003a834cloc_3a834c:
    003a834cadd v0.4s, v4.4s, v0.4s
    003a8350add v1.4s, v5.4s, v1.4s
    003a8354add v2.4s, v6.4s, v2.4s
    003a8358add v3.4s, v7.4s, v3.4s
    003a835ceor v12.16b, v0.16b, v12.16b
    003a8360eor v13.16b, v1.16b, v13.16b
    003a8364eor v14.16b, v2.16b, v14.16b
    003a8368eor v15.16b, v3.16b, v15.16b
    003a836crev32 v12.8h, v12.8h
    003a8370rev32 v13.8h, v13.8h
    003a8374rev32 v14.8h, v14.8h
    003a8378rev32 v15.8h, v15.8h
    003a837cadd v8.4s, v12.4s, v8.4s
    003a8380add v9.4s, v13.4s, v9.4s
    003a8384add v10.4s, v14.4s, v10.4s
    003a8388add v11.4s, v15.4s, v11.4s
    003a838ceor v16.16b, v4.16b, v8.16b
    003a8390eor v17.16b, v5.16b, v9.16b
    003a8394eor v18.16b, v6.16b, v10.16b
    003a8398eor v19.16b, v7.16b, v11.16b
    003a839cshl v4.4s, v16.4s, 12
    003a83a0shl v5.4s, v17.4s, 12
    003a83a4shl v6.4s, v18.4s, 12
    003a83a8shl v7.4s, v19.4s, 12
    003a83acsri v4.4s, v16.4s, 20
    003a83b0sri v5.4s, v17.4s, 20
    003a83b4sri v6.4s, v18.4s, 20
    003a83b8sri v7.4s, v19.4s, 20
    003a83bcadd v0.4s, v4.4s, v0.4s
    003a83c0add v1.4s, v5.4s, v1.4s
    003a83c4add v2.4s, v6.4s, v2.4s
    003a83c8add v3.4s, v7.4s, v3.4s
    003a83cceor v12.16b, v0.16b, v12.16b
    003a83d0eor v13.16b, v1.16b, v13.16b
    003a83d4eor v14.16b, v2.16b, v14.16b
    003a83d8eor v15.16b, v3.16b, v15.16b
    003a83dctbl v12.16b
    003a83e0tbl v13.16b
    003a83e4tbl v14.16b
    003a83e8tbl v15.16b
    003a83ecadd v8.4s, v8.4s, v12.4s
    003a83f0add v9.4s, v9.4s, v13.4s
    003a83f4add v10.4s, v10.4s, v14.4s
    003a83f8add v11.4s, v11.4s, v15.4s
    003a83fceor v16.16b, v4.16b, v8.16b
    003a8400eor v17.16b, v5.16b, v9.16b
    003a8404eor v18.16b, v6.16b, v10.16b
    003a8408eor v19.16b, v7.16b, v11.16b
    003a840cshl v4.4s, v16.4s, 7
    003a8410shl v5.4s, v17.4s, 7
    003a8414shl v6.4s, v18.4s, 7
    003a8418shl v7.4s, v19.4s, 7
    003a841csri v4.4s, v16.4s, 25
    003a8420sri v5.4s, v17.4s, 25
    003a8424sri v6.4s, v18.4s, 25
    003a8428sri v7.4s, v19.4s, 25
    003a842cadd v0.4s, v5.4s, v0.4s
    003a8430add v1.4s, v6.4s, v1.4s
    003a8434add v2.4s, v7.4s, v2.4s
    003a8438add v3.4s, v4.4s, v3.4s
    003a843ceor v15.16b, v0.16b, v15.16b
    003a8440eor v12.16b, v1.16b, v12.16b
    003a8444eor v13.16b, v2.16b, v13.16b
    003a8448eor v14.16b, v3.16b, v14.16b
    003a844crev32 v12.8h, v12.8h
    003a8450rev32 v13.8h, v13.8h
    003a8454rev32 v14.8h, v14.8h
    003a8458rev32 v15.8h, v15.8h
    003a845cadd v10.4s, v10.4s, v15.4s
    003a8460add v11.4s, v11.4s, v12.4s
    003a8464add v8.4s, v8.4s, v13.4s
    003a8468add v9.4s, v9.4s, v14.4s
    003a846ceor v16.16b, v5.16b, v10.16b
    003a8470eor v17.16b, v6.16b, v11.16b
    003a8474eor v18.16b, v7.16b, v8.16b
    003a8478eor v19.16b, v4.16b, v9.16b
    003a847cshl v5.4s, v16.4s, 12
    003a8480shl v6.4s, v17.4s, 12
    003a8484shl v7.4s, v18.4s, 12
    003a8488shl v4.4s, v19.4s, 12
    003a848csri v5.4s, v16.4s, 20
    003a8490sri v6.4s, v17.4s, 20
    003a8494sri v7.4s, v18.4s, 20
    003a8498sri v4.4s, v19.4s, 20
    003a849cadd v0.4s, v0.4s, v5.4s
    003a84a0add v1.4s, v1.4s, v6.4s
    003a84a4add v2.4s, v2.4s, v7.4s
    003a84a8add v3.4s, v3.4s, v4.4s
    003a84aceor v15.16b, v15.16b, v0.16b
    003a84b0eor v12.16b, v12.16b, v1.16b
    003a84b4eor v13.16b, v13.16b, v2.16b
    003a84b8eor v14.16b, v14.16b, v3.16b
    003a84bctbl v12.16b
    003a84c0tbl v13.16b
    003a84c4tbl v14.16b
    003a84c8tbl v15.16b
    003a84ccadd v10.4s, v10.4s, v15.4s
    003a84d0add v11.4s, v11.4s, v12.4s
    003a84d4add v8.4s, v8.4s, v13.4s
    003a84d8add v9.4s, v9.4s, v14.4s
    003a84dceor v16.16b, v5.16b, v10.16b
    003a84e0eor v17.16b, v6.16b, v11.16b
    003a84e4eor v18.16b, v7.16b, v8.16b
    003a84e8eor v19.16b, v4.16b, v9.16b
    003a84ecshl v5.4s, v16.4s, 7
    003a84f0shl v6.4s, v17.4s, 7
    003a84f4shl v7.4s, v18.4s, 7
    003a84f8shl v4.4s, v19.4s, 7
    003a84fcsri v5.4s, v16.4s, 25
    003a8500sri v6.4s, v17.4s, 25
    003a8504sri v7.4s, v18.4s, 25
    003a8508sri v4.4s, v19.4s, 25
    003a850csub x21, x21, 1
    003a8510cbnz x21, 0x3a834c
    003a8514ld4r
    003a8518ld4r
    003a851cadd v12.4s, v12.4s, v30.4s
    003a8520add v0.4s, v0.4s, v16.4s
    003a8524add v1.4s, v1.4s, v17.4s
    003a8528add v2.4s, v2.4s, v18.4s
    003a852cadd v3.4s, v3.4s, v19.4s
    003a8530ld4r
    003a8534sub x4, x4, 32
    003a8538ld1r
    003a853cld3r
    003a8540add v4.4s, v4.4s, v20.4s
    003a8544add v5.4s, v5.4s, v21.4s
    003a8548add v6.4s, v6.4s, v22.4s
    003a854cadd v7.4s, v7.4s, v23.4s
    003a8550add v8.4s, v8.4s, v24.4s
    003a8554add v9.4s, v9.4s, v25.4s
    003a8558add v10.4s, v10.4s, v26.4s
    003a855cadd v11.4s, v11.4s, v27.4s
    003a8560add v12.4s, v12.4s, v28.4s
    003a8564add v13.4s, v13.4s, v29.4s
    003a8568add v14.4s, v14.4s, v30.4s
    003a856cadd v15.4s, v15.4s, v31.4s
    003a8570zip1 v16.4s, v0.4s, v1.4s
    003a8574zip2 v17.4s, v0.4s, v1.4s
    003a8578zip1 v18.4s, v2.4s, v3.4s
    003a857czip2 v19.4s, v2.4s, v3.4s
    003a8580zip1 v20.4s, v4.4s, v5.4s
    003a8584zip2 v21.4s, v4.4s, v5.4s
    003a8588zip1 v22.4s, v6.4s, v7.4s
    003a858czip2 v23.4s, v6.4s, v7.4s
    003a8590zip1 v24.4s, v8.4s, v9.4s
    003a8594zip2 v25.4s, v8.4s, v9.4s
    003a8598zip1 v26.4s, v10.4s, v11.4s
    003a859czip2 v27.4s, v10.4s, v11.4s
    003a85a0zip1 v28.4s, v12.4s, v13.4s
    003a85a4zip2 v29.4s, v12.4s, v13.4s
    003a85a8zip1 v30.4s, v14.4s, v15.4s
    003a85aczip2 v31.4s, v14.4s, v15.4s
    003a85b0zip1 v0.2d, v16.2d, v18.2d
    003a85b4zip2 v4.2d, v16.2d, v18.2d
    003a85b8zip1 v8.2d, v17.2d, v19.2d
    003a85bczip2 v12.2d, v17.2d, v19.2d
    003a85c0ld1
    003a85c4zip1 v1.2d, v20.2d, v22.2d
    003a85c8zip2 v5.2d, v20.2d, v22.2d
    003a85cczip1 v9.2d, v21.2d, v23.2d
    003a85d0zip2 v13.2d, v21.2d, v23.2d
    003a85d4ld1
    003a85d8zip1 v2.2d, v24.2d, v26.2d
    003a85dczip2 v6.2d, v24.2d, v26.2d
    003a85e0zip1 v10.2d, v25.2d, v27.2d
    003a85e4zip2 v14.2d, v25.2d, v27.2d
    003a85e8ld1
    003a85eczip1 v3.2d, v28.2d, v30.2d
    003a85f0zip2 v7.2d, v28.2d, v30.2d
    003a85f4zip1 v11.2d, v29.2d, v31.2d
    003a85f8zip2 v15.2d, v29.2d, v31.2d
    003a85fcld1
    003a8600eor v16.16b, v16.16b, v0.16b
    003a8604eor v17.16b, v17.16b, v1.16b
    003a8608eor v18.16b, v18.16b, v2.16b
    003a860ceor v19.16b, v19.16b, v3.16b
    003a8610st1
    003a8614eor v20.16b, v20.16b, v4.16b
    003a8618eor v21.16b, v21.16b, v5.16b
    003a861ceor v22.16b, v22.16b, v6.16b
    003a8620eor v23.16b, v23.16b, v7.16b
    003a8624st1
    003a8628eor v24.16b, v24.16b, v8.16b
    003a862ceor v25.16b, v25.16b, v9.16b
    003a8630eor v26.16b, v26.16b, v10.16b
    003a8634eor v27.16b, v27.16b, v11.16b
    003a8638st1
    003a863ceor v28.16b, v28.16b, v12.16b
    003a8640eor v29.16b, v29.16b, v13.16b
    003a8644eor v30.16b, v30.16b, v14.16b
    003a8648eor v31.16b, v31.16b, v15.16b
    003a864cst1
    003a8650add x20, x20, 4
    003a8654str w20, [x7]
    003a8658subs xzr, x12, x2
    003a865cb.gt 0x3a8328
    003a8660ret x30
    003a8664udf 0
    003a8668udf 0
    003a866cudf 0
    003a82f0
    003a8670
    003a8670type:.eq.golang.org/x/crypto/chacha20.Cipher: ; void type:.eq.golang.org/x/crypto/chacha20.Cipher(golang.org/x/crypto/chacha20.Cipher * p, golang.org/x/crypto/chacha20.Cipher * q)
    003a8670ldr x16, [x28+16]
    003a8674subs xzr, sp, x16
    003a8678b.ls 0x3a8704
    003a867cstr x30, [sp-80]!
    003a8680stur x29, [sp-8]
    003a8684sub x29, sp, 8
    003a8688str x0, [sp+88]
    003a868cstr x1, [sp+96]
    003a8690strb wzr, [sp+38]
    003a8694ldr x3, [sp+88]
    003a8698str x3, [sp+64]
    003a869cldr x1, [sp+96]
    003a86a0str x1, [sp+56]
    003a86a4ldr x0, [sp+64]
    003a86a8movz x2, 314
    003a86acbl runtime.memequal
    003a86b0strb w0, [sp+39]
    003a86b4tbnz w0, 0, 0x3a86bc
    003a86b8b 0x3a86e8
    003a86bc
    003a86bcloc_3a86bc:
    003a86bcldr x3, [sp+88]
    003a86c0add x3, x3, 316
    003a86c4str x3, [sp+48]
    003a86c8ldr x3, [sp+96]
    003a86ccadd x1, x3, 316
    003a86d0str x1, [sp+40]
    003a86d4ldr x0, [sp+48]
    003a86d8orr x2, xzr, 48
    003a86dcbl runtime.memequal
    003a86e0strb w0, [sp+38]
    003a86e4b 0x3a86f4
    003a86e8
    003a86e8loc_3a86e8:
    003a86e8b 0x3a86ec
    003a86ec
    003a86ecloc_3a86ec:
    003a86ecstrb wzr, [sp+38]
    003a86f0b 0x3a86f4
    003a86f4
    003a86f4loc_3a86f4:
    003a86f4ldrb w0, [sp+38]
    003a86f8ldur x29, [sp-8]
    003a86fcldr x30, [sp], 80
    003a8700ret x30
    003a8704
    003a8704loc_3a8704:
    003a8704stp x0, x1, [sp+8]
    003a8708mov x3, x30
    003a870cbl runtime.morestack_noctxt.abi0
    003a8710ldp x0, x1, [sp+8]
    003a8714b 0x3a8670
    003a8718udf 0
    003a871cudf 0
    003a8670
    003a8720
    003a8720golang.org/x/crypto/internal/poly1305.bitsAdd64: ; void golang.org/x/crypto/internal/poly1305.bitsAdd64(uint64 x, uint64 y, uint64 carry)
    003a8720str x30, [sp-64]!
    003a8724stur x29, [sp-8]
    003a8728sub x29, sp, 8
    003a872cstr x0, [sp+72]
    003a8730str x1, [sp+80]
    003a8734str x2, [sp+88]
    003a8738str xzr, [sp+8]
    003a873cstr xzr, [sp+16]
    003a8740ldr x3, [sp+72]
    003a8744movn x4, 0
    003a8748adds x4, x2, x4
    003a874cadcs x0, x3, x1
    003a8750str x0, [sp+32]
    003a8754movn x4, 0
    003a8758adds x2, x2, x4
    003a875cadcs x2, x3, x1
    003a8760adc x1, xzr, xzr
    003a8764str x1, [sp+24]
    003a8768str x0, [sp+48]
    003a876cstr x1, [sp+40]
    003a8770str x0, [sp+8]
    003a8774str x1, [sp+16]
    003a8778add x29, sp, 56
    003a877cadd sp, sp, 64
    003a8780ret x30
    003a8784udf 0
    003a8788udf 0
    003a878cudf 0
    003a8720
    003a8790
    003a8790golang.org/x/crypto/internal/poly1305.bitsSub64: ; void golang.org/x/crypto/internal/poly1305.bitsSub64(uint64 x, uint64 y, uint64 borrow)
    003a8790str x30, [sp-64]!
    003a8794stur x29, [sp-8]
    003a8798sub x29, sp, 8
    003a879cstr x0, [sp+72]
    003a87a0str x1, [sp+80]
    003a87a4str x2, [sp+88]
    003a87a8str xzr, [sp+8]
    003a87acstr xzr, [sp+16]
    003a87b0ldr x3, [sp+72]
    003a87b4subs x4, xzr, x2
    003a87b8sbcs x0, x3, x1
    003a87bcstr x0, [sp+32]
    003a87c0subs x2, xzr, x2
    003a87c4sbcs x2, x3, x1
    003a87c8sbc x2, xzr, xzr
    003a87ccsub x1, xzr, x2
    003a87d0str x1, [sp+24]
    003a87d4str x0, [sp+48]
    003a87d8str x1, [sp+40]
    003a87dcstr x0, [sp+8]
    003a87e0str x1, [sp+16]
    003a87e4add x29, sp, 56
    003a87e8add sp, sp, 64
    003a87ecret x30
    003a8790
    003a87f0
    003a87f0golang.org/x/crypto/internal/poly1305.bitsMul64: ; void golang.org/x/crypto/internal/poly1305.bitsMul64(uint64 x, uint64 y)
    003a87f0str x30, [sp-64]!
    003a87f4stur x29, [sp-8]
    003a87f8sub x29, sp, 8
    003a87fcstr x0, [sp+72]
    003a8800str x1, [sp+80]
    003a8804str xzr, [sp+16]
    003a8808str xzr, [sp+8]
    003a880cmadd x2, x0, x1, xzr
    003a8810umulh x0, x0, x1
    003a8814str x0, [sp+32]
    003a8818str x2, [sp+24]
    003a881cstr x0, [sp+48]
    003a8820str x2, [sp+40]
    003a8824str x0, [sp+16]
    003a8828str x2, [sp+8]
    003a882cmov x1, x2
    003a8830add x29, sp, 56
    003a8834add sp, sp, 64
    003a8838ret x30
    003a883cudf 0
    003a87f0
    003a8840
    003a8840golang.org/x/crypto/internal/poly1305.Sum: ; void golang.org/x/crypto/internal/poly1305.Sum(uint8[16] * out, struct []uint8 m, uint8[32] * key)
    003a8840ldr x16, [x28+16]
    003a8844subs xzr, sp, x16
    003a8848b.ls 0x3a88c0
    003a884cstr x30, [sp-80]!
    003a8850stur x29, [sp-8]
    003a8854sub x29, sp, 8
    003a8858str x0, [sp+88]
    003a885cstr x1, [sp+96]
    003a8860str x2, [sp+104]
    003a8864str x3, [sp+112]
    003a8868str x4, [sp+120]
    003a886cmov x0, x4
    003a8870bl golang.org/x/crypto/internal/poly1305.New
    003a8874str x0, [sp+40]
    003a8878ldr x2, [sp+104]
    003a887cldr x3, [sp+112]
    003a8880ldr x1, [sp+96]
    003a8884bl golang.org/x/crypto/internal/poly1305.(*MAC).Write
    003a8888ldr x1, [sp+88]
    003a888cldrsb x27, [x1]
    003a8890b 0x3a8894
    003a8894
    003a8894loc_3a8894:
    003a8894b 0x3a8898
    003a8898
    003a8898loc_3a8898:
    003a8898str x1, [sp+48]
    003a889cstr xzr, [sp+56]
    003a88a0orr x3, xzr, 16
    003a88a4str x3, [sp+64]
    003a88a8ldr x0, [sp+40]
    003a88acmov x2, xzr
    003a88b0bl golang.org/x/crypto/internal/poly1305.(*MAC).Sum
    003a88b4ldur x29, [sp-8]
    003a88b8ldr x30, [sp], 80
    003a88bcret x30
    003a88c0
    003a88c0loc_3a88c0:
    003a88c0stp x0, x1, [sp+8]
    003a88c4stp x2, x3, [sp+24]
    003a88c8str x4, [sp+40]
    003a88ccmov x3, x30
    003a88d0bl runtime.morestack_noctxt.abi0
    003a88d4ldp x0, x1, [sp+8]
    003a88d8ldp x2, x3, [sp+24]
    003a88dcldr x4, [sp+40]
    003a88e0b 0x3a8840
    003a88e4udf 0
    003a88e8udf 0
    003a88ecudf 0
    003a8840
    003a88f0
    003a88f0golang.org/x/crypto/internal/poly1305.Verify: ; void golang.org/x/crypto/internal/poly1305.Verify(uint8[16] * mac, struct []uint8 m, uint8[32] * key)
    003a88f0ldr x16, [x28+16]
    003a88f4sub x17, sp, 16
    003a88f8subs xzr, x17, x16
    003a88fcb.ls 0x3a89a4
    003a8900str x30, [sp-144]!
    003a8904stur x29, [sp-8]
    003a8908sub x29, sp, 8
    003a890cstr x0, [sp+152]
    003a8910str x1, [sp+160]
    003a8914str x2, [sp+168]
    003a8918str x3, [sp+176]
    003a891cstr x4, [sp+184]
    003a8920strb wzr, [sp+63]
    003a8924stp xzr, xzr, [sp+64]
    003a8928ldr x1, [sp+160]
    003a892cldr x4, [sp+184]
    003a8930ldr x2, [sp+168]
    003a8934ldr x3, [sp+176]
    003a8938add x0, sp, 64
    003a893cbl golang.org/x/crypto/internal/poly1305.Sum
    003a8940add x5, sp, 64
    003a8944ldrsb x27, [x5]
    003a8948b 0x3a894c
    003a894c
    003a894cloc_3a894c:
    003a894cstr x5, [sp+112]
    003a8950orr x5, xzr, 16
    003a8954str x5, [sp+120]
    003a8958str x5, [sp+128]
    003a895cldr x3, [sp+152]
    003a8960ldrsb x27, [x3]
    003a8964b 0x3a8968
    003a8968
    003a8968loc_3a8968:
    003a8968str x3, [sp+88]
    003a896cstr x5, [sp+96]
    003a8970str x5, [sp+104]
    003a8974ldr x0, [sp+112]
    003a8978ldr x1, [sp+120]
    003a897cldr x2, [sp+128]
    003a8980mov x4, x5
    003a8984bl crypto/subtle.ConstantTimeCompare
    003a8988str x0, [sp+80]
    003a898csubs xzr, x0, 1
    003a8990cset x0, eq
    003a8994strb w0, [sp+63]
    003a8998ldur x29, [sp-8]
    003a899cldr x30, [sp], 144
    003a89a0ret x30
    003a89a4
    003a89a4loc_3a89a4:
    003a89a4stp x0, x1, [sp+8]
    003a89a8stp x2, x3, [sp+24]
    003a89acstr x4, [sp+40]
    003a89b0mov x3, x30
    003a89b4bl runtime.morestack_noctxt.abi0
    003a89b8ldp x0, x1, [sp+8]
    003a89bcldp x2, x3, [sp+24]
    003a89c0ldr x4, [sp+40]
    003a89c4b 0x3a88f0
    003a89c8udf 0
    003a89ccudf 0
    003a88f0
    003a89d0
    003a89d0golang.org/x/crypto/internal/poly1305.New: ; void golang.org/x/crypto/internal/poly1305.New(uint8[32] * key)
    003a89d0ldr x16, [x28+16]
    003a89d4subs xzr, sp, x16
    003a89d8b.ls 0x3a8a48
    003a89dcstr x30, [sp-80]!
    003a89e0stur x29, [sp-8]
    003a89e4sub x29, sp, 8
    003a89e8str x0, [sp+88]
    003a89ecstr xzr, [sp+40]
    003a89f0adrp x0, 0x29f000
    003a89f4add x0, x0, 2752
    003a89f8bl runtime.newobject
    003a89fcstr x0, [sp+64]
    003a8a00mov x20, x0
    003a8a04adr x27, 16
    003a8a08stp x29, x27, [sp-24]
    003a8a0csub x29, sp, 24
    003a8a10bl fn_87cfc
    003a8a14sub x29, sp, 8
    003a8a18str xzr, [x0+80]
    003a8a1cldr x1, [sp+64]
    003a8a20str x1, [sp+48]
    003a8a24ldrsb x27, [x1]
    003a8a28str x1, [sp+56]
    003a8a2cldr x0, [sp+88]
    003a8a30bl golang.org/x/crypto/internal/poly1305.initialize
    003a8a34ldr x0, [sp+48]
    003a8a38str x0, [sp+40]
    003a8a3cldur x29, [sp-8]
    003a8a40ldr x30, [sp], 80
    003a8a44ret x30
    003a8a48
    003a8a48loc_3a8a48:
    003a8a48str x0, [sp+8]
    003a8a4cmov x3, x30
    003a8a50bl runtime.morestack_noctxt.abi0
    003a8a54ldr x0, [sp+8]
    003a8a58b 0x3a89d0
    003a8a5cudf 0
    003a89d0
    003a8a60
    003a8a60golang.org/x/crypto/internal/poly1305.(*MAC).Write: ; void golang.org/x/crypto/internal/poly1305.(*MAC).Write(golang.org/x/crypto/internal/poly1305.MAC * h, struct []uint8 p)
    003a8a60ldr x16, [x28+16]
    003a8a64subs xzr, sp, x16
    003a8a68b.ls 0x3a8b18
    003a8a6cstr x30, [sp-128]!
    003a8a70stur x29, [sp-8]
    003a8a74sub x29, sp, 8
    003a8a78str x0, [sp+136]
    003a8a7cstr x1, [sp+144]
    003a8a80str x2, [sp+152]
    003a8a84str x3, [sp+160]
    003a8a88str xzr, [sp+40]
    003a8a8cstp xzr, xzr, [sp+64]
    003a8a90ldr x4, [sp+136]
    003a8a94ldrsb x27, [x4]
    003a8a98ldrb w4, [x4+80]
    003a8a9ctbnz w4, 0, 0x3a8b00
    003a8aa0b 0x3a8aa4
    003a8aa4
    003a8aa4loc_3a8aa4:
    003a8aa4stp xzr, xzr, [sp+88]
    003a8aa8ldr x0, [sp+136]
    003a8aacldrsb x27, [x0]
    003a8ab0str x0, [sp+80]
    003a8ab4ldr x1, [sp+144]
    003a8ab8ldr x2, [sp+152]
    003a8abcldr x3, [sp+160]
    003a8ac0bl golang.org/x/crypto/internal/poly1305.(*macGeneric).Write
    003a8ac4str x0, [sp+48]
    003a8ac8str x1, [sp+88]
    003a8accstr x2, [sp+96]
    003a8ad0ldr x4, [sp+48]
    003a8ad4str x4, [sp+56]
    003a8ad8str x1, [sp+104]
    003a8adcstr x2, [sp+112]
    003a8ae0ldr x4, [sp+56]
    003a8ae4str x4, [sp+40]
    003a8ae8str x1, [sp+64]
    003a8aecstr x2, [sp+72]
    003a8af0ldr x0, [sp+40]
    003a8af4ldur x29, [sp-8]
    003a8af8ldr x30, [sp], 128
    003a8afcret x30
    003a8b00
    003a8b00loc_3a8b00:
    003a8b00adrp x0, 0x24d000
    003a8b04add x0, x0, 2944
    003a8b08adrp x1, 0x36a000
    003a8b0cadd x1, x1, 3536
    003a8b10bl runtime.gopanic
    003a8b14hint
    003a8b18
    003a8b18loc_3a8b18:
    003a8b18stp x0, x1, [sp+8]
    003a8b1cstp x2, x3, [sp+24]
    003a8b20mov x3, x30
    003a8b24bl runtime.morestack_noctxt.abi0
    003a8b28ldp x0, x1, [sp+8]
    003a8b2cldp x2, x3, [sp+24]
    003a8b30b 0x3a8a60
    003a8b34udf 0
    003a8b38udf 0
    003a8b3cudf 0
    003a8a60
    003a8b40
    003a8b40golang.org/x/crypto/internal/poly1305.(*MAC).Sum: ; void golang.org/x/crypto/internal/poly1305.(*MAC).Sum(golang.org/x/crypto/internal/poly1305.MAC * h, struct []uint8 b)
    003a8b40ldr x16, [x28+16]
    003a8b44sub x17, sp, 80
    003a8b48subs xzr, x17, x16
    003a8b4cb.ls 0x3a8c6c
    003a8b50str x30, [sp-208]!
    003a8b54stur x29, [sp-8]
    003a8b58sub x29, sp, 8
    003a8b5cstr x0, [sp+216]
    003a8b60str x1, [sp+224]
    003a8b64str x2, [sp+232]
    003a8b68str x3, [sp+240]
    003a8b6cstr xzr, [sp+88]
    003a8b70stp xzr, xzr, [sp+96]
    003a8b74stp xzr, xzr, [sp+56]
    003a8b78ldr x0, [sp+216]
    003a8b7cldrsb x27, [x0]
    003a8b80str x0, [sp+136]
    003a8b84add x1, sp, 56
    003a8b88bl golang.org/x/crypto/internal/poly1305.(*macGeneric).Sum
    003a8b8cldr x2, [sp+216]
    003a8b90ldrsb x27, [x2]
    003a8b94orr x3, xzr, 1
    003a8b98strb w3, [x2+80]
    003a8b9cadd x2, sp, 56
    003a8ba0ldrsb x27, [x2]
    003a8ba4b 0x3a8ba8
    003a8ba8
    003a8ba8loc_3a8ba8:
    003a8ba8str x2, [sp+168]
    003a8bacorr x5, xzr, 16
    003a8bb0str x5, [sp+176]
    003a8bb4str x5, [sp+184]
    003a8bb8ldr x2, [sp+240]
    003a8bbcldr x0, [sp+224]
    003a8bc0ldr x5, [sp+232]
    003a8bc4str x0, [sp+112]
    003a8bc8str x5, [sp+120]
    003a8bccstr x2, [sp+128]
    003a8bd0ldr x6, [sp+176]
    003a8bd4add x1, x5, x6
    003a8bd8str x1, [sp+80]
    003a8bdcsubs xzr, x2, x1
    003a8be0b.hs 0x3a8be8
    003a8be4b 0x3a8bf0
    003a8be8
    003a8be8loc_3a8be8:
    003a8be8str x1, [sp+120]
    003a8becb 0x3a8c10
    003a8bf0
    003a8bf0loc_3a8bf0:
    003a8bf0ldr x3, [sp+176]
    003a8bf4adrp x4, 0x24d000
    003a8bf8add x4, x4, 3072
    003a8bfcbl runtime.growslice
    003a8c00str x0, [sp+112]
    003a8c04str x1, [sp+120]
    003a8c08str x2, [sp+128]
    003a8c0cb 0x3a8c10
    003a8c10
    003a8c10loc_3a8c10:
    003a8c10ldr x3, [sp+176]
    003a8c14str x3, [sp+72]
    003a8c18ldr x3, [sp+80]
    003a8c1cldr x4, [sp+176]
    003a8c20sub x3, x3, x4
    003a8c24ldr x4, [sp+112]
    003a8c28add x0, x4, x3
    003a8c2cstr x0, [sp+192]
    003a8c30ldr x2, [sp+72]
    003a8c34ldr x1, [sp+168]
    003a8c38bl runtime.memmove
    003a8c3cldr x0, [sp+112]
    003a8c40ldr x1, [sp+120]
    003a8c44ldr x2, [sp+128]
    003a8c48str x0, [sp+144]
    003a8c4cstr x1, [sp+152]
    003a8c50str x2, [sp+160]
    003a8c54str x0, [sp+88]
    003a8c58str x1, [sp+96]
    003a8c5cstr x2, [sp+104]
    003a8c60ldur x29, [sp-8]
    003a8c64ldr x30, [sp], 208
    003a8c68ret x30
    003a8c6c
    003a8c6cloc_3a8c6c:
    003a8c6cstp x0, x1, [sp+8]
    003a8c70stp x2, x3, [sp+24]
    003a8c74mov x3, x30
    003a8c78bl runtime.morestack_noctxt.abi0
    003a8c7cldp x0, x1, [sp+8]
    003a8c80ldp x2, x3, [sp+24]
    003a8c84b 0x3a8b40
    003a8c88udf 0
    003a8c8cudf 0
    003a8b40
    003a8c90
    003a8c90golang.org/x/crypto/internal/poly1305.(*MAC).Verify: ; void golang.org/x/crypto/internal/poly1305.(*MAC).Verify(golang.org/x/crypto/internal/poly1305.MAC * h, struct []uint8 expected)
    003a8c90ldr x16, [x28+16]
    003a8c94subs xzr, sp, x16
    003a8c98b.ls 0x3a8d30
    003a8c9cstr x30, [sp-128]!
    003a8ca0stur x29, [sp-8]
    003a8ca4sub x29, sp, 8
    003a8ca8str x0, [sp+136]
    003a8cacstr x1, [sp+144]
    003a8cb0str x2, [sp+152]
    003a8cb4str x3, [sp+160]
    003a8cb8strb wzr, [sp+63]
    003a8cbcstp xzr, xzr, [sp+64]
    003a8cc0ldr x0, [sp+136]
    003a8cc4ldrsb x27, [x0]
    003a8cc8str x0, [sp+88]
    003a8cccadd x1, sp, 64
    003a8cd0bl golang.org/x/crypto/internal/poly1305.(*macGeneric).Sum
    003a8cd4ldr x2, [sp+136]
    003a8cd8ldrsb x27, [x2]
    003a8cdcorr x3, xzr, 1
    003a8ce0strb w3, [x2+80]
    003a8ce4add x3, sp, 64
    003a8ce8ldrsb x27, [x3]
    003a8cecb 0x3a8cf0
    003a8cf0
    003a8cf0loc_3a8cf0:
    003a8cf0str x3, [sp+96]
    003a8cf4orr x5, xzr, 16
    003a8cf8str x5, [sp+104]
    003a8cfcstr x5, [sp+112]
    003a8d00ldr x0, [sp+144]
    003a8d04ldr x1, [sp+152]
    003a8d08ldr x2, [sp+160]
    003a8d0cmov x4, x5
    003a8d10bl crypto/subtle.ConstantTimeCompare
    003a8d14str x0, [sp+80]
    003a8d18subs xzr, x0, 1
    003a8d1ccset x0, eq
    003a8d20strb w0, [sp+63]
    003a8d24ldur x29, [sp-8]
    003a8d28ldr x30, [sp], 128
    003a8d2cret x30
    003a8d30
    003a8d30loc_3a8d30:
    003a8d30stp x0, x1, [sp+8]
    003a8d34stp x2, x3, [sp+24]
    003a8d38mov x3, x30
    003a8d3cbl runtime.morestack_noctxt.abi0
    003a8d40ldp x0, x1, [sp+8]
    003a8d44ldp x2, x3, [sp+24]
    003a8d48b 0x3a8c90
    003a8d4cudf 0
    003a8c90
    003a8d50
    003a8d50golang.org/x/crypto/internal/poly1305.(*macGeneric).Write: ; void golang.org/x/crypto/internal/poly1305.(*macGeneric).Write(golang.org/x/crypto/internal/poly1305.macGeneric * h, struct []uint8 p)
    003a8d50ldr x16, [x28+16]
    003a8d54sub x17, sp, 160
    003a8d58subs xzr, x17, x16
    003a8d5cb.ls 0x3a9154
    003a8d60sub x20, sp, 288
    003a8d64stp x29, x30, [x20-8]
    003a8d68add sp, x20, 0
    003a8d6csub x29, sp, 8
    003a8d70str x0, [sp+296]
    003a8d74str x1, [sp+304]
    003a8d78str x2, [sp+312]
    003a8d7cstr x3, [sp+320]
    003a8d80str xzr, [sp+48]
    003a8d84stp xzr, xzr, [sp+128]
    003a8d88ldr x4, [sp+312]
    003a8d8cstr x4, [sp+56]
    003a8d90ldr x4, [sp+296]
    003a8d94ldrsb x27, [x4]
    003a8d98ldr x4, [x4+72]
    003a8d9csubs xzr, x4, 0
    003a8da0b.gt 0x3a8da8
    003a8da4b 0x3a8f5c
    003a8da8
    003a8da8loc_3a8da8:
    003a8da8ldr x4, [sp+296]
    003a8dacldrsb x27, [x4]
    003a8db0ldr x0, [x4+72]
    003a8db4str x0, [sp+88]
    003a8db8ldr x4, [sp+296]
    003a8dbcldrsb x27, [x4]
    003a8dc0add x4, x4, 56
    003a8dc4ldrsb x27, [x4]
    003a8dc8subs xzr, x0, 16
    003a8dccb.ls 0x3a8dd4
    003a8dd0b 0x3a9148
    003a8dd4
    003a8dd4loc_3a8dd4:
    003a8dd4orr x5, xzr, 16
    003a8dd8sub x6, x5, x0
    003a8ddcsub x7, xzr, x6
    003a8de0and x7, x0, x7, asr #63
    003a8de4add x4, x4, x7
    003a8de8str x4, [sp+144]
    003a8decstr x6, [sp+152]
    003a8df0str x6, [sp+160]
    003a8df4str x4, [sp+256]
    003a8df8str x6, [sp+264]
    003a8dfcstr x6, [sp+272]
    003a8e00ldr x4, [sp+312]
    003a8e04ldr x6, [sp+304]
    003a8e08ldr x7, [sp+320]
    003a8e0cstr x6, [sp+232]
    003a8e10str x4, [sp+240]
    003a8e14str x7, [sp+248]
    003a8e18ldr x6, [sp+264]
    003a8e1cstr x6, [sp+120]
    003a8e20subs xzr, x4, x6
    003a8e24b.lt 0x3a8e2c
    003a8e28b 0x3a8e34
    003a8e2c
    003a8e2cloc_3a8e2c:
    003a8e2cstr x4, [sp+120]
    003a8e30b 0x3a8e38
    003a8e34
    003a8e34loc_3a8e34:
    003a8e34b 0x3a8e38
    003a8e38
    003a8e38loc_3a8e38:
    003a8e38ldr x4, [sp+232]
    003a8e3cldr x6, [sp+256]
    003a8e40subs xzr, x6, x4
    003a8e44b.ne 0x3a8e4c
    003a8e48b 0x3a8e68
    003a8e4c
    003a8e4cloc_3a8e4c:
    003a8e4cldr x3, [sp+120]
    003a8e50str x3, [sp+112]
    003a8e54ldr x2, [sp+112]
    003a8e58ldr x0, [sp+256]
    003a8e5cldr x1, [sp+232]
    003a8e60bl runtime.memmove
    003a8e64b 0x3a8e6c
    003a8e68
    003a8e68loc_3a8e68:
    003a8e68b 0x3a8e6c
    003a8e6c
    003a8e6cloc_3a8e6c:
    003a8e6cldr x0, [sp+120]
    003a8e70str x0, [sp+72]
    003a8e74ldr x4, [sp+296]
    003a8e78ldrsb x27, [x4]
    003a8e7cldr x4, [x4+72]
    003a8e80add x4, x4, x0
    003a8e84subs xzr, x4, 16
    003a8e88b.lt 0x3a8e90
    003a8e8cb 0x3a8ed0
    003a8e90
    003a8e90loc_3a8e90:
    003a8e90ldr x3, [sp+296]
    003a8e94ldrsb x27, [x3]
    003a8e98ldr x4, [sp+296]
    003a8e9cldrsb x27, [x4]
    003a8ea0ldr x4, [x4+72]
    003a8ea4add x4, x4, x0
    003a8ea8str x4, [x3+72]
    003a8eacldr x3, [sp+56]
    003a8eb0str x3, [sp+48]
    003a8eb4stp xzr, xzr, [sp+128]
    003a8eb8ldr x0, [sp+48]
    003a8ebcmov x1, xzr
    003a8ec0mov x2, xzr
    003a8ec4ldp x29, x30, [sp-8]
    003a8ec8add sp, sp, 288
    003a8eccret x30
    003a8ed0
    003a8ed0loc_3a8ed0:
    003a8ed0ldr x1, [sp+312]
    003a8ed4ldr x4, [sp+304]
    003a8ed8ldr x5, [sp+320]
    003a8edcb 0x3a8ee0
    003a8ee0
    003a8ee0loc_3a8ee0:
    003a8ee0subs xzr, x1, x0
    003a8ee4b.hs 0x3a8eec
    003a8ee8b 0x3a9144
    003a8eec
    003a8eecloc_3a8eec:
    003a8eecsub x5, x5, x0
    003a8ef0sub x6, x1, x0
    003a8ef4sub x7, xzr, x5
    003a8ef8and x7, x0, x7, asr #63
    003a8efcadd x4, x4, x7
    003a8f00str x4, [sp+304]
    003a8f04str x6, [sp+312]
    003a8f08str x5, [sp+320]
    003a8f0cldr x4, [sp+296]
    003a8f10ldrsb x27, [x4]
    003a8f14str xzr, [x4+72]
    003a8f18ldr x4, [sp+296]
    003a8f1cldrsb x27, [x4]
    003a8f20add x4, x4, 56
    003a8f24ldrsb x27, [x4]
    003a8f28b 0x3a8f2c
    003a8f2c
    003a8f2cloc_3a8f2c:
    003a8f2cstr x4, [sp+144]
    003a8f30orr x4, xzr, 16
    003a8f34str x4, [sp+152]
    003a8f38str x4, [sp+160]
    003a8f3cldr x0, [sp+296]
    003a8f40ldrsb x27, [x0]
    003a8f44str x0, [sp+224]
    003a8f48ldr x1, [sp+144]
    003a8f4cldr x2, [sp+152]
    003a8f50ldr x3, [sp+160]
    003a8f54bl golang.org/x/crypto/internal/poly1305.updateGeneric
    003a8f58b 0x3a8f60
    003a8f5c
    003a8f5cloc_3a8f5c:
    003a8f5cb 0x3a8f60
    003a8f60
    003a8f60loc_3a8f60:
    003a8f60ldr x4, [sp+312]
    003a8f64str x4, [sp+88]
    003a8f68ldr x5, [sp+312]
    003a8f6cstr x5, [sp+80]
    003a8f70and x5, x5, 15
    003a8f74sub x1, x4, x5
    003a8f78str x1, [sp+64]
    003a8f7csubs xzr, x1, 0
    003a8f80b.gt 0x3a8f88
    003a8f84b 0x3a900c
    003a8f88
    003a8f88loc_3a8f88:
    003a8f88ldr x2, [sp+320]
    003a8f8cldr x4, [sp+304]
    003a8f90subs xzr, x2, x1
    003a8f94b.hs 0x3a8f9c
    003a8f98b 0x3a9140
    003a8f9c
    003a8f9cloc_3a8f9c:
    003a8f9cb 0x3a8fa0
    003a8fa0
    003a8fa0loc_3a8fa0:
    003a8fa0str x4, [sp+144]
    003a8fa4str x1, [sp+152]
    003a8fa8str x2, [sp+160]
    003a8facldr x0, [sp+296]
    003a8fb0ldrsb x27, [x0]
    003a8fb4str x0, [sp+216]
    003a8fb8ldr x1, [sp+144]
    003a8fbcldr x2, [sp+152]
    003a8fc0ldr x3, [sp+160]
    003a8fc4bl golang.org/x/crypto/internal/poly1305.updateGeneric
    003a8fc8ldr x0, [sp+64]
    003a8fccldr x1, [sp+312]
    003a8fd0ldr x4, [sp+304]
    003a8fd4ldr x5, [sp+320]
    003a8fd8b 0x3a8fdc
    003a8fdc
    003a8fdcloc_3a8fdc:
    003a8fdcsubs xzr, x1, x0
    003a8fe0b.hs 0x3a8fe8
    003a8fe4b 0x3a913c
    003a8fe8
    003a8fe8loc_3a8fe8:
    003a8fe8sub x3, x5, x0
    003a8fecsub x5, x1, x0
    003a8ff0sub x6, xzr, x3
    003a8ff4and x6, x0, x6, asr #63
    003a8ff8add x4, x4, x6
    003a8ffcstr x4, [sp+304]
    003a9000str x5, [sp+312]
    003a9004str x3, [sp+320]
    003a9008b 0x3a9010
    003a900c
    003a900cloc_3a900c:
    003a900cb 0x3a9010
    003a9010
    003a9010loc_3a9010:
    003a9010ldr x3, [sp+312]
    003a9014str x3, [sp+80]
    003a9018cbnz x3, 0x3a9020
    003a901cb 0x3a910c
    003a9020
    003a9020loc_3a9020:
    003a9020ldr x3, [sp+296]
    003a9024ldrsb x27, [x3]
    003a9028ldr x0, [x3+72]
    003a902cstr x0, [sp+80]
    003a9030ldr x3, [sp+296]
    003a9034ldrsb x27, [x3]
    003a9038add x3, x3, 56
    003a903cldrsb x27, [x3]
    003a9040subs xzr, x0, 16
    003a9044b.ls 0x3a904c
    003a9048b 0x3a9134
    003a904c
    003a904cloc_3a904c:
    003a904corr x4, xzr, 16
    003a9050sub x4, x4, x0
    003a9054sub x5, xzr, x4
    003a9058and x5, x0, x5, asr #63
    003a905cadd x3, x3, x5
    003a9060str x3, [sp+144]
    003a9064str x4, [sp+152]
    003a9068str x4, [sp+160]
    003a906cstr x3, [sp+192]
    003a9070str x4, [sp+200]
    003a9074str x4, [sp+208]
    003a9078ldr x3, [sp+312]
    003a907cldr x4, [sp+304]
    003a9080ldr x5, [sp+320]
    003a9084str x4, [sp+168]
    003a9088str x3, [sp+176]
    003a908cstr x5, [sp+184]
    003a9090ldr x4, [sp+200]
    003a9094str x4, [sp+104]
    003a9098subs xzr, x4, x3
    003a909cb.gt 0x3a90a4
    003a90a0b 0x3a90ac
    003a90a4
    003a90a4loc_3a90a4:
    003a90a4str x3, [sp+104]
    003a90a8b 0x3a90b0
    003a90ac
    003a90acloc_3a90ac:
    003a90acb 0x3a90b0
    003a90b0
    003a90b0loc_3a90b0:
    003a90b0ldr x3, [sp+192]
    003a90b4ldr x4, [sp+168]
    003a90b8subs xzr, x4, x3
    003a90bcb.ne 0x3a90c4
    003a90c0b 0x3a90e0
    003a90c4
    003a90c4loc_3a90c4:
    003a90c4ldr x3, [sp+104]
    003a90c8str x3, [sp+96]
    003a90ccldr x2, [sp+96]
    003a90d0ldr x1, [sp+168]
    003a90d4ldr x0, [sp+192]
    003a90d8bl runtime.memmove
    003a90dcb 0x3a90e4
    003a90e0
    003a90e0loc_3a90e0:
    003a90e0b 0x3a90e4
    003a90e4
    003a90e4loc_3a90e4:
    003a90e4ldr x3, [sp+104]
    003a90e8str x3, [sp+88]
    003a90ecldr x4, [sp+296]
    003a90f0ldrsb x27, [x4]
    003a90f4ldr x5, [sp+296]
    003a90f8ldrsb x27, [x5]
    003a90fcldr x4, [x4+72]
    003a9100add x3, x4, x3
    003a9104str x3, [x5+72]
    003a9108b 0x3a9110
    003a910c
    003a910cloc_3a910c:
    003a910cb 0x3a9110
    003a9110
    003a9110loc_3a9110:
    003a9110ldr x3, [sp+56]
    003a9114str x3, [sp+48]
    003a9118stp xzr, xzr, [sp+128]
    003a911cldr x0, [sp+48]
    003a9120mov x1, xzr
    003a9124mov x2, xzr
    003a9128ldp x29, x30, [sp-8]
    003a912cadd sp, sp, 288
    003a9130ret x30
    003a9134
    003a9134loc_3a9134:
    003a9134orr x1, xzr, 16
    003a9138bl runtime.panicSliceB
    003a913c
    003a913cloc_3a913c:
    003a913cbl runtime.panicSliceB
    003a9140
    003a9140loc_3a9140:
    003a9140bl runtime.panicSliceAcap
    003a9144
    003a9144loc_3a9144:
    003a9144bl runtime.panicSliceB
    003a9148
    003a9148loc_3a9148:
    003a9148orr x1, xzr, 16
    003a914cbl runtime.panicSliceB
    003a9150hint
    003a9154
    003a9154loc_3a9154:
    003a9154stp x0, x1, [sp+8]
    003a9158stp x2, x3, [sp+24]
    003a915cmov x3, x30
    003a9160bl runtime.morestack_noctxt.abi0
    003a9164ldp x0, x1, [sp+8]
    003a9168ldp x2, x3, [sp+24]
    003a916cb 0x3a8d50
    003a8d50
    003a9170
    003a9170golang.org/x/crypto/internal/poly1305.(*macGeneric).Sum: ; void golang.org/x/crypto/internal/poly1305.(*macGeneric).Sum(golang.org/x/crypto/internal/poly1305.macGeneric * h, uint8[16] * out)
    003a9170ldr x16, [x28+16]
    003a9174sub x17, sp, 16
    003a9178subs xzr, x17, x16
    003a917cb.ls 0x3a9250
    003a9180str x30, [sp-144]!
    003a9184stur x29, [sp-8]
    003a9188sub x29, sp, 8
    003a918cstr x0, [sp+152]
    003a9190str x1, [sp+160]
    003a9194ldrsb x27, [x0]
    003a9198ldp x4, x5, [x0]
    003a919cldp x6, x7, [x0+16]
    003a91a0ldp x8, x9, [x0+32]
    003a91a4stp x4, x5, [sp+48]
    003a91a8stp x6, x7, [sp+64]
    003a91acstp x8, x9, [sp+80]
    003a91b0ldr x4, [x0+48]
    003a91b4str x4, [sp+96]
    003a91b8ldr x4, [sp+152]
    003a91bcldrsb x27, [x4]
    003a91c0ldr x4, [x4+72]
    003a91c4subs xzr, x4, 0
    003a91c8b.gt 0x3a91d0
    003a91ccb 0x3a9224
    003a91d0
    003a91d0loc_3a91d0:
    003a91d0ldr x4, [sp+152]
    003a91d4ldrsb x27, [x4]
    003a91d8ldr x1, [x4+72]
    003a91dcstr x1, [sp+104]
    003a91e0ldr x4, [sp+152]
    003a91e4ldrsb x27, [x4]
    003a91e8add x4, x4, 56
    003a91ecldrsb x27, [x4]
    003a91f0subs xzr, x1, 16
    003a91f4b.ls 0x3a91fc
    003a91f8b 0x3a9244
    003a91fc
    003a91fcloc_3a91fc:
    003a91fcb 0x3a9200
    003a9200
    003a9200loc_3a9200:
    003a9200str x4, [sp+112]
    003a9204str x1, [sp+120]
    003a9208orr x3, xzr, 16
    003a920cstr x3, [sp+128]
    003a9210add x0, sp, 48
    003a9214mov x2, x1
    003a9218mov x1, x4
    003a921cbl golang.org/x/crypto/internal/poly1305.updateGeneric
    003a9220b 0x3a9228
    003a9224
    003a9224loc_3a9224:
    003a9224b 0x3a9228
    003a9228
    003a9228loc_3a9228:
    003a9228ldr x0, [sp+160]
    003a922cadd x1, sp, 48
    003a9230add x2, sp, 88
    003a9234bl golang.org/x/crypto/internal/poly1305.finalize
    003a9238ldur x29, [sp-8]
    003a923cldr x30, [sp], 144
    003a9240ret x30
    003a9244
    003a9244loc_3a9244:
    003a9244orr x2, xzr, 16
    003a9248bl runtime.panicSliceAlen
    003a924chint
    003a9250
    003a9250loc_3a9250:
    003a9250stp x0, x1, [sp+8]
    003a9254mov x3, x30
    003a9258bl runtime.morestack_noctxt.abi0
    003a925cldp x0, x1, [sp+8]
    003a9260b 0x3a9170
    003a9264udf 0
    003a9268udf 0
    003a926cudf 0
    003a9170
    003a9270
    003a9270golang.org/x/crypto/internal/poly1305.initialize: ; void golang.org/x/crypto/internal/poly1305.initialize(uint8[32] * key, golang.org/x/crypto/internal/poly1305.macState * m)
    003a9270ldr x16, [x28+16]
    003a9274subs xzr, sp, x16
    003a9278b.ls 0x3a9394
    003a927cstr x30, [sp-80]!
    003a9280stur x29, [sp-8]
    003a9284sub x29, sp, 8
    003a9288str x0, [sp+88]
    003a928cstr x1, [sp+96]
    003a9290ldrsb x27, [x0]
    003a9294b 0x3a9298
    003a9298
    003a9298loc_3a9298:
    003a9298b 0x3a929c
    003a929c
    003a929cloc_3a929c:
    003a929cstr x0, [sp+48]
    003a92a0orr x1, xzr, 8
    003a92a4str x1, [sp+56]
    003a92a8orr x2, xzr, 32
    003a92acstr x2, [sp+64]
    003a92b0bl encoding/binary.littleEndian.Uint64
    003a92b4str x0, [sp+40]
    003a92b8ldr x3, [sp+96]
    003a92bcldrsb x27, [x3]
    003a92c0movn x4, 0xf0000000
    003a92c4movk x4, 0xfffc00000000
    003a92c8movk x4, 0xfff000000000000
    003a92ccand x4, x0, x4
    003a92d0str x4, [x3+24]
    003a92d4ldr x3, [sp+88]
    003a92d8ldrsb x27, [x3]
    003a92dcb 0x3a92e0
    003a92e0
    003a92e0loc_3a92e0:
    003a92e0b 0x3a92e4
    003a92e4
    003a92e4loc_3a92e4:
    003a92e4add x0, x3, 8
    003a92e8str x0, [sp+48]
    003a92ecorr x1, xzr, 8
    003a92f0str x1, [sp+56]
    003a92f4orr x2, xzr, 24
    003a92f8str x2, [sp+64]
    003a92fcbl encoding/binary.littleEndian.Uint64
    003a9300str x0, [sp+40]
    003a9304ldr x3, [sp+96]
    003a9308ldrsb x27, [x3]
    003a930cand x4, x0, 0xffffffc0ffffffc
    003a9310str x4, [x3+32]
    003a9314ldr x3, [sp+88]
    003a9318ldrsb x27, [x3]
    003a931cb 0x3a9320
    003a9320
    003a9320loc_3a9320:
    003a9320b 0x3a9324
    003a9324
    003a9324loc_3a9324:
    003a9324add x0, x3, 16
    003a9328str x0, [sp+48]
    003a932corr x1, xzr, 8
    003a9330str x1, [sp+56]
    003a9334orr x2, xzr, 16
    003a9338str x2, [sp+64]
    003a933cbl encoding/binary.littleEndian.Uint64
    003a9340str x0, [sp+40]
    003a9344ldr x3, [sp+96]
    003a9348ldrsb x27, [x3]
    003a934cstr x0, [x3+40]
    003a9350ldr x3, [sp+88]
    003a9354ldrsb x27, [x3]
    003a9358b 0x3a935c
    003a935c
    003a935cloc_3a935c:
    003a935cadd x0, x3, 24
    003a9360str x0, [sp+48]
    003a9364orr x2, xzr, 8
    003a9368str x2, [sp+56]
    003a936cstr x2, [sp+64]
    003a9370mov x1, x2
    003a9374bl encoding/binary.littleEndian.Uint64
    003a9378str x0, [sp+40]
    003a937cldr x3, [sp+96]
    003a9380ldrsb x27, [x3]
    003a9384str x0, [x3+48]
    003a9388ldur x29, [sp-8]
    003a938cldr x30, [sp], 80
    003a9390ret x30
    003a9394
    003a9394loc_3a9394:
    003a9394stp x0, x1, [sp+8]
    003a9398mov x3, x30
    003a939cbl runtime.morestack_noctxt.abi0
    003a93a0ldp x0, x1, [sp+8]
    003a93a4b 0x3a9270
    003a93a8udf 0
    003a93acudf 0
    003a9270
    003a93b0
    003a93b0golang.org/x/crypto/internal/poly1305.mul64: ; void golang.org/x/crypto/internal/poly1305.mul64(uint64 a, uint64 b)
    003a93b0ldr x16, [x28+16]
    003a93b4subs xzr, sp, x16
    003a93b8b.ls 0x3a9414
    003a93bcstr x30, [sp-96]!
    003a93c0stur x29, [sp-8]
    003a93c4sub x29, sp, 8
    003a93c8str x0, [sp+104]
    003a93ccstr x1, [sp+112]
    003a93d0stp xzr, xzr, [sp+24]
    003a93d4bl golang.org/x/crypto/internal/poly1305.bitsMul64
    003a93d8str x0, [sp+64]
    003a93dcstr x1, [sp+56]
    003a93e0str x0, [sp+80]
    003a93e4str x1, [sp+72]
    003a93e8str x0, [sp+48]
    003a93ecstr x1, [sp+40]
    003a93f0stp xzr, xzr, [sp+24]
    003a93f4str x1, [sp+24]
    003a93f8ldr x2, [sp+48]
    003a93fcstr x2, [sp+32]
    003a9400mov x0, x1
    003a9404mov x1, x2
    003a9408ldur x29, [sp-8]
    003a940cldr x30, [sp], 96
    003a9410ret x30
    003a9414
    003a9414loc_3a9414:
    003a9414stp x0, x1, [sp+8]
    003a9418mov x3, x30
    003a941cbl runtime.morestack_noctxt.abi0
    003a9420ldp x0, x1, [sp+8]
    003a9424b 0x3a93b0
    003a9428udf 0
    003a942cudf 0
    003a93b0
    003a9430
    003a9430golang.org/x/crypto/internal/poly1305.add128: ; void golang.org/x/crypto/internal/poly1305.add128(golang.org/x/crypto/internal/poly1305.uint128 a, golang.org/x/crypto/internal/poly1305.uint128 b)
    003a9430ldr x16, [x28+16]
    003a9434subs xzr, sp, x16
    003a9438b.ls 0x3a94f0
    003a943cstr x30, [sp-128]!
    003a9440stur x29, [sp-8]
    003a9444sub x29, sp, 8
    003a9448str x0, [sp+136]
    003a944cstr x1, [sp+144]
    003a9450str x2, [sp+152]
    003a9454str x3, [sp+160]
    003a9458stp xzr, xzr, [sp+32]
    003a945cldr x0, [sp+136]
    003a9460mov x1, x2
    003a9464mov x2, xzr
    003a9468bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a946cstr x0, [sp+112]
    003a9470str x1, [sp+104]
    003a9474str x0, [sp+96]
    003a9478str x1, [sp+88]
    003a947cstr x0, [sp+48]
    003a9480str x1, [sp+64]
    003a9484ldr x0, [sp+144]
    003a9488ldr x3, [sp+160]
    003a948cmov x2, x1
    003a9490mov x1, x3
    003a9494bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9498str x0, [sp+104]
    003a949cstr x1, [sp+112]
    003a94a0str x0, [sp+80]
    003a94a4str x1, [sp+72]
    003a94a8str x0, [sp+56]
    003a94acstr x1, [sp+64]
    003a94b0cbnz x1, 0x3a94d8
    003a94b4b 0x3a94b8
    003a94b8
    003a94b8loc_3a94b8:
    003a94b8stp xzr, xzr, [sp+32]
    003a94bcldr x0, [sp+48]
    003a94c0str x0, [sp+32]
    003a94c4ldr x1, [sp+56]
    003a94c8str x1, [sp+40]
    003a94ccldur x29, [sp-8]
    003a94d0ldr x30, [sp], 128
    003a94d4ret x30
    003a94d8
    003a94d8loc_3a94d8:
    003a94d8adrp x0, 0x24c000
    003a94dcadd x0, x0, 2944
    003a94e0adrp x1, 0x369000
    003a94e4add x1, x1, 3552
    003a94e8bl runtime.gopanic
    003a94echint
    003a94f0
    003a94f0loc_3a94f0:
    003a94f0stp x0, x1, [sp+8]
    003a94f4stp x2, x3, [sp+24]
    003a94f8mov x3, x30
    003a94fcbl runtime.morestack_noctxt.abi0
    003a9500ldp x0, x1, [sp+8]
    003a9504ldp x2, x3, [sp+24]
    003a9508b 0x3a9430
    003a950cudf 0
    003a9430
    003a9510
    003a9510golang.org/x/crypto/internal/poly1305.shiftRightBy2: ; void golang.org/x/crypto/internal/poly1305.shiftRightBy2(golang.org/x/crypto/internal/poly1305.uint128 a)
    003a9510str x30, [sp-32]!
    003a9514stur x29, [sp-8]
    003a9518sub x29, sp, 8
    003a951cstr x0, [sp+40]
    003a9520str x1, [sp+48]
    003a9524stp xzr, xzr, [sp+8]
    003a9528and x2, x1, 3
    003a952cextr x0, x2, x0, 2
    003a9530str x0, [sp+40]
    003a9534ubfm x1, x1, 2, 63
    003a9538str x1, [sp+48]
    003a953cstr x0, [sp+8]
    003a9540str x1, [sp+16]
    003a9544add x29, sp, 24
    003a9548add sp, sp, 32
    003a954cret x30
    003a9510
    003a9550
    003a9550golang.org/x/crypto/internal/poly1305.updateGeneric: ; void golang.org/x/crypto/internal/poly1305.updateGeneric(golang.org/x/crypto/internal/poly1305.macState * state, struct []uint8 msg)
    003a9550ldr x16, [x28+16]
    003a9554sub x17, sp, 496
    003a9558subs xzr, x17, x16
    003a955cb.ls 0x3a9b94
    003a9560sub x20, sp, 624
    003a9564stp x29, x30, [x20-8]
    003a9568add sp, x20, 0
    003a956csub x29, sp, 8
    003a9570str x0, [sp+632]
    003a9574str x1, [sp+640]
    003a9578str x2, [sp+648]
    003a957cstr x3, [sp+656]
    003a9580ldrsb x27, [x0]
    003a9584ldr x3, [x0]
    003a9588str x3, [sp+280]
    003a958cldrsb x27, [x0]
    003a9590ldr x3, [x0+8]
    003a9594str x3, [sp+240]
    003a9598ldrsb x27, [x0]
    003a959cldr x3, [x0+16]
    003a95a0str x3, [sp+200]
    003a95a4ldr x3, [sp+632]
    003a95a8ldrsb x27, [x3]
    003a95acldr x3, [x3+24]
    003a95b0str x3, [sp+96]
    003a95b4ldr x3, [sp+632]
    003a95b8ldrsb x27, [x3]
    003a95bcldr x3, [x3+32]
    003a95c0str x3, [sp+88]
    003a95c4b 0x3a95c8
    003a95c8
    003a95c8loc_3a95c8:
    003a95c8ldr x3, [sp+648]
    003a95ccstr x3, [sp+376]
    003a95d0cbnz x3, 0x3a95d8
    003a95d4b 0x3a9b0c
    003a95d8
    003a95d8loc_3a95d8:
    003a95d8str xzr, [sp+304]
    003a95dcldr x3, [sp+648]
    003a95e0str x3, [sp+368]
    003a95e4subs xzr, x3, 16
    003a95e8b.ge 0x3a95f0
    003a95ecb 0x3a9710
    003a95f0
    003a95f0loc_3a95f0:
    003a95f0ldr x2, [sp+656]
    003a95f4ldr x0, [sp+640]
    003a95f8subs xzr, x2, 8
    003a95fcb.hs 0x3a9604
    003a9600b 0x3a9b88
    003a9604
    003a9604loc_3a9604:
    003a9604b 0x3a9608
    003a9608
    003a9608loc_3a9608:
    003a9608str x0, [sp+592]
    003a960corr x1, xzr, 8
    003a9610str x1, [sp+600]
    003a9614str x2, [sp+608]
    003a9618bl encoding/binary.littleEndian.Uint64
    003a961cstr x0, [sp+360]
    003a9620ldr x3, [sp+280]
    003a9624mov x1, x0
    003a9628mov x2, xzr
    003a962cmov x0, x3
    003a9630bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9634str x0, [sp+352]
    003a9638str x1, [sp+344]
    003a963cstr x0, [sp+320]
    003a9640str x1, [sp+312]
    003a9644str x0, [sp+280]
    003a9648str x1, [sp+304]
    003a964cldr x2, [sp+656]
    003a9650ldr x3, [sp+640]
    003a9654subs xzr, x2, 16
    003a9658b.hs 0x3a9660
    003a965cb 0x3a9b80
    003a9660
    003a9660loc_3a9660:
    003a9660b 0x3a9664
    003a9664
    003a9664loc_3a9664:
    003a9664sub x2, x2, 8
    003a9668sub x4, xzr, x2
    003a966csbfm x4, x4, 63, 63
    003a9670and x4, x4, 8
    003a9674add x0, x3, x4
    003a9678str x0, [sp+592]
    003a967corr x1, xzr, 8
    003a9680str x1, [sp+600]
    003a9684str x2, [sp+608]
    003a9688bl encoding/binary.littleEndian.Uint64
    003a968cstr x0, [sp+344]
    003a9690ldr x3, [sp+240]
    003a9694ldr x2, [sp+304]
    003a9698mov x1, x0
    003a969cmov x0, x3
    003a96a0bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a96a4str x0, [sp+352]
    003a96a8str x1, [sp+360]
    003a96acstr x0, [sp+536]
    003a96b0str x1, [sp+528]
    003a96b4str x0, [sp+240]
    003a96b8str x1, [sp+304]
    003a96bcldr x3, [sp+200]
    003a96c0add x3, x1, x3
    003a96c4add x3, x3, 1
    003a96c8str x3, [sp+200]
    003a96ccldr x1, [sp+648]
    003a96d0ldr x3, [sp+640]
    003a96d4ldr x4, [sp+656]
    003a96d8b 0x3a96dc
    003a96dc
    003a96dcloc_3a96dc:
    003a96dcsubs xzr, x1, 16
    003a96e0b.hs 0x3a96e8
    003a96e4b 0x3a9b78
    003a96e8
    003a96e8loc_3a96e8:
    003a96e8sub x2, x4, 16
    003a96ecsub x4, xzr, x2
    003a96f0sub x5, x1, 16
    003a96f4sbfm x4, x4, 63, 63
    003a96f8and x4, x4, 16
    003a96fcadd x3, x3, x4
    003a9700str x3, [sp+640]
    003a9704str x5, [sp+648]
    003a9708str x2, [sp+656]
    003a970cb 0x3a9894
    003a9710
    003a9710loc_3a9710:
    003a9710stp xzr, xzr, [sp+40]
    003a9714add x3, sp, 40
    003a9718ldrsb x27, [x3]
    003a971cb 0x3a9720
    003a9720
    003a9720loc_3a9720:
    003a9720str x3, [sp+592]
    003a9724orr x1, xzr, 16
    003a9728str x1, [sp+600]
    003a972cstr x1, [sp+608]
    003a9730str x3, [sp+568]
    003a9734str x1, [sp+576]
    003a9738str x1, [sp+584]
    003a973cldr x3, [sp+648]
    003a9740ldr x4, [sp+640]
    003a9744ldr x5, [sp+656]
    003a9748str x4, [sp+544]
    003a974cstr x3, [sp+552]
    003a9750str x5, [sp+560]
    003a9754ldr x4, [sp+576]
    003a9758str x4, [sp+336]
    003a975csubs xzr, x3, x4
    003a9760b.lt 0x3a9768
    003a9764b 0x3a9770
    003a9768
    003a9768loc_3a9768:
    003a9768str x3, [sp+336]
    003a976cb 0x3a9774
    003a9770
    003a9770loc_3a9770:
    003a9770b 0x3a9774
    003a9774
    003a9774loc_3a9774:
    003a9774ldr x3, [sp+568]
    003a9778ldr x4, [sp+544]
    003a977csubs xzr, x3, x4
    003a9780b.ne 0x3a9788
    003a9784b 0x3a97a4
    003a9788
    003a9788loc_3a9788:
    003a9788ldr x3, [sp+336]
    003a978cstr x3, [sp+328]
    003a9790ldr x2, [sp+328]
    003a9794ldr x0, [sp+568]
    003a9798ldr x1, [sp+544]
    003a979cbl runtime.memmove
    003a97a0b 0x3a97a8
    003a97a4
    003a97a4loc_3a97a4:
    003a97a4b 0x3a97a8
    003a97a8
    003a97a8loc_3a97a8:
    003a97a8ldr x0, [sp+648]
    003a97acstr x0, [sp+368]
    003a97b0subs xzr, x0, 16
    003a97b4b.lo 0x3a97bc
    003a97b8b 0x3a9b70
    003a97bc
    003a97bcloc_3a97bc:
    003a97bcorr x3, xzr, 1
    003a97c0add x4, sp, 40
    003a97c4strb w3, [x4+x0]
    003a97c8add x0, sp, 40
    003a97ccldrsb x27, [x0]
    003a97d0b 0x3a97d4
    003a97d4
    003a97d4loc_3a97d4:
    003a97d4b 0x3a97d8
    003a97d8
    003a97d8loc_3a97d8:
    003a97d8str x0, [sp+592]
    003a97dcorr x1, xzr, 8
    003a97e0str x1, [sp+600]
    003a97e4orr x2, xzr, 16
    003a97e8str x2, [sp+608]
    003a97ecbl encoding/binary.littleEndian.Uint64
    003a97f0str x0, [sp+360]
    003a97f4ldr x3, [sp+280]
    003a97f8mov x1, x0
    003a97fcmov x2, xzr
    003a9800mov x0, x3
    003a9804bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9808str x0, [sp+352]
    003a980cstr x1, [sp+344]
    003a9810str x0, [sp+520]
    003a9814str x1, [sp+512]
    003a9818str x0, [sp+280]
    003a981cstr x1, [sp+304]
    003a9820add x3, sp, 40
    003a9824ldrsb x27, [x3]
    003a9828b 0x3a982c
    003a982c
    003a982cloc_3a982c:
    003a982cadd x0, x3, 8
    003a9830str x0, [sp+592]
    003a9834orr x2, xzr, 8
    003a9838str x2, [sp+600]
    003a983cstr x2, [sp+608]
    003a9840mov x1, x2
    003a9844bl encoding/binary.littleEndian.Uint64
    003a9848str x0, [sp+344]
    003a984cldr x3, [sp+240]
    003a9850ldr x2, [sp+304]
    003a9854mov x1, x0
    003a9858mov x0, x3
    003a985cbl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9860str x0, [sp+352]
    003a9864str x1, [sp+360]
    003a9868str x0, [sp+504]
    003a986cstr x1, [sp+496]
    003a9870str x0, [sp+240]
    003a9874str x1, [sp+304]
    003a9878ldr x3, [sp+200]
    003a987cadd x3, x3, x1
    003a9880str x3, [sp+200]
    003a9884str xzr, [sp+640]
    003a9888add x27, sp, 648
    003a988cstp xzr, xzr, [x27]
    003a9890b 0x3a9894
    003a9894
    003a9894loc_3a9894:
    003a9894ldr x1, [sp+96]
    003a9898ldr x0, [sp+280]
    003a989cbl golang.org/x/crypto/internal/poly1305.mul64
    003a98a0str x0, [sp+264]
    003a98a4str x1, [sp+272]
    003a98a8ldr x1, [sp+96]
    003a98acldr x0, [sp+240]
    003a98b0bl golang.org/x/crypto/internal/poly1305.mul64
    003a98b4str x0, [sp+224]
    003a98b8str x1, [sp+232]
    003a98bcldr x1, [sp+96]
    003a98c0ldr x0, [sp+200]
    003a98c4bl golang.org/x/crypto/internal/poly1305.mul64
    003a98c8str x0, [sp+184]
    003a98ccstr x1, [sp+192]
    003a98d0ldr x1, [sp+88]
    003a98d4ldr x0, [sp+280]
    003a98d8bl golang.org/x/crypto/internal/poly1305.mul64
    003a98dcstr x0, [sp+248]
    003a98e0str x1, [sp+256]
    003a98e4ldr x1, [sp+88]
    003a98e8ldr x0, [sp+240]
    003a98ecbl golang.org/x/crypto/internal/poly1305.mul64
    003a98f0str x0, [sp+208]
    003a98f4str x1, [sp+216]
    003a98f8ldr x1, [sp+88]
    003a98fcldr x0, [sp+200]
    003a9900bl golang.org/x/crypto/internal/poly1305.mul64
    003a9904str x0, [sp+168]
    003a9908str x1, [sp+176]
    003a990cldr x2, [sp+192]
    003a9910cbnz x2, 0x3a9b5c
    003a9914b 0x3a9918
    003a9918
    003a9918loc_3a9918:
    003a9918cbnz x1, 0x3a9b48
    003a991cb 0x3a9920
    003a9920
    003a9920loc_3a9920:
    003a9920ldr x4, [sp+264]
    003a9924ldr x5, [sp+272]
    003a9928str x4, [sp+152]
    003a992cstr x5, [sp+160]
    003a9930ldr x0, [sp+224]
    003a9934ldr x2, [sp+248]
    003a9938ldr x1, [sp+232]
    003a993cldr x3, [sp+256]
    003a9940bl golang.org/x/crypto/internal/poly1305.add128
    003a9944str x0, [sp+136]
    003a9948str x1, [sp+144]
    003a994cldr x0, [sp+184]
    003a9950ldr x2, [sp+208]
    003a9954ldr x1, [sp+192]
    003a9958ldr x3, [sp+216]
    003a995cbl golang.org/x/crypto/internal/poly1305.add128
    003a9960str x0, [sp+120]
    003a9964str x1, [sp+128]
    003a9968ldr x4, [sp+168]
    003a996cldr x5, [sp+176]
    003a9970str x4, [sp+104]
    003a9974str x5, [sp+112]
    003a9978ldr x4, [sp+152]
    003a997cstr x4, [sp+80]
    003a9980ldr x0, [sp+136]
    003a9984ldr x1, [sp+160]
    003a9988mov x2, xzr
    003a998cbl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9990str x0, [sp+360]
    003a9994str x1, [sp+352]
    003a9998str x0, [sp+488]
    003a999cstr x1, [sp+480]
    003a99a0str x0, [sp+72]
    003a99a4str x1, [sp+304]
    003a99a8ldr x0, [sp+120]
    003a99acldr x4, [sp+144]
    003a99b0mov x2, x1
    003a99b4mov x1, x4
    003a99b8bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a99bcstr x0, [sp+352]
    003a99c0str x1, [sp+360]
    003a99c4str x0, [sp+472]
    003a99c8str x1, [sp+464]
    003a99ccstr x0, [sp+64]
    003a99d0str x1, [sp+304]
    003a99d4ldr x0, [sp+104]
    003a99d8ldr x4, [sp+128]
    003a99dcmov x2, x1
    003a99e0mov x1, x4
    003a99e4bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a99e8str x0, [sp+360]
    003a99ecstr x1, [sp+352]
    003a99f0str x0, [sp+456]
    003a99f4str x1, [sp+448]
    003a99f8str x0, [sp+56]
    003a99fcldr x4, [sp+80]
    003a9a00str x4, [sp+280]
    003a9a04ldr x4, [sp+72]
    003a9a08str x4, [sp+240]
    003a9a0cldr x4, [sp+64]
    003a9a10and x4, x4, 3
    003a9a14str x4, [sp+200]
    003a9a18stp xzr, xzr, [sp+288]
    003a9a1cldr x4, [sp+64]
    003a9a20and x1, x4, -4
    003a9a24str x1, [sp+288]
    003a9a28ldr x4, [sp+56]
    003a9a2cstr x4, [sp+296]
    003a9a30ldr x0, [sp+280]
    003a9a34mov x2, xzr
    003a9a38bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9a3cstr x0, [sp+352]
    003a9a40str x1, [sp+360]
    003a9a44str x0, [sp+440]
    003a9a48str x1, [sp+432]
    003a9a4cstr x0, [sp+280]
    003a9a50str x1, [sp+304]
    003a9a54ldr x0, [sp+240]
    003a9a58ldr x4, [sp+296]
    003a9a5cmov x2, x1
    003a9a60mov x1, x4
    003a9a64bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9a68str x0, [sp+360]
    003a9a6cstr x1, [sp+352]
    003a9a70str x0, [sp+424]
    003a9a74str x1, [sp+416]
    003a9a78str x0, [sp+240]
    003a9a7cstr x1, [sp+304]
    003a9a80ldr x4, [sp+200]
    003a9a84add x4, x4, x1
    003a9a88str x4, [sp+200]
    003a9a8cldr x0, [sp+288]
    003a9a90ldr x1, [sp+296]
    003a9a94bl golang.org/x/crypto/internal/poly1305.shiftRightBy2
    003a9a98str x0, [sp+288]
    003a9a9cstr x1, [sp+296]
    003a9aa0ldr x4, [sp+280]
    003a9aa4mov x1, x0
    003a9aa8mov x2, xzr
    003a9aacmov x0, x4
    003a9ab0bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9ab4str x0, [sp+352]
    003a9ab8str x1, [sp+360]
    003a9abcstr x0, [sp+408]
    003a9ac0str x1, [sp+400]
    003a9ac4str x0, [sp+280]
    003a9ac8str x1, [sp+304]
    003a9accldr x0, [sp+240]
    003a9ad0ldr x4, [sp+296]
    003a9ad4mov x2, x1
    003a9ad8mov x1, x4
    003a9adcbl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9ae0str x0, [sp+360]
    003a9ae4str x1, [sp+352]
    003a9ae8str x0, [sp+392]
    003a9aecstr x1, [sp+384]
    003a9af0str x0, [sp+240]
    003a9af4str x1, [sp+304]
    003a9af8ldr x4, [sp+200]
    003a9afcadd x4, x4, x1
    003a9b00str x4, [sp+200]
    003a9b04b 0x3a9b08
    003a9b08
    003a9b08loc_3a9b08:
    003a9b08b 0x3a95c8
    003a9b0c
    003a9b0cloc_3a9b0c:
    003a9b0cldr x0, [sp+632]
    003a9b10ldrsb x27, [x0]
    003a9b14ldr x1, [sp+280]
    003a9b18str x1, [x0]
    003a9b1cldr x0, [sp+632]
    003a9b20ldrsb x27, [x0]
    003a9b24ldr x1, [sp+240]
    003a9b28str x1, [x0+8]
    003a9b2cldr x0, [sp+632]
    003a9b30ldrsb x27, [x0]
    003a9b34ldr x1, [sp+200]
    003a9b38str x1, [x0+16]
    003a9b3cldp x29, x30, [sp-8]
    003a9b40add sp, sp, 624
    003a9b44ret x30
    003a9b48
    003a9b48loc_3a9b48:
    003a9b48adrp x0, 0x24c000
    003a9b4cadd x0, x0, 2944
    003a9b50adrp x1, 0x369000
    003a9b54add x1, x1, 3552
    003a9b58bl runtime.gopanic
    003a9b5c
    003a9b5cloc_3a9b5c:
    003a9b5cadrp x0, 0x24c000
    003a9b60add x0, x0, 2944
    003a9b64adrp x1, 0x369000
    003a9b68add x1, x1, 3552
    003a9b6cbl runtime.gopanic
    003a9b70
    003a9b70loc_3a9b70:
    003a9b70orr x1, xzr, 16
    003a9b74bl runtime.panicIndex
    003a9b78
    003a9b78loc_3a9b78:
    003a9b78orr x0, xzr, 16
    003a9b7cbl runtime.panicSliceB
    003a9b80
    003a9b80loc_3a9b80:
    003a9b80orr x1, xzr, 16
    003a9b84bl runtime.panicSliceAcap
    003a9b88
    003a9b88loc_3a9b88:
    003a9b88orr x1, xzr, 8
    003a9b8cbl runtime.panicSliceAcap
    003a9b90hint
    003a9b94
    003a9b94loc_3a9b94:
    003a9b94stp x0, x1, [sp+8]
    003a9b98stp x2, x3, [sp+24]
    003a9b9cmov x3, x30
    003a9ba0bl runtime.morestack_noctxt.abi0
    003a9ba4ldp x0, x1, [sp+8]
    003a9ba8ldp x2, x3, [sp+24]
    003a9bacb 0x3a9550
    003a9550
    003a9bb0
    003a9bb0golang.org/x/crypto/internal/poly1305.select64: ; void golang.org/x/crypto/internal/poly1305.select64(uint64 v, uint64 x, uint64 y)
    003a9bb0str x30, [sp-32]!
    003a9bb4stur x29, [sp-8]
    003a9bb8sub x29, sp, 8
    003a9bbcstr x0, [sp+40]
    003a9bc0str x1, [sp+48]
    003a9bc4str x2, [sp+56]
    003a9bc8str xzr, [sp+16]
    003a9bccsub x3, xzr, x0
    003a9bd0and x1, x3, x1
    003a9bd4sub x3, x0, 1
    003a9bd8and x2, x3, x2
    003a9bdcorr x0, x1, x2
    003a9be0str x0, [sp+16]
    003a9be4add x29, sp, 24
    003a9be8add sp, sp, 32
    003a9becret x30
    003a9bb0
    003a9bf0
    003a9bf0golang.org/x/crypto/internal/poly1305.finalize: ; void golang.org/x/crypto/internal/poly1305.finalize(uint8[16] * out, uint64[3] * h, uint64[2] * s)
    003a9bf0ldr x16, [x28+16]
    003a9bf4sub x17, sp, 112
    003a9bf8subs xzr, x17, x16
    003a9bfcb.ls 0x3a9da4
    003a9c00str x30, [sp-240]!
    003a9c04stur x29, [sp-8]
    003a9c08sub x29, sp, 8
    003a9c0cstr x0, [sp+248]
    003a9c10str x1, [sp+256]
    003a9c14str x2, [sp+264]
    003a9c18ldrsb x27, [x1]
    003a9c1cldr x0, [x1]
    003a9c20str x0, [sp+72]
    003a9c24ldrsb x27, [x1]
    003a9c28ldr x3, [x1+8]
    003a9c2cstr x3, [sp+64]
    003a9c30ldrsb x27, [x1]
    003a9c34ldr x3, [x1+16]
    003a9c38str x3, [sp+56]
    003a9c3cmovn x1, 4
    003a9c40mov x2, xzr
    003a9c44bl golang.org/x/crypto/internal/poly1305.bitsSub64
    003a9c48str x0, [sp+136]
    003a9c4cstr x1, [sp+128]
    003a9c50str x0, [sp+104]
    003a9c54str x1, [sp+96]
    003a9c58str x0, [sp+48]
    003a9c5cstr x1, [sp+88]
    003a9c60ldr x0, [sp+64]
    003a9c64mov x2, x1
    003a9c68movn x1, 0
    003a9c6cbl golang.org/x/crypto/internal/poly1305.bitsSub64
    003a9c70str x0, [sp+128]
    003a9c74str x1, [sp+136]
    003a9c78str x0, [sp+200]
    003a9c7cstr x1, [sp+192]
    003a9c80str x0, [sp+40]
    003a9c84str x1, [sp+88]
    003a9c88ldr x0, [sp+56]
    003a9c8cmov x2, x1
    003a9c90orr x1, xzr, 3
    003a9c94bl golang.org/x/crypto/internal/poly1305.bitsSub64
    003a9c98str x0, [sp+136]
    003a9c9cstr x1, [sp+128]
    003a9ca0str x0, [sp+184]
    003a9ca4str x1, [sp+176]
    003a9ca8str x1, [sp+88]
    003a9cacldr x3, [sp+72]
    003a9cb0ldr x2, [sp+48]
    003a9cb4mov x0, x1
    003a9cb8mov x1, x3
    003a9cbcbl golang.org/x/crypto/internal/poly1305.select64
    003a9cc0str x0, [sp+72]
    003a9cc4ldr x1, [sp+64]
    003a9cc8ldr x2, [sp+40]
    003a9cccldr x0, [sp+88]
    003a9cd0bl golang.org/x/crypto/internal/poly1305.select64
    003a9cd4str x0, [sp+64]
    003a9cd8ldr x3, [sp+264]
    003a9cdcldrsb x27, [x3]
    003a9ce0ldr x1, [x3]
    003a9ce4str x1, [sp+120]
    003a9ce8ldr x0, [sp+72]
    003a9cecmov x2, xzr
    003a9cf0bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9cf4str x0, [sp+128]
    003a9cf8str x1, [sp+136]
    003a9cfcstr x0, [sp+168]
    003a9d00str x1, [sp+160]
    003a9d04str x0, [sp+72]
    003a9d08str x1, [sp+80]
    003a9d0cldr x3, [sp+264]
    003a9d10ldrsb x27, [x3]
    003a9d14ldr x3, [x3+8]
    003a9d18str x3, [sp+112]
    003a9d1cldr x0, [sp+64]
    003a9d20mov x2, x1
    003a9d24mov x1, x3
    003a9d28bl golang.org/x/crypto/internal/poly1305.bitsAdd64
    003a9d2cstr x0, [sp+136]
    003a9d30str x1, [sp+128]
    003a9d34str x0, [sp+152]
    003a9d38str x1, [sp+144]
    003a9d3cstr x0, [sp+64]
    003a9d40ldr x0, [sp+248]
    003a9d44ldrsb x27, [x0]
    003a9d48b 0x3a9d4c
    003a9d4c
    003a9d4cloc_3a9d4c:
    003a9d4cb 0x3a9d50
    003a9d50
    003a9d50loc_3a9d50:
    003a9d50str x0, [sp+208]
    003a9d54orr x1, xzr, 8
    003a9d58str x1, [sp+216]
    003a9d5corr x2, xzr, 16
    003a9d60str x2, [sp+224]
    003a9d64ldr x3, [sp+72]
    003a9d68bl encoding/binary.littleEndian.PutUint64
    003a9d6cldr x4, [sp+248]
    003a9d70ldrsb x27, [x4]
    003a9d74b 0x3a9d78
    003a9d78
    003a9d78loc_3a9d78:
    003a9d78add x0, x4, 8
    003a9d7cstr x0, [sp+208]
    003a9d80orr x2, xzr, 8
    003a9d84str x2, [sp+216]
    003a9d88str x2, [sp+224]
    003a9d8cldr x3, [sp+64]
    003a9d90mov x1, x2
    003a9d94bl encoding/binary.littleEndian.PutUint64
    003a9d98ldur x29, [sp-8]
    003a9d9cldr x30, [sp], 240
    003a9da0ret x30
    003a9da4
    003a9da4loc_3a9da4:
    003a9da4stp x0, x1, [sp+8]
    003a9da8str x2, [sp+24]
    003a9dacmov x3, x30
    003a9db0bl runtime.morestack_noctxt.abi0
    003a9db4ldp x0, x1, [sp+8]
    003a9db8ldr x2, [sp+24]
    003a9dbcb 0x3a9bf0
    003a9bf0
    003a9dc0
    003a9dc0type:.eq.golang.org/x/crypto/internal/poly1305.MAC: ; void type:.eq.golang.org/x/crypto/internal/poly1305.MAC(golang.org/x/crypto/internal/poly1305.MAC * p, golang.org/x/crypto/internal/poly1305.MAC * q)
    003a9dc0ldr x16, [x28+16]
    003a9dc4subs xzr, sp, x16
    003a9dc8b.ls 0x3a9e14
    003a9dccstr x30, [sp-64]!
    003a9dd0stur x29, [sp-8]
    003a9dd4sub x29, sp, 8
    003a9dd8str x0, [sp+72]
    003a9ddcstr x1, [sp+80]
    003a9de0strb wzr, [sp+39]
    003a9de4ldr x3, [sp+72]
    003a9de8str x3, [sp+48]
    003a9decldr x1, [sp+80]
    003a9df0str x1, [sp+40]
    003a9df4ldr x0, [sp+48]
    003a9df8movz x2, 81
    003a9dfcbl runtime.memequal
    003a9e00strb w0, [sp+39]
    003a9e04b 0x3a9e08
    003a9e08
    003a9e08loc_3a9e08:
    003a9e08ldur x29, [sp-8]
    003a9e0cldr x30, [sp], 64
    003a9e10ret x30
    003a9e14
    003a9e14loc_3a9e14:
    003a9e14stp x0, x1, [sp+8]
    003a9e18mov x3, x30
    003a9e1cbl runtime.morestack_noctxt.abi0
    003a9e20ldp x0, x1, [sp+8]
    003a9e24b 0x3a9dc0
    003a9e28udf 0
    003a9e2cudf 0
    003a9dc0
    003a9e30
    003a9e30golang.org/x/crypto/chacha20poly1305.init: ; void golang.org/x/crypto/chacha20poly1305.init(void)
    003a9e30ldr x16, [x28+16]
    003a9e34subs xzr, sp, x16
    003a9e38b.ls 0x3a9ea0
    003a9e3cstr x30, [sp-32]!
    003a9e40stur x29, [sp-8]
    003a9e44sub x29, sp, 8
    003a9e48adrp x0, 0x31f000
    003a9e4cadd x0, x0, 230
    003a9e50movz x1, 47
    003a9e54bl errors.New
    003a9e58adrp x27, 0x678000
    003a9e5cstr x0, [x27+3920]
    003a9e60adrp x27, 0x6a2000
    003a9e64ldr w2, [x27+3056]
    003a9e68cbz w2, 0x3a9e70
    003a9e6cb 0x3a9e74
    003a9e70
    003a9e70loc_3a9e70:
    003a9e70b 0x3a9e8c
    003a9e74
    003a9e74loc_3a9e74:
    003a9e74bl runtime.gcWriteBarrier2
    003a9e78str x1, [x25]
    003a9e7cadrp x27, 0x678000
    003a9e80ldr x0, [x27+3928]
    003a9e84str x0, [x25+8]
    003a9e88b 0x3a9e8c
    003a9e8c
    003a9e8cloc_3a9e8c:
    003a9e8cadrp x27, 0x678000
    003a9e90str x1, [x27+3928]
    003a9e94ldur x29, [sp-8]
    003a9e98ldr x30, [sp], 32
    003a9e9cret x30
    003a9ea0
    003a9ea0loc_3a9ea0:
    003a9ea0mov x3, x30
    003a9ea4bl runtime.morestack_noctxt.abi0
    003a9ea8b 0x3a9e30
    003a9eacudf 0
    003a9e30
    003a9eb0
    003a9eb0golang.org/x/crypto/chacha20poly1305.New: ; void golang.org/x/crypto/chacha20poly1305.New(struct []uint8 key)
    003a9eb0ldr x16, [x28+16]
    003a9eb4sub x17, sp, 80
    003a9eb8subs xzr, x17, x16
    003a9ebcb.ls 0x3aa008
    003a9ec0str x30, [sp-208]!
    003a9ec4stur x29, [sp-8]
    003a9ec8sub x29, sp, 8
    003a9eccstr x0, [sp+216]
    003a9ed0str x1, [sp+224]
    003a9ed4str x2, [sp+232]
    003a9ed8stp xzr, xzr, [sp+80]
    003a9edcstp xzr, xzr, [sp+64]
    003a9ee0ldr x2, [sp+224]
    003a9ee4str x2, [sp+40]
    003a9ee8subs xzr, x2, 32
    003a9eecb.ne 0x3a9ef4
    003a9ef0b 0x3a9f34
    003a9ef4
    003a9ef4loc_3a9ef4:
    003a9ef4adrp x0, 0x315000
    003a9ef8add x0, x0, 3152
    003a9efcorr x1, xzr, 32
    003a9f00bl errors.New
    003a9f04str x0, [sp+184]
    003a9f08str x1, [sp+192]
    003a9f0cstp xzr, xzr, [sp+80]
    003a9f10ldr x2, [sp+184]
    003a9f14ldr x3, [sp+192]
    003a9f18str x2, [sp+64]
    003a9f1cstr x3, [sp+72]
    003a9f20ldr x0, [sp+80]
    003a9f24ldr x1, [sp+88]
    003a9f28ldur x29, [sp-8]
    003a9f2cldr x30, [sp], 208
    003a9f30ret x30
    003a9f34
    003a9f34loc_3a9f34:
    003a9f34adrp x0, 0x283000
    003a9f38add x0, x0, 3424
    003a9f3cbl runtime.newobject
    003a9f40str x0, [sp+96]
    003a9f44b 0x3a9f48
    003a9f48
    003a9f48loc_3a9f48:
    003a9f48str x0, [sp+160]
    003a9f4corr x4, xzr, 32
    003a9f50str x4, [sp+168]
    003a9f54str x4, [sp+176]
    003a9f58str x0, [sp+128]
    003a9f5cstr x4, [sp+136]
    003a9f60str x4, [sp+144]
    003a9f64ldr x4, [sp+224]
    003a9f68ldr x5, [sp+216]
    003a9f6cldr x6, [sp+232]
    003a9f70str x5, [sp+104]
    003a9f74str x4, [sp+112]
    003a9f78str x6, [sp+120]
    003a9f7cldr x5, [sp+136]
    003a9f80str x5, [sp+56]
    003a9f84subs xzr, x5, x4
    003a9f88b.gt 0x3a9f90
    003a9f8cb 0x3a9f98
    003a9f90
    003a9f90loc_3a9f90:
    003a9f90str x4, [sp+56]
    003a9f94b 0x3a9f9c
    003a9f98
    003a9f98loc_3a9f98:
    003a9f98b 0x3a9f9c
    003a9f9c
    003a9f9cloc_3a9f9c:
    003a9f9cldr x4, [sp+104]
    003a9fa0ldr x5, [sp+128]
    003a9fa4subs xzr, x4, x5
    003a9fa8b.ne 0x3a9fb0
    003a9facb 0x3a9fcc
    003a9fb0
    003a9fb0loc_3a9fb0:
    003a9fb0ldr x3, [sp+56]
    003a9fb4str x3, [sp+48]
    003a9fb8ldr x2, [sp+48]
    003a9fbcldr x1, [sp+104]
    003a9fc0ldr x0, [sp+128]
    003a9fc4bl runtime.memmove
    003a9fc8b 0x3a9fd0
    003a9fcc
    003a9fccloc_3a9fcc:
    003a9fccb 0x3a9fd0
    003a9fd0
    003a9fd0loc_3a9fd0:
    003a9fd0ldr x4, [sp+96]
    003a9fd4str x4, [sp+152]
    003a9fd8adrp x5, 0x370000
    003a9fdcadd x5, x5, 920
    003a9fe0str x5, [sp+80]
    003a9fe4str x4, [sp+88]
    003a9fe8stp xzr, xzr, [sp+64]
    003a9fecldr x0, [sp+80]
    003a9ff0ldr x1, [sp+88]
    003a9ff4mov x2, xzr
    003a9ff8mov x3, xzr
    003a9ffcldur x29, [sp-8]
    003aa000ldr x30, [sp], 208
    003aa004ret x30
    003aa008
    003aa008loc_3aa008:
    003aa008stp x0, x1, [sp+8]
    003aa00cstr x2, [sp+24]
    003aa010mov x3, x30
    003aa014bl runtime.morestack_noctxt.abi0
    003aa018ldp x0, x1, [sp+8]
    003aa01cldr x2, [sp+24]
    003aa020b 0x3a9eb0
    003aa024udf 0
    003aa028udf 0
    003aa02cudf 0
    003a9eb0
    003aa030
    003aa030golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).NonceSize: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).NonceSize(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c)
    003aa030str x30, [sp-32]!
    003aa034stur x29, [sp-8]
    003aa038sub x29, sp, 8
    003aa03cstr x0, [sp+40]
    003aa040str xzr, [sp+16]
    003aa044orr x0, xzr, 12
    003aa048str x0, [sp+16]
    003aa04cadd x29, sp, 24
    003aa050add sp, sp, 32
    003aa054ret x30
    003aa058udf 0
    003aa05cudf 0
    003aa030
    003aa060
    003aa060golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Overhead: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Overhead(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c)
    003aa060str x30, [sp-32]!
    003aa064stur x29, [sp-8]
    003aa068sub x29, sp, 8
    003aa06cstr x0, [sp+40]
    003aa070str xzr, [sp+16]
    003aa074orr x0, xzr, 16
    003aa078str x0, [sp+16]
    003aa07cadd x29, sp, 24
    003aa080add sp, sp, 32
    003aa084ret x30
    003aa088udf 0
    003aa08cudf 0
    003aa060
    003aa090
    003aa090golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Seal: ; void golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).Seal(golang.org/x/crypto/chacha20poly1305.chacha20poly1305 * c, struct []uint8 dst, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 additionalData)
    003aa090ldr x16, [x28+16]
    003aa094sub x17, sp, 48
    003aa098subs xzr, x17, x16
    003aa09cb.ls 0x3aa19c
    003aa0a0str x30, [sp-176]!
    003aa0a4stur x29, [sp-8]
    003aa0a8sub x29, sp, 8
    003aa0acstr x0, [sp+184]
    003aa0b0str x1, [sp+192]
    003aa0b4str x2, [sp+200]
    003aa0b8str x3, [sp+208]
    003aa0bcstr x4, [sp+216]
    003aa0c0str x5, [sp+224]
    003aa0c4str x6, [sp+232]
    003aa0c8str x7, [sp+240]
    003aa0ccstr x8, [sp+248]
    003aa0d0str x9, [sp+256]
    003aa0d4str x10, [sp+264]
    003aa0d8str x11, [sp+272]
    003aa0dcstr x12, [sp+280]
    003aa0e0str xzr, [sp+120]
    003aa0e4stp xzr, xzr, [sp+128]
    003aa0e8ldr x13, [sp+224]
    003aa0ecstr x13, [sp+112]
    003aa0f0subs xzr, x13, 12
    003aa0f4b.ne 0x3aa184
    003aa0f8b 0x3aa0fc
    003aa0fc
    003aa0fcloc_3aa0fc:
    003aa0fcldr x13, [sp+248]
    003aa100str x13, [sp+112]
    003aa104orr x14, xzr, 0x3fffffffc0
    003aa108subs xzr, x13, x14
    003aa10cb.hi 0x3aa170
    003aa110b 0x3aa114
    003aa114
    003aa114loc_3aa114:
    003aa114ldr x1, [sp+192]
    003aa118ldr x4, [sp+216]
    003aa11cldr x7, [sp+240]
    003aa120ldr x10, [sp+264]
    003aa124ldr x2, [sp+200]
    003aa128ldr x5, [sp+224]
    003aa12cldr x8, [sp+248]
    003aa130ldr x11, [sp+272]
    003aa134ldr x3, [sp+208]
    003aa138ldr x6, [sp+232]
    003aa13cldr x9, [sp+256]
    003aa140ldr x12, [sp+280]
    003aa144ldr x0, [sp+184]
    003aa148bl golang.org/x/crypto/chacha20poly1305.(*chacha20poly1305).seal
    003aa14cstr x0, [sp+144]
    003aa150str x1, [sp+152]
    003aa154str x2, [sp+160]
    003aa158str x0, [sp+120]
    003aa15cstr x1, [sp+128]
    003aa160str x2, [sp+136]
    003aa164ldur x29, [sp-8]
    003aa168ldr x30, [sp], 176
    003aa16cret x30
    003aa170
    003aa170loc_3aa170:
    003aa170adrp x0, 0x24b000
    003aa174add x0, x0, 2944
    003aa178adrp x1, 0x368000
    003aa17cadd x1, x1, 1456
    003aa180bl runtime.gopanic
    003aa184
    003aa184loc_3aa184:
    003aa184adrp x0, 0x24b000
    003aa188add x0, x0, 2944
    003aa18cadrp x1, 0x368000
    003aa190add x1, x1, 1440
    003aa194bl runtime.gopanic
    003aa198hint
    003aa19c
    003aa19cloc_3aa19c:
    003aa19cstp x0, x1, [sp+8]
    003aa1a0stp x2, x3, [sp+24]
    003aa1a4stp x4, x5, [sp+40]
    003aa1a8stp x6, x7, [sp+56]
    003aa1acstp x8, x9, [sp+72]
    003aa1b0stp x10, x11, [sp+88]
    003aa1b4str x12, [sp+104]
    003aa1b8mov x3, x30
    003aa1bcbl runtime.morestack_noctxt.abi0
    003aa1c0ldp x0, x1, [sp+8]
    003aa1c4ldp x2, x3, [sp+24]
    003aa1c8ldp x4, x5, [sp+40]
    003aa1ccldp x6, x7, [sp+56]
    003aa1d0ldp x8, x9, [sp+72]
    003aa1d4ldp x10, x11, [sp+88]
    003aa1d8ldr x12, [sp+104]
    003aa1dcb 0x3aa090
    003aa090