File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00361bd0
    00361bd0crypto/tls.cipherRC4: ; void crypto/tls.cipherRC4(struct []uint8 key, struct []uint8 iv, bool isRead)
    00361bd0ldr x16, [x28+16]
    00361bd4subs xzr, sp, x16
    00361bd8b.ls 0x361c74
    00361bdcstr x30, [sp-112]!
    00361be0stur x29, [sp-8]
    00361be4sub x29, sp, 8
    00361be8str x0, [sp+120]
    00361becstr x1, [sp+128]
    00361bf0str x2, [sp+136]
    00361bf4str x3, [sp+144]
    00361bf8str x4, [sp+152]
    00361bfcstr x5, [sp+160]
    00361c00strb w6, [sp+168]
    00361c04stp xzr, xzr, [sp+32]
    00361c08str xzr, [sp+72]
    00361c0cstp xzr, xzr, [sp+56]
    00361c10ldr x0, [sp+120]
    00361c14ldr x1, [sp+128]
    00361c18ldr x2, [sp+136]
    00361c1cbl crypto/rc4.NewCipher
    00361c20str x0, [sp+72]
    00361c24str x1, [sp+56]
    00361c28str x2, [sp+64]
    00361c2cldr x3, [sp+72]
    00361c30str x3, [sp+96]
    00361c34ldr x3, [sp+64]
    00361c38ldr x4, [sp+56]
    00361c3cstr x4, [sp+80]
    00361c40str x3, [sp+88]
    00361c44ldr x3, [sp+96]
    00361c48str x3, [sp+48]
    00361c4cstr x3, [sp+72]
    00361c50adrp x4, 0x2bd000
    00361c54add x4, x4, 2208
    00361c58str x4, [sp+32]
    00361c5cstr x3, [sp+40]
    00361c60ldr x0, [sp+32]
    00361c64ldr x1, [sp+40]
    00361c68ldur x29, [sp-8]
    00361c6cldr x30, [sp], 112
    00361c70ret x30
    00361c74
    00361c74loc_361c74:
    00361c74stp x0, x1, [sp+8]
    00361c78stp x2, x3, [sp+24]
    00361c7cstp x4, x5, [sp+40]
    00361c80strb w6, [sp+56]
    00361c84mov x3, x30
    00361c88bl runtime.morestack_noctxt.abi0
    00361c8cldp x0, x1, [sp+8]
    00361c90ldp x2, x3, [sp+24]
    00361c94ldp x4, x5, [sp+40]
    00361c98ldrb w6, [sp+56]
    00361c9cb 0x361bd0
    00361bd0
    00361ca0
    00361ca0crypto/tls.cipher3DES: ; void crypto/tls.cipher3DES(struct []uint8 key, struct []uint8 iv, bool isRead)
    00361ca0ldr x16, [x28+16]
    00361ca4sub x17, sp, 96
    00361ca8subs xzr, x17, x16
    00361cacb.ls 0x361e08
    00361cb0str x30, [sp-224]!
    00361cb4stur x29, [sp-8]
    00361cb8sub x29, sp, 8
    00361cbcstr x0, [sp+232]
    00361cc0str x1, [sp+240]
    00361cc4str x2, [sp+248]
    00361cc8str x3, [sp+256]
    00361cccstr x4, [sp+264]
    00361cd0str x5, [sp+272]
    00361cd4strb w6, [sp+280]
    00361cd8stp xzr, xzr, [sp+56]
    00361cdcstp xzr, xzr, [sp+120]
    00361ce0stp xzr, xzr, [sp+104]
    00361ce4ldr x0, [sp+232]
    00361ce8ldr x1, [sp+240]
    00361cecldr x2, [sp+248]
    00361cf0bl crypto/des.NewTripleDESCipher
    00361cf4str x0, [sp+120]
    00361cf8str x1, [sp+128]
    00361cfcstr x2, [sp+104]
    00361d00str x3, [sp+112]
    00361d04ldr x3, [sp+128]
    00361d08ldr x4, [sp+120]
    00361d0cstr x4, [sp+152]
    00361d10str x3, [sp+160]
    00361d14ldr x3, [sp+104]
    00361d18ldr x4, [sp+112]
    00361d1cstr x3, [sp+136]
    00361d20str x4, [sp+144]
    00361d24ldr x0, [sp+152]
    00361d28ldr x1, [sp+160]
    00361d2cstr x0, [sp+72]
    00361d30str x1, [sp+80]
    00361d34ldrb w3, [sp+280]
    00361d38tbnz w3, 0, 0x361d40
    00361d3cb 0x361da4
    00361d40
    00361d40loc_361d40:
    00361d40ldr x3, [sp+264]
    00361d44ldr x4, [sp+272]
    00361d48ldr x2, [sp+256]
    00361d4cbl crypto/cipher.NewCBCDecrypter
    00361d50str x0, [sp+88]
    00361d54str x1, [sp+96]
    00361d58str x0, [sp+200]
    00361d5cstr x1, [sp+208]
    00361d60str x0, [sp+192]
    00361d64ldr x5, [sp+192]
    00361d68cbnz x5, 0x361d70
    00361d6cb 0x361d80
    00361d70
    00361d70loc_361d70:
    00361d70ldr x2, [sp+192]
    00361d74ldr x2, [x2+8]
    00361d78str x2, [sp+192]
    00361d7cb 0x361d84
    00361d80
    00361d80loc_361d80:
    00361d80b 0x361d84
    00361d84
    00361d84loc_361d84:
    00361d84ldr x1, [sp+208]
    00361d88ldr x2, [sp+192]
    00361d8cstr x2, [sp+56]
    00361d90str x1, [sp+64]
    00361d94ldr x0, [sp+56]
    00361d98ldur x29, [sp-8]
    00361d9cldr x30, [sp], 224
    00361da0ret x30
    00361da4
    00361da4loc_361da4:
    00361da4ldr x3, [sp+264]
    00361da8ldr x4, [sp+272]
    00361dacldr x2, [sp+256]
    00361db0bl crypto/cipher.NewCBCEncrypter
    00361db4str x0, [sp+88]
    00361db8str x1, [sp+96]
    00361dbcstr x0, [sp+176]
    00361dc0str x1, [sp+184]
    00361dc4str x0, [sp+168]
    00361dc8ldr x5, [sp+168]
    00361dcccbnz x5, 0x361dd4
    00361dd0b 0x361de4
    00361dd4
    00361dd4loc_361dd4:
    00361dd4ldr x2, [sp+168]
    00361dd8ldr x2, [x2+8]
    00361ddcstr x2, [sp+168]
    00361de0b 0x361de8
    00361de4
    00361de4loc_361de4:
    00361de4b 0x361de8
    00361de8
    00361de8loc_361de8:
    00361de8ldr x1, [sp+184]
    00361decldr x2, [sp+168]
    00361df0str x2, [sp+56]
    00361df4str x1, [sp+64]
    00361df8ldr x0, [sp+56]
    00361dfcldur x29, [sp-8]
    00361e00ldr x30, [sp], 224
    00361e04ret x30
    00361e08
    00361e08loc_361e08:
    00361e08stp x0, x1, [sp+8]
    00361e0cstp x2, x3, [sp+24]
    00361e10stp x4, x5, [sp+40]
    00361e14strb w6, [sp+56]
    00361e18mov x3, x30
    00361e1cbl runtime.morestack_noctxt.abi0
    00361e20ldp x0, x1, [sp+8]
    00361e24ldp x2, x3, [sp+24]
    00361e28ldp x4, x5, [sp+40]
    00361e2cldrb w6, [sp+56]
    00361e30b 0x361ca0
    00361e34udf 0
    00361e38udf 0
    00361e3cudf 0
    00361ca0
    00361e40
    00361e40crypto/tls.cipherAES: ; void crypto/tls.cipherAES(struct []uint8 key, struct []uint8 iv, bool isRead)
    00361e40ldr x16, [x28+16]
    00361e44sub x17, sp, 96
    00361e48subs xzr, x17, x16
    00361e4cb.ls 0x361fa8
    00361e50str x30, [sp-224]!
    00361e54stur x29, [sp-8]
    00361e58sub x29, sp, 8
    00361e5cstr x0, [sp+232]
    00361e60str x1, [sp+240]
    00361e64str x2, [sp+248]
    00361e68str x3, [sp+256]
    00361e6cstr x4, [sp+264]
    00361e70str x5, [sp+272]
    00361e74strb w6, [sp+280]
    00361e78stp xzr, xzr, [sp+56]
    00361e7cstp xzr, xzr, [sp+120]
    00361e80stp xzr, xzr, [sp+104]
    00361e84ldr x0, [sp+232]
    00361e88ldr x1, [sp+240]
    00361e8cldr x2, [sp+248]
    00361e90bl crypto/aes.NewCipher
    00361e94str x0, [sp+120]
    00361e98str x1, [sp+128]
    00361e9cstr x2, [sp+104]
    00361ea0str x3, [sp+112]
    00361ea4ldr x3, [sp+128]
    00361ea8ldr x4, [sp+120]
    00361eacstr x4, [sp+152]
    00361eb0str x3, [sp+160]
    00361eb4ldr x3, [sp+104]
    00361eb8ldr x4, [sp+112]
    00361ebcstr x3, [sp+136]
    00361ec0str x4, [sp+144]
    00361ec4ldr x0, [sp+152]
    00361ec8ldr x1, [sp+160]
    00361eccstr x0, [sp+72]
    00361ed0str x1, [sp+80]
    00361ed4ldrb w3, [sp+280]
    00361ed8tbnz w3, 0, 0x361ee0
    00361edcb 0x361f44
    00361ee0
    00361ee0loc_361ee0:
    00361ee0ldr x3, [sp+264]
    00361ee4ldr x4, [sp+272]
    00361ee8ldr x2, [sp+256]
    00361eecbl crypto/cipher.NewCBCDecrypter
    00361ef0str x0, [sp+88]
    00361ef4str x1, [sp+96]
    00361ef8str x0, [sp+200]
    00361efcstr x1, [sp+208]
    00361f00str x0, [sp+192]
    00361f04ldr x5, [sp+192]
    00361f08cbnz x5, 0x361f10
    00361f0cb 0x361f20
    00361f10
    00361f10loc_361f10:
    00361f10ldr x2, [sp+192]
    00361f14ldr x2, [x2+8]
    00361f18str x2, [sp+192]
    00361f1cb 0x361f24
    00361f20
    00361f20loc_361f20:
    00361f20b 0x361f24
    00361f24
    00361f24loc_361f24:
    00361f24ldr x1, [sp+208]
    00361f28ldr x2, [sp+192]
    00361f2cstr x2, [sp+56]
    00361f30str x1, [sp+64]
    00361f34ldr x0, [sp+56]
    00361f38ldur x29, [sp-8]
    00361f3cldr x30, [sp], 224
    00361f40ret x30
    00361f44
    00361f44loc_361f44:
    00361f44ldr x3, [sp+264]
    00361f48ldr x4, [sp+272]
    00361f4cldr x2, [sp+256]
    00361f50bl crypto/cipher.NewCBCEncrypter
    00361f54str x0, [sp+88]
    00361f58str x1, [sp+96]
    00361f5cstr x0, [sp+176]
    00361f60str x1, [sp+184]
    00361f64str x0, [sp+168]
    00361f68ldr x5, [sp+168]
    00361f6ccbnz x5, 0x361f74
    00361f70b 0x361f84
    00361f74
    00361f74loc_361f74:
    00361f74ldr x2, [sp+168]
    00361f78ldr x2, [x2+8]
    00361f7cstr x2, [sp+168]
    00361f80b 0x361f88
    00361f84
    00361f84loc_361f84:
    00361f84b 0x361f88
    00361f88
    00361f88loc_361f88:
    00361f88ldr x1, [sp+184]
    00361f8cldr x2, [sp+168]
    00361f90str x2, [sp+56]
    00361f94str x1, [sp+64]
    00361f98ldr x0, [sp+56]
    00361f9cldur x29, [sp-8]
    00361fa0ldr x30, [sp], 224
    00361fa4ret x30
    00361fa8
    00361fa8loc_361fa8:
    00361fa8stp x0, x1, [sp+8]
    00361facstp x2, x3, [sp+24]
    00361fb0stp x4, x5, [sp+40]
    00361fb4strb w6, [sp+56]
    00361fb8mov x3, x30
    00361fbcbl runtime.morestack_noctxt.abi0
    00361fc0ldp x0, x1, [sp+8]
    00361fc4ldp x2, x3, [sp+24]
    00361fc8ldp x4, x5, [sp+40]
    00361fccldrb w6, [sp+56]
    00361fd0b 0x361e40
    00361fd4udf 0
    00361fd8udf 0
    00361fdcudf 0
    00361e40
    00361fe0
    00361fe0crypto/tls.macSHA1: ; void crypto/tls.macSHA1(struct []uint8 key)
    00361fe0ldr x16, [x28+16]
    00361fe4subs xzr, sp, x16
    00361fe8b.ls 0x36204c
    00361fecstr x30, [sp-96]!
    00361ff0stur x29, [sp-8]
    00361ff4sub x29, sp, 8
    00361ff8str x0, [sp+104]
    00361ffcstr x1, [sp+112]
    00362000str x2, [sp+120]
    00362004stp xzr, xzr, [sp+48]
    00362008adrp x1, 0x377000
    0036200cadd x1, x1, 152
    00362010str x1, [sp+64]
    00362014ldr x0, [sp+64]
    00362018bl crypto/tls.newConstantTimeHash
    0036201cstr x0, [sp+64]
    00362020ldr x2, [sp+112]
    00362024ldr x3, [sp+120]
    00362028ldr x1, [sp+104]
    0036202cbl crypto/hmac.New
    00362030str x0, [sp+72]
    00362034str x1, [sp+80]
    00362038str x0, [sp+48]
    0036203cstr x1, [sp+56]
    00362040ldur x29, [sp-8]
    00362044ldr x30, [sp], 96
    00362048ret x30
    0036204c
    0036204cloc_36204c:
    0036204cstp x0, x1, [sp+8]
    00362050str x2, [sp+24]
    00362054mov x3, x30
    00362058bl runtime.morestack_noctxt.abi0
    0036205cldp x0, x1, [sp+8]
    00362060ldr x2, [sp+24]
    00362064b 0x361fe0
    00362068udf 0
    0036206cudf 0
    00361fe0
    00362070
    00362070crypto/tls.macSHA256: ; void crypto/tls.macSHA256(struct []uint8 key)
    00362070ldr x16, [x28+16]
    00362074subs xzr, sp, x16
    00362078b.ls 0x3620cc
    0036207cstr x30, [sp-80]!
    00362080stur x29, [sp-8]
    00362084sub x29, sp, 8
    00362088str x0, [sp+88]
    0036208cstr x1, [sp+96]
    00362090str x2, [sp+104]
    00362094stp xzr, xzr, [sp+40]
    00362098ldr x1, [sp+88]
    0036209cldr x2, [sp+96]
    003620a0ldr x3, [sp+104]
    003620a4adrp x0, 0x377000
    003620a8add x0, x0, 112
    003620acbl crypto/hmac.New
    003620b0str x0, [sp+56]
    003620b4str x1, [sp+64]
    003620b8str x0, [sp+40]
    003620bcstr x1, [sp+48]
    003620c0ldur x29, [sp-8]
    003620c4ldr x30, [sp], 80
    003620c8ret x30
    003620cc
    003620ccloc_3620cc:
    003620ccstp x0, x1, [sp+8]
    003620d0str x2, [sp+24]
    003620d4mov x3, x30
    003620d8bl runtime.morestack_noctxt.abi0
    003620dcldp x0, x1, [sp+8]
    003620e0ldr x2, [sp+24]
    003620e4b 0x362070
    003620e8udf 0
    003620ecudf 0
    00362070
    003620f0
    003620f0crypto/tls.(*prefixNonceAEAD).NonceSize: ; void crypto/tls.(*prefixNonceAEAD).NonceSize(crypto/tls.prefixNonceAEAD * f)
    003620f0str x30, [sp-32]!
    003620f4stur x29, [sp-8]
    003620f8sub x29, sp, 8
    003620fcstr x0, [sp+40]
    00362100str xzr, [sp+16]
    00362104orr x0, xzr, 8
    00362108str x0, [sp+16]
    0036210cadd x29, sp, 24
    00362110add sp, sp, 32
    00362114ret x30
    00362118udf 0
    0036211cudf 0
    003620f0
    00362120
    00362120crypto/tls.(*prefixNonceAEAD).Overhead: ; void crypto/tls.(*prefixNonceAEAD).Overhead(crypto/tls.prefixNonceAEAD * f)
    00362120ldr x16, [x28+16]
    00362124subs xzr, sp, x16
    00362128b.ls 0x36216c
    0036212cstr x30, [sp-48]!
    00362130stur x29, [sp-8]
    00362134sub x29, sp, 8
    00362138str x0, [sp+56]
    0036213cstr xzr, [sp+24]
    00362140ldrsb x27, [x0]
    00362144ldr x1, [x0+16]
    00362148ldrsb x27, [x1]
    0036214cldr x0, [x0+24]
    00362150ldr x1, [x1+40]
    00362154blr x1
    00362158str x0, [sp+32]
    0036215cstr x0, [sp+24]
    00362160ldur x29, [sp-8]
    00362164ldr x30, [sp], 48
    00362168ret x30
    0036216c
    0036216cloc_36216c:
    0036216cstr x0, [sp+8]
    00362170mov x3, x30
    00362174bl runtime.morestack_noctxt.abi0
    00362178ldr x0, [sp+8]
    0036217cb 0x362120
    00362120
    00362180
    00362180crypto/tls.(*prefixNonceAEAD).explicitNonceLen: ; void crypto/tls.(*prefixNonceAEAD).explicitNonceLen(crypto/tls.prefixNonceAEAD * f)
    00362180ldr x16, [x28+16]
    00362184subs xzr, sp, x16
    00362188b.ls 0x3621b8
    0036218cstr x30, [sp-48]!
    00362190stur x29, [sp-8]
    00362194sub x29, sp, 8
    00362198str x0, [sp+56]
    0036219cstr xzr, [sp+24]
    003621a0bl crypto/tls.(*prefixNonceAEAD).NonceSize
    003621a4str x0, [sp+32]
    003621a8str x0, [sp+24]
    003621acldur x29, [sp-8]
    003621b0ldr x30, [sp], 48
    003621b4ret x30
    003621b8
    003621b8loc_3621b8:
    003621b8str x0, [sp+8]
    003621bcmov x3, x30
    003621c0bl runtime.morestack_noctxt.abi0
    003621c4ldr x0, [sp+8]
    003621c8b 0x362180
    003621ccudf 0
    00362180
    003621d0
    003621d0crypto/tls.(*prefixNonceAEAD).Seal: ; void crypto/tls.(*prefixNonceAEAD).Seal(crypto/tls.prefixNonceAEAD * f, struct []uint8 out, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 additionalData)
    003621d0ldr x16, [x28+16]
    003621d4sub x17, sp, 128
    003621d8subs xzr, x17, x16
    003621dcb.ls 0x362350
    003621e0sub x20, sp, 256
    003621e4stp x29, x30, [x20-8]
    003621e8add sp, x20, 0
    003621ecsub x29, sp, 8
    003621f0str x0, [sp+264]
    003621f4str x1, [sp+272]
    003621f8str x2, [sp+280]
    003621fcstr x3, [sp+288]
    00362200str x4, [sp+296]
    00362204str x5, [sp+304]
    00362208str x6, [sp+312]
    0036220cstr x7, [sp+320]
    00362210str x8, [sp+328]
    00362214str x9, [sp+336]
    00362218str x10, [sp+344]
    0036221cstr x11, [sp+352]
    00362220str x12, [sp+360]
    00362224str xzr, [sp+128]
    00362228stp xzr, xzr, [sp+136]
    0036222cldr x13, [sp+264]
    00362230ldrsb x27, [x13]
    00362234ldrsb x27, [x13]
    00362238b 0x36223c
    0036223c
    0036223cloc_36223c:
    0036223cadd x13, x13, 4
    00362240str x13, [sp+224]
    00362244orr x14, xzr, 8
    00362248str x14, [sp+232]
    0036224cstr x14, [sp+240]
    00362250str x13, [sp+176]
    00362254str x14, [sp+184]
    00362258str x14, [sp+192]
    0036225cldr x13, [sp+304]
    00362260ldr x14, [sp+296]
    00362264ldr x15, [sp+312]
    00362268str x14, [sp+152]
    0036226cstr x13, [sp+160]
    00362270str x15, [sp+168]
    00362274ldr x14, [sp+184]
    00362278str x14, [sp+120]
    0036227csubs xzr, x14, x13
    00362280b.gt 0x362288
    00362284b 0x362290
    00362288
    00362288loc_362288:
    00362288str x13, [sp+120]
    0036228cb 0x362294
    00362290
    00362290loc_362290:
    00362290b 0x362294
    00362294
    00362294loc_362294:
    00362294ldr x13, [sp+152]
    00362298ldr x14, [sp+176]
    0036229csubs xzr, x13, x14
    003622a0b.ne 0x3622a8
    003622a4b 0x3622c4
    003622a8
    003622a8loc_3622a8:
    003622a8ldr x3, [sp+120]
    003622acstr x3, [sp+112]
    003622b0ldr x2, [sp+112]
    003622b4ldr x1, [sp+152]
    003622b8ldr x0, [sp+176]
    003622bcbl runtime.memmove
    003622c0b 0x3622c8
    003622c4
    003622c4loc_3622c4:
    003622c4b 0x3622c8
    003622c8
    003622c8loc_3622c8:
    003622c8ldr x4, [sp+264]
    003622ccldrsb x27, [x4]
    003622d0ldrsb x27, [x4]
    003622d4b 0x3622d8
    003622d8
    003622d8loc_3622d8:
    003622d8str x4, [sp+224]
    003622dcorr x6, xzr, 12
    003622e0str x6, [sp+232]
    003622e4str x6, [sp+240]
    003622e8ldr x13, [sp+264]
    003622ecldrsb x27, [x13]
    003622f0ldr x14, [x13+16]
    003622f4ldrsb x27, [x14]
    003622f8ldr x0, [x13+24]
    003622fcldr x1, [sp+272]
    00362300ldr x7, [sp+320]
    00362304ldr x10, [sp+344]
    00362308ldr x2, [sp+280]
    0036230cldr x8, [sp+328]
    00362310ldr x11, [sp+352]
    00362314ldr x3, [sp+288]
    00362318ldr x9, [sp+336]
    0036231cldr x12, [sp+360]
    00362320ldr x13, [x14+48]
    00362324mov x5, x6
    00362328blr x13
    0036232cstr x0, [sp+200]
    00362330str x1, [sp+208]
    00362334str x2, [sp+216]
    00362338str x0, [sp+128]
    0036233cstr x1, [sp+136]
    00362340str x2, [sp+144]
    00362344ldp x29, x30, [sp-8]
    00362348add sp, sp, 256
    0036234cret x30
    00362350
    00362350loc_362350:
    00362350stp x0, x1, [sp+8]
    00362354stp x2, x3, [sp+24]
    00362358stp x4, x5, [sp+40]
    0036235cstp x6, x7, [sp+56]
    00362360stp x8, x9, [sp+72]
    00362364stp x10, x11, [sp+88]
    00362368str x12, [sp+104]
    0036236cmov x3, x30
    00362370bl runtime.morestack_noctxt.abi0
    00362374ldp x0, x1, [sp+8]
    00362378ldp x2, x3, [sp+24]
    0036237cldp x4, x5, [sp+40]
    00362380ldp x6, x7, [sp+56]
    00362384ldp x8, x9, [sp+72]
    00362388ldp x10, x11, [sp+88]
    0036238cldr x12, [sp+104]
    00362390b 0x3621d0
    00362394udf 0
    00362398udf 0
    0036239cudf 0
    003621d0
    003623a0
    003623a0crypto/tls.(*prefixNonceAEAD).Open: ; void crypto/tls.(*prefixNonceAEAD).Open(crypto/tls.prefixNonceAEAD * f, struct []uint8 out, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 additionalData)
    003623a0ldr x16, [x28+16]
    003623a4sub x17, sp, 208
    003623a8subs xzr, x17, x16
    003623acb.ls 0x362590
    003623b0sub x20, sp, 336
    003623b4stp x29, x30, [x20-8]
    003623b8add sp, x20, 0
    003623bcsub x29, sp, 8
    003623c0str x0, [sp+344]
    003623c4str x1, [sp+352]
    003623c8str x2, [sp+360]
    003623ccstr x3, [sp+368]
    003623d0str x4, [sp+376]
    003623d4str x5, [sp+384]
    003623d8str x6, [sp+392]
    003623dcstr x7, [sp+400]
    003623e0str x8, [sp+408]
    003623e4str x9, [sp+416]
    003623e8str x10, [sp+424]
    003623ecstr x11, [sp+432]
    003623f0str x12, [sp+440]
    003623f4str xzr, [sp+152]
    003623f8stp xzr, xzr, [sp+160]
    003623fcstp xzr, xzr, [sp+136]
    00362400ldr x13, [sp+344]
    00362404ldrsb x27, [x13]
    00362408ldrsb x27, [x13]
    0036240cb 0x362410
    00362410
    00362410loc_362410:
    00362410add x13, x13, 4
    00362414str x13, [sp+176]
    00362418orr x14, xzr, 8
    0036241cstr x14, [sp+184]
    00362420str x14, [sp+192]
    00362424str x13, [sp+264]
    00362428str x14, [sp+272]
    0036242cstr x14, [sp+280]
    00362430ldr x13, [sp+384]
    00362434ldr x14, [sp+376]
    00362438ldr x15, [sp+392]
    0036243cstr x14, [sp+240]
    00362440str x13, [sp+248]
    00362444str x15, [sp+256]
    00362448ldr x14, [sp+272]
    0036244cstr x14, [sp+128]
    00362450subs xzr, x14, x13
    00362454b.gt 0x36245c
    00362458b 0x362464
    0036245c
    0036245cloc_36245c:
    0036245cstr x13, [sp+128]
    00362460b 0x362468
    00362464
    00362464loc_362464:
    00362464b 0x362468
    00362468
    00362468loc_362468:
    00362468ldr x13, [sp+240]
    0036246cldr x14, [sp+264]
    00362470subs xzr, x13, x14
    00362474b.ne 0x36247c
    00362478b 0x362498
    0036247c
    0036247cloc_36247c:
    0036247cldr x3, [sp+128]
    00362480str x3, [sp+120]
    00362484ldr x2, [sp+120]
    00362488ldr x1, [sp+240]
    0036248cldr x0, [sp+264]
    00362490bl runtime.memmove
    00362494b 0x36249c
    00362498
    00362498loc_362498:
    00362498b 0x36249c
    0036249c
    0036249cloc_36249c:
    0036249cldr x13, [sp+344]
    003624a0ldrsb x27, [x13]
    003624a4ldrsb x27, [x13]
    003624a8b 0x3624ac
    003624ac
    003624acloc_3624ac:
    003624acstr x13, [sp+176]
    003624b0orr x13, xzr, 12
    003624b4str x13, [sp+184]
    003624b8str x13, [sp+192]
    003624bcstr xzr, [sp+304]
    003624c0stp xzr, xzr, [sp+312]
    003624c4stp xzr, xzr, [sp+288]
    003624c8ldr x13, [sp+344]
    003624ccldrsb x27, [x13]
    003624d0ldr x14, [x13+16]
    003624d4ldrsb x27, [x14]
    003624d8ldr x0, [x13+24]
    003624dcldr x1, [sp+352]
    003624e0ldr x7, [sp+400]
    003624e4ldr x10, [sp+424]
    003624e8ldr x2, [sp+360]
    003624ecldr x8, [sp+408]
    003624f0ldr x11, [sp+432]
    003624f4ldr x3, [sp+368]
    003624f8ldr x9, [sp+416]
    003624fcldr x12, [sp+440]
    00362500ldr x13, [x14+32]
    00362504ldr x4, [sp+176]
    00362508ldr x5, [sp+184]
    0036250cldr x6, [sp+192]
    00362510blr x13
    00362514str x0, [sp+304]
    00362518str x1, [sp+312]
    0036251cstr x2, [sp+320]
    00362520str x3, [sp+288]
    00362524str x4, [sp+296]
    00362528ldr x13, [sp+304]
    0036252cldr x14, [sp+312]
    00362530ldr x15, [sp+320]
    00362534str x13, [sp+216]
    00362538str x14, [sp+224]
    0036253cstr x15, [sp+232]
    00362540ldr x13, [sp+288]
    00362544ldr x14, [sp+296]
    00362548str x13, [sp+200]
    0036254cstr x14, [sp+208]
    00362550ldr x13, [sp+216]
    00362554ldr x14, [sp+224]
    00362558ldr x15, [sp+232]
    0036255cstr x13, [sp+152]
    00362560str x14, [sp+160]
    00362564str x15, [sp+168]
    00362568ldr x3, [sp+200]
    0036256cldr x4, [sp+208]
    00362570str x3, [sp+136]
    00362574str x4, [sp+144]
    00362578ldr x0, [sp+152]
    0036257cldr x1, [sp+160]
    00362580ldr x2, [sp+168]
    00362584ldp x29, x30, [sp-8]
    00362588add sp, sp, 336
    0036258cret x30
    00362590
    00362590loc_362590:
    00362590stp x0, x1, [sp+8]
    00362594stp x2, x3, [sp+24]
    00362598stp x4, x5, [sp+40]
    0036259cstp x6, x7, [sp+56]
    003625a0stp x8, x9, [sp+72]
    003625a4stp x10, x11, [sp+88]
    003625a8str x12, [sp+104]
    003625acmov x3, x30
    003625b0bl runtime.morestack_noctxt.abi0
    003625b4ldp x0, x1, [sp+8]
    003625b8ldp x2, x3, [sp+24]
    003625bcldp x4, x5, [sp+40]
    003625c0ldp x6, x7, [sp+56]
    003625c4ldp x8, x9, [sp+72]
    003625c8ldp x10, x11, [sp+88]
    003625ccldr x12, [sp+104]
    003625d0b 0x3623a0
    003625d4udf 0
    003625d8udf 0
    003625dcudf 0
    003623a0
    003625e0
    003625e0crypto/tls.(*xorNonceAEAD).NonceSize: ; void crypto/tls.(*xorNonceAEAD).NonceSize(crypto/tls.xorNonceAEAD * f)
    003625e0str x30, [sp-32]!
    003625e4stur x29, [sp-8]
    003625e8sub x29, sp, 8
    003625ecstr x0, [sp+40]
    003625f0str xzr, [sp+16]
    003625f4orr x0, xzr, 8
    003625f8str x0, [sp+16]
    003625fcadd x29, sp, 24
    00362600add sp, sp, 32
    00362604ret x30
    00362608udf 0
    0036260cudf 0
    003625e0
    00362610
    00362610crypto/tls.(*xorNonceAEAD).Overhead: ; void crypto/tls.(*xorNonceAEAD).Overhead(crypto/tls.xorNonceAEAD * f)
    00362610ldr x16, [x28+16]
    00362614subs xzr, sp, x16
    00362618b.ls 0x36265c
    0036261cstr x30, [sp-48]!
    00362620stur x29, [sp-8]
    00362624sub x29, sp, 8
    00362628str x0, [sp+56]
    0036262cstr xzr, [sp+24]
    00362630ldrsb x27, [x0]
    00362634ldr x1, [x0+16]
    00362638ldrsb x27, [x1]
    0036263cldr x0, [x0+24]
    00362640ldr x1, [x1+40]
    00362644blr x1
    00362648str x0, [sp+32]
    0036264cstr x0, [sp+24]
    00362650ldur x29, [sp-8]
    00362654ldr x30, [sp], 48
    00362658ret x30
    0036265c
    0036265cloc_36265c:
    0036265cstr x0, [sp+8]
    00362660mov x3, x30
    00362664bl runtime.morestack_noctxt.abi0
    00362668ldr x0, [sp+8]
    0036266cb 0x362610
    00362610
    00362670
    00362670crypto/tls.(*xorNonceAEAD).explicitNonceLen: ; void crypto/tls.(*xorNonceAEAD).explicitNonceLen(crypto/tls.xorNonceAEAD * f)
    00362670str x30, [sp-32]!
    00362674stur x29, [sp-8]
    00362678sub x29, sp, 8
    0036267cstr x0, [sp+40]
    00362680str xzr, [sp+16]
    00362684str xzr, [sp+16]
    00362688mov x0, xzr
    0036268cadd x29, sp, 24
    00362690add sp, sp, 32
    00362694ret x30
    00362698udf 0
    0036269cudf 0
    00362670
    003626a0
    003626a0crypto/tls.(*xorNonceAEAD).Seal: ; void crypto/tls.(*xorNonceAEAD).Seal(crypto/tls.xorNonceAEAD * f, struct []uint8 out, struct []uint8 nonce, struct []uint8 plaintext, struct []uint8 additionalData)
    003626a0ldr x16, [x28+16]
    003626a4sub x17, sp, 144
    003626a8subs xzr, x17, x16
    003626acb.ls 0x362904
    003626b0sub x20, sp, 272
    003626b4stp x29, x30, [x20-8]
    003626b8add sp, x20, 0
    003626bcsub x29, sp, 8
    003626c0str x0, [sp+280]
    003626c4str x1, [sp+288]
    003626c8str x2, [sp+296]
    003626ccstr x3, [sp+304]
    003626d0str x4, [sp+312]
    003626d4str x5, [sp+320]
    003626d8str x6, [sp+328]
    003626dcstr x7, [sp+336]
    003626e0str x8, [sp+344]
    003626e4str x9, [sp+352]
    003626e8str x10, [sp+360]
    003626ecstr x11, [sp+368]
    003626f0str x12, [sp+376]
    003626f4str xzr, [sp+192]
    003626f8stp xzr, xzr, [sp+200]
    003626fcldr x13, [sp+320]
    00362700ldr x14, [sp+312]
    00362704ldr x15, [sp+328]
    00362708str x14, [sp+240]
    0036270cstr x13, [sp+248]
    00362710str x15, [sp+256]
    00362714str xzr, [sp+184]
    00362718str x13, [sp+176]
    0036271cb 0x362720
    00362720
    00362720loc_362720:
    00362720ldr x13, [sp+176]
    00362724ldr x14, [sp+184]
    00362728subs xzr, x13, x14
    0036272cb.gt 0x362734
    00362730b 0x3627a4
    00362734
    00362734loc_362734:
    00362734ldr x13, [sp+184]
    00362738str x13, [sp+136]
    0036273cldr x13, [sp+184]
    00362740ldr x14, [sp+240]
    00362744ldrb w13, [x14+x13]
    00362748strb w13, [sp+127]
    0036274cldr x13, [sp+136]
    00362750add x0, x13, 4
    00362754str x0, [sp+168]
    00362758ldr x13, [sp+280]
    0036275cldrsb x27, [x13]
    00362760subs xzr, x0, 12
    00362764b.lo 0x36276c
    00362768b 0x3628f8
    0036276c
    0036276cloc_36276c:
    0036276cldr x14, [sp+280]
    00362770ldrsb x27, [x14]
    00362774ldrb w13, [x13+x0]
    00362778ldrb w15, [sp+127]
    0036277ceor x13, x13, x15
    00362780subs xzr, x0, 12
    00362784b.lo 0x36278c
    00362788b 0x3628f0
    0036278c
    0036278cloc_36278c:
    0036278cstrb w13, [x14+x0]
    00362790b 0x362794
    00362794
    00362794loc_362794:
    00362794ldr x13, [sp+184]
    00362798add x13, x13, 1
    0036279cstr x13, [sp+184]
    003627a0b 0x362720
    003627a4
    003627a4loc_3627a4:
    003627a4ldr x4, [sp+280]
    003627a8ldrsb x27, [x4]
    003627acldrsb x27, [x4]
    003627b0b 0x3627b4
    003627b4
    003627b4loc_3627b4:
    003627b4str x4, [sp+240]
    003627b8orr x6, xzr, 12
    003627bcstr x6, [sp+248]
    003627c0str x6, [sp+256]
    003627c4ldr x13, [sp+280]
    003627c8ldrsb x27, [x13]
    003627ccldr x14, [x13+16]
    003627d0ldrsb x27, [x14]
    003627d4ldr x0, [x13+24]
    003627d8ldr x1, [sp+288]
    003627dcldr x7, [sp+336]
    003627e0ldr x10, [sp+360]
    003627e4ldr x2, [sp+296]
    003627e8ldr x8, [sp+344]
    003627ecldr x11, [sp+368]
    003627f0ldr x3, [sp+304]
    003627f4ldr x9, [sp+352]
    003627f8ldr x12, [sp+376]
    003627fcldr x13, [x14+48]
    00362800mov x5, x6
    00362804blr x13
    00362808str x0, [sp+216]
    0036280cstr x1, [sp+224]
    00362810str x2, [sp+232]
    00362814ldr x13, [sp+320]
    00362818ldr x14, [sp+312]
    0036281cldr x15, [sp+328]
    00362820str x14, [sp+240]
    00362824str x13, [sp+248]
    00362828str x15, [sp+256]
    0036282cstr xzr, [sp+160]
    00362830str x13, [sp+152]
    00362834b 0x362838
    00362838
    00362838loc_362838:
    00362838ldr x3, [sp+152]
    0036283cldr x4, [sp+160]
    00362840subs xzr, x3, x4
    00362844b.gt 0x36284c
    00362848b 0x3628bc
    0036284c
    0036284cloc_36284c:
    0036284cldr x3, [sp+160]
    00362850str x3, [sp+128]
    00362854ldr x3, [sp+160]
    00362858ldr x4, [sp+240]
    0036285cldrb w3, [x4+x3]
    00362860strb w3, [sp+126]
    00362864ldr x3, [sp+128]
    00362868add x0, x3, 4
    0036286cstr x0, [sp+144]
    00362870ldr x3, [sp+280]
    00362874ldrsb x27, [x3]
    00362878subs xzr, x0, 12
    0036287cb.lo 0x362884
    00362880b 0x3628e8
    00362884
    00362884loc_362884:
    00362884ldr x4, [sp+280]
    00362888ldrsb x27, [x4]
    0036288cldrb w3, [x3+x0]
    00362890ldrb w5, [sp+126]
    00362894eor x3, x3, x5
    00362898subs xzr, x0, 12
    0036289cb.lo 0x3628a4
    003628a0b 0x3628e0
    003628a4
    003628a4loc_3628a4:
    003628a4strb w3, [x4+x0]
    003628a8b 0x3628ac
    003628ac
    003628acloc_3628ac:
    003628acldr x3, [sp+160]
    003628b0add x3, x3, 1
    003628b4str x3, [sp+160]
    003628b8b 0x362838
    003628bc
    003628bcloc_3628bc:
    003628bcldr x0, [sp+216]
    003628c0ldr x1, [sp+224]
    003628c4ldr x2, [sp+232]
    003628c8str x0, [sp+192]
    003628ccstr x1, [sp+200]
    003628d0str x2, [sp+208]
    003628d4ldp x29, x30, [sp-8]
    003628d8add sp, sp, 272
    003628dcret x30
    003628e0
    003628e0loc_3628e0:
    003628e0orr x1, xzr, 12
    003628e4bl runtime.panicIndex
    003628e8
    003628e8loc_3628e8:
    003628e8orr x1, xzr, 12
    003628ecbl runtime.panicIndex
    003628f0
    003628f0loc_3628f0:
    003628f0orr x1, xzr, 12
    003628f4bl runtime.panicIndex
    003628f8
    003628f8loc_3628f8:
    003628f8orr x1, xzr, 12
    003628fcbl runtime.panicIndex
    00362900hint
    00362904
    00362904loc_362904:
    00362904stp x0, x1, [sp+8]
    00362908stp x2, x3, [sp+24]
    0036290cstp x4, x5, [sp+40]
    00362910stp x6, x7, [sp+56]
    00362914stp x8, x9, [sp+72]
    00362918stp x10, x11, [sp+88]
    0036291cstr x12, [sp+104]
    00362920mov x3, x30
    00362924bl runtime.morestack_noctxt.abi0
    00362928ldp x0, x1, [sp+8]
    0036292cldp x2, x3, [sp+24]
    00362930ldp x4, x5, [sp+40]
    00362934ldp x6, x7, [sp+56]
    00362938ldp x8, x9, [sp+72]
    0036293cldp x10, x11, [sp+88]
    00362940ldr x12, [sp+104]
    00362944b 0x3626a0
    00362948udf 0
    0036294cudf 0
    003626a0
    00362950
    00362950crypto/tls.(*xorNonceAEAD).Open: ; void crypto/tls.(*xorNonceAEAD).Open(crypto/tls.xorNonceAEAD * f, struct []uint8 out, struct []uint8 nonce, struct []uint8 ciphertext, struct []uint8 additionalData)
    00362950ldr x16, [x28+16]
    00362954sub x17, sp, 256
    00362958subs xzr, x17, x16
    0036295cb.ls 0x362c40
    00362960sub x20, sp, 384
    00362964stp x29, x30, [x20-8]
    00362968add sp, x20, 0
    0036296csub x29, sp, 8
    00362970str x0, [sp+392]
    00362974str x1, [sp+400]
    00362978str x2, [sp+408]
    0036297cstr x3, [sp+416]
    00362980str x4, [sp+424]
    00362984str x5, [sp+432]
    00362988str x6, [sp+440]
    0036298cstr x7, [sp+448]
    00362990str x8, [sp+456]
    00362994str x9, [sp+464]
    00362998str x10, [sp+472]
    0036299cstr x11, [sp+480]
    003629a0str x12, [sp+488]
    003629a4str xzr, [sp+208]
    003629a8stp xzr, xzr, [sp+216]
    003629acstp xzr, xzr, [sp+192]
    003629b0ldr x13, [sp+432]
    003629b4ldr x14, [sp+424]
    003629b8ldr x15, [sp+440]
    003629bcstr x14, [sp+312]
    003629c0str x13, [sp+320]
    003629c4str x15, [sp+328]
    003629c8str xzr, [sp+184]
    003629ccstr x13, [sp+176]
    003629d0b 0x3629d4
    003629d4
    003629d4loc_3629d4:
    003629d4ldr x13, [sp+176]
    003629d8ldr x14, [sp+184]
    003629dcsubs xzr, x13, x14
    003629e0b.gt 0x3629e8
    003629e4b 0x362a58
    003629e8
    003629e8loc_3629e8:
    003629e8ldr x13, [sp+184]
    003629ecstr x13, [sp+136]
    003629f0ldr x13, [sp+184]
    003629f4ldr x14, [sp+312]
    003629f8ldrb w13, [x14+x13]
    003629fcstrb w13, [sp+127]
    00362a00ldr x13, [sp+136]
    00362a04add x0, x13, 4
    00362a08str x0, [sp+168]
    00362a0cldr x13, [sp+392]
    00362a10ldrsb x27, [x13]
    00362a14subs xzr, x0, 12
    00362a18b.lo 0x362a20
    00362a1cb 0x362c34
    00362a20
    00362a20loc_362a20:
    00362a20ldr x14, [sp+392]
    00362a24ldrsb x27, [x14]
    00362a28ldrb w13, [x13+x0]
    00362a2cldrb w15, [sp+127]
    00362a30eor x13, x13, x15
    00362a34subs xzr, x0, 12
    00362a38b.lo 0x362a40
    00362a3cb 0x362c2c
    00362a40
    00362a40loc_362a40:
    00362a40strb w13, [x14+x0]
    00362a44b 0x362a48
    00362a48
    00362a48loc_362a48:
    00362a48ldr x13, [sp+184]
    00362a4cadd x13, x13, 1
    00362a50str x13, [sp+184]
    00362a54b 0x3629d4
    00362a58
    00362a58loc_362a58:
    00362a58ldr x13, [sp+392]
    00362a5cldrsb x27, [x13]
    00362a60ldrsb x27, [x13]
    00362a64b 0x362a68
    00362a68
    00362a68loc_362a68:
    00362a68str x13, [sp+312]
    00362a6corr x13, xzr, 12
    00362a70str x13, [sp+320]
    00362a74str x13, [sp+328]
    00362a78str xzr, [sp+288]
    00362a7cstp xzr, xzr, [sp+296]
    00362a80stp xzr, xzr, [sp+272]
    00362a84ldr x13, [sp+392]
    00362a88ldrsb x27, [x13]
    00362a8cldr x14, [x13+16]
    00362a90ldrsb x27, [x14]
    00362a94ldr x0, [x13+24]
    00362a98ldr x1, [sp+400]
    00362a9cldr x7, [sp+448]
    00362aa0ldr x10, [sp+472]
    00362aa4ldr x2, [sp+408]
    00362aa8ldr x8, [sp+456]
    00362aacldr x11, [sp+480]
    00362ab0ldr x3, [sp+416]
    00362ab4ldr x9, [sp+464]
    00362ab8ldr x12, [sp+488]
    00362abcldr x13, [x14+32]
    00362ac0ldr x4, [sp+312]
    00362ac4ldr x5, [sp+320]
    00362ac8ldr x6, [sp+328]
    00362accblr x13
    00362ad0str x0, [sp+288]
    00362ad4str x1, [sp+296]
    00362ad8str x2, [sp+304]
    00362adcstr x3, [sp+272]
    00362ae0str x4, [sp+280]
    00362ae4ldr x13, [sp+288]
    00362ae8ldr x14, [sp+296]
    00362aecldr x15, [sp+304]
    00362af0str x13, [sp+352]
    00362af4str x14, [sp+360]
    00362af8str x15, [sp+368]
    00362afcldr x13, [sp+272]
    00362b00ldr x14, [sp+280]
    00362b04str x13, [sp+336]
    00362b08str x14, [sp+344]
    00362b0cldr x13, [sp+352]
    00362b10ldr x14, [sp+360]
    00362b14ldr x15, [sp+368]
    00362b18str x13, [sp+232]
    00362b1cstr x14, [sp+240]
    00362b20str x15, [sp+248]
    00362b24ldr x13, [sp+336]
    00362b28ldr x14, [sp+344]
    00362b2cstr x13, [sp+256]
    00362b30str x14, [sp+264]
    00362b34ldr x13, [sp+432]
    00362b38ldr x14, [sp+424]
    00362b3cldr x15, [sp+440]
    00362b40str x14, [sp+288]
    00362b44str x13, [sp+296]
    00362b48str x15, [sp+304]
    00362b4cstr xzr, [sp+160]
    00362b50str x13, [sp+152]
    00362b54b 0x362b58
    00362b58
    00362b58loc_362b58:
    00362b58ldr x5, [sp+152]
    00362b5cldr x6, [sp+160]
    00362b60subs xzr, x5, x6
    00362b64b.gt 0x362b6c
    00362b68b 0x362bdc
    00362b6c
    00362b6cloc_362b6c:
    00362b6cldr x5, [sp+160]
    00362b70str x5, [sp+128]
    00362b74ldr x5, [sp+160]
    00362b78ldr x6, [sp+288]
    00362b7cldrb w5, [x6+x5]
    00362b80strb w5, [sp+126]
    00362b84ldr x5, [sp+128]
    00362b88add x0, x5, 4
    00362b8cstr x0, [sp+144]
    00362b90ldr x5, [sp+392]
    00362b94ldrsb x27, [x5]
    00362b98subs xzr, x0, 12
    00362b9cb.lo 0x362ba4
    00362ba0b 0x362c24
    00362ba4
    00362ba4loc_362ba4:
    00362ba4ldr x6, [sp+392]
    00362ba8ldrsb x27, [x6]
    00362bacldrb w5, [x5+x0]
    00362bb0ldrb w7, [sp+126]
    00362bb4eor x5, x5, x7
    00362bb8subs xzr, x0, 12
    00362bbcb.lo 0x362bc4
    00362bc0b 0x362c1c
    00362bc4
    00362bc4loc_362bc4:
    00362bc4strb w5, [x6+x0]
    00362bc8b 0x362bcc
    00362bcc
    00362bccloc_362bcc:
    00362bccldr x5, [sp+160]
    00362bd0add x5, x5, 1
    00362bd4str x5, [sp+160]
    00362bd8b 0x362b58
    00362bdc
    00362bdcloc_362bdc:
    00362bdcldr x5, [sp+232]
    00362be0ldr x6, [sp+240]
    00362be4ldr x7, [sp+248]
    00362be8str x5, [sp+208]
    00362becstr x6, [sp+216]
    00362bf0str x7, [sp+224]
    00362bf4ldr x3, [sp+256]
    00362bf8ldr x4, [sp+264]
    00362bfcstr x3, [sp+192]
    00362c00str x4, [sp+200]
    00362c04ldr x0, [sp+208]
    00362c08ldr x1, [sp+216]
    00362c0cldr x2, [sp+224]
    00362c10ldp x29, x30, [sp-8]
    00362c14add sp, sp, 384
    00362c18ret x30
    00362c1c
    00362c1cloc_362c1c:
    00362c1corr x1, xzr, 12
    00362c20bl runtime.panicIndex
    00362c24
    00362c24loc_362c24:
    00362c24orr x1, xzr, 12
    00362c28bl runtime.panicIndex
    00362c2c
    00362c2cloc_362c2c:
    00362c2corr x1, xzr, 12
    00362c30bl runtime.panicIndex
    00362c34
    00362c34loc_362c34:
    00362c34orr x1, xzr, 12
    00362c38bl runtime.panicIndex
    00362c3chint
    00362c40
    00362c40loc_362c40:
    00362c40stp x0, x1, [sp+8]
    00362c44stp x2, x3, [sp+24]
    00362c48stp x4, x5, [sp+40]
    00362c4cstp x6, x7, [sp+56]
    00362c50stp x8, x9, [sp+72]
    00362c54stp x10, x11, [sp+88]
    00362c58str x12, [sp+104]
    00362c5cmov x3, x30
    00362c60bl runtime.morestack_noctxt.abi0
    00362c64ldp x0, x1, [sp+8]
    00362c68ldp x2, x3, [sp+24]
    00362c6cldp x4, x5, [sp+40]
    00362c70ldp x6, x7, [sp+56]
    00362c74ldp x8, x9, [sp+72]
    00362c78ldp x10, x11, [sp+88]
    00362c7cldr x12, [sp+104]
    00362c80b 0x362950
    00362c84udf 0
    00362c88udf 0
    00362c8cudf 0
    00362950
    00362c90
    00362c90crypto/tls.aeadAESGCM: ; void crypto/tls.aeadAESGCM(struct []uint8 key, struct []uint8 noncePrefix)
    00362c90ldr x16, [x28+16]
    00362c94sub x17, sp, 256
    00362c98subs xzr, x17, x16
    00362c9cb.ls 0x362fc8
    00362ca0sub x20, sp, 384
    00362ca4stp x29, x30, [x20-8]
    00362ca8add sp, x20, 0
    00362cacsub x29, sp, 8
    00362cb0str x0, [sp+392]
    00362cb4str x1, [sp+400]
    00362cb8str x2, [sp+408]
    00362cbcstr x3, [sp+416]
    00362cc0str x4, [sp+424]
    00362cc4str x5, [sp+432]
    00362cc8stp xzr, xzr, [sp+56]
    00362cccldr x3, [sp+424]
    00362cd0str x3, [sp+48]
    00362cd4subs xzr, x3, 4
    00362cd8b.ne 0x362fb0
    00362cdcb 0x362ce0
    00362ce0
    00362ce0loc_362ce0:
    00362ce0stp xzr, xzr, [sp+360]
    00362ce4stp xzr, xzr, [sp+344]
    00362ce8ldr x0, [sp+392]
    00362cecldr x1, [sp+400]
    00362cf0ldr x2, [sp+408]
    00362cf4bl crypto/aes.NewCipher
    00362cf8str x0, [sp+360]
    00362cfcstr x1, [sp+368]
    00362d00str x2, [sp+344]
    00362d04str x3, [sp+352]
    00362d08ldr x3, [sp+368]
    00362d0cldr x4, [sp+360]
    00362d10str x4, [sp+168]
    00362d14str x3, [sp+176]
    00362d18ldr x3, [sp+344]
    00362d1cldr x4, [sp+352]
    00362d20str x3, [sp+152]
    00362d24str x4, [sp+160]
    00362d28ldr x3, [sp+168]
    00362d2cldr x4, [sp+176]
    00362d30str x3, [sp+96]
    00362d34str x4, [sp+104]
    00362d38ldr x3, [sp+160]
    00362d3cldr x4, [sp+152]
    00362d40str x4, [sp+80]
    00362d44str x3, [sp+88]
    00362d48cbnz x4, 0x362f78
    00362d4cb 0x362d50
    00362d50
    00362d50loc_362d50:
    00362d50stp xzr, xzr, [sp+112]
    00362d54bl crypto/internal/boring.Unreachable
    00362d58str xzr, [sp+336]
    00362d5cstp xzr, xzr, [sp+344]
    00362d60ldr x0, [sp+96]
    00362d64ldr x1, [sp+104]
    00362d68adrp x2, 0x3b6000
    00362d6cadd x2, x2, 1336
    00362d70subs xzr, x0, x2
    00362d74b.eq 0x362d7c
    00362d78b 0x362f64
    00362d7c
    00362d7cloc_362d7c:
    00362d7cstr x1, [sp+272]
    00362d80mov x0, x1
    00362d84bl crypto/internal/fips140/aes/gcm.NewGCMForTLS12
    00362d88str x0, [sp+336]
    00362d8cstr x1, [sp+344]
    00362d90str x2, [sp+352]
    00362d94ldr x1, [sp+336]
    00362d98str x1, [sp+144]
    00362d9cldr x1, [sp+344]
    00362da0ldr x2, [sp+352]
    00362da4str x1, [sp+128]
    00362da8str x2, [sp+136]
    00362dacldr x1, [sp+144]
    00362db0str x1, [sp+336]
    00362db4adrp x2, 0x3b7000
    00362db8add x2, x2, 56
    00362dbcstr x2, [sp+112]
    00362dc0str x1, [sp+120]
    00362dc4ldr x1, [sp+136]
    00362dc8ldr x2, [sp+128]
    00362dccstr x2, [sp+80]
    00362dd0str x1, [sp+88]
    00362dd4cbnz x2, 0x362f2c
    00362dd8b 0x362ddc
    00362ddc
    00362ddcloc_362ddc:
    00362ddcadrp x0, 0x2e1000
    00362de0add x0, x0, 416
    00362de4bl runtime.newobject
    00362de8str x0, [sp+240]
    00362decadrp x27, 0x6e9000
    00362df0ldr w1, [x27+3056]
    00362df4cbz w1, 0x362dfc
    00362df8b 0x362e00
    00362dfc
    00362dfcloc_362dfc:
    00362dfcb 0x362e1c
    00362e00
    00362e00loc_362e00:
    00362e00str x0, [sp+184]
    00362e04mov x1, x0
    00362e08adrp x0, 0x2e1000
    00362e0cadd x0, x0, 416
    00362e10bl runtime.wbZero
    00362e14ldr x0, [sp+184]
    00362e18b 0x362e1c
    00362e1c
    00362e1cloc_362e1c:
    00362e1cstp xzr, xzr, [x0]
    00362e20stp xzr, xzr, [x0+16]
    00362e24ldr x3, [sp+240]
    00362e28ldrsb x27, [x3]
    00362e2cldr x4, [sp+120]
    00362e30ldr x5, [sp+112]
    00362e34str x5, [x3+16]
    00362e38adrp x27, 0x6e9000
    00362e3cldr w5, [x27+3056]
    00362e40cbz w5, 0x362e48
    00362e44b 0x362e4c
    00362e48
    00362e48loc_362e48:
    00362e48b 0x362e60
    00362e4c
    00362e4cloc_362e4c:
    00362e4cbl runtime.gcWriteBarrier2
    00362e50str x4, [x25]
    00362e54ldr x5, [x3+24]
    00362e58str x5, [x25+8]
    00362e5cb 0x362e60
    00362e60
    00362e60loc_362e60:
    00362e60str x4, [x3+24]
    00362e64ldr x3, [sp+240]
    00362e68str x3, [sp+72]
    00362e6cldrsb x27, [x3]
    00362e70ldrsb x27, [x3]
    00362e74b 0x362e78
    00362e78
    00362e78loc_362e78:
    00362e78str x3, [sp+312]
    00362e7corr x4, xzr, 12
    00362e80str x4, [sp+320]
    00362e84str x4, [sp+328]
    00362e88str x3, [sp+216]
    00362e8cstr x4, [sp+224]
    00362e90str x4, [sp+232]
    00362e94ldr x3, [sp+424]
    00362e98ldr x4, [sp+416]
    00362e9cldr x5, [sp+432]
    00362ea0str x4, [sp+192]
    00362ea4str x3, [sp+200]
    00362ea8str x5, [sp+208]
    00362eacldr x4, [sp+224]
    00362eb0str x4, [sp+40]
    00362eb4subs xzr, x4, x3
    00362eb8b.gt 0x362ec0
    00362ebcb 0x362ec8
    00362ec0
    00362ec0loc_362ec0:
    00362ec0str x3, [sp+40]
    00362ec4b 0x362ecc
    00362ec8
    00362ec8loc_362ec8:
    00362ec8b 0x362ecc
    00362ecc
    00362eccloc_362ecc:
    00362eccldr x3, [sp+192]
    00362ed0ldr x4, [sp+216]
    00362ed4subs xzr, x3, x4
    00362ed8b.ne 0x362ee0
    00362edcb 0x362efc
    00362ee0
    00362ee0loc_362ee0:
    00362ee0ldr x3, [sp+40]
    00362ee4str x3, [sp+32]
    00362ee8ldr x2, [sp+32]
    00362eecldr x1, [sp+192]
    00362ef0ldr x0, [sp+216]
    00362ef4bl runtime.memmove
    00362ef8b 0x362f00
    00362efc
    00362efcloc_362efc:
    00362efcb 0x362f00
    00362f00
    00362f00loc_362f00:
    00362f00ldr x2, [sp+72]
    00362f04str x2, [sp+304]
    00362f08adrp x3, 0x3b7000
    00362f0cadd x3, x3, 2320
    00362f10str x3, [sp+56]
    00362f14str x2, [sp+64]
    00362f18ldr x0, [sp+56]
    00362f1cldr x1, [sp+64]
    00362f20ldp x29, x30, [sp-8]
    00362f24add sp, sp, 384
    00362f28ret x30
    00362f2c
    00362f2cloc_362f2c:
    00362f2cstr x2, [sp+256]
    00362f30str x1, [sp+264]
    00362f34str x2, [sp+248]
    00362f38ldr x2, [sp+248]
    00362f3ccbnz x2, 0x362f44
    00362f40b 0x362f60
    00362f44
    00362f44loc_362f44:
    00362f44ldr x2, [sp+248]
    00362f48ldr x2, [x2+8]
    00362f4cstr x2, [sp+248]
    00362f50b 0x362f54
    00362f54
    00362f54loc_362f54:
    00362f54ldr x1, [sp+264]
    00362f58ldr x0, [sp+248]
    00362f5cbl runtime.gopanic
    00362f60
    00362f60loc_362f60:
    00362f60b 0x362f54
    00362f64
    00362f64loc_362f64:
    00362f64adrp x1, 0x2da000
    00362f68add x1, x1, 3872
    00362f6cadrp x2, 0x2ca000
    00362f70add x2, x2, 3552
    00362f74bl runtime.panicdottypeI
    00362f78
    00362f78loc_362f78:
    00362f78str x4, [sp+288]
    00362f7cstr x3, [sp+296]
    00362f80str x4, [sp+280]
    00362f84ldr x2, [sp+280]
    00362f88cbnz x2, 0x362f90
    00362f8cb 0x362fac
    00362f90
    00362f90loc_362f90:
    00362f90ldr x2, [sp+280]
    00362f94ldr x2, [x2+8]
    00362f98str x2, [sp+280]
    00362f9cb 0x362fa0
    00362fa0
    00362fa0loc_362fa0:
    00362fa0ldr x1, [sp+296]
    00362fa4ldr x0, [sp+280]
    00362fa8bl runtime.gopanic
    00362fac
    00362facloc_362fac:
    00362facb 0x362fa0
    00362fb0
    00362fb0loc_362fb0:
    00362fb0adrp x0, 0x293000
    00362fb4add x0, x0, 2944
    00362fb8adrp x1, 0x3af000
    00362fbcadd x1, x1, 4080
    00362fc0bl runtime.gopanic
    00362fc4hint
    00362fc8
    00362fc8loc_362fc8:
    00362fc8stp x0, x1, [sp+8]
    00362fccstp x2, x3, [sp+24]
    00362fd0stp x4, x5, [sp+40]
    00362fd4mov x3, x30
    00362fd8bl runtime.morestack_noctxt.abi0
    00362fdcldp x0, x1, [sp+8]
    00362fe0ldp x2, x3, [sp+24]
    00362fe4ldp x4, x5, [sp+40]
    00362fe8b 0x362c90
    00362fecudf 0
    00362c90
    00362ff0
    00362ff0crypto/tls.aeadChaCha20Poly1305: ; void crypto/tls.aeadChaCha20Poly1305(struct []uint8 key, struct []uint8 nonceMask)
    00362ff0ldr x16, [x28+16]
    00362ff4sub x17, sp, 176
    00362ff8subs xzr, x17, x16
    00362ffcb.ls 0x363250
    00363000sub x20, sp, 304
    00363004stp x29, x30, [x20-8]
    00363008add sp, x20, 0
    0036300csub x29, sp, 8
    00363010str x0, [sp+312]
    00363014str x1, [sp+320]
    00363018str x2, [sp+328]
    0036301cstr x3, [sp+336]
    00363020str x4, [sp+344]
    00363024str x5, [sp+352]
    00363028stp xzr, xzr, [sp+56]
    0036302cldr x3, [sp+344]
    00363030str x3, [sp+32]
    00363034subs xzr, x3, 12
    00363038b.ne 0x363238
    0036303cb 0x363040
    00363040
    00363040loc_363040:
    00363040stp xzr, xzr, [sp+112]
    00363044stp xzr, xzr, [sp+280]
    00363048ldr x0, [sp+312]
    0036304cldr x1, [sp+320]
    00363050ldr x2, [sp+328]
    00363054bl vendor/golang.org/x/crypto/chacha20poly1305.New
    00363058str x0, [sp+112]
    0036305cstr x1, [sp+120]
    00363060str x2, [sp+280]
    00363064str x3, [sp+288]
    00363068ldr x3, [sp+120]
    0036306cldr x4, [sp+112]
    00363070str x4, [sp+144]
    00363074str x3, [sp+152]
    00363078ldr x3, [sp+280]
    0036307cldr x4, [sp+288]
    00363080str x3, [sp+128]
    00363084str x4, [sp+136]
    00363088ldr x3, [sp+144]
    0036308cldr x4, [sp+152]
    00363090str x3, [sp+96]
    00363094str x4, [sp+104]
    00363098ldr x3, [sp+136]
    0036309cldr x4, [sp+128]
    003630a0str x4, [sp+80]
    003630a4str x3, [sp+88]
    003630a8cbnz x4, 0x363200
    003630acb 0x3630b0
    003630b0
    003630b0loc_3630b0:
    003630b0adrp x0, 0x2e0000
    003630b4add x0, x0, 256
    003630b8bl runtime.newobject
    003630bcstr x0, [sp+216]
    003630c0adrp x27, 0x6e8000
    003630c4ldr w1, [x27+3056]
    003630c8cbz w1, 0x3630d0
    003630ccb 0x3630d4
    003630d0
    003630d0loc_3630d0:
    003630d0b 0x3630f0
    003630d4
    003630d4loc_3630d4:
    003630d4str x0, [sp+160]
    003630d8mov x1, x0
    003630dcadrp x0, 0x2e0000
    003630e0add x0, x0, 256
    003630e4bl runtime.wbZero
    003630e8ldr x0, [sp+160]
    003630ecb 0x3630f0
    003630f0
    003630f0loc_3630f0:
    003630f0stp xzr, xzr, [x0]
    003630f4stp xzr, xzr, [x0+16]
    003630f8ldr x3, [sp+216]
    003630fcldrsb x27, [x3]
    00363100ldr x4, [sp+104]
    00363104ldr x5, [sp+96]
    00363108str x5, [x3+16]
    0036310cadrp x27, 0x6e8000
    00363110ldr w5, [x27+3056]
    00363114cbz w5, 0x36311c
    00363118b 0x363120
    0036311c
    0036311cloc_36311c:
    0036311cb 0x363134
    00363120
    00363120loc_363120:
    00363120bl runtime.gcWriteBarrier2
    00363124str x4, [x25]
    00363128ldr x5, [x3+24]
    0036312cstr x5, [x25+8]
    00363130b 0x363134
    00363134
    00363134loc_363134:
    00363134str x4, [x3+24]
    00363138ldr x3, [sp+216]
    0036313cstr x3, [sp+72]
    00363140ldrsb x27, [x3]
    00363144ldrsb x27, [x3]
    00363148b 0x36314c
    0036314c
    0036314cloc_36314c:
    0036314cstr x3, [sp+256]
    00363150orr x4, xzr, 12
    00363154str x4, [sp+264]
    00363158str x4, [sp+272]
    0036315cstr x3, [sp+192]
    00363160str x4, [sp+200]
    00363164str x4, [sp+208]
    00363168ldr x3, [sp+344]
    0036316cldr x4, [sp+336]
    00363170ldr x5, [sp+352]
    00363174str x4, [sp+168]
    00363178str x3, [sp+176]
    0036317cstr x5, [sp+184]
    00363180ldr x4, [sp+200]
    00363184str x4, [sp+48]
    00363188subs xzr, x4, x3
    0036318cb.gt 0x363194
    00363190b 0x36319c
    00363194
    00363194loc_363194:
    00363194str x3, [sp+48]
    00363198b 0x3631a0
    0036319c
    0036319cloc_36319c:
    0036319cb 0x3631a0
    003631a0
    003631a0loc_3631a0:
    003631a0ldr x3, [sp+168]
    003631a4ldr x4, [sp+192]
    003631a8subs xzr, x3, x4
    003631acb.ne 0x3631b4
    003631b0b 0x3631d0
    003631b4
    003631b4loc_3631b4:
    003631b4ldr x3, [sp+48]
    003631b8str x3, [sp+40]
    003631bcldr x2, [sp+40]
    003631c0ldr x1, [sp+168]
    003631c4ldr x0, [sp+192]
    003631c8bl runtime.memmove
    003631ccb 0x3631d4
    003631d0
    003631d0loc_3631d0:
    003631d0b 0x3631d4
    003631d4
    003631d4loc_3631d4:
    003631d4ldr x2, [sp+72]
    003631d8str x2, [sp+248]
    003631dcadrp x3, 0x3b6000
    003631e0add x3, x3, 2256
    003631e4str x3, [sp+56]
    003631e8str x2, [sp+64]
    003631ecldr x0, [sp+56]
    003631f0ldr x1, [sp+64]
    003631f4ldp x29, x30, [sp-8]
    003631f8add sp, sp, 304
    003631fcret x30
    00363200
    00363200loc_363200:
    00363200str x4, [sp+232]
    00363204str x3, [sp+240]
    00363208str x4, [sp+224]
    0036320cldr x2, [sp+224]
    00363210cbnz x2, 0x363218
    00363214b 0x363234
    00363218
    00363218loc_363218:
    00363218ldr x2, [sp+224]
    0036321cldr x2, [x2+8]
    00363220str x2, [sp+224]
    00363224b 0x363228
    00363228
    00363228loc_363228:
    00363228ldr x1, [sp+240]
    0036322cldr x0, [sp+224]
    00363230bl runtime.gopanic
    00363234
    00363234loc_363234:
    00363234b 0x363228
    00363238
    00363238loc_363238:
    00363238adrp x0, 0x292000
    0036323cadd x0, x0, 2944
    00363240adrp x1, 0x3ae000
    00363244add x1, x1, 4080
    00363248bl runtime.gopanic
    0036324chint
    00363250
    00363250loc_363250:
    00363250stp x0, x1, [sp+8]
    00363254stp x2, x3, [sp+24]
    00363258stp x4, x5, [sp+40]
    0036325cmov x3, x30
    00363260bl runtime.morestack_noctxt.abi0
    00363264ldp x0, x1, [sp+8]
    00363268ldp x2, x3, [sp+24]
    0036326cldp x4, x5, [sp+40]
    00363270b 0x362ff0
    00363274udf 0
    00363278udf 0
    0036327cudf 0
    00362ff0
    00363280
    00363280crypto/tls.(*cthWrapper).Size: ; void crypto/tls.(*cthWrapper).Size(crypto/tls.cthWrapper * c)
    00363280ldr x16, [x28+16]
    00363284subs xzr, sp, x16
    00363288b.ls 0x3632cc
    0036328cstr x30, [sp-48]!
    00363290stur x29, [sp-8]
    00363294sub x29, sp, 8
    00363298str x0, [sp+56]
    0036329cstr xzr, [sp+24]
    003632a0ldrsb x27, [x0]
    003632a4ldr x1, [x0]
    003632a8ldrsb x27, [x1]
    003632acldr x0, [x0+8]
    003632b0ldr x1, [x1+48]
    003632b4blr x1
    003632b8str x0, [sp+32]
    003632bcstr x0, [sp+24]
    003632c0ldur x29, [sp-8]
    003632c4ldr x30, [sp], 48
    003632c8ret x30
    003632cc
    003632ccloc_3632cc:
    003632ccstr x0, [sp+8]
    003632d0mov x3, x30
    003632d4bl runtime.morestack_noctxt.abi0
    003632d8ldr x0, [sp+8]
    003632dcb 0x363280
    00363280
    003632e0
    003632e0crypto/tls.(*cthWrapper).BlockSize: ; void crypto/tls.(*cthWrapper).BlockSize(crypto/tls.cthWrapper * c)
    003632e0ldr x16, [x28+16]
    003632e4subs xzr, sp, x16
    003632e8b.ls 0x36332c
    003632ecstr x30, [sp-48]!
    003632f0stur x29, [sp-8]
    003632f4sub x29, sp, 8
    003632f8str x0, [sp+56]
    003632fcstr xzr, [sp+24]
    00363300ldrsb x27, [x0]
    00363304ldr x1, [x0]
    00363308ldrsb x27, [x1]
    0036330cldr x0, [x0+8]
    00363310ldr x1, [x1+24]
    00363314blr x1
    00363318str x0, [sp+32]
    0036331cstr x0, [sp+24]
    00363320ldur x29, [sp-8]
    00363324ldr x30, [sp], 48
    00363328ret x30
    0036332c
    0036332cloc_36332c:
    0036332cstr x0, [sp+8]
    00363330mov x3, x30
    00363334bl runtime.morestack_noctxt.abi0
    00363338ldr x0, [sp+8]
    0036333cb 0x3632e0
    003632e0
    00363340
    00363340crypto/tls.(*cthWrapper).Reset: ; void crypto/tls.(*cthWrapper).Reset(crypto/tls.cthWrapper * c)
    00363340ldr x16, [x28+16]
    00363344subs xzr, sp, x16
    00363348b.ls 0x363380
    0036334cstr x30, [sp-32]!
    00363350stur x29, [sp-8]
    00363354sub x29, sp, 8
    00363358str x0, [sp+40]
    0036335cldrsb x27, [x0]
    00363360ldr x1, [x0]
    00363364ldrsb x27, [x1]
    00363368ldr x0, [x0+8]
    0036336cldr x1, [x1+40]
    00363370blr x1
    00363374ldur x29, [sp-8]
    00363378ldr x30, [sp], 32
    0036337cret x30
    00363380
    00363380loc_363380:
    00363380str x0, [sp+8]
    00363384mov x3, x30
    00363388bl runtime.morestack_noctxt.abi0
    0036338cldr x0, [sp+8]
    00363390b 0x363340
    00363394udf 0
    00363398udf 0
    0036339cudf 0
    00363340
    003633a0
    003633a0crypto/tls.(*cthWrapper).Write: ; void crypto/tls.(*cthWrapper).Write(crypto/tls.cthWrapper * c, struct []uint8 p)
    003633a0ldr x16, [x28+16]
    003633a4subs xzr, sp, x16
    003633a8b.ls 0x363438
    003633acstr x30, [sp-128]!
    003633b0stur x29, [sp-8]
    003633b4sub x29, sp, 8
    003633b8str x0, [sp+136]
    003633bcstr x1, [sp+144]
    003633c0str x2, [sp+152]
    003633c4str x3, [sp+160]
    003633c8str xzr, [sp+48]
    003633ccstp xzr, xzr, [sp+72]
    003633d0stp xzr, xzr, [sp+88]
    003633d4ldr x4, [sp+136]
    003633d8ldrsb x27, [x4]
    003633dcldr x5, [x4]
    003633e0ldrsb x27, [x5]
    003633e4ldr x0, [x4+8]
    003633e8ldr x1, [sp+144]
    003633ecldr x2, [sp+152]
    003633f0ldr x3, [sp+160]
    003633f4ldr x4, [x5+64]
    003633f8blr x4
    003633fcstr x0, [sp+56]
    00363400str x1, [sp+88]
    00363404str x2, [sp+96]
    00363408ldr x4, [sp+56]
    0036340cstr x4, [sp+64]
    00363410str x1, [sp+104]
    00363414str x2, [sp+112]
    00363418ldr x4, [sp+64]
    0036341cstr x4, [sp+48]
    00363420str x1, [sp+72]
    00363424str x2, [sp+80]
    00363428ldr x0, [sp+48]
    0036342cldur x29, [sp-8]
    00363430ldr x30, [sp], 128
    00363434ret x30
    00363438
    00363438loc_363438:
    00363438stp x0, x1, [sp+8]
    0036343cstp x2, x3, [sp+24]
    00363440mov x3, x30
    00363444bl runtime.morestack_noctxt.abi0
    00363448ldp x0, x1, [sp+8]
    0036344cldp x2, x3, [sp+24]
    00363450b 0x3633a0
    00363454udf 0
    00363458udf 0
    0036345cudf 0
    003633a0
    00363460
    00363460crypto/tls.(*cthWrapper).Sum: ; void crypto/tls.(*cthWrapper).Sum(crypto/tls.cthWrapper * c, struct []uint8 b)
    00363460ldr x16, [x28+16]
    00363464subs xzr, sp, x16
    00363468b.ls 0x3634dc
    0036346cstr x30, [sp-96]!
    00363470stur x29, [sp-8]
    00363474sub x29, sp, 8
    00363478str x0, [sp+104]
    0036347cstr x1, [sp+112]
    00363480str x2, [sp+120]
    00363484str x3, [sp+128]
    00363488str xzr, [sp+40]
    0036348cstp xzr, xzr, [sp+48]
    00363490ldr x4, [sp+104]
    00363494ldrsb x27, [x4]
    00363498ldr x5, [x4]
    0036349cldrsb x27, [x5]
    003634a0ldr x0, [x4+8]
    003634a4ldr x1, [sp+112]
    003634a8ldr x2, [sp+120]
    003634acldr x3, [sp+128]
    003634b0ldr x4, [x5+32]
    003634b4blr x4
    003634b8str x0, [sp+64]
    003634bcstr x1, [sp+72]
    003634c0str x2, [sp+80]
    003634c4str x0, [sp+40]
    003634c8str x1, [sp+48]
    003634ccstr x2, [sp+56]
    003634d0ldur x29, [sp-8]
    003634d4ldr x30, [sp], 96
    003634d8ret x30
    003634dc
    003634dcloc_3634dc:
    003634dcstp x0, x1, [sp+8]
    003634e0stp x2, x3, [sp+24]
    003634e4mov x3, x30
    003634e8bl runtime.morestack_noctxt.abi0
    003634ecldp x0, x1, [sp+8]
    003634f0ldp x2, x3, [sp+24]
    003634f4b 0x363460
    003634f8udf 0
    003634fcudf 0
    00363460
    00363500
    00363500crypto/tls.newConstantTimeHash: ; void crypto/tls.newConstantTimeHash(func() hash.Hash h)
    00363500ldr x16, [x28+16]
    00363504subs xzr, sp, x16
    00363508b.ls 0x363590
    0036350cstr x30, [sp-64]!
    00363510stur x29, [sp-8]
    00363514sub x29, sp, 8
    00363518str x0, [sp+72]
    0036351cstr xzr, [sp+40]
    00363520bl crypto/internal/boring.Unreachable
    00363524adrp x0, 0x2d1000
    00363528add x0, x0, 2624
    0036352cbl runtime.newobject
    00363530str x0, [sp+48]
    00363534adrp x1, 0
    00363538add x1, x1, 1456
    0036353cstr x1, [x0]
    00363540ldr x0, [sp+72]
    00363544ldr x1, [sp+48]
    00363548ldrsb x27, [x1]
    0036354cadrp x27, 0x6e8000
    00363550ldr w2, [x27+3056]
    00363554cbz w2, 0x36355c
    00363558b 0x363560
    0036355c
    0036355cloc_36355c:
    0036355cb 0x363574
    00363560
    00363560loc_363560:
    00363560bl runtime.gcWriteBarrier2
    00363564str x0, [x25]
    00363568ldr x2, [x1+8]
    0036356cstr x2, [x25+8]
    00363570b 0x363574
    00363574
    00363574loc_363574:
    00363574str x0, [x1+8]
    00363578ldr x1, [sp+48]
    0036357cstr x1, [sp+40]
    00363580ldr x0, [sp+40]
    00363584ldur x29, [sp-8]
    00363588ldr x30, [sp], 64
    0036358cret x30
    00363590
    00363590loc_363590:
    00363590str x0, [sp+8]
    00363594mov x3, x30
    00363598bl runtime.morestack_noctxt.abi0
    0036359cldr x0, [sp+8]
    003635a0b 0x363500
    003635a4udf 0
    003635a8udf 0
    003635acudf 0
    00363500
    003635b0
    003635b0crypto/tls.newConstantTimeHash.func1: ; void crypto/tls.newConstantTimeHash.func1(void)
    003635b0ldr x16, [x28+16]
    003635b4subs xzr, sp, x16
    003635b8b.ls 0x3636a4
    003635bcstr x30, [sp-128]!
    003635c0stur x29, [sp-8]
    003635c4sub x29, sp, 8
    003635c8ldr x0, [x26+8]
    003635ccstr x0, [sp+56]
    003635d0stp xzr, xzr, [sp+40]
    003635d4ldr x26, [sp+56]
    003635d8ldr x0, [x26]
    003635dcblr x0
    003635e0str x0, [sp+104]
    003635e4str x1, [sp+112]
    003635e8stp xzr, xzr, [sp+88]
    003635ecldr x0, [sp+112]
    003635f0ldr x1, [sp+104]
    003635f4cbnz x1, 0x3635fc
    003635f8b 0x363694
    003635fc
    003635fcloc_3635fc:
    003635fcstr x0, [sp+64]
    00363600ldr x1, [x1+8]
    00363604adrp x0, 0x6ac000
    00363608add x0, x0, 144
    0036360cbl runtime.typeAssert
    00363610b 0x363614
    00363614
    00363614loc_363614:
    00363614str x0, [sp+88]
    00363618ldr x1, [sp+64]
    0036361cstr x1, [sp+96]
    00363620adrp x0, 0x2c7000
    00363624add x0, x0, 3808
    00363628bl runtime.newobject
    0036362cstr x0, [sp+72]
    00363630ldr x1, [sp+96]
    00363634ldr x2, [sp+88]
    00363638str x2, [x0]
    0036363cadrp x27, 0x6e8000
    00363640ldr w2, [x27+3056]
    00363644cbz w2, 0x36364c
    00363648b 0x363650
    0036364c
    0036364cloc_36364c:
    0036364cb 0x363664
    00363650
    00363650loc_363650:
    00363650bl runtime.gcWriteBarrier2
    00363654str x1, [x25]
    00363658ldr x2, [x0+8]
    0036365cstr x2, [x25+8]
    00363660b 0x363664
    00363664
    00363664loc_363664:
    00363664str x1, [x0+8]
    00363668ldr x2, [sp+72]
    0036366cstr x2, [sp+80]
    00363670adrp x3, 0x3b6000
    00363674add x3, x3, 2192
    00363678str x3, [sp+40]
    0036367cstr x2, [sp+48]
    00363680ldr x0, [sp+40]
    00363684ldr x1, [sp+48]
    00363688ldur x29, [sp-8]
    0036368cldr x30, [sp], 128
    00363690ret x30
    00363694
    00363694loc_363694:
    00363694adrp x0, 0x2e0000
    00363698add x0, x0, 96
    0036369cbl runtime.panicnildottype
    003636a0hint
    003636a4
    003636a4loc_3636a4:
    003636a4mov x3, x30
    003636a8bl runtime.morestack.abi0
    003636acb 0x3635b0
    003635b0
    003636b0
    003636b0crypto/tls.tls10MAC: ; void crypto/tls.tls10MAC(hash.Hash h, struct []uint8 out, struct []uint8 seq, struct []uint8 header, struct []uint8 data, struct []uint8 extra)
    003636b0ldr x16, [x28+16]
    003636b4subs xzr, sp, x16
    003636b8b.ls 0x363820
    003636bcstr x30, [sp-96]!
    003636c0stur x29, [sp-8]
    003636c4sub x29, sp, 8
    003636c8str x0, [sp+128]
    003636ccstr x1, [sp+136]
    003636d0str x2, [sp+144]
    003636d4str x3, [sp+152]
    003636d8str x4, [sp+160]
    003636dcstr x5, [sp+168]
    003636e0str x6, [sp+176]
    003636e4str x7, [sp+184]
    003636e8str x8, [sp+192]
    003636ecstr x9, [sp+200]
    003636f0str x10, [sp+208]
    003636f4str x11, [sp+216]
    003636f8str x12, [sp+224]
    003636fcstr x13, [sp+232]
    00363700str xzr, [sp+40]
    00363704stp xzr, xzr, [sp+48]
    00363708ldr x1, [sp+128]
    0036370cldrsb x27, [x1]
    00363710ldr x1, [x1+32]
    00363714ldr x0, [sp+136]
    00363718blr x1
    0036371cldr x2, [sp+176]
    00363720ldr x3, [sp+184]
    00363724ldr x1, [sp+128]
    00363728ldrsb x27, [x1]
    0036372cldr x1, [x1+56]
    00363730ldr x4, [sp+168]
    00363734ldr x0, [sp+136]
    00363738mov x5, x1
    0036373cmov x1, x4
    00363740blr x5
    00363744ldr x2, [sp+200]
    00363748ldr x3, [sp+208]
    0036374cldr x1, [sp+128]
    00363750ldrsb x27, [x1]
    00363754ldr x1, [x1+56]
    00363758ldr x4, [sp+192]
    0036375cldr x0, [sp+136]
    00363760mov x5, x1
    00363764mov x1, x4
    00363768blr x5
    0036376cldr x2, [sp+224]
    00363770ldr x3, [sp+232]
    00363774ldr x1, [sp+128]
    00363778ldrsb x27, [x1]
    0036377cldr x1, [x1+56]
    00363780ldr x4, [sp+216]
    00363784ldr x0, [sp+136]
    00363788mov x5, x1
    0036378cmov x1, x4
    00363790blr x5
    00363794ldr x2, [sp+152]
    00363798ldr x3, [sp+160]
    0036379cldr x1, [sp+128]
    003637a0ldrsb x27, [x1]
    003637a4ldr x1, [x1+48]
    003637a8ldr x4, [sp+144]
    003637acldr x0, [sp+136]
    003637b0mov x5, x1
    003637b4mov x1, x4
    003637b8blr x5
    003637bcstr x0, [sp+64]
    003637c0str x1, [sp+72]
    003637c4str x2, [sp+80]
    003637c8ldr x1, [sp+104]
    003637cccbnz x1, 0x3637d4
    003637d0b 0x3637f8
    003637d4
    003637d4loc_3637d4:
    003637d4ldr x2, [sp+112]
    003637d8ldr x3, [sp+120]
    003637dcldr x4, [sp+128]
    003637e0ldrsb x27, [x4]
    003637e4ldr x4, [x4+56]
    003637e8ldr x1, [sp+104]
    003637ecldr x0, [sp+136]
    003637f0blr x4
    003637f4b 0x3637fc
    003637f8
    003637f8loc_3637f8:
    003637f8b 0x3637fc
    003637fc
    003637fcloc_3637fc:
    003637fcldr x0, [sp+64]
    00363800ldr x1, [sp+72]
    00363804ldr x2, [sp+80]
    00363808str x0, [sp+40]
    0036380cstr x1, [sp+48]
    00363810str x2, [sp+56]
    00363814ldur x29, [sp-8]
    00363818ldr x30, [sp], 96
    0036381cret x30
    00363820
    00363820loc_363820:
    00363820stp x0, x1, [sp+32]
    00363824stp x2, x3, [sp+48]
    00363828stp x4, x5, [sp+64]
    0036382cstp x6, x7, [sp+80]
    00363830stp x8, x9, [sp+96]
    00363834stp x10, x11, [sp+112]
    00363838stp x12, x13, [sp+128]
    0036383cmov x3, x30
    00363840bl runtime.morestack_noctxt.abi0
    00363844ldp x0, x1, [sp+32]
    00363848ldp x2, x3, [sp+48]
    0036384cldp x4, x5, [sp+64]
    00363850ldp x6, x7, [sp+80]
    00363854ldp x8, x9, [sp+96]
    00363858ldp x10, x11, [sp+112]
    0036385cldp x12, x13, [sp+128]
    00363860b 0x3636b0
    00363864udf 0
    00363868udf 0
    0036386cudf 0
    003636b0
    00363870
    00363870crypto/tls.rsaKA: ; void crypto/tls.rsaKA(uint16 version)
    00363870str x30, [sp-32]!
    00363874stur x29, [sp-8]
    00363878sub x29, sp, 8
    0036387cstrh w0, [sp+40]
    00363880stp xzr, xzr, [sp+8]
    00363884adrp x2, 0x3b6000
    00363888add x2, x2, 0
    0036388cstr x2, [sp+8]
    00363890adrp x2, 0x6e8000
    00363894add x2, x2, 1504
    00363898str x2, [sp+16]
    0036389cldr x0, [sp+8]
    003638a0ldr x1, [sp+16]
    003638a4add x29, sp, 24
    003638a8add sp, sp, 32
    003638acret x30
    00363870
    003638b0
    003638b0crypto/tls.ecdheECDSAKA: ; void crypto/tls.ecdheECDSAKA(uint16 version)
    003638b0ldr x16, [x28+16]
    003638b4subs xzr, sp, x16
    003638b8b.ls 0x363964
    003638bcstr x30, [sp-80]!
    003638c0stur x29, [sp-8]
    003638c4sub x29, sp, 8
    003638c8strh w0, [sp+88]
    003638ccstp xzr, xzr, [sp+32]
    003638d0adrp x0, 0x312000
    003638d4add x0, x0, 2656
    003638d8bl runtime.newobject
    003638dcstr x0, [sp+56]
    003638e0adrp x27, 0x6e8000
    003638e4ldr w1, [x27+3056]
    003638e8cbz w1, 0x3638f0
    003638ecb 0x3638f4
    003638f0
    003638f0loc_3638f0:
    003638f0b 0x363910
    003638f4
    003638f4loc_3638f4:
    003638f4str x0, [sp+48]
    003638f8mov x1, x0
    003638fcadrp x0, 0x312000
    00363900add x0, x0, 2656
    00363904bl runtime.wbZero
    00363908ldr x0, [sp+48]
    0036390cb 0x363910
    00363910
    00363910loc_363910:
    00363910stp xzr, xzr, [x0]
    00363914stp xzr, xzr, [x0+16]
    00363918stp xzr, xzr, [x0+32]
    0036391cldr x2, [sp+56]
    00363920ldrsb x27, [x2]
    00363924strb wzr, [x2+2]
    00363928ldr x2, [sp+56]
    0036392cldrsb x27, [x2]
    00363930ldrh w3, [sp+88]
    00363934strh w3, [x2]
    00363938ldr x2, [sp+56]
    0036393cstr x2, [sp+64]
    00363940adrp x3, 0x3b6000
    00363944add x3, x3, 112
    00363948str x3, [sp+32]
    0036394cstr x2, [sp+40]
    00363950ldr x0, [sp+32]
    00363954ldr x1, [sp+40]
    00363958ldur x29, [sp-8]
    0036395cldr x30, [sp], 80
    00363960ret x30
    00363964
    00363964loc_363964:
    00363964strh w0, [sp+8]
    00363968mov x3, x30
    0036396cbl runtime.morestack_noctxt.abi0
    00363970ldrh w0, [sp+8]
    00363974b 0x3638b0
    00363978udf 0
    0036397cudf 0
    003638b0
    00363980
    00363980crypto/tls.ecdheRSAKA: ; void crypto/tls.ecdheRSAKA(uint16 version)
    00363980ldr x16, [x28+16]
    00363984subs xzr, sp, x16
    00363988b.ls 0x363a38
    0036398cstr x30, [sp-80]!
    00363990stur x29, [sp-8]
    00363994sub x29, sp, 8
    00363998strh w0, [sp+88]
    0036399cstp xzr, xzr, [sp+32]
    003639a0adrp x0, 0x312000
    003639a4add x0, x0, 2656
    003639a8bl runtime.newobject
    003639acstr x0, [sp+56]
    003639b0adrp x27, 0x6e8000
    003639b4ldr w1, [x27+3056]
    003639b8cbz w1, 0x3639c0
    003639bcb 0x3639c4
    003639c0
    003639c0loc_3639c0:
    003639c0b 0x3639e0
    003639c4
    003639c4loc_3639c4:
    003639c4str x0, [sp+48]
    003639c8mov x1, x0
    003639ccadrp x0, 0x312000
    003639d0add x0, x0, 2656
    003639d4bl runtime.wbZero
    003639d8ldr x0, [sp+48]
    003639dcb 0x3639e0
    003639e0
    003639e0loc_3639e0:
    003639e0stp xzr, xzr, [x0]
    003639e4stp xzr, xzr, [x0+16]
    003639e8stp xzr, xzr, [x0+32]
    003639ecldr x2, [sp+56]
    003639f0ldrsb x27, [x2]
    003639f4orr x3, xzr, 1
    003639f8strb w3, [x2+2]
    003639fcldr x2, [sp+56]
    00363a00ldrsb x27, [x2]
    00363a04ldrh w3, [sp+88]
    00363a08strh w3, [x2]
    00363a0cldr x2, [sp+56]
    00363a10str x2, [sp+64]
    00363a14adrp x3, 0x3b6000
    00363a18add x3, x3, 112
    00363a1cstr x3, [sp+32]
    00363a20str x2, [sp+40]
    00363a24ldr x0, [sp+32]
    00363a28ldr x1, [sp+40]
    00363a2cldur x29, [sp-8]
    00363a30ldr x30, [sp], 80
    00363a34ret x30
    00363a38
    00363a38loc_363a38:
    00363a38strh w0, [sp+8]
    00363a3cmov x3, x30
    00363a40bl runtime.morestack_noctxt.abi0
    00363a44ldrh w0, [sp+8]
    00363a48b 0x363980
    00363a4cudf 0
    00363980
    00363a50
    00363a50crypto/tls.mutualCipherSuite: ; void crypto/tls.mutualCipherSuite(struct []uint16 have, uint16 want)
    00363a50ldr x16, [x28+16]
    00363a54subs xzr, sp, x16
    00363a58b.ls 0x363b18
    00363a5cstr x30, [sp-96]!
    00363a60stur x29, [sp-8]
    00363a64sub x29, sp, 8
    00363a68str x0, [sp+104]
    00363a6cstr x1, [sp+112]
    00363a70str x2, [sp+120]
    00363a74strh w3, [sp+128]
    00363a78str xzr, [sp+48]
    00363a7cldr x1, [sp+112]
    00363a80ldr x2, [sp+104]
    00363a84ldr x3, [sp+120]
    00363a88str x2, [sp+64]
    00363a8cstr x1, [sp+72]
    00363a90str x3, [sp+80]
    00363a94str xzr, [sp+40]
    00363a98str x1, [sp+32]
    00363a9cb 0x363aa0
    00363aa0
    00363aa0loc_363aa0:
    00363aa0ldr x1, [sp+32]
    00363aa4ldr x2, [sp+40]
    00363aa8subs xzr, x1, x2
    00363aacb.gt 0x363ab4
    00363ab0b 0x363b04
    00363ab4
    00363ab4loc_363ab4:
    00363ab4ldr x1, [sp+40]
    00363ab8ldr x2, [sp+64]
    00363abcldrh w0, [x2+x1]
    00363ac0strh w0, [sp+30]
    00363ac4ldrh w1, [sp+128]
    00363ac8mov x2, x0
    00363accsubs wzr, w2, w1
    00363ad0b.eq 0x363ad8
    00363ad4b 0x363af0
    00363ad8
    00363ad8loc_363ad8:
    00363ad8bl crypto/tls.cipherSuiteByID
    00363adcstr x0, [sp+56]
    00363ae0str x0, [sp+48]
    00363ae4ldur x29, [sp-8]
    00363ae8ldr x30, [sp], 96
    00363aecret x30
    00363af0
    00363af0loc_363af0:
    00363af0b 0x363af4
    00363af4
    00363af4loc_363af4:
    00363af4ldr x1, [sp+40]
    00363af8add x1, x1, 1
    00363afcstr x1, [sp+40]
    00363b00b 0x363aa0
    00363b04
    00363b04loc_363b04:
    00363b04str xzr, [sp+48]
    00363b08mov x0, xzr
    00363b0cldur x29, [sp-8]
    00363b10ldr x30, [sp], 96
    00363b14ret x30
    00363b18
    00363b18loc_363b18:
    00363b18stp x0, x1, [sp+8]
    00363b1cstr x2, [sp+24]
    00363b20strh w3, [sp+32]
    00363b24mov x3, x30
    00363b28bl runtime.morestack_noctxt.abi0
    00363b2cldp x0, x1, [sp+8]
    00363b30ldr x2, [sp+24]
    00363b34ldrh w3, [sp+32]
    00363b38b 0x363a50
    00363b3cudf 0
    00363a50
    00363b40
    00363b40crypto/tls.cipherSuiteByID: ; void crypto/tls.cipherSuiteByID(uint16 id)
    00363b40str x30, [sp-80]!
    00363b44stur x29, [sp-8]
    00363b48sub x29, sp, 8
    00363b4cstrh w0, [sp+88]
    00363b50str xzr, [sp+32]
    00363b54adrp x27, 0x6ab000
    00363b58ldr x1, [x27+3768]
    00363b5cadrp x27, 0x6ab000
    00363b60ldr x2, [x27+3760]
    00363b64adrp x27, 0x6ab000
    00363b68ldr x3, [x27+3776]
    00363b6cstr x2, [sp+48]
    00363b70str x1, [sp+56]
    00363b74str x3, [sp+64]
    00363b78str xzr, [sp+24]
    00363b7cstr x1, [sp+16]
    00363b80b 0x363b84
    00363b84
    00363b84loc_363b84:
    00363b84ldr x1, [sp+16]
    00363b88ldr x2, [sp+24]
    00363b8csubs xzr, x1, x2
    00363b90b.gt 0x363b98
    00363b94b 0x363be4
    00363b98
    00363b98loc_363b98:
    00363b98ldr x1, [sp+24]
    00363b9cldr x2, [sp+48]
    00363ba0ldr x0, [x2+3*x1]
    00363ba4str x0, [sp+40]
    00363ba8ldrsb x27, [x0]
    00363bacldrh w1, [x0]
    00363bb0ldrh w2, [sp+88]
    00363bb4subs wzr, w1, w2
    00363bb8b.eq 0x363bc0
    00363bbcb 0x363bd0
    00363bc0
    00363bc0loc_363bc0:
    00363bc0str x0, [sp+32]
    00363bc4add x29, sp, 72
    00363bc8add sp, sp, 80
    00363bccret x30
    00363bd0
    00363bd0loc_363bd0:
    00363bd0b 0x363bd4
    00363bd4
    00363bd4loc_363bd4:
    00363bd4ldr x1, [sp+24]
    00363bd8add x1, x1, 1
    00363bdcstr x1, [sp+24]
    00363be0b 0x363b84
    00363be4
    00363be4loc_363be4:
    00363be4str xzr, [sp+32]
    00363be8mov x0, xzr
    00363becadd x29, sp, 72
    00363bf0add sp, sp, 80
    00363bf4ret x30
    00363bf8udf 0
    00363bfcudf 0
    00363b40