File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
    00394cd0
    00394cd0crypto/tls.(*ecdheKeyAgreement).processServerKeyExchange: ; void crypto/tls.(*ecdheKeyAgreement).processServerKeyExchange(crypto/tls.ecdheKeyAgreement * ka, crypto/tls.Config * config, crypto/tls.clientHelloMsg * clientHello, crypto/tls.serverHelloMsg * serverHello, crypto/x509.Certificate * cert, crypto/tls.serverKeyExchangeMsg * skx)
    00394cd0ldr x16, [x28+16]
    00394cd4sub x17, sp, 736
    00394cd8subs xzr, x17, x16
    00394cdcb.ls 0x3959b0
    00394ce0sub x20, sp, 864
    00394ce4stp x29, x30, [x20-8]
    00394ce8add sp, x20, 0
    00394cecsub x29, sp, 8
    00394cf0str x0, [sp+872]
    00394cf4str x1, [sp+880]
    00394cf8str x2, [sp+888]
    00394cfcstr x3, [sp+896]
    00394d00str x4, [sp+904]
    00394d04str x5, [sp+912]
    00394d08stp xzr, xzr, [sp+184]
    00394d0cldr x3, [sp+912]
    00394d10ldrsb x27, [x3]
    00394d14ldr x3, [x3+8]
    00394d18str x3, [sp+160]
    00394d1csubs xzr, x3, 4
    00394d20b.lt 0x394d28
    00394d24b 0x394d4c
    00394d28
    00394d28loc_394d28:
    00394d28adrp x27, 0x68d000
    00394d2cldr x0, [x27+2864]
    00394d30adrp x27, 0x68d000
    00394d34ldr x1, [x27+2872]
    00394d38str x0, [sp+184]
    00394d3cstr x1, [sp+192]
    00394d40ldp x29, x30, [sp-8]
    00394d44add sp, sp, 864
    00394d48ret x30
    00394d4c
    00394d4cloc_394d4c:
    00394d4cldr x3, [sp+912]
    00394d50ldrsb x27, [x3]
    00394d54ldr x1, [x3+8]
    00394d58ldr x3, [x3]
    00394d5csubs xzr, x1, 0
    00394d60b.hi 0x394d68
    00394d64b 0x3959a4
    00394d68
    00394d68loc_394d68:
    00394d68ldrb w3, [x3]
    00394d6csubs wzr, w3, 3
    00394d70b.ne 0x394d78
    00394d74b 0x394da4
    00394d78
    00394d78loc_394d78:
    00394d78adrp x0, 0x32e000
    00394d7cadd x0, x0, 3760
    00394d80movz x1, 38
    00394d84bl errors.New
    00394d88str x0, [sp+688]
    00394d8cstr x1, [sp+696]
    00394d90str x0, [sp+184]
    00394d94str x1, [sp+192]
    00394d98ldp x29, x30, [sp-8]
    00394d9cadd sp, sp, 864
    00394da0ret x30
    00394da4
    00394da4loc_394da4:
    00394da4ldr x3, [sp+912]
    00394da8ldrsb x27, [x3]
    00394dacldr x1, [x3+8]
    00394db0ldr x3, [x3]
    00394db4subs xzr, x1, 1
    00394db8b.hi 0x394dc0
    00394dbcb 0x39599c
    00394dc0
    00394dc0loc_394dc0:
    00394dc0ldrb w3, [x3+1]
    00394dc4ubfm x3, x3, 56, 7
    00394dc8ldr x4, [sp+912]
    00394dccldrsb x27, [x4]
    00394dd0ldr x1, [x4+8]
    00394dd4ldr x4, [x4]
    00394dd8subs xzr, x1, 2
    00394ddcb.hi 0x394de4
    00394de0b 0x395994
    00394de4
    00394de4loc_394de4:
    00394de4ldrb w4, [x4+2]
    00394de8orr x3, x3, x4
    00394decstrh w3, [sp+100]
    00394df0ldr x3, [sp+912]
    00394df4ldrsb x27, [x3]
    00394df8ldr x1, [x3+8]
    00394dfcldr x3, [x3]
    00394e00subs xzr, x1, 3
    00394e04b.hi 0x394e0c
    00394e08b 0x39598c
    00394e0c
    00394e0cloc_394e0c:
    00394e0cldrb w3, [x3+3]
    00394e10str x3, [sp+120]
    00394e14add x4, x3, 4
    00394e18ldr x5, [sp+912]
    00394e1cldrsb x27, [x5]
    00394e20ldr x5, [x5+8]
    00394e24str x5, [sp+160]
    00394e28subs xzr, x5, x4
    00394e2cb.lt 0x394e34
    00394e30b 0x394e58
    00394e34
    00394e34loc_394e34:
    00394e34adrp x27, 0x68d000
    00394e38ldr x0, [x27+2864]
    00394e3cadrp x27, 0x68d000
    00394e40ldr x1, [x27+2872]
    00394e44str x0, [sp+184]
    00394e48str x1, [sp+192]
    00394e4cldp x29, x30, [sp-8]
    00394e50add sp, sp, 864
    00394e54ret x30
    00394e58
    00394e58loc_394e58:
    00394e58add x1, x3, 4
    00394e5cstr x1, [sp+160]
    00394e60ldr x4, [sp+912]
    00394e64ldrsb x27, [x4]
    00394e68ldr x2, [x4+16]
    00394e6cldr x4, [x4]
    00394e70subs xzr, x2, x1
    00394e74b.hs 0x394e7c
    00394e78b 0x395988
    00394e7c
    00394e7cloc_394e7c:
    00394e7cb 0x394e80
    00394e80
    00394e80loc_394e80:
    00394e80str x4, [sp+248]
    00394e84str x1, [sp+256]
    00394e88str x2, [sp+264]
    00394e8cb 0x394e90
    00394e90
    00394e90loc_394e90:
    00394e90subs xzr, x1, 4
    00394e94b.hs 0x394e9c
    00394e98b 0x395980
    00394e9c
    00394e9cloc_394e9c:
    00394e9csub x2, x2, 4
    00394ea0sub x5, xzr, x2
    00394ea4sbfm x5, x5, 63, 63
    00394ea8and x5, x5, 4
    00394eacadd x4, x4, x5
    00394eb0str x4, [sp+272]
    00394eb4str x3, [sp+280]
    00394eb8str x2, [sp+288]
    00394ebcldr x2, [sp+120]
    00394ec0add x0, x2, 4
    00394ec4str x0, [sp+160]
    00394ec8ldr x3, [sp+912]
    00394eccldrsb x27, [x3]
    00394ed0ldr x1, [x3+8]
    00394ed4ldr x4, [x3]
    00394ed8ldr x3, [x3+16]
    00394edcb 0x394ee0
    00394ee0
    00394ee0loc_394ee0:
    00394ee0subs xzr, x1, x0
    00394ee4b.hs 0x394eec
    00394ee8b 0x39597c
    00394eec
    00394eecloc_394eec:
    00394eecsub x5, x1, x2
    00394ef0sub x2, x3, x2
    00394ef4sub x3, x5, 4
    00394ef8sub x2, x2, 4
    00394efcsub x5, xzr, x2
    00394f00and x5, x0, x5, asr #63
    00394f04add x4, x4, x5
    00394f08str x4, [sp+224]
    00394f0cstr x3, [sp+232]
    00394f10str x2, [sp+240]
    00394f14str x3, [sp+160]
    00394f18subs xzr, x3, 2
    00394f1cb.lt 0x394f24
    00394f20b 0x394f48
    00394f24
    00394f24loc_394f24:
    00394f24adrp x27, 0x68d000
    00394f28ldr x0, [x27+2864]
    00394f2cadrp x27, 0x68d000
    00394f30ldr x1, [x27+2872]
    00394f34str x0, [sp+184]
    00394f38str x1, [sp+192]
    00394f3cldp x29, x30, [sp-8]
    00394f40add sp, sp, 864
    00394f44ret x30
    00394f48
    00394f48loc_394f48:
    00394f48add x27, sp, 672
    00394f4cstp xzr, xzr, [x27]
    00394f50ldrh w0, [sp+100]
    00394f54bl crypto/tls.curveForCurveID
    00394f58str x0, [sp+672]
    00394f5cstr x1, [sp+680]
    00394f60strb w2, [sp+94]
    00394f64ldr x1, [sp+672]
    00394f68ldr x2, [sp+680]
    00394f6cstr x1, [sp+840]
    00394f70str x2, [sp+848]
    00394f74ldrb w1, [sp+94]
    00394f78strb w1, [sp+97]
    00394f7cstrb w1, [sp+92]
    00394f80tbnz w1, 0, 0x394f88
    00394f84b 0x395910
    00394f88
    00394f88loc_394f88:
    00394f88ldr x0, [sp+880]
    00394f8cbl crypto/tls.(*Config).rand
    00394f90str x0, [sp+656]
    00394f94str x1, [sp+664]
    00394f98str xzr, [sp+648]
    00394f9cadd x27, sp, 688
    00394fa0stp xzr, xzr, [x27]
    00394fa4ldrh w2, [sp+100]
    00394fa8ldr x0, [sp+656]
    00394facldr x1, [sp+664]
    00394fb0bl crypto/tls.generateECDHEKey
    00394fb4str x0, [sp+648]
    00394fb8str x1, [sp+688]
    00394fbcstr x2, [sp+696]
    00394fc0ldr x1, [sp+648]
    00394fc4str x1, [sp+832]
    00394fc8ldr x1, [sp+688]
    00394fccldr x2, [sp+696]
    00394fd0str x1, [sp+816]
    00394fd4str x2, [sp+824]
    00394fd8ldr x1, [sp+832]
    00394fdcstr x1, [sp+328]
    00394fe0ldr x1, [sp+824]
    00394fe4ldr x0, [sp+816]
    00394fe8str x0, [sp+352]
    00394fecstr x1, [sp+360]
    00394ff0cbnz x0, 0x394ff8
    00394ff4b 0x39500c
    00394ff8
    00394ff8loc_394ff8:
    00394ff8str x0, [sp+184]
    00394ffcstr x1, [sp+192]
    00395000ldp x29, x30, [sp-8]
    00395004add sp, sp, 864
    00395008ret x30
    0039500c
    0039500cloc_39500c:
    0039500cldr x1, [sp+872]
    00395010ldrsb x27, [x1]
    00395014ldr x2, [sp+328]
    00395018adrp x27, 0x6b6000
    0039501cldr w3, [x27+3056]
    00395020cbz w3, 0x395028
    00395024b 0x39502c
    00395028
    00395028loc_395028:
    00395028b 0x395040
    0039502c
    0039502cloc_39502c:
    0039502cbl runtime.gcWriteBarrier2
    00395030str x2, [x25]
    00395034ldr x3, [x1+8]
    00395038str x3, [x25+8]
    0039503cb 0x395040
    00395040
    00395040loc_395040:
    00395040str x2, [x1+8]
    00395044ldr x0, [sp+328]
    00395048bl crypto/ecdh.(*PrivateKey).Curve
    0039504cstr x0, [sp+800]
    00395050str x1, [sp+808]
    00395054str xzr, [sp+640]
    00395058add x27, sp, 688
    0039505cstp xzr, xzr, [x27]
    00395060ldr x1, [sp+272]
    00395064ldr x2, [sp+280]
    00395068ldr x3, [sp+288]
    0039506cldr x4, [sp+800]
    00395070ldrsb x27, [x4]
    00395074ldr x0, [sp+808]
    00395078ldr x4, [x4+40]
    0039507cblr x4
    00395080str x0, [sp+640]
    00395084str x1, [sp+688]
    00395088str x2, [sp+696]
    0039508cldr x1, [sp+640]
    00395090str x1, [sp+792]
    00395094ldr x1, [sp+688]
    00395098ldr x2, [sp+696]
    0039509cstr x1, [sp+776]
    003950a0str x2, [sp+784]
    003950a4ldr x1, [sp+792]
    003950a8str x1, [sp+296]
    003950acldr x1, [sp+784]
    003950b0ldr x2, [sp+776]
    003950b4str x2, [sp+352]
    003950b8str x1, [sp+360]
    003950bccbnz x2, 0x3950c4
    003950c0b 0x3950e8
    003950c4
    003950c4loc_3950c4:
    003950c4adrp x27, 0x68c000
    003950c8ldr x0, [x27+2864]
    003950ccadrp x27, 0x68c000
    003950d0ldr x1, [x27+2872]
    003950d4str x0, [sp+184]
    003950d8str x1, [sp+192]
    003950dcldp x29, x30, [sp-8]
    003950e0add sp, sp, 864
    003950e4ret x30
    003950e8
    003950e8loc_3950e8:
    003950e8add x27, sp, 616
    003950ecstp xzr, xzr, [x27]
    003950f0str xzr, [sp+632]
    003950f4add x27, sp, 688
    003950f8stp xzr, xzr, [x27]
    003950fcldr x1, [sp+296]
    00395100ldr x0, [sp+328]
    00395104bl crypto/ecdh.(*PrivateKey).ECDH
    00395108str x0, [sp+616]
    0039510cstr x1, [sp+624]
    00395110str x2, [sp+632]
    00395114str x3, [sp+688]
    00395118str x4, [sp+696]
    0039511cldr x2, [sp+616]
    00395120ldr x3, [sp+624]
    00395124ldr x4, [sp+632]
    00395128str x2, [sp+752]
    0039512cstr x3, [sp+760]
    00395130str x4, [sp+768]
    00395134ldr x2, [sp+688]
    00395138ldr x3, [sp+696]
    0039513cstr x2, [sp+736]
    00395140str x3, [sp+744]
    00395144ldr x2, [sp+872]
    00395148ldrsb x27, [x2]
    0039514cldr x3, [sp+752]
    00395150ldr x4, [sp+760]
    00395154ldr x5, [sp+768]
    00395158str x4, [x2+32]
    0039515cstr x5, [x2+40]
    00395160adrp x27, 0x6b6000
    00395164ldr w4, [x27+3056]
    00395168cbz w4, 0x395170
    0039516cb 0x395174
    00395170
    00395170loc_395170:
    00395170b 0x395188
    00395174
    00395174loc_395174:
    00395174bl runtime.gcWriteBarrier2
    00395178str x3, [x25]
    0039517cldr x4, [x2+24]
    00395180str x4, [x25+8]
    00395184b 0x395188
    00395188
    00395188loc_395188:
    00395188str x3, [x2+24]
    0039518cldr x2, [sp+744]
    00395190ldr x3, [sp+736]
    00395194str x3, [sp+352]
    00395198str x2, [sp+360]
    0039519ccbnz x3, 0x3951a4
    003951a0b 0x3951c8
    003951a4
    003951a4loc_3951a4:
    003951a4adrp x27, 0x68c000
    003951a8ldr x0, [x27+2864]
    003951acadrp x27, 0x68c000
    003951b0ldr x1, [x27+2872]
    003951b4str x0, [sp+184]
    003951b8str x1, [sp+192]
    003951bcldp x29, x30, [sp-8]
    003951c0add sp, sp, 864
    003951c4ret x30
    003951c8
    003951c8loc_3951c8:
    003951c8ldr x0, [sp+328]
    003951ccbl crypto/ecdh.(*PrivateKey).PublicKey
    003951d0str x0, [sp+640]
    003951d4bl crypto/ecdh.(*PublicKey).Bytes
    003951d8str x0, [sp+304]
    003951dcstr x1, [sp+312]
    003951e0str x2, [sp+320]
    003951e4adrp x0, 0x295000
    003951e8add x0, x0, 3552
    003951ecbl runtime.newobject
    003951f0str x0, [sp+608]
    003951f4ldr x1, [sp+872]
    003951f8ldrsb x27, [x1]
    003951fcadrp x27, 0x6b6000
    00395200ldr w2, [x27+3056]
    00395204cbz w2, 0x39520c
    00395208b 0x395210
    0039520c
    0039520cloc_39520c:
    0039520cb 0x395224
    00395210
    00395210loc_395210:
    00395210bl runtime.gcWriteBarrier2
    00395214str x0, [x25]
    00395218ldr x3, [x1+16]
    0039521cstr x3, [x25+8]
    00395220b 0x395224
    00395224
    00395224loc_395224:
    00395224str x0, [x1+16]
    00395228ldr x3, [sp+312]
    0039522cstr x3, [sp+160]
    00395230add x2, x3, 1
    00395234str x2, [sp+144]
    00395238adrp x0, 0x260000
    0039523cadd x0, x0, 3072
    00395240mov x1, x2
    00395244bl runtime.makeslice
    00395248ldr x3, [sp+144]
    0039524cldr x4, [sp+144]
    00395250str x0, [sp+616]
    00395254str x3, [sp+624]
    00395258str x4, [sp+632]
    0039525cldr x5, [sp+872]
    00395260ldrsb x27, [x5]
    00395264ldr x5, [x5+16]
    00395268ldrsb x27, [x5]
    0039526cstr x3, [x5+8]
    00395270str x4, [x5+16]
    00395274adrp x27, 0x6b6000
    00395278ldr w3, [x27+3056]
    0039527ccbz w3, 0x395284
    00395280b 0x395288
    00395284
    00395284loc_395284:
    00395284b 0x39529c
    00395288
    00395288loc_395288:
    00395288bl runtime.gcWriteBarrier2
    0039528cstr x0, [x25]
    00395290ldr x4, [x5]
    00395294str x4, [x25+8]
    00395298b 0x39529c
    0039529c
    0039529cloc_39529c:
    0039529cstr x0, [x5]
    003952a0ldr x4, [sp+312]
    003952a4str x4, [sp+160]
    003952a8ldr x5, [sp+872]
    003952acldrsb x27, [x5]
    003952b0ldr x5, [x5+16]
    003952b4ldrsb x27, [x5]
    003952b8ldr x1, [x5+8]
    003952bcldr x5, [x5]
    003952c0subs xzr, x1, 0
    003952c4b.hi 0x3952cc
    003952c8b 0x395974
    003952cc
    003952ccloc_3952cc:
    003952ccstrb w4, [x5]
    003952d0ldr x4, [sp+872]
    003952d4ldrsb x27, [x4]
    003952d8ldr x4, [x4+16]
    003952dcldrsb x27, [x4]
    003952e0ldr x1, [x4+8]
    003952e4ldr x5, [x4]
    003952e8ldr x4, [x4+16]
    003952ecb 0x3952f0
    003952f0
    003952f0loc_3952f0:
    003952f0subs xzr, x1, 1
    003952f4b.hs 0x3952fc
    003952f8b 0x39596c
    003952fc
    003952fcloc_3952fc:
    003952fcsub x4, x4, 1
    00395300sub x6, x1, 1
    00395304sub x7, xzr, x4
    00395308sbfm x7, x7, 63, 63
    0039530cand x7, x7, 1
    00395310add x5, x5, x7
    00395314str x5, [sp+616]
    00395318str x6, [sp+624]
    0039531cstr x4, [sp+632]
    00395320str x5, [sp+496]
    00395324str x6, [sp+504]
    00395328str x4, [sp+512]
    0039532cldr x4, [sp+312]
    00395330ldr x5, [sp+304]
    00395334ldr x6, [sp+320]
    00395338str x5, [sp+472]
    0039533cstr x4, [sp+480]
    00395340str x6, [sp+488]
    00395344ldr x5, [sp+504]
    00395348str x5, [sp+136]
    0039534csubs xzr, x5, x4
    00395350b.gt 0x395358
    00395354b 0x395360
    00395358
    00395358loc_395358:
    00395358str x4, [sp+136]
    0039535cb 0x395364
    00395360
    00395360loc_395360:
    00395360b 0x395364
    00395364
    00395364loc_395364:
    00395364ldr x4, [sp+472]
    00395368ldr x5, [sp+496]
    0039536csubs xzr, x4, x5
    00395370b.ne 0x395378
    00395374b 0x395394
    00395378
    00395378loc_395378:
    00395378ldr x3, [sp+136]
    0039537cstr x3, [sp+128]
    00395380ldr x2, [sp+128]
    00395384ldr x1, [sp+472]
    00395388ldr x0, [sp+496]
    0039538cbl runtime.memmove
    00395390b 0x395398
    00395394
    00395394loc_395394:
    00395394b 0x395398
    00395398
    00395398loc_395398:
    00395398strb wzr, [sp+91]
    0039539cstr xzr, [sp+112]
    003953a0ldr x4, [sp+872]
    003953a4ldrsb x27, [x4]
    003953a8ldrh w4, [x4]
    003953acsubs wzr, w4, 771
    003953b0b.hs 0x3953b8
    003953b4b 0x395540
    003953b8
    003953b8loc_3953b8:
    003953b8ldr x1, [sp+232]
    003953bcldr x4, [sp+224]
    003953c0subs xzr, x1, 0
    003953c4b.hi 0x3953cc
    003953c8b 0x395964
    003953cc
    003953ccloc_3953cc:
    003953ccldrb w4, [x4]
    003953d0ubfm x4, x4, 56, 7
    003953d4ldr x1, [sp+232]
    003953d8ldr x5, [sp+224]
    003953dcsubs xzr, x1, 1
    003953e0b.hi 0x3953e8
    003953e4b 0x39595c
    003953e8
    003953e8loc_3953e8:
    003953e8ldrb w5, [x5+1]
    003953ecorr x4, x4, x5
    003953f0strh w4, [sp+98]
    003953f4ldr x1, [sp+232]
    003953f8ldr x4, [sp+224]
    003953fcldr x5, [sp+240]
    00395400b 0x395404
    00395404
    00395404loc_395404:
    00395404subs xzr, x1, 2
    00395408b.hs 0x395410
    0039540cb 0x395954
    00395410
    00395410loc_395410:
    00395410sub x6, x1, 2
    00395414sub x5, x5, 2
    00395418sub x7, xzr, x5
    0039541csbfm x7, x7, 63, 63
    00395420and x7, x7, 2
    00395424add x4, x4, x7
    00395428str x4, [sp+224]
    0039542cstr x6, [sp+232]
    00395430str x5, [sp+240]
    00395434str x6, [sp+160]
    00395438subs xzr, x6, 2
    0039543cb.lt 0x395444
    00395440b 0x395468
    00395444
    00395444loc_395444:
    00395444adrp x27, 0x68c000
    00395448ldr x0, [x27+2864]
    0039544cadrp x27, 0x68c000
    00395450ldr x1, [x27+2872]
    00395454str x0, [sp+184]
    00395458str x1, [sp+192]
    0039545cldp x29, x30, [sp-8]
    00395460add sp, sp, 864
    00395464ret x30
    00395468
    00395468loc_395468:
    00395468ldr x4, [sp+888]
    0039546cldrsb x27, [x4]
    00395470ldr x1, [x4+232]
    00395474ldr x2, [x4+240]
    00395478ldr x3, [x4+248]
    0039547cstr x1, [sp+448]
    00395480str x2, [sp+456]
    00395484str x3, [sp+464]
    00395488ldrh w0, [sp+98]
    0039548cbl crypto/tls.isSupportedSignatureAlgorithm
    00395490strb w0, [sp+94]
    00395494tbnz w0, 0, 0x39549c
    00395498b 0x395514
    0039549c
    0039549cloc_39549c:
    0039549cadd x27, sp, 688
    003954a0stp xzr, xzr, [x27]
    003954a4ldrh w0, [sp+98]
    003954a8bl crypto/tls.typeAndHashFromSignatureScheme
    003954acstrb w0, [sp+93]
    003954b0str x1, [sp+152]
    003954b4str x2, [sp+688]
    003954b8str x3, [sp+696]
    003954bcldrb w1, [sp+93]
    003954c0strb w1, [sp+96]
    003954c4ldr x1, [sp+152]
    003954c8str x1, [sp+176]
    003954ccstr x2, [sp+720]
    003954d0str x3, [sp+728]
    003954d4ldrb w1, [sp+96]
    003954d8strb w1, [sp+91]
    003954dcldr x1, [sp+176]
    003954e0str x1, [sp+112]
    003954e4str x2, [sp+352]
    003954e8str x3, [sp+360]
    003954eccbnz x2, 0x3954f4
    003954f0b 0x395510
    003954f4
    003954f4loc_3954f4:
    003954f4str x2, [sp+184]
    003954f8str x3, [sp+192]
    003954fcmov x0, x2
    00395500mov x1, x3
    00395504ldp x29, x30, [sp-8]
    00395508add sp, sp, 864
    0039550cret x30
    00395510
    00395510loc_395510:
    00395510b 0x3955cc
    00395514
    00395514loc_395514:
    00395514adrp x0, 0x335000
    00395518add x0, x0, 2662
    0039551cmovz x1, 54
    00395520bl errors.New
    00395524str x0, [sp+688]
    00395528str x1, [sp+696]
    0039552cstr x0, [sp+184]
    00395530str x1, [sp+192]
    00395534ldp x29, x30, [sp-8]
    00395538add sp, sp, 864
    0039553cret x30
    00395540
    00395540loc_395540:
    00395540add x27, sp, 688
    00395544stp xzr, xzr, [x27]
    00395548ldr x2, [sp+904]
    0039554cldrsb x27, [x2]
    00395550ldr x0, [x2+160]
    00395554ldr x1, [x2+168]
    00395558str x0, [sp+432]
    0039555cstr x1, [sp+440]
    00395560bl crypto/tls.legacyTypeAndHashFromPublicKey
    00395564strb w0, [sp+93]
    00395568str x1, [sp+152]
    0039556cstr x2, [sp+688]
    00395570str x3, [sp+696]
    00395574ldrb w4, [sp+93]
    00395578strb w4, [sp+95]
    0039557cldr x4, [sp+152]
    00395580str x4, [sp+168]
    00395584str x2, [sp+704]
    00395588str x3, [sp+712]
    0039558cldrb w4, [sp+95]
    00395590strb w4, [sp+91]
    00395594ldr x4, [sp+168]
    00395598str x4, [sp+112]
    0039559cstr x2, [sp+352]
    003955a0str x3, [sp+360]
    003955a4cbnz x2, 0x3955ac
    003955a8b 0x3955c8
    003955ac
    003955acloc_3955ac:
    003955acstr x2, [sp+184]
    003955b0str x3, [sp+192]
    003955b4mov x0, x2
    003955b8mov x1, x3
    003955bcldp x29, x30, [sp-8]
    003955c0add sp, sp, 864
    003955c4ret x30
    003955c8
    003955c8loc_3955c8:
    003955c8b 0x3955cc
    003955cc
    003955ccloc_3955cc:
    003955ccldrb w6, [sp+91]
    003955d0subs wzr, w6, 225
    003955d4cset x6, eq
    003955d8strb w6, [sp+94]
    003955dcb.eq 0x3955e4
    003955e0b 0x3955e8
    003955e4
    003955e4loc_3955e4:
    003955e4b 0x3955fc
    003955e8
    003955e8loc_3955e8:
    003955e8ldrb w6, [sp+91]
    003955ecsubs wzr, w6, 226
    003955f0cset x6, eq
    003955f4strb w6, [sp+94]
    003955f8b 0x3955fc
    003955fc
    003955fcloc_3955fc:
    003955fcldrb w6, [sp+94]
    00395600ldr x7, [sp+872]
    00395604ldrsb x27, [x7]
    00395608ldrb w7, [x7+2]
    0039560ceor x6, x6, x7
    00395610tbnz w6, 0, 0x395618
    00395614b 0x39563c
    00395618
    00395618loc_395618:
    00395618adrp x27, 0x68c000
    0039561cldr x0, [x27+2864]
    00395620adrp x27, 0x68c000
    00395624ldr x1, [x27+2872]
    00395628str x0, [sp+184]
    0039562cstr x1, [sp+192]
    00395630ldp x29, x30, [sp-8]
    00395634add sp, sp, 864
    00395638ret x30
    0039563c
    0039563cloc_39563c:
    0039563cldr x1, [sp+232]
    00395640ldr x6, [sp+224]
    00395644subs xzr, x1, 0
    00395648b.hi 0x395650
    0039564cb 0x39594c
    00395650
    00395650loc_395650:
    00395650ldrb w6, [x6]
    00395654ubfm x6, x6, 56, 7
    00395658ldr x1, [sp+232]
    0039565cldr x7, [sp+224]
    00395660subs xzr, x1, 1
    00395664b.hi 0x39566c
    00395668b 0x395944
    0039566c
    0039566cloc_39566c:
    0039566cldrb w7, [x7+1]
    00395670orr x6, x6, x7
    00395674str x6, [sp+104]
    00395678add x6, x6, 2
    0039567cldr x7, [sp+232]
    00395680str x7, [sp+160]
    00395684subs xzr, x7, x6
    00395688b.ne 0x395690
    0039568cb 0x3956b4
    00395690
    00395690loc_395690:
    00395690adrp x27, 0x68c000
    00395694ldr x0, [x27+2864]
    00395698adrp x27, 0x68c000
    0039569cldr x1, [x27+2872]
    003956a0str x0, [sp+184]
    003956a4str x1, [sp+192]
    003956a8ldp x29, x30, [sp-8]
    003956acadd sp, sp, 864
    003956b0ret x30
    003956b4
    003956b4loc_3956b4:
    003956b4ldr x1, [sp+232]
    003956b8ldr x6, [sp+224]
    003956bcldr x7, [sp+240]
    003956c0b 0x3956c4
    003956c4
    003956c4loc_3956c4:
    003956c4subs xzr, x1, 2
    003956c8b.hs 0x3956d0
    003956ccb 0x39593c
    003956d0
    003956d0loc_3956d0:
    003956d0sub x7, x7, 2
    003956d4sub x8, xzr, x7
    003956d8sub x9, x1, 2
    003956dcsbfm x8, x8, 63, 63
    003956e0and x8, x8, 2
    003956e4add x6, x6, x8
    003956e8str x6, [sp+224]
    003956ecstr x9, [sp+232]
    003956f0str x7, [sp+240]
    003956f4add x27, sp, 536
    003956f8stp xzr, xzr, [x27]
    003956fcadd x27, sp, 552
    00395700stp xzr, xzr, [x27]
    00395704add x27, sp, 568
    00395708stp xzr, xzr, [x27]
    0039570cadd x27, sp, 584
    00395710stp xzr, xzr, [x27]
    00395714str xzr, [sp+600]
    00395718add x6, sp, 536
    0039571cstr x6, [sp+400]
    00395720ldrsb x27, [x6]
    00395724ldr x7, [sp+888]
    00395728ldrsb x27, [x7]
    0039572cldr x8, [x7+32]
    00395730ldr x9, [x7+40]
    00395734ldr x7, [x7+48]
    00395738str x9, [x6+8]
    0039573cstr x7, [x6+16]
    00395740adrp x27, 0x6b6000
    00395744ldr w7, [x27+3056]
    00395748cbz w7, 0x395750
    0039574cb 0x395754
    00395750
    00395750loc_395750:
    00395750b 0x395768
    00395754
    00395754loc_395754:
    00395754bl runtime.gcWriteBarrier2
    00395758str x8, [x25]
    0039575cldr x7, [x6]
    00395760str x7, [x25+8]
    00395764b 0x395768
    00395768
    00395768loc_395768:
    00395768str x8, [x6]
    0039576cldrsb x27, [x6]
    00395770ldr x7, [sp+896]
    00395774ldrsb x27, [x7]
    00395778ldr x8, [x7+32]
    0039577cldr x9, [x7+40]
    00395780ldr x7, [x7+48]
    00395784str x9, [x6+32]
    00395788str x7, [x6+40]
    0039578cadrp x27, 0x6b6000
    00395790ldr w7, [x27+3056]
    00395794cbz w7, 0x39579c
    00395798b 0x3957a0
    0039579c
    0039579cloc_39579c:
    0039579cb 0x3957b4
    003957a0
    003957a0loc_3957a0:
    003957a0bl runtime.gcWriteBarrier2
    003957a4str x8, [x25]
    003957a8ldr x7, [x6+24]
    003957acstr x7, [x25+8]
    003957b0b 0x3957b4
    003957b4
    003957b4loc_3957b4:
    003957b4str x8, [x6+24]
    003957b8ldr x6, [sp+248]
    003957bcldr x7, [sp+256]
    003957c0ldr x8, [sp+264]
    003957c4ldr x9, [sp+400]
    003957c8ldrsb x27, [x9]
    003957ccstr x7, [x9+56]
    003957d0str x8, [x9+64]
    003957d4adrp x27, 0x6b6000
    003957d8ldr w7, [x27+3056]
    003957dccbz w7, 0x3957e4
    003957e0b 0x3957e8
    003957e4
    003957e4loc_3957e4:
    003957e4b 0x3957fc
    003957e8
    003957e8loc_3957e8:
    003957e8bl runtime.gcWriteBarrier2
    003957ecstr x6, [x25]
    003957f0ldr x7, [x9+48]
    003957f4str x7, [x25+8]
    003957f8b 0x3957fc
    003957fc
    003957fcloc_3957fc:
    003957fcstr x6, [x9+48]
    00395800ldr x6, [sp+400]
    00395804ldrsb x27, [x6]
    00395808b 0x39580c
    0039580c
    0039580cloc_39580c:
    0039580cstr x6, [sp+408]
    00395810orr x6, xzr, 3
    00395814str x6, [sp+416]
    00395818str x6, [sp+424]
    0039581cldr x6, [sp+872]
    00395820ldrsb x27, [x6]
    00395824ldrh w2, [x6]
    00395828strh w2, [sp+102]
    0039582cldrb w0, [sp+91]
    00395830ldr x1, [sp+112]
    00395834ldr x3, [sp+408]
    00395838ldr x4, [sp+416]
    0039583cldr x5, [sp+424]
    00395840bl crypto/tls.hashForServerKeyExchange
    00395844str x0, [sp+200]
    00395848str x1, [sp+208]
    0039584cstr x2, [sp+216]
    00395850ldr x6, [sp+904]
    00395854ldrsb x27, [x6]
    00395858ldr x1, [x6+160]
    0039585cldr x2, [x6+168]
    00395860str x1, [sp+384]
    00395864str x2, [sp+392]
    00395868ldrb w0, [sp+91]
    0039586cldr x3, [sp+112]
    00395870ldr x4, [sp+200]
    00395874ldr x7, [sp+224]
    00395878ldr x5, [sp+208]
    0039587cldr x8, [sp+232]
    00395880ldr x6, [sp+216]
    00395884ldr x9, [sp+240]
    00395888bl crypto/tls.verifyHandshakeSignature
    0039588cstr x0, [sp+336]
    00395890str x1, [sp+344]
    00395894cbnz x0, 0x39589c
    00395898b 0x3958f8
    0039589c
    0039589cloc_39589c:
    0039589cldrsb x27, [x0]
    003958a0ldr x2, [x0+24]
    003958a4mov x0, x1
    003958a8blr x2
    003958acstr x0, [sp+520]
    003958b0str x1, [sp+528]
    003958b4movz x2, 50
    003958b8mov x3, x0
    003958bcmov x4, x1
    003958c0mov x0, xzr
    003958c4adrp x1, 0x334000
    003958c8add x1, x1, 1258
    003958ccbl runtime.concatstring2
    003958d0str x0, [sp+368]
    003958d4str x1, [sp+376]
    003958d8bl errors.New
    003958dcstr x0, [sp+688]
    003958e0str x1, [sp+696]
    003958e4str x0, [sp+184]
    003958e8str x1, [sp+192]
    003958ecldp x29, x30, [sp-8]
    003958f0add sp, sp, 864
    003958f4ret x30
    003958f8
    003958f8loc_3958f8:
    003958f8stp xzr, xzr, [sp+184]
    003958fcmov x0, xzr
    00395900mov x1, xzr
    00395904ldp x29, x30, [sp-8]
    00395908add sp, sp, 864
    0039590cret x30
    00395910
    00395910loc_395910:
    00395910adrp x0, 0x32d000
    00395914add x0, x0, 3760
    00395918movz x1, 38
    0039591cbl errors.New
    00395920str x0, [sp+688]
    00395924str x1, [sp+696]
    00395928str x0, [sp+184]
    0039592cstr x1, [sp+192]
    00395930ldp x29, x30, [sp-8]
    00395934add sp, sp, 864
    00395938ret x30
    0039593c
    0039593cloc_39593c:
    0039593corr x0, xzr, 2
    00395940bl runtime.panicSliceB
    00395944
    00395944loc_395944:
    00395944orr x0, xzr, 1
    00395948bl runtime.panicIndex
    0039594c
    0039594cloc_39594c:
    0039594cmov x0, xzr
    00395950bl runtime.panicIndex
    00395954
    00395954loc_395954:
    00395954orr x0, xzr, 2
    00395958bl runtime.panicSliceB
    0039595c
    0039595cloc_39595c:
    0039595corr x0, xzr, 1
    00395960bl runtime.panicIndex
    00395964
    00395964loc_395964:
    00395964mov x0, xzr
    00395968bl runtime.panicIndex
    0039596c
    0039596cloc_39596c:
    0039596corr x0, xzr, 1
    00395970bl runtime.panicSliceB
    00395974
    00395974loc_395974:
    00395974mov x0, xzr
    00395978bl runtime.panicIndex
    0039597c
    0039597cloc_39597c:
    0039597cbl runtime.panicSliceB
    00395980
    00395980loc_395980:
    00395980orr x0, xzr, 4
    00395984bl runtime.panicSliceB
    00395988
    00395988loc_395988:
    00395988bl runtime.panicSliceAcap
    0039598c
    0039598cloc_39598c:
    0039598corr x0, xzr, 3
    00395990bl runtime.panicIndex
    00395994
    00395994loc_395994:
    00395994orr x0, xzr, 2
    00395998bl runtime.panicIndex
    0039599c
    0039599cloc_39599c:
    0039599corr x0, xzr, 1
    003959a0bl runtime.panicIndex
    003959a4
    003959a4loc_3959a4:
    003959a4mov x0, xzr
    003959a8bl runtime.panicIndex
    003959achint
    003959b0
    003959b0loc_3959b0:
    003959b0stp x0, x1, [sp+8]
    003959b4stp x2, x3, [sp+24]
    003959b8stp x4, x5, [sp+40]
    003959bcmov x3, x30
    003959c0bl runtime.morestack_noctxt.abi0
    003959c4ldp x0, x1, [sp+8]
    003959c8ldp x2, x3, [sp+24]
    003959ccldp x4, x5, [sp+40]
    003959d0b 0x394cd0
    003959d4udf 0
    003959d8udf 0
    003959dcudf 0
    00394cd0
    003959e0
    003959e0crypto/tls.(*ecdheKeyAgreement).generateClientKeyExchange: ; void crypto/tls.(*ecdheKeyAgreement).generateClientKeyExchange(crypto/tls.ecdheKeyAgreement * ka, crypto/tls.Config * config, crypto/tls.clientHelloMsg * clientHello, crypto/x509.Certificate * cert)
    003959e0ldr x16, [x28+16]
    003959e4subs xzr, sp, x16
    003959e8b.ls 0x395ad4
    003959ecstr x30, [sp-96]!
    003959f0stur x29, [sp-8]
    003959f4sub x29, sp, 8
    003959f8str x0, [sp+104]
    003959fcstr x1, [sp+112]
    00395a00str x2, [sp+120]
    00395a04str x3, [sp+128]
    00395a08str xzr, [sp+48]
    00395a0cstp xzr, xzr, [sp+56]
    00395a10str xzr, [sp+40]
    00395a14stp xzr, xzr, [sp+24]
    00395a18ldr x6, [sp+104]
    00395a1cldrsb x27, [x6]
    00395a20ldr x6, [x6+16]
    00395a24cbnz x6, 0x395a2c
    00395a28b 0x395a84
    00395a2c
    00395a2cloc_395a2c:
    00395a2cldr x6, [sp+104]
    00395a30ldrsb x27, [x6]
    00395a34ldr x7, [x6+24]
    00395a38ldr x8, [x6+32]
    00395a3cldr x6, [x6+40]
    00395a40str x7, [sp+48]
    00395a44str x8, [sp+56]
    00395a48str x6, [sp+64]
    00395a4cldr x6, [sp+104]
    00395a50ldrsb x27, [x6]
    00395a54ldr x6, [x6+16]
    00395a58str x6, [sp+40]
    00395a5cstp xzr, xzr, [sp+24]
    00395a60ldr x0, [sp+48]
    00395a64ldr x3, [sp+40]
    00395a68ldr x1, [sp+56]
    00395a6cldr x2, [sp+64]
    00395a70mov x4, xzr
    00395a74mov x5, xzr
    00395a78ldur x29, [sp-8]
    00395a7cldr x30, [sp], 96
    00395a80ret x30
    00395a84
    00395a84loc_395a84:
    00395a84adrp x0, 0x32d000
    00395a88add x0, x0, 3798
    00395a8cmovz x1, 38
    00395a90bl errors.New
    00395a94str x0, [sp+72]
    00395a98str x1, [sp+80]
    00395a9cstr xzr, [sp+48]
    00395aa0stp xzr, xzr, [sp+56]
    00395aa4str xzr, [sp+40]
    00395aa8ldr x4, [sp+72]
    00395aacldr x5, [sp+80]
    00395ab0str x4, [sp+24]
    00395ab4str x5, [sp+32]
    00395ab8ldr x0, [sp+48]
    00395abcldr x3, [sp+40]
    00395ac0ldr x1, [sp+56]
    00395ac4ldr x2, [sp+64]
    00395ac8ldur x29, [sp-8]
    00395accldr x30, [sp], 96
    00395ad0ret x30
    00395ad4
    00395ad4loc_395ad4:
    00395ad4stp x0, x1, [sp+8]
    00395ad8stp x2, x3, [sp+24]
    00395adcmov x3, x30
    00395ae0bl runtime.morestack_noctxt.abi0
    00395ae4ldp x0, x1, [sp+8]
    00395ae8ldp x2, x3, [sp+24]
    00395aecb 0x3959e0
    003959e0
    00395af0
    00395af0crypto/tls.(*cipherSuiteTLS13).nextTrafficSecret: ; void crypto/tls.(*cipherSuiteTLS13).nextTrafficSecret(crypto/tls.cipherSuiteTLS13 * c, struct []uint8 trafficSecret)
    00395af0ldr x16, [x28+16]
    00395af4sub x17, sp, 64
    00395af8subs xzr, x17, x16
    00395afcb.ls 0x395bc4
    00395b00str x30, [sp-192]!
    00395b04stur x29, [sp-8]
    00395b08sub x29, sp, 8
    00395b0cstr x0, [sp+200]
    00395b10str x1, [sp+208]
    00395b14str x2, [sp+216]
    00395b18str x3, [sp+224]
    00395b1cstr xzr, [sp+128]
    00395b20stp xzr, xzr, [sp+136]
    00395b24ldr x1, [sp+200]
    00395b28ldrsb x27, [x1]
    00395b2cldr x0, [x1+24]
    00395b30str x0, [sp+96]
    00395b34bl crypto.Hash.Size
    00395b38str x0, [sp+104]
    00395b3cstp xzr, xzr, [sp+112]
    00395b40add x1, sp, 112
    00395b44str x1, [sp+152]
    00395b48ldrsb x27, [x1]
    00395b4cadrp x2, 0xfffffffffff2a000
    00395b50add x2, x2, 3360
    00395b54str x2, [x1]
    00395b58ldrsb x27, [x1]
    00395b5cldr x2, [sp+200]
    00395b60ldrsb x27, [x2]
    00395b64ldr x2, [x2+24]
    00395b68str x2, [x1+8]
    00395b6cldr x10, [sp+104]
    00395b70ldr x2, [sp+208]
    00395b74ldr x3, [sp+216]
    00395b78ldr x4, [sp+224]
    00395b7cadrp x0, 0x37d000
    00395b80add x0, x0, 128
    00395b84adrp x5, 0x31d000
    00395b88add x5, x5, 2857
    00395b8cmovz x6, 11
    00395b90mov x7, xzr
    00395b94mov x8, xzr
    00395b98mov x9, x8
    00395b9cbl crypto/internal/fips140/tls13.ExpandLabel[go.shape.interface { BlockSize() int; Reset(); Size() int; Sum([]uint8) []uint8; Write([]uint8) (int, error) }]
    00395ba0str x0, [sp+160]
    00395ba4str x1, [sp+168]
    00395ba8str x2, [sp+176]
    00395bacstr x0, [sp+128]
    00395bb0str x1, [sp+136]
    00395bb4str x2, [sp+144]
    00395bb8ldur x29, [sp-8]
    00395bbcldr x30, [sp], 192
    00395bc0ret x30
    00395bc4
    00395bc4loc_395bc4:
    00395bc4stp x0, x1, [sp+8]
    00395bc8stp x2, x3, [sp+24]
    00395bccmov x3, x30
    00395bd0bl runtime.morestack_noctxt.abi0
    00395bd4ldp x0, x1, [sp+8]
    00395bd8ldp x2, x3, [sp+24]
    00395bdcb 0x395af0
    00395af0
    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