File sliver_83cb34f62800fed14e14547c39337aab8e0427fe2c6310a3fb40ce0ac36168c9.elf
Function:
Loading..
003946a0
003946a0crypto/tls.md5SHA1Hash: ; void crypto/tls.md5SHA1Hash(struct [][]uint8 slices)
003946a0ldr x16, [x28+16]
003946a4sub x17, sp, 240
003946a8subs xzr, x17, x16
003946acb.ls 0x39495c
003946b0sub x20, sp, 368
003946b4stp x29, x30, [x20-8]
003946b8add sp, x20, 0
003946bcsub x29, sp, 8
003946c0str x0, [sp+376]
003946c4str x1, [sp+384]
003946c8str x2, [sp+392]
003946ccstr xzr, [sp+96]
003946d0stp xzr, xzr, [sp+104]
003946d4adrp x0, 0x261000
003946d8add x0, x0, 3072
003946dcmovz x1, 36
003946e0mov x2, x1
003946e4bl runtime.makeslice
003946e8str x0, [sp+144]
003946ecmovz x3, 36
003946f0str x3, [sp+152]
003946f4str x3, [sp+160]
003946f8bl crypto/md5.New
003946fcstr x0, [sp+168]
00394700str x1, [sp+176]
00394704ldr x3, [sp+384]
00394708ldr x4, [sp+376]
0039470cldr x5, [sp+392]
00394710str x4, [sp+232]
00394714str x3, [sp+240]
00394718str x5, [sp+248]
0039471cstr xzr, [sp+48]
00394720str x3, [sp+40]
00394724ldr x3, [sp+232]
00394728str x3, [sp+88]
0039472cb 0x394730
00394730
00394730loc_394730:
00394730ldr x4, [sp+40]
00394734ldr x5, [sp+48]
00394738subs xzr, x4, x5
0039473cb.gt 0x394744
00394740b 0x39479c
00394744
00394744loc_394744:
00394744ldr x4, [sp+88]
00394748str x4, [sp+352]
0039474cldr x4, [sp+352]
00394750ldr x1, [x4]
00394754ldr x2, [x4+8]
00394758ldr x3, [x4+16]
0039475cstr x1, [sp+120]
00394760str x2, [sp+128]
00394764str x3, [sp+136]
00394768ldr x4, [sp+168]
0039476cldrsb x27, [x4]
00394770ldr x4, [x4+56]
00394774ldr x0, [sp+176]
00394778blr x4
0039477cb 0x394780
00394780
00394780loc_394780:
00394780ldr x4, [sp+48]
00394784add x4, x4, 1
00394788str x4, [sp+48]
0039478cldr x4, [sp+352]
00394790add x4, x4, 24
00394794str x4, [sp+88]
00394798b 0x394730
0039479c
0039479cloc_39479c:
0039479cldr x4, [sp+168]
003947a0ldrsb x27, [x4]
003947a4ldr x4, [x4+48]
003947a8ldr x0, [sp+176]
003947acmov x1, xzr
003947b0mov x2, xzr
003947b4mov x3, x2
003947b8blr x4
003947bcstr x0, [sp+208]
003947c0str x1, [sp+216]
003947c4str x2, [sp+224]
003947c8ldr x4, [sp+152]
003947ccldr x5, [sp+160]
003947d0ldr x6, [sp+144]
003947d4str x6, [sp+328]
003947d8str x4, [sp+336]
003947dcstr x5, [sp+344]
003947e0ldr x4, [sp+216]
003947e4ldr x5, [sp+208]
003947e8ldr x6, [sp+224]
003947ecstr x5, [sp+304]
003947f0str x4, [sp+312]
003947f4str x6, [sp+320]
003947f8ldr x5, [sp+336]
003947fcstr x5, [sp+80]
00394800subs xzr, x5, x4
00394804b.gt 0x39480c
00394808b 0x394814
0039480c
0039480cloc_39480c:
0039480cstr x4, [sp+80]
00394810b 0x394818
00394814
00394814loc_394814:
00394814b 0x394818
00394818
00394818loc_394818:
00394818ldr x3, [sp+304]
0039481cldr x4, [sp+328]
00394820subs xzr, x3, x4
00394824b.ne 0x39482c
00394828b 0x394848
0039482c
0039482cloc_39482c:
0039482cldr x3, [sp+80]
00394830str x3, [sp+72]
00394834ldr x2, [sp+72]
00394838ldr x1, [sp+304]
0039483cldr x0, [sp+328]
00394840bl runtime.memmove
00394844b 0x39484c
00394848
00394848loc_394848:
00394848b 0x39484c
0039484c
0039484cloc_39484c:
0039484cldr x1, [sp+152]
00394850ldr x3, [sp+144]
00394854ldr x4, [sp+160]
00394858b 0x39485c
0039485c
0039485cloc_39485c:
0039485csubs xzr, x1, 16
00394860b.hs 0x394868
00394864b 0x394950
00394868
00394868loc_394868:
00394868sub x4, x4, 16
0039486csub x5, xzr, x4
00394870sub x6, x1, 16
00394874sbfm x5, x5, 63, 63
00394878and x5, x5, 16
0039487cadd x3, x3, x5
00394880str x3, [sp+208]
00394884str x6, [sp+216]
00394888str x4, [sp+224]
0039488cldr x0, [sp+376]
00394890ldr x1, [sp+384]
00394894ldr x2, [sp+392]
00394898bl crypto/tls.sha1Hash
0039489cstr x0, [sp+184]
003948a0str x1, [sp+192]
003948a4str x2, [sp+200]
003948a8ldr x3, [sp+208]
003948acldr x4, [sp+216]
003948b0ldr x5, [sp+224]
003948b4str x3, [sp+280]
003948b8str x4, [sp+288]
003948bcstr x5, [sp+296]
003948c0ldr x3, [sp+192]
003948c4ldr x4, [sp+184]
003948c8ldr x5, [sp+200]
003948ccstr x4, [sp+256]
003948d0str x3, [sp+264]
003948d4str x5, [sp+272]
003948d8ldr x4, [sp+288]
003948dcstr x4, [sp+64]
003948e0subs xzr, x4, x3
003948e4b.gt 0x3948ec
003948e8b 0x3948f4
003948ec
003948ecloc_3948ec:
003948ecstr x3, [sp+64]
003948f0b 0x3948f8
003948f4
003948f4loc_3948f4:
003948f4b 0x3948f8
003948f8
003948f8loc_3948f8:
003948f8ldr x3, [sp+256]
003948fcldr x4, [sp+280]
00394900subs xzr, x3, x4
00394904b.ne 0x39490c
00394908b 0x394928
0039490c
0039490cloc_39490c:
0039490cldr x3, [sp+64]
00394910str x3, [sp+56]
00394914ldr x2, [sp+56]
00394918ldr x1, [sp+256]
0039491cldr x0, [sp+280]
00394920bl runtime.memmove
00394924b 0x39492c
00394928
00394928loc_394928:
00394928b 0x39492c
0039492c
0039492cloc_39492c:
0039492cldr x0, [sp+144]
00394930ldr x1, [sp+152]
00394934ldr x2, [sp+160]
00394938str x0, [sp+96]
0039493cstr x1, [sp+104]
00394940str x2, [sp+112]
00394944ldp x29, x30, [sp-8]
00394948add sp, sp, 368
0039494cret x30
00394950
00394950loc_394950:
00394950orr x0, xzr, 16
00394954bl runtime.panicSliceB
00394958hint
0039495c
0039495cloc_39495c:
0039495cstp x0, x1, [sp+8]
00394960str x2, [sp+24]
00394964mov x3, x30
00394968bl runtime.morestack_noctxt.abi0
0039496cldp x0, x1, [sp+8]
00394970ldr x2, [sp+24]
00394974b 0x3946a0
00394978udf 0
0039497cudf 0
003946a0
003946a0crypto/tls.md5SHA1Hash: ; void crypto/tls.md5SHA1Hash(struct [][]uint8 slices)
003946a0ldr x16, [x28+16]
003946a4sub x17, sp, 240
003946a8subs xzr, x17, x16
003946acb.ls 0x39495c
003946b0sub x20, sp, 368
003946b4stp x29, x30, [x20-8]
003946b8add sp, x20, 0
003946bcsub x29, sp, 8
003946c0str x0, [sp+376]
003946c4str x1, [sp+384]
003946c8str x2, [sp+392]
003946ccstr xzr, [sp+96]
003946d0stp xzr, xzr, [sp+104]
003946d4adrp x0, 0x261000
003946d8add x0, x0, 3072
003946dcmovz x1, 36
003946e0mov x2, x1
003946e4bl runtime.makeslice
003946e8str x0, [sp+144]
003946ecmovz x3, 36
003946f0str x3, [sp+152]
003946f4str x3, [sp+160]
003946f8bl crypto/md5.New
003946fcstr x0, [sp+168]
00394700str x1, [sp+176]
00394704ldr x3, [sp+384]
00394708ldr x4, [sp+376]
0039470cldr x5, [sp+392]
00394710str x4, [sp+232]
00394714str x3, [sp+240]
00394718str x5, [sp+248]
0039471cstr xzr, [sp+48]
00394720str x3, [sp+40]
00394724ldr x3, [sp+232]
00394728str x3, [sp+88]
0039472cb 0x394730
00394730
00394730loc_394730:
00394730ldr x4, [sp+40]
00394734ldr x5, [sp+48]
00394738subs xzr, x4, x5
0039473cb.gt 0x394744
00394740b 0x39479c
00394744
00394744loc_394744:
00394744ldr x4, [sp+88]
00394748str x4, [sp+352]
0039474cldr x4, [sp+352]
00394750ldr x1, [x4]
00394754ldr x2, [x4+8]
00394758ldr x3, [x4+16]
0039475cstr x1, [sp+120]
00394760str x2, [sp+128]
00394764str x3, [sp+136]
00394768ldr x4, [sp+168]
0039476cldrsb x27, [x4]
00394770ldr x4, [x4+56]
00394774ldr x0, [sp+176]
00394778blr x4
0039477cb 0x394780
00394780
00394780loc_394780:
00394780ldr x4, [sp+48]
00394784add x4, x4, 1
00394788str x4, [sp+48]
0039478cldr x4, [sp+352]
00394790add x4, x4, 24
00394794str x4, [sp+88]
00394798b 0x394730
0039479c
0039479cloc_39479c:
0039479cldr x4, [sp+168]
003947a0ldrsb x27, [x4]
003947a4ldr x4, [x4+48]
003947a8ldr x0, [sp+176]
003947acmov x1, xzr
003947b0mov x2, xzr
003947b4mov x3, x2
003947b8blr x4
003947bcstr x0, [sp+208]
003947c0str x1, [sp+216]
003947c4str x2, [sp+224]
003947c8ldr x4, [sp+152]
003947ccldr x5, [sp+160]
003947d0ldr x6, [sp+144]
003947d4str x6, [sp+328]
003947d8str x4, [sp+336]
003947dcstr x5, [sp+344]
003947e0ldr x4, [sp+216]
003947e4ldr x5, [sp+208]
003947e8ldr x6, [sp+224]
003947ecstr x5, [sp+304]
003947f0str x4, [sp+312]
003947f4str x6, [sp+320]
003947f8ldr x5, [sp+336]
003947fcstr x5, [sp+80]
00394800subs xzr, x5, x4
00394804b.gt 0x39480c
00394808b 0x394814
0039480c
0039480cloc_39480c:
0039480cstr x4, [sp+80]
00394810b 0x394818
00394814
00394814loc_394814:
00394814b 0x394818
00394818
00394818loc_394818:
00394818ldr x3, [sp+304]
0039481cldr x4, [sp+328]
00394820subs xzr, x3, x4
00394824b.ne 0x39482c
00394828b 0x394848
0039482c
0039482cloc_39482c:
0039482cldr x3, [sp+80]
00394830str x3, [sp+72]
00394834ldr x2, [sp+72]
00394838ldr x1, [sp+304]
0039483cldr x0, [sp+328]
00394840bl runtime.memmove
00394844b 0x39484c
00394848
00394848loc_394848:
00394848b 0x39484c
0039484c
0039484cloc_39484c:
0039484cldr x1, [sp+152]
00394850ldr x3, [sp+144]
00394854ldr x4, [sp+160]
00394858b 0x39485c
0039485c
0039485cloc_39485c:
0039485csubs xzr, x1, 16
00394860b.hs 0x394868
00394864b 0x394950
00394868
00394868loc_394868:
00394868sub x4, x4, 16
0039486csub x5, xzr, x4
00394870sub x6, x1, 16
00394874sbfm x5, x5, 63, 63
00394878and x5, x5, 16
0039487cadd x3, x3, x5
00394880str x3, [sp+208]
00394884str x6, [sp+216]
00394888str x4, [sp+224]
0039488cldr x0, [sp+376]
00394890ldr x1, [sp+384]
00394894ldr x2, [sp+392]
00394898bl crypto/tls.sha1Hash
0039489cstr x0, [sp+184]
003948a0str x1, [sp+192]
003948a4str x2, [sp+200]
003948a8ldr x3, [sp+208]
003948acldr x4, [sp+216]
003948b0ldr x5, [sp+224]
003948b4str x3, [sp+280]
003948b8str x4, [sp+288]
003948bcstr x5, [sp+296]
003948c0ldr x3, [sp+192]
003948c4ldr x4, [sp+184]
003948c8ldr x5, [sp+200]
003948ccstr x4, [sp+256]
003948d0str x3, [sp+264]
003948d4str x5, [sp+272]
003948d8ldr x4, [sp+288]
003948dcstr x4, [sp+64]
003948e0subs xzr, x4, x3
003948e4b.gt 0x3948ec
003948e8b 0x3948f4
003948ec
003948ecloc_3948ec:
003948ecstr x3, [sp+64]
003948f0b 0x3948f8
003948f4
003948f4loc_3948f4:
003948f4b 0x3948f8
003948f8
003948f8loc_3948f8:
003948f8ldr x3, [sp+256]
003948fcldr x4, [sp+280]
00394900subs xzr, x3, x4
00394904b.ne 0x39490c
00394908b 0x394928
0039490c
0039490cloc_39490c:
0039490cldr x3, [sp+64]
00394910str x3, [sp+56]
00394914ldr x2, [sp+56]
00394918ldr x1, [sp+256]
0039491cldr x0, [sp+280]
00394920bl runtime.memmove
00394924b 0x39492c
00394928
00394928loc_394928:
00394928b 0x39492c
0039492c
0039492cloc_39492c:
0039492cldr x0, [sp+144]
00394930ldr x1, [sp+152]
00394934ldr x2, [sp+160]
00394938str x0, [sp+96]
0039493cstr x1, [sp+104]
00394940str x2, [sp+112]
00394944ldp x29, x30, [sp-8]
00394948add sp, sp, 368
0039494cret x30
00394950
00394950loc_394950:
00394950orr x0, xzr, 16
00394954bl runtime.panicSliceB
00394958hint
0039495c
0039495cloc_39495c:
0039495cstp x0, x1, [sp+8]
00394960str x2, [sp+24]
00394964mov x3, x30
00394968bl runtime.morestack_noctxt.abi0
0039496cldp x0, x1, [sp+8]
00394970ldr x2, [sp+24]
00394974b 0x3946a0
00394978udf 0
0039497cudf 0
003946a0
00394980
00394980crypto/tls.hashForServerKeyExchange: ; void crypto/tls.hashForServerKeyExchange(uint8 sigType, crypto.Hash hashFunc, uint16 version, struct [][]uint8 slices)
00394980ldr x16, [x28+16]
00394984sub x17, sp, 224
00394988subs xzr, x17, x16
0039498cb.ls 0x394c90
00394990sub x20, sp, 352
00394994stp x29, x30, [x20-8]
00394998add sp, x20, 0
0039499csub x29, sp, 8
003949a0strb w0, [sp+360]
003949a4str x1, [sp+368]
003949a8strh w2, [sp+376]
003949acstr x3, [sp+384]
003949b0str x4, [sp+392]
003949b4str x5, [sp+400]
003949b8str xzr, [sp+112]
003949bcstp xzr, xzr, [sp+120]
003949c0ldrb w5, [sp+360]
003949c4subs wzr, w5, 228
003949c8b.eq 0x3949d0
003949ccb 0x394a04
003949d0
003949d0loc_3949d0:
003949d0str xzr, [sp+184]
003949d4stp xzr, xzr, [sp+192]
003949d8ldr x5, [sp+392]
003949dcldr x6, [sp+384]
003949e0ldr x7, [sp+400]
003949e4str x6, [sp+320]
003949e8str x5, [sp+328]
003949ecstr x7, [sp+336]
003949f0str xzr, [sp+104]
003949f4str x5, [sp+96]
003949f8ldr x5, [sp+320]
003949fcstr x5, [sp+88]
00394a00b 0x394b78
00394a04
00394a04loc_394a04:
00394a04ldrh w3, [sp+376]
00394a08subs wzr, w3, 771
00394a0cb.hs 0x394a14
00394a10b 0x394a50
00394a14
00394a14loc_394a14:
00394a14ldr x0, [sp+368]
00394a18bl crypto.Hash.New
00394a1cstr x0, [sp+208]
00394a20str x1, [sp+216]
00394a24ldr x1, [sp+392]
00394a28ldr x2, [sp+384]
00394a2cldr x3, [sp+400]
00394a30str x2, [sp+320]
00394a34str x1, [sp+328]
00394a38str x3, [sp+336]
00394a3cstr xzr, [sp+64]
00394a40str x1, [sp+56]
00394a44ldr x1, [sp+320]
00394a48str x1, [sp+48]
00394a4cb 0x394ac8
00394a50
00394a50loc_394a50:
00394a50ldrb w3, [sp+360]
00394a54subs wzr, w3, 227
00394a58b.eq 0x394a60
00394a5cb 0x394a94
00394a60
00394a60loc_394a60:
00394a60ldr x0, [sp+384]
00394a64ldr x1, [sp+392]
00394a68ldr x2, [sp+400]
00394a6cbl crypto/tls.sha1Hash
00394a70str x0, [sp+296]
00394a74str x1, [sp+304]
00394a78str x2, [sp+312]
00394a7cstr x0, [sp+112]
00394a80str x1, [sp+120]
00394a84str x2, [sp+128]
00394a88ldp x29, x30, [sp-8]
00394a8cadd sp, sp, 352
00394a90ret x30
00394a94
00394a94loc_394a94:
00394a94ldr x0, [sp+384]
00394a98ldr x1, [sp+392]
00394a9cldr x2, [sp+400]
00394aa0bl crypto/tls.md5SHA1Hash
00394aa4str x0, [sp+296]
00394aa8str x1, [sp+304]
00394aacstr x2, [sp+312]
00394ab0str x0, [sp+112]
00394ab4str x1, [sp+120]
00394ab8str x2, [sp+128]
00394abcldp x29, x30, [sp-8]
00394ac0add sp, sp, 352
00394ac4ret x30
00394ac8
00394ac8loc_394ac8:
00394ac8ldr x4, [sp+56]
00394accldr x5, [sp+64]
00394ad0subs xzr, x4, x5
00394ad4b.gt 0x394adc
00394ad8b 0x394b34
00394adc
00394adcloc_394adc:
00394adcldr x4, [sp+48]
00394ae0str x4, [sp+248]
00394ae4ldr x4, [sp+248]
00394ae8ldr x1, [x4]
00394aecldr x2, [x4+8]
00394af0ldr x3, [x4+16]
00394af4str x1, [sp+136]
00394af8str x2, [sp+144]
00394afcstr x3, [sp+152]
00394b00ldr x4, [sp+208]
00394b04ldrsb x27, [x4]
00394b08ldr x4, [x4+56]
00394b0cldr x0, [sp+216]
00394b10blr x4
00394b14b 0x394b18
00394b18
00394b18loc_394b18:
00394b18ldr x4, [sp+64]
00394b1cadd x4, x4, 1
00394b20str x4, [sp+64]
00394b24ldr x4, [sp+248]
00394b28add x4, x4, 24
00394b2cstr x4, [sp+48]
00394b30b 0x394ac8
00394b34
00394b34loc_394b34:
00394b34ldr x4, [sp+208]
00394b38ldrsb x27, [x4]
00394b3cldr x4, [x4+48]
00394b40ldr x0, [sp+216]
00394b44mov x1, xzr
00394b48mov x2, xzr
00394b4cmov x3, x2
00394b50blr x4
00394b54str x0, [sp+224]
00394b58str x1, [sp+232]
00394b5cstr x2, [sp+240]
00394b60str x0, [sp+112]
00394b64str x1, [sp+120]
00394b68str x2, [sp+128]
00394b6cldp x29, x30, [sp-8]
00394b70add sp, sp, 352
00394b74ret x30
00394b78
00394b78loc_394b78:
00394b78ldr x5, [sp+96]
00394b7cldr x6, [sp+104]
00394b80subs xzr, x5, x6
00394b84b.gt 0x394b8c
00394b88b 0x394c6c
00394b8c
00394b8cloc_394b8c:
00394b8cldr x5, [sp+88]
00394b90str x5, [sp+288]
00394b94ldr x5, [sp+288]
00394b98ldr x6, [x5]
00394b9cldr x7, [x5+8]
00394ba0ldr x5, [x5+16]
00394ba4str x6, [sp+160]
00394ba8str x7, [sp+168]
00394bacstr x5, [sp+176]
00394bb0ldr x2, [sp+200]
00394bb4ldr x0, [sp+184]
00394bb8ldr x5, [sp+192]
00394bbcstr x0, [sp+264]
00394bc0str x5, [sp+272]
00394bc4str x2, [sp+280]
00394bc8ldr x6, [sp+168]
00394bccadd x1, x5, x6
00394bd0str x1, [sp+80]
00394bd4subs xzr, x2, x1
00394bd8b.hs 0x394be0
00394bdcb 0x394be8
00394be0
00394be0loc_394be0:
00394be0str x1, [sp+272]
00394be4b 0x394c08
00394be8
00394be8loc_394be8:
00394be8ldr x3, [sp+168]
00394becadrp x4, 0x261000
00394bf0add x4, x4, 3072
00394bf4bl runtime.growslice
00394bf8str x0, [sp+264]
00394bfcstr x1, [sp+272]
00394c00str x2, [sp+280]
00394c04b 0x394c08
00394c08
00394c08loc_394c08:
00394c08ldr x3, [sp+168]
00394c0cstr x3, [sp+72]
00394c10ldr x3, [sp+80]
00394c14ldr x4, [sp+168]
00394c18sub x3, x3, x4
00394c1cldr x4, [sp+264]
00394c20add x0, x4, x3
00394c24str x0, [sp+256]
00394c28ldr x2, [sp+72]
00394c2cldr x1, [sp+160]
00394c30bl runtime.memmove
00394c34ldr x3, [sp+264]
00394c38ldr x4, [sp+272]
00394c3cldr x5, [sp+280]
00394c40str x3, [sp+184]
00394c44str x4, [sp+192]
00394c48str x5, [sp+200]
00394c4cb 0x394c50
00394c50
00394c50loc_394c50:
00394c50ldr x5, [sp+104]
00394c54add x5, x5, 1
00394c58str x5, [sp+104]
00394c5cldr x5, [sp+288]
00394c60add x5, x5, 24
00394c64str x5, [sp+88]
00394c68b 0x394b78
00394c6c
00394c6cloc_394c6c:
00394c6cldr x0, [sp+184]
00394c70ldr x1, [sp+192]
00394c74ldr x2, [sp+200]
00394c78str x0, [sp+112]
00394c7cstr x1, [sp+120]
00394c80str x2, [sp+128]
00394c84ldp x29, x30, [sp-8]
00394c88add sp, sp, 352
00394c8cret x30
00394c90
00394c90loc_394c90:
00394c90strb w0, [sp+8]
00394c94str x1, [sp+16]
00394c98strh w2, [sp+24]
00394c9cstp x3, x4, [sp+32]
00394ca0str x5, [sp+48]
00394ca4mov x3, x30
00394ca8bl runtime.morestack_noctxt.abi0
00394cacldrb w0, [sp+8]
00394cb0ldr x1, [sp+16]
00394cb4ldrh w2, [sp+24]
00394cb8ldp x3, x4, [sp+32]
00394cbcldr x5, [sp+48]
00394cc0b 0x394980
00394cc4udf 0
00394cc8udf 0
00394cccudf 0
00394980
00394980crypto/tls.hashForServerKeyExchange: ; void crypto/tls.hashForServerKeyExchange(uint8 sigType, crypto.Hash hashFunc, uint16 version, struct [][]uint8 slices)
00394980ldr x16, [x28+16]
00394984sub x17, sp, 224
00394988subs xzr, x17, x16
0039498cb.ls 0x394c90
00394990sub x20, sp, 352
00394994stp x29, x30, [x20-8]
00394998add sp, x20, 0
0039499csub x29, sp, 8
003949a0strb w0, [sp+360]
003949a4str x1, [sp+368]
003949a8strh w2, [sp+376]
003949acstr x3, [sp+384]
003949b0str x4, [sp+392]
003949b4str x5, [sp+400]
003949b8str xzr, [sp+112]
003949bcstp xzr, xzr, [sp+120]
003949c0ldrb w5, [sp+360]
003949c4subs wzr, w5, 228
003949c8b.eq 0x3949d0
003949ccb 0x394a04
003949d0
003949d0loc_3949d0:
003949d0str xzr, [sp+184]
003949d4stp xzr, xzr, [sp+192]
003949d8ldr x5, [sp+392]
003949dcldr x6, [sp+384]
003949e0ldr x7, [sp+400]
003949e4str x6, [sp+320]
003949e8str x5, [sp+328]
003949ecstr x7, [sp+336]
003949f0str xzr, [sp+104]
003949f4str x5, [sp+96]
003949f8ldr x5, [sp+320]
003949fcstr x5, [sp+88]
00394a00b 0x394b78
00394a04
00394a04loc_394a04:
00394a04ldrh w3, [sp+376]
00394a08subs wzr, w3, 771
00394a0cb.hs 0x394a14
00394a10b 0x394a50
00394a14
00394a14loc_394a14:
00394a14ldr x0, [sp+368]
00394a18bl crypto.Hash.New
00394a1cstr x0, [sp+208]
00394a20str x1, [sp+216]
00394a24ldr x1, [sp+392]
00394a28ldr x2, [sp+384]
00394a2cldr x3, [sp+400]
00394a30str x2, [sp+320]
00394a34str x1, [sp+328]
00394a38str x3, [sp+336]
00394a3cstr xzr, [sp+64]
00394a40str x1, [sp+56]
00394a44ldr x1, [sp+320]
00394a48str x1, [sp+48]
00394a4cb 0x394ac8
00394a50
00394a50loc_394a50:
00394a50ldrb w3, [sp+360]
00394a54subs wzr, w3, 227
00394a58b.eq 0x394a60
00394a5cb 0x394a94
00394a60
00394a60loc_394a60:
00394a60ldr x0, [sp+384]
00394a64ldr x1, [sp+392]
00394a68ldr x2, [sp+400]
00394a6cbl crypto/tls.sha1Hash
00394a70str x0, [sp+296]
00394a74str x1, [sp+304]
00394a78str x2, [sp+312]
00394a7cstr x0, [sp+112]
00394a80str x1, [sp+120]
00394a84str x2, [sp+128]
00394a88ldp x29, x30, [sp-8]
00394a8cadd sp, sp, 352
00394a90ret x30
00394a94
00394a94loc_394a94:
00394a94ldr x0, [sp+384]
00394a98ldr x1, [sp+392]
00394a9cldr x2, [sp+400]
00394aa0bl crypto/tls.md5SHA1Hash
00394aa4str x0, [sp+296]
00394aa8str x1, [sp+304]
00394aacstr x2, [sp+312]
00394ab0str x0, [sp+112]
00394ab4str x1, [sp+120]
00394ab8str x2, [sp+128]
00394abcldp x29, x30, [sp-8]
00394ac0add sp, sp, 352
00394ac4ret x30
00394ac8
00394ac8loc_394ac8:
00394ac8ldr x4, [sp+56]
00394accldr x5, [sp+64]
00394ad0subs xzr, x4, x5
00394ad4b.gt 0x394adc
00394ad8b 0x394b34
00394adc
00394adcloc_394adc:
00394adcldr x4, [sp+48]
00394ae0str x4, [sp+248]
00394ae4ldr x4, [sp+248]
00394ae8ldr x1, [x4]
00394aecldr x2, [x4+8]
00394af0ldr x3, [x4+16]
00394af4str x1, [sp+136]
00394af8str x2, [sp+144]
00394afcstr x3, [sp+152]
00394b00ldr x4, [sp+208]
00394b04ldrsb x27, [x4]
00394b08ldr x4, [x4+56]
00394b0cldr x0, [sp+216]
00394b10blr x4
00394b14b 0x394b18
00394b18
00394b18loc_394b18:
00394b18ldr x4, [sp+64]
00394b1cadd x4, x4, 1
00394b20str x4, [sp+64]
00394b24ldr x4, [sp+248]
00394b28add x4, x4, 24
00394b2cstr x4, [sp+48]
00394b30b 0x394ac8
00394b34
00394b34loc_394b34:
00394b34ldr x4, [sp+208]
00394b38ldrsb x27, [x4]
00394b3cldr x4, [x4+48]
00394b40ldr x0, [sp+216]
00394b44mov x1, xzr
00394b48mov x2, xzr
00394b4cmov x3, x2
00394b50blr x4
00394b54str x0, [sp+224]
00394b58str x1, [sp+232]
00394b5cstr x2, [sp+240]
00394b60str x0, [sp+112]
00394b64str x1, [sp+120]
00394b68str x2, [sp+128]
00394b6cldp x29, x30, [sp-8]
00394b70add sp, sp, 352
00394b74ret x30
00394b78
00394b78loc_394b78:
00394b78ldr x5, [sp+96]
00394b7cldr x6, [sp+104]
00394b80subs xzr, x5, x6
00394b84b.gt 0x394b8c
00394b88b 0x394c6c
00394b8c
00394b8cloc_394b8c:
00394b8cldr x5, [sp+88]
00394b90str x5, [sp+288]
00394b94ldr x5, [sp+288]
00394b98ldr x6, [x5]
00394b9cldr x7, [x5+8]
00394ba0ldr x5, [x5+16]
00394ba4str x6, [sp+160]
00394ba8str x7, [sp+168]
00394bacstr x5, [sp+176]
00394bb0ldr x2, [sp+200]
00394bb4ldr x0, [sp+184]
00394bb8ldr x5, [sp+192]
00394bbcstr x0, [sp+264]
00394bc0str x5, [sp+272]
00394bc4str x2, [sp+280]
00394bc8ldr x6, [sp+168]
00394bccadd x1, x5, x6
00394bd0str x1, [sp+80]
00394bd4subs xzr, x2, x1
00394bd8b.hs 0x394be0
00394bdcb 0x394be8
00394be0
00394be0loc_394be0:
00394be0str x1, [sp+272]
00394be4b 0x394c08
00394be8
00394be8loc_394be8:
00394be8ldr x3, [sp+168]
00394becadrp x4, 0x261000
00394bf0add x4, x4, 3072
00394bf4bl runtime.growslice
00394bf8str x0, [sp+264]
00394bfcstr x1, [sp+272]
00394c00str x2, [sp+280]
00394c04b 0x394c08
00394c08
00394c08loc_394c08:
00394c08ldr x3, [sp+168]
00394c0cstr x3, [sp+72]
00394c10ldr x3, [sp+80]
00394c14ldr x4, [sp+168]
00394c18sub x3, x3, x4
00394c1cldr x4, [sp+264]
00394c20add x0, x4, x3
00394c24str x0, [sp+256]
00394c28ldr x2, [sp+72]
00394c2cldr x1, [sp+160]
00394c30bl runtime.memmove
00394c34ldr x3, [sp+264]
00394c38ldr x4, [sp+272]
00394c3cldr x5, [sp+280]
00394c40str x3, [sp+184]
00394c44str x4, [sp+192]
00394c48str x5, [sp+200]
00394c4cb 0x394c50
00394c50
00394c50loc_394c50:
00394c50ldr x5, [sp+104]
00394c54add x5, x5, 1
00394c58str x5, [sp+104]
00394c5cldr x5, [sp+288]
00394c60add x5, x5, 24
00394c64str x5, [sp+88]
00394c68b 0x394b78
00394c6c
00394c6cloc_394c6c:
00394c6cldr x0, [sp+184]
00394c70ldr x1, [sp+192]
00394c74ldr x2, [sp+200]
00394c78str x0, [sp+112]
00394c7cstr x1, [sp+120]
00394c80str x2, [sp+128]
00394c84ldp x29, x30, [sp-8]
00394c88add sp, sp, 352
00394c8cret x30
00394c90
00394c90loc_394c90:
00394c90strb w0, [sp+8]
00394c94str x1, [sp+16]
00394c98strh w2, [sp+24]
00394c9cstp x3, x4, [sp+32]
00394ca0str x5, [sp+48]
00394ca4mov x3, x30
00394ca8bl runtime.morestack_noctxt.abi0
00394cacldrb w0, [sp+8]
00394cb0ldr x1, [sp+16]
00394cb4ldrh w2, [sp+24]
00394cb8ldp x3, x4, [sp+32]
00394cbcldr x5, [sp+48]
00394cc0b 0x394980
00394cc4udf 0
00394cc8udf 0
00394cccudf 0
00394980
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
Loading..