File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00395be0
    00395be0crypto/tls.(*cipherSuiteTLS13).trafficKey: ; void crypto/tls.(*cipherSuiteTLS13).trafficKey(crypto/tls.cipherSuiteTLS13 * c, struct []uint8 trafficSecret)
    00395be0ldr x16, [x28+16]
    00395be4sub x17, sp, 64
    00395be8subs xzr, x17, x16
    00395becb.ls 0x395d38
    00395bf0str x30, [sp-192]!
    00395bf4stur x29, [sp-8]
    00395bf8sub x29, sp, 8
    00395bfcstr x0, [sp+200]
    00395c00str x1, [sp+208]
    00395c04str x2, [sp+216]
    00395c08str x3, [sp+224]
    00395c0cstr xzr, [sp+120]
    00395c10stp xzr, xzr, [sp+128]
    00395c14str xzr, [sp+144]
    00395c18stp xzr, xzr, [sp+152]
    00395c1cstp xzr, xzr, [sp+104]
    00395c20add x1, sp, 104
    00395c24str x1, [sp+176]
    00395c28ldrsb x27, [x1]
    00395c2cadrp x11, 0xfffffffffff2a000
    00395c30add x11, x11, 3360
    00395c34str x11, [x1]
    00395c38ldrsb x27, [x1]
    00395c3cldr x11, [sp+200]
    00395c40ldrsb x27, [x11]
    00395c44ldr x11, [x11+24]
    00395c48str x11, [x1+8]
    00395c4cldr x11, [sp+200]
    00395c50ldrsb x27, [x11]
    00395c54ldr x10, [x11+8]
    00395c58str x10, [sp+96]
    00395c5cldr x2, [sp+208]
    00395c60ldr x3, [sp+216]
    00395c64ldr x4, [sp+224]
    00395c68adrp x0, 0x37d000
    00395c6cadd x0, x0, 128
    00395c70adrp x5, 0x31b000
    00395c74add x5, x5, 561
    00395c78orr x6, xzr, 3
    00395c7cmov x7, xzr
    00395c80mov x8, xzr
    00395c84mov x9, x8
    00395c88bl crypto/internal/fips140/tls13.ExpandLabel[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    00395c8cstr x0, [sp+120]
    00395c90str x1, [sp+128]
    00395c94str x2, [sp+136]
    00395c98stp xzr, xzr, [sp+104]
    00395c9cadd x1, sp, 104
    00395ca0str x1, [sp+168]
    00395ca4ldrsb x27, [x1]
    00395ca8adrp x11, 0xfffffffffff2a000
    00395cacadd x11, x11, 3360
    00395cb0str x11, [x1]
    00395cb4ldrsb x27, [x1]
    00395cb8ldr x11, [sp+200]
    00395cbcldrsb x27, [x11]
    00395cc0ldr x11, [x11+24]
    00395cc4str x11, [x1+8]
    00395cc8ldr x2, [sp+208]
    00395cccldr x3, [sp+216]
    00395cd0ldr x4, [sp+224]
    00395cd4adrp x0, 0x37d000
    00395cd8add x0, x0, 128
    00395cdcadrp x5, 0x31b000
    00395ce0add x5, x5, 103
    00395ce4orr x6, xzr, 2
    00395ce8mov x7, xzr
    00395cecmov x8, xzr
    00395cf0mov x9, x8
    00395cf4orr x10, xzr, 12
    00395cf8bl crypto/internal/fips140/tls13.ExpandLabel[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    00395cfcstr x0, [sp+144]
    00395d00str x1, [sp+152]
    00395d04str x2, [sp+160]
    00395d08ldr x11, [sp+120]
    00395d0cldr x12, [sp+128]
    00395d10ldr x13, [sp+136]
    00395d14mov x3, x0
    00395d18mov x4, x1
    00395d1cmov x5, x2
    00395d20mov x0, x11
    00395d24mov x1, x12
    00395d28mov x2, x13
    00395d2cldur x29, [sp-8]
    00395d30ldr x30, [sp], 192
    00395d34ret x30
    00395d38
    00395d38loc_395d38:
    00395d38stp x0, x1, [sp+8]
    00395d3cstp x2, x3, [sp+24]
    00395d40mov x3, x30
    00395d44bl runtime.morestack_noctxt.abi0
    00395d48ldp x0, x1, [sp+8]
    00395d4cldp x2, x3, [sp+24]
    00395d50b 0x395be0
    00395d54udf 0
    00395d58udf 0
    00395d5cudf 0
    00395be0
    00395d60
    00395d60crypto/tls.(*cipherSuiteTLS13).finishedHash: ; void crypto/tls.(*cipherSuiteTLS13).finishedHash(crypto/tls.cipherSuiteTLS13 * c, struct []uint8 baseKey, hash.Hash transcript)
    00395d60ldr x16, [x28+16]
    00395d64sub x17, sp, 112
    00395d68subs xzr, x17, x16
    00395d6cb.ls 0x395f1c
    00395d70str x30, [sp-240]!
    00395d74stur x29, [sp-8]
    00395d78sub x29, sp, 8
    00395d7cstr x0, [sp+248]
    00395d80str x1, [sp+256]
    00395d84str x2, [sp+264]
    00395d88str x3, [sp+272]
    00395d8cstr x4, [sp+280]
    00395d90str x5, [sp+288]
    00395d94str xzr, [sp+128]
    00395d98stp xzr, xzr, [sp+136]
    00395d9cldr x1, [sp+248]
    00395da0ldrsb x27, [x1]
    00395da4ldr x0, [x1+24]
    00395da8str x0, [sp+96]
    00395dacbl crypto.Hash.Size
    00395db0str x0, [sp+104]
    00395db4stp xzr, xzr, [sp+112]
    00395db8add x1, sp, 112
    00395dbcstr x1, [sp+224]
    00395dc0ldrsb x27, [x1]
    00395dc4adrp x2, 0xfffffffffff2a000
    00395dc8add x2, x2, 3360
    00395dccstr x2, [x1]
    00395dd0ldrsb x27, [x1]
    00395dd4ldr x2, [sp+248]
    00395dd8ldrsb x27, [x2]
    00395ddcldr x2, [x2+24]
    00395de0str x2, [x1+8]
    00395de4ldr x10, [sp+104]
    00395de8ldr x2, [sp+256]
    00395decldr x3, [sp+264]
    00395df0ldr x4, [sp+272]
    00395df4adrp x0, 0x37d000
    00395df8add x0, x0, 128
    00395dfcadrp x5, 0x31c000
    00395e00add x5, x5, 1612
    00395e04orr x6, xzr, 8
    00395e08mov x7, xzr
    00395e0cmov x8, xzr
    00395e10mov x9, x8
    00395e14bl crypto/internal/fips140/tls13.ExpandLabel[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    00395e18str x0, [sp+168]
    00395e1cstr x1, [sp+176]
    00395e20str x2, [sp+184]
    00395e24adrp x0, 0x29f000
    00395e28add x0, x0, 2112
    00395e2cbl runtime.newobject
    00395e30str x0, [sp+216]
    00395e34adrp x1, 0xfffffffffff2a000
    00395e38add x1, x1, 3360
    00395e3cstr x1, [x0]
    00395e40ldr x1, [sp+248]
    00395e44ldrsb x27, [x1]
    00395e48ldr x1, [x1+24]
    00395e4cldr x2, [sp+216]
    00395e50ldrsb x27, [x2]
    00395e54str x1, [x2+8]
    00395e58ldr x1, [sp+168]
    00395e5cldr x2, [sp+176]
    00395e60ldr x3, [sp+184]
    00395e64ldr x0, [sp+216]
    00395e68bl crypto/hmac.New
    00395e6cstr x0, [sp+152]
    00395e70str x1, [sp+160]
    00395e74ldr x1, [sp+280]
    00395e78ldrsb x27, [x1]
    00395e7cldr x1, [x1+48]
    00395e80ldr x0, [sp+288]
    00395e84mov x2, xzr
    00395e88mov x3, x2
    00395e8cmov x4, x1
    00395e90mov x1, xzr
    00395e94blr x4
    00395e98str x0, [sp+192]
    00395e9cstr x1, [sp+200]
    00395ea0str x2, [sp+208]
    00395ea4ldr x3, [sp+160]
    00395ea8ldr x4, [sp+152]
    00395eacldrsb x27, [x4]
    00395eb0ldr x4, [x4+56]
    00395eb4mov x5, x0
    00395eb8mov x0, x3
    00395ebcmov x6, x1
    00395ec0mov x1, x5
    00395ec4mov x7, x2
    00395ec8mov x2, x6
    00395eccmov x3, x7
    00395ed0blr x4
    00395ed4ldr x1, [sp+152]
    00395ed8ldrsb x27, [x1]
    00395edcldr x1, [x1+48]
    00395ee0ldr x0, [sp+160]
    00395ee4mov x2, xzr
    00395ee8mov x3, x2
    00395eecmov x4, x1
    00395ef0mov x1, xzr
    00395ef4blr x4
    00395ef8str x0, [sp+192]
    00395efcstr x1, [sp+200]
    00395f00str x2, [sp+208]
    00395f04str x0, [sp+128]
    00395f08str x1, [sp+136]
    00395f0cstr x2, [sp+144]
    00395f10ldur x29, [sp-8]
    00395f14ldr x30, [sp], 240
    00395f18ret x30
    00395f1c
    00395f1cloc_395f1c:
    00395f1cstp x0, x1, [sp+8]
    00395f20stp x2, x3, [sp+24]
    00395f24stp x4, x5, [sp+40]
    00395f28mov x3, x30
    00395f2cbl runtime.morestack_noctxt.abi0
    00395f30ldp x0, x1, [sp+8]
    00395f34ldp x2, x3, [sp+24]
    00395f38ldp x4, x5, [sp+40]
    00395f3cb 0x395d60
    00395d60
    00395f40
    00395f40crypto/tls.(*cipherSuiteTLS13).exportKeyingMaterial: ; void crypto/tls.(*cipherSuiteTLS13).exportKeyingMaterial(crypto/tls.cipherSuiteTLS13 * c, crypto/internal/fips140/tls13.MasterSecret * s, hash.Hash transcript)
    00395f40ldr x16, [x28+16]
    00395f44subs xzr, sp, x16
    00395f48b.ls 0x39602c
    00395f4cstr x30, [sp-112]!
    00395f50stur x29, [sp-8]
    00395f54sub x29, sp, 8
    00395f58str x0, [sp+120]
    00395f5cstr x1, [sp+128]
    00395f60str x2, [sp+136]
    00395f64str x3, [sp+144]
    00395f68str xzr, [sp+40]
    00395f6cldr x2, [sp+144]
    00395f70ldr x3, [sp+136]
    00395f74str x3, [sp+88]
    00395f78str x2, [sp+96]
    00395f7ccbnz x3, 0x395f84
    00395f80b 0x395fa4
    00395f84
    00395f84loc_395f84:
    00395f84str x2, [sp+56]
    00395f88ldr x1, [x3+8]
    00395f8cadrp x0, 0x67a000
    00395f90add x0, x0, 1360
    00395f94bl runtime.typeAssert
    00395f98ldr x2, [sp+56]
    00395f9cmov x3, x0
    00395fa0b 0x395fa8
    00395fa4
    00395fa4loc_395fa4:
    00395fa4b 0x395fa8
    00395fa8
    00395fa8loc_395fa8:
    00395fa8str x3, [sp+72]
    00395facstr x2, [sp+80]
    00395fb0ldr x0, [sp+128]
    00395fb4mov x1, x3
    00395fb8bl crypto/internal/fips140/tls13.(*MasterSecret).ExporterMasterSecret
    00395fbcstr x0, [sp+48]
    00395fc0adrp x0, 0x29f000
    00395fc4add x0, x0, 2240
    00395fc8bl runtime.newobject
    00395fccstr x0, [sp+64]
    00395fd0adrp x3, 4096
    00395fd4add x3, x3, 80
    00395fd8str x3, [x0]
    00395fdcldr x3, [sp+48]
    00395fe0ldr x4, [sp+64]
    00395fe4ldrsb x27, [x4]
    00395fe8adrp x27, 0x6b6000
    00395fecldr w5, [x27+3056]
    00395ff0cbz w5, 0x395ff8
    00395ff4b 0x395ffc
    00395ff8
    00395ff8loc_395ff8:
    00395ff8b 0x396010
    00395ffc
    00395ffcloc_395ffc:
    00395ffcbl runtime.gcWriteBarrier2
    00396000str x3, [x25]
    00396004ldr x1, [x4+8]
    00396008str x1, [x25+8]
    0039600cb 0x396010
    00396010
    00396010loc_396010:
    00396010str x3, [x4+8]
    00396014ldr x1, [sp+64]
    00396018str x1, [sp+40]
    0039601cldr x0, [sp+40]
    00396020ldur x29, [sp-8]
    00396024ldr x30, [sp], 112
    00396028ret x30
    0039602c
    0039602cloc_39602c:
    0039602cstp x0, x1, [sp+8]
    00396030stp x2, x3, [sp+24]
    00396034mov x3, x30
    00396038bl runtime.morestack_noctxt.abi0
    0039603cldp x0, x1, [sp+8]
    00396040ldp x2, x3, [sp+24]
    00396044b 0x395f40
    00396048udf 0
    0039604cudf 0
    00395f40
    00396050
    00396050crypto/tls.(*cipherSuiteTLS13).exportKeyingMaterial.func1: ; void crypto/tls.(*cipherSuiteTLS13).exportKeyingMaterial.func1(struct string label, struct []uint8 context, int length)
    00396050ldr x16, [x28+16]
    00396054sub x17, sp, 16
    00396058subs xzr, x17, x16
    0039605cb.ls 0x3960f4
    00396060str x30, [sp-144]!
    00396064stur x29, [sp-8]
    00396068sub x29, sp, 8
    0039606cstr x0, [sp+152]
    00396070str x1, [sp+160]
    00396074str x2, [sp+168]
    00396078str x3, [sp+176]
    0039607cstr x4, [sp+184]
    00396080str x5, [sp+192]
    00396084ldr x7, [x26+8]
    00396088str x7, [sp+104]
    0039608cstr xzr, [sp+80]
    00396090stp xzr, xzr, [sp+88]
    00396094stp xzr, xzr, [sp+64]
    00396098ldr x6, [sp+192]
    0039609cldr x1, [sp+152]
    003960a0ldr x3, [sp+168]
    003960a4ldr x2, [sp+160]
    003960a8ldr x4, [sp+176]
    003960acldr x5, [sp+184]
    003960b0ldr x0, [sp+104]
    003960b4bl crypto/internal/fips140/tls13.(*ExporterMasterSecret).Exporter
    003960b8str x0, [sp+112]
    003960bcstr x1, [sp+120]
    003960c0str x2, [sp+128]
    003960c4str x0, [sp+80]
    003960c8str x1, [sp+88]
    003960ccstr x2, [sp+96]
    003960d0stp xzr, xzr, [sp+64]
    003960d4ldr x0, [sp+80]
    003960d8ldr x1, [sp+88]
    003960dcldr x2, [sp+96]
    003960e0mov x3, xzr
    003960e4mov x4, xzr
    003960e8ldur x29, [sp-8]
    003960ecldr x30, [sp], 144
    003960f0ret x30
    003960f4
    003960f4loc_3960f4:
    003960f4stp x0, x1, [sp+8]
    003960f8stp x2, x3, [sp+24]
    003960fcstp x4, x5, [sp+40]
    00396100mov x3, x30
    00396104bl runtime.morestack.abi0
    00396108ldp x0, x1, [sp+8]
    0039610cldp x2, x3, [sp+24]
    00396110ldp x4, x5, [sp+40]
    00396114b 0x396050
    00396118udf 0
    0039611cudf 0
    00396050
    00396120
    00396120crypto/tls.generateECDHEKey: ; void crypto/tls.generateECDHEKey(io.Reader rand, crypto/tls.CurveID curveID)
    00396120ldr x16, [x28+16]
    00396124sub x17, sp, 48
    00396128subs xzr, x17, x16
    0039612cb.ls 0x39624c
    00396130str x30, [sp-176]!
    00396134stur x29, [sp-8]
    00396138sub x29, sp, 8
    0039613cstr x0, [sp+184]
    00396140str x1, [sp+192]
    00396144strh w2, [sp+200]
    00396148str xzr, [sp+64]
    0039614cstp xzr, xzr, [sp+48]
    00396150stp xzr, xzr, [sp+152]
    00396154ldrh w0, [sp+200]
    00396158bl crypto/tls.curveForCurveID
    0039615cstr x0, [sp+152]
    00396160str x1, [sp+160]
    00396164strb w2, [sp+47]
    00396168ldr x1, [sp+152]
    0039616cldr x2, [sp+160]
    00396170str x1, [sp+112]
    00396174str x2, [sp+120]
    00396178ldrb w1, [sp+47]
    0039617cstrb w1, [sp+46]
    00396180ldr x1, [sp+112]
    00396184ldr x2, [sp+120]
    00396188str x1, [sp+72]
    0039618cstr x2, [sp+80]
    00396190ldrb w1, [sp+46]
    00396194strb w1, [sp+45]
    00396198tbnz w1, 0, 0x3961a0
    0039619cb 0x396210
    003961a0
    003961a0loc_3961a0:
    003961a0str xzr, [sp+128]
    003961a4stp xzr, xzr, [sp+136]
    003961a8ldr x2, [sp+192]
    003961acldr x3, [sp+72]
    003961b0ldrsb x27, [x3]
    003961b4ldr x3, [x3+24]
    003961b8ldr x1, [sp+184]
    003961bcldr x0, [sp+80]
    003961c0blr x3
    003961c4str x0, [sp+128]
    003961c8str x1, [sp+136]
    003961ccstr x2, [sp+144]
    003961d0ldr x3, [sp+128]
    003961d4str x3, [sp+104]
    003961d8ldr x3, [sp+136]
    003961dcldr x4, [sp+144]
    003961e0str x3, [sp+88]
    003961e4str x4, [sp+96]
    003961e8ldr x3, [sp+104]
    003961ecstr x3, [sp+64]
    003961f0ldr x1, [sp+88]
    003961f4ldr x2, [sp+96]
    003961f8str x1, [sp+48]
    003961fcstr x2, [sp+56]
    00396200ldr x0, [sp+64]
    00396204ldur x29, [sp-8]
    00396208ldr x30, [sp], 176
    0039620cret x30
    00396210
    00396210loc_396210:
    00396210adrp x0, 0x32c000
    00396214add x0, x0, 3836
    00396218movz x1, 38
    0039621cbl errors.New
    00396220str x0, [sp+136]
    00396224str x1, [sp+144]
    00396228str xzr, [sp+64]
    0039622cldr x1, [sp+136]
    00396230ldr x2, [sp+144]
    00396234str x1, [sp+48]
    00396238str x2, [sp+56]
    0039623cldr x0, [sp+64]
    00396240ldur x29, [sp-8]
    00396244ldr x30, [sp], 176
    00396248ret x30
    0039624c
    0039624cloc_39624c:
    0039624cstp x0, x1, [sp+8]
    00396250strh w2, [sp+24]
    00396254mov x3, x30
    00396258bl runtime.morestack_noctxt.abi0
    0039625cldp x0, x1, [sp+8]
    00396260ldrh w2, [sp+24]
    00396264b 0x396120
    00396268udf 0
    0039626cudf 0
    00396120
    00396270
    00396270crypto/tls.curveForCurveID: ; void crypto/tls.curveForCurveID(crypto/tls.CurveID id)
    00396270ldr x16, [x28+16]
    00396274subs xzr, sp, x16
    00396278b.ls 0x3963e8
    0039627cstr x30, [sp-64]!
    00396280stur x29, [sp-8]
    00396284sub x29, sp, 8
    00396288strh w0, [sp+72]
    0039628cstp xzr, xzr, [sp+24]
    00396290strb wzr, [sp+21]
    00396294ldrh w3, [sp+72]
    00396298strh w3, [sp+22]
    0039629cmov x4, x3
    003962a0subs wzr, w4, 24
    003962a4b.ls 0x3962ac
    003962a8b 0x396338
    003962ac
    003962acloc_3962ac:
    003962acmov x4, x3
    003962b0subs wzr, w4, 23
    003962b4b.eq 0x3962bc
    003962b8b 0x3962f0
    003962bc
    003962bcloc_3962bc:
    003962bcb 0x3962c0
    003962c0
    003962c0loc_3962c0:
    003962c0bl crypto/ecdh.P256
    003962c4str x0, [sp+40]
    003962c8str x1, [sp+48]
    003962ccstr x0, [sp+24]
    003962d0str x1, [sp+32]
    003962d4orr x2, xzr, 1
    003962d8strb w2, [sp+21]
    003962dcldr x0, [sp+24]
    003962e0ldr x1, [sp+32]
    003962e4ldur x29, [sp-8]
    003962e8ldr x30, [sp], 64
    003962ecret x30
    003962f0
    003962f0loc_3962f0:
    003962f0subs wzr, w3, 24
    003962f4b.eq 0x3962fc
    003962f8b 0x396330
    003962fc
    003962fcloc_3962fc:
    003962fcb 0x396300
    00396300
    00396300loc_396300:
    00396300bl crypto/ecdh.P384
    00396304str x0, [sp+40]
    00396308str x1, [sp+48]
    0039630cstr x0, [sp+24]
    00396310str x1, [sp+32]
    00396314orr x2, xzr, 1
    00396318strb w2, [sp+21]
    0039631cldr x0, [sp+24]
    00396320ldr x1, [sp+32]
    00396324ldur x29, [sp-8]
    00396328ldr x30, [sp], 64
    0039632cret x30
    00396330
    00396330loc_396330:
    00396330b 0x396334
    00396334
    00396334loc_396334:
    00396334b 0x3963c4
    00396338
    00396338loc_396338:
    00396338mov x4, x3
    0039633csubs wzr, w4, 25
    00396340b.eq 0x396348
    00396344b 0x39637c
    00396348
    00396348loc_396348:
    00396348b 0x39634c
    0039634c
    0039634cloc_39634c:
    0039634cbl crypto/ecdh.P521
    00396350str x0, [sp+40]
    00396354str x1, [sp+48]
    00396358str x0, [sp+24]
    0039635cstr x1, [sp+32]
    00396360orr x2, xzr, 1
    00396364strb w2, [sp+21]
    00396368ldr x0, [sp+24]
    0039636cldr x1, [sp+32]
    00396370ldur x29, [sp-8]
    00396374ldr x30, [sp], 64
    00396378ret x30
    0039637c
    0039637cloc_39637c:
    0039637csubs wzr, w3, 29
    00396380b.eq 0x396388
    00396384b 0x3963bc
    00396388
    00396388loc_396388:
    00396388b 0x39638c
    0039638c
    0039638cloc_39638c:
    0039638cbl crypto/ecdh.X25519
    00396390str x0, [sp+40]
    00396394str x1, [sp+48]
    00396398str x0, [sp+24]
    0039639cstr x1, [sp+32]
    003963a0orr x2, xzr, 1
    003963a4strb w2, [sp+21]
    003963a8ldr x0, [sp+24]
    003963acldr x1, [sp+32]
    003963b0ldur x29, [sp-8]
    003963b4ldr x30, [sp], 64
    003963b8ret x30
    003963bc
    003963bcloc_3963bc:
    003963bcb 0x3963c0
    003963c0
    003963c0loc_3963c0:
    003963c0b 0x3963c4
    003963c4
    003963c4loc_3963c4:
    003963c4b 0x3963c8
    003963c8
    003963c8loc_3963c8:
    003963c8stp xzr, xzr, [sp+24]
    003963ccstrb wzr, [sp+21]
    003963d0ldr x1, [sp+32]
    003963d4ldr x0, [sp+24]
    003963d8mov x2, xzr
    003963dcldur x29, [sp-8]
    003963e0ldr x30, [sp], 64
    003963e4ret x30
    003963e8
    003963e8loc_3963e8:
    003963e8strh w0, [sp+8]
    003963ecmov x3, x30
    003963f0bl runtime.morestack_noctxt.abi0
    003963f4ldrh w0, [sp+8]
    003963f8b 0x396270
    003963fcudf 0
    00396270
    00396400
    00396400crypto/tls.splitPreMasterSecret: ; void crypto/tls.splitPreMasterSecret(struct []uint8 secret)
    00396400ldr x16, [x28+16]
    00396404subs xzr, sp, x16
    00396408b.ls 0x3964e4
    0039640cstr x30, [sp-96]!
    00396410stur x29, [sp-8]
    00396414sub x29, sp, 8
    00396418str x0, [sp+104]
    0039641cstr x1, [sp+112]
    00396420str x2, [sp+120]
    00396424str xzr, [sp+64]
    00396428stp xzr, xzr, [sp+72]
    0039642cstr xzr, [sp+40]
    00396430stp xzr, xzr, [sp+48]
    00396434ldr x6, [sp+112]
    00396438str x6, [sp+32]
    0039643cadd x7, x6, 1
    00396440add x6, x6, x7, lsr #63
    00396444add x6, x6, 1
    00396448sbfm x1, x6, 1, 63
    0039644cstr x1, [sp+24]
    00396450ldr x2, [sp+120]
    00396454ldr x7, [sp+104]
    00396458subs xzr, x2, x6, asr #1
    0039645cb.hs 0x396464
    00396460b 0x3964dc
    00396464
    00396464loc_396464:
    00396464b 0x396468
    00396468
    00396468loc_396468:
    00396468str x7, [sp+64]
    0039646cstr x1, [sp+72]
    00396470str x2, [sp+80]
    00396474ldr x6, [sp+112]
    00396478str x6, [sp+24]
    0039647cubfm x0, x6, 1, 63
    00396480str x0, [sp+32]
    00396484ldr x1, [sp+112]
    00396488ldr x7, [sp+120]
    0039648cldr x8, [sp+104]
    00396490b 0x396494
    00396494
    00396494loc_396494:
    00396494subs xzr, x1, x6, lsr #1
    00396498b.hs 0x3964a0
    0039649cb 0x3964d8
    003964a0
    003964a0loc_3964a0:
    003964a0sub x5, x7, x6, lsr #1
    003964a4sub x4, x1, x6, lsr #1
    003964a8sub x6, xzr, x5
    003964acand x6, x0, x6, asr #63
    003964b0add x3, x8, x6
    003964b4str x3, [sp+40]
    003964b8str x4, [sp+48]
    003964bcstr x5, [sp+56]
    003964c0ldr x0, [sp+64]
    003964c4ldr x1, [sp+72]
    003964c8ldr x2, [sp+80]
    003964ccldur x29, [sp-8]
    003964d0ldr x30, [sp], 96
    003964d4ret x30
    003964d8
    003964d8loc_3964d8:
    003964d8bl runtime.panicSliceB
    003964dc
    003964dcloc_3964dc:
    003964dcbl runtime.panicSliceAcap
    003964e0hint
    003964e4
    003964e4loc_3964e4:
    003964e4stp x0, x1, [sp+8]
    003964e8str x2, [sp+24]
    003964ecmov x3, x30
    003964f0bl runtime.morestack_noctxt.abi0
    003964f4ldp x0, x1, [sp+8]
    003964f8ldr x2, [sp+24]
    003964fcb 0x396400
    00396400
    00396500
    00396500crypto/tls.pHash: ; void crypto/tls.pHash(struct []uint8 result, struct []uint8 secret, struct []uint8 seed, func() hash.Hash hash)
    00396500ldr x16, [x28+16]
    00396504sub x17, sp, 96
    00396508subs xzr, x17, x16
    0039650cb.ls 0x3967b4
    00396510str x30, [sp-224]!
    00396514stur x29, [sp-8]
    00396518sub x29, sp, 8
    0039651cstr x0, [sp+232]
    00396520str x1, [sp+240]
    00396524str x2, [sp+248]
    00396528str x3, [sp+256]
    0039652cstr x4, [sp+264]
    00396530str x5, [sp+272]
    00396534str x6, [sp+280]
    00396538str x7, [sp+288]
    0039653cstr x8, [sp+296]
    00396540str x9, [sp+304]
    00396544ldr x2, [sp+264]
    00396548ldr x3, [sp+272]
    0039654cldr x1, [sp+256]
    00396550mov x0, x9
    00396554bl crypto/hmac.New
    00396558str x0, [sp+80]
    0039655cstr x1, [sp+88]
    00396560ldrsb x27, [x0]
    00396564ldr x4, [sp+280]
    00396568ldr x2, [sp+288]
    0039656cldr x3, [sp+296]
    00396570ldr x5, [x0+56]
    00396574mov x0, x1
    00396578mov x1, x4
    0039657cblr x5
    00396580ldr x4, [sp+80]
    00396584ldrsb x27, [x4]
    00396588ldr x4, [x4+48]
    0039658cldr x0, [sp+88]
    00396590mov x1, xzr
    00396594mov x2, xzr
    00396598mov x3, x2
    0039659cblr x4
    003965a0str x0, [sp+120]
    003965a4str x1, [sp+128]
    003965a8str x2, [sp+136]
    003965acstr xzr, [sp+40]
    003965b0b 0x3965b4
    003965b4
    003965b4loc_3965b4:
    003965b4ldr x1, [sp+240]
    003965b8str x1, [sp+48]
    003965bcldr x2, [sp+40]
    003965c0subs xzr, x1, x2
    003965c4b.gt 0x3965cc
    003965c8b 0x3967a0
    003965cc
    003965ccloc_3965cc:
    003965ccldr x1, [sp+80]
    003965d0ldrsb x27, [x1]
    003965d4ldr x1, [x1+32]
    003965d8ldr x0, [sp+88]
    003965dcblr x1
    003965e0ldr x2, [sp+128]
    003965e4ldr x3, [sp+136]
    003965e8ldr x1, [sp+80]
    003965ecldrsb x27, [x1]
    003965f0ldr x1, [x1+56]
    003965f4ldr x4, [sp+120]
    003965f8ldr x0, [sp+88]
    003965fcmov x5, x1
    00396600mov x1, x4
    00396604blr x5
    00396608ldr x2, [sp+288]
    0039660cldr x3, [sp+296]
    00396610ldr x1, [sp+80]
    00396614ldrsb x27, [x1]
    00396618ldr x1, [x1+56]
    0039661cldr x4, [sp+280]
    00396620ldr x0, [sp+88]
    00396624mov x5, x1
    00396628mov x1, x4
    0039662cblr x5
    00396630ldr x1, [sp+80]
    00396634ldrsb x27, [x1]
    00396638ldr x1, [x1+48]
    0039663cldr x0, [sp+88]
    00396640mov x2, xzr
    00396644mov x3, x2
    00396648mov x4, x1
    0039664cmov x1, xzr
    00396650blr x4
    00396654str x0, [sp+96]
    00396658str x1, [sp+104]
    0039665cstr x2, [sp+112]
    00396660ldr x0, [sp+40]
    00396664ldr x1, [sp+240]
    00396668ldr x2, [sp+232]
    0039666cldr x3, [sp+248]
    00396670b 0x396674
    00396674
    00396674loc_396674:
    00396674subs xzr, x1, x0
    00396678b.hs 0x396680
    0039667cb 0x3967ac
    00396680
    00396680loc_396680:
    00396680sub x3, x3, x0
    00396684sub x4, x1, x0
    00396688sub x5, xzr, x3
    0039668cand x5, x0, x5, asr #63
    00396690add x5, x2, x5
    00396694str x5, [sp+144]
    00396698str x4, [sp+152]
    0039669cstr x3, [sp+160]
    003966a0str x5, [sp+192]
    003966a4str x4, [sp+200]
    003966a8str x3, [sp+208]
    003966acldr x3, [sp+104]
    003966b0ldr x4, [sp+96]
    003966b4ldr x5, [sp+112]
    003966b8str x4, [sp+168]
    003966bcstr x3, [sp+176]
    003966c0str x5, [sp+184]
    003966c4ldr x4, [sp+200]
    003966c8str x4, [sp+64]
    003966ccsubs xzr, x4, x3
    003966d0b.gt 0x3966d8
    003966d4b 0x3966e0
    003966d8
    003966d8loc_3966d8:
    003966d8str x3, [sp+64]
    003966dcb 0x3966e4
    003966e0
    003966e0loc_3966e0:
    003966e0b 0x3966e4
    003966e4
    003966e4loc_3966e4:
    003966e4ldr x3, [sp+168]
    003966e8ldr x4, [sp+192]
    003966ecsubs xzr, x3, x4
    003966f0b.ne 0x3966f8
    003966f4b 0x396714
    003966f8
    003966f8loc_3966f8:
    003966f8ldr x3, [sp+64]
    003966fcstr x3, [sp+56]
    00396700ldr x2, [sp+56]
    00396704ldr x1, [sp+168]
    00396708ldr x0, [sp+192]
    0039670cbl runtime.memmove
    00396710b 0x396718
    00396714
    00396714loc_396714:
    00396714b 0x396718
    00396718
    00396718loc_396718:
    00396718ldr x1, [sp+104]
    0039671cstr x1, [sp+72]
    00396720ldr x2, [sp+40]
    00396724add x1, x2, x1
    00396728str x1, [sp+40]
    0039672cldr x1, [sp+80]
    00396730ldrsb x27, [x1]
    00396734ldr x1, [x1+32]
    00396738ldr x0, [sp+88]
    0039673cblr x1
    00396740ldr x2, [sp+128]
    00396744ldr x3, [sp+136]
    00396748ldr x1, [sp+80]
    0039674cldrsb x27, [x1]
    00396750ldr x1, [x1+56]
    00396754ldr x4, [sp+120]
    00396758ldr x0, [sp+88]
    0039675cmov x5, x1
    00396760mov x1, x4
    00396764blr x5
    00396768ldr x1, [sp+80]
    0039676cldrsb x27, [x1]
    00396770ldr x1, [x1+48]
    00396774ldr x0, [sp+88]
    00396778mov x2, xzr
    0039677cmov x3, x2
    00396780mov x4, x1
    00396784mov x1, xzr
    00396788blr x4
    0039678cstr x0, [sp+120]
    00396790str x1, [sp+128]
    00396794str x2, [sp+136]
    00396798b 0x39679c
    0039679c
    0039679cloc_39679c:
    0039679cb 0x3965b4
    003967a0
    003967a0loc_3967a0:
    003967a0ldur x29, [sp-8]
    003967a4ldr x30, [sp], 224
    003967a8ret x30
    003967ac
    003967acloc_3967ac:
    003967acbl runtime.panicSliceB
    003967b0hint
    003967b4
    003967b4loc_3967b4:
    003967b4stp x0, x1, [sp+8]
    003967b8stp x2, x3, [sp+24]
    003967bcstp x4, x5, [sp+40]
    003967c0stp x6, x7, [sp+56]
    003967c4stp x8, x9, [sp+72]
    003967c8mov x3, x30
    003967ccbl runtime.morestack_noctxt.abi0
    003967d0ldp x0, x1, [sp+8]
    003967d4ldp x2, x3, [sp+24]
    003967d8ldp x4, x5, [sp+40]
    003967dcldp x6, x7, [sp+56]
    003967e0ldp x8, x9, [sp+72]
    003967e4b 0x396500
    003967e8udf 0
    003967ecudf 0
    00396500
    003967f0
    003967f0crypto/tls.prf10: ; void crypto/tls.prf10(struct []uint8 secret, struct string label, struct []uint8 seed, int keyLen)
    003967f0ldr x16, [x28+16]
    003967f4sub x17, sp, 400
    003967f8subs xzr, x17, x16
    003967fcb.ls 0x396bc8
    00396800sub x20, sp, 528
    00396804stp x29, x30, [x20-8]
    00396808add sp, x20, 0
    0039680csub x29, sp, 8
    00396810str x0, [sp+536]
    00396814str x1, [sp+544]
    00396818str x2, [sp+552]
    0039681cstr x3, [sp+560]
    00396820str x4, [sp+568]
    00396824str x5, [sp+576]
    00396828str x6, [sp+584]
    0039682cstr x7, [sp+592]
    00396830str x8, [sp+600]
    00396834str xzr, [sp+176]
    00396838stp xzr, xzr, [sp+184]
    0039683cldr x2, [sp+600]
    00396840ldr x1, [sp+600]
    00396844adrp x0, 0x25f000
    00396848add x0, x0, 3072
    0039684cbl runtime.makeslice
    00396850ldr x3, [sp+600]
    00396854ldr x4, [sp+600]
    00396858str x0, [sp+272]
    0039685cstr x3, [sp+280]
    00396860str x4, [sp+288]
    00396864adrp x3, 0x343000
    00396868add x3, x3, 152
    0039686cstr x3, [sp+320]
    00396870adrp x3, 0x343000
    00396874add x3, x3, 144
    00396878str x3, [sp+328]
    0039687cldr x3, [sp+568]
    00396880str x3, [sp+168]
    00396884ldr x4, [sp+584]
    00396888str x4, [sp+160]
    0039688cadd x2, x3, x4
    00396890str x2, [sp+152]
    00396894adrp x0, 0x25f000
    00396898add x0, x0, 3072
    0039689cmov x1, x2
    003968a0bl runtime.makeslice
    003968a4ldr x3, [sp+152]
    003968a8ldr x4, [sp+152]
    003968acstr x0, [sp+296]
    003968b0str x3, [sp+304]
    003968b4str x4, [sp+312]
    003968b8str x0, [sp+400]
    003968bcstr x3, [sp+408]
    003968c0str x4, [sp+416]
    003968c4ldr x3, [sp+568]
    003968c8ldr x4, [sp+560]
    003968ccstr x4, [sp+384]
    003968d0str x3, [sp+392]
    003968d4ldr x4, [sp+408]
    003968d8str x4, [sp+144]
    003968dcsubs xzr, x4, x3
    003968e0b.gt 0x3968e8
    003968e4b 0x3968f0
    003968e8
    003968e8loc_3968e8:
    003968e8str x3, [sp+144]
    003968ecb 0x3968f4
    003968f0
    003968f0loc_3968f0:
    003968f0b 0x3968f4
    003968f4
    003968f4loc_3968f4:
    003968f4ldr x3, [sp+384]
    003968f8ldr x4, [sp+400]
    003968fcsubs xzr, x3, x4
    00396900b.ne 0x396908
    00396904b 0x396924
    00396908
    00396908loc_396908:
    00396908ldr x3, [sp+144]
    0039690cstr x3, [sp+136]
    00396910ldr x2, [sp+136]
    00396914ldr x1, [sp+384]
    00396918ldr x0, [sp+400]
    0039691cbl runtime.memmove
    00396920b 0x396928
    00396924
    00396924loc_396924:
    00396924b 0x396928
    00396928
    00396928loc_396928:
    00396928ldr x0, [sp+568]
    0039692cstr x0, [sp+160]
    00396930ldr x1, [sp+304]
    00396934ldr x3, [sp+312]
    00396938ldr x4, [sp+296]
    0039693cb 0x396940
    00396940
    00396940loc_396940:
    00396940subs xzr, x1, x0
    00396944b.hs 0x39694c
    00396948b 0x396bc0
    0039694c
    0039694cloc_39694c:
    0039694csub x3, x3, x0
    00396950sub x5, x1, x0
    00396954sub x6, xzr, x3
    00396958and x6, x0, x6, asr #63
    0039695cadd x4, x4, x6
    00396960str x4, [sp+448]
    00396964str x5, [sp+456]
    00396968str x3, [sp+464]
    0039696cstr x4, [sp+360]
    00396970str x5, [sp+368]
    00396974str x3, [sp+376]
    00396978ldr x3, [sp+584]
    0039697cldr x4, [sp+576]
    00396980ldr x5, [sp+592]
    00396984str x4, [sp+336]
    00396988str x3, [sp+344]
    0039698cstr x5, [sp+352]
    00396990ldr x4, [sp+368]
    00396994str x4, [sp+128]
    00396998subs xzr, x4, x3
    0039699cb.gt 0x3969a4
    003969a0b 0x3969ac
    003969a4
    003969a4loc_3969a4:
    003969a4str x3, [sp+128]
    003969a8b 0x3969b0
    003969ac
    003969acloc_3969ac:
    003969acb 0x3969b0
    003969b0
    003969b0loc_3969b0:
    003969b0ldr x3, [sp+336]
    003969b4ldr x4, [sp+360]
    003969b8subs xzr, x3, x4
    003969bcb.ne 0x3969c4
    003969c0b 0x3969e0
    003969c4
    003969c4loc_3969c4:
    003969c4ldr x3, [sp+128]
    003969c8str x3, [sp+120]
    003969ccldr x2, [sp+120]
    003969d0ldr x1, [sp+336]
    003969d4ldr x0, [sp+360]
    003969d8bl runtime.memmove
    003969dcb 0x3969e4
    003969e0
    003969e0loc_3969e0:
    003969e0b 0x3969e4
    003969e4
    003969e4loc_3969e4:
    003969e4str xzr, [sp+448]
    003969e8stp xzr, xzr, [sp+456]
    003969ecstr xzr, [sp+424]
    003969f0stp xzr, xzr, [sp+432]
    003969f4ldr x0, [sp+536]
    003969f8ldr x1, [sp+544]
    003969fcldr x2, [sp+552]
    00396a00bl crypto/tls.splitPreMasterSecret
    00396a04str x0, [sp+448]
    00396a08str x1, [sp+456]
    00396a0cstr x2, [sp+464]
    00396a10str x3, [sp+424]
    00396a14str x4, [sp+432]
    00396a18str x5, [sp+440]
    00396a1cldr x3, [sp+456]
    00396a20ldr x4, [sp+464]
    00396a24ldr x5, [sp+448]
    00396a28str x5, [sp+496]
    00396a2cstr x3, [sp+504]
    00396a30str x4, [sp+512]
    00396a34ldr x3, [sp+424]
    00396a38ldr x4, [sp+432]
    00396a3cldr x5, [sp+440]
    00396a40str x3, [sp+472]
    00396a44str x4, [sp+480]
    00396a48str x5, [sp+488]
    00396a4cldr x3, [sp+496]
    00396a50ldr x4, [sp+504]
    00396a54ldr x5, [sp+512]
    00396a58str x3, [sp+224]
    00396a5cstr x4, [sp+232]
    00396a60str x5, [sp+240]
    00396a64ldr x3, [sp+472]
    00396a68ldr x4, [sp+480]
    00396a6cldr x5, [sp+488]
    00396a70str x3, [sp+200]
    00396a74str x4, [sp+208]
    00396a78str x5, [sp+216]
    00396a7cldr x0, [sp+272]
    00396a80ldr x3, [sp+224]
    00396a84ldr x6, [sp+296]
    00396a88ldr x9, [sp+328]
    00396a8cldr x1, [sp+280]
    00396a90ldr x4, [sp+232]
    00396a94ldr x7, [sp+304]
    00396a98ldr x2, [sp+288]
    00396a9cldr x5, [sp+240]
    00396aa0ldr x8, [sp+312]
    00396aa4bl crypto/tls.pHash
    00396aa8ldr x2, [sp+280]
    00396aacstr x2, [sp+160]
    00396ab0adrp x0, 0x25f000
    00396ab4add x0, x0, 3072
    00396ab8mov x1, x2
    00396abcbl runtime.makeslice
    00396ac0ldr x1, [sp+160]
    00396ac4ldr x2, [sp+160]
    00396ac8str x0, [sp+248]
    00396accstr x1, [sp+256]
    00396ad0str x2, [sp+264]
    00396ad4ldr x9, [sp+320]
    00396ad8ldr x4, [sp+208]
    00396adcldr x7, [sp+304]
    00396ae0ldr x5, [sp+216]
    00396ae4ldr x8, [sp+312]
    00396ae8ldr x3, [sp+200]
    00396aecldr x6, [sp+296]
    00396af0bl crypto/tls.pHash
    00396af4ldr x3, [sp+256]
    00396af8ldr x4, [sp+248]
    00396afcldr x5, [sp+264]
    00396b00str x4, [sp+424]
    00396b04str x3, [sp+432]
    00396b08str x5, [sp+440]
    00396b0cstr xzr, [sp+112]
    00396b10str x3, [sp+104]
    00396b14b 0x396b18
    00396b18
    00396b18loc_396b18:
    00396b18ldr x3, [sp+104]
    00396b1cldr x4, [sp+112]
    00396b20subs xzr, x3, x4
    00396b24b.gt 0x396b2c
    00396b28b 0x396b94
    00396b2c
    00396b2cloc_396b2c:
    00396b2cldr x3, [sp+112]
    00396b30str x3, [sp+96]
    00396b34ldr x3, [sp+112]
    00396b38ldr x4, [sp+424]
    00396b3cldrb w3, [x4+x3]
    00396b40strb w3, [sp+95]
    00396b44ldr x0, [sp+96]
    00396b48ldr x1, [sp+280]
    00396b4cldr x4, [sp+272]
    00396b50subs xzr, x1, x0
    00396b54b.hi 0x396b5c
    00396b58b 0x396bbc
    00396b5c
    00396b5cloc_396b5c:
    00396b5cldrb w4, [x4+x0]
    00396b60ldr x0, [sp+96]
    00396b64ldr x1, [sp+280]
    00396b68ldr x5, [sp+272]
    00396b6ceor x3, x4, x3
    00396b70subs xzr, x1, x0
    00396b74b.hi 0x396b7c
    00396b78b 0x396bb8
    00396b7c
    00396b7cloc_396b7c:
    00396b7cstrb w3, [x5+x0]
    00396b80b 0x396b84
    00396b84
    00396b84loc_396b84:
    00396b84ldr x3, [sp+112]
    00396b88add x3, x3, 1
    00396b8cstr x3, [sp+112]
    00396b90b 0x396b18
    00396b94
    00396b94loc_396b94:
    00396b94ldr x0, [sp+272]
    00396b98ldr x1, [sp+280]
    00396b9cldr x2, [sp+288]
    00396ba0str x0, [sp+176]
    00396ba4str x1, [sp+184]
    00396ba8str x2, [sp+192]
    00396bacldp x29, x30, [sp-8]
    00396bb0add sp, sp, 528
    00396bb4ret x30
    00396bb8
    00396bb8loc_396bb8:
    00396bb8bl runtime.panicIndex
    00396bbc
    00396bbcloc_396bbc:
    00396bbcbl runtime.panicIndex
    00396bc0
    00396bc0loc_396bc0:
    00396bc0bl runtime.panicSliceB
    00396bc4hint
    00396bc8
    00396bc8loc_396bc8:
    00396bc8stp x0, x1, [sp+8]
    00396bccstp x2, x3, [sp+24]
    00396bd0stp x4, x5, [sp+40]
    00396bd4stp x6, x7, [sp+56]
    00396bd8str x8, [sp+72]
    00396bdcmov x3, x30
    00396be0bl runtime.morestack_noctxt.abi0
    00396be4ldp x0, x1, [sp+8]
    00396be8ldp x2, x3, [sp+24]
    00396becldp x4, x5, [sp+40]
    00396bf0ldp x6, x7, [sp+56]
    00396bf4ldr x8, [sp+72]
    00396bf8b 0x3967f0
    00396bfcudf 0
    003967f0
    00396c00
    00396c00crypto/tls.prf12: ; void crypto/tls.prf12(func() hash.Hash hashFunc)
    00396c00ldr x16, [x28+16]
    00396c04subs xzr, sp, x16
    00396c08b.ls 0x396c8c
    00396c0cstr x30, [sp-64]!
    00396c10stur x29, [sp-8]
    00396c14sub x29, sp, 8
    00396c18str x0, [sp+72]
    00396c1cstr xzr, [sp+40]
    00396c20adrp x0, 0x29e000
    00396c24add x0, x0, 2624
    00396c28bl runtime.newobject
    00396c2cstr x0, [sp+48]
    00396c30adrp x1, 0
    00396c34add x1, x1, 3232
    00396c38str x1, [x0]
    00396c3cldr x1, [sp+72]
    00396c40ldr x2, [sp+48]
    00396c44ldrsb x27, [x2]
    00396c48adrp x27, 0x6b5000
    00396c4cldr w3, [x27+3056]
    00396c50cbz w3, 0x396c58
    00396c54b 0x396c5c
    00396c58
    00396c58loc_396c58:
    00396c58b 0x396c70
    00396c5c
    00396c5cloc_396c5c:
    00396c5cbl runtime.gcWriteBarrier2
    00396c60str x1, [x25]
    00396c64ldr x3, [x2+8]
    00396c68str x3, [x25+8]
    00396c6cb 0x396c70
    00396c70
    00396c70loc_396c70:
    00396c70str x1, [x2+8]
    00396c74ldr x1, [sp+48]
    00396c78str x1, [sp+40]
    00396c7cldr x0, [sp+40]
    00396c80ldur x29, [sp-8]
    00396c84ldr x30, [sp], 64
    00396c88ret x30
    00396c8c
    00396c8cloc_396c8c:
    00396c8cstr x0, [sp+8]
    00396c90mov x3, x30
    00396c94bl runtime.morestack_noctxt.abi0
    00396c98ldr x0, [sp+8]
    00396c9cb 0x396c00
    00396c00
    00396ca0
    00396ca0crypto/tls.prf12.func1: ; void crypto/tls.prf12.func1(struct []uint8 secret, struct string label, struct []uint8 seed, int keyLen)
    00396ca0ldr x16, [x28+16]
    00396ca4sub x17, sp, 32
    00396ca8subs xzr, x17, x16
    00396cacb.ls 0x396d48
    00396cb0str x30, [sp-160]!
    00396cb4stur x29, [sp-8]
    00396cb8sub x29, sp, 8
    00396cbcstr x0, [sp+168]
    00396cc0str x1, [sp+176]
    00396cc4str x2, [sp+184]
    00396cc8str x3, [sp+192]
    00396cccstr x4, [sp+200]
    00396cd0str x5, [sp+208]
    00396cd4str x6, [sp+216]
    00396cd8str x7, [sp+224]
    00396cdcstr x8, [sp+232]
    00396ce0ldr x11, [x26+8]
    00396ce4str x11, [sp+120]
    00396ce8str xzr, [sp+96]
    00396cecstp xzr, xzr, [sp+104]
    00396cf0ldr x10, [sp+232]
    00396cf4ldr x2, [sp+168]
    00396cf8ldr x5, [sp+192]
    00396cfcldr x7, [sp+208]
    00396d00ldr x3, [sp+176]
    00396d04ldr x6, [sp+200]
    00396d08ldr x8, [sp+216]
    00396d0cldr x4, [sp+184]
    00396d10ldr x9, [sp+224]
    00396d14ldr x1, [sp+120]
    00396d18adrp x0, 0x37c000
    00396d1cadd x0, x0, 96
    00396d20bl crypto/internal/fips140/tls12.PRF[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    00396d24str x0, [sp+128]
    00396d28str x1, [sp+136]
    00396d2cstr x2, [sp+144]
    00396d30str x0, [sp+96]
    00396d34str x1, [sp+104]
    00396d38str x2, [sp+112]
    00396d3cldur x29, [sp-8]
    00396d40ldr x30, [sp], 160
    00396d44ret x30
    00396d48
    00396d48loc_396d48:
    00396d48stp x0, x1, [sp+8]
    00396d4cstp x2, x3, [sp+24]
    00396d50stp x4, x5, [sp+40]
    00396d54stp x6, x7, [sp+56]
    00396d58str x8, [sp+72]
    00396d5cmov x3, x30
    00396d60bl runtime.morestack.abi0
    00396d64ldp x0, x1, [sp+8]
    00396d68ldp x2, x3, [sp+24]
    00396d6cldp x4, x5, [sp+40]
    00396d70ldp x6, x7, [sp+56]
    00396d74ldr x8, [sp+72]
    00396d78b 0x396ca0
    00396d7cudf 0
    00396ca0
    00396d80
    00396d80crypto/tls.prfAndHashForVersion: ; void crypto/tls.prfAndHashForVersion(uint16 version, crypto/tls.cipherSuite * suite)
    00396d80ldr x16, [x28+16]
    00396d84subs xzr, sp, x16
    00396d88b.ls 0x396e94
    00396d8cstr x30, [sp-64]!
    00396d90stur x29, [sp-8]
    00396d94sub x29, sp, 8
    00396d98strh w0, [sp+72]
    00396d9cstr x1, [sp+80]
    00396da0str xzr, [sp+40]
    00396da4str xzr, [sp+32]
    00396da8ldrh w2, [sp+72]
    00396dacstrh w2, [sp+30]
    00396db0mov x3, x2
    00396db4subs wzr, w3, 769
    00396db8b.hs 0x396dc0
    00396dbcb 0x396dfc
    00396dc0
    00396dc0loc_396dc0:
    00396dc0mov x3, x2
    00396dc4subs wzr, w3, 770
    00396dc8b.ls 0x396dd0
    00396dccb 0x396df8
    00396dd0
    00396dd0loc_396dd0:
    00396dd0b 0x396dd4
    00396dd4
    00396dd4loc_396dd4:
    00396dd4adrp x2, 0x343000
    00396dd8add x2, x2, 304
    00396ddcstr x2, [sp+40]
    00396de0str xzr, [sp+32]
    00396de4ldr x0, [sp+40]
    00396de8mov x1, xzr
    00396decldur x29, [sp-8]
    00396df0ldr x30, [sp], 64
    00396df4ret x30
    00396df8
    00396df8loc_396df8:
    00396df8b 0x396e00
    00396dfc
    00396dfcloc_396dfc:
    00396dfcb 0x396e00
    00396e00
    00396e00loc_396e00:
    00396e00subs wzr, w2, 771
    00396e04b.eq 0x396e0c
    00396e08b 0x396e74
    00396e0c
    00396e0cloc_396e0c:
    00396e0cb 0x396e10
    00396e10
    00396e10loc_396e10:
    00396e10ldr x1, [sp+80]
    00396e14ldrsb x27, [x1]
    00396e18ldr x1, [x1+40]
    00396e1ctbnz w1, 3, 0x396e24
    00396e20b 0x396e4c
    00396e24
    00396e24loc_396e24:
    00396e24adrp x0, 0x343000
    00396e28add x0, x0, 160
    00396e2cbl crypto/tls.prf12
    00396e30str x0, [sp+48]
    00396e34str x0, [sp+40]
    00396e38orr x1, xzr, 6
    00396e3cstr x1, [sp+32]
    00396e40ldur x29, [sp-8]
    00396e44ldr x30, [sp], 64
    00396e48ret x30
    00396e4c
    00396e4cloc_396e4c:
    00396e4cadrp x0, 0x343000
    00396e50add x0, x0, 112
    00396e54bl crypto/tls.prf12
    00396e58str x0, [sp+48]
    00396e5cstr x0, [sp+40]
    00396e60movz x1, 5
    00396e64str x1, [sp+32]
    00396e68ldur x29, [sp-8]
    00396e6cldr x30, [sp], 64
    00396e70ret x30
    00396e74
    00396e74loc_396e74:
    00396e74b 0x396e78
    00396e78
    00396e78loc_396e78:
    00396e78b 0x396e7c
    00396e7c
    00396e7cloc_396e7c:
    00396e7cadrp x0, 0x25f000
    00396e80add x0, x0, 2944
    00396e84adrp x1, 0x37c000
    00396e88add x1, x1, 48
    00396e8cbl runtime.gopanic
    00396e90hint
    00396e94
    00396e94loc_396e94:
    00396e94strh w0, [sp+8]
    00396e98str x1, [sp+16]
    00396e9cmov x3, x30
    00396ea0bl runtime.morestack_noctxt.abi0
    00396ea4ldrh w0, [sp+8]
    00396ea8ldr x1, [sp+16]
    00396eacb 0x396d80
    00396d80
    00396eb0
    00396eb0crypto/tls.prfForVersion: ; void crypto/tls.prfForVersion(uint16 version, crypto/tls.cipherSuite * suite)
    00396eb0ldr x16, [x28+16]
    00396eb4subs xzr, sp, x16
    00396eb8b.ls 0x396f0c
    00396ebcstr x30, [sp-80]!
    00396ec0stur x29, [sp-8]
    00396ec4sub x29, sp, 8
    00396ec8strh w0, [sp+88]
    00396eccstr x1, [sp+96]
    00396ed0str xzr, [sp+40]
    00396ed4str xzr, [sp+56]
    00396ed8ldr x1, [sp+96]
    00396edcldrh w0, [sp+88]
    00396ee0bl crypto/tls.prfAndHashForVersion
    00396ee4str x0, [sp+56]
    00396ee8str x1, [sp+24]
    00396eecstr x0, [sp+64]
    00396ef0ldr x2, [sp+24]
    00396ef4str x2, [sp+32]
    00396ef8str x0, [sp+48]
    00396efcstr x0, [sp+40]
    00396f00ldur x29, [sp-8]
    00396f04ldr x30, [sp], 80
    00396f08ret x30
    00396f0c
    00396f0cloc_396f0c:
    00396f0cstrh w0, [sp+8]
    00396f10str x1, [sp+16]
    00396f14mov x3, x30
    00396f18bl runtime.morestack_noctxt.abi0
    00396f1cldrh w0, [sp+8]
    00396f20ldr x1, [sp+16]
    00396f24b 0x396eb0
    00396f28udf 0
    00396f2cudf 0
    00396eb0
    00396f30
    00396f30crypto/tls.masterFromPreMasterSecret: ; void crypto/tls.masterFromPreMasterSecret(uint16 version, crypto/tls.cipherSuite * suite, struct []uint8 preMasterSecret, struct []uint8 clientRandom, struct []uint8 serverRandom)
    00396f30ldr x16, [x28+16]
    00396f34sub x17, sp, 160
    00396f38subs xzr, x17, x16
    00396f3cb.ls 0x397150
    00396f40sub x20, sp, 288
    00396f44stp x29, x30, [x20-8]
    00396f48add sp, x20, 0
    00396f4csub x29, sp, 8
    00396f50strh w0, [sp+296]
    00396f54str x1, [sp+304]
    00396f58str x2, [sp+312]
    00396f5cstr x3, [sp+320]
    00396f60str x4, [sp+328]
    00396f64str x5, [sp+336]
    00396f68str x6, [sp+344]
    00396f6cstr x7, [sp+352]
    00396f70str x8, [sp+360]
    00396f74str x9, [sp+368]
    00396f78str x10, [sp+376]
    00396f7cstr xzr, [sp+136]
    00396f80stp xzr, xzr, [sp+144]
    00396f84ldr x3, [sp+344]
    00396f88str x3, [sp+96]
    00396f8cldr x4, [sp+368]
    00396f90str x4, [sp+88]
    00396f94add x2, x3, x4
    00396f98adrp x0, 0x25f000
    00396f9cadd x0, x0, 3072
    00396fa0mov x1, xzr
    00396fa4bl runtime.makeslice
    00396fa8ldr x3, [sp+96]
    00396facldr x4, [sp+88]
    00396fb0str x0, [sp+160]
    00396fb4str xzr, [sp+168]
    00396fb8add x2, x3, x4
    00396fbcstr x2, [sp+176]
    00396fc0str x0, [sp+232]
    00396fc4str xzr, [sp+240]
    00396fc8str x2, [sp+248]
    00396fccldr x1, [sp+344]
    00396fd0str x1, [sp+128]
    00396fd4subs xzr, x1, x2
    00396fd8b.ls 0x396fe0
    00396fdcb 0x396fe8
    00396fe0
    00396fe0loc_396fe0:
    00396fe0str x1, [sp+240]
    00396fe4b 0x39700c
    00396fe8
    00396fe8loc_396fe8:
    00396fe8ldr x3, [sp+344]
    00396fecldr x0, [sp+232]
    00396ff0adrp x4, 0x25f000
    00396ff4add x4, x4, 3072
    00396ff8bl runtime.growslice
    00396ffcstr x0, [sp+232]
    00397000str x1, [sp+240]
    00397004str x2, [sp+248]
    00397008b 0x39700c
    0039700c
    0039700cloc_39700c:
    0039700cldr x3, [sp+344]
    00397010str x3, [sp+120]
    00397014ldr x3, [sp+128]
    00397018ldr x4, [sp+344]
    0039701csub x3, x3, x4
    00397020ldr x4, [sp+232]
    00397024add x0, x4, x3
    00397028str x0, [sp+224]
    0039702cldr x2, [sp+120]
    00397030ldr x1, [sp+336]
    00397034bl runtime.memmove
    00397038ldr x2, [sp+248]
    0039703cldr x0, [sp+232]
    00397040ldr x3, [sp+240]
    00397044str x0, [sp+160]
    00397048str x3, [sp+168]
    0039704cstr x2, [sp+176]
    00397050str x0, [sp+200]
    00397054str x3, [sp+208]
    00397058str x2, [sp+216]
    0039705cldr x4, [sp+368]
    00397060add x1, x3, x4
    00397064str x1, [sp+112]
    00397068subs xzr, x2, x1
    0039706cb.hs 0x397074
    00397070b 0x39707c
    00397074
    00397074loc_397074:
    00397074str x1, [sp+208]
    00397078b 0x39709c
    0039707c
    0039707cloc_39707c:
    0039707cldr x3, [sp+368]
    00397080adrp x4, 0x25e000
    00397084add x4, x4, 3072
    00397088bl runtime.growslice
    0039708cstr x0, [sp+200]
    00397090str x1, [sp+208]
    00397094str x2, [sp+216]
    00397098b 0x39709c
    0039709c
    0039709cloc_39709c:
    0039709cldr x3, [sp+368]
    003970a0str x3, [sp+104]
    003970a4ldr x3, [sp+112]
    003970a8ldr x4, [sp+368]
    003970acsub x3, x3, x4
    003970b0ldr x4, [sp+200]
    003970b4add x0, x4, x3
    003970b8str x0, [sp+192]
    003970bcldr x2, [sp+104]
    003970c0ldr x1, [sp+360]
    003970c4bl runtime.memmove
    003970c8ldr x3, [sp+200]
    003970ccldr x4, [sp+208]
    003970d0ldr x5, [sp+216]
    003970d4str x3, [sp+160]
    003970d8str x4, [sp+168]
    003970dcstr x5, [sp+176]
    003970e0ldr x1, [sp+304]
    003970e4ldrh w0, [sp+296]
    003970e8bl crypto/tls.prfForVersion
    003970ecstr x0, [sp+184]
    003970f0ldr x3, [x0]
    003970f4ldr x4, [sp+312]
    003970f8ldr x5, [sp+160]
    003970fcldr x1, [sp+320]
    00397100ldr x6, [sp+168]
    00397104ldr x2, [sp+328]
    00397108ldr x7, [sp+176]
    0039710corr x8, xzr, 48
    00397110mov x26, x0
    00397114mov x0, x4
    00397118movz x4, 13
    0039711cmov x9, x3
    00397120adrp x3, 0x31c000
    00397124add x3, x3, 2421
    00397128blr x9
    0039712cstr x0, [sp+256]
    00397130str x1, [sp+264]
    00397134str x2, [sp+272]
    00397138str x0, [sp+136]
    0039713cstr x1, [sp+144]
    00397140str x2, [sp+152]
    00397144ldp x29, x30, [sp-8]
    00397148add sp, sp, 288
    0039714cret x30
    00397150
    00397150loc_397150:
    00397150strh w0, [sp+8]
    00397154stp x1, x2, [sp+16]
    00397158stp x3, x4, [sp+32]
    0039715cstp x5, x6, [sp+48]
    00397160stp x7, x8, [sp+64]
    00397164stp x9, x10, [sp+80]
    00397168mov x3, x30
    0039716cbl runtime.morestack_noctxt.abi0
    00397170ldrh w0, [sp+8]
    00397174ldp x1, x2, [sp+16]
    00397178ldp x3, x4, [sp+32]
    0039717cldp x5, x6, [sp+48]
    00397180ldp x7, x8, [sp+64]
    00397184ldp x9, x10, [sp+80]
    00397188b 0x396f30
    0039718cudf 0
    00396f30
    00397190
    00397190crypto/tls.extMasterFromPreMasterSecret: ; void crypto/tls.extMasterFromPreMasterSecret(uint16 version, crypto/tls.cipherSuite * suite, struct []uint8 preMasterSecret, struct []uint8 transcript)
    00397190ldr x16, [x28+16]
    00397194sub x17, sp, 80
    00397198subs xzr, x17, x16
    0039719cb.ls 0x3972e0
    003971a0str x30, [sp-208]!
    003971a4stur x29, [sp-8]
    003971a8sub x29, sp, 8
    003971acstrh w0, [sp+216]
    003971b0str x1, [sp+224]
    003971b4str x2, [sp+232]
    003971b8str x3, [sp+240]
    003971bcstr x4, [sp+248]
    003971c0str x5, [sp+256]
    003971c4str x6, [sp+264]
    003971c8str x7, [sp+272]
    003971ccstr xzr, [sp+120]
    003971d0stp xzr, xzr, [sp+128]
    003971d4str xzr, [sp+152]
    003971d8ldr x1, [sp+224]
    003971dcldrh w0, [sp+216]
    003971e0bl crypto/tls.prfAndHashForVersion
    003971e4str x0, [sp+152]
    003971e8str x1, [sp+112]
    003971ecstr x0, [sp+160]
    003971f0ldr x2, [sp+112]
    003971f4str x2, [sp+88]
    003971f8str x0, [sp+144]
    003971fcldr x2, [sp+88]
    00397200str x2, [sp+80]
    00397204ldrh w2, [sp+216]
    00397208subs wzr, w2, 771
    0039720cb.eq 0x397214
    00397210b 0x397284
    00397214
    00397214loc_397214:
    00397214stp xzr, xzr, [sp+96]
    00397218add x1, sp, 96
    0039721cstr x1, [sp+168]
    00397220ldrsb x27, [x1]
    00397224adrp x8, 0xfffffffffff28000
    00397228add x8, x8, 3360
    0039722cstr x8, [x1]
    00397230ldrsb x27, [x1]
    00397234ldr x8, [sp+80]
    00397238str x8, [x1+8]
    0039723cldr x2, [sp+232]
    00397240ldr x5, [sp+256]
    00397244ldr x3, [sp+240]
    00397248ldr x6, [sp+264]
    0039724cldr x4, [sp+248]
    00397250ldr x7, [sp+272]
    00397254adrp x0, 0x380000
    00397258add x0, x0, 576
    0039725cbl crypto/internal/fips140/tls12.MasterSecret[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    00397260str x0, [sp+176]
    00397264str x1, [sp+184]
    00397268str x2, [sp+192]
    0039726cstr x0, [sp+120]
    00397270str x1, [sp+128]
    00397274str x2, [sp+136]
    00397278ldur x29, [sp-8]
    0039727cldr x30, [sp], 208
    00397280ret x30
    00397284
    00397284loc_397284:
    00397284ldr x9, [sp+232]
    00397288ldr x5, [sp+256]
    0039728cldr x1, [sp+240]
    00397290ldr x6, [sp+264]
    00397294ldr x2, [sp+248]
    00397298ldr x7, [sp+272]
    0039729cldr x10, [x0]
    003972a0adrp x3, 0x320000
    003972a4add x3, x3, 3744
    003972a8movz x4, 22
    003972acorr x8, xzr, 48
    003972b0mov x26, x0
    003972b4mov x0, x9
    003972b8blr x10
    003972bcstr x0, [sp+176]
    003972c0str x1, [sp+184]
    003972c4str x2, [sp+192]
    003972c8str x0, [sp+120]
    003972ccstr x1, [sp+128]
    003972d0str x2, [sp+136]
    003972d4ldur x29, [sp-8]
    003972d8ldr x30, [sp], 208
    003972dcret x30
    003972e0
    003972e0loc_3972e0:
    003972e0strh w0, [sp+8]
    003972e4stp x1, x2, [sp+16]
    003972e8stp x3, x4, [sp+32]
    003972ecstp x5, x6, [sp+48]
    003972f0str x7, [sp+64]
    003972f4mov x3, x30
    003972f8bl runtime.morestack_noctxt.abi0
    003972fcldrh w0, [sp+8]
    00397300ldp x1, x2, [sp+16]
    00397304ldp x3, x4, [sp+32]
    00397308ldp x5, x6, [sp+48]
    0039730cldr x7, [sp+64]
    00397310b 0x397190
    00397314udf 0
    00397318udf 0
    0039731cudf 0
    00397190
    00397320
    00397320crypto/tls.keysFromMasterSecret: ; void crypto/tls.keysFromMasterSecret(uint16 version, crypto/tls.cipherSuite * suite, struct []uint8 masterSecret, struct []uint8 clientRandom, struct []uint8 serverRandom, int macLen, int keyLen, int ivLen)
    00397320ldr x16, [x28+16]
    00397324sub x17, sp, 256
    00397328subs xzr, x17, x16
    0039732cb.ls 0x3977f0
    00397330sub x20, sp, 384
    00397334stp x29, x30, [x20-8]
    00397338add sp, x20, 0
    0039733csub x29, sp, 8
    00397340strh w0, [sp+416]
    00397344str x1, [sp+424]
    00397348str x2, [sp+432]
    0039734cstr x3, [sp+440]
    00397350str x4, [sp+448]
    00397354str x5, [sp+456]
    00397358str x6, [sp+464]
    0039735cstr x7, [sp+472]
    00397360str x8, [sp+480]
    00397364str x9, [sp+488]
    00397368str x10, [sp+496]
    0039736cstr x11, [sp+504]
    00397370str x12, [sp+512]
    00397374str x13, [sp+520]
    00397378str xzr, [sp+232]
    0039737cstp xzr, xzr, [sp+240]
    00397380str xzr, [sp+136]
    00397384stp xzr, xzr, [sp+144]
    00397388str xzr, [sp+256]
    0039738cstp xzr, xzr, [sp+264]
    00397390str xzr, [sp+160]
    00397394stp xzr, xzr, [sp+168]
    00397398str xzr, [sp+280]
    0039739cstp xzr, xzr, [sp+288]
    003973a0str xzr, [sp+392]
    003973a4stp xzr, xzr, [sp+400]
    003973a8ldr x3, [sp+488]
    003973acstr x3, [sp+128]
    003973b0ldr x4, [sp+464]
    003973b4str x4, [sp+120]
    003973b8add x2, x3, x4
    003973bcadrp x0, 0x25e000
    003973c0add x0, x0, 3072
    003973c4mov x1, xzr
    003973c8bl runtime.makeslice
    003973ccldr x3, [sp+128]
    003973d0ldr x4, [sp+120]
    003973d4str x0, [sp+184]
    003973d8str xzr, [sp+192]
    003973dcadd x2, x3, x4
    003973e0str x2, [sp+200]
    003973e4str x0, [sp+344]
    003973e8str xzr, [sp+352]
    003973ecstr x2, [sp+360]
    003973f0ldr x1, [sp+488]
    003973f4str x1, [sp+112]
    003973f8subs xzr, x1, x2
    003973fcb.ls 0x397404
    00397400b 0x39740c
    00397404
    00397404loc_397404:
    00397404str x1, [sp+352]
    00397408b 0x397430
    0039740c
    0039740cloc_39740c:
    0039740cldr x3, [sp+488]
    00397410ldr x0, [sp+344]
    00397414adrp x4, 0x25e000
    00397418add x4, x4, 3072
    0039741cbl runtime.growslice
    00397420str x0, [sp+344]
    00397424str x1, [sp+352]
    00397428str x2, [sp+360]
    0039742cb 0x397430
    00397430
    00397430loc_397430:
    00397430ldr x3, [sp+488]
    00397434str x3, [sp+104]
    00397438ldr x3, [sp+112]
    0039743cldr x4, [sp+488]
    00397440sub x3, x3, x4
    00397444ldr x4, [sp+344]
    00397448add x0, x4, x3
    0039744cstr x0, [sp+336]
    00397450ldr x2, [sp+104]
    00397454ldr x1, [sp+480]
    00397458bl runtime.memmove
    0039745cldr x2, [sp+360]
    00397460ldr x0, [sp+344]
    00397464ldr x3, [sp+352]
    00397468str x0, [sp+184]
    0039746cstr x3, [sp+192]
    00397470str x2, [sp+200]
    00397474str x0, [sp+312]
    00397478str x3, [sp+320]
    0039747cstr x2, [sp+328]
    00397480ldr x4, [sp+464]
    00397484add x1, x3, x4
    00397488str x1, [sp+96]
    0039748csubs xzr, x2, x1
    00397490b.hs 0x397498
    00397494b 0x3974a0
    00397498
    00397498loc_397498:
    00397498str x1, [sp+320]
    0039749cb 0x3974c0
    003974a0
    003974a0loc_3974a0:
    003974a0ldr x3, [sp+464]
    003974a4adrp x4, 0x25e000
    003974a8add x4, x4, 3072
    003974acbl runtime.growslice
    003974b0str x0, [sp+312]
    003974b4str x1, [sp+320]
    003974b8str x2, [sp+328]
    003974bcb 0x3974c0
    003974c0
    003974c0loc_3974c0:
    003974c0ldr x3, [sp+464]
    003974c4str x3, [sp+88]
    003974c8ldr x3, [sp+96]
    003974ccldr x4, [sp+464]
    003974d0sub x3, x3, x4
    003974d4ldr x4, [sp+312]
    003974d8add x0, x4, x3
    003974dcstr x0, [sp+304]
    003974e0ldr x2, [sp+88]
    003974e4ldr x1, [sp+456]
    003974e8bl runtime.memmove
    003974ecldr x3, [sp+312]
    003974f0ldr x4, [sp+320]
    003974f4ldr x5, [sp+328]
    003974f8str x3, [sp+184]
    003974fcstr x4, [sp+192]
    00397500str x5, [sp+200]
    00397504ldr x3, [sp+504]
    00397508ubfm x3, x3, 63, 62
    0039750cldr x4, [sp+512]
    00397510add x3, x3, x4, lsl #1
    00397514ldr x4, [sp+520]
    00397518add x3, x3, x4, lsl #1
    0039751cstr x3, [sp+80]
    00397520ldr x1, [sp+424]
    00397524ldrh w0, [sp+416]
    00397528bl crypto/tls.prfForVersion
    0039752cstr x0, [sp+368]
    00397530ldr x8, [sp+80]
    00397534ldr x3, [x0]
    00397538ldr x4, [sp+432]
    0039753cldr x5, [sp+184]
    00397540ldr x1, [sp+440]
    00397544ldr x6, [sp+192]
    00397548ldr x2, [sp+448]
    0039754cldr x7, [sp+200]
    00397550mov x26, x0
    00397554mov x0, x4
    00397558movz x4, 13
    0039755cmov x9, x3
    00397560adrp x3, 0x31c000
    00397564add x3, x3, 2434
    00397568blr x9
    0039756cstr x0, [sp+208]
    00397570str x1, [sp+216]
    00397574str x2, [sp+224]
    00397578ldr x1, [sp+504]
    0039757csubs xzr, x2, x1
    00397580b.hs 0x397588
    00397584b 0x3977e8
    00397588
    00397588loc_397588:
    00397588b 0x39758c
    0039758c
    0039758cloc_39758c:
    0039758cstr x0, [sp+232]
    00397590str x1, [sp+240]
    00397594str x2, [sp+248]
    00397598ldr x0, [sp+504]
    0039759cldr x1, [sp+216]
    003975a0ldr x15, [sp+208]
    003975a4ldr x16, [sp+224]
    003975a8b 0x3975ac
    003975ac
    003975acloc_3975ac:
    003975acsubs xzr, x1, x0
    003975b0b.hs 0x3975b8
    003975b4b 0x3977e4
    003975b8
    003975b8loc_3975b8:
    003975b8sub x2, x16, x0
    003975bcsub x16, x1, x0
    003975c0sub x17, xzr, x2
    003975c4and x17, x0, x17, asr #63
    003975c8add x15, x15, x17
    003975ccstr x15, [sp+208]
    003975d0str x16, [sp+216]
    003975d4str x2, [sp+224]
    003975d8ldr x1, [sp+504]
    003975dcsubs xzr, x1, x2
    003975e0b.ls 0x3975e8
    003975e4b 0x3977e0
    003975e8
    003975e8loc_3975e8:
    003975e8b 0x3975ec
    003975ec
    003975ecloc_3975ec:
    003975ecstr x15, [sp+136]
    003975f0str x1, [sp+144]
    003975f4str x2, [sp+152]
    003975f8ldr x0, [sp+504]
    003975fcldr x1, [sp+216]
    00397600ldr x15, [sp+208]
    00397604ldr x16, [sp+224]
    00397608b 0x39760c
    0039760c
    0039760cloc_39760c:
    0039760csubs xzr, x1, x0
    00397610b.hs 0x397618
    00397614b 0x3977dc
    00397618
    00397618loc_397618:
    00397618sub x2, x16, x0
    0039761csub x16, x1, x0
    00397620sub x17, xzr, x2
    00397624and x17, x0, x17, asr #63
    00397628add x15, x15, x17
    0039762cstr x15, [sp+208]
    00397630str x16, [sp+216]
    00397634str x2, [sp+224]
    00397638ldr x1, [sp+512]
    0039763csubs xzr, x1, x2
    00397640b.ls 0x397648
    00397644b 0x3977d8
    00397648
    00397648loc_397648:
    00397648b 0x39764c
    0039764c
    0039764cloc_39764c:
    0039764cstr x15, [sp+256]
    00397650str x1, [sp+264]
    00397654str x2, [sp+272]
    00397658ldr x0, [sp+512]
    0039765cldr x1, [sp+216]
    00397660ldr x15, [sp+208]
    00397664ldr x16, [sp+224]
    00397668b 0x39766c
    0039766c
    0039766cloc_39766c:
    0039766csubs xzr, x1, x0
    00397670b.hs 0x397678
    00397674b 0x3977d4
    00397678
    00397678loc_397678:
    00397678sub x2, x16, x0
    0039767csub x16, x1, x0
    00397680sub x17, xzr, x2
    00397684and x17, x0, x17, asr #63
    00397688add x15, x15, x17
    0039768cstr x15, [sp+208]
    00397690str x16, [sp+216]
    00397694str x2, [sp+224]
    00397698ldr x1, [sp+512]
    0039769csubs xzr, x1, x2
    003976a0b.ls 0x3976a8
    003976a4b 0x3977d0
    003976a8
    003976a8loc_3976a8:
    003976a8b 0x3976ac
    003976ac
    003976acloc_3976ac:
    003976acstr x15, [sp+160]
    003976b0str x1, [sp+168]
    003976b4str x2, [sp+176]
    003976b8ldr x0, [sp+512]
    003976bcldr x1, [sp+216]
    003976c0ldr x15, [sp+208]
    003976c4ldr x16, [sp+224]
    003976c8b 0x3976cc
    003976cc
    003976ccloc_3976cc:
    003976ccsubs xzr, x1, x0
    003976d0b.hs 0x3976d8
    003976d4b 0x3977cc
    003976d8
    003976d8loc_3976d8:
    003976d8sub x2, x16, x0
    003976dcsub x16, x1, x0
    003976e0sub x17, xzr, x2
    003976e4and x17, x0, x17, asr #63
    003976e8add x15, x15, x17
    003976ecstr x15, [sp+208]
    003976f0str x16, [sp+216]
    003976f4str x2, [sp+224]
    003976f8ldr x1, [sp+520]
    003976fcsubs xzr, x1, x2
    00397700b.ls 0x397708
    00397704b 0x3977c8
    00397708
    00397708loc_397708:
    00397708b 0x39770c
    0039770c
    0039770cloc_39770c:
    0039770cstr x15, [sp+280]
    00397710str x1, [sp+288]
    00397714str x2, [sp+296]
    00397718ldr x0, [sp+520]
    0039771cldr x1, [sp+216]
    00397720ldr x15, [sp+208]
    00397724ldr x16, [sp+224]
    00397728b 0x39772c
    0039772c
    0039772cloc_39772c:
    0039772csubs xzr, x1, x0
    00397730b.hs 0x397738
    00397734b 0x3977c4
    00397738
    00397738loc_397738:
    00397738sub x2, x16, x0
    0039773csub x16, x1, x0
    00397740sub x17, xzr, x2
    00397744and x17, x0, x17, asr #63
    00397748add x15, x15, x17
    0039774cstr x15, [sp+208]
    00397750str x16, [sp+216]
    00397754str x2, [sp+224]
    00397758ldr x1, [sp+520]
    0039775csubs xzr, x1, x2
    00397760b.ls 0x397768
    00397764b 0x3977c0
    00397768
    00397768loc_397768:
    00397768b 0x39776c
    0039776c
    0039776cloc_39776c:
    0039776cstr x15, [sp+392]
    00397770str x1, [sp+400]
    00397774str x2, [sp+408]
    00397778ldr x0, [sp+232]
    0039777cldr x3, [sp+136]
    00397780ldr x6, [sp+256]
    00397784ldr x9, [sp+160]
    00397788ldr x12, [sp+280]
    0039778cldr x1, [sp+240]
    00397790ldr x4, [sp+144]
    00397794ldr x7, [sp+264]
    00397798ldr x10, [sp+168]
    0039779cldr x13, [sp+288]
    003977a0ldr x2, [sp+248]
    003977a4ldr x5, [sp+152]
    003977a8ldr x8, [sp+272]
    003977acldr x11, [sp+176]
    003977b0ldr x14, [sp+296]
    003977b4ldp x29, x30, [sp-8]
    003977b8add sp, sp, 384
    003977bcret x30
    003977c0
    003977c0loc_3977c0:
    003977c0bl runtime.panicSliceAcap
    003977c4
    003977c4loc_3977c4:
    003977c4bl runtime.panicSliceB
    003977c8
    003977c8loc_3977c8:
    003977c8bl runtime.panicSliceAcap
    003977cc
    003977ccloc_3977cc:
    003977ccbl runtime.panicSliceB
    003977d0
    003977d0loc_3977d0:
    003977d0bl runtime.panicSliceAcap
    003977d4
    003977d4loc_3977d4:
    003977d4bl runtime.panicSliceB
    003977d8
    003977d8loc_3977d8:
    003977d8bl runtime.panicSliceAcap
    003977dc
    003977dcloc_3977dc:
    003977dcbl runtime.panicSliceB
    003977e0
    003977e0loc_3977e0:
    003977e0bl runtime.panicSliceAcap
    003977e4
    003977e4loc_3977e4:
    003977e4bl runtime.panicSliceB
    003977e8
    003977e8loc_3977e8:
    003977e8bl runtime.panicSliceAcap
    003977echint
    003977f0
    003977f0loc_3977f0:
    003977f0strh w0, [sp+32]
    003977f4stp x1, x2, [sp+40]
    003977f8stp x3, x4, [sp+56]
    003977fcstp x5, x6, [sp+72]
    00397800stp x7, x8, [sp+88]
    00397804stp x9, x10, [sp+104]
    00397808stp x11, x12, [sp+120]
    0039780cstr x13, [sp+136]
    00397810mov x3, x30
    00397814bl runtime.morestack_noctxt.abi0
    00397818ldrh w0, [sp+32]
    0039781cldp x1, x2, [sp+40]
    00397820ldp x3, x4, [sp+56]
    00397824ldp x5, x6, [sp+72]
    00397828ldp x7, x8, [sp+88]
    0039782cldp x9, x10, [sp+104]
    00397830ldp x11, x12, [sp+120]
    00397834ldr x13, [sp+136]
    00397838b 0x397320
    0039783cudf 0
    00397320
    00397840
    00397840crypto/tls.newFinishedHash: ; void crypto/tls.newFinishedHash(uint16 version, crypto/tls.cipherSuite * cipherSuite)
    00397840ldr x16, [x28+16]
    00397844sub x17, sp, 160
    00397848subs xzr, x17, x16
    0039784cb.ls 0x397a90
    00397850sub x20, sp, 288
    00397854stp x29, x30, [x20-8]
    00397858add sp, x20, 0
    0039785csub x29, sp, 8
    00397860strh w0, [sp+296]
    00397864str x1, [sp+304]
    00397868add x20, sp, 56
    0039786cadr x27, 16
    00397870stp x29, x27, [sp-24]
    00397874sub x29, sp, 24
    00397878bl fn_87cf8
    0039787csub x29, sp, 8
    00397880str xzr, [sp+152]
    00397884str xzr, [sp+168]
    00397888stp xzr, xzr, [sp+176]
    0039788cldrh w2, [sp+296]
    00397890subs wzr, w2, 771
    00397894b.hs 0x39789c
    00397898b 0x3978b8
    0039789c
    0039789cloc_39789c:
    0039789cadrp x2, 0x6b4000
    003978a0add x2, x2, 1504
    003978a4str x2, [sp+208]
    003978a8b 0x3978ac
    003978ac
    003978acloc_3978ac:
    003978acstr x2, [sp+168]
    003978b0stp xzr, xzr, [sp+176]
    003978b4b 0x3978bc
    003978b8
    003978b8loc_3978b8:
    003978b8b 0x3978bc
    003978bc
    003978bcloc_3978bc:
    003978bcstr xzr, [sp+192]
    003978c0ldr x1, [sp+304]
    003978c4ldrh w0, [sp+296]
    003978c8bl crypto/tls.prfAndHashForVersion
    003978ccstr x0, [sp+192]
    003978d0str x1, [sp+40]
    003978d4str x0, [sp+200]
    003978d8ldr x2, [sp+40]
    003978dcstr x2, [sp+48]
    003978e0str x0, [sp+160]
    003978e4ldr x0, [sp+48]
    003978e8str x0, [sp+32]
    003978eccbnz x0, 0x3978f4
    003978f0b 0x3979a8
    003978f4
    003978f4loc_3978f4:
    003978f4bl crypto.Hash.New
    003978f8str x0, [sp+264]
    003978fcstr x1, [sp+272]
    00397900ldr x0, [sp+32]
    00397904bl crypto.Hash.New
    00397908str x0, [sp+248]
    0039790cstr x1, [sp+256]
    00397910add x20, sp, 56
    00397914adr x27, 16
    00397918stp x29, x27, [sp-24]
    0039791csub x29, sp, 24
    00397920bl fn_87cf8
    00397924sub x29, sp, 8
    00397928str xzr, [sp+152]
    0039792cldr x1, [sp+264]
    00397930ldr x2, [sp+272]
    00397934str x1, [sp+56]
    00397938str x2, [sp+64]
    0039793cldr x1, [sp+248]
    00397940ldr x2, [sp+256]
    00397944str x1, [sp+72]
    00397948str x2, [sp+80]
    0039794cldr x9, [sp+176]
    00397950ldr x10, [sp+184]
    00397954ldr x1, [sp+168]
    00397958str x1, [sp+120]
    0039795cstr x9, [sp+128]
    00397960str x10, [sp+136]
    00397964ldrh w1, [sp+296]
    00397968strh w1, [sp+144]
    0039796cldr x12, [sp+160]
    00397970str x12, [sp+152]
    00397974ldr x0, [sp+56]
    00397978ldr x1, [sp+64]
    0039797cldr x2, [sp+72]
    00397980ldr x3, [sp+80]
    00397984ldr x4, [sp+88]
    00397988ldr x5, [sp+96]
    0039798cldr x6, [sp+104]
    00397990ldr x7, [sp+112]
    00397994ldr x8, [sp+120]
    00397998ldrh w11, [sp+144]
    0039799cldp x29, x30, [sp-8]
    003979a0add sp, sp, 288
    003979a4ret x30
    003979a8
    003979a8loc_3979a8:
    003979a8bl crypto/sha1.New
    003979acstr x0, [sp+248]
    003979b0str x1, [sp+256]
    003979b4bl crypto/sha1.New
    003979b8str x0, [sp+264]
    003979bcstr x1, [sp+272]
    003979c0bl crypto/md5.New
    003979c4str x0, [sp+232]
    003979c8str x1, [sp+240]
    003979ccbl crypto/md5.New
    003979d0str x0, [sp+216]
    003979d4str x1, [sp+224]
    003979d8add x20, sp, 56
    003979dcadr x27, 16
    003979e0stp x29, x27, [sp-24]
    003979e4sub x29, sp, 24
    003979e8bl fn_87cf8
    003979ecsub x29, sp, 8
    003979f0str xzr, [sp+152]
    003979f4ldr x0, [sp+248]
    003979f8ldr x1, [sp+256]
    003979fcstr x0, [sp+56]
    00397a00str x1, [sp+64]
    00397a04ldr x0, [sp+264]
    00397a08ldr x1, [sp+272]
    00397a0cstr x0, [sp+72]
    00397a10str x1, [sp+80]
    00397a14ldr x0, [sp+232]
    00397a18ldr x1, [sp+240]
    00397a1cstr x0, [sp+88]
    00397a20str x1, [sp+96]
    00397a24ldr x0, [sp+216]
    00397a28ldr x1, [sp+224]
    00397a2cstr x0, [sp+104]
    00397a30str x1, [sp+112]
    00397a34ldr x9, [sp+176]
    00397a38ldr x10, [sp+184]
    00397a3cldr x0, [sp+168]
    00397a40str x0, [sp+120]
    00397a44str x9, [sp+128]
    00397a48str x10, [sp+136]
    00397a4cldrh w0, [sp+296]
    00397a50strh w0, [sp+144]
    00397a54ldr x12, [sp+160]
    00397a58str x12, [sp+152]
    00397a5cldr x0, [sp+56]
    00397a60ldr x1, [sp+64]
    00397a64ldr x2, [sp+72]
    00397a68ldr x3, [sp+80]
    00397a6cldr x4, [sp+88]
    00397a70ldr x5, [sp+96]
    00397a74ldr x6, [sp+104]
    00397a78ldr x7, [sp+112]
    00397a7cldr x8, [sp+120]
    00397a80ldrh w11, [sp+144]
    00397a84ldp x29, x30, [sp-8]
    00397a88add sp, sp, 288
    00397a8cret x30
    00397a90
    00397a90loc_397a90:
    00397a90strh w0, [sp+8]
    00397a94str x1, [sp+16]
    00397a98mov x3, x30
    00397a9cbl runtime.morestack_noctxt.abi0
    00397aa0ldrh w0, [sp+8]
    00397aa4ldr x1, [sp+16]
    00397aa8b 0x397840
    00397aacudf 0
    00397840
    00397ab0
    00397ab0crypto/tls.(*finishedHash).Write: ; void crypto/tls.(*finishedHash).Write(crypto/tls.finishedHash * h, struct []uint8 msg)
    00397ab0ldr x16, [x28+16]
    00397ab4sub x17, sp, 32
    00397ab8subs xzr, x17, x16
    00397abcb.ls 0x397cc8
    00397ac0str x30, [sp-160]!
    00397ac4stur x29, [sp-8]
    00397ac8sub x29, sp, 8
    00397accstr x0, [sp+168]
    00397ad0str x1, [sp+176]
    00397ad4str x2, [sp+184]
    00397ad8str x3, [sp+192]
    00397adcstr xzr, [sp+48]
    00397ae0stp xzr, xzr, [sp+80]
    00397ae4ldr x4, [sp+168]
    00397ae8ldrsb x27, [x4]
    00397aecldr x5, [x4]
    00397af0ldrsb x27, [x5]
    00397af4ldr x0, [x4+8]
    00397af8ldr x1, [sp+176]
    00397afcldr x2, [sp+184]
    00397b00ldr x3, [sp+192]
    00397b04ldr x4, [x5+56]
    00397b08blr x4
    00397b0cldr x4, [sp+168]
    00397b10ldrsb x27, [x4]
    00397b14ldr x5, [x4+16]
    00397b18ldrsb x27, [x5]
    00397b1cldr x0, [x4+24]
    00397b20ldr x1, [sp+176]
    00397b24ldr x2, [sp+184]
    00397b28ldr x3, [sp+192]
    00397b2cldr x4, [x5+56]
    00397b30blr x4
    00397b34ldr x4, [sp+168]
    00397b38ldrsb x27, [x4]
    00397b3cldrh w4, [x4+88]
    00397b40subs wzr, w4, 771
    00397b44b.lo 0x397b4c
    00397b48b 0x397ba0
    00397b4c
    00397b4cloc_397b4c:
    00397b4cldr x4, [sp+168]
    00397b50ldrsb x27, [x4]
    00397b54ldr x5, [x4+32]
    00397b58ldrsb x27, [x5]
    00397b5cldr x0, [x4+40]
    00397b60ldr x1, [sp+176]
    00397b64ldr x2, [sp+184]
    00397b68ldr x3, [sp+192]
    00397b6cldr x4, [x5+56]
    00397b70blr x4
    00397b74ldr x4, [sp+168]
    00397b78ldrsb x27, [x4]
    00397b7cldr x5, [x4+48]
    00397b80ldrsb x27, [x5]
    00397b84ldr x0, [x4+56]
    00397b88ldr x1, [sp+176]
    00397b8cldr x2, [sp+184]
    00397b90ldr x3, [sp+192]
    00397b94ldr x4, [x5+56]
    00397b98blr x4
    00397b9cb 0x397ba4
    00397ba0
    00397ba0loc_397ba0:
    00397ba0b 0x397ba4
    00397ba4
    00397ba4loc_397ba4:
    00397ba4ldr x5, [sp+168]
    00397ba8ldrsb x27, [x5]
    00397bacldr x5, [x5+64]
    00397bb0cbnz x5, 0x397bb8
    00397bb4b 0x397c9c
    00397bb8
    00397bb8loc_397bb8:
    00397bb8ldr x5, [sp+168]
    00397bbcldrsb x27, [x5]
    00397bc0ldr x2, [x5+80]
    00397bc4ldr x0, [x5+64]
    00397bc8ldr x5, [x5+72]
    00397bccstr x0, [sp+128]
    00397bd0str x5, [sp+136]
    00397bd4str x2, [sp+144]
    00397bd8str x0, [sp+104]
    00397bdcstr x5, [sp+112]
    00397be0str x2, [sp+120]
    00397be4ldr x6, [sp+184]
    00397be8add x1, x5, x6
    00397becstr x1, [sp+64]
    00397bf0subs xzr, x2, x1
    00397bf4b.hs 0x397bfc
    00397bf8b 0x397c04
    00397bfc
    00397bfcloc_397bfc:
    00397bfcstr x1, [sp+112]
    00397c00b 0x397c24
    00397c04
    00397c04loc_397c04:
    00397c04ldr x3, [sp+184]
    00397c08adrp x4, 0x25e000
    00397c0cadd x4, x4, 3072
    00397c10bl runtime.growslice
    00397c14str x0, [sp+104]
    00397c18str x1, [sp+112]
    00397c1cstr x2, [sp+120]
    00397c20b 0x397c24
    00397c24
    00397c24loc_397c24:
    00397c24ldr x3, [sp+184]
    00397c28str x3, [sp+56]
    00397c2cldr x3, [sp+64]
    00397c30ldr x4, [sp+184]
    00397c34sub x3, x3, x4
    00397c38ldr x4, [sp+104]
    00397c3cadd x0, x4, x3
    00397c40str x0, [sp+96]
    00397c44ldr x2, [sp+56]
    00397c48ldr x1, [sp+176]
    00397c4cbl runtime.memmove
    00397c50ldr x3, [sp+168]
    00397c54ldrsb x27, [x3]
    00397c58ldr x4, [sp+104]
    00397c5cldr x5, [sp+112]
    00397c60ldr x6, [sp+120]
    00397c64str x5, [x3+72]
    00397c68str x6, [x3+80]
    00397c6cadrp x27, 0x6b4000
    00397c70ldr w5, [x27+3056]
    00397c74cbz w5, 0x397c7c
    00397c78b 0x397c80
    00397c7c
    00397c7cloc_397c7c:
    00397c7cb 0x397c94
    00397c80
    00397c80loc_397c80:
    00397c80bl runtime.gcWriteBarrier2
    00397c84str x4, [x25]
    00397c88ldr x5, [x3+64]
    00397c8cstr x5, [x25+8]
    00397c90b 0x397c94
    00397c94
    00397c94loc_397c94:
    00397c94str x4, [x3+64]
    00397c98b 0x397ca0
    00397c9c
    00397c9cloc_397c9c:
    00397c9cb 0x397ca0
    00397ca0
    00397ca0loc_397ca0:
    00397ca0ldr x3, [sp+184]
    00397ca4str x3, [sp+72]
    00397ca8str x3, [sp+48]
    00397cacstp xzr, xzr, [sp+80]
    00397cb0ldr x0, [sp+48]
    00397cb4mov x1, xzr
    00397cb8mov x2, xzr
    00397cbcldur x29, [sp-8]
    00397cc0ldr x30, [sp], 160
    00397cc4ret x30
    00397cc8
    00397cc8loc_397cc8:
    00397cc8stp x0, x1, [sp+8]
    00397cccstp x2, x3, [sp+24]
    00397cd0mov x3, x30
    00397cd4bl runtime.morestack_noctxt.abi0
    00397cd8ldp x0, x1, [sp+8]
    00397cdcldp x2, x3, [sp+24]
    00397ce0b 0x397ab0
    00397ce4udf 0
    00397ce8udf 0
    00397cecudf 0
    00397ab0
    00397cf0
    00397cf0crypto/tls.finishedHash.Sum: ; void crypto/tls.finishedHash.Sum(crypto/tls.finishedHash h)
    00397cf0ldr x16, [x28+16]
    00397cf4subs xzr, sp, x16
    00397cf8b.ls 0x397e40
    00397cfcstr x30, [sp-128]!
    00397d00stur x29, [sp-8]
    00397d04sub x29, sp, 8
    00397d08str x0, [sp+136]
    00397d0cstr x1, [sp+144]
    00397d10str x2, [sp+152]
    00397d14str x3, [sp+160]
    00397d18str x4, [sp+168]
    00397d1cstr x5, [sp+176]
    00397d20str x6, [sp+184]
    00397d24str x7, [sp+192]
    00397d28str x8, [sp+200]
    00397d2cstr x9, [sp+208]
    00397d30str x10, [sp+216]
    00397d34strh w11, [sp+224]
    00397d38str x12, [sp+232]
    00397d3cstr xzr, [sp+48]
    00397d40stp xzr, xzr, [sp+56]
    00397d44ldrh w4, [sp+224]
    00397d48subs wzr, w4, 771
    00397d4cb.hs 0x397d54
    00397d50b 0x397d98
    00397d54
    00397d54loc_397d54:
    00397d54ldr x4, [sp+136]
    00397d58ldrsb x27, [x4]
    00397d5cldr x0, [sp+144]
    00397d60ldr x4, [x4+48]
    00397d64mov x1, xzr
    00397d68mov x2, xzr
    00397d6cmov x3, x2
    00397d70blr x4
    00397d74str x0, [sp+96]
    00397d78str x1, [sp+104]
    00397d7cstr x2, [sp+112]
    00397d80str x0, [sp+48]
    00397d84str x1, [sp+56]
    00397d88str x2, [sp+64]
    00397d8cldur x29, [sp-8]
    00397d90ldr x30, [sp], 128
    00397d94ret x30
    00397d98
    00397d98loc_397d98:
    00397d98adrp x0, 0x25e000
    00397d9cadd x0, x0, 3072
    00397da0mov x1, xzr
    00397da4movz x2, 36
    00397da8bl runtime.makeslice
    00397dacstr x0, [sp+72]
    00397db0str xzr, [sp+80]
    00397db4movz x3, 36
    00397db8str x3, [sp+88]
    00397dbcldr x4, [sp+168]
    00397dc0ldrsb x27, [x4]
    00397dc4ldr x5, [sp+176]
    00397dc8ldr x4, [x4+48]
    00397dccmov x1, x0
    00397dd0mov x2, xzr
    00397dd4mov x0, x5
    00397dd8blr x4
    00397ddcstr x0, [sp+72]
    00397de0str x1, [sp+80]
    00397de4str x2, [sp+88]
    00397de8ldr x3, [sp+136]
    00397decldrsb x27, [x3]
    00397df0ldr x4, [sp+144]
    00397df4ldr x3, [x3+48]
    00397df8mov x5, x0
    00397dfcmov x0, x4
    00397e00mov x6, x1
    00397e04mov x1, x5
    00397e08mov x7, x2
    00397e0cmov x2, x6
    00397e10mov x8, x3
    00397e14mov x3, x7
    00397e18blr x8
    00397e1cstr x0, [sp+96]
    00397e20str x1, [sp+104]
    00397e24str x2, [sp+112]
    00397e28str x0, [sp+48]
    00397e2cstr x1, [sp+56]
    00397e30str x2, [sp+64]
    00397e34ldur x29, [sp-8]
    00397e38ldr x30, [sp], 128
    00397e3cret x30
    00397e40
    00397e40loc_397e40:
    00397e40stp x0, x1, [sp+8]
    00397e44stp x2, x3, [sp+24]
    00397e48stp x4, x5, [sp+40]
    00397e4cstp x6, x7, [sp+56]
    00397e50stp x8, x9, [sp+72]
    00397e54str x10, [sp+88]
    00397e58strh w11, [sp+96]
    00397e5cstr x12, [sp+104]
    00397e60mov x3, x30
    00397e64bl runtime.morestack_noctxt.abi0
    00397e68ldp x0, x1, [sp+8]
    00397e6cldp x2, x3, [sp+24]
    00397e70ldp x4, x5, [sp+40]
    00397e74ldp x6, x7, [sp+56]
    00397e78ldp x8, x9, [sp+72]
    00397e7cldr x10, [sp+88]
    00397e80ldrh w11, [sp+96]
    00397e84ldr x12, [sp+104]
    00397e88b 0x397cf0
    00397e8cudf 0
    00397cf0