File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Loading..