Skip to content

Instantly share code, notes, and snippets.

@MihuBot
Created October 29, 2024 22:41
Show Gist options
  • Save MihuBot/6b1ac912b4b43b776877ec8369efddd7 to your computer and use it in GitHub Desktop.
Save MihuBot/6b1ac912b4b43b776877ec8369efddd7 to your computer and use it in GitHub Desktop.

Top method improvements

-165 (-5.48 % of base) - System.Net.Http.SocksHelper+d__13:MoveNext():this
 ; Assembly listing for method System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13:MoveNext():this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
-; 0 inlinees with PGO data; 49 single block inlinees; 22 inlinees without PGO data
+; 0 inlinees with PGO data; 49 single block inlinees; 18 inlinees without PGO data
 ; Final local variable assignments
 ;
-;  V00 this         [V00,T00] ( 52, 49   )   byref  ->  [rbp-0x118]  this EH-live single-def
-;  V01 loc0         [V01,T08] ( 12, 11.75)     int  ->  [rbp-0x24]  do-not-enreg[Z] EH-live
+;  V00 this         [V00,T00] ( 52, 49   )   byref  ->  [rbp-0x110]  this EH-live single-def
+;  V01 loc0         [V01,T05] ( 12, 11.75)     int  ->  [rbp-0x24]  do-not-enreg[Z] EH-live
 ;* V02 loc1         [V02    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Net.NetworkCredential>
 ;  V03 loc2         [V03    ] ( 30, 30   )  struct (16) [rbp-0x38]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
-;  V04 loc3         [V04,T11] (  9,  9   )  struct (16) [rbp-0x48]  do-not-enreg[SFR] multireg-ret must-init ld-addr-op <System.Threading.Tasks.ValueTask>
+;  V04 loc3         [V04,T07] (  9,  9   )  struct (16) [rbp-0x48]  do-not-enreg[SFR] multireg-ret must-init ld-addr-op <System.Threading.Tasks.ValueTask>
 ;* V05 loc4         [V05    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
 ;* V06 loc5         [V06    ] (  0,  0   )     ref  ->  zero-ref    class-hnd single-def <System.Exception>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
-;  V08 tmp1         [V08,T18] (  3,  6   )     ref  ->  rbx         class-hnd single-def "dup spill" <System.Net.ICredentials>
+;  V08 tmp1         [V08,T14] (  3,  6   )     ref  ->  rbx         class-hnd single-def "dup spill" <System.Net.ICredentials>
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp3         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impAppendStmt" <System.Uri>
-;  V11 tmp4         [V11,T19] (  5,  5   )     ref  ->  rbx        
-;  V12 tmp5         [V12,T15] (  5,  6   )     ref  ->  rax         single-def "spilling varStr"
+;  V11 tmp4         [V11,T16] (  5,  5   )     ref  ->  rbx        
+;  V12 tmp5         [V12,T11] (  5,  6   )     ref  ->  rax         single-def "spilling varStr"
 ;* V13 tmp6         [V13    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V14 tmp7         [V14,T16] (  5,  6   )     ref  ->  rax         single-def "spilling varStr"
+;  V14 tmp7         [V14,T12] (  5,  6   )     ref  ->  rax         single-def "spilling varStr"
 ;* V15 tmp8         [V15    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
-;  V16 tmp9         [V16,T17] (  5,  6   )     ref  ->  rax         single-def "spilling varStr"
+;  V16 tmp9         [V16,T13] (  5,  6   )     ref  ->  rax         single-def "spilling varStr"
 ;* V17 tmp10        [V17    ] (  0,  0   )     int  ->  zero-ref    "spilling unroll qmark"
 ;* V18 tmp11        [V18    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V19 tmp12        [V19    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V20 tmp13        [V20    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V21 tmp14        [V21    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V22 tmp15        [V22    ] (  0,  0   )     int  ->  zero-ref    "dup spill"
 ;* V23 tmp16        [V23    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
-;  V24 tmp17        [V24,T31] (  2,  4   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Action`1[System.Object]>
-;  V25 tmp18        [V25,T32] (  2,  4   )   byref  ->  rbx         single-def "impSpillLclRefs"
+;  V24 tmp17        [V24,T27] (  2,  4   )     ref  ->  r15         class-hnd single-def "dup spill" <System.Action`1[System.Object]>
+;  V25 tmp18        [V25,T28] (  2,  4   )   byref  ->  rbx         single-def "impSpillLclRefs"
 ;* V26 tmp19        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def
 ;* V27 tmp20        [V27    ] (  0,  0   )   byref  ->  zero-ref    single-def
-;  V28 tmp21        [V28,T20] (  5,  5   )     ref  ->  r15        
-;  V29 tmp22        [V29,T10] (  5, 10   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Object]>
-;  V30 tmp23        [V30,T83] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
-;  V31 tmp24        [V31,T33] (  2,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Net.Http.SocksHelper+<>c>
-;  V32 tmp25        [V32,T34] (  2,  4   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.IO.Stream>
+;  V28 tmp21        [V28,T17] (  5,  5   )     ref  ->  r15        
+;  V29 tmp22        [V29,T06] (  5, 10   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.Action`1[System.Object]>
+;  V30 tmp23        [V30,T74] (  2,  0   )     ref  ->  rsi         class-hnd single-def "impSpillSpecialSideEff" <System.Exception>
+;  V31 tmp24        [V31,T29] (  2,  4   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Net.Http.SocksHelper+<>c>
+;  V32 tmp25        [V32,T30] (  2,  4   )     ref  ->  r14         class-hnd single-def "Inlining Arg" <System.IO.Stream>
 ;* V33 tmp26        [V33    ] (  0,  0   )  struct (16) zero-ref    multireg-ret "Inline return value spill temp" <System.Threading.CancellationTokenRegistration>
-;  V34 tmp27        [V34,T57] (  3,  3   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Threading.CancellationTokenSource>
-;* V35 tmp28        [V35    ] (  0,  0   )     ref  ->  zero-ref   
+;  V34 tmp27        [V34,T52] (  3,  3   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Threading.CancellationTokenSource>
+;* V35 tmp28        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationTokenRegistration>
 ;* V36 tmp29        [V36    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V37 tmp30        [V37    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V38 tmp31        [V38    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V39 tmp32        [V39    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V40 tmp33        [V40    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V41 tmp34        [V41    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V42 tmp35        [V42    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V43 tmp36        [V43    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V44 tmp37        [V44    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V45 tmp38        [V45    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V46 tmp39        [V46    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V47 tmp40        [V47    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V48 tmp41        [V48    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V49 tmp42        [V49    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V50 tmp43        [V50    ] (  0,  0   )     ref  ->  zero-ref   
-;* V51 tmp44        [V51    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Threading.CancellationTokenRegistration>
-;* V52 tmp45        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.CancellationTokenRegistration>
+;* V51 tmp44        [V51    ] (  0,  0   )     ref  ->  zero-ref   
+;* V52 tmp45        [V52    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[SBR] multireg-ret "Return value temp for multireg return" <System.Threading.CancellationTokenRegistration>
 ;* V53 tmp46        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
 ;* V54 tmp47        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
 ;* V55 tmp48        [V55    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
-;  V56 tmp49        [V56,T35] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Object>
-;  V57 tmp50        [V57,T48] (  2,  4   )   short  ->  rdi         "Inlining Arg"
+;  V56 tmp49        [V56,T31] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Object>
+;  V57 tmp50        [V57,T44] (  2,  4   )   short  ->  rdi         "Inlining Arg"
 ;* V58 tmp51        [V58    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
 ;* V59 tmp52        [V59    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V60 tmp53        [V60,T22] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
-;  V61 tmp54        [V61,T58] (  3,  3   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;  V60 tmp53        [V60,T18] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V61 tmp54        [V61,T53] (  3,  3   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V62 tmp55        [V62    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
 ;* V63 tmp56        [V63    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V64 tmp57        [V64    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V65 tmp58        [V65    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V66 tmp59        [V66    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-;  V67 tmp60        [V67,T23] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
-;  V68 tmp61        [V68,T24] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;  V67 tmp60        [V67,T19] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V68 tmp61        [V68,T20] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V69 tmp62        [V69    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
 ;  V70 tmp63        [V70    ] ( 11, 11   )  struct (96) [rbp-0xA8]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Http.SocksHelper+<EstablishSocks4TunnelAsync>d__15>
-;  V71 tmp64        [V71,T36] (  2,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.IO.Stream>
-;  V72 tmp65        [V72,T37] (  2,  4   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V73 tmp66        [V73,T49] (  2,  4   )     int  ->  rdx         "Inlining Arg"
-;  V74 tmp67        [V74,T50] (  2,  4   )   ubyte  ->  rsi         "Inlining Arg"
+;  V71 tmp64        [V71,T32] (  2,  4   )     ref  ->  rax         class-hnd single-def "Inlining Arg" <System.IO.Stream>
+;  V72 tmp65        [V72,T33] (  2,  4   )     ref  ->  rcx         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V73 tmp66        [V73,T45] (  2,  4   )     int  ->  rdx         "Inlining Arg"
+;  V74 tmp67        [V74,T46] (  2,  4   )   ubyte  ->  rsi         "Inlining Arg"
 ;* V75 tmp68        [V75    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Threading.CancellationToken>
 ;* V76 tmp69        [V76    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder>
 ;* V77 tmp70        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
 ;* V78 tmp71        [V78    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
 ;* V79 tmp72        [V79    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
-;  V80 tmp73        [V80,T38] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Object>
-;  V81 tmp74        [V81,T51] (  2,  4   )   short  ->  rdi         "Inlining Arg"
+;  V80 tmp73        [V80,T34] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Object>
+;  V81 tmp74        [V81,T47] (  2,  4   )   short  ->  rdi         "Inlining Arg"
 ;* V82 tmp75        [V82    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
 ;* V83 tmp76        [V83    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V84 tmp77        [V84,T25] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
-;  V85 tmp78        [V85,T59] (  3,  3   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;  V84 tmp77        [V84,T21] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V85 tmp78        [V85,T54] (  3,  3   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V86 tmp79        [V86    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
 ;* V87 tmp80        [V87    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V88 tmp81        [V88    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V89 tmp82        [V89    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V90 tmp83        [V90    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-;  V91 tmp84        [V91,T26] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
-;  V92 tmp85        [V92,T27] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;  V91 tmp84        [V91,T22] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V92 tmp85        [V92,T23] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V93 tmp86        [V93    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
 ;  V94 tmp87        [V94    ] ( 11, 11   )  struct (96) [rbp-0x108]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op "Inline ldloca(s) first use temp" <System.Net.Http.SocksHelper+<EstablishSocks4TunnelAsync>d__15>
-;  V95 tmp88        [V95,T39] (  2,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.IO.Stream>
-;  V96 tmp89        [V96,T40] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
-;  V97 tmp90        [V97,T52] (  2,  4   )     int  ->  rcx         "Inlining Arg"
-;  V98 tmp91        [V98,T53] (  2,  4   )   ubyte  ->  rsi         "Inlining Arg"
+;  V95 tmp88        [V95,T35] (  2,  4   )     ref  ->  rdi         class-hnd single-def "Inlining Arg" <System.IO.Stream>
+;  V96 tmp89        [V96,T36] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
+;  V97 tmp90        [V97,T48] (  2,  4   )     int  ->  rcx         "Inlining Arg"
+;  V98 tmp91        [V98,T49] (  2,  4   )   ubyte  ->  rsi         "Inlining Arg"
 ;* V99 tmp92        [V99    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Threading.CancellationToken>
 ;* V100 tmp93       [V100    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder>
 ;* V101 tmp94       [V101    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Threading.Tasks.ValueTask>
 ;* V102 tmp95       [V102    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.Threading.Tasks.ValueTask>
 ;* V103 tmp96       [V103    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable>
-;  V104 tmp97       [V104,T41] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Object>
-;  V105 tmp98       [V105,T54] (  2,  4   )   short  ->  rdi         "Inlining Arg"
+;  V104 tmp97       [V104,T37] (  2,  4   )     ref  ->  rsi         class-hnd single-def "Inlining Arg" <System.Object>
+;  V105 tmp98       [V105,T50] (  2,  4   )   short  ->  rdi         "Inlining Arg"
 ;* V106 tmp99       [V106    ] (  0,  0   )  struct (16) zero-ref    do-not-enreg[S] ld-addr-op "NewObj constructor temp" <System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter>
 ;* V107 tmp100      [V107    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;  V108 tmp101      [V108,T28] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
-;  V109 tmp102      [V109,T60] (  3,  3   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;  V108 tmp101      [V108,T24] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V109 tmp102      [V109,T55] (  3,  3   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V110 tmp103      [V110    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
 ;* V111 tmp104      [V111    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V112 tmp105      [V112    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V113 tmp106      [V113    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V114 tmp107      [V114    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.Runtime.CompilerServices.IAsyncStateMachineBox>
-;  V115 tmp108      [V115,T29] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
-;  V116 tmp109      [V116,T30] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
+;  V115 tmp108      [V115,T25] (  4,  4   )     ref  ->  rbx         class-hnd single-def "Inline stloc first use temp" <System.Object>
+;  V116 tmp109      [V116,T26] (  4,  4   )     ref  ->  rax         class-hnd single-def "Inline stloc first use temp" <System.Threading.Tasks.Task>
 ;* V117 tmp110      [V117    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "updating class info" <System.Threading.Tasks.Sources.IValueTaskSource>
-;  V118 tmp111      [V118,T04] (  8, 16   )   byref  ->  rbx         "Inlining Arg"
-;  V119 tmp112      [V119,T06] ( 14, 14   )     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.CancellationTokenSource+CallbackNode>
-;  V120 tmp113      [V120,T14] (  6,  6   )     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.Threading.CancellationTokenSource>
+;  V118 tmp111      [V118,T01] (  8, 16   )   byref  ->  rbx         "Inlining Arg"
+;  V119 tmp112      [V119,T03] ( 14, 14   )     ref  ->  registers   class-hnd exact "Inline stloc first use temp" <System.Threading.CancellationTokenSource+CallbackNode>
+;  V120 tmp113      [V120,T10] (  6,  6   )     ref  ->  r13         class-hnd "Inline stloc first use temp" <System.Threading.CancellationTokenSource>
 ;* V121 tmp114      [V121    ] (  0,  0   )     int  ->  zero-ref    "non-inline candidate call"
-;  V122 tmp115      [V122,T13] (  4,  8   )    long  ->  registers   "Inlining Arg"
-;  V123 tmp116      [V123,T12] (  4,  8   )   byref  ->  r15         single-def "Inlining Arg"
+;  V122 tmp115      [V122,T09] (  4,  8   )    long  ->  registers   "Inlining Arg"
+;  V123 tmp116      [V123,T08] (  4,  8   )   byref  ->  r15         single-def "Inlining Arg"
 ;* V124 tmp117      [V124    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Threading.Tasks.VoidTaskResult>
-;  V125 tmp118      [V125,T03] ( 10, 20   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
-;  V126 tmp119      [V126,T55] (  2,  4   )  struct ( 8) r13         "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
-;  V127 tmp120      [V127,T07] (  6, 12   )     ref  ->  rbx         class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
+;  V125 tmp118      [V125,T15] (  3,  6   )     ref  ->  r15         class-hnd single-def "impAppendStmt" <System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]>
+;* V126 tmp119      [V126,T69] (  0,  0   )  struct ( 8) zero-ref    do-not-enreg[S] "Inlining Arg" <System.Threading.Tasks.VoidTaskResult>
+;  V127 tmp120      [V127,T04] (  6, 12   )     ref  ->  r13         class-hnd exact single-def "impAppendStmt" <System.Threading.Tasks.TplEventSource>
 ;* V128 tmp121      [V128    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inlining Arg" <System.Threading.Tasks.TplEventSource>
-;  V129 tmp122      [V129,T56] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V129 tmp122      [V129,T51] (  2,  4   )     int  ->  rbx         "Inlining Arg"
 ;* V130 tmp123      [V130    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V131 tmp124      [V131    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
-;* V132 tmp125      [V132,T78] (  0,  0   )   ubyte  ->  zero-ref    "Inline stloc first use temp"
-;  V133 tmp126      [V133,T61] (  3,  3   )     ref  ->  rbx         class-hnd exact single-def "Inline stloc first use temp" <System.Threading.Tasks.Task+ContingentProperties>
-;  V134 tmp127      [V134,T74] (  2,  2   )   ubyte  ->  rdi         "Inline return value spill temp"
-;  V135 tmp128      [V135,T21] (  5,  5   )     int  ->  [rbp-0x10C]  spill-single-def "Inline stloc first use temp"
-;  V136 tmp129      [V136,T66] (  3,  3   )   ubyte  ->  rdi         "Inline return value spill temp"
-;  V137 tmp130      [V137,T01] (  6, 41   )     int  ->  [rbp-0x110]  "Inline stloc first use temp"
-;  V138 tmp131      [V138,T02] (  3, 24   )     int  ->  rax         "Inline stloc first use temp"
-;  V139 tmp132      [V139,T62] (  3,  3   )     ref  ->  rdi         class-hnd single-def "Inline stloc first use temp" <System.Threading.ManualResetEventSlim>
-;  V140 tmp133      [V140,T63] (  3,  3   )     ref  ->  rax         single-def "field V33._node (fldOffset=0x0)" P-INDEP
-;  V141 tmp134      [V141,T67] (  3,  3   )    long  ->  rbx         "field V33._id (fldOffset=0x8)" P-INDEP
-;* V142 tmp135      [V142    ] (  0,  0   )     ref  ->  zero-ref    "field V51._node (fldOffset=0x0)" P-DEP
-;* V143 tmp136      [V143    ] (  0,  0   )    long  ->  zero-ref    "field V51._id (fldOffset=0x8)" P-DEP
-;* V144 tmp137      [V144    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V52._node (fldOffset=0x0)" P-INDEP
-;* V145 tmp138      [V145    ] (  0,  0   )    long  ->  zero-ref    "field V52._id (fldOffset=0x8)" P-INDEP
-;  V146 tmp139      [V146,T69] (  2,  2   )     ref  ->  rsi         single-def "field V53._obj (fldOffset=0x0)" P-INDEP
-;  V147 tmp140      [V147,T75] (  2,  2   )   short  ->  rdi         "field V53._token (fldOffset=0x8)" P-INDEP
-;* V148 tmp141      [V148,T79] (  0,  0   )   ubyte  ->  zero-ref    "field V53._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-;* V149 tmp142      [V149    ] (  0,  0   )     ref  ->  zero-ref    "field V54._obj (fldOffset=0x0)" P-INDEP
-;* V150 tmp143      [V150    ] (  0,  0   )   short  ->  zero-ref    "field V54._token (fldOffset=0x8)" P-INDEP
-;* V151 tmp144      [V151    ] (  0,  0   )   ubyte  ->  zero-ref    "field V54._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-;  V152 tmp145      [V152,T70] (  2,  2   )     ref  ->   r8         single-def "field V75._source (fldOffset=0x0)" P-INDEP
-;* V153 tmp146      [V153    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V76.m_task (fldOffset=0x0)" P-INDEP
-;  V154 tmp147      [V154,T71] (  2,  2   )     ref  ->  rsi         single-def "field V77._obj (fldOffset=0x0)" P-INDEP
-;  V155 tmp148      [V155,T76] (  2,  2   )   short  ->  rdi         "field V77._token (fldOffset=0x8)" P-INDEP
-;* V156 tmp149      [V156,T80] (  0,  0   )   ubyte  ->  zero-ref    "field V77._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-;* V157 tmp150      [V157    ] (  0,  0   )     ref  ->  zero-ref    "field V78._obj (fldOffset=0x0)" P-INDEP
-;* V158 tmp151      [V158    ] (  0,  0   )   short  ->  zero-ref    "field V78._token (fldOffset=0x8)" P-INDEP
-;* V159 tmp152      [V159    ] (  0,  0   )   ubyte  ->  zero-ref    "field V78._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-;  V160 tmp153      [V160,T72] (  2,  2   )     ref  ->   r8         single-def "field V99._source (fldOffset=0x0)" P-INDEP
-;* V161 tmp154      [V161    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V100.m_task (fldOffset=0x0)" P-INDEP
-;  V162 tmp155      [V162,T73] (  2,  2   )     ref  ->  rsi         single-def "field V101._obj (fldOffset=0x0)" P-INDEP
-;  V163 tmp156      [V163,T77] (  2,  2   )   short  ->  rdi         "field V101._token (fldOffset=0x8)" P-INDEP
-;* V164 tmp157      [V164,T81] (  0,  0   )   ubyte  ->  zero-ref    "field V101._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-;* V165 tmp158      [V165    ] (  0,  0   )     ref  ->  zero-ref    "field V102._obj (fldOffset=0x0)" P-INDEP
-;* V166 tmp159      [V166    ] (  0,  0   )   short  ->  zero-ref    "field V102._token (fldOffset=0x8)" P-INDEP
-;* V167 tmp160      [V167    ] (  0,  0   )   ubyte  ->  zero-ref    "field V102._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
-;  V168 tmp161      [V168,T42] (  2,  4   )     ref  ->   r8         single-def "argument with side effect"
-;  V169 tmp162      [V169,T43] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
-;  V170 tmp163      [V170,T44] (  2,  4   )     ref  ->  r15         single-def "argument with side effect"
-;  V171 tmp164      [V171,T45] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V172 tmp165      [V172,T46] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V173 tmp166      [V173,T47] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
-;  V174 PSPSym      [V174,T82] (  1,  1   )    long  ->  [rbp-0x128]  do-not-enreg[V] "PSPSym"
-;  V175 cse0        [V175,T64] (  3,  3   )     ref  ->  rbx         "CSE #11: conservative"
-;  V176 cse1        [V176,T68] (  3,  3   )     int  ->  rsi         "CSE #12: conservative"
-;  V177 cse2        [V177,T65] (  3,  3   )     ref  ->  rdi         "CSE #02: conservative"
-;  V178 cse3        [V178,T09] (  4, 11   )   byref  ->  rbx         "CSE #13: aggressive"
-;  V179 cse4        [V179,T05] ( 15, 15   )   byref  ->  [rbp-0x120]  multi-def "CSE #03: aggressive"
+;  V131 tmp124      [V131,T56] (  3,  3   )     ref  ->  rsi         single-def "field V33._node (fldOffset=0x0)" P-INDEP
+;  V132 tmp125      [V132,T59] (  3,  3   )    long  ->  r13         "field V33._id (fldOffset=0x8)" P-INDEP
+;* V133 tmp126      [V133    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V35._node (fldOffset=0x0)" P-INDEP
+;* V134 tmp127      [V134    ] (  0,  0   )    long  ->  zero-ref    "field V35._id (fldOffset=0x8)" P-INDEP
+;* V135 tmp128      [V135    ] (  0,  0   )     ref  ->  zero-ref    "field V52._node (fldOffset=0x0)" P-DEP
+;* V136 tmp129      [V136    ] (  0,  0   )    long  ->  zero-ref    "field V52._id (fldOffset=0x8)" P-DEP
+;  V137 tmp130      [V137,T61] (  2,  2   )     ref  ->  rsi         single-def "field V53._obj (fldOffset=0x0)" P-INDEP
+;  V138 tmp131      [V138,T66] (  2,  2   )   short  ->  rdi         "field V53._token (fldOffset=0x8)" P-INDEP
+;* V139 tmp132      [V139,T70] (  0,  0   )   ubyte  ->  zero-ref    "field V53._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
+;* V140 tmp133      [V140    ] (  0,  0   )     ref  ->  zero-ref    "field V54._obj (fldOffset=0x0)" P-INDEP
+;* V141 tmp134      [V141    ] (  0,  0   )   short  ->  zero-ref    "field V54._token (fldOffset=0x8)" P-INDEP
+;* V142 tmp135      [V142    ] (  0,  0   )   ubyte  ->  zero-ref    "field V54._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
+;  V143 tmp136      [V143,T62] (  2,  2   )     ref  ->   r8         single-def "field V75._source (fldOffset=0x0)" P-INDEP
+;* V144 tmp137      [V144    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V76.m_task (fldOffset=0x0)" P-INDEP
+;  V145 tmp138      [V145,T63] (  2,  2   )     ref  ->  rsi         single-def "field V77._obj (fldOffset=0x0)" P-INDEP
+;  V146 tmp139      [V146,T67] (  2,  2   )   short  ->  rdi         "field V77._token (fldOffset=0x8)" P-INDEP
+;* V147 tmp140      [V147,T71] (  0,  0   )   ubyte  ->  zero-ref    "field V77._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
+;* V148 tmp141      [V148    ] (  0,  0   )     ref  ->  zero-ref    "field V78._obj (fldOffset=0x0)" P-INDEP
+;* V149 tmp142      [V149    ] (  0,  0   )   short  ->  zero-ref    "field V78._token (fldOffset=0x8)" P-INDEP
+;* V150 tmp143      [V150    ] (  0,  0   )   ubyte  ->  zero-ref    "field V78._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
+;  V151 tmp144      [V151,T64] (  2,  2   )     ref  ->   r8         single-def "field V99._source (fldOffset=0x0)" P-INDEP
+;* V152 tmp145      [V152    ] (  0,  0   )     ref  ->  zero-ref    single-def "field V100.m_task (fldOffset=0x0)" P-INDEP
+;  V153 tmp146      [V153,T65] (  2,  2   )     ref  ->  rsi         single-def "field V101._obj (fldOffset=0x0)" P-INDEP
+;  V154 tmp147      [V154,T68] (  2,  2   )   short  ->  rdi         "field V101._token (fldOffset=0x8)" P-INDEP
+;* V155 tmp148      [V155,T72] (  0,  0   )   ubyte  ->  zero-ref    "field V101._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
+;* V156 tmp149      [V156    ] (  0,  0   )     ref  ->  zero-ref    "field V102._obj (fldOffset=0x0)" P-INDEP
+;* V157 tmp150      [V157    ] (  0,  0   )   short  ->  zero-ref    "field V102._token (fldOffset=0x8)" P-INDEP
+;* V158 tmp151      [V158    ] (  0,  0   )   ubyte  ->  zero-ref    "field V102._continueOnCapturedContext (fldOffset=0xa)" P-INDEP
+;  V159 tmp152      [V159,T38] (  2,  4   )     ref  ->   r8         single-def "argument with side effect"
+;  V160 tmp153      [V160,T39] (  2,  4   )     ref  ->  rdx         single-def "argument with side effect"
+;  V161 tmp154      [V161,T40] (  2,  4   )     ref  ->  r15         single-def "argument with side effect"
+;  V162 tmp155      [V162,T41] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V163 tmp156      [V163,T42] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V164 tmp157      [V164,T43] (  2,  4   )     ref  ->  rsi         single-def "argument with side effect"
+;  V165 PSPSym      [V165,T73] (  1,  1   )    long  ->  [rbp-0x128]  do-not-enreg[V] "PSPSym"
+;  V166 cse0        [V166,T57] (  3,  3   )     ref  ->  r13         "CSE #11: conservative"
+;  V167 cse1        [V167,T60] (  3,  3   )     int  ->  rsi         "CSE #12: conservative"
+;  V168 cse2        [V168,T58] (  3,  3   )     ref  ->  rdi         "CSE #02: conservative"
+;  V169 cse3        [V169,T02] ( 15, 15   )   byref  ->  [rbp-0x118]  multi-def "CSE #03: aggressive"
 ;
 ; Lcl frame size = 272
 
 G_M22847_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 272
        lea      rbp, [rsp+0x130]
        xor      eax, eax
        mov      qword ptr [rbp-0x108], rax
        vxorps   xmm8, xmm8, xmm8
        vmovdqa  xmmword ptr [rbp-0x100], xmm8
        mov      rax, -192
        vmovdqa  xmmword ptr [rbp+rax-0x30], xmm8
        vmovdqa  xmmword ptr [rbp+rax-0x20], xmm8
        vmovdqa  xmmword ptr [rbp+rax-0x10], xmm8
        add      rax, 48
        jne      SHORT  -5 instr
        mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0x128], rsp
-       mov      bword ptr [rbp-0x118], rdi
+       mov      bword ptr [rbp-0x110], rdi
        mov      rdx, rdi
 						;; size=100 bbWeight=1 PerfScore 20.08
 G_M22847_IG02:
        mov      edi, dword ptr [rdx+0x20]
        mov      dword ptr [rbp-0x24], edi
 						;; size=6 bbWeight=1 PerfScore 3.00
 G_M22847_IG03:
        cmp      dword ptr [rbp-0x24], 2
        jbe      G_M22847_IG07
        lea      rbx, bword ptr [rdx+0x38]
        mov      rdi, 0xD1FFAB1E      ; data for System.Net.Http.SocksHelper+<>c:<>9__13_0
        mov      r15, gword ptr [rdi]
        test     r15, r15
        jne      SHORT G_M22847_IG04
        mov      rdi, 0xD1FFAB1E      ; System.Action`1[System.Object]
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rsi, gword ptr [rdi]
        lea      rdi, bword ptr [r15+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Net.Http.SocksHelper+<>c:<EstablishSocksTunnelAsync>b__13_0(System.Object):this
        mov      qword ptr [r15+0x18], rdi
        mov      rdi, 0xD1FFAB1E      ; data for System.Net.Http.SocksHelper+<>c:<>9__13_0
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
 						;; size=104 bbWeight=1 PerfScore 15.00
 G_M22847_IG04:
-       mov      rdx, bword ptr [rbp-0x118]
+       mov      rdx, bword ptr [rbp-0x110]
        mov      r14, gword ptr [rdx]
        test     r15, r15
        je       G_M22847_IG53
        mov      rbx, gword ptr [rbx]
        test     rbx, rbx
-       je       SHORT G_M22847_IG05
+       jne      SHORT G_M22847_IG05
+       xor      rsi, rsi
+       xor      r13d, r13d
+       jmp      SHORT G_M22847_IG06
+						;; size=34 bbWeight=1 PerfScore 10.00
+G_M22847_IG05:
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
        call     [rax]System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
        mov      r8, rax
        mov      rsi, r15
        mov      rdx, r14
        mov      rdi, rbx
        xor      rcx, rcx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource:Register(System.Delegate,System.Object,System.Threading.SynchronizationContext,System.Threading.ExecutionContext):System.Threading.CancellationTokenRegistration:this
        call     [rax]System.Threading.CancellationTokenSource:Register(System.Delegate,System.Object,System.Threading.SynchronizationContext,System.Threading.ExecutionContext):System.Threading.CancellationTokenRegistration:this
-       mov      rbx, rdx
-       jmp      SHORT G_M22847_IG06
-       align    [3 bytes for IG57]
-						;; size=73 bbWeight=1 PerfScore 17.50
-G_M22847_IG05:
-       xor      rax, rax
-       xor      ebx, ebx
-						;; size=4 bbWeight=1 PerfScore 0.50
-G_M22847_IG06:
-       mov      rdx, bword ptr [rbp-0x118]
-       lea      rdi, bword ptr [rdx+0x40]
        mov      rsi, rax
+       mov      r13, rdx
+						;; size=44 bbWeight=1 PerfScore 8.25
+G_M22847_IG06:
+       mov      rdx, bword ptr [rbp-0x110]
+       lea      rdi, bword ptr [rdx+0x40]
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
-       mov      rdx, bword ptr [rbp-0x118]
-       mov      qword ptr [rdx+0x48], rbx
-						;; size=30 bbWeight=1 PerfScore 4.75
+       mov      rdx, bword ptr [rbp-0x110]
+       mov      qword ptr [rdx+0x48], r13
+						;; size=27 bbWeight=1 PerfScore 4.50
 G_M22847_IG07:
        cmp      dword ptr [rbp-0x24], 2
        ja       G_M22847_IG21
 						;; size=10 bbWeight=1 PerfScore 3.00
 G_M22847_IG08:
        mov      edi, dword ptr [rbp-0x24]
        lea      rax, [reloc @RWD00]
        mov      eax, dword ptr [rax+4*rdi]
        lea      rcx, G_M22847_IG02
        add      rax, rcx
        jmp      rax
 						;; size=25 bbWeight=0.75 PerfScore 5.06
 G_M22847_IG09:
        lea      rdi, bword ptr [rdx+0x50]
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M22847_IG10:
        vmovdqu  xmm0, xmmword ptr [rdi]
        vmovdqu  xmmword ptr [rbp-0x38], xmm0
 						;; size=9 bbWeight=1 PerfScore 5.00
 G_M22847_IG11:
        xor      eax, eax
        mov      qword ptr [rdi], rax
        mov      qword ptr [rdi+0x08], rax
        mov      dword ptr [rbp-0x24], -1
        mov      dword ptr [rdx+0x20], -1
 						;; size=23 bbWeight=1 PerfScore 4.25
 G_M22847_IG12:
        mov      rbx, gword ptr [rbp-0x38]
        test     rbx, rbx
        je       G_M22847_IG45
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       G_M22847_IG35
        mov      edi, dword ptr [rax+0x34]
        and      edi, 0xD1FFAB1E
        cmp      edi, 0xD1FFAB1E
        je       G_M22847_IG45
        mov      rdi, rax
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        call     [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        jmp      G_M22847_IG45
 						;; size=90 bbWeight=1 PerfScore 16.50
 G_M22847_IG13:
        lea      rdi, bword ptr [rdx+0x50]
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M22847_IG14:
        vmovdqu  xmm0, xmmword ptr [rdi]
        vmovdqu  xmmword ptr [rbp-0x38], xmm0
 						;; size=9 bbWeight=1 PerfScore 5.00
 G_M22847_IG15:
        xor      eax, eax
        mov      qword ptr [rdi], rax
        mov      qword ptr [rdi+0x08], rax
        mov      dword ptr [rbp-0x24], -1
        mov      dword ptr [rdx+0x20], -1
 						;; size=23 bbWeight=1 PerfScore 4.25
 G_M22847_IG16:
        mov      rbx, gword ptr [rbp-0x38]
        test     rbx, rbx
        je       G_M22847_IG45
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       G_M22847_IG44
        mov      edi, dword ptr [rax+0x34]
        and      edi, 0xD1FFAB1E
        cmp      edi, 0xD1FFAB1E
        je       G_M22847_IG45
        mov      rdi, rax
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        call     [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        jmp      G_M22847_IG45
 						;; size=90 bbWeight=1 PerfScore 16.50
 G_M22847_IG17:
        lea      rdi, bword ptr [rdx+0x50]
 						;; size=4 bbWeight=1 PerfScore 0.50
 G_M22847_IG18:
        vmovdqu  xmm0, xmmword ptr [rdi]
        vmovdqu  xmmword ptr [rbp-0x38], xmm0
 						;; size=9 bbWeight=1 PerfScore 5.00
 G_M22847_IG19:
        xor      eax, eax
        mov      qword ptr [rdi], rax
        mov      qword ptr [rdi+0x08], rax
        mov      dword ptr [rbp-0x24], -1
        mov      dword ptr [rdx+0x20], -1
 						;; size=23 bbWeight=1 PerfScore 4.25
 G_M22847_IG20:
        mov      rbx, gword ptr [rbp-0x38]
        test     rbx, rbx
        je       G_M22847_IG45
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        je       G_M22847_IG40
        mov      edi, dword ptr [rax+0x34]
        and      edi, 0xD1FFAB1E
        cmp      edi, 0xD1FFAB1E
        je       G_M22847_IG45
        mov      rdi, rax
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        call     [rax]System.Runtime.CompilerServices.TaskAwaiter:HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task,int)
        jmp      G_M22847_IG45
 						;; size=90 bbWeight=1 PerfScore 16.50
 G_M22847_IG21:
        mov      rbx, gword ptr [rdx+0x08]
        test     rbx, rbx
        je       SHORT G_M22847_IG22
        mov      rdi, gword ptr [rdx+0x10]
        mov      r15, rdi
        mov      rax, 0xD1FFAB1E      ; code for System.Uri:get_Scheme():System.String:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Uri:get_Scheme():System.String:this
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      r11, 0xD1FFAB1E      ; code for System.Net.ICredentials:GetCredential(System.Uri,System.String):System.Net.NetworkCredential:this
        call     [r11]System.Net.ICredentials:GetCredential(System.Uri,System.String):System.Net.NetworkCredential:this
        mov      rbx, rax
-       mov      rdx, bword ptr [rbp-0x118]
+       mov      rdx, bword ptr [rbp-0x110]
        jmp      SHORT G_M22847_IG23
 						;; size=64 bbWeight=1 PerfScore 19.00
 G_M22847_IG22:
        xor      rbx, rbx
 						;; size=2 bbWeight=1 PerfScore 0.25
 G_M22847_IG23:
        mov      rdi, gword ptr [rdx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Uri:get_Scheme():System.String:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Uri:get_Scheme():System.String:this
        test     rax, rax
        je       SHORT G_M22847_IG26
 						;; size=23 bbWeight=1 PerfScore 9.50
 G_M22847_IG24:
        cmp      dword ptr [rax+0x08], 6
        jne      SHORT G_M22847_IG26
 						;; size=6 bbWeight=0.50 PerfScore 2.00
 G_M22847_IG25:
        mov      rdi, 0xD1FFAB1E
        or       rdi, qword ptr [rax+0x0C]
        mov      rcx, 0xD1FFAB1E
        xor      rdi, rcx
        mov      eax, dword ptr [rax+0x14]
        or       eax, 32
        xor      eax, 0xD1FFAB1E
        or       rdi, rax
        je       G_M22847_IG36
 						;; size=47 bbWeight=0.25 PerfScore 1.88
 G_M22847_IG26:
-       mov      rdx, bword ptr [rbp-0x118]
+       mov      rdx, bword ptr [rbp-0x110]
        mov      rdi, gword ptr [rdx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Uri:get_Scheme():System.String:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Uri:get_Scheme():System.String:this
        test     rax, rax
        je       SHORT G_M22847_IG29
 						;; size=30 bbWeight=1 PerfScore 10.50
 G_M22847_IG27:
        cmp      dword ptr [rax+0x08], 7
        jne      SHORT G_M22847_IG29
 						;; size=6 bbWeight=0.50 PerfScore 2.00
 G_M22847_IG28:
        mov      rdi, 0xD1FFAB1E
        or       rdi, qword ptr [rax+0x0C]
        mov      rcx, 0xD1FFAB1E
        xor      rdi, rcx
        mov      rcx, 0xD1FFAB1E
        or       rcx, qword ptr [rax+0x12]
        mov      rax, 0xD1FFAB1E
        xor      rax, rcx
        or       rdi, rax
        je       G_M22847_IG41
 						;; size=63 bbWeight=0.25 PerfScore 2.19
 G_M22847_IG29:
-       mov      rdx, bword ptr [rbp-0x118]
+       mov      rdx, bword ptr [rbp-0x110]
        mov      rdi, gword ptr [rdx+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Uri:get_Scheme():System.String:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Uri:get_Scheme():System.String:this
        test     rax, rax
        je       G_M22847_IG45
 						;; size=34 bbWeight=1 PerfScore 10.50
 G_M22847_IG30:
        cmp      dword ptr [rax+0x08], 6
        jne      G_M22847_IG45
 						;; size=10 bbWeight=0.50 PerfScore 2.00
 G_M22847_IG31:
        mov      rdi, 0xD1FFAB1E
        or       rdi, qword ptr [rax+0x0C]
        mov      rcx, 0xD1FFAB1E
        xor      rdi, rcx
        mov      eax, dword ptr [rax+0x14]
        or       eax, 32
        xor      eax, 0xD1FFAB1E
        or       rdi, rax
        jne      G_M22847_IG45
 						;; size=47 bbWeight=0.25 PerfScore 1.88
 G_M22847_IG32:
-       mov      rdx, bword ptr [rbp-0x118]
+       mov      rdx, bword ptr [rbp-0x110]
        mov      rdi, gword ptr [rdx]
        mov      rax, gword ptr [rdx+0x18]
        mov      ecx, dword ptr [rdx+0x24]
        movzx    rsi, byte  ptr [rdx+0x28]
        mov      r8, gword ptr [rdx+0x38]
        xor      r9d, r9d
        mov      qword ptr [rbp-0xD8], r9
        mov      gword ptr [rbp-0xF8], rdi
        mov      byte  ptr [rbp-0xE0], 0
        mov      gword ptr [rbp-0x108], rax
        mov      dword ptr [rbp-0xE4], ecx
        mov      gword ptr [rbp-0x100], rbx
        mov      byte  ptr [rbp-0xDF], sil
        mov      gword ptr [rbp-0xD0], r8
        mov      dword ptr [rbp-0xE8], -1
        lea      rdi, [rbp-0x108]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Http.SocksHelper+<EstablishSocks4TunnelAsync>d__15](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Http.SocksHelper+<EstablishSocks4TunnelAsync>d__15](byref)
        lea      rdi, [rbp-0xD8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:get_Task():System.Threading.Tasks.ValueTask:this
        call     [rax]System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:get_Task():System.Threading.Tasks.ValueTask:this
        mov      gword ptr [rbp-0x48], rax
        mov      qword ptr [rbp-0x40], rdx
        mov      rsi, gword ptr [rbp-0x48]
        movsx    rdi, word  ptr [rbp-0x40]
        mov      gword ptr [rbp-0x38], rsi
        mov      word  ptr [rbp-0x30], di
        mov      byte  ptr [rbp-0x2E], 0
        mov      rbx, gword ptr [rbp-0x38]
        test     rbx, rbx
        je       G_M22847_IG12
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        jne      SHORT G_M22847_IG34
        mov      rdi, rbx
        movsx    rsi, word  ptr [rbp-0x30]
        mov      r11, 0xD1FFAB1E      ; code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
        call     [r11]System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
        test     eax, eax
        jne      G_M22847_IG12
 						;; size=233 bbWeight=1 PerfScore 51.75
 G_M22847_IG33:
        mov      dword ptr [rbp-0x24], 2
-       mov      rdx, bword ptr [rbp-0x118]
+       mov      rdx, bword ptr [rbp-0x110]
        mov      dword ptr [rdx+0x20], 2
        lea      rdi, bword ptr [rdx+0x50]
        lea      rsi, bword ptr [rbp-0x38]
        call     CORINFO_HELP_ASSIGN_BYREF
        movsq    
        lea      rsi, bword ptr [rdx+0x30]
        mov      rdi, rdx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        mov      rsi, rax
        lea      rdi, [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        jmp      G_M22847_IG51
 						;; size=79 bbWeight=1 PerfScore 16.00
 G_M22847_IG34:
        test     dword ptr [rax+0x34], 0xD1FFAB1E
        jne      G_M22847_IG12
        jmp      SHORT G_M22847_IG33
 						;; size=15 bbWeight=1 PerfScore 6.00
 G_M22847_IG35:
        mov      rdi, rbx
        movsx    rsi, word  ptr [rbp-0x30]
        mov      r11, 0xD1FFAB1E      ; code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
        call     [r11]System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
        jmp      G_M22847_IG45
 						;; size=26 bbWeight=1 PerfScore 8.50
 G_M22847_IG36:
-       mov      rdi, bword ptr [rbp-0x118]
+       mov      rdi, bword ptr [rbp-0x110]
        movzx    r8, byte  ptr [rdi+0x28]
        mov      rsi, gword ptr [rdi+0x18]
        mov      edx, dword ptr [rdi+0x24]
        mov      rdi, gword ptr [rdi]
        mov      rcx, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.SocksHelper:EstablishSocks5TunnelAsync(System.IO.Stream,System.String,int,System.Net.NetworkCredential,ubyte):System.Threading.Tasks.ValueTask
        call     [rax]System.Net.Http.SocksHelper:EstablishSocks5TunnelAsync(System.IO.Stream,System.String,int,System.Net.NetworkCredential,ubyte):System.Threading.Tasks.ValueTask
        mov      gword ptr [rbp-0x48], rax
        mov      qword ptr [rbp-0x40], rdx
        mov      rsi, gword ptr [rbp-0x48]
        movsx    rdi, word  ptr [rbp-0x40]
        mov      gword ptr [rbp-0x38], rsi
        mov      word  ptr [rbp-0x30], di
        mov      byte  ptr [rbp-0x2E], 0
        mov      rbx, gword ptr [rbp-0x38]
        test     rbx, rbx
        je       G_M22847_IG20
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        jne      SHORT G_M22847_IG39
        mov      rdi, rbx
        movsx    rsi, word  ptr [rbp-0x30]
        mov      r11, 0xD1FFAB1E      ; code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
        call     [r11]System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
        test     eax, eax
        jne      G_M22847_IG20
 						;; size=138 bbWeight=1 PerfScore 36.50
 G_M22847_IG37:
        xor      edi, edi
        mov      dword ptr [rbp-0x24], edi
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M22847_IG38:
-       mov      r15, bword ptr [rbp-0x118]
+       mov      r15, bword ptr [rbp-0x110]
        mov      dword ptr [r15+0x20], edi
        lea      rdi, bword ptr [r15+0x50]
        lea      rsi, bword ptr [rbp-0x38]
        call     CORINFO_HELP_ASSIGN_BYREF
        movsq    
        lea      rsi, bword ptr [r15+0x30]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        mov      rsi, rax
        lea      rdi, [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        jmp      G_M22847_IG47
 						;; size=69 bbWeight=1 PerfScore 15.00
 G_M22847_IG39:
        test     dword ptr [rax+0x34], 0xD1FFAB1E
        jne      G_M22847_IG20
        jmp      SHORT G_M22847_IG37
 						;; size=15 bbWeight=1 PerfScore 6.00
 G_M22847_IG40:
        mov      rdi, rbx
        movsx    rsi, word  ptr [rbp-0x30]
        mov      r11, 0xD1FFAB1E      ; code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
        call     [r11]System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
        jmp      G_M22847_IG45
 						;; size=26 bbWeight=1 PerfScore 8.50
 G_M22847_IG41:
-       mov      rdi, bword ptr [rbp-0x118]
+       mov      rdi, bword ptr [rbp-0x110]
        mov      rax, gword ptr [rdi]
        mov      rcx, gword ptr [rdi+0x18]
        mov      edx, dword ptr [rdi+0x24]
        movzx    rsi, byte  ptr [rdi+0x28]
        mov      r8, gword ptr [rdi+0x38]
        xor      r9d, r9d
        mov      qword ptr [rbp-0x78], r9
        mov      gword ptr [rbp-0x98], rax
        mov      byte  ptr [rbp-0x80], 1
        mov      gword ptr [rbp-0xA8], rcx
        mov      dword ptr [rbp-0x84], edx
        mov      gword ptr [rbp-0xA0], rbx
        mov      byte  ptr [rbp-0x7F], sil
        mov      gword ptr [rbp-0x70], r8
        mov      dword ptr [rbp-0x88], -1
        lea      rdi, [rbp-0xA8]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Http.SocksHelper+<EstablishSocks4TunnelAsync>d__15](byref)
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:Start[System.Net.Http.SocksHelper+<EstablishSocks4TunnelAsync>d__15](byref)
        lea      rdi, [rbp-0x78]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:get_Task():System.Threading.Tasks.ValueTask:this
        call     [rax]System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:get_Task():System.Threading.Tasks.ValueTask:this
        mov      gword ptr [rbp-0x48], rax
        mov      qword ptr [rbp-0x40], rdx
        mov      rsi, gword ptr [rbp-0x48]
        movsx    rdi, word  ptr [rbp-0x40]
        mov      gword ptr [rbp-0x38], rsi
        mov      word  ptr [rbp-0x30], di
        mov      byte  ptr [rbp-0x2E], 0
        mov      rbx, gword ptr [rbp-0x38]
        test     rbx, rbx
        je       G_M22847_IG16
        mov      rsi, rbx
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.Task
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ISINSTANCEOFCLASS
        call     [rax]CORINFO_HELP_ISINSTANCEOFCLASS
        test     rax, rax
        jne      G_M22847_IG43
        mov      rdi, rbx
        movsx    rsi, word  ptr [rbp-0x30]
        mov      r11, 0xD1FFAB1E      ; code for System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
        call     [r11]System.Threading.Tasks.Sources.IValueTaskSource:GetStatus(short):int:this
        test     eax, eax
        jne      G_M22847_IG16
 						;; size=222 bbWeight=1 PerfScore 51.75
 G_M22847_IG42:
        mov      dword ptr [rbp-0x24], 1
-       mov      rdi, bword ptr [rbp-0x118]
+       mov      rdi, bword ptr [rbp-0x110]
        mov      dword ptr [rdi+0x20], 1
        lea      rsi, bword ptr [rdi+0x50]
-       mov      bword ptr [rbp-0x120], rsi
-       mov      rdi, bword ptr [rbp-0x120]
+       mov      bword ptr [rbp-0x118], rsi
+       mov      rdi, bword ptr [rbp-0x118]
        lea      rsi, bword ptr [rbp-0x38]
        call     CORINFO_HELP_ASSIGN_BYREF
        movsq    
-       mov      rdi, bword ptr [rbp-0x118]
+       mov      rdi, bword ptr [rbp-0x110]
        lea      rsi, bword ptr [rdi+0x30]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:GetStateMachineBox[System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13](byref,byref):System.Runtime.CompilerServices.IAsyncStateMachineBox
        mov      rsi, rax
        lea      rdi, [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        call     [rax]System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[System.Threading.Tasks.VoidTaskResult]:AwaitUnsafeOnCompleted[System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable+ConfiguredValueTaskAwaiter](byref,System.Runtime.CompilerServices.IAsyncStateMachineBox)
        jmp      G_M22847_IG49
 						;; size=97 bbWeight=1 PerfScore 18.75
 G_M22847_IG43:
        test     dword ptr [rax+0x34], 0xD1FFAB1E
        jne      G_M22847_IG16
        jmp      SHORT G_M22847_IG42
 						;; size=15 bbWeight=1 PerfScore 6.00
 G_M22847_IG44:
        mov      rdi, rbx
        movsx    rsi, word  ptr [rbp-0x30]
        mov      r11, 0xD1FFAB1E      ; code for System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
        call     [r11]System.Threading.Tasks.Sources.IValueTaskSource:GetResult(short):this
        nop      
 						;; size=22 bbWeight=1 PerfScore 6.75
 G_M22847_IG45:
        cmp      dword ptr [rbp-0x24], 0
        jge      SHORT G_M22847_IG46
-       mov      rdi, bword ptr [rbp-0x118]
+       mov      rdi, bword ptr [rbp-0x110]
        lea      rbx, bword ptr [rdi+0x40]
        mov      r15, gword ptr [rbx]
        test     r15, r15
        je       SHORT G_M22847_IG46
        mov      rdi, gword ptr [r15+0x08]
        mov      rsi, qword ptr [rbx+0x08]
        mov      rdx, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource+Registrations:Unregister(long,System.Threading.CancellationTokenSource+CallbackNode):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.CancellationTokenSource+Registrations:Unregister(long,System.Threading.CancellationTokenSource+CallbackNode):ubyte:this
        test     eax, eax
        jne      SHORT G_M22847_IG46
        mov      r14, qword ptr [rbx+0x08]
        mov      rax, gword ptr [r15+0x08]
        mov      r13, gword ptr [rax+0x08]
        cmp      dword ptr [r13+0x20], 0
        je       SHORT G_M22847_IG46
        cmp      dword ptr [r13+0x20], 2
        je       SHORT G_M22847_IG46
        mov      rax, gword ptr [r15+0x08]
        mov      ebx, dword ptr [rax+0x30]
        call     System.Environment:get_CurrentManagedThreadId():int
        cmp      ebx, eax
        je       SHORT G_M22847_IG46
        mov      rdi, gword ptr [r15+0x08]
        mov      rsi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource+Registrations:WaitForCallbackToComplete(long):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.CancellationTokenSource+Registrations:WaitForCallbackToComplete(long):this
 						;; size=117 bbWeight=1 PerfScore 48.25
 G_M22847_IG46:
        xor      edi, edi
-       mov      r15, bword ptr [rbp-0x118]
+       mov      r15, bword ptr [rbp-0x110]
        mov      qword ptr [r15+0x40], rdi
        mov      qword ptr [r15+0x48], rdi
        jmp      SHORT G_M22847_IG54
 						;; size=19 bbWeight=1 PerfScore 5.25
 G_M22847_IG47:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M22847_IG48:
-       call     G_M22847_IG74
-       jmp      G_M22847_IG67
+       call     G_M22847_IG66
+       jmp      G_M22847_IG59
 						;; size=10 bbWeight=1 PerfScore 3.00
 G_M22847_IG49:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M22847_IG50:
-       call     G_M22847_IG74
-       jmp      G_M22847_IG67
+       call     G_M22847_IG66
+       jmp      G_M22847_IG59
 						;; size=10 bbWeight=1 PerfScore 3.00
 G_M22847_IG51:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M22847_IG52:
-       call     G_M22847_IG74
-       jmp      G_M22847_IG67
+       call     G_M22847_IG66
+       jmp      G_M22847_IG59
 						;; size=10 bbWeight=1 PerfScore 3.00
 G_M22847_IG53:
        mov      edi, 0x9D7
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M22847_IG54:
        mov      dword ptr [r15+0x20], -2
        add      r15, 48
        cmp      gword ptr [r15], 0
-       je       G_M22847_IG65
+       je       G_M22847_IG57
        mov      r15, gword ptr [r15]
-       xor      r13d, r13d
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       G_M22847_IG69
-						;; size=47 bbWeight=1 PerfScore 11.75
+       je       G_M22847_IG61
+						;; size=44 bbWeight=1 PerfScore 11.50
 G_M22847_IG55:
        mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.TplEventSource:Log
-       mov      rbx, gword ptr [rdi]
-       cmp      byte  ptr [rbx+0x9D], 0
+       mov      r13, gword ptr [rdi]
+       cmp      byte  ptr [r13+0x9D], 0
        je       SHORT G_M22847_IG56
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.Task:get_Id():int:this
-       mov      r14d, eax
-       movzx    rsi, byte  ptr [rbx+0x9D]
+       mov      ebx, eax
+       movzx    rsi, byte  ptr [r13+0x9D]
        test     esi, esi
        je       SHORT G_M22847_IG56
        xor      ecx, ecx
        mov      dword ptr [rsp], ecx
-       mov      rcx, qword ptr [rbx+0x80]
-       mov      edx, dword ptr [rbx+0x98]
-       mov      rdi, rbx
+       mov      rcx, qword ptr [r13+0x80]
+       mov      edx, dword ptr [r13+0x98]
+       mov      rdi, r13
        mov      r8d, 4
        mov      r9d, 8
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
        call     [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
        test     eax, eax
        je       SHORT G_M22847_IG56
-       mov      rdi, rbx
-       mov      edx, r14d
+       mov      rdi, r13
+       mov      edx, ebx
        mov      esi, 15
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int):this
 						;; size=131 bbWeight=1 PerfScore 31.00
 G_M22847_IG56:
-       mov      eax, dword ptr [r15+0x34]
-       mov      dword ptr [rbp-0x10C], eax
-       test     eax, 0xD1FFAB1E
-       jne      G_M22847_IG70
-       lea      rbx, bword ptr [r15+0x34]
-       mov      edi, eax
-       or       edi, 0xD1FFAB1E
-       lock     
-       cmpxchg  dword ptr [rbx], edi
-       cmp      eax, dword ptr [rbp-0x10C]
-       je       SHORT G_M22847_IG63
-       mov      eax, dword ptr [r15+0x34]
-       jmp      SHORT G_M22847_IG58
-						;; size=51 bbWeight=1 PerfScore 30.25
-G_M22847_IG57:
-       mov      edi, eax
-       mov      eax, edi
-						;; size=4 bbWeight=8 PerfScore 4.00
-G_M22847_IG58:
-       test     eax, 0xD1FFAB1E
-       je       SHORT G_M22847_IG60
-						;; size=7 bbWeight=8 PerfScore 10.00
-G_M22847_IG59:
-       xor      edi, edi
+       mov      rdi, r15
+       xor      esi, esi
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:TrySetResult(System.Threading.Tasks.VoidTaskResult):ubyte:this
+       cmp      dword ptr [rdi], edi
+       call     [rax]System.Threading.Tasks.Task`1[System.Threading.Tasks.VoidTaskResult]:TrySetResult(System.Threading.Tasks.VoidTaskResult):ubyte:this
+       test     eax, eax
+       jne      SHORT G_M22847_IG59
        jmp      SHORT G_M22847_IG62
-						;; size=4 bbWeight=1 PerfScore 2.25
-G_M22847_IG60:
-       mov      edi, eax
-       or       edi, 0xD1FFAB1E
-       mov      dword ptr [rbp-0x110], eax
-       lock     
-       cmpxchg  dword ptr [rbx], edi
-       mov      edi, dword ptr [rbp-0x110]
-       cmp      eax, edi
-       jne      SHORT G_M22847_IG57
-						;; size=28 bbWeight=8 PerfScore 174.00
-G_M22847_IG61:
-       mov      edi, 1
-						;; size=5 bbWeight=1 PerfScore 0.25
-G_M22847_IG62:
-       test     edi, edi
-       je       G_M22847_IG70
-						;; size=8 bbWeight=1 PerfScore 1.25
-G_M22847_IG63:
-       mov      byte  ptr [r15+0x38], r13b
-       mov      edi, dword ptr [r15+0x34]
-       or       edi, 0xD1FFAB1E
-       xchg     dword ptr [rbx], edi
-       mov      rbx, gword ptr [r15+0x28]
-       test     rbx, rbx
-       je       SHORT G_M22847_IG64
-       mov      rdi, r15
-       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
-       call     [rax]System.Threading.Tasks.Task:NotifyParentIfPotentiallyAttachedTask():this
-       mov      rdi, gword ptr [rbx+0x10]
-       test     rdi, rdi
-       je       SHORT G_M22847_IG64
-       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
-       call     [rax]System.Threading.Tasks.Task+ContingentProperties:SetEvent(System.Threading.ManualResetEventSlim)
-						;; size=61 bbWeight=1 PerfScore 36.50
-G_M22847_IG64:
-       mov      rdi, r15
-       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:FinishContinuations():this
-       call     [rax]System.Threading.Tasks.Task:FinishContinuations():this
-       jmp      SHORT G_M22847_IG67
-						;; size=17 bbWeight=1 PerfScore 5.50
-G_M22847_IG65:
+						;; size=25 bbWeight=1 PerfScore 10.00
+G_M22847_IG57:
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
-       je       SHORT G_M22847_IG71
+       je       SHORT G_M22847_IG63
 						;; size=15 bbWeight=1 PerfScore 4.25
-G_M22847_IG66:
+G_M22847_IG58:
        mov      rdi, 0xD1FFAB1E      ; data for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:s_syncSuccessSentinel
        mov      rsi, gword ptr [rdi]
        mov      rdi, r15
        call     CORINFO_HELP_CHECKED_ASSIGN_REF
 						;; size=21 bbWeight=1 PerfScore 3.50
-G_M22847_IG67:
+G_M22847_IG59:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M22847_IG68:
+G_M22847_IG60:
        add      rsp, 272
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=16 bbWeight=1 PerfScore 3.75
-G_M22847_IG69:
+G_M22847_IG61:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TplEventSource
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M22847_IG55
 						;; size=20 bbWeight=0 PerfScore 0.00
-G_M22847_IG70:
+G_M22847_IG62:
        mov      edi, 24
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowInvalidOperationException(int)
        call     [rax]System.ThrowHelper:ThrowInvalidOperationException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
-G_M22847_IG71:
+G_M22847_IG63:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder
        call     CORINFO_HELP_GET_GCSTATIC_BASE
-       jmp      SHORT G_M22847_IG66
+       jmp      SHORT G_M22847_IG58
 						;; size=17 bbWeight=0 PerfScore 0.00
-G_M22847_IG72:
+G_M22847_IG64:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 16
        mov      rbp, qword ptr [rdi+0x08]
        mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0x130]
 						;; size=28 bbWeight=0 PerfScore 0.00
-G_M22847_IG73:
-       mov      r15, bword ptr [rbp-0x118]
+G_M22847_IG65:
+       mov      r15, bword ptr [rbp-0x110]
        mov      rdi, gword ptr [r15]
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Stream:Dispose():this
        cmp      dword ptr [rdi], edi
        call     [rax]System.IO.Stream:Dispose():this
        call     CORINFO_HELP_RETHROW
        int3     
 						;; size=30 bbWeight=0 PerfScore 0.00
-G_M22847_IG74:
+G_M22847_IG66:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 16
        mov      rbp, qword ptr [rdi+0x08]
        mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0x130]
 						;; size=28 bbWeight=1 PerfScore 8.75
-G_M22847_IG75:
+G_M22847_IG67:
        cmp      dword ptr [rbp-0x24], 0
-       jge      SHORT G_M22847_IG76
-       mov      r15, bword ptr [rbp-0x118]
+       jge      SHORT G_M22847_IG68
+       mov      r15, bword ptr [rbp-0x110]
        lea      rbx, bword ptr [r15+0x40]
        mov      rdi, gword ptr [rbx]
        mov      r14, rdi
        test     r14, r14
-       je       SHORT G_M22847_IG76
+       je       SHORT G_M22847_IG68
        mov      rdi, gword ptr [r14+0x08]
        mov      rsi, qword ptr [rbx+0x08]
        mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource+Registrations:Unregister(long,System.Threading.CancellationTokenSource+CallbackNode):ubyte:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.CancellationTokenSource+Registrations:Unregister(long,System.Threading.CancellationTokenSource+CallbackNode):ubyte:this
        test     eax, eax
-       jne      SHORT G_M22847_IG76
+       jne      SHORT G_M22847_IG68
        mov      rax, qword ptr [rbx+0x08]
        mov      rbx, rax
        mov      rax, gword ptr [r14+0x08]
        mov      r13, gword ptr [rax+0x08]
        cmp      dword ptr [r13+0x20], 0
-       je       SHORT G_M22847_IG76
+       je       SHORT G_M22847_IG68
        cmp      dword ptr [r13+0x20], 2
-       je       SHORT G_M22847_IG76
+       je       SHORT G_M22847_IG68
        mov      rax, gword ptr [r14+0x08]
        mov      r13d, dword ptr [rax+0x30]
        call     System.Environment:get_CurrentManagedThreadId():int
        cmp      r13d, eax
-       je       SHORT G_M22847_IG76
+       je       SHORT G_M22847_IG68
        mov      rdi, gword ptr [r14+0x08]
        mov      rsi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource+Registrations:WaitForCallbackToComplete(long):this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.CancellationTokenSource+Registrations:WaitForCallbackToComplete(long):this
 						;; size=125 bbWeight=1 PerfScore 48.75
-G_M22847_IG76:
+G_M22847_IG68:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
-G_M22847_IG77:
+G_M22847_IG69:
        add      rsp, 16
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=13 bbWeight=1 PerfScore 3.75
-G_M22847_IG78:
+G_M22847_IG70:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        sub      rsp, 16
        mov      rbp, qword ptr [rdi+0x08]
        mov      qword ptr [rsp+0x08], rbp
        lea      rbp, [rbp+0x130]
 						;; size=28 bbWeight=0 PerfScore 0.00
-G_M22847_IG79:
-       mov      r15, bword ptr [rbp-0x118]
+G_M22847_IG71:
+       mov      r15, bword ptr [rbp-0x110]
        mov      dword ptr [r15+0x20], -2
        lea      rdi, bword ptr [r15+0x30]
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:SetException(System.Exception):this
        call     [rax]System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder:SetException(System.Exception):this
-       lea      rax, G_M22847_IG67
+       lea      rax, G_M22847_IG59
 						;; size=38 bbWeight=0 PerfScore 0.00
-G_M22847_IG80:
+G_M22847_IG72:
        add      rsp, 16
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=13 bbWeight=0 PerfScore 0.00
 RWD00  	dd	G_M22847_IG17 - G_M22847_IG02
        	dd	G_M22847_IG13 - G_M22847_IG02
        	dd	G_M22847_IG09 - G_M22847_IG02
 
 
-; Total bytes of code 3010, prolog size 100, PerfScore 885.33, instruction count 673, allocated bytes for code 3010 (MethodHash=3e23a6c0) for method System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13:MoveNext():this (FullOpts)
+; Total bytes of code 2845, prolog size 100, PerfScore 631.08, instruction count 630, allocated bytes for code 2845 (MethodHash=3e23a6c0) for method System.Net.Http.SocksHelper+<EstablishSocksTunnelAsync>d__13:MoveNext():this (FullOpts)
 ; ============================================================
-15 (-1.25 % of base) - System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
 ; Assembly listing for method System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 20 single block inlinees; 18 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[System.String]>
 ;  V01 arg1         [V01,T08] (  9, 26.50)     ref  ->  r14         class-hnd single-def <ubyte[]>
 ;  V02 arg2         [V02,T11] ( 11, 17   )     ref  ->  r12         class-hnd single-def <System.Text.Encoding>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
 ;  V04 arg4         [V04,T62] (  4,  2.50)   byref  ->  [rbp+0x10]  single-def
 ;  V05 loc0         [V05,T12] (  8, 18   )     int  ->  [rbp-0x2C] 
 ;  V06 loc1         [V06    ] (  3,  1.50)     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V07 loc2         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[System.String]>
 ;* V08 loc3         [V08,T75] (  0,  0   )     int  ->  zero-ref   
 ;* V09 loc4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;* V10 loc5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;  V11 loc6         [V11,T14] (  8, 17.50)     ref  ->  [rbp-0x88]  class-hnd <System.String>
 ;* V12 loc7         [V12,T82] (  0,  0   )     int  ->  zero-ref   
 ;  V13 loc8         [V13,T13] (  8, 18   )     int  ->  rax        
 ;* V14 loc9         [V14,T83] (  0,  0   )     int  ->  zero-ref   
 ;# V15 OutArgs      [V15    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V16 tmp1         [V16    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V17 tmp2         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V18 tmp3         [V18,T55] (  4,  4   )     int  ->  rax         "Inlining Arg"
 ;* V19 tmp4         [V19    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V20 tmp5         [V20,T51] (  5,  5   )   byref  ->  r15         single-def "Inlining Arg"
 ;  V21 tmp6         [V21,T36] (  8,  8   )     int  ->  rbx         "Inlining Arg"
 ;  V22 tmp7         [V22,T56] (  4,  4   )     int  ->  rdx         "Inlining Arg"
 ;* V23 tmp8         [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V24 tmp9         [V24,T63] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;  V25 tmp10        [V25,T66] (  2,  2   )     int  ->  rbx         "Inlining Arg"
 ;* V26 tmp11        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V27 tmp12        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V28 tmp13        [V28    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V29 tmp14        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V30 tmp15        [V30    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp16        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp17        [V32    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V33 tmp18        [V33,T04] (  4, 32   )     int  ->  rdi         "Inlining Arg"
 ;* V34 tmp19        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V35 tmp20        [V35,T03] (  4, 32   )   byref  ->  r15         "Inlining Arg"
 ;  V36 tmp21        [V36,T02] (  5, 36   )     int  ->  rbx         "Inlining Arg"
 ;* V37 tmp22        [V37    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V38 tmp23        [V38    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inline ldloca(s) first use temp"
 ;* V39 tmp24        [V39    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V40 tmp25        [V40,T84] (  4,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.Net.Http.HttpRequestException>
 ;* V41 tmp26        [V41    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V42 tmp27        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V43 tmp28        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V42 tmp27        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V43 tmp28        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V44 tmp29        [V44,T40] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
 ;  V45 tmp30        [V45,T47] (  2,  8   )     int  ->  rsi         "Inlining Arg"
 ;  V46 tmp31        [V46,T38] (  3,  8   )     int  ->   r8         "Inline return value spill temp"
 ;* V47 tmp32        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp33        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;  V49 tmp34        [V49,T32] (  4, 12   )    long  ->  [rbp-0x40]  "Inline stloc first use temp"
 ;  V50 tmp35        [V50,T52] (  3,  6   )     int  ->  [rbp-0x44]  "Inline stloc first use temp"
 ;  V51 tmp36        [V51    ] (  2,  8   )   byref  ->  [rbp-0x50]  must-init pinned "Inline stloc first use temp"
 ;  V52 tmp37        [V52    ] (  2,  8   )   byref  ->  [rbp-0x58]  must-init pinned "Inline stloc first use temp"
 ;* V53 tmp38        [V53    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V54 tmp39        [V54    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V55 tmp40        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V56 tmp41        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;  V57 tmp42        [V57,T85] (  2,  0   )     ref  ->  r13         class-hnd exact "Inlining Arg" <System.String>
 ;  V58 tmp43        [V58,T05] (  4, 32   )     int  ->  rax         "Inlining Arg"
 ;* V59 tmp44        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V60 tmp45        [V60,T18] (  2, 16   )   byref  ->  r15         "Inlining Arg"
 ;  V61 tmp46        [V61,T21] (  2, 16   )     int  ->  rbx         "Inlining Arg"
 ;* V62 tmp47        [V62    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;  V63 tmp48        [V63,T54] (  4,  4   )     ref  ->   r8         class-hnd single-def "Inlining Arg" <System.String>
-;* V64 tmp49        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V65 tmp50        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V64 tmp49        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V65 tmp50        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V66 tmp51        [V66,T64] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V67 tmp52        [V67,T67] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V68 tmp53        [V68    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V69 tmp54        [V69,T65] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
 ;  V70 tmp55        [V70,T68] (  2,  2   )     int  ->  rbx         "Inlining Arg"
 ;* V71 tmp56        [V71    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V72 tmp57        [V72    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V73 tmp58        [V73    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V74 tmp59        [V74    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V75 tmp60        [V75    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V76 tmp61        [V76    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V77 tmp62        [V77    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V78 tmp63        [V78,T06] (  4, 32   )     int  ->  rcx         "Inlining Arg"
 ;* V79 tmp64        [V79    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V80 tmp65        [V80,T19] (  2, 16   )   byref  ->   r8         "Inlining Arg"
 ;  V81 tmp66        [V81,T07] (  3, 24   )     int  ->  rsi         "Inlining Arg"
 ;* V82 tmp67        [V82    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;  V83 tmp68        [V83,T09] (  4, 24   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.String>
-;* V84 tmp69        [V84    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V85 tmp70        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V86 tmp71        [V86,T41] (  2,  8   )   byref  ->   r8         "Inlining Arg"
-;  V87 tmp72        [V87,T48] (  2,  8   )     int  ->  rdx         "Inlining Arg"
+;* V84 tmp69        [V84    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V85 tmp70        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V86 tmp71        [V86,T41] (  2,  8   )   byref  ->  rdx         "Inlining Arg"
+;  V87 tmp72        [V87,T48] (  2,  8   )     int  ->  rdi         "Inlining Arg"
 ;* V88 tmp73        [V88    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V89 tmp74        [V89,T20] (  2, 16   )   byref  ->  rsi         "Inlining Arg"
 ;  V90 tmp75        [V90,T22] (  2, 16   )     int  ->  rbx         "Inlining Arg"
 ;  V91 tmp76        [V91,T10] (  8, 18.50)   byref  ->  r13         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;  V92 tmp77        [V92,T15] ( 12, 13.50)     int  ->  [rbp-0x5C]  single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V93 tmp78        [V93,T01] ( 17, 40.50)   byref  ->  r15         "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V94 tmp79        [V94,T00] ( 20, 49   )     int  ->  rbx         "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V95 tmp80        [V95,T71] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V96 tmp81        [V96,T76] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V97 tmp82        [V97    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp83        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp84        [V99    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp85       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V101 tmp86       [V101,T81] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
 ;  V102 tmp87       [V102,T77] (  2,  1   )     int  ->  rax         "field V19._length (fldOffset=0x8)" P-INDEP
 ;  V103 tmp88       [V103,T72] (  2,  1   )   byref  ->  r15         single-def "field V23._reference (fldOffset=0x0)" P-INDEP
 ;  V104 tmp89       [V104,T78] (  2,  1   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
 ;  V105 tmp90       [V105,T42] (  2,  8   )   byref  ->  rsi         "field V26._reference (fldOffset=0x0)" P-INDEP
 ;  V106 tmp91       [V106,T33] (  3, 12   )     int  ->  rdx         "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp92       [V107    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp93       [V108    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V109 tmp94       [V109    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V110 tmp95       [V110    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V111 tmp96       [V111    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V112 tmp97       [V112    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V113 tmp98       [V113    ] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V114 tmp99       [V114    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
 ;* V115 tmp100      [V115    ] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
 ;* V116 tmp101      [V116    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
 ;* V117 tmp102      [V117    ] (  0,  0   )   byref  ->  zero-ref    "field V39._reference (fldOffset=0x0)" P-INDEP
 ;* V118 tmp103      [V118    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
 ;  V119 tmp104      [V119,T31] (  4, 12   )   byref  ->  rdi         "field V41._reference (fldOffset=0x0)" P-INDEP
 ;  V120 tmp105      [V120,T35] (  4, 10   )     int  ->  rsi         "field V41._length (fldOffset=0x8)" P-INDEP
-;  V121 tmp106      [V121,T57] (  2,  4   )   byref  ->  rdi         "field V42._reference (fldOffset=0x0)" P-INDEP
-;  V122 tmp107      [V122,T59] (  2,  4   )     int  ->  rsi         "field V42._length (fldOffset=0x8)" P-INDEP
-;* V123 tmp108      [V123    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V124 tmp109      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
+;* V121 tmp106      [V121    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V122 tmp107      [V122    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
+;  V123 tmp108      [V123,T57] (  2,  4   )   byref  ->  rdi         "field V43._reference (fldOffset=0x0)" P-INDEP
+;  V124 tmp109      [V124,T59] (  2,  4   )     int  ->  rsi         "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V125 tmp110      [V125    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V126 tmp111      [V126    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V127 tmp112      [V127    ] (  0,  0   )   byref  ->  zero-ref    "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V128 tmp113      [V128    ] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V129 tmp114      [V129    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
 ;* V130 tmp115      [V130    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
 ;* V131 tmp116      [V131    ] (  0,  0   )   byref  ->  zero-ref    "field V56._reference (fldOffset=0x0)" P-INDEP
 ;* V132 tmp117      [V132    ] (  0,  0   )     int  ->  zero-ref    "field V56._length (fldOffset=0x8)" P-INDEP
 ;  V133 tmp118      [V133,T43] (  2,  8   )   byref  ->  r15         "field V59._reference (fldOffset=0x0)" P-INDEP
 ;  V134 tmp119      [V134,T49] (  2,  8   )     int  ->  rbx         "field V59._length (fldOffset=0x8)" P-INDEP
 ;  V135 tmp120      [V135,T69] (  3,  1.50)   byref  ->  rsi         "field V62._reference (fldOffset=0x0)" P-INDEP
 ;  V136 tmp121      [V136,T70] (  3,  1.50)     int  ->  rdx         "field V62._length (fldOffset=0x8)" P-INDEP
-;  V137 tmp122      [V137,T73] (  2,  1   )   byref  ->  rsi         single-def "field V64._reference (fldOffset=0x0)" P-INDEP
-;  V138 tmp123      [V138,T79] (  2,  1   )     int  ->  rdx         "field V64._length (fldOffset=0x8)" P-INDEP
-;* V139 tmp124      [V139    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V140 tmp125      [V140    ] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
+;* V137 tmp122      [V137    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V64._reference (fldOffset=0x0)" P-INDEP
+;* V138 tmp123      [V138    ] (  0,  0   )     int  ->  zero-ref    "field V64._length (fldOffset=0x8)" P-INDEP
+;  V139 tmp124      [V139,T73] (  2,  1   )   byref  ->  rsi         single-def "field V65._reference (fldOffset=0x0)" P-INDEP
+;  V140 tmp125      [V140,T79] (  2,  1   )     int  ->  rdx         "field V65._length (fldOffset=0x8)" P-INDEP
 ;  V141 tmp126      [V141,T74] (  2,  1   )   byref  ->  r15         single-def "field V68._reference (fldOffset=0x0)" P-INDEP
 ;  V142 tmp127      [V142,T80] (  2,  1   )     int  ->  rbx         "field V68._length (fldOffset=0x8)" P-INDEP
 ;  V143 tmp128      [V143,T44] (  2,  8   )   byref  ->  rsi         "field V71._reference (fldOffset=0x0)" P-INDEP
 ;  V144 tmp129      [V144,T34] (  3, 12   )     int  ->  rdx         "field V71._length (fldOffset=0x8)" P-INDEP
 ;* V145 tmp130      [V145    ] (  0,  0   )   byref  ->  zero-ref    "field V72._reference (fldOffset=0x0)" P-INDEP
 ;* V146 tmp131      [V146    ] (  0,  0   )     int  ->  zero-ref    "field V72._length (fldOffset=0x8)" P-INDEP
 ;* V147 tmp132      [V147    ] (  0,  0   )   byref  ->  zero-ref    "field V73._reference (fldOffset=0x0)" P-INDEP
 ;* V148 tmp133      [V148    ] (  0,  0   )     int  ->  zero-ref    "field V73._length (fldOffset=0x8)" P-INDEP
 ;* V149 tmp134      [V149    ] (  0,  0   )   byref  ->  zero-ref    "field V74._reference (fldOffset=0x0)" P-INDEP
 ;* V150 tmp135      [V150    ] (  0,  0   )     int  ->  zero-ref    "field V74._length (fldOffset=0x8)" P-INDEP
 ;  V151 tmp136      [V151,T45] (  2,  8   )   byref  ->  r15         "field V79._reference (fldOffset=0x0)" P-INDEP
 ;* V152 tmp137      [V152,T61] (  0,  0   )     int  ->  zero-ref    "field V79._length (fldOffset=0x8)" P-INDEP
-;  V153 tmp138      [V153,T37] (  3,  8   )   byref  ->  rdi         "field V82._reference (fldOffset=0x0)" P-INDEP
-;  V154 tmp139      [V154,T39] (  3,  8   )     int  ->  rdx         "field V82._length (fldOffset=0x8)" P-INDEP
-;  V155 tmp140      [V155,T58] (  2,  4   )   byref  ->   r8         "field V84._reference (fldOffset=0x0)" P-INDEP
-;  V156 tmp141      [V156,T60] (  2,  4   )     int  ->  rdx         "field V84._length (fldOffset=0x8)" P-INDEP
-;* V157 tmp142      [V157    ] (  0,  0   )   byref  ->  zero-ref    "field V85._reference (fldOffset=0x0)" P-INDEP
-;* V158 tmp143      [V158    ] (  0,  0   )     int  ->  zero-ref    "field V85._length (fldOffset=0x8)" P-INDEP
+;  V153 tmp138      [V153,T37] (  3,  8   )   byref  ->  rdx         "field V82._reference (fldOffset=0x0)" P-INDEP
+;  V154 tmp139      [V154,T39] (  3,  8   )     int  ->  rdi         "field V82._length (fldOffset=0x8)" P-INDEP
+;* V155 tmp140      [V155    ] (  0,  0   )   byref  ->  zero-ref    "field V84._reference (fldOffset=0x0)" P-INDEP
+;* V156 tmp141      [V156    ] (  0,  0   )     int  ->  zero-ref    "field V84._length (fldOffset=0x8)" P-INDEP
+;  V157 tmp142      [V157,T58] (  2,  4   )   byref  ->  rdx         "field V85._reference (fldOffset=0x0)" P-INDEP
+;  V158 tmp143      [V158,T60] (  2,  4   )     int  ->  rdi         "field V85._length (fldOffset=0x8)" P-INDEP
 ;  V159 tmp144      [V159,T46] (  2,  8   )   byref  ->  r15         "field V88._reference (fldOffset=0x0)" P-INDEP
 ;  V160 tmp145      [V160,T50] (  2,  8   )     int  ->  rbx         "field V88._length (fldOffset=0x8)" P-INDEP
 ;  V161 tmp146      [V161,T23] (  2, 16   )    long  ->  rdi         "Cast away GC"
 ;  V162 tmp147      [V162,T24] (  2, 16   )    long  ->  rsi         "Cast away GC"
 ;  V163 tmp148      [V163,T25] (  2, 16   )    long  ->  rdi         "argument with side effect"
 ;  V164 tmp149      [V164,T26] (  2, 16   )    long  ->  rsi         "argument with side effect"
 ;  V165 cse0        [V165,T53] (  3,  5   )    long  ->  [rbp-0x68]  spill-single-def "CSE #08: conservative"
 ;  V166 rat0        [V166,T27] (  4, 12.25)    long  ->  [rbp-0x70]  "Strength reduced derived IV"
 ;  V167 rat1        [V167,T28] (  4, 12.25)     int  ->  [rbp-0x74]  "Trip count IV"
 ;  V168 rat2        [V168,T29] (  4, 12.25)    long  ->   r8         "Strength reduced derived IV"
 ;  V169 rat3        [V169,T30] (  4, 12.25)     int  ->  rdi         "Trip count IV"
 ;  V170 rat4        [V170,T16] (  5, 16.50)    long  ->  [rbp-0x80]  "Widened IV V14"
 ;  V171 rat5        [V171,T17] (  5, 16.50)    long  ->  r12         "Widened IV V12"
 ;
 ; Lcl frame size = 104
 
 G_M11638_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 104
        lea      rbp, [rsp+0x90]
        xor      eax, eax
        mov      qword ptr [rbp-0x50], rax
        mov      qword ptr [rbp-0x58], rax
        mov      r13, rdi
        mov      eax, esi
        mov      r14, rdx
        mov      r12, rcx
        mov      r15, r8
        mov      ebx, r9d
        mov      rcx, bword ptr [rbp+0x10]
 						;; size=53 bbWeight=1 PerfScore 11.50
 G_M11638_IG02:
        xor      edi, edi
        mov      bword ptr [rbp+0x10], rcx
        mov      dword ptr [rcx], edi
        test     eax, eax
        je       G_M11638_IG40
 						;; size=16 bbWeight=1 PerfScore 3.50
 G_M11638_IG03:
        cmp      eax, 1
        je       G_M11638_IG38
        test     ebx, ebx
        je       G_M11638_IG15
        mov      dword ptr [rbp-0x5C], eax
        mov      edx, eax
        sub      edx, 1
        jo       G_M11638_IG46
        imul     edx, dword ptr [r14+0x08]
        jo       G_M11638_IG46
        mov      dword ptr [rbp-0x2C], edx
        test     r12, r12
        je       SHORT G_M11638_IG05
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M11638_IG42
 						;; size=69 bbWeight=0.50 PerfScore 8.75
 G_M11638_IG04:
        mov      rsi, 0xD1FFAB1E      ; data for System.Text.Latin1Encoding:s_default
        cmp      r12, gword ptr [rsi]
        jne      SHORT G_M11638_IG09
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M11638_IG05:
        mov      eax, dword ptr [rbp-0x5C]
        test     eax, eax
        jle      G_M11638_IG13
 						;; size=11 bbWeight=0.50 PerfScore 1.12
 G_M11638_IG06:
        xor      r8d, r8d
        mov      dword ptr [rbp-0x5C], eax
        mov      edi, eax
        align    [4 bytes for IG07]
 						;; size=12 bbWeight=0.25 PerfScore 0.44
 G_M11638_IG07:
        mov      rsi, gword ptr [r8+r13]
        mov      edx, dword ptr [rbp-0x2C]
        add      edx, dword ptr [rsi+0x08]
        jo       G_M11638_IG46
        mov      dword ptr [rbp-0x2C], edx
        add      r8, 8
        dec      edi
        jne      SHORT G_M11638_IG07
 						;; size=27 bbWeight=4 PerfScore 38.00
 G_M11638_IG08:
        mov      byte  ptr [r15], 0
        mov      rdx, r15
        mov      ecx, ebx
        lea      r8, [rbp-0x38]
        mov      edi, dword ptr [rbp-0x2C]
        mov      esi, 7
        mov      r9, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        call     [r9]System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        test     eax, eax
        je       G_M11638_IG15
        mov      eax, dword ptr [rbp-0x38]
        cmp      eax, ebx
        jbe      SHORT G_M11638_IG14
        jmp      G_M11638_IG45
 						;; size=54 bbWeight=0.50 PerfScore 6.00
 G_M11638_IG09:
        mov      eax, dword ptr [rbp-0x5C]
        test     eax, eax
        jg       SHORT G_M11638_IG11
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M11638_IG10:
        mov      dword ptr [rbp-0x5C], eax
        jmp      SHORT G_M11638_IG08
 						;; size=5 bbWeight=0.25 PerfScore 0.75
 G_M11638_IG11:
        xor      r8d, r8d
        mov      dword ptr [rbp-0x5C], eax
        mov      dword ptr [rbp-0x74], eax
 						;; size=9 bbWeight=0.25 PerfScore 0.56
 G_M11638_IG12:
        mov      qword ptr [rbp-0x70], r8
        mov      rsi, gword ptr [r8+r13]
        mov      rdi, r12
        mov      r10, qword ptr [r12]
        mov      r10, qword ptr [r10+0x50]
        call     [r10+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
        mov      edx, eax
        add      edx, dword ptr [rbp-0x2C]
        jo       G_M11638_IG46
        mov      eax, edx
        mov      r8, qword ptr [rbp-0x70]
        add      r8, 8
        mov      r9d, dword ptr [rbp-0x74]
        dec      r9d
        mov      dword ptr [rbp-0x2C], eax
        mov      dword ptr [rbp-0x74], r9d
        jne      SHORT G_M11638_IG12
        jmp      G_M11638_IG08
 						;; size=65 bbWeight=4 PerfScore 85.00
 G_M11638_IG13:
        mov      dword ptr [rbp-0x5C], eax
        jmp      G_M11638_IG08
 						;; size=8 bbWeight=0.25 PerfScore 0.75
 G_M11638_IG14:
        mov      r9d, eax
        add      r15, r9
        sub      ebx, eax
        mov      eax, ebx
        mov      r9d, dword ptr [rbp-0x2C]
        cmp      eax, r9d
        mov      dword ptr [rbp-0x2C], r9d
        jge      SHORT G_M11638_IG17
 						;; size=23 bbWeight=0.50 PerfScore 2.12
 G_M11638_IG15:
        xor      eax, eax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
 G_M11638_IG16:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M11638_IG17:
        mov      eax, dword ptr [rbp-0x5C]
        test     r12, r12
        je       G_M11638_IG26
        mov      r8, gword ptr [r13]
        test     r8, r8
-       je       SHORT G_M11638_IG18
-       lea      rsi, bword ptr [r8+0x0C]
-       mov      edx, dword ptr [r8+0x08]
-       mov      dword ptr [rbp-0x5C], eax
-       jmp      SHORT G_M11638_IG19
-						;; size=34 bbWeight=0.50 PerfScore 5.50
-G_M11638_IG18:
+       jne      SHORT G_M11638_IG18
        xor      rsi, rsi
        xor      edx, edx
        mov      dword ptr [rbp-0x5C], eax
-						;; size=7 bbWeight=0.50 PerfScore 0.75
+       jmp      SHORT G_M11638_IG19
+						;; size=30 bbWeight=0.50 PerfScore 4.50
+G_M11638_IG18:
+       lea      rsi, bword ptr [r8+0x0C]
+       mov      edx, dword ptr [r8+0x08]
+       mov      dword ptr [rbp-0x5C], eax
+						;; size=11 bbWeight=0.50 PerfScore 1.75
 G_M11638_IG19:
        mov      rcx, r15
        mov      r8d, ebx
        mov      rdi, r12
        mov      r10, qword ptr [r12]
        mov      r10, qword ptr [r10+0x58]
        mov      qword ptr [rbp-0x68], r10
        call     [r10+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, ebx
        ja       G_M11638_IG45
        mov      edx, eax
        add      r15, rdx
        sub      ebx, eax
        mov      qword ptr [rbp-0x80], 1
        cmp      dword ptr [rbp-0x5C], 1
        jle      G_M11638_IG24
 						;; size=58 bbWeight=0.50 PerfScore 7.38
 G_M11638_IG20:
        lea      rsi, bword ptr [r14+0x10]
        mov      edx, dword ptr [r14+0x08]
        cmp      edx, ebx
        jg       G_M11638_IG43
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      ecx, dword ptr [r14+0x08]
        cmp      ecx, ebx
        ja       G_M11638_IG45
        mov      r8d, ecx
        add      r8, r15
        mov      esi, ebx
        sub      esi, ecx
        mov      r15, r8
        mov      ebx, esi
        mov      rax, qword ptr [rbp-0x80]
        mov      rcx, gword ptr [r13+8*rax]
        test     rcx, rcx
-       je       SHORT G_M11638_IG22
+       jne      SHORT G_M11638_IG22
 						;; size=72 bbWeight=4 PerfScore 65.00
 G_M11638_IG21:
-       lea      r8, bword ptr [rcx+0x0C]
-       mov      edx, dword ptr [rcx+0x08]
-       mov      rdi, r8
+       xor      rdx, rdx
+       xor      edi, edi
        jmp      SHORT G_M11638_IG23
-						;; size=12 bbWeight=2 PerfScore 9.50
+						;; size=6 bbWeight=2 PerfScore 5.00
 G_M11638_IG22:
-       xor      rdi, rdi
-       xor      edx, edx
-						;; size=4 bbWeight=2 PerfScore 1.00
+       lea      rdx, bword ptr [rcx+0x0C]
+       mov      edi, dword ptr [rcx+0x08]
+						;; size=7 bbWeight=2 PerfScore 5.00
 G_M11638_IG23:
        mov      rcx, r15
        mov      r8d, esi
-       mov      rsi, rdi
+       mov      rsi, rdx
+       mov      edx, edi
        mov      rdi, r12
        mov      r9, qword ptr [rbp-0x68]
        call     [r9+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, ebx
        ja       G_M11638_IG45
        mov      esi, eax
        add      rsi, r15
        sub      ebx, eax
        mov      r15, rsi
        mov      rsi, qword ptr [rbp-0x80]
        inc      esi
        mov      eax, dword ptr [rbp-0x5C]
        cmp      esi, eax
        mov      qword ptr [rbp-0x80], rsi
        jl       G_M11638_IG20
-						;; size=59 bbWeight=4 PerfScore 47.00
+						;; size=61 bbWeight=4 PerfScore 48.00
 G_M11638_IG24:
        mov      r15d, dword ptr [rbp-0x2C]
        mov      eax, r15d
        add      eax, dword ptr [rbp-0x38]
        mov      r15, bword ptr [rbp+0x10]
        mov      dword ptr [r15], eax
        mov      eax, 1
 						;; size=22 bbWeight=0.50 PerfScore 2.75
 G_M11638_IG25:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M11638_IG26:
        mov      dword ptr [rbp-0x5C], eax
        mov      r12, gword ptr [r13]
        mov      rsi, r15
        mov      edx, ebx
        mov      rdi, r12
        mov      r8, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
        call     [r8]System.Net.Http.HPack.HPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
        mov      edx, dword ptr [r12+0x08]
        cmp      edx, ebx
        ja       G_M11638_IG45
        mov      edi, edx
        add      rdi, r15
        sub      ebx, edx
        mov      r15, rdi
        mov      r12d, 1
        cmp      dword ptr [rbp-0x5C], 1
        jle      SHORT G_M11638_IG24
 						;; size=63 bbWeight=0.50 PerfScore 7.25
 G_M11638_IG27:
        lea      rsi, bword ptr [r14+0x10]
        mov      edx, dword ptr [r14+0x08]
        cmp      edx, ebx
        jg       G_M11638_IG43
        mov      rdi, r15
        mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      edi, dword ptr [r14+0x08]
        cmp      edi, ebx
        ja       G_M11638_IG45
        mov      eax, edi
        add      r15, rax
        sub      ebx, edi
        mov      rdi, gword ptr [r13+8*r12]
        mov      rax, rdi
        test     rax, rax
-       je       SHORT G_M11638_IG29
+       jne      SHORT G_M11638_IG29
 						;; size=63 bbWeight=4 PerfScore 59.00
 G_M11638_IG28:
+       xor      rdi, rdi
+       xor      esi, esi
+       mov      gword ptr [rbp-0x88], rax
+       jmp      SHORT G_M11638_IG30
+						;; size=13 bbWeight=2 PerfScore 7.00
+G_M11638_IG29:
        lea      rdi, bword ptr [rax+0x0C]
        mov      gword ptr [rbp-0x88], rax
        mov      esi, dword ptr [rax+0x08]
-       mov      rax, gword ptr [rbp-0x88]
-       jmp      SHORT G_M11638_IG30
-						;; size=23 bbWeight=2 PerfScore 13.00
-G_M11638_IG29:
-       xor      rdi, rdi
-       xor      esi, esi
-						;; size=4 bbWeight=2 PerfScore 1.00
+						;; size=14 bbWeight=2 PerfScore 7.00
 G_M11638_IG30:
        cmp      esi, ebx
        jle      SHORT G_M11638_IG32
 						;; size=4 bbWeight=4 PerfScore 5.00
 G_M11638_IG31:
        mov      ecx, ebx
        mov      r8d, 1
-       mov      gword ptr [rbp-0x88], rax
        mov      dword ptr [rbp-0x44], r8d
        jmp      SHORT G_M11638_IG33
-						;; size=21 bbWeight=2 PerfScore 9.00
+						;; size=14 bbWeight=2 PerfScore 7.00
 G_M11638_IG32:
        mov      ecx, esi
        xor      r8d, r8d
        mov      dword ptr [rbp-0x44], r8d
-       mov      gword ptr [rbp-0x88], rax
-						;; size=16 bbWeight=2 PerfScore 5.00
+						;; size=9 bbWeight=2 PerfScore 3.00
 G_M11638_IG33:
        mov      bword ptr [rbp-0x50], rdi
        mov      bword ptr [rbp-0x58], r15
        mov      rsi, r15
        mov      qword ptr [rbp-0x40], rcx
        mov      rdx, rcx
        mov      r9, 0xD1FFAB1E      ; code for System.Text.Ascii:NarrowUtf16ToAscii(ulong,ulong,ulong):ulong
        call     [r9]System.Text.Ascii:NarrowUtf16ToAscii(ulong,ulong,ulong):ulong
        cmp      rax, qword ptr [rbp-0x40]
        jne      SHORT G_M11638_IG35
 						;; size=37 bbWeight=4 PerfScore 39.00
 G_M11638_IG34:
        mov      r8d, dword ptr [rbp-0x44]
        jmp      SHORT G_M11638_IG36
 						;; size=6 bbWeight=2 PerfScore 6.00
 G_M11638_IG35:
        mov      r8d, 3
 						;; size=6 bbWeight=2 PerfScore 0.50
 G_M11638_IG36:
        xor      rax, rax
        mov      bword ptr [rbp-0x50], rax
 						;; size=6 bbWeight=4 PerfScore 5.00
 G_M11638_IG37:
        mov      bword ptr [rbp-0x58], rax
        cmp      r8d, 3
        je       G_M11638_IG44
        mov      rax, gword ptr [rbp-0x88]
        mov      eax, dword ptr [rax+0x08]
        cmp      eax, ebx
        ja       G_M11638_IG45
        mov      ecx, eax
        add      r15, rcx
        sub      ebx, eax
        inc      r12d
        mov      eax, dword ptr [rbp-0x5C]
        cmp      r12d, eax
        mov      dword ptr [rbp-0x5C], eax
        jl       G_M11638_IG27
        jmp      G_M11638_IG24
 						;; size=62 bbWeight=4 PerfScore 51.00
 G_M11638_IG38:
        mov      rdx, r15
        mov      ecx, ebx
        mov      rdi, gword ptr [r13]
        mov      rsi, r12
        mov      r8, bword ptr [rbp+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        call     [rax]System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        nop      
 						;; size=29 bbWeight=0.50 PerfScore 3.62
 G_M11638_IG39:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M11638_IG40:
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, bword ptr [rbp+0x10]
        mov      rdi, 0xD1FFAB1E      ; ''
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        call     [rax]System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        nop      
 						;; size=34 bbWeight=0.50 PerfScore 2.75
 G_M11638_IG41:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M11638_IG42:
        mov      rdi, 0xD1FFAB1E      ; System.Text.Latin1Encoding
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M11638_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M11638_IG43:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M11638_IG44:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.HttpRequestException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_http_request_invalid_char_encoding():System.String
        call     [rax]System.SR:get_net_http_request_invalid_char_encoding():System.String
        mov      r13, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Exception:.ctor():this
        call     [rax]System.Exception:.ctor():this
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, r13
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=69 bbWeight=0 PerfScore 0.00
 G_M11638_IG45:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M11638_IG46:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1199, prolog size 53, PerfScore 516.38, instruction count 342, allocated bytes for code 1199 (MethodHash=5537d289) for method System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
+; Total bytes of code 1184, prolog size 53, PerfScore 512.88, instruction count 340, allocated bytes for code 1184 (MethodHash=5537d289) for method System.Net.Http.HPack.HPackEncoder:EncodeStringLiterals(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; ============================================================
-15 (-1.29 % of base) - System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
 ; Assembly listing for method System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 20 single block inlinees; 18 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.ReadOnlySpan`1[System.String]>
 ;  V01 arg1         [V01,T08] (  9, 26.50)     ref  ->  r14         class-hnd single-def <ubyte[]>
 ;  V02 arg2         [V02,T11] ( 11, 17   )     ref  ->  r12         class-hnd single-def <System.Text.Encoding>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
 ;  V04 arg4         [V04,T62] (  4,  2   )   byref  ->  [rbp+0x10]  single-def
 ;  V05 loc0         [V05,T12] (  8, 18   )     int  ->  [rbp-0x2C] 
 ;  V06 loc1         [V06    ] (  3,  1.50)     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V07 loc2         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[System.String]>
 ;* V08 loc3         [V08,T75] (  0,  0   )     int  ->  zero-ref   
 ;* V09 loc4         [V09    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;* V10 loc5         [V10    ] (  0,  0   )     ref  ->  zero-ref    class-hnd <System.String>
 ;  V11 loc6         [V11,T14] (  8, 17.50)     ref  ->  [rbp-0x88]  class-hnd <System.String>
 ;* V12 loc7         [V12,T82] (  0,  0   )     int  ->  zero-ref   
 ;  V13 loc8         [V13,T13] (  8, 18   )     int  ->  rax        
 ;* V14 loc9         [V14,T83] (  0,  0   )     int  ->  zero-ref   
 ;# V15 OutArgs      [V15    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V16 tmp1         [V16    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V17 tmp2         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V18 tmp3         [V18,T55] (  4,  4   )     int  ->  rax         "Inlining Arg"
 ;* V19 tmp4         [V19    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V20 tmp5         [V20,T51] (  5,  5   )   byref  ->  r15         single-def "Inlining Arg"
 ;  V21 tmp6         [V21,T36] (  8,  8   )     int  ->  rbx         "Inlining Arg"
 ;  V22 tmp7         [V22,T56] (  4,  4   )     int  ->  rdx         "Inlining Arg"
 ;* V23 tmp8         [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V24 tmp9         [V24,T63] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
 ;  V25 tmp10        [V25,T66] (  2,  2   )     int  ->  rbx         "Inlining Arg"
 ;* V26 tmp11        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V27 tmp12        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V28 tmp13        [V28    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V29 tmp14        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V30 tmp15        [V30    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V31 tmp16        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp17        [V32    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V33 tmp18        [V33,T04] (  4, 32   )     int  ->  rdi         "Inlining Arg"
 ;* V34 tmp19        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V35 tmp20        [V35,T03] (  4, 32   )   byref  ->  r15         "Inlining Arg"
 ;  V36 tmp21        [V36,T02] (  5, 36   )     int  ->  rbx         "Inlining Arg"
 ;* V37 tmp22        [V37    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V38 tmp23        [V38    ] (  0,  0   )     int  ->  zero-ref    ld-addr-op "Inline ldloca(s) first use temp"
 ;* V39 tmp24        [V39    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V40 tmp25        [V40,T84] (  4,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.Net.Http.QPack.QPackEncodingException>
 ;* V41 tmp26        [V41    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V42 tmp27        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V43 tmp28        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V42 tmp27        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V43 tmp28        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V44 tmp29        [V44,T40] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
 ;  V45 tmp30        [V45,T47] (  2,  8   )     int  ->  rsi         "Inlining Arg"
 ;  V46 tmp31        [V46,T38] (  3,  8   )     int  ->   r8         "Inline return value spill temp"
 ;* V47 tmp32        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V48 tmp33        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;  V49 tmp34        [V49,T32] (  4, 12   )    long  ->  [rbp-0x40]  "Inline stloc first use temp"
 ;  V50 tmp35        [V50,T52] (  3,  6   )     int  ->  [rbp-0x44]  "Inline stloc first use temp"
 ;  V51 tmp36        [V51    ] (  2,  8   )   byref  ->  [rbp-0x50]  must-init pinned "Inline stloc first use temp"
 ;  V52 tmp37        [V52    ] (  2,  8   )   byref  ->  [rbp-0x58]  must-init pinned "Inline stloc first use temp"
 ;* V53 tmp38        [V53    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V54 tmp39        [V54    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;* V55 tmp40        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V56 tmp41        [V56    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;  V57 tmp42        [V57,T85] (  2,  0   )     ref  ->  r15         class-hnd exact "Inlining Arg" <System.String>
 ;  V58 tmp43        [V58,T05] (  4, 32   )     int  ->  rax         "Inlining Arg"
 ;* V59 tmp44        [V59    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V60 tmp45        [V60,T18] (  2, 16   )   byref  ->  r15         "Inlining Arg"
 ;  V61 tmp46        [V61,T21] (  2, 16   )     int  ->  rbx         "Inlining Arg"
 ;* V62 tmp47        [V62    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;  V63 tmp48        [V63,T54] (  4,  4   )     ref  ->   r8         class-hnd single-def "Inlining Arg" <System.String>
-;* V64 tmp49        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V65 tmp50        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V64 tmp49        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V65 tmp50        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V66 tmp51        [V66,T64] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V67 tmp52        [V67,T67] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V68 tmp53        [V68    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V69 tmp54        [V69,T65] (  2,  2   )   byref  ->  r15         single-def "Inlining Arg"
 ;  V70 tmp55        [V70,T68] (  2,  2   )     int  ->  rbx         "Inlining Arg"
 ;* V71 tmp56        [V71    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V72 tmp57        [V72    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V73 tmp58        [V73    ] (  0,  0   )  struct (16) zero-ref    "Inlining Arg" <System.Span`1[ubyte]>
 ;* V74 tmp59        [V74    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V75 tmp60        [V75    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V76 tmp61        [V76    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V77 tmp62        [V77    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V78 tmp63        [V78,T06] (  4, 32   )     int  ->  rcx         "Inlining Arg"
 ;* V79 tmp64        [V79    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V80 tmp65        [V80,T19] (  2, 16   )   byref  ->   r8         "Inlining Arg"
 ;  V81 tmp66        [V81,T07] (  3, 24   )     int  ->  rsi         "Inlining Arg"
 ;* V82 tmp67        [V82    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;  V83 tmp68        [V83,T09] (  4, 24   )     ref  ->  rcx         class-hnd "Inlining Arg" <System.String>
-;* V84 tmp69        [V84    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V85 tmp70        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V86 tmp71        [V86,T41] (  2,  8   )   byref  ->   r8         "Inlining Arg"
-;  V87 tmp72        [V87,T48] (  2,  8   )     int  ->  rdx         "Inlining Arg"
+;* V84 tmp69        [V84    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V85 tmp70        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V86 tmp71        [V86,T41] (  2,  8   )   byref  ->  rdx         "Inlining Arg"
+;  V87 tmp72        [V87,T48] (  2,  8   )     int  ->  rdi         "Inlining Arg"
 ;* V88 tmp73        [V88    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V89 tmp74        [V89,T20] (  2, 16   )   byref  ->  rsi         "Inlining Arg"
 ;  V90 tmp75        [V90,T22] (  2, 16   )     int  ->  rbx         "Inlining Arg"
 ;  V91 tmp76        [V91,T10] (  8, 18.50)   byref  ->  r13         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;  V92 tmp77        [V92,T15] ( 12, 13.50)     int  ->  [rbp-0x5C]  single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V93 tmp78        [V93,T01] ( 17, 40.50)   byref  ->  r15         "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V94 tmp79        [V94,T00] ( 20, 49   )     int  ->  rbx         "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V95 tmp80        [V95,T71] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
 ;* V96 tmp81        [V96,T76] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
 ;* V97 tmp82        [V97    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp83        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp84        [V99    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp85       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V101 tmp86       [V101,T81] (  0,  0   )   byref  ->  zero-ref    single-def "field V19._reference (fldOffset=0x0)" P-INDEP
 ;  V102 tmp87       [V102,T77] (  2,  1   )     int  ->  rax         "field V19._length (fldOffset=0x8)" P-INDEP
 ;  V103 tmp88       [V103,T72] (  2,  1   )   byref  ->  r15         single-def "field V23._reference (fldOffset=0x0)" P-INDEP
 ;  V104 tmp89       [V104,T78] (  2,  1   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
 ;  V105 tmp90       [V105,T42] (  2,  8   )   byref  ->  rsi         "field V26._reference (fldOffset=0x0)" P-INDEP
 ;  V106 tmp91       [V106,T33] (  3, 12   )     int  ->  rdx         "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp92       [V107    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp93       [V108    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V109 tmp94       [V109    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V110 tmp95       [V110    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V111 tmp96       [V111    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V112 tmp97       [V112    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V113 tmp98       [V113    ] (  0,  0   )   byref  ->  zero-ref    "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V114 tmp99       [V114    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
 ;* V115 tmp100      [V115    ] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
 ;* V116 tmp101      [V116    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
 ;* V117 tmp102      [V117    ] (  0,  0   )   byref  ->  zero-ref    "field V39._reference (fldOffset=0x0)" P-INDEP
 ;* V118 tmp103      [V118    ] (  0,  0   )     int  ->  zero-ref    "field V39._length (fldOffset=0x8)" P-INDEP
 ;  V119 tmp104      [V119,T31] (  4, 12   )   byref  ->  rdi         "field V41._reference (fldOffset=0x0)" P-INDEP
 ;  V120 tmp105      [V120,T35] (  4, 10   )     int  ->  rsi         "field V41._length (fldOffset=0x8)" P-INDEP
-;  V121 tmp106      [V121,T57] (  2,  4   )   byref  ->  rdi         "field V42._reference (fldOffset=0x0)" P-INDEP
-;  V122 tmp107      [V122,T59] (  2,  4   )     int  ->  rsi         "field V42._length (fldOffset=0x8)" P-INDEP
-;* V123 tmp108      [V123    ] (  0,  0   )   byref  ->  zero-ref    "field V43._reference (fldOffset=0x0)" P-INDEP
-;* V124 tmp109      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
+;* V121 tmp106      [V121    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
+;* V122 tmp107      [V122    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
+;  V123 tmp108      [V123,T57] (  2,  4   )   byref  ->  rdi         "field V43._reference (fldOffset=0x0)" P-INDEP
+;  V124 tmp109      [V124,T59] (  2,  4   )     int  ->  rsi         "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V125 tmp110      [V125    ] (  0,  0   )   byref  ->  zero-ref    "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V126 tmp111      [V126    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V127 tmp112      [V127    ] (  0,  0   )   byref  ->  zero-ref    "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V128 tmp113      [V128    ] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V129 tmp114      [V129    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
 ;* V130 tmp115      [V130    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
 ;* V131 tmp116      [V131    ] (  0,  0   )   byref  ->  zero-ref    "field V56._reference (fldOffset=0x0)" P-INDEP
 ;* V132 tmp117      [V132    ] (  0,  0   )     int  ->  zero-ref    "field V56._length (fldOffset=0x8)" P-INDEP
 ;  V133 tmp118      [V133,T43] (  2,  8   )   byref  ->  r15         "field V59._reference (fldOffset=0x0)" P-INDEP
 ;  V134 tmp119      [V134,T49] (  2,  8   )     int  ->  rbx         "field V59._length (fldOffset=0x8)" P-INDEP
 ;  V135 tmp120      [V135,T69] (  3,  1.50)   byref  ->  rsi         "field V62._reference (fldOffset=0x0)" P-INDEP
 ;  V136 tmp121      [V136,T70] (  3,  1.50)     int  ->  rdx         "field V62._length (fldOffset=0x8)" P-INDEP
-;  V137 tmp122      [V137,T73] (  2,  1   )   byref  ->  rsi         single-def "field V64._reference (fldOffset=0x0)" P-INDEP
-;  V138 tmp123      [V138,T79] (  2,  1   )     int  ->  rdx         "field V64._length (fldOffset=0x8)" P-INDEP
-;* V139 tmp124      [V139    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V65._reference (fldOffset=0x0)" P-INDEP
-;* V140 tmp125      [V140    ] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
+;* V137 tmp122      [V137    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V64._reference (fldOffset=0x0)" P-INDEP
+;* V138 tmp123      [V138    ] (  0,  0   )     int  ->  zero-ref    "field V64._length (fldOffset=0x8)" P-INDEP
+;  V139 tmp124      [V139,T73] (  2,  1   )   byref  ->  rsi         single-def "field V65._reference (fldOffset=0x0)" P-INDEP
+;  V140 tmp125      [V140,T79] (  2,  1   )     int  ->  rdx         "field V65._length (fldOffset=0x8)" P-INDEP
 ;  V141 tmp126      [V141,T74] (  2,  1   )   byref  ->  r15         single-def "field V68._reference (fldOffset=0x0)" P-INDEP
 ;  V142 tmp127      [V142,T80] (  2,  1   )     int  ->  rbx         "field V68._length (fldOffset=0x8)" P-INDEP
 ;  V143 tmp128      [V143,T44] (  2,  8   )   byref  ->  rsi         "field V71._reference (fldOffset=0x0)" P-INDEP
 ;  V144 tmp129      [V144,T34] (  3, 12   )     int  ->  rdx         "field V71._length (fldOffset=0x8)" P-INDEP
 ;* V145 tmp130      [V145    ] (  0,  0   )   byref  ->  zero-ref    "field V72._reference (fldOffset=0x0)" P-INDEP
 ;* V146 tmp131      [V146    ] (  0,  0   )     int  ->  zero-ref    "field V72._length (fldOffset=0x8)" P-INDEP
 ;* V147 tmp132      [V147    ] (  0,  0   )   byref  ->  zero-ref    "field V73._reference (fldOffset=0x0)" P-INDEP
 ;* V148 tmp133      [V148    ] (  0,  0   )     int  ->  zero-ref    "field V73._length (fldOffset=0x8)" P-INDEP
 ;* V149 tmp134      [V149    ] (  0,  0   )   byref  ->  zero-ref    "field V74._reference (fldOffset=0x0)" P-INDEP
 ;* V150 tmp135      [V150    ] (  0,  0   )     int  ->  zero-ref    "field V74._length (fldOffset=0x8)" P-INDEP
 ;  V151 tmp136      [V151,T45] (  2,  8   )   byref  ->  r15         "field V79._reference (fldOffset=0x0)" P-INDEP
 ;* V152 tmp137      [V152,T61] (  0,  0   )     int  ->  zero-ref    "field V79._length (fldOffset=0x8)" P-INDEP
-;  V153 tmp138      [V153,T37] (  3,  8   )   byref  ->  rdi         "field V82._reference (fldOffset=0x0)" P-INDEP
-;  V154 tmp139      [V154,T39] (  3,  8   )     int  ->  rdx         "field V82._length (fldOffset=0x8)" P-INDEP
-;  V155 tmp140      [V155,T58] (  2,  4   )   byref  ->   r8         "field V84._reference (fldOffset=0x0)" P-INDEP
-;  V156 tmp141      [V156,T60] (  2,  4   )     int  ->  rdx         "field V84._length (fldOffset=0x8)" P-INDEP
-;* V157 tmp142      [V157    ] (  0,  0   )   byref  ->  zero-ref    "field V85._reference (fldOffset=0x0)" P-INDEP
-;* V158 tmp143      [V158    ] (  0,  0   )     int  ->  zero-ref    "field V85._length (fldOffset=0x8)" P-INDEP
+;  V153 tmp138      [V153,T37] (  3,  8   )   byref  ->  rdx         "field V82._reference (fldOffset=0x0)" P-INDEP
+;  V154 tmp139      [V154,T39] (  3,  8   )     int  ->  rdi         "field V82._length (fldOffset=0x8)" P-INDEP
+;* V155 tmp140      [V155    ] (  0,  0   )   byref  ->  zero-ref    "field V84._reference (fldOffset=0x0)" P-INDEP
+;* V156 tmp141      [V156    ] (  0,  0   )     int  ->  zero-ref    "field V84._length (fldOffset=0x8)" P-INDEP
+;  V157 tmp142      [V157,T58] (  2,  4   )   byref  ->  rdx         "field V85._reference (fldOffset=0x0)" P-INDEP
+;  V158 tmp143      [V158,T60] (  2,  4   )     int  ->  rdi         "field V85._length (fldOffset=0x8)" P-INDEP
 ;  V159 tmp144      [V159,T46] (  2,  8   )   byref  ->  r15         "field V88._reference (fldOffset=0x0)" P-INDEP
 ;  V160 tmp145      [V160,T50] (  2,  8   )     int  ->  rbx         "field V88._length (fldOffset=0x8)" P-INDEP
 ;  V161 tmp146      [V161,T23] (  2, 16   )    long  ->  rdi         "Cast away GC"
 ;  V162 tmp147      [V162,T24] (  2, 16   )    long  ->  rsi         "Cast away GC"
 ;  V163 tmp148      [V163,T25] (  2, 16   )    long  ->  rdi         "argument with side effect"
 ;  V164 tmp149      [V164,T26] (  2, 16   )    long  ->  rsi         "argument with side effect"
 ;  V165 cse0        [V165,T53] (  3,  5   )    long  ->  [rbp-0x68]  spill-single-def "CSE #08: conservative"
 ;  V166 rat0        [V166,T27] (  4, 12.25)    long  ->  [rbp-0x70]  "Strength reduced derived IV"
 ;  V167 rat1        [V167,T28] (  4, 12.25)     int  ->  [rbp-0x74]  "Trip count IV"
 ;  V168 rat2        [V168,T29] (  4, 12.25)    long  ->   r8         "Strength reduced derived IV"
 ;  V169 rat3        [V169,T30] (  4, 12.25)     int  ->  rdi         "Trip count IV"
 ;  V170 rat4        [V170,T16] (  5, 16.50)    long  ->  [rbp-0x80]  "Widened IV V14"
 ;  V171 rat5        [V171,T17] (  5, 16.50)    long  ->  r12         "Widened IV V12"
 ;
 ; Lcl frame size = 104
 
 G_M6373_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 104
        lea      rbp, [rsp+0x90]
        xor      eax, eax
        mov      qword ptr [rbp-0x50], rax
        mov      qword ptr [rbp-0x58], rax
        mov      r13, rdi
        mov      eax, esi
        mov      r14, rdx
        mov      r12, rcx
        mov      r15, r8
        mov      ebx, r9d
 						;; size=49 bbWeight=1 PerfScore 10.50
 G_M6373_IG02:
        cmp      eax, 1
        je       G_M6373_IG40
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M6373_IG03:
        test     eax, eax
        je       G_M6373_IG38
        test     ebx, ebx
        jle      G_M6373_IG15
        mov      dword ptr [rbp-0x5C], eax
        lea      edx, [rax-0x01]
        imul     edx, dword ptr [r14+0x08]
        mov      dword ptr [rbp-0x2C], edx
        test     r12, r12
        je       SHORT G_M6373_IG05
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M6373_IG42
 						;; size=54 bbWeight=0.50 PerfScore 7.75
 G_M6373_IG04:
        mov      rsi, 0xD1FFAB1E      ; data for System.Text.Latin1Encoding:s_default
        cmp      r12, gword ptr [rsi]
        jne      SHORT G_M6373_IG09
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M6373_IG05:
        mov      eax, dword ptr [rbp-0x5C]
        test     eax, eax
        jle      G_M6373_IG13
 						;; size=11 bbWeight=0.50 PerfScore 1.12
 G_M6373_IG06:
        xor      r8d, r8d
        mov      dword ptr [rbp-0x5C], eax
        mov      edi, eax
        align    [14 bytes for IG07]
 						;; size=22 bbWeight=0.25 PerfScore 0.44
 G_M6373_IG07:
        mov      rsi, gword ptr [r8+r13]
        mov      edx, dword ptr [rbp-0x2C]
        add      edx, dword ptr [rsi+0x08]
        mov      dword ptr [rbp-0x2C], edx
        add      r8, 8
        dec      edi
        jne      SHORT G_M6373_IG07
 						;; size=21 bbWeight=4 PerfScore 34.00
 G_M6373_IG08:
        mov      byte  ptr [r15], 0
        mov      rdx, r15
        mov      ecx, ebx
        lea      r8, [rbp-0x38]
        mov      edi, dword ptr [rbp-0x2C]
        mov      esi, 7
        mov      r9, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        call     [r9]System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        test     eax, eax
        je       SHORT G_M6373_IG15
        mov      eax, dword ptr [rbp-0x38]
        cmp      eax, ebx
        jbe      SHORT G_M6373_IG14
        jmp      G_M6373_IG45
 						;; size=50 bbWeight=0.50 PerfScore 6.00
 G_M6373_IG09:
        mov      eax, dword ptr [rbp-0x5C]
        test     eax, eax
        jg       SHORT G_M6373_IG11
 						;; size=7 bbWeight=0.50 PerfScore 1.12
 G_M6373_IG10:
        mov      dword ptr [rbp-0x5C], eax
        jmp      SHORT G_M6373_IG08
 						;; size=5 bbWeight=0.25 PerfScore 0.75
 G_M6373_IG11:
        xor      r8d, r8d
        mov      dword ptr [rbp-0x5C], eax
        mov      dword ptr [rbp-0x74], eax
 						;; size=9 bbWeight=0.25 PerfScore 0.56
 G_M6373_IG12:
        mov      qword ptr [rbp-0x70], r8
        mov      rsi, gword ptr [r8+r13]
        mov      rdi, r12
        mov      r10, qword ptr [r12]
        mov      r10, qword ptr [r10+0x50]
        call     [r10+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
        mov      edx, eax
        add      edx, dword ptr [rbp-0x2C]
        mov      eax, edx
        mov      r8, qword ptr [rbp-0x70]
        add      r8, 8
        mov      r9d, dword ptr [rbp-0x74]
        dec      r9d
        mov      dword ptr [rbp-0x2C], eax
        mov      dword ptr [rbp-0x74], r9d
        jne      SHORT G_M6373_IG12
        jmp      SHORT G_M6373_IG08
 						;; size=56 bbWeight=4 PerfScore 81.00
 G_M6373_IG13:
        mov      dword ptr [rbp-0x5C], eax
        jmp      G_M6373_IG08
 						;; size=8 bbWeight=0.25 PerfScore 0.75
 G_M6373_IG14:
        mov      r9d, eax
        add      r15, r9
        sub      ebx, eax
        mov      eax, ebx
        mov      r9d, dword ptr [rbp-0x2C]
        cmp      eax, r9d
        mov      dword ptr [rbp-0x2C], r9d
        jge      SHORT G_M6373_IG17
 						;; size=23 bbWeight=0.50 PerfScore 2.12
 G_M6373_IG15:
        xor      eax, eax
        mov      rcx, bword ptr [rbp+0x10]
        mov      dword ptr [rcx], eax
 						;; size=8 bbWeight=0.50 PerfScore 1.12
 G_M6373_IG16:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M6373_IG17:
        mov      eax, dword ptr [rbp-0x5C]
        test     r12, r12
        je       G_M6373_IG26
        mov      r8, gword ptr [r13]
        test     r8, r8
-       je       SHORT G_M6373_IG18
-       lea      rsi, bword ptr [r8+0x0C]
-       mov      edx, dword ptr [r8+0x08]
-       mov      dword ptr [rbp-0x5C], eax
-       jmp      SHORT G_M6373_IG19
-						;; size=34 bbWeight=0.50 PerfScore 5.50
-G_M6373_IG18:
+       jne      SHORT G_M6373_IG18
        xor      rsi, rsi
        xor      edx, edx
        mov      dword ptr [rbp-0x5C], eax
-						;; size=7 bbWeight=0.50 PerfScore 0.75
+       jmp      SHORT G_M6373_IG19
+						;; size=30 bbWeight=0.50 PerfScore 4.50
+G_M6373_IG18:
+       lea      rsi, bword ptr [r8+0x0C]
+       mov      edx, dword ptr [r8+0x08]
+       mov      dword ptr [rbp-0x5C], eax
+						;; size=11 bbWeight=0.50 PerfScore 1.75
 G_M6373_IG19:
        mov      rcx, r15
        mov      r8d, ebx
        mov      rdi, r12
        mov      r10, qword ptr [r12]
        mov      r10, qword ptr [r10+0x58]
        mov      qword ptr [rbp-0x68], r10
        call     [r10+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, ebx
        ja       G_M6373_IG45
        mov      edx, eax
        add      r15, rdx
        sub      ebx, eax
        mov      qword ptr [rbp-0x80], 1
        cmp      dword ptr [rbp-0x5C], 1
        jle      G_M6373_IG24
 						;; size=58 bbWeight=0.50 PerfScore 7.38
 G_M6373_IG20:
        lea      rsi, bword ptr [r14+0x10]
        mov      edx, dword ptr [r14+0x08]
        cmp      edx, ebx
        jg       G_M6373_IG43
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rax]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      ecx, dword ptr [r14+0x08]
        cmp      ecx, ebx
        ja       G_M6373_IG45
        mov      r8d, ecx
        add      r8, r15
        mov      esi, ebx
        sub      esi, ecx
        mov      r15, r8
        mov      ebx, esi
        mov      rax, qword ptr [rbp-0x80]
        mov      rcx, gword ptr [r13+8*rax]
        test     rcx, rcx
-       je       SHORT G_M6373_IG22
+       jne      SHORT G_M6373_IG22
 						;; size=72 bbWeight=4 PerfScore 65.00
 G_M6373_IG21:
-       lea      r8, bword ptr [rcx+0x0C]
-       mov      edx, dword ptr [rcx+0x08]
-       mov      rdi, r8
+       xor      rdx, rdx
+       xor      edi, edi
        jmp      SHORT G_M6373_IG23
-						;; size=12 bbWeight=2 PerfScore 9.50
+						;; size=6 bbWeight=2 PerfScore 5.00
 G_M6373_IG22:
-       xor      rdi, rdi
-       xor      edx, edx
-						;; size=4 bbWeight=2 PerfScore 1.00
+       lea      rdx, bword ptr [rcx+0x0C]
+       mov      edi, dword ptr [rcx+0x08]
+						;; size=7 bbWeight=2 PerfScore 5.00
 G_M6373_IG23:
        mov      rcx, r15
        mov      r8d, esi
-       mov      rsi, rdi
+       mov      rsi, rdx
+       mov      edx, edi
        mov      rdi, r12
        mov      r9, qword ptr [rbp-0x68]
        call     [r9+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, ebx
        ja       G_M6373_IG45
        mov      esi, eax
        add      rsi, r15
        sub      ebx, eax
        mov      r15, rsi
        mov      rsi, qword ptr [rbp-0x80]
        inc      esi
        mov      eax, dword ptr [rbp-0x5C]
        cmp      esi, eax
        mov      qword ptr [rbp-0x80], rsi
        jl       G_M6373_IG20
-						;; size=59 bbWeight=4 PerfScore 47.00
+						;; size=61 bbWeight=4 PerfScore 48.00
 G_M6373_IG24:
        mov      r15d, dword ptr [rbp-0x2C]
        mov      eax, r15d
        add      eax, dword ptr [rbp-0x38]
        mov      r15, bword ptr [rbp+0x10]
        mov      dword ptr [r15], eax
        mov      eax, 1
 						;; size=22 bbWeight=0.50 PerfScore 2.75
 G_M6373_IG25:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M6373_IG26:
        mov      dword ptr [rbp-0x5C], eax
        mov      r12, gword ptr [r13]
        mov      rsi, r15
        mov      edx, ebx
        mov      rdi, r12
        mov      r8, 0xD1FFAB1E      ; code for System.Net.Http.QPack.QPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
        call     [r8]System.Net.Http.QPack.QPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
        mov      edx, dword ptr [r12+0x08]
        cmp      edx, ebx
        ja       G_M6373_IG45
        mov      edi, edx
        add      rdi, r15
        sub      ebx, edx
        mov      r15, rdi
        mov      r12d, 1
        cmp      dword ptr [rbp-0x5C], 1
        jle      SHORT G_M6373_IG24
 						;; size=63 bbWeight=0.50 PerfScore 7.25
 G_M6373_IG27:
        lea      rsi, bword ptr [r14+0x10]
        mov      edx, dword ptr [r14+0x08]
        cmp      edx, ebx
        jg       G_M6373_IG43
        mov      rdi, r15
        mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:Memmove(byref,byref,ulong)
        call     [rcx]System.SpanHelpers:Memmove(byref,byref,ulong)
        mov      edi, dword ptr [r14+0x08]
        cmp      edi, ebx
        ja       G_M6373_IG45
        mov      eax, edi
        add      r15, rax
        sub      ebx, edi
        mov      rdi, gword ptr [r13+8*r12]
        mov      rax, rdi
        test     rax, rax
-       je       SHORT G_M6373_IG29
+       jne      SHORT G_M6373_IG29
 						;; size=63 bbWeight=4 PerfScore 59.00
 G_M6373_IG28:
+       xor      rdi, rdi
+       xor      esi, esi
+       mov      gword ptr [rbp-0x88], rax
+       jmp      SHORT G_M6373_IG30
+						;; size=13 bbWeight=2 PerfScore 7.00
+G_M6373_IG29:
        lea      rdi, bword ptr [rax+0x0C]
        mov      gword ptr [rbp-0x88], rax
        mov      esi, dword ptr [rax+0x08]
-       mov      rax, gword ptr [rbp-0x88]
-       jmp      SHORT G_M6373_IG30
-						;; size=23 bbWeight=2 PerfScore 13.00
-G_M6373_IG29:
-       xor      rdi, rdi
-       xor      esi, esi
-						;; size=4 bbWeight=2 PerfScore 1.00
+						;; size=14 bbWeight=2 PerfScore 7.00
 G_M6373_IG30:
        cmp      esi, ebx
        jle      SHORT G_M6373_IG32
 						;; size=4 bbWeight=4 PerfScore 5.00
 G_M6373_IG31:
        mov      ecx, ebx
        mov      r8d, 1
-       mov      gword ptr [rbp-0x88], rax
        mov      dword ptr [rbp-0x44], r8d
        jmp      SHORT G_M6373_IG33
-						;; size=21 bbWeight=2 PerfScore 9.00
+						;; size=14 bbWeight=2 PerfScore 7.00
 G_M6373_IG32:
        mov      ecx, esi
        xor      r8d, r8d
        mov      dword ptr [rbp-0x44], r8d
-       mov      gword ptr [rbp-0x88], rax
-						;; size=16 bbWeight=2 PerfScore 5.00
+						;; size=9 bbWeight=2 PerfScore 3.00
 G_M6373_IG33:
        mov      bword ptr [rbp-0x50], rdi
        mov      bword ptr [rbp-0x58], r15
        mov      rsi, r15
        mov      qword ptr [rbp-0x40], rcx
        mov      rdx, rcx
        mov      r9, 0xD1FFAB1E      ; code for System.Text.Ascii:NarrowUtf16ToAscii(ulong,ulong,ulong):ulong
        call     [r9]System.Text.Ascii:NarrowUtf16ToAscii(ulong,ulong,ulong):ulong
        cmp      rax, qword ptr [rbp-0x40]
        jne      SHORT G_M6373_IG35
 						;; size=37 bbWeight=4 PerfScore 39.00
 G_M6373_IG34:
        mov      r8d, dword ptr [rbp-0x44]
        jmp      SHORT G_M6373_IG36
 						;; size=6 bbWeight=2 PerfScore 6.00
 G_M6373_IG35:
        mov      r8d, 3
 						;; size=6 bbWeight=2 PerfScore 0.50
 G_M6373_IG36:
        xor      rax, rax
        mov      bword ptr [rbp-0x50], rax
 						;; size=6 bbWeight=4 PerfScore 5.00
 G_M6373_IG37:
        mov      bword ptr [rbp-0x58], rax
        cmp      r8d, 3
        je       G_M6373_IG44
        mov      rax, gword ptr [rbp-0x88]
        mov      eax, dword ptr [rax+0x08]
        cmp      eax, ebx
        ja       G_M6373_IG45
        mov      ecx, eax
        add      r15, rcx
        sub      ebx, eax
        inc      r12d
        mov      eax, dword ptr [rbp-0x5C]
        cmp      r12d, eax
        mov      dword ptr [rbp-0x5C], eax
        jl       G_M6373_IG27
        jmp      G_M6373_IG24
 						;; size=62 bbWeight=4 PerfScore 51.00
 G_M6373_IG38:
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, bword ptr [rbp+0x10]
        mov      rdi, 0xD1FFAB1E      ; ''
        xor      rsi, rsi
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        call     [rax]System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        nop      
 						;; size=34 bbWeight=0.50 PerfScore 2.75
 G_M6373_IG39:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M6373_IG40:
        mov      rdx, r15
        mov      ecx, ebx
        mov      rdi, gword ptr [r13]
        mov      rsi, r12
        mov      r8, bword ptr [rbp+0x10]
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        call     [rax]System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
        nop      
 						;; size=29 bbWeight=0.50 PerfScore 3.62
 G_M6373_IG41:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M6373_IG42:
        mov      rdi, 0xD1FFAB1E      ; System.Text.Latin1Encoding
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M6373_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M6373_IG43:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M6373_IG44:
        mov      rdi, 0xD1FFAB1E      ; System.Net.Http.QPack.QPackEncodingException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_net_http_request_invalid_char_encoding():System.String
        call     [rax]System.SR:get_net_http_request_invalid_char_encoding():System.String
        mov      r15, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Exception:.ctor():this
        call     [rax]System.Exception:.ctor():this
        lea      rdi, bword ptr [rbx+0x10]
        mov      rsi, r15
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=69 bbWeight=0 PerfScore 0.00
 G_M6373_IG45:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1164, prolog size 49, PerfScore 505.12, instruction count 333, allocated bytes for code 1164 (MethodHash=9010e71a) for method System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
+; Total bytes of code 1149, prolog size 49, PerfScore 501.62, instruction count 331, allocated bytes for code 1149 (MethodHash=9010e71a) for method System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.ReadOnlySpan`1[System.String],ubyte[],System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; ============================================================
-15 (-5.49 % of base) - System.Threading.CancellationToken:Register(System.Delegate,System.Object,ubyte,ubyte):System.Threading.CancellationTokenRegistration:this
 ; Assembly listing for method System.Threading.CancellationToken:Register(System.Delegate,System.Object,ubyte,ubyte):System.Threading.CancellationTokenRegistration:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 1 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T01] (  3,  3   )   byref  ->  r15         this single-def
 ;  V01 arg1         [V01,T00] (  4,  3.50)     ref  ->  rbx         class-hnd single-def <System.Delegate>
 ;  V02 arg2         [V02,T02] (  3,  2.50)     ref  ->  r14         class-hnd single-def <System.Object>
 ;  V03 arg3         [V03,T03] (  3,  2.50)   ubyte  ->  r13         single-def
 ;  V04 arg4         [V04,T04] (  3,  2.50)   ubyte  ->  r12         single-def
 ;  V05 loc0         [V05,T07] (  3,  2.50)     ref  ->  r15         class-hnd single-def <System.Threading.CancellationTokenSource>
 ;* V06 loc1         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op <System.Threading.CancellationTokenRegistration>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V09 tmp2         [V09    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V10 tmp3         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp4         [V11    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V12 tmp5         [V12    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V13 tmp6         [V13    ] (  0,  0   )     ref  ->  zero-ref   
 ;  V14 tmp7         [V14,T11] (  3,  1.50)     ref  ->  r13        
 ;* V15 tmp8         [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp9         [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V17 tmp10        [V17    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V19 tmp12        [V19    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V20 tmp13        [V20    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V21 tmp14        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V22 tmp15        [V22    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V23 tmp16        [V23,T12] (  3,  1.50)     ref  ->  rax        
 ;  V24 tmp17        [V24,T10] (  2,  2   )     ref  ->  rax         class-hnd exact single-def "dup spill" <System.Threading.Thread>
 ;  V25 tmp18        [V25,T08] (  4,  2   )     ref  ->  rax        
 ;  V26 tmp19        [V26,T13] (  2,  1   )     ref  ->  rax         single-def "field V06._node (fldOffset=0x0)" P-INDEP
 ;  V27 tmp20        [V27,T14] (  2,  1   )    long  ->  rdx         "field V06._id (fldOffset=0x8)" P-INDEP
 ;  V28 tmp21        [V28,T15] (  2,  1   )  struct (16) [rbp-0x38]  do-not-enreg[SR] multireg-ret must-init "Return value temp for multi-reg return (rejected tail call)." <System.Threading.CancellationTokenRegistration>
 ;  V29 rat0         [V29,T09] (  3,  2   )   byref  ->  rax         "TLS field access"
 ;  V30 rat1         [V30,T06] (  3,  3   )    long  ->  rax         "TLS access"
 ;  V31 rat2         [V31,T05] (  3,  3   )   byref  ->  rax         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 24
 
 G_M51353_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        lea      rbp, [rsp+0x40]
        xor      eax, eax
        mov      qword ptr [rbp-0x38], rax
        mov      r15, rdi
        mov      rbx, rsi
        mov      r14, rdx
        mov      r13d, ecx
        mov      r12d, r8d
 						;; size=40 bbWeight=1 PerfScore 9.25
 G_M51353_IG02:
        mov      rdi, rbx
        mov      rsi, 0xD1FFAB1E      ; 'callback'
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        call     [rax]System.ArgumentNullException:ThrowIfNull(System.Object,System.String)
        mov      r15, gword ptr [r15]
        test     r15, r15
-       je       G_M51353_IG11
-						;; size=37 bbWeight=1 PerfScore 7.00
+       jne      SHORT G_M51353_IG05
+						;; size=33 bbWeight=1 PerfScore 7.00
 G_M51353_IG03:
+       xor      rax, rax
+       xor      edx, edx
+						;; size=4 bbWeight=0.50 PerfScore 0.25
+G_M51353_IG04:
+       add      rsp, 24
+       pop      rbx
+       pop      r12
+       pop      r13
+       pop      r14
+       pop      r15
+       pop      rbp
+       ret      
+						;; size=15 bbWeight=0.50 PerfScore 2.12
+G_M51353_IG05:
        test     r13b, r13b
-       je       SHORT G_M51353_IG06
+       je       SHORT G_M51353_IG08
        mov      rdi, 0xD1FFAB1E
        mov      rax, 0xD1FFAB1E      ; function address
        call     rax
        cmp      dword ptr [rax], 3
-       jle      G_M51353_IG13
+       jle      SHORT G_M51353_IG13
        mov      rdi, gword ptr [rax+0x08]
        mov      rax, bword ptr [rdi+0x18]
        test     rax, rax
-       je       G_M51353_IG13
-						;; size=53 bbWeight=0.50 PerfScore 7.00
-G_M51353_IG04:
+       je       SHORT G_M51353_IG13
+						;; size=45 bbWeight=0.50 PerfScore 7.00
+G_M51353_IG06:
        mov      rax, gword ptr [rax+0x10]
        test     rax, rax
-       jne      SHORT G_M51353_IG05
+       jne      SHORT G_M51353_IG07
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Thread:InitializeCurrentThread():System.Threading.Thread
        call     [rax]System.Threading.Thread:InitializeCurrentThread():System.Threading.Thread
 						;; size=21 bbWeight=0.50 PerfScore 3.25
-G_M51353_IG05:
+G_M51353_IG07:
        mov      r13, gword ptr [rax+0x10]
-       jmp      SHORT G_M51353_IG07
+       jmp      SHORT G_M51353_IG09
 						;; size=6 bbWeight=0.50 PerfScore 2.00
-G_M51353_IG06:
+G_M51353_IG08:
        xor      r13, r13
 						;; size=3 bbWeight=0.50 PerfScore 0.12
-G_M51353_IG07:
+G_M51353_IG09:
        test     r12b, r12b
-       je       SHORT G_M51353_IG08
+       je       SHORT G_M51353_IG10
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
        call     [rax]System.Threading.ExecutionContext:Capture():System.Threading.ExecutionContext
-       jmp      SHORT G_M51353_IG09
+       jmp      SHORT G_M51353_IG11
 						;; size=19 bbWeight=0.50 PerfScore 3.25
-G_M51353_IG08:
+G_M51353_IG10:
        xor      rax, rax
 						;; size=2 bbWeight=0.50 PerfScore 0.12
-G_M51353_IG09:
+G_M51353_IG11:
        mov      rdi, r15
        mov      rsi, rbx
        mov      rdx, r14
        mov      rcx, r13
        mov      r8, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.CancellationTokenSource:Register(System.Delegate,System.Object,System.Threading.SynchronizationContext,System.Threading.ExecutionContext):System.Threading.CancellationTokenRegistration:this
        call     [rax]System.Threading.CancellationTokenSource:Register(System.Delegate,System.Object,System.Threading.SynchronizationContext,System.Threading.ExecutionContext):System.Threading.CancellationTokenRegistration:this
        mov      gword ptr [rbp-0x38], rax
        mov      qword ptr [rbp-0x30], rdx
        mov      rax, gword ptr [rbp-0x38]
        mov      rdx, qword ptr [rbp-0x30]
 						;; size=43 bbWeight=0.50 PerfScore 4.25
-G_M51353_IG10:
-       add      rsp, 24
-       pop      rbx
-       pop      r12
-       pop      r13
-       pop      r14
-       pop      r15
-       pop      rbp
-       ret      
-						;; size=15 bbWeight=0.50 PerfScore 2.12
-G_M51353_IG11:
-       xor      rax, rax
-       xor      edx, edx
-						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M51353_IG12:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M51353_IG13:
        mov      edi, 3
        call     CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
-       jmp      G_M51353_IG04
-						;; size=15 bbWeight=0 PerfScore 0.00
+       jmp      SHORT G_M51353_IG06
+						;; size=12 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 273, prolog size 25, PerfScore 40.75, instruction count 79, allocated bytes for code 273 (MethodHash=02473766) for method System.Threading.CancellationToken:Register(System.Delegate,System.Object,ubyte,ubyte):System.Threading.CancellationTokenRegistration:this (FullOpts)
+; Total bytes of code 258, prolog size 25, PerfScore 40.75, instruction count 79, allocated bytes for code 258 (MethodHash=02473766) for method System.Threading.CancellationToken:Register(System.Delegate,System.Object,ubyte,ubyte):System.Threading.CancellationTokenRegistration:this (FullOpts)
 ; ============================================================
-14 (-2.67 % of base) - System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action
 ; Assembly listing for method System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rbx         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V01 arg1         [V01,T01] (  4,  3.50)     ref  ->  r15         class-hnd single-def <System.Action>
 ;  V02 loc0         [V02,T08] (  3,  2.50)     ref  ->  r14         class-hnd exact single-def <System.Threading.Tasks.TplEventSource>
 ;  V03 loc1         [V03,T09] (  4,  2   )     ref  ->  r13         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V04 loc2         [V04,T11] (  3,  1.50)     ref  ->  r12         class-hnd single-def <System.Threading.Tasks.Task>
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V06 tmp1         [V06,T03] (  2,  4   )     ref  ->  rsi         class-hnd single-def "dup spill" <System.Action`2[System.Action,System.Threading.Tasks.Task]>
 ;* V07 tmp2         [V07    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V08 tmp3         [V08,T04] (  4,  3.50)     ref  ->  rsi        
 ;  V09 tmp4         [V09,T02] (  5,  5   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.Action`2[System.Action,System.Threading.Tasks.Task]>
 ;* V10 tmp5         [V10    ] (  0,  0   )     ref  ->  zero-ref   
 ;* V11 tmp6         [V11    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V12 tmp7         [V12,T12] (  3,  1.50)     int  ->  [rbp-0x2C] 
 ;* V13 tmp8         [V13    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V14 tmp9         [V14    ] (  0,  0   )     int  ->  zero-ref   
 ;* V15 tmp10        [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp11        [V16    ] (  0,  0   )     int  ->  zero-ref   
-;  V17 tmp12        [V17,T13] (  3,  1.50)     int  ->  [rbp-0x30] 
+;  V17 tmp12        [V17,T13] (  3,  1.50)     int  ->  registers  
 ;* V18 tmp13        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V19 tmp14        [V19    ] (  0,  0   )     int  ->  zero-ref   
 ;* V20 tmp15        [V20    ] (  0,  0   )     int  ->  zero-ref   
-;  V21 tmp16        [V21,T15] (  2,  1   )     int  ->  [rbp-0x34]  spill-single-def
+;  V21 tmp16        [V21,T15] (  2,  1   )     int  ->  [rbp-0x30]  spill-single-def
 ;* V22 tmp17        [V22    ] (  0,  0   )     int  ->  zero-ref   
 ;* V23 tmp18        [V23    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V24 tmp19        [V24    ] (  0,  0   )     int  ->  zero-ref   
 ;* V25 tmp20        [V25    ] (  0,  0   )     int  ->  zero-ref   
 ;* V26 tmp21        [V26    ] (  0,  0   )     int  ->  zero-ref   
 ;* V27 tmp22        [V27    ] (  0,  0   )     int  ->  zero-ref   
-;  V28 tmp23        [V28,T14] (  3,  1.50)     int  ->  registers  
+;  V28 tmp23        [V28,T14] (  3,  1.50)     int  ->   r9        
 ;  V29 tmp24        [V29,T05] (  3,  3   )     ref  ->  rsi         class-hnd exact single-def "Inlining Arg" <System.Runtime.CompilerServices.TaskAwaiter+<>c>
 ;* V30 cse0         [V30,T16] (  0,  0   )   byref  ->  zero-ref    "CSE #02: moderate"
 ;  V31 rat0         [V31,T10] (  3,  2   )   byref  ->  rax         "TLS field access"
 ;  V32 rat1         [V32,T07] (  3,  3   )    long  ->  rax         "TLS access"
 ;  V33 rat2         [V33,T06] (  3,  3   )   byref  ->  rax         "ThreadStaticBlockBase access"
 ;
-; Lcl frame size = 24
+; Lcl frame size = 8
 
 G_M51686_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
-       sub      rsp, 24
-       lea      rbp, [rsp+0x40]
+       push     rax
+       lea      rbp, [rsp+0x30]
        mov      rbx, rdi
        mov      r15, rsi
-						;; size=25 bbWeight=1 PerfScore 7.25
+						;; size=22 bbWeight=1 PerfScore 8.00
 G_M51686_IG02:
        mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.Task:s_asyncDebuggingEnabled
        cmp      byte  ptr [rdi], 0
        je       SHORT G_M51686_IG04
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M51686_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:AddToActiveTasks(System.Threading.Tasks.Task):ubyte
        call     [rax]System.Threading.Tasks.Task:AddToActiveTasks(System.Threading.Tasks.Task):ubyte
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M51686_IG04:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r14, gword ptr [rdi]
        cmp      byte  ptr [r14+0x9D], 0
        je       G_M51686_IG11
 						;; size=27 bbWeight=1 PerfScore 6.25
 G_M51686_IG05:
        mov      rdi, 0xD1FFAB1E
        mov      rax, 0xD1FFAB1E      ; function address
        call     rax
        cmp      dword ptr [rax], 30
        jle      G_M51686_IG16
        mov      rdi, gword ptr [rax+0x08]
        mov      rax, bword ptr [rdi+0xF0]
        test     rax, rax
        je       G_M51686_IG16
 						;; size=51 bbWeight=0.50 PerfScore 6.38
 G_M51686_IG06:
        mov      r13, gword ptr [rax+0x10]
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:TryGetContinuationTask(System.Action):System.Threading.Tasks.Task
        call     [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:TryGetContinuationTask(System.Action):System.Threading.Tasks.Task
        mov      r12, rax
        test     r13, r13
-       jne      SHORT G_M51686_IG07
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rdi, gword ptr [rdi]
-       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
-       call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
-       mov      r13d, eax
-       xor      edi, edi
-       mov      dword ptr [rbp-0x30], edi
-       jmp      SHORT G_M51686_IG08
-						;; size=62 bbWeight=0.50 PerfScore 8.00
-G_M51686_IG07:
+       je       SHORT G_M51686_IG07
        mov      rdi, gword ptr [r13+0x18]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
        mov      dword ptr [rbp-0x2C], eax
        mov      rdi, r13
        mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        call     [rcx]System.Threading.Tasks.Task:get_Id():int:this
        mov      r13d, eax
-       mov      dword ptr [rbp-0x30], r13d
-       mov      r13d, dword ptr [rbp-0x2C]
-						;; size=47 bbWeight=0.50 PerfScore 7.50
+       jmp      SHORT G_M51686_IG08
+						;; size=68 bbWeight=0.50 PerfScore 11.00
+G_M51686_IG07:
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rdi, gword ptr [rdi]
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
+       call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
+       mov      r13d, eax
+       xor      eax, eax
+       mov      dword ptr [rbp-0x2C], r13d
+       mov      r13d, eax
+						;; size=37 bbWeight=0.50 PerfScore 3.62
 G_M51686_IG08:
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        cmp      dword ptr [rdi], edi
-       call     [rcx]System.Threading.Tasks.Task:get_Id():int:this
-       mov      dword ptr [rbp-0x34], eax
+       call     [rax]System.Threading.Tasks.Task:get_Id():int:this
+       mov      dword ptr [rbp-0x30], eax
        test     r12, r12
-       je       SHORT G_M51686_IG09
+       jne      SHORT G_M51686_IG09
+       xor      r9d, r9d
+       jmp      SHORT G_M51686_IG10
+						;; size=30 bbWeight=0.50 PerfScore 5.50
+G_M51686_IG09:
        mov      rdi, r12
        mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        call     [rcx]System.Threading.Tasks.Task:get_Id():int:this
        mov      r9d, eax
-       mov      eax, dword ptr [rbp-0x34]
-       jmp      SHORT G_M51686_IG10
-						;; size=48 bbWeight=0.50 PerfScore 7.75
-G_M51686_IG09:
-       mov      eax, dword ptr [rbp-0x34]
-       xor      edi, edi
-       xor      r9d, r9d
-						;; size=8 bbWeight=0.50 PerfScore 0.75
+						;; size=18 bbWeight=0.50 PerfScore 1.88
 G_M51686_IG10:
        mov      rdi, r14
-       mov      esi, r13d
-       mov      edx, dword ptr [rbp-0x30]
-       mov      ecx, eax
+       mov      esi, dword ptr [rbp-0x2C]
+       mov      edx, r13d
+       mov      ecx, dword ptr [rbp-0x30]
        mov      r8d, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TplEventSource:TaskWaitBegin(int,int,int,int,int):this
        call     [rax]System.Threading.Tasks.TplEventSource:TaskWaitBegin(int,int,int,int,int):this
-						;; size=29 bbWeight=0.50 PerfScore 2.62
+						;; size=30 bbWeight=0.50 PerfScore 3.00
 G_M51686_IG11:
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M51686_IG17
 						;; size=19 bbWeight=1 PerfScore 4.25
 G_M51686_IG12:
        mov      rdi, 0xD1FFAB1E      ; data for System.Runtime.CompilerServices.TaskAwaiter+<>c:<>9__12_0
        mov      rsi, gword ptr [rdi]
        test     rsi, rsi
        jne      SHORT G_M51686_IG14
 						;; size=18 bbWeight=1 PerfScore 3.50
 G_M51686_IG13:
        mov      rdi, 0xD1FFAB1E      ; System.Action`2[System.Action,System.Threading.Tasks.Task]
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; data for System.Runtime.CompilerServices.TaskAwaiter+<>c:<>9
        mov      rsi, gword ptr [rdi]
        test     rsi, rsi
        je       SHORT G_M51686_IG18
        lea      rdi, bword ptr [r14+0x08]
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.TaskAwaiter+<>c:<OutputWaitEtwEvents>b__12_0(System.Action,System.Threading.Tasks.Task):this
        mov      qword ptr [r14+0x18], rdi
        mov      rdi, 0xD1FFAB1E      ; data for System.Runtime.CompilerServices.TaskAwaiter+<>c:<>9__12_0
        mov      rsi, r14
        call     CORINFO_HELP_ASSIGN_REF
        mov      rsi, r14
 						;; size=80 bbWeight=0.50 PerfScore 4.75
 G_M51686_IG14:
        mov      rdi, r15
        mov      rdx, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Runtime.CompilerServices.AsyncMethodBuilderCore:CreateContinuationWrapper(System.Action,System.Action`2[System.Action,System.Threading.Tasks.Task],System.Threading.Tasks.Task):System.Action
 						;; size=16 bbWeight=1 PerfScore 0.75
 G_M51686_IG15:
-       add      rsp, 24
+       add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        tail.jmp [rax]System.Runtime.CompilerServices.AsyncMethodBuilderCore:CreateContinuationWrapper(System.Action,System.Action`2[System.Action,System.Threading.Tasks.Task],System.Threading.Tasks.Task):System.Action
 						;; size=17 bbWeight=1 PerfScore 5.25
 G_M51686_IG16:
        mov      edi, 30
        call     CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
        jmp      G_M51686_IG06
 						;; size=15 bbWeight=0 PerfScore 0.00
 G_M51686_IG17:
        mov      rdi, 0xD1FFAB1E      ; System.Runtime.CompilerServices.TaskAwaiter+<>c
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M51686_IG12
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M51686_IG18:
        mov      rax, 0xD1FFAB1E      ; code for System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
        call     [rax]System.MulticastDelegate:ThrowNullThisInDelegateToInstance()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 525, prolog size 25, PerfScore 71.00, instruction count 120, allocated bytes for code 525 (MethodHash=5a793619) for method System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action (FullOpts)
+; Total bytes of code 511, prolog size 22, PerfScore 70.12, instruction count 116, allocated bytes for code 511 (MethodHash=5a793619) for method System.Runtime.CompilerServices.TaskAwaiter:OutputWaitEtwEvents(System.Threading.Tasks.Task,System.Action):System.Action (FullOpts)
 ; ============================================================
-11 (-1.15 % of base) - System.Threading.Tasks.Task:InternalWaitCore(int,System.Threading.CancellationToken):ubyte:this
 ; Assembly listing for method System.Threading.Tasks.Task:InternalWaitCore(int,System.Threading.CancellationToken):ubyte:this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 14 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 this         [V00,T00] ( 10,  6.50)     ref  ->  [rbp-0x38]  this class-hnd single-def <System.Threading.Tasks.Task>
 ;  V01 arg1         [V01,T02] (  4,  3   )     int  ->  r15         single-def
 ;* V02 arg2         [V02    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op single-def <System.Threading.CancellationToken>
 ;  V03 loc0         [V03,T20] (  3,  1.50)   ubyte  ->  r15        
 ;  V04 loc1         [V04,T01] ( 10,  5   )     ref  ->  [rbp-0x40]  class-hnd exact spill-single-def <System.Threading.Tasks.TplEventSource>
 ;  V05 loc2         [V05,T09] (  4,  2   )     ref  ->  [rbp-0x48]  class-hnd spill-single-def <System.Threading.Tasks.Task>
 ;  V06 loc3         [V06,T10] (  4,  2   )     ref  ->  r14         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V07 OutArgs      [V07    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V08 tmp1         [V08,T06] (  3,  3   )     int  ->  r12         "dup spill"
 ;* V09 tmp2         [V09    ] (  0,  0   )     int  ->  zero-ref   
 ;* V10 tmp3         [V10    ] (  0,  0   )     int  ->  zero-ref   
 ;* V11 tmp4         [V11    ] (  0,  0   )     int  ->  zero-ref   
 ;  V12 tmp5         [V12,T13] (  2,  2   )     int  ->  r14         "impAppendStmt"
 ;* V13 tmp6         [V13    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V14 tmp7         [V14    ] (  0,  0   )     int  ->  zero-ref    "impAppendStmt"
 ;* V15 tmp8         [V15    ] (  0,  0   )     int  ->  zero-ref   
 ;* V16 tmp9         [V16    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V17 tmp10        [V17    ] (  0,  0   )     int  ->  zero-ref   
 ;* V18 tmp11        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V19 tmp12        [V19,T21] (  3,  1.50)     int  ->  [rbp-0x2C] 
 ;* V20 tmp13        [V20    ] (  0,  0   )     int  ->  zero-ref   
 ;* V21 tmp14        [V21    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V22 tmp15        [V22    ] (  0,  0   )     int  ->  zero-ref   
 ;* V23 tmp16        [V23    ] (  0,  0   )     int  ->  zero-ref   
 ;* V24 tmp17        [V24    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V25 tmp18        [V25    ] (  0,  0   )     int  ->  zero-ref   
 ;  V26 tmp19        [V26,T22] (  3,  1.50)     int  ->  [rbp-0x30] 
 ;* V27 tmp20        [V27    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V28 tmp21        [V28    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V29 tmp22        [V29,T14] (  2,  2   )     int  ->  r13         "Inlining Arg"
 ;* V30 tmp23        [V30    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V31 tmp24        [V31,T03] (  3,  2   )     ref  ->  [rbp-0x50]  single-def "field V02._source (fldOffset=0x0)" P-INDEP
 ;  V32 tmp25        [V32,T15] (  2,  2   )     int  ->  rcx         "argument with side effect"
 ;  V33 tmp26        [V33,T16] (  2,  2   )     int  ->  r13         "argument with side effect"
 ;  V34 tmp27        [V34,T17] (  2,  2   )     int  ->  r14         "argument with side effect"
 ;  V35 tmp28        [V35,T18] (  2,  2   )     int  ->  rcx         "argument with side effect"
 ;  V36 tmp29        [V36,T19] (  2,  2   )     int  ->  rsi         "argument with side effect"
 ;  V37 cse0         [V37,T23] (  3,  1.50)     int  ->  rsi         "CSE #05: moderate"
 ;  V38 rat0         [V38,T11] (  3,  2   )   byref  ->  rax         "TLS field access"
 ;  V39 rat1         [V39,T07] (  3,  3   )    long  ->  rax         "TLS access"
 ;  V40 rat2         [V40,T04] (  3,  3   )   byref  ->  rax         "ThreadStaticBlockBase access"
 ;  V41 rat3         [V41,T12] (  3,  2   )   byref  ->  rax         "TLS field access"
 ;  V42 rat4         [V42,T08] (  3,  3   )    long  ->  rax         "TLS access"
 ;  V43 rat5         [V43,T05] (  3,  3   )   byref  ->  rax         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 56
 
 G_M24641_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 56
        vzeroupper 
        lea      rbp, [rsp+0x60]
        mov      gword ptr [rbp-0x50], rdx
        mov      rbx, rdi
        mov      r15d, esi
 						;; size=32 bbWeight=1 PerfScore 9.25
 G_M24641_IG02:
        test     dword ptr [rbx+0x34], 0xD1FFAB1E
        jne      G_M24641_IG25
 						;; size=13 bbWeight=1 PerfScore 4.00
 G_M24641_IG03:
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M24641_IG27
 						;; size=19 bbWeight=0.50 PerfScore 2.12
 G_M24641_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.TplEventSource:Log
        mov      r13, gword ptr [rdi]
        mov      gword ptr [rbp-0x40], r13
        movzx    r12, byte  ptr [r13+0x9D]
        test     r12d, r12d
-       je       G_M24641_IG12
+       je       SHORT G_M24641_IG06
        mov      rdi, 0xD1FFAB1E
        mov      rax, 0xD1FFAB1E      ; function address
        call     rax
        cmp      dword ptr [rax], 30
        jle      G_M24641_IG28
        mov      rdi, gword ptr [rax+0x08]
        mov      rax, bword ptr [rdi+0xF0]
        test     rax, rax
        je       G_M24641_IG28
-						;; size=85 bbWeight=0.50 PerfScore 9.62
+						;; size=81 bbWeight=0.50 PerfScore 9.62
 G_M24641_IG05:
        mov      rax, gword ptr [rax+0x10]
        mov      gword ptr [rbp-0x48], rax
        test     rax, rax
-       jne      G_M24641_IG13
+       je       SHORT G_M24641_IG07
+       mov      rdi, gword ptr [rax+0x18]
+       mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
+       cmp      dword ptr [rdi], edi
+       call     [rcx]System.Threading.Tasks.TaskScheduler:get_Id():int:this
+       mov      dword ptr [rbp-0x2C], eax
+       mov      rdi, gword ptr [rbp-0x48]
+       mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
+       call     [rcx]System.Threading.Tasks.Task:get_Id():int:this
+       mov      dword ptr [rbp-0x30], eax
+       jmp      SHORT G_M24641_IG09
+						;; size=55 bbWeight=0.50 PerfScore 10.38
+G_M24641_IG06:
+       mov      gword ptr [rbp-0x38], rbx
+       jmp      SHORT G_M24641_IG10
+						;; size=6 bbWeight=0.25 PerfScore 0.75
+G_M24641_IG07:
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M24641_IG29
-						;; size=36 bbWeight=0.50 PerfScore 4.25
-G_M24641_IG06:
+						;; size=19 bbWeight=0.50 PerfScore 2.12
+G_M24641_IG08:
        mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.TaskScheduler:s_defaultTaskScheduler
        mov      rdi, gword ptr [rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
-       xor      edi, edi
-       mov      dword ptr [rbp-0x30], edi
+       xor      ecx, ecx
        mov      dword ptr [rbp-0x2C], eax
+       mov      dword ptr [rbp-0x30], ecx
 						;; size=35 bbWeight=0.50 PerfScore 5.38
-G_M24641_IG07:
+G_M24641_IG09:
        mov      gword ptr [rbp-0x38], rbx
        mov      rdi, rbx
        mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        call     [rcx]System.Threading.Tasks.Task:get_Id():int:this
        mov      ecx, eax
        mov      esi, dword ptr [rbp-0x2C]
        mov      edx, dword ptr [rbp-0x30]
        mov      rdi, r13
        mov      r8d, 1
        xor      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TplEventSource:TaskWaitBegin(int,int,int,int,int):this
        call     [rax]System.Threading.Tasks.TplEventSource:TaskWaitBegin(int,int,int,int,int):this
 						;; size=51 bbWeight=0.50 PerfScore 5.38
-G_M24641_IG08:
+G_M24641_IG10:
        mov      rax, 0xD1FFAB1E      ; global ptr
        cmp      dword ptr [rax], 0
        jne      G_M24641_IG30
 						;; size=19 bbWeight=0.50 PerfScore 2.12
-G_M24641_IG09:
+G_M24641_IG11:
        mov      rax, 0xD1FFAB1E      ; function address
 						;; size=10 bbWeight=0.50 PerfScore 0.12
-G_M24641_IG10:
+G_M24641_IG12:
        call     rax ; System.Diagnostics.Debugger:IsManagedDebuggerAttached():int
        test     eax, eax
-       je       SHORT G_M24641_IG11
+       je       SHORT G_M24641_IG13
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Debugger:<NotifyOfCrossThreadDependency>g__NotifyOfCrossThreadDependencySlow|4_0()
        call     [rax]System.Diagnostics.Debugger:<NotifyOfCrossThreadDependency>g__NotifyOfCrossThreadDependencySlow|4_0()
 						;; size=18 bbWeight=0.50 PerfScore 3.75
-G_M24641_IG11:
+G_M24641_IG13:
        cmp      r15d, -1
        jne      SHORT G_M24641_IG14
        mov      r14, gword ptr [rbp-0x50]
        test     r14, r14
        jne      SHORT G_M24641_IG15
        mov      rdi, gword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:WrappedTryRunInline():ubyte:this
        call     [rax]System.Threading.Tasks.Task:WrappedTryRunInline():ubyte:this
        test     eax, eax
        je       SHORT G_M24641_IG16
        mov      rbx, gword ptr [rbp-0x38]
        test     dword ptr [rbx+0x34], 0xD1FFAB1E
        je       SHORT G_M24641_IG17
        mov      r15d, 1
        jmp      SHORT G_M24641_IG18
 						;; size=56 bbWeight=0.50 PerfScore 8.12
-G_M24641_IG12:
-       mov      gword ptr [rbp-0x38], rbx
-       jmp      SHORT G_M24641_IG08
-						;; size=6 bbWeight=0.25 PerfScore 0.75
-G_M24641_IG13:
-       mov      rdi, gword ptr [rax+0x18]
-       mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
-       cmp      dword ptr [rdi], edi
-       call     [rcx]System.Threading.Tasks.TaskScheduler:get_Id():int:this
-       mov      dword ptr [rbp-0x2C], eax
-       mov      rdi, gword ptr [rbp-0x48]
-       mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
-       call     [rcx]System.Threading.Tasks.Task:get_Id():int:this
-       mov      dword ptr [rbp-0x30], eax
-       jmp      G_M24641_IG07
-						;; size=45 bbWeight=0.50 PerfScore 8.25
 G_M24641_IG14:
        mov      rbx, gword ptr [rbp-0x38]
        mov      r14, gword ptr [rbp-0x50]
        jmp      SHORT G_M24641_IG17
 						;; size=10 bbWeight=0.25 PerfScore 1.00
 G_M24641_IG15:
        mov      rbx, gword ptr [rbp-0x38]
        jmp      SHORT G_M24641_IG17
 						;; size=6 bbWeight=0.25 PerfScore 0.75
 G_M24641_IG16:
        mov      rbx, gword ptr [rbp-0x38]
 						;; size=4 bbWeight=0.25 PerfScore 0.25
 G_M24641_IG17:
        mov      rdi, rbx
        mov      esi, r15d
        mov      rdx, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:SpinThenBlockingWait(int,System.Threading.CancellationToken):ubyte:this
        call     [rax]System.Threading.Tasks.Task:SpinThenBlockingWait(int,System.Threading.CancellationToken):ubyte:this
        mov      r15d, eax
 						;; size=24 bbWeight=0.50 PerfScore 2.12
 G_M24641_IG18:
        test     r12d, r12d
        je       G_M24641_IG23
        mov      rdi, 0xD1FFAB1E
        mov      rax, 0xD1FFAB1E      ; function address
        call     rax
        cmp      dword ptr [rax], 30
        jle      G_M24641_IG31
        mov      rdi, gword ptr [rax+0x08]
        mov      rax, bword ptr [rdi+0xF0]
        test     rax, rax
        je       G_M24641_IG31
 						;; size=60 bbWeight=0.50 PerfScore 7.00
 G_M24641_IG19:
        mov      r14, gword ptr [rax+0x10]
        test     r14, r14
        je       SHORT G_M24641_IG20
        mov      r12, gword ptr [rbp-0x40]
        mov      rdi, gword ptr [r14+0x18]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
        mov      r13d, eax
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        call     [rax]System.Threading.Tasks.Task:get_Id():int:this
        mov      r14d, eax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        call     [rax]System.Threading.Tasks.Task:get_Id():int:this
        mov      ecx, eax
        mov      esi, r13d
        mov      edx, r14d
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TplEventSource:TaskWaitEnd(int,int,int):this
        call     [rax]System.Threading.Tasks.TplEventSource:TaskWaitEnd(int,int,int):this
        jmp      G_M24641_IG22
 						;; size=95 bbWeight=0.50 PerfScore 13.12
 G_M24641_IG20:
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M24641_IG32
 						;; size=19 bbWeight=0.50 PerfScore 2.12
 G_M24641_IG21:
        mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.TaskScheduler:s_defaultTaskScheduler
        mov      rdi, gword ptr [rdi]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
        mov      r14d, eax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        call     [rax]System.Threading.Tasks.Task:get_Id():int:this
        mov      r13d, eax
        mov      r12, gword ptr [rbp-0x40]
        movzx    rsi, byte  ptr [r12+0x9D]
        test     esi, esi
        je       SHORT G_M24641_IG22
        xor      ecx, ecx
        mov      dword ptr [rsp], ecx
        mov      rcx, qword ptr [r12+0x80]
        mov      edx, dword ptr [r12+0x98]
        mov      rdi, r12
        mov      r8d, 5
        mov      r9d, 2
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
        call     [rax]System.Diagnostics.Tracing.EventSource:IsEnabledCommon(ubyte,int,long,int,long,ubyte):ubyte:this
        test     eax, eax
        je       SHORT G_M24641_IG22
        mov      rdi, r12
        mov      r8d, r13d
        mov      edx, r14d
        mov      esi, 11
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this
        call     [rax]System.Diagnostics.Tracing.EventSource:WriteEvent(int,int,int,int):this
 						;; size=145 bbWeight=0.50 PerfScore 15.88
 G_M24641_IG22:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        call     [rax]System.Threading.Tasks.Task:get_Id():int:this
        mov      esi, eax
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TplEventSource:TaskWaitContinuationComplete(int):this
        call     [rax]System.Threading.Tasks.TplEventSource:TaskWaitContinuationComplete(int):this
 						;; size=32 bbWeight=0.50 PerfScore 3.62
 G_M24641_IG23:
        mov      eax, r15d
 						;; size=3 bbWeight=0.50 PerfScore 0.12
 G_M24641_IG24:
        add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M24641_IG25:
        mov      eax, 1
 						;; size=5 bbWeight=0.50 PerfScore 0.12
 G_M24641_IG26:
        add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M24641_IG27:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TplEventSource
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M24641_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M24641_IG28:
        mov      edi, 30
        call     CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
        jmp      G_M24641_IG05
 						;; size=15 bbWeight=0 PerfScore 0.00
 G_M24641_IG29:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TaskScheduler
        call     CORINFO_HELP_GET_NONGCSTATIC_BASE
-       jmp      G_M24641_IG06
+       jmp      G_M24641_IG08
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M24641_IG30:
        call     CORINFO_HELP_POLL_GC
-       jmp      G_M24641_IG09
+       jmp      G_M24641_IG11
 						;; size=10 bbWeight=0 PerfScore 0.00
 G_M24641_IG31:
        mov      edi, 30
        call     CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
        jmp      G_M24641_IG19
 						;; size=15 bbWeight=0 PerfScore 0.00
 G_M24641_IG32:
        mov      rdi, 0xD1FFAB1E      ; System.Threading.Tasks.TaskScheduler
        call     CORINFO_HELP_GET_NONGCSTATIC_BASE
        jmp      G_M24641_IG21
 						;; size=20 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 958, prolog size 22, PerfScore 113.50, instruction count 218, allocated bytes for code 958 (MethodHash=bcf79fbe) for method System.Threading.Tasks.Task:InternalWaitCore(int,System.Threading.CancellationToken):ubyte:this (FullOpts)
+; Total bytes of code 947, prolog size 22, PerfScore 113.50, instruction count 218, allocated bytes for code 947 (MethodHash=bcf79fbe) for method System.Threading.Tasks.Task:InternalWaitCore(int,System.Threading.CancellationToken):ubyte:this (FullOpts)
 ; ============================================================
-7 (-0.90 % of base) - System.IO.Path:GetTempFileName():System.String
 ; Assembly listing for method System.IO.Path:GetTempFileName():System.String (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 16 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 loc0         [V00    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;  V01 loc1         [V01,T10] (  6,  4   )     ref  ->  [rbp-0x90]  class-hnd exact spill-single-def <System.String>
 ;  V02 loc2         [V02,T19] (  5,  3.50)     int  ->  rax        
 ;* V03 loc3         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;  V04 loc4         [V04,T13] (  4,  4   )     int  ->  rax        
 ;* V05 loc5         [V05    ] (  0,  0   )  struct (16) zero-ref    multireg-arg <System.Span`1[ubyte]>
 ;* V06 loc6         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;  V07 loc7         [V07    ] (  2,  2   )   byref  ->  [rbp-0x30]  must-init pinned
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T14] (  2,  4   )     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
 ;* V10 tmp2         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;  V12 tmp4         [V12,T05] (  3,  6   )     int  ->  rdi         "Span.get_Item index"
 ;  V13 tmp5         [V13,T08] (  3,  5   )     ref  ->  r14         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
 ;* V14 tmp6         [V14    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V15 tmp7         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V16 tmp8         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V17 tmp9         [V17,T27] (  2,  2   )    long  ->  r13         "Inlining Arg"
 ;* V18 tmp10        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V19 tmp11        [V19    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V20 tmp12        [V20,T21] (  3,  3   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <ubyte[]>
 ;* V21 tmp13        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V22 tmp14        [V22    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V23 tmp15        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V24 tmp16        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V23 tmp15        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V24 tmp16        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V25 tmp17        [V25,T26] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V26 tmp18        [V26,T28] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V27 tmp19        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V28 tmp20        [V28,T02] (  4,  8   )   byref  ->  rcx         single-def "Inlining Arg"
 ;  V29 tmp21        [V29,T16] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;* V30 tmp22        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V31 tmp23        [V31    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V32 tmp24        [V32    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V33 tmp25        [V33    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V34 tmp26        [V34    ] (  0,  0   )   byref  ->  zero-ref    "Inline return value spill temp"
 ;  V35 tmp27        [V35,T07] (  5,  5   )   byref  ->  [rbp-0x98]  "Inline stloc first use temp"
 ;* V36 tmp28        [V36    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V37 tmp29        [V37,T06] (  3,  6   )    long  ->  rbx         "impAppendStmt"
 ;  V38 tmp30        [V38,T38] (  2,  0   )  struct ( 8) [rbp-0x38]  do-not-enreg[SR] multireg-ret "spilled call-like call argument" <Interop+ErrorInfo>
 ;  V39 tmp31        [V39,T01] (  5,  9   )     int  ->  rbx         "Inlining Arg"
 ;* V40 tmp32        [V40    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V41 tmp33        [V41    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp34        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V43 tmp35        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V44 tmp36        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V45 tmp37        [V45    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V46 tmp38        [V46    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact "Inline return value spill temp" <System.String>
 ;* V47 tmp39        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V48 tmp40        [V48    ] (  1,  1   )   byref  ->  [rbp-0x40]  must-init pinned single-def "Inline stloc first use temp"
 ;  V49 tmp41        [V49,T22] (  3,  3   )   byref  ->  r15         "Inline return value spill temp"
 ;* V50 tmp42        [V50    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V51 tmp43        [V51,T23] (  3,  2   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.String>
 ;* V52 tmp44        [V52    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V53 tmp45        [V53    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V54 tmp46        [V54,T20] (  4,  3   )     int  ->  r13         "Inline stloc first use temp"
 ;  V55 tmp47        [V55,T11] (  4,  4   )     ref  ->  r12         class-hnd exact single-def "dup spill" <System.String>
 ;  V56 tmp48        [V56    ] (  3,  1.50)   byref  ->  [rbp-0x48]  must-init pinned "Inline stloc first use temp"
 ;* V57 tmp49        [V57    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;  V58 tmp50        [V58,T15] (  2,  4   )     ref  ->  rax         single-def "Single return block return value"
 ;  V59 FramesRoot   [V59,T04] (  6,  6   )    long  ->  rbx         "Pinvoke FrameListRoot"
 ;  V60 PInvokeFrame [V60    ] (  8,  8   )  struct (64) [rbp-0x88]  do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
 ;* V61 tmp53        [V61    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;* V62 tmp54        [V62    ] (  0,  0   )     int  ->  zero-ref    "field V00._length (fldOffset=0x8)" P-INDEP
 ;* V63 tmp55        [V63    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;* V64 tmp56        [V64    ] (  0,  0   )     int  ->  zero-ref    "field V03._length (fldOffset=0x8)" P-INDEP
 ;  V65 tmp57        [V65,T03] (  7,  6   )   byref  ->  [rbp-0xA0]  "field V05._reference (fldOffset=0x0)" P-INDEP
 ;  V66 tmp58        [V66,T00] ( 10,  9   )     int  ->  r12         "field V05._length (fldOffset=0x8)" P-INDEP
 ;* V67 tmp59        [V67    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V68 tmp60        [V68    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
 ;* V69 tmp61        [V69    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V70 tmp62        [V70    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V71 tmp63        [V71    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V72 tmp64        [V72    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V73 tmp65        [V73    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V74 tmp66        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V75 tmp67        [V75    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V76 tmp68        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;  V77 tmp69        [V77,T31] (  2,  1   )   byref  ->  r13         single-def "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V78 tmp70        [V78    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;  V79 tmp71        [V79,T32] (  2,  1   )   byref  ->  r13         single-def "field V18._reference (fldOffset=0x0)" P-INDEP
 ;  V80 tmp72        [V80,T35] (  2,  1   )     int  ->  r12         "field V18._length (fldOffset=0x8)" P-INDEP
 ;  V81 tmp73        [V81,T33] (  2,  1   )   byref  ->  r13         "field V21._reference (fldOffset=0x0)" P-INDEP
 ;  V82 tmp74        [V82,T36] (  2,  1   )     int  ->  r12         "field V21._length (fldOffset=0x8)" P-INDEP
 ;  V83 tmp75        [V83,T24] (  3,  2   )   byref  ->  rsi         "field V22._reference (fldOffset=0x0)" P-INDEP
 ;  V84 tmp76        [V84,T25] (  3,  2   )     int  ->  rdx         "field V22._length (fldOffset=0x8)" P-INDEP
-;  V85 tmp77        [V85,T34] (  2,  1   )   byref  ->  rsi         single-def "field V23._reference (fldOffset=0x0)" P-INDEP
-;  V86 tmp78        [V86,T37] (  2,  1   )     int  ->  rdx         "field V23._length (fldOffset=0x8)" P-INDEP
-;* V87 tmp79        [V87    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
-;* V88 tmp80        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
+;* V85 tmp77        [V85    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
+;* V86 tmp78        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
+;  V87 tmp79        [V87,T34] (  2,  1   )   byref  ->  rsi         single-def "field V24._reference (fldOffset=0x0)" P-INDEP
+;  V88 tmp80        [V88,T37] (  2,  1   )     int  ->  rdx         "field V24._length (fldOffset=0x8)" P-INDEP
 ;* V89 tmp81        [V89    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V90 tmp82        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V91 tmp83        [V91    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V92 tmp84        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;* V93 tmp85        [V93    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V40._reference (fldOffset=0x0)" P-INDEP
 ;* V94 tmp86        [V94    ] (  0,  0   )     int  ->  zero-ref    "field V40._length (fldOffset=0x8)" P-INDEP
 ;* V95 tmp87        [V95    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V42._reference (fldOffset=0x0)" P-INDEP
 ;* V96 tmp88        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V97 tmp89        [V97    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp90        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp91        [V99    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp92       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V101 tmp93       [V101    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V50._reference (fldOffset=0x0)" P-INDEP
 ;* V102 tmp94       [V102    ] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
 ;  V103 tmp95       [V103,T17] (  2,  4   )    long  ->  rdi         "Cast away GC"
 ;  V104 tmp96       [V104,T18] (  2,  4   )    long  ->  rdi         "argument with side effect"
 ;  V105 tmp97       [V105,T09] (  3,  5   )    long  ->  r15         "Cast away GC"
 ;  V106 tmp98       [V106,T29] (  2,  2   )    long  ->  rcx         "Cast away GC"
 ;  V107 tmp99       [V107,T30] (  2,  2   )    long  ->  rcx         "argument with side effect"
 ;  V108 GsCookie    [V108    ] (  1,  1   )    long  ->  [rbp-0xB0]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
 ;  V109 cse0        [V109,T12] (  4,  4   )     ref  ->  [rbp-0xA8]  spill-single-def "CSE #01: moderate"
 ;
 ; Lcl frame size = 136
 
 G_M39088_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 136
        vzeroupper 
        lea      rbp, [rsp+0xB0]
        xor      eax, eax
        mov      qword ptr [rbp-0x48], rax
        vxorps   xmm8, xmm8, xmm8
        vmovdqa  xmmword ptr [rbp-0x40], xmm8
        mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0xB0], 0xD1FFAB1E
 						;; size=59 bbWeight=1 PerfScore 13.33
 G_M39088_IG02:
        lea      rdi, [rbp-0x80]
        call     CORINFO_HELP_INIT_PINVOKE_FRAME
        mov      rbx, rax
        mov      rax, rsp
        mov      qword ptr [rbp-0x68], rax
        mov      rax, rbp
        mov      qword ptr [rbp-0x58], rax
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Path:GetTempPath():System.String
        call     [rax]System.IO.Path:GetTempPath():System.String
        mov      r15, rax
        mov      gword ptr [rbp-0x90], r15
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r14, gword ptr [rdi]
        mov      gword ptr [rbp-0xA8], r14
        mov      rdi, r14
        mov      rsi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetByteCount(System.String):int:this
        call     [rax]System.Text.UTF8Encoding:GetByteCount(System.String):int:this
        add      eax, 14
        cmp      eax, 256
        jle      SHORT G_M39088_IG04
 						;; size=96 bbWeight=1 PerfScore 17.25
 G_M39088_IG03:
        movsxd   rsi, eax
        mov      rdi, 0xD1FFAB1E      ; ubyte[]
        call     CORINFO_HELP_NEWARR_1_VC
        lea      r13, bword ptr [rax+0x10]
        mov      r12d, dword ptr [rax+0x08]
        jmp      SHORT G_M39088_IG05
 						;; size=28 bbWeight=0.50 PerfScore 3.00
 G_M39088_IG04:
        test     dword ptr [rsp], esp
        sub      rsp, 256
        lea      r13, [rsp]
        cmp      eax, 256
        ja       G_M39088_IG22
        mov      r12d, eax
 						;; size=28 bbWeight=0.50 PerfScore 2.62
 G_M39088_IG05:
        mov      rdi, r14
        test     r15, r15
-       je       SHORT G_M39088_IG07
+       jne      SHORT G_M39088_IG07
 						;; size=8 bbWeight=1 PerfScore 1.50
 G_M39088_IG06:
-       lea      rsi, bword ptr [r15+0x0C]
-       mov      edx, dword ptr [r15+0x08]
-       mov      r15, gword ptr [rbp-0x90]
-       jmp      SHORT G_M39088_IG08
-						;; size=17 bbWeight=0.50 PerfScore 2.75
-G_M39088_IG07:
        xor      rsi, rsi
        xor      edx, edx
-						;; size=4 bbWeight=0.50 PerfScore 0.25
+       jmp      SHORT G_M39088_IG08
+						;; size=6 bbWeight=0.50 PerfScore 1.25
+G_M39088_IG07:
+       lea      rsi, bword ptr [r15+0x0C]
+       mov      edx, dword ptr [r15+0x08]
+						;; size=8 bbWeight=0.50 PerfScore 1.25
 G_M39088_IG08:
        mov      rcx, r13
        mov      r8d, r12d
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        call     [rax]System.Text.UTF8Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, r12d
        ja       G_M39088_IG22
        mov      ecx, eax
        add      rcx, r13
        mov      edx, r12d
        sub      edx, eax
        cmp      edx, 13
        jb       G_M39088_IG20
        mov      rdi, 0xD1FFAB1E
        mov      qword ptr [rcx], rdi
        mov      dword ptr [rcx+0x08], 0xD1FFAB1E
        mov      byte  ptr [rcx+0x0C], 112
        lea      edi, [r12-0x01]
        cmp      edi, r12d
        jae      G_M39088_IG23
        mov      byte  ptr [rdi+r13], 0
        xor      rdi, rdi
        test     r12d, r12d
        mov      bword ptr [rbp-0xA0], r13
        cmovne   rdi, r13
        mov      bword ptr [rbp-0x98], rdi
        mov      bword ptr [rbp-0x30], rdi
        xor      edi, edi
        mov      rax, 0xD1FFAB1E      ; function address
 						;; size=128 bbWeight=1 PerfScore 17.50
 G_M39088_IG09:
        call     rax ; Interop+Sys:SetErrNo(int)
        mov      r15, bword ptr [rbp-0x98]
        mov      rdi, r15
        mov      esi, 4
        mov      rax, 0xD1FFAB1E      ; function address
        mov      qword ptr [rbp-0x70], rax
        lea      rax, G_M39088_IG12
        mov      qword ptr [rbp-0x60], rax
        lea      rax, [rbp-0x80]
        mov      qword ptr [rbx+0x08], rax
        mov      byte  ptr [rbx+0x04], 0
 						;; size=54 bbWeight=1 PerfScore 10.25
 G_M39088_IG10:
        mov      rax, 0xD1FFAB1E      ; function address
 						;; size=10 bbWeight=1 PerfScore 0.25
 G_M39088_IG11:
        call     rax ; Interop+Sys:<MksTemps>g____PInvoke|80_0(ulong,int):long
 						;; size=2 bbWeight=1 PerfScore 3.00
 G_M39088_IG12:
        mov      byte  ptr [rbx+0x04], 1
        mov      rcx, 0xD1FFAB1E      ; function address
        cmp      dword ptr [rcx], 0
        je       SHORT G_M39088_IG13
        mov      rdi, 0xD1FFAB1E
        call     [rdi]CORINFO_HELP_STOP_FOR_GC
 						;; size=31 bbWeight=1 PerfScore 8.50
 G_M39088_IG13:
        mov      rcx, qword ptr [rbp-0x78]
        mov      qword ptr [rbx+0x08], rcx
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; function address
 						;; size=21 bbWeight=1 PerfScore 2.50
 G_M39088_IG14:
        call     rax ; Interop+Sys:GetErrNo():int
        mov      edi, eax
        call     System.Runtime.InteropServices.Marshal:SetLastPInvokeError(int)
        test     rbx, rbx
        jl       G_M39088_IG21
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for Interop+Sys:Close(long):int
        call     [rax]Interop+Sys:Close(long):int
        xor      edi, edi
        mov      bword ptr [rbp-0x30], rdi
        mov      r14, gword ptr [rbp-0xA8]
        lea      ebx, [r12-0x01]
        cmp      ebx, r12d
        ja       G_M39088_IG22
        mov      edi, 1
        test     ebx, ebx
        mov      r15, rdi
        cmovne   r15, bword ptr [rbp-0xA0]
        mov      bword ptr [rbp-0x40], r15
        mov      rdi, r14
        mov      rsi, r15
        mov      edx, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetCharCount(ulong,int):int:this
        call     [rax]System.Text.UTF8Encoding:GetCharCount(ulong,int):int:this
        mov      r13d, eax
        test     r13d, r13d
        je       SHORT G_M39088_IG16
 						;; size=110 bbWeight=1 PerfScore 22.25
 G_M39088_IG15:
        mov      edi, r13d
        call     System.String:FastAllocateString(int):System.String
        mov      r12, rax
        cmp      byte  ptr [r12], r12b
        lea      rcx, bword ptr [r12+0x0C]
        mov      bword ptr [rbp-0x48], rcx
        mov      rcx, bword ptr [rbp-0x48]
        mov      rsi, r15
        mov      edx, ebx
        mov      rdi, r14
        mov      r8d, r13d
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding:GetChars(ulong,int,ulong,int):int:this
        call     [rax]System.Text.UTF8Encoding:GetChars(ulong,int,ulong,int):int:this
        xor      eax, eax
        mov      bword ptr [rbp-0x48], rax
        mov      rax, r12
        jmp      SHORT G_M39088_IG17
 						;; size=62 bbWeight=0.50 PerfScore 7.38
 G_M39088_IG16:
        mov      rax, 0xD1FFAB1E      ; ''
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M39088_IG17:
        cmp      qword ptr [rbp-0xB0], 0xD1FFAB1E
        je       SHORT G_M39088_IG18
        call     CORINFO_HELP_FAIL_FAST
 						;; size=18 bbWeight=1 PerfScore 4.00
 G_M39088_IG18:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M39088_IG19:
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.50
 G_M39088_IG20:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M39088_IG21:
        mov      rax, 0xD1FFAB1E      ; code for Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
        call     [rax]Interop+Sys:GetLastErrorInfo():Interop+ErrorInfo
        mov      qword ptr [rbp-0x38], rax
        mov      rdi, qword ptr [rbp-0x38]
        mov      rsi, gword ptr [rbp-0x90]
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for Interop:ThrowExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte)
        call     [rax]Interop:ThrowExceptionForIoErrno(Interop+ErrorInfo,System.String,ubyte)
        int3     
 						;; size=45 bbWeight=0 PerfScore 0.00
 G_M39088_IG22:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M39088_IG23:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 779, prolog size 59, PerfScore 121.21, instruction count 182, allocated bytes for code 779 (MethodHash=b4e3674f) for method System.IO.Path:GetTempFileName():System.String (FullOpts)
+; Total bytes of code 772, prolog size 59, PerfScore 120.71, instruction count 181, allocated bytes for code 772 (MethodHash=b4e3674f) for method System.IO.Path:GetTempFileName():System.String (FullOpts)
 ; ============================================================
-7 (-0.87 % of base) - System.Net.WebSockets.WebSocketHandle:CreateSecKeyAndSecWebSocketAccept():System.Collections.Generic.KeyValuePair`2[System.String,System.String]
 ; Assembly listing for method System.Net.WebSockets.WebSocketHandle:CreateSecKeyAndSecWebSocketAccept():System.Collections.Generic.KeyValuePair`2[System.String,System.String] (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 14 single block inlinees; 14 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 loc0         [V00    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ubyte]>
 ;* V01 loc1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op <System.Span`1[ubyte]>
 ;  V02 loc2         [V02,T03] (  5,  4   )     ref  ->  [rbp-0xA8]  class-hnd exact spill-single-def <System.String>
 ;  V03 loc3         [V03,T04] (  4,  4   )     int  ->  rax        
 ;  V04 loc4         [V04,T10] (  3,  3   )     int  ->  rsi         ld-addr-op
 ;* V05 loc5         [V05    ] (  0,  0   )     int  ->  zero-ref   
 ;  V06 loc6         [V06,T21] (  2,  2   )  struct (16) [rbp-0x38]  do-not-enreg[SR] multireg-ret ld-addr-op <System.Guid>
 ;# V07 OutArgs      [V07    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V08 tmp1         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V09 tmp2         [V09    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V10 tmp3         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;  V11 tmp4         [V11,T06] (  2,  4   )     ref  ->  rdi         class-hnd exact single-def "impAppendStmt" <System.Text.ASCIIEncoding+ASCIIEncodingSealed>
 ;* V12 tmp5         [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V13 tmp6         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V14 tmp7         [V14    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V15 tmp8         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V16 tmp9         [V16    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V17 tmp10        [V17    ] (  0,  0   )  struct (16) zero-ref    multireg-ret ld-addr-op "NewObj constructor temp" <System.Collections.Generic.KeyValuePair`2[System.String,System.String]>
 ;  V18 tmp11        [V18,T08] (  2,  4   )    long  ->  r15         "Inlining Arg"
 ;* V19 tmp12        [V19    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V20 tmp13        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V21 tmp14        [V21    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V22 tmp15        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V23 tmp16        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V24 tmp17        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V25 tmp18        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp19        [V26    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V27 tmp20        [V27    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V28 tmp21        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V29 tmp22        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V30 tmp23        [V30    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V32 tmp25        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V31 tmp24        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V32 tmp25        [V32    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V33 tmp26        [V33,T16] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V34 tmp27        [V34,T22] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V35 tmp28        [V35    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V36 tmp29        [V36,T05] (  3,  4   )   byref  ->  rcx         single-def "Inlining Arg"
 ;  V37 tmp30        [V37,T09] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;* V38 tmp31        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V39 tmp32        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V40 tmp33        [V40    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V41 tmp34        [V41    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;* V42 tmp35        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V43 tmp36        [V43    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V44 tmp37        [V44    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V45 tmp38        [V45    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V46 tmp39        [V46    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V47 tmp40        [V47    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V48 tmp41        [V48    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;  V49 tmp42        [V49,T11] (  3,  3   )    long  ->  r13         "dup spill"
 ;  V50 tmp43        [V50,T14] (  3,  2   )     int  ->  r15         "Inline stloc first use temp"
 ;* V51 tmp44        [V51    ] (  0,  0   )    long  ->  zero-ref   
 ;  V52 tmp45        [V52,T35] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Security.Cryptography.CryptographicException>
 ;* V53 tmp46        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V54 tmp47        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;  V55 tmp48        [V55    ] (  2,  1.50)   byref  ->  [rbp-0x40]  must-init pinned "Inline stloc first use temp"
 ;* V56 tmp49        [V56    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;  V57 tmp50        [V57    ] (  2,  1.50)   byref  ->  [rbp-0x48]  must-init pinned "Inline stloc first use temp"
 ;* V58 tmp51        [V58    ] (  0,  0   )    long  ->  zero-ref    "Inline stloc first use temp"
 ;  V59 tmp52        [V59    ] (  2,  1   )     int  ->  [rbp-0x50]  do-not-enreg[X] addr-exposed ld-addr-op "Inline stloc first use temp"
 ;* V60 tmp53        [V60    ] (  0,  0   )   byref  ->  zero-ref    "Inline return value spill temp"
 ;* V61 tmp54        [V61,T24] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;* V62 tmp55        [V62    ] (  0,  0   )   byref  ->  zero-ref    "Inline return value spill temp"
 ;* V63 tmp56        [V63,T25] (  0,  0   )   byref  ->  zero-ref    "Inline stloc first use temp"
 ;* V64 tmp57        [V64    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V65 tmp58        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;* V66 tmp59        [V66    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V67 tmp60        [V67    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V68 tmp61        [V68    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V69 tmp62        [V69    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;* V70 tmp63        [V70    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V71 tmp64        [V71,T07] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V72 tmp65        [V72,T02] (  3,  6   )  struct (16) [rbp-0x60]  do-not-enreg[SR] multireg-ret must-init "Single return block return value" <System.Collections.Generic.KeyValuePair`2[System.String,System.String]>
 ;  V73 FramesRoot   [V73,T01] ( 10,  6   )    long  ->  rbx         "Pinvoke FrameListRoot"
 ;  V74 PInvokeFrame [V74    ] ( 12,  8   )  struct (64) [rbp-0xA0]  do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
 ;* V75 tmp68        [V75,T28] (  0,  0   )   byref  ->  zero-ref    single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;* V76 tmp69        [V76,T30] (  0,  0   )     int  ->  zero-ref    "field V00._length (fldOffset=0x8)" P-INDEP
 ;  V77 tmp70        [V77,T00] (  9,  7.50)   byref  ->  [rbp-0xB0]  spill-single-def "field V01._reference (fldOffset=0x0)" P-INDEP
 ;* V78 tmp71        [V78,T31] (  0,  0   )     int  ->  zero-ref    "field V01._length (fldOffset=0x8)" P-INDEP
 ;  V79 tmp72        [V79,T17] (  2,  2   )   byref  ->  r15         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V80 tmp73        [V80,T32] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
 ;* V81 tmp74        [V81    ] (  0,  0   )   byref  ->  zero-ref    "field V09._reference (fldOffset=0x0)" P-INDEP
 ;* V82 tmp75        [V82    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V83 tmp76        [V83    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V84 tmp77        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V85 tmp78        [V85    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V86 tmp79        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;* V87 tmp80        [V87    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V88 tmp81        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;* V89 tmp82        [V89    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V90 tmp83        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V91 tmp84        [V91    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V92 tmp85        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V93 tmp86        [V93    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V94 tmp87        [V94    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;  V95 tmp88        [V95,T18] (  2,  2   )     ref  ->  r14         single-def "field V17.key (fldOffset=0x0)" P-INDEP
 ;  V96 tmp89        [V96,T19] (  2,  2   )     ref  ->  rax         single-def "field V17.value (fldOffset=0x8)" P-INDEP
 ;* V97 tmp90        [V97    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp91        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;* V99 tmp92        [V99    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V100 tmp93       [V100    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V101 tmp94       [V101    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V102 tmp95       [V102    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V103 tmp96       [V103    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V104 tmp97       [V104    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
 ;* V105 tmp98       [V105    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V106 tmp99       [V106    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V107 tmp100      [V107,T29] (  0,  0   )   byref  ->  zero-ref    single-def "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V108 tmp101      [V108,T33] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;  V109 tmp102      [V109,T13] (  3,  2   )   byref  ->  rsi         "field V30._reference (fldOffset=0x0)" P-INDEP
 ;  V110 tmp103      [V110,T15] (  3,  2   )     int  ->  rdx         "field V30._length (fldOffset=0x8)" P-INDEP
-;  V111 tmp104      [V111,T26] (  2,  1   )   byref  ->  rsi         single-def "field V31._reference (fldOffset=0x0)" P-INDEP
-;  V112 tmp105      [V112,T27] (  2,  1   )     int  ->  rdx         "field V31._length (fldOffset=0x8)" P-INDEP
-;* V113 tmp106      [V113    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V32._reference (fldOffset=0x0)" P-INDEP
-;* V114 tmp107      [V114    ] (  0,  0   )     int  ->  zero-ref    "field V32._length (fldOffset=0x8)" P-INDEP
+;* V111 tmp104      [V111    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V31._reference (fldOffset=0x0)" P-INDEP
+;* V112 tmp105      [V112    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
+;  V113 tmp106      [V113,T26] (  2,  1   )   byref  ->  rsi         single-def "field V32._reference (fldOffset=0x0)" P-INDEP
+;  V114 tmp107      [V114,T27] (  2,  1   )     int  ->  rdx         "field V32._length (fldOffset=0x8)" P-INDEP
 ;* V115 tmp108      [V115    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V35._reference (fldOffset=0x0)" P-INDEP
 ;* V116 tmp109      [V116    ] (  0,  0   )     int  ->  zero-ref    "field V35._length (fldOffset=0x8)" P-INDEP
 ;* V117 tmp110      [V117    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V38._reference (fldOffset=0x0)" P-INDEP
 ;* V118 tmp111      [V118    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
 ;* V119 tmp112      [V119    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V42._reference (fldOffset=0x0)" P-INDEP
 ;* V120 tmp113      [V120    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V121 tmp114      [V121    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V43._reference (fldOffset=0x0)" P-INDEP
 ;* V122 tmp115      [V122    ] (  0,  0   )     int  ->  zero-ref    "field V43._length (fldOffset=0x8)" P-INDEP
 ;* V123 tmp116      [V123    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V47._reference (fldOffset=0x0)" P-INDEP
 ;* V124 tmp117      [V124    ] (  0,  0   )     int  ->  zero-ref    "field V47._length (fldOffset=0x8)" P-INDEP
 ;* V125 tmp118      [V125    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V53._reference (fldOffset=0x0)" P-INDEP
 ;* V126 tmp119      [V126    ] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0x8)" P-INDEP
 ;* V127 tmp120      [V127    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V128 tmp121      [V128    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V129 tmp122      [V129    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V130 tmp123      [V130    ] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
 ;* V131 tmp124      [V131    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V67._reference (fldOffset=0x0)" P-INDEP
 ;* V132 tmp125      [V132    ] (  0,  0   )     int  ->  zero-ref    "field V67._length (fldOffset=0x8)" P-INDEP
 ;  V133 tmp126      [V133,T20] (  2,  2   )   byref  ->  rdi         single-def "field V68._reference (fldOffset=0x0)" P-INDEP
 ;  V134 tmp127      [V134,T23] (  2,  2   )     int  ->  rsi         "field V68._length (fldOffset=0x8)" P-INDEP
 ;* V135 tmp128      [V135,T34] (  0,  0   )    long  ->  zero-ref    "Cast away GC"
 ;  V136 tmp129      [V136,T12] (  3,  3   )    long  ->  rcx         "Cast away GC"
 ;  V137 GsCookie    [V137    ] (  1,  1   )    long  ->  [rbp-0xB8]  do-not-enreg[X] addr-exposed "GSSecurityCookie"
 ;
 ; Lcl frame size = 152
 
 G_M31018_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 152
        lea      rbp, [rsp+0xC0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x60], ymm8
        xor      eax, eax
        mov      qword ptr [rbp-0x40], rax
        mov      qword ptr [rbp-0xB8], 0xD1FFAB1E
 						;; size=52 bbWeight=1 PerfScore 11.33
 G_M31018_IG02:
        lea      rdi, [rbp-0x98]
        call     CORINFO_HELP_INIT_PINVOKE_FRAME
        mov      rbx, rax
        mov      rax, rsp
        mov      qword ptr [rbp-0x80], rax
        mov      rax, rbp
        mov      qword ptr [rbp-0x70], rax
        test     dword ptr [rsp], esp
        sub      rsp, 64
        lea      r15, [rsp]
        mov      bword ptr [rbp-0xB0], r15
        mov      rax, 0xD1FFAB1E      ; code for System.Guid:NewGuid():System.Guid
        call     [rax]System.Guid:NewGuid():System.Guid
        mov      qword ptr [rbp-0x38], rax
        mov      qword ptr [rbp-0x30], rdx
        vmovups  xmm0, xmmword ptr [rbp-0x38]
        vmovups  xmmword ptr [r15], xmm0
        mov      rdi, r15
        mov      esi, 16
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Convert:ToBase64String(System.ReadOnlySpan`1[ubyte],int):System.String
        call     [rax]System.Convert:ToBase64String(System.ReadOnlySpan`1[ubyte],int):System.String
        mov      r14, rax
        mov      gword ptr [rbp-0xA8], r14
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M31018_IG21
 						;; size=128 bbWeight=1 PerfScore 28.75
 G_M31018_IG03:
        mov      rcx, 0xD1FFAB1E      ; data for System.Text.ASCIIEncoding:s_default
        mov      rdi, gword ptr [rcx]
        test     r14, r14
-       jne      SHORT G_M31018_IG05
+       je       SHORT G_M31018_IG05
 						;; size=18 bbWeight=1 PerfScore 3.50
 G_M31018_IG04:
-       xor      rsi, rsi
-       xor      edx, edx
-       jmp      SHORT G_M31018_IG06
-						;; size=6 bbWeight=0.50 PerfScore 1.25
-G_M31018_IG05:
        lea      rsi, bword ptr [r14+0x0C]
        mov      edx, dword ptr [r14+0x08]
-       mov      r14, gword ptr [rbp-0xA8]
-						;; size=15 bbWeight=0.50 PerfScore 1.75
+       jmp      SHORT G_M31018_IG06
+						;; size=10 bbWeight=0.50 PerfScore 2.25
+G_M31018_IG05:
+       xor      rsi, rsi
+       xor      edx, edx
+						;; size=4 bbWeight=0.50 PerfScore 0.25
 G_M31018_IG06:
        mov      rcx, r15
        mov      r8d, 60
        mov      rax, 0xD1FFAB1E      ; code for System.Text.ASCIIEncoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Text.ASCIIEncoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        cmp      eax, 60
        ja       G_M31018_IG25
        mov      ecx, eax
        add      rcx, r15
        mov      edx, 60
        sub      edx, eax
        cmp      edx, 36
        jb       G_M31018_IG22
 						;; size=53 bbWeight=1 PerfScore 10.25
 G_M31018_IG07:
        vmovups  ymm0, ymmword ptr [reloc @RWD00]
        vmovups  ymmword ptr [rcx], ymm0
        mov      dword ptr [rcx+0x20], 0xD1FFAB1E
        mov      rdi, 0xD1FFAB1E      ; 'SHA1'
        mov      rax, 0xD1FFAB1E      ; code for Interop+Crypto:HashAlgorithmToEvp(System.String):long
        call     [rax]Interop+Crypto:HashAlgorithmToEvp(System.String):long
        mov      r13, rax
        mov      rdi, r13
        mov      rax, 0xD1FFAB1E      ; function address
        mov      qword ptr [rbp-0x88], rax
        lea      rax, G_M31018_IG10
        mov      qword ptr [rbp-0x78], rax
        lea      rax, [rbp-0x98]
        mov      qword ptr [rbx+0x08], rax
        mov      byte  ptr [rbx+0x04], 0
 						;; size=90 bbWeight=0.50 PerfScore 8.38
 G_M31018_IG08:
        mov      rax, 0xD1FFAB1E      ; code for Interop+Crypto:EvpMdSize(long):int
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M31018_IG09:
        vzeroupper 
        call     [rax]Interop+Crypto:EvpMdSize(long):int
 						;; size=5 bbWeight=0.50 PerfScore 2.00
 G_M31018_IG10:
        mov      byte  ptr [rbx+0x04], 1
        mov      rcx, 0xD1FFAB1E      ; function address
        cmp      dword ptr [rcx], 0
        je       SHORT G_M31018_IG11
        mov      rdi, 0xD1FFAB1E
        call     [rdi]CORINFO_HELP_STOP_FOR_GC
 						;; size=31 bbWeight=0.50 PerfScore 4.25
 G_M31018_IG11:
        mov      r8, qword ptr [rbp-0x90]
        mov      qword ptr [rbx+0x08], r8
        mov      r15d, eax
        mov      r8d, r15d
        sub      r8d, 1
        cmp      r8d, 59
        ja       G_M31018_IG24
        mov      rdi, bword ptr [rbp-0xB0]
        mov      bword ptr [rbp-0x40], rdi
        mov      bword ptr [rbp-0x48], rdi
        mov      rcx, rdi
        mov      dword ptr [rbp-0x50], 60
        lea      r8, [rbp-0x50]
        mov      rdi, r13
        mov      rsi, rcx
        mov      edx, 60
        mov      rax, 0xD1FFAB1E      ; function address
        mov      qword ptr [rbp-0x88], rax
        lea      rax, G_M31018_IG14
        mov      qword ptr [rbp-0x78], rax
        lea      rax, [rbp-0x98]
        mov      qword ptr [rbx+0x08], rax
        mov      byte  ptr [rbx+0x04], 0
 						;; size=114 bbWeight=0.50 PerfScore 7.62
 G_M31018_IG12:
        mov      rax, 0xD1FFAB1E      ; code for Interop+Crypto:EvpDigestOneShot(long,ulong,int,ulong,ulong):int
 						;; size=10 bbWeight=0.50 PerfScore 0.12
 G_M31018_IG13:
        vzeroupper 
        call     [rax]Interop+Crypto:EvpDigestOneShot(long,ulong,int,ulong,ulong):int
 						;; size=5 bbWeight=0.50 PerfScore 2.00
 G_M31018_IG14:
        mov      byte  ptr [rbx+0x04], 1
        mov      rcx, 0xD1FFAB1E      ; function address
        cmp      dword ptr [rcx], 0
        je       SHORT G_M31018_IG15
        mov      rdi, 0xD1FFAB1E
        call     [rdi]CORINFO_HELP_STOP_FOR_GC
 						;; size=31 bbWeight=0.50 PerfScore 4.25
 G_M31018_IG15:
        mov      rdi, qword ptr [rbp-0x90]
        mov      qword ptr [rbx+0x08], rdi
        cmp      eax, 1
        jne      G_M31018_IG23
 						;; size=20 bbWeight=0.50 PerfScore 1.62
 G_M31018_IG16:
        xor      edi, edi
        mov      bword ptr [rbp-0x48], rdi
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M31018_IG17:
        mov      bword ptr [rbp-0x40], rdi
        mov      esi, r15d
        cmp      esi, 60
        ja       G_M31018_IG25
        mov      r15, bword ptr [rbp-0xB0]
        mov      rdi, r15
        xor      edx, edx
        mov      rax, 0xD1FFAB1E      ; code for System.Convert:ToBase64String(System.ReadOnlySpan`1[ubyte],int):System.String
        call     [rax]System.Convert:ToBase64String(System.ReadOnlySpan`1[ubyte],int):System.String
        mov      r14, gword ptr [rbp-0xA8]
        mov      gword ptr [rbp-0x60], r14
        mov      gword ptr [rbp-0x58], rax
        mov      rax, gword ptr [rbp-0x60]
        mov      rdx, gword ptr [rbp-0x58]
 						;; size=63 bbWeight=1 PerfScore 12.25
 G_M31018_IG18:
        cmp      qword ptr [rbp-0xB8], 0xD1FFAB1E
        je       SHORT G_M31018_IG19
        call     CORINFO_HELP_FAIL_FAST
 						;; size=18 bbWeight=1 PerfScore 4.00
 G_M31018_IG19:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M31018_IG20:
        vzeroupper 
        lea      rsp, [rbp-0x28]
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=1 PerfScore 5.50
 G_M31018_IG21:
        mov      rdi, 0xD1FFAB1E      ; System.Text.ASCIIEncoding
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M31018_IG03
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M31018_IG22:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        call     [rax]System.ThrowHelper:ThrowArgumentException_DestinationTooShort()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M31018_IG23:
        mov      rax, 0xD1FFAB1E      ; code for Interop+Crypto:CreateOpenSslCryptographicException():System.Exception
        call     [rax]Interop+Crypto:CreateOpenSslCryptographicException():System.Exception
        mov      rdi, rax
        call     CORINFO_HELP_THROW
        int3     
 						;; size=21 bbWeight=0 PerfScore 0.00
 G_M31018_IG24:
        mov      rdi, 0xD1FFAB1E      ; System.Security.Cryptography.CryptographicException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptographicException:.ctor():this
        call     [rax]System.Security.Cryptography.CryptographicException:.ctor():this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=42 bbWeight=0 PerfScore 0.00
 G_M31018_IG25:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 RWD00  	dq	3541464145383532h, 37342D343139452Dh, 2D414335392D4144h, 3843443042413543h
 
 
-; Total bytes of code 803, prolog size 52, PerfScore 110.46, instruction count 175, allocated bytes for code 803 (MethodHash=f22d86d5) for method System.Net.WebSockets.WebSocketHandle:CreateSecKeyAndSecWebSocketAccept():System.Collections.Generic.KeyValuePair`2[System.String,System.String] (FullOpts)
+; Total bytes of code 796, prolog size 52, PerfScore 109.96, instruction count 174, allocated bytes for code 796 (MethodHash=f22d86d5) for method System.Net.WebSockets.WebSocketHandle:CreateSecKeyAndSecWebSocketAccept():System.Collections.Generic.KeyValuePair`2[System.String,System.String] (FullOpts)
 ; ============================================================
-6 (-4.48 % of base) - System.DateTimeParse:SetIfStartsWith(System.ReadOnlySpan`1[ushort],System.String,int,byref,byref)
 ; Assembly listing for method System.DateTimeParse:SetIfStartsWith(System.ReadOnlySpan`1[ushort],System.String,int,byref,byref) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 4 single block inlinees; 5 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ushort]>
 ;  V01 arg1         [V01,T00] (  6,  4.50)     ref  ->  rbx         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T05] (  3,  2.50)     int  ->  r13         single-def
 ;  V03 arg3         [V03,T03] (  3,  2.50)   byref  ->  r15         single-def
 ;  V04 arg4         [V04,T04] (  3,  2.50)   byref  ->  r14         single-def
 ;# V05 OutArgs      [V05    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V06 tmp1         [V06    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V07 tmp2         [V07    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V10 tmp5         [V10,T09] (  2,  2   )   byref  ->  rdx         single-def "Inlining Arg"
-;  V11 tmp6         [V11,T10] (  2,  2   )     int  ->  rax         "Inlining Arg"
+;* V08 tmp3         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V09 tmp4         [V09    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V10 tmp5         [V10,T09] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;  V11 tmp6         [V11,T10] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V12 tmp7         [V12    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V13 tmp8         [V13,T12] (  2,  1   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V14 tmp9         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp10        [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp11        [V16    ] (  0,  0   )   byref  ->  zero-ref    single-def "impAppendStmt"
 ;* V17 tmp12        [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V18 tmp13        [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V19 tmp14        [V19,T08] (  4,  2   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V20 tmp15        [V20    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V21 tmp16        [V21    ] (  0,  0   )   byref  ->  zero-ref    single-def "Inlining Arg"
 ;  V22 tmp17        [V22,T02] (  4,  2.50)   byref  ->  rdi         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;  V23 tmp18        [V23,T06] (  2,  2   )     int  ->  rsi         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;* V24 tmp19        [V24    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V06._reference (fldOffset=0x0)" P-INDEP
 ;* V25 tmp20        [V25    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
-;  V26 tmp21        [V26,T07] (  5,  2.50)   byref  ->  rdx         "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V27 tmp22        [V27,T01] (  8,  4.50)     int  ->  rax         "field V07._length (fldOffset=0x8)" P-INDEP
-;  V28 tmp23        [V28,T11] (  2,  1   )   byref  ->  rdx         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;  V29 tmp24        [V29,T13] (  2,  1   )     int  ->  rax         "field V08._length (fldOffset=0x8)" P-INDEP
-;* V30 tmp25        [V30    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V09._reference (fldOffset=0x0)" P-INDEP
-;* V31 tmp26        [V31    ] (  0,  0   )     int  ->  zero-ref    "field V09._length (fldOffset=0x8)" P-INDEP
+;  V26 tmp21        [V26,T07] (  5,  2.50)   byref  ->  rax         "field V07._reference (fldOffset=0x0)" P-INDEP
+;  V27 tmp22        [V27,T01] (  8,  4.50)     int  ->  rdx         "field V07._length (fldOffset=0x8)" P-INDEP
+;* V28 tmp23        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;* V29 tmp24        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;  V30 tmp25        [V30,T11] (  2,  1   )   byref  ->  rax         single-def "field V09._reference (fldOffset=0x0)" P-INDEP
+;  V31 tmp26        [V31,T13] (  2,  1   )     int  ->  rdx         "field V09._length (fldOffset=0x8)" P-INDEP
 ;* V32 tmp27        [V32    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V33 tmp28        [V33    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V34 tmp29        [V34    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V35 tmp30        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp31        [V36    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp32        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp33        [V38    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V18._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp34        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M48478_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     rbx
        lea      rbp, [rsp+0x20]
        mov      rbx, rdx
        mov      r13d, ecx
        mov      r15, r8
        mov      r14, r9
 						;; size=25 bbWeight=1 PerfScore 6.50
 G_M48478_IG02:
        test     rbx, rbx
-       je       SHORT G_M48478_IG04
+       jne      SHORT G_M48478_IG04
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M48478_IG03:
-       lea      rdx, bword ptr [rbx+0x0C]
-       mov      eax, dword ptr [rbx+0x08]
+       xor      rax, rax
+       xor      edx, edx
        jmp      SHORT G_M48478_IG05
-						;; size=9 bbWeight=0.50 PerfScore 2.25
+						;; size=6 bbWeight=0.50 PerfScore 1.25
 G_M48478_IG04:
-       xor      rdx, rdx
-       xor      eax, eax
-						;; size=4 bbWeight=0.50 PerfScore 0.25
+       lea      rax, bword ptr [rbx+0x0C]
+       mov      edx, dword ptr [rbx+0x08]
+						;; size=7 bbWeight=0.50 PerfScore 1.25
 G_M48478_IG05:
-       cmp      eax, esi
+       cmp      edx, esi
        jg       SHORT G_M48478_IG10
 						;; size=4 bbWeight=1 PerfScore 1.25
 G_M48478_IG06:
-       cmp      eax, 8
+       cmp      edx, 8
        jl       SHORT G_M48478_IG08
-       cmp      eax, 16
+       cmp      edx, 16
        jge      SHORT G_M48478_IG07
-       mov      rsi, rdx
-       mov      edx, eax
+       mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
        call     [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector128`1[ushort]](byref,byref,int):ubyte
        jmp      SHORT G_M48478_IG09
-						;; size=29 bbWeight=0.50 PerfScore 4.12
+						;; size=27 bbWeight=0.50 PerfScore 4.00
 G_M48478_IG07:
-       mov      rsi, rdx
-       mov      edx, eax
+       mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector256`1[ushort]](byref,byref,int):ubyte
        call     [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Vector[System.Runtime.Intrinsics.Vector256`1[ushort]](byref,byref,int):ubyte
        jmp      SHORT G_M48478_IG09
-						;; size=19 bbWeight=0.50 PerfScore 2.88
+						;; size=17 bbWeight=0.50 PerfScore 2.75
 G_M48478_IG08:
-       mov      rsi, rdx
-       mov      edx, eax
+       mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
        call     [rax]System.Globalization.Ordinal:EqualsIgnoreCase_Scalar(byref,byref,int):ubyte
-						;; size=17 bbWeight=0.50 PerfScore 1.88
+						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M48478_IG09:
        test     eax, eax
        je       SHORT G_M48478_IG10
        mov      dword ptr [r15], r13d
        mov      eax, dword ptr [rbx+0x08]
        mov      dword ptr [r14], eax
 						;; size=13 bbWeight=0.50 PerfScore 2.62
 G_M48478_IG10:
        pop      rbx
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=9 bbWeight=1 PerfScore 3.50
 
-; Total bytes of code 134, prolog size 13, PerfScore 26.50, instruction count 48, allocated bytes for code 134 (MethodHash=384342a1) for method System.DateTimeParse:SetIfStartsWith(System.ReadOnlySpan`1[ushort],System.String,int,byref,byref) (FullOpts)
+; Total bytes of code 128, prolog size 13, PerfScore 26.12, instruction count 45, allocated bytes for code 128 (MethodHash=384342a1) for method System.DateTimeParse:SetIfStartsWith(System.ReadOnlySpan`1[ushort],System.String,int,byref,byref) (FullOpts)
 ; ============================================================
-6 (-1.81 % of base) - System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
 ; Assembly listing for method System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  8,  5   )     ref  ->  r15         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] (  9,  5.50)     ref  ->  rbx         class-hnd single-def <System.Text.Encoding>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
 ;  V03 arg3         [V03,T03] (  4,  3   )   byref  ->  r13         single-def
 ;* V04 loc0         [V04    ] (  0,  0   )     int  ->  zero-ref   
 ;  V05 loc1         [V05    ] (  3,  1.50)     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T06] (  5,  2.50)     int  ->  [rbp-0x34] 
 ;* V08 tmp2         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V09 tmp3         [V09,T05] (  4,  4   )     int  ->  rax         "Inlining Arg"
 ;* V10 tmp4         [V10    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V11 tmp5         [V11,T08] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V12 tmp6         [V12,T10] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V13 tmp7         [V13    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V14 tmp8         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V16 tmp10        [V16,T09] (  2,  2   )   byref  ->  rcx         single-def "Inlining Arg"
-;  V17 tmp11        [V17,T11] (  2,  2   )     int  ->   r8         "Inlining Arg"
+;* V14 tmp8         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V16 tmp10        [V16,T09] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V17 tmp11        [V17,T11] (  2,  2   )     int  ->  rax         "Inlining Arg"
 ;  V18 tmp12        [V18,T04] (  4,  2.50)   byref  ->  r12         "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V19 tmp13        [V19,T02] (  5,  3.50)     int  ->  r14         "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp14        [V20    ] (  0,  0   )   byref  ->  zero-ref    "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp15        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
 ;  V22 tmp16        [V22,T12] (  3,  1.50)   byref  ->  rsi         single-def "field V10._reference (fldOffset=0x0)" P-INDEP
 ;  V23 tmp17        [V23,T07] (  4,  2   )     int  ->  rdx         "field V10._length (fldOffset=0x8)" P-INDEP
 ;  V24 tmp18        [V24,T13] (  3,  1.50)   byref  ->  rdi         "field V13._reference (fldOffset=0x0)" P-INDEP
 ;  V25 tmp19        [V25,T14] (  3,  1.50)     int  ->  rax         "field V13._length (fldOffset=0x8)" P-INDEP
-;  V26 tmp20        [V26,T15] (  2,  1   )   byref  ->  rcx         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V27 tmp21        [V27,T16] (  2,  1   )     int  ->   r8         "field V14._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp22        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp23        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V26 tmp20        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V27 tmp21        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;  V28 tmp22        [V28,T15] (  2,  1   )   byref  ->  rdi         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V29 tmp23        [V29,T16] (  2,  1   )     int  ->  rax         "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 24
 
 G_M32038_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        lea      rbp, [rsp+0x40]
        mov      r15, rdi
        mov      rbx, rsi
        mov      r12, rdx
        mov      r14d, ecx
        mov      r13, r8
 						;; size=34 bbWeight=1 PerfScore 8.00
 G_M32038_IG02:
        test     r14d, r14d
        je       G_M32038_IG07
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M32038_IG03:
        mov      byte  ptr [r12], 0
        test     rbx, rbx
        je       SHORT G_M32038_IG05
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M32038_IG15
 						;; size=29 bbWeight=0.50 PerfScore 3.25
 G_M32038_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Text.Latin1Encoding:s_default
        cmp      rbx, gword ptr [rdi]
        je       SHORT G_M32038_IG05
        mov      rdi, rbx
        mov      rsi, r15
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
        jmp      SHORT G_M32038_IG06
 						;; size=33 bbWeight=0.50 PerfScore 6.88
 G_M32038_IG05:
        mov      eax, dword ptr [r15+0x08]
 						;; size=4 bbWeight=0.50 PerfScore 1.00
 G_M32038_IG06:
        mov      rdx, r12
        mov      ecx, r14d
        lea      r8, [rbp-0x30]
        mov      dword ptr [rbp-0x34], eax
        mov      edi, eax
        mov      esi, 7
        mov      r9, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        call     [r9]System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        test     eax, eax
        je       SHORT G_M32038_IG07
        mov      eax, dword ptr [rbp-0x30]
        cmp      eax, r14d
        ja       G_M32038_IG16
        mov      esi, eax
        add      rsi, r12
        sub      r14d, eax
        mov      edx, r14d
        mov      r14d, dword ptr [rbp-0x34]
        cmp      r14d, edx
        jle      SHORT G_M32038_IG09
 						;; size=69 bbWeight=0.50 PerfScore 6.25
 G_M32038_IG07:
        xor      eax, eax
        mov      dword ptr [r13], eax
 						;; size=6 bbWeight=0.50 PerfScore 0.62
 G_M32038_IG08:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M32038_IG09:
        test     rbx, rbx
        je       SHORT G_M32038_IG12
        test     r15, r15
-       je       SHORT G_M32038_IG10
-       lea      rcx, bword ptr [r15+0x0C]
-       mov      r8d, dword ptr [r15+0x08]
-       mov      rdi, rcx
-       mov      eax, r8d
-       jmp      SHORT G_M32038_IG11
-						;; size=26 bbWeight=0.50 PerfScore 3.75
-G_M32038_IG10:
+       jne      SHORT G_M32038_IG10
        xor      rdi, rdi
        xor      eax, eax
-						;; size=4 bbWeight=0.50 PerfScore 0.25
+       jmp      SHORT G_M32038_IG11
+						;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M32038_IG10:
+       lea      rdi, bword ptr [r15+0x0C]
+       mov      eax, dword ptr [r15+0x08]
+						;; size=8 bbWeight=0.50 PerfScore 1.25
 G_M32038_IG11:
        mov      rcx, rsi
        mov      r8d, edx
        mov      rsi, rdi
        mov      edx, eax
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        jmp      SHORT G_M32038_IG13
 						;; size=26 bbWeight=0.50 PerfScore 5.12
 G_M32038_IG12:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.HPack.HPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
        call     [rax]System.Net.Http.HPack.HPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M32038_IG13:
        add      r14d, dword ptr [rbp-0x30]
        mov      dword ptr [r13], r14d
        mov      eax, 1
 						;; size=13 bbWeight=0.50 PerfScore 1.62
 G_M32038_IG14:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M32038_IG15:
        mov      rdi, 0xD1FFAB1E      ; System.Text.Latin1Encoding
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M32038_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M32038_IG16:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 331, prolog size 19, PerfScore 44.00, instruction count 101, allocated bytes for code 331 (MethodHash=eedd82d9) for method System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
+; Total bytes of code 325, prolog size 19, PerfScore 43.75, instruction count 99, allocated bytes for code 325 (MethodHash=eedd82d9) for method System.Net.Http.HPack.HPackEncoder:EncodeStringLiteral(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; ============================================================
-6 (-1.81 % of base) - System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte
 ; Assembly listing for method System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T01] (  8,  5   )     ref  ->  r15         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T00] (  9,  5.50)     ref  ->  rbx         class-hnd single-def <System.Text.Encoding>
 ;* V02 arg2         [V02    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op single-def <System.Span`1[ubyte]>
 ;  V03 arg3         [V03,T03] (  4,  3   )   byref  ->  r13         single-def
 ;* V04 loc0         [V04    ] (  0,  0   )     int  ->  zero-ref   
 ;  V05 loc1         [V05    ] (  3,  1.50)     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed ld-addr-op
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T06] (  5,  2.50)     int  ->  [rbp-0x34] 
 ;* V08 tmp2         [V08    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V09 tmp3         [V09,T05] (  4,  4   )     int  ->  rax         "Inlining Arg"
 ;* V10 tmp4         [V10    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V11 tmp5         [V11,T08] (  2,  2   )   byref  ->  rsi         single-def "Inlining Arg"
 ;  V12 tmp6         [V12,T10] (  2,  2   )     int  ->  rdx         "Inlining Arg"
 ;* V13 tmp7         [V13    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V14 tmp8         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V16 tmp10        [V16,T09] (  2,  2   )   byref  ->  rcx         single-def "Inlining Arg"
-;  V17 tmp11        [V17,T11] (  2,  2   )     int  ->   r8         "Inlining Arg"
+;* V14 tmp8         [V14    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V15 tmp9         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V16 tmp10        [V16,T09] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
+;  V17 tmp11        [V17,T11] (  2,  2   )     int  ->  rax         "Inlining Arg"
 ;  V18 tmp12        [V18,T04] (  4,  2.50)   byref  ->  r12         "field V02._reference (fldOffset=0x0)" P-INDEP
 ;  V19 tmp13        [V19,T02] (  5,  3.50)     int  ->  r14         "field V02._length (fldOffset=0x8)" P-INDEP
 ;* V20 tmp14        [V20    ] (  0,  0   )   byref  ->  zero-ref    "field V08._reference (fldOffset=0x0)" P-INDEP
 ;* V21 tmp15        [V21    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
 ;  V22 tmp16        [V22,T12] (  3,  1.50)   byref  ->  rsi         single-def "field V10._reference (fldOffset=0x0)" P-INDEP
 ;  V23 tmp17        [V23,T07] (  4,  2   )     int  ->  rdx         "field V10._length (fldOffset=0x8)" P-INDEP
 ;  V24 tmp18        [V24,T13] (  3,  1.50)   byref  ->  rdi         "field V13._reference (fldOffset=0x0)" P-INDEP
 ;  V25 tmp19        [V25,T14] (  3,  1.50)     int  ->  rax         "field V13._length (fldOffset=0x8)" P-INDEP
-;  V26 tmp20        [V26,T15] (  2,  1   )   byref  ->  rcx         single-def "field V14._reference (fldOffset=0x0)" P-INDEP
-;  V27 tmp21        [V27,T16] (  2,  1   )     int  ->   r8         "field V14._length (fldOffset=0x8)" P-INDEP
-;* V28 tmp22        [V28    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V15._reference (fldOffset=0x0)" P-INDEP
-;* V29 tmp23        [V29    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;* V26 tmp20        [V26    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V14._reference (fldOffset=0x0)" P-INDEP
+;* V27 tmp21        [V27    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
+;  V28 tmp22        [V28,T15] (  2,  1   )   byref  ->  rdi         single-def "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V29 tmp23        [V29,T16] (  2,  1   )     int  ->  rax         "field V15._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 24
 
 G_M2598_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        lea      rbp, [rsp+0x40]
        mov      r15, rdi
        mov      rbx, rsi
        mov      r12, rdx
        mov      r14d, ecx
        mov      r13, r8
 						;; size=34 bbWeight=1 PerfScore 8.00
 G_M2598_IG02:
        test     r14d, r14d
        je       G_M2598_IG07
 						;; size=9 bbWeight=1 PerfScore 1.25
 G_M2598_IG03:
        mov      byte  ptr [r12], 0
        test     rbx, rbx
        je       SHORT G_M2598_IG05
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M2598_IG15
 						;; size=29 bbWeight=0.50 PerfScore 3.25
 G_M2598_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Text.Latin1Encoding:s_default
        cmp      rbx, gword ptr [rdi]
        je       SHORT G_M2598_IG05
        mov      rdi, rbx
        mov      rsi, r15
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x50]
        call     [rax+0x18]System.Text.Encoding:GetByteCount(System.String):int:this
        jmp      SHORT G_M2598_IG06
 						;; size=33 bbWeight=0.50 PerfScore 6.88
 G_M2598_IG05:
        mov      eax, dword ptr [r15+0x08]
 						;; size=4 bbWeight=0.50 PerfScore 1.00
 G_M2598_IG06:
        mov      rdx, r12
        mov      ecx, r14d
        lea      r8, [rbp-0x30]
        mov      dword ptr [rbp-0x34], eax
        mov      edi, eax
        mov      esi, 7
        mov      r9, 0xD1FFAB1E      ; code for System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        call     [r9]System.Net.Http.HPack.IntegerEncoder:Encode(int,int,System.Span`1[ubyte],byref):ubyte
        test     eax, eax
        je       SHORT G_M2598_IG07
        mov      eax, dword ptr [rbp-0x30]
        cmp      eax, r14d
        ja       G_M2598_IG16
        mov      esi, eax
        add      rsi, r12
        sub      r14d, eax
        mov      edx, r14d
        mov      r14d, dword ptr [rbp-0x34]
        cmp      edx, r14d
        jge      SHORT G_M2598_IG09
 						;; size=69 bbWeight=0.50 PerfScore 6.25
 G_M2598_IG07:
        xor      eax, eax
        mov      dword ptr [r13], eax
 						;; size=6 bbWeight=0.50 PerfScore 0.62
 G_M2598_IG08:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M2598_IG09:
        test     rbx, rbx
        je       SHORT G_M2598_IG12
        test     r15, r15
-       je       SHORT G_M2598_IG10
-       lea      rcx, bword ptr [r15+0x0C]
-       mov      r8d, dword ptr [r15+0x08]
-       mov      rdi, rcx
-       mov      eax, r8d
-       jmp      SHORT G_M2598_IG11
-						;; size=26 bbWeight=0.50 PerfScore 3.75
-G_M2598_IG10:
+       jne      SHORT G_M2598_IG10
        xor      rdi, rdi
        xor      eax, eax
-						;; size=4 bbWeight=0.50 PerfScore 0.25
+       jmp      SHORT G_M2598_IG11
+						;; size=16 bbWeight=0.50 PerfScore 2.50
+G_M2598_IG10:
+       lea      rdi, bword ptr [r15+0x0C]
+       mov      eax, dword ptr [r15+0x08]
+						;; size=8 bbWeight=0.50 PerfScore 1.25
 G_M2598_IG11:
        mov      rcx, rsi
        mov      r8d, edx
        mov      rsi, rdi
        mov      edx, eax
        mov      rdi, rbx
        mov      rax, qword ptr [rbx]
        mov      rax, qword ptr [rax+0x58]
        call     [rax+0x28]System.Text.Encoding:GetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte]):int:this
        jmp      SHORT G_M2598_IG13
 						;; size=26 bbWeight=0.50 PerfScore 5.12
 G_M2598_IG12:
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.Net.Http.QPack.QPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
        call     [rax]System.Net.Http.QPack.QPackEncoder:EncodeValueStringPart(System.String,System.Span`1[ubyte])
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M2598_IG13:
        add      r14d, dword ptr [rbp-0x30]
        mov      dword ptr [r13], r14d
        mov      eax, 1
 						;; size=13 bbWeight=0.50 PerfScore 1.62
 G_M2598_IG14:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0.50 PerfScore 2.12
 G_M2598_IG15:
        mov      rdi, 0xD1FFAB1E      ; System.Text.Latin1Encoding
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        jmp      G_M2598_IG04
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M2598_IG16:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 331, prolog size 19, PerfScore 44.00, instruction count 101, allocated bytes for code 331 (MethodHash=b662f5d9) for method System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
+; Total bytes of code 325, prolog size 19, PerfScore 43.75, instruction count 99, allocated bytes for code 325 (MethodHash=b662f5d9) for method System.Net.Http.QPack.QPackEncoder:EncodeValueString(System.String,System.Text.Encoding,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; ============================================================
-5 (-0.81 % of base) - System.DateOnly:TryParseExactInternal(System.ReadOnlySpan`1[ushort],System.String[],System.IFormatProvider,int,byref):int
 ; Assembly listing for method System.DateOnly:TryParseExactInternal(System.ReadOnlySpan`1[ushort],System.String[],System.IFormatProvider,int,byref):int (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 12 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ushort]>
 ;  V01 arg1         [V01,T04] (  5,  7   )     ref  ->  r15         class-hnd single-def <System.String[]>
 ;  V02 arg2         [V02,T15] (  3,  2.50)     ref  ->  rcx         class-hnd single-def <System.IFormatProvider>
 ;  V03 arg3         [V03,T10] (  4,  5   )     int  ->  r13         single-def
 ;  V04 arg4         [V04,T11] (  6,  4   )   byref  ->  r12         single-def
 ;  V05 loc0         [V05,T16] (  2,  4.50)     ref  ->  [rbp-0x98]  class-hnd exact spill-single-def <System.Globalization.DateTimeFormatInfo>
 ;* V06 loc1         [V06,T20] (  0,  0   )     int  ->  zero-ref   
 ;  V07 loc2         [V07,T06] (  3,  8   )     ref  ->   r9         class-hnd <System.Globalization.DateTimeFormatInfo>
 ;  V08 loc3         [V08,T00] (  9, 24   )     ref  ->  [rbp-0xA0]  class-hnd <System.String>
 ;  V09 loc4         [V09    ] ( 14, 70.50)  struct (88) [rbp-0x80]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.DateTimeResult>
 ;  V10 loc5         [V10,T13] (  3,  6   )     int  ->  rdi        
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V12 tmp1         [V12    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V13 tmp2         [V13    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.DateOnly>
 ;* V14 tmp3         [V14,T21] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V15 tmp4         [V15    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V16 tmp5         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V17 tmp6         [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V18 tmp7         [V18,T08] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
-;  V19 tmp8         [V19,T09] (  2,  8   )     int  ->  rsi         "Inlining Arg"
+;* V16 tmp5         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V17 tmp6         [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V18 tmp7         [V18,T08] (  2,  8   )   byref  ->   r8         "Inlining Arg"
+;  V19 tmp8         [V19,T09] (  2,  8   )     int  ->  r10         "Inlining Arg"
 ;  V20 tmp9         [V20,T18] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V21 tmp10        [V21    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V22 tmp11        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V23 tmp12        [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V24 tmp13        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;* V25 tmp14        [V25    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inlining Arg" <System.DateTime>
 ;* V26 tmp15        [V26    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V27 tmp16        [V27,T05] (  3,  7   )   byref  ->  r14         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;  V28 tmp17        [V28,T03] (  4, 11   )     int  ->  rbx         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;* V29 tmp18        [V29    ] (  0,  0   )   byref  ->  zero-ref    "field V12._reference (fldOffset=0x0)" P-INDEP
 ;* V30 tmp19        [V30    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
 ;  V31 tmp20        [V31,T22] (  2,  1   )     int  ->  rdx         "field V13._dayNumber (fldOffset=0x0)" P-INDEP
 ;  V32 tmp21        [V32,T12] (  3,  6   )   byref  ->   r8         "field V15._reference (fldOffset=0x0)" P-INDEP
 ;  V33 tmp22        [V33,T01] (  4, 22   )     int  ->  r10         "field V15._length (fldOffset=0x8)" P-INDEP
-;  V34 tmp23        [V34,T17] (  2,  4   )   byref  ->  rdi         "field V16._reference (fldOffset=0x0)" P-INDEP
-;  V35 tmp24        [V35,T19] (  2,  4   )     int  ->  rsi         "field V16._length (fldOffset=0x8)" P-INDEP
-;* V36 tmp25        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
-;* V37 tmp26        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;* V34 tmp23        [V34    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
+;* V35 tmp24        [V35    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;  V36 tmp25        [V36,T17] (  2,  4   )   byref  ->   r8         "field V17._reference (fldOffset=0x0)" P-INDEP
+;  V37 tmp26        [V37,T19] (  2,  4   )     int  ->  r10         "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp27        [V38    ] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp28        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp29        [V40    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp30        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V42 tmp31        [V42    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V43 tmp32        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V44 tmp33        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V45 tmp34        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
 ;  V46 tmp35        [V46,T23] (  2,  1   )    long  ->  rdx         "field V25._dateData (fldOffset=0x0)" P-INDEP
 ;  V47 cse0         [V47,T07] (  3,  8   )     int  ->  rdi         "CSE #01: moderate"
 ;  V48 cse1         [V48,T14] (  3,  5   )     int  ->  [rbp-0x84]  spill-single-def "CSE #02: moderate"
 ;  V49 rat0         [V49,T02] (  5, 16.50)    long  ->  [rbp-0x90]  "Widened IV V06"
 ;
 ; Lcl frame size = 136
 
 G_M40341_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 136
        lea      rbp, [rsp+0xB0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x80], ymm8
        vmovdqu  ymmword ptr [rbp-0x60], ymm8
        vmovdqa  xmmword ptr [rbp-0x40], xmm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      r14, rdi
        mov      ebx, esi
        mov      r15, rdx
        mov      r13d, r8d
        mov      r12, r9
 						;; size=65 bbWeight=1 PerfScore 15.58
 G_M40341_IG02:
        test     r13d, -8
        jne      G_M40341_IG25
 						;; size=13 bbWeight=1 PerfScore 1.25
 G_M40341_IG03:
        test     r15, r15
        je       G_M40341_IG25
        mov      rdi, rcx
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.DateTimeFormatInfo:GetInstance(System.IFormatProvider):System.Globalization.DateTimeFormatInfo
        call     [rax]System.Globalization.DateTimeFormatInfo:GetInstance(System.IFormatProvider):System.Globalization.DateTimeFormatInfo
        mov      gword ptr [rbp-0x98], rax
        xor      ecx, ecx
        mov      edx, dword ptr [r15+0x08]
        mov      dword ptr [rbp-0x84], edx
        test     edx, edx
        jle      G_M40341_IG20
 						;; size=51 bbWeight=0.50 PerfScore 5.12
 G_M40341_IG04:
        mov      r9, rax
        mov      qword ptr [rbp-0x90], rcx
        mov      rsi, gword ptr [r15+8*rcx+0x10]
        test     rsi, rsi
        je       G_M40341_IG23
 						;; size=24 bbWeight=4 PerfScore 18.00
 G_M40341_IG05:
        mov      edi, dword ptr [rsi+0x08]
        test     edi, edi
        je       G_M40341_IG23
 						;; size=11 bbWeight=2 PerfScore 6.50
 G_M40341_IG06:
        cmp      edi, 1
        jne      SHORT G_M40341_IG10
 						;; size=5 bbWeight=4 PerfScore 5.00
 G_M40341_IG07:
        movzx    rdi, word  ptr [rsi+0x0C]
        or       edi, 32
        cmp      edi, 111
        jne      SHORT G_M40341_IG08
        mov      rsi, 0xD1FFAB1E      ; 'yyyy'-'MM'-'dd'
        mov      gword ptr [rbp-0xA0], rsi
        jmp      SHORT G_M40341_IG09
 						;; size=31 bbWeight=2 PerfScore 13.50
 G_M40341_IG08:
        cmp      edi, 114
        jne      SHORT G_M40341_IG10
        mov      rsi, 0xD1FFAB1E      ; 'ddd, dd MMM yyyy'
        mov      gword ptr [rbp-0xA0], rsi
 						;; size=22 bbWeight=2 PerfScore 5.00
 G_M40341_IG09:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        mov      r8, 0xD1FFAB1E      ; code for System.Globalization.CultureInfo:get_DateTimeFormat():System.Globalization.DateTimeFormatInfo:this
        call     [r8]System.Globalization.CultureInfo:get_DateTimeFormat():System.Globalization.DateTimeFormatInfo:this
        mov      r9, rax
        mov      rsi, gword ptr [rbp-0xA0]
 						;; size=36 bbWeight=2 PerfScore 13.50
 G_M40341_IG10:
        vxorps   ymm0, ymm0, ymm0
        vmovdqu  ymmword ptr [rbp-0x80], ymm0
        vmovdqu  ymmword ptr [rbp-0x60], ymm0
        vmovdqu  ymmword ptr [rbp-0x48], ymm0
        mov      bword ptr [rbp-0x38], r14
        mov      dword ptr [rbp-0x30], ebx
        mov      dword ptr [rbp-0x70], -1
        mov      dword ptr [rbp-0x6C], -1
        mov      dword ptr [rbp-0x68], -1
        mov      rdi, 0xD1FFAB1E
        mov      qword ptr [rbp-0x78], rdi
        mov      dword ptr [rbp-0x58], -1
        test     rsi, rsi
-       je       SHORT G_M40341_IG12
+       jne      SHORT G_M40341_IG12
 						;; size=73 bbWeight=4 PerfScore 47.33
 G_M40341_IG11:
-       lea      rdi, bword ptr [rsi+0x0C]
-       mov      esi, dword ptr [rsi+0x08]
-       mov      r8, rdi
-       mov      r10d, esi
-       jmp      SHORT G_M40341_IG13
-						;; size=15 bbWeight=2 PerfScore 10.00
-G_M40341_IG12:
        xor      r8, r8
        xor      r10d, r10d
-						;; size=6 bbWeight=2 PerfScore 1.00
+       jmp      SHORT G_M40341_IG13
+						;; size=8 bbWeight=2 PerfScore 5.00
+G_M40341_IG12:
+       lea      r8, bword ptr [rsi+0x0C]
+       mov      r10d, dword ptr [rsi+0x08]
+						;; size=8 bbWeight=2 PerfScore 5.00
 G_M40341_IG13:
        test     ebx, ebx
        je       G_M40341_IG22
 						;; size=8 bbWeight=4 PerfScore 5.00
 G_M40341_IG14:
        test     r10d, r10d
        je       SHORT G_M40341_IG18
 						;; size=5 bbWeight=16 PerfScore 20.00
 G_M40341_IG15:
        lea      rdi, [rbp-0x80]
        mov      qword ptr [rsp], rdi
        mov      rdi, r14
        mov      esi, ebx
        mov      rdx, r8
        mov      ecx, r10d
        mov      r8d, r13d
        mov      r10, 0xD1FFAB1E      ; code for System.DateTimeParse:DoStrictParse(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,System.Globalization.DateTimeFormatInfo,byref):ubyte
        call     [r10]System.DateTimeParse:DoStrictParse(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,System.Globalization.DateTimeFormatInfo,byref):ubyte
        test     eax, eax
        je       SHORT G_M40341_IG19
        test     dword ptr [rbp-0x54], 0x4B78
        jne      SHORT G_M40341_IG19
 						;; size=48 bbWeight=2 PerfScore 20.50
 G_M40341_IG16:
        mov      rdx, qword ptr [rbp-0x40]
        mov      rax, 0xD1FFAB1E
        and      rdx, rax
        mov      rcx, 0xD1FFAB1E
        mov      rax, rdx
        mul      rdx:rax, rcx
        shr      rdx, 37
        mov      dword ptr [r12], edx
        xor      eax, eax
 						;; size=43 bbWeight=0.50 PerfScore 3.38
 G_M40341_IG17:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 G_M40341_IG18:
        mov      dword ptr [rbp-0x50], 6
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x38], xmm0
 						;; size=16 bbWeight=16 PerfScore 37.33
 G_M40341_IG19:
        mov      rcx, qword ptr [rbp-0x90]
        inc      ecx
        mov      edx, dword ptr [rbp-0x84]
        cmp      edx, ecx
        mov      rax, gword ptr [rbp-0x98]
        jg       G_M40341_IG04
 						;; size=30 bbWeight=4 PerfScore 18.00
 G_M40341_IG20:
        xor      eax, eax
        mov      dword ptr [r12], eax
        mov      eax, 17
 						;; size=11 bbWeight=0.50 PerfScore 0.75
 G_M40341_IG21:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 G_M40341_IG22:
        mov      dword ptr [rbp-0x50], 3
        jmp      SHORT G_M40341_IG19
 						;; size=9 bbWeight=2 PerfScore 6.00
 G_M40341_IG23:
        xor      eax, eax
        mov      dword ptr [r12], eax
        mov      eax, 16
 						;; size=11 bbWeight=0.50 PerfScore 0.75
 G_M40341_IG24:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 G_M40341_IG25:
        xor      eax, eax
        mov      dword ptr [r12], eax
        mov      eax, 15
 						;; size=11 bbWeight=0.50 PerfScore 0.75
 G_M40341_IG26:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 
-; Total bytes of code 616, prolog size 65, PerfScore 262.75, instruction count 158, allocated bytes for code 616 (MethodHash=1b4f626a) for method System.DateOnly:TryParseExactInternal(System.ReadOnlySpan`1[ushort],System.String[],System.IFormatProvider,int,byref):int (FullOpts)
+; Total bytes of code 611, prolog size 65, PerfScore 261.75, instruction count 156, allocated bytes for code 611 (MethodHash=1b4f626a) for method System.DateOnly:TryParseExactInternal(System.ReadOnlySpan`1[ushort],System.String[],System.IFormatProvider,int,byref):int (FullOpts)
 ; ============================================================
-5 (-5.88 % of base) - System.Guid:TryParseExact(System.String,System.String,byref):ubyte
 ; Assembly listing for method System.Guid:TryParseExact(System.String,System.String,byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 4 single block inlinees; 2 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rdi         class-hnd single-def <System.String>
 ;  V01 arg1         [V01,T01] (  5,  3.50)     ref  ->  rsi         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T02] (  4,  3   )   byref  ->   r8         single-def
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V04 tmp1         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
-;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V07 tmp4         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V07 tmp4         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V08 tmp5         [V08,T03] (  2,  2   )   byref  ->  rdx         single-def "Inlining Arg"
 ;  V09 tmp6         [V09,T05] (  2,  2   )     int  ->  rdi         "Inlining Arg"
 ;* V10 tmp7         [V10    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V13 tmp10        [V13,T04] (  2,  2   )   byref  ->  rdi         single-def "Inlining Arg"
-;  V14 tmp11        [V14,T06] (  2,  2   )     int  ->  rsi         "Inlining Arg"
+;* V11 tmp8         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V12 tmp9         [V12    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V13 tmp10        [V13,T04] (  2,  2   )   byref  ->  rax         single-def "Inlining Arg"
+;  V14 tmp11        [V14,T06] (  2,  2   )     int  ->   r9         "Inlining Arg"
 ;  V15 tmp12        [V15,T09] (  2,  1   )   byref  ->  rdx         single-def "field V04._reference (fldOffset=0x0)" P-INDEP
 ;  V16 tmp13        [V16,T12] (  2,  1   )     int  ->  rcx         "field V04._length (fldOffset=0x8)" P-INDEP
 ;* V17 tmp14        [V17    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V18 tmp15        [V18    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;  V19 tmp16        [V19,T10] (  2,  1   )   byref  ->  rdx         single-def "field V06._reference (fldOffset=0x0)" P-INDEP
-;  V20 tmp17        [V20,T13] (  2,  1   )     int  ->  rdi         "field V06._length (fldOffset=0x8)" P-INDEP
-;* V21 tmp18        [V21    ] (  0,  0   )   byref  ->  zero-ref    "field V07._reference (fldOffset=0x0)" P-INDEP
-;* V22 tmp19        [V22    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
+;* V19 tmp16        [V19    ] (  0,  0   )   byref  ->  zero-ref    "field V06._reference (fldOffset=0x0)" P-INDEP
+;* V20 tmp17        [V20    ] (  0,  0   )     int  ->  zero-ref    "field V06._length (fldOffset=0x8)" P-INDEP
+;  V21 tmp18        [V21,T10] (  2,  1   )   byref  ->  rdx         single-def "field V07._reference (fldOffset=0x0)" P-INDEP
+;  V22 tmp19        [V22,T13] (  2,  1   )     int  ->  rdi         "field V07._length (fldOffset=0x8)" P-INDEP
 ;  V23 tmp20        [V23,T07] (  3,  1.50)   byref  ->  rax         "field V10._reference (fldOffset=0x0)" P-INDEP
 ;  V24 tmp21        [V24,T08] (  3,  1.50)     int  ->   r9         "field V10._length (fldOffset=0x8)" P-INDEP
-;  V25 tmp22        [V25,T11] (  2,  1   )   byref  ->  rdi         single-def "field V11._reference (fldOffset=0x0)" P-INDEP
-;  V26 tmp23        [V26,T14] (  2,  1   )     int  ->  rsi         "field V11._length (fldOffset=0x8)" P-INDEP
-;* V27 tmp24        [V27    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V12._reference (fldOffset=0x0)" P-INDEP
-;* V28 tmp25        [V28    ] (  0,  0   )     int  ->  zero-ref    "field V12._length (fldOffset=0x8)" P-INDEP
+;* V25 tmp22        [V25    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V11._reference (fldOffset=0x0)" P-INDEP
+;* V26 tmp23        [V26    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
+;  V27 tmp24        [V27,T11] (  2,  1   )   byref  ->  rax         single-def "field V12._reference (fldOffset=0x0)" P-INDEP
+;  V28 tmp25        [V28,T14] (  2,  1   )     int  ->   r9         "field V12._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M21179_IG01:
        push     rbp
        mov      rbp, rsp
        mov      r8, rdx
 						;; size=7 bbWeight=1 PerfScore 1.50
 G_M21179_IG02:
        test     rdi, rdi
        je       SHORT G_M21179_IG07
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M21179_IG03:
        lea      rdx, bword ptr [rdi+0x0C]
        mov      edi, dword ptr [rdi+0x08]
        mov      ecx, edi
        test     rsi, rsi
-       je       SHORT G_M21179_IG04
-       lea      rdi, bword ptr [rsi+0x0C]
-       mov      esi, dword ptr [rsi+0x08]
-       mov      rax, rdi
-       mov      r9d, esi
-       jmp      SHORT G_M21179_IG05
-						;; size=29 bbWeight=0.50 PerfScore 4.50
-G_M21179_IG04:
+       jne      SHORT G_M21179_IG04
        xor      rax, rax
        xor      r9d, r9d
-						;; size=5 bbWeight=0.50 PerfScore 0.25
+       jmp      SHORT G_M21179_IG05
+						;; size=21 bbWeight=0.50 PerfScore 3.25
+G_M21179_IG04:
+       lea      rax, bword ptr [rsi+0x0C]
+       mov      r9d, dword ptr [rsi+0x08]
+						;; size=8 bbWeight=0.50 PerfScore 1.25
 G_M21179_IG05:
        mov      rdi, rdx
        mov      esi, ecx
        mov      rdx, rax
        mov      ecx, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.Guid:TryParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],byref):ubyte
        call     [rax]System.Guid:TryParseExact(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],byref):ubyte
        nop      
 						;; size=24 bbWeight=0.50 PerfScore 2.25
 G_M21179_IG06:
        pop      rbp
        ret      
 						;; size=2 bbWeight=0.50 PerfScore 0.75
 G_M21179_IG07:
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [r8], xmm0
        xor      eax, eax
 						;; size=11 bbWeight=0.50 PerfScore 1.29
 G_M21179_IG08:
        pop      rbp
        ret      
 						;; size=2 bbWeight=0.50 PerfScore 0.75
 
-; Total bytes of code 85, prolog size 4, PerfScore 12.54, instruction count 31, allocated bytes for code 85 (MethodHash=7331ad44) for method System.Guid:TryParseExact(System.String,System.String,byref):ubyte (FullOpts)
+; Total bytes of code 80, prolog size 4, PerfScore 12.29, instruction count 29, allocated bytes for code 80 (MethodHash=7331ad44) for method System.Guid:TryParseExact(System.String,System.String,byref):ubyte (FullOpts)
 ; ============================================================
-5 (-6.58 % of base) - System.Number:TryCopyTo[ubyte](System.String,System.Span`1[ubyte],byref):ubyte
 ; Assembly listing for method System.Number:TryCopyTo[ubyte](System.String,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 3 single block inlinees; 1 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T00] (  5,  4   )     ref  ->  rdi         class-hnd single-def <System.String>
 ;* V01 arg1         [V01    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Span`1[ubyte]>
 ;  V02 arg2         [V02,T01] (  3,  3   )   byref  ->   r9         single-def
 ;# V03 OutArgs      [V03    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V04 tmp1         [V04,T02] (  2,  4   )     ref  ->  rax         class-hnd exact single-def "impAppendStmt" <System.Text.UTF8Encoding+UTF8EncodingSealed>
 ;* V05 tmp2         [V05    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V06 tmp3         [V06    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V07 tmp4         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V09 tmp6         [V09,T07] (  2,  2   )   byref  ->  rcx         single-def "Inlining Arg"
-;  V10 tmp7         [V10,T08] (  2,  2   )     int  ->   r8         "Inlining Arg"
+;* V07 tmp4         [V07    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V08 tmp5         [V08    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V09 tmp6         [V09,T07] (  2,  2   )   byref  ->  r10         single-def "Inlining Arg"
+;  V10 tmp7         [V10,T08] (  2,  2   )     int  ->  r11         "Inlining Arg"
 ;  V11 tmp8         [V11,T03] (  2,  2   )   byref  ->  rsi         single-def "field V01._reference (fldOffset=0x0)" P-INDEP
 ;  V12 tmp9         [V12,T04] (  2,  2   )     int  ->  rdx         single-def "field V01._length (fldOffset=0x8)" P-INDEP
 ;* V13 tmp10        [V13    ] (  0,  0   )   byref  ->  zero-ref    "field V05._reference (fldOffset=0x0)" P-INDEP
 ;* V14 tmp11        [V14    ] (  0,  0   )     int  ->  zero-ref    "field V05._length (fldOffset=0x8)" P-INDEP
-;  V15 tmp12        [V15,T05] (  3,  2   )   byref  ->  rdi         "field V06._reference (fldOffset=0x0)" P-INDEP
-;  V16 tmp13        [V16,T06] (  3,  2   )     int  ->  r10         "field V06._length (fldOffset=0x8)" P-INDEP
-;  V17 tmp14        [V17,T09] (  2,  1   )   byref  ->  rcx         single-def "field V07._reference (fldOffset=0x0)" P-INDEP
-;  V18 tmp15        [V18,T10] (  2,  1   )     int  ->   r8         "field V07._length (fldOffset=0x8)" P-INDEP
-;* V19 tmp16        [V19    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V08._reference (fldOffset=0x0)" P-INDEP
-;* V20 tmp17        [V20    ] (  0,  0   )     int  ->  zero-ref    "field V08._length (fldOffset=0x8)" P-INDEP
+;  V15 tmp12        [V15,T05] (  3,  2   )   byref  ->  r10         "field V06._reference (fldOffset=0x0)" P-INDEP
+;  V16 tmp13        [V16,T06] (  3,  2   )     int  ->  r11         "field V06._length (fldOffset=0x8)" P-INDEP
+;* V17 tmp14        [V17    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V07._reference (fldOffset=0x0)" P-INDEP
+;* V18 tmp15        [V18    ] (  0,  0   )     int  ->  zero-ref    "field V07._length (fldOffset=0x8)" P-INDEP
+;  V19 tmp16        [V19,T09] (  2,  1   )   byref  ->  r10         single-def "field V08._reference (fldOffset=0x0)" P-INDEP
+;  V20 tmp17        [V20,T10] (  2,  1   )     int  ->  r11         "field V08._length (fldOffset=0x8)" P-INDEP
 ;
 ; Lcl frame size = 0
 
 G_M5775_IG01:
        push     rbp
        mov      rbp, rsp
        mov      r9, rcx
 						;; size=7 bbWeight=1 PerfScore 1.50
 G_M5775_IG02:
        mov      rcx, 0xD1FFAB1E      ; const ptr
        mov      rax, gword ptr [rcx]
        test     rdi, rdi
-       je       SHORT G_M5775_IG04
+       jne      SHORT G_M5775_IG04
 						;; size=18 bbWeight=1 PerfScore 3.50
 G_M5775_IG03:
-       lea      rcx, bword ptr [rdi+0x0C]
-       mov      r8d, dword ptr [rdi+0x08]
-       mov      rdi, rcx
-       mov      r10d, r8d
+       xor      r10, r10
+       xor      r11d, r11d
        jmp      SHORT G_M5775_IG05
-						;; size=16 bbWeight=0.50 PerfScore 2.50
+						;; size=8 bbWeight=0.50 PerfScore 1.25
 G_M5775_IG04:
-       xor      rdi, rdi
-       xor      r10d, r10d
-						;; size=5 bbWeight=0.50 PerfScore 0.25
+       lea      r10, bword ptr [rdi+0x0C]
+       mov      r11d, dword ptr [rdi+0x08]
+						;; size=8 bbWeight=0.50 PerfScore 1.25
 G_M5775_IG05:
        mov      rcx, rsi
        mov      r8d, edx
-       mov      rsi, rdi
-       mov      edx, r10d
+       mov      rsi, r10
+       mov      edx, r11d
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Text.UTF8Encoding+UTF8EncodingSealed:TryGetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],byref):ubyte:this
        call     [rax]System.Text.UTF8Encoding+UTF8EncodingSealed:TryGetBytes(System.ReadOnlySpan`1[ushort],System.Span`1[ubyte],byref):ubyte:this
        nop      
 						;; size=28 bbWeight=1 PerfScore 4.75
 G_M5775_IG06:
        pop      rbp
        ret      
 						;; size=2 bbWeight=1 PerfScore 1.50
 
-; Total bytes of code 76, prolog size 4, PerfScore 14.00, instruction count 24, allocated bytes for code 76 (MethodHash=ea65e970) for method System.Number:TryCopyTo[ubyte](System.String,System.Span`1[ubyte],byref):ubyte (FullOpts)
+; Total bytes of code 71, prolog size 4, PerfScore 13.75, instruction count 22, allocated bytes for code 71 (MethodHash=ea65e970) for method System.Number:TryCopyTo[ubyte](System.String,System.Span`1[ubyte],byref):ubyte (FullOpts)
 ; ============================================================
-5 (-0.73 % of base) - System.TimeOnly:TryParseExactInternal(System.ReadOnlySpan`1[ushort],System.String[],System.IFormatProvider,int,byref):int
 ; Assembly listing for method System.TimeOnly:TryParseExactInternal(System.ReadOnlySpan`1[ushort],System.String[],System.IFormatProvider,int,byref):int (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 13 single block inlinees; 3 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 arg0         [V00    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.ReadOnlySpan`1[ushort]>
 ;  V01 arg1         [V01,T04] (  5,  7   )     ref  ->  r15         class-hnd single-def <System.String[]>
 ;  V02 arg2         [V02,T15] (  3,  2.50)     ref  ->  rcx         class-hnd single-def <System.IFormatProvider>
 ;  V03 arg3         [V03,T10] (  4,  5   )     int  ->  r13         single-def
 ;  V04 arg4         [V04,T11] (  6,  4   )   byref  ->  r12         single-def
 ;  V05 loc0         [V05,T16] (  2,  4.50)     ref  ->  [rbp-0xA0]  class-hnd exact spill-single-def <System.Globalization.DateTimeFormatInfo>
 ;* V06 loc1         [V06,T21] (  0,  0   )     int  ->  zero-ref   
 ;  V07 loc2         [V07,T06] (  3,  8   )     ref  ->   r9         class-hnd <System.Globalization.DateTimeFormatInfo>
 ;  V08 loc3         [V08,T00] (  9, 24   )     ref  ->  [rbp-0xA8]  class-hnd <System.String>
 ;  V09 loc4         [V09    ] ( 14, 70.50)  struct (88) [rbp-0x80]  do-not-enreg[XSF] must-init addr-exposed ld-addr-op <System.DateTimeResult>
 ;  V10 loc5         [V10,T13] (  3,  6   )     int  ->  rdi        
 ;* V11 loc6         [V11    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op <System.TimeSpan>
 ;  V12 OutArgs      [V12    ] (  1,  1   )  struct ( 8) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V14 tmp2         [V14    ] (  3,  3   )  struct ( 8) [rbp-0x88]  do-not-enreg[XS] addr-exposed ld-addr-op "NewObj constructor temp" <System.TimeOnly>
 ;* V15 tmp3         [V15,T22] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V16 tmp4         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V17 tmp5         [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V19 tmp7         [V19,T08] (  2,  8   )   byref  ->  rdi         "Inlining Arg"
-;  V20 tmp8         [V20,T09] (  2,  8   )     int  ->  rsi         "Inlining Arg"
+;* V17 tmp5         [V17    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V19 tmp7         [V19,T08] (  2,  8   )   byref  ->   r8         "Inlining Arg"
+;  V20 tmp8         [V20,T09] (  2,  8   )     int  ->  r10         "Inlining Arg"
 ;  V21 tmp9         [V21,T18] (  2,  4   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V22 tmp10        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V23 tmp11        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V24 tmp12        [V24    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V25 tmp13        [V25    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;* V26 tmp14        [V26    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "NewObj constructor temp" <System.TimeSpan>
 ;* V27 tmp15        [V27    ] (  0,  0   )    long  ->  zero-ref    "Inlining Arg"
 ;  V28 tmp16        [V28,T05] (  3,  7   )   byref  ->  r14         single-def "field V00._reference (fldOffset=0x0)" P-INDEP
 ;  V29 tmp17        [V29,T03] (  4, 11   )     int  ->  rbx         single-def "field V00._length (fldOffset=0x8)" P-INDEP
 ;* V30 tmp18        [V30    ] (  0,  0   )    long  ->  zero-ref    "field V11._ticks (fldOffset=0x0)" P-INDEP
 ;* V31 tmp19        [V31    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V32 tmp20        [V32    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
 ;  V33 tmp21        [V33    ] (  3,  2.50)    long  ->  [rbp-0x88]  do-not-enreg[X] addr-exposed "field V14._ticks (fldOffset=0x0)" P-DEP
 ;  V34 tmp22        [V34,T12] (  3,  6   )   byref  ->   r8         "field V16._reference (fldOffset=0x0)" P-INDEP
 ;  V35 tmp23        [V35,T01] (  4, 22   )     int  ->  r10         "field V16._length (fldOffset=0x8)" P-INDEP
-;  V36 tmp24        [V36,T17] (  2,  4   )   byref  ->  rdi         "field V17._reference (fldOffset=0x0)" P-INDEP
-;  V37 tmp25        [V37,T19] (  2,  4   )     int  ->  rsi         "field V17._length (fldOffset=0x8)" P-INDEP
-;* V38 tmp26        [V38    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
-;* V39 tmp27        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;* V36 tmp24        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
+;* V37 tmp25        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
+;  V38 tmp26        [V38,T17] (  2,  4   )   byref  ->   r8         "field V18._reference (fldOffset=0x0)" P-INDEP
+;  V39 tmp27        [V39,T19] (  2,  4   )     int  ->  r10         "field V18._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp28        [V40    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp29        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V42 tmp30        [V42    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V43 tmp31        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V44 tmp32        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V45 tmp33        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp34        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V25._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp35        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
 ;  V48 tmp36        [V48,T23] (  2,  1   )    long  ->  rsi         "field V26._ticks (fldOffset=0x0)" P-INDEP
 ;  V49 cse0         [V49,T07] (  3,  8   )     int  ->  rdi         "CSE #01: moderate"
 ;  V50 cse1         [V50,T14] (  3,  5   )     int  ->  [rbp-0x8C]  spill-single-def "CSE #02: moderate"
 ;  V51 rat0         [V51,T02] (  5, 16.50)    long  ->  [rbp-0x98]  "Widened IV V06"
 ;  V52 rat1         [V52,T20] (  3,  3   )    long  ->  rsi         "ReplaceWithLclVar is creating a new local variable"
 ;
 ; Lcl frame size = 136
 
 G_M13236_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 136
        lea      rbp, [rsp+0xB0]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x80], ymm8
        vmovdqu  ymmword ptr [rbp-0x60], ymm8
        vmovdqa  xmmword ptr [rbp-0x40], xmm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      r14, rdi
        mov      ebx, esi
        mov      r15, rdx
        mov      r13d, r8d
        mov      r12, r9
 						;; size=65 bbWeight=1 PerfScore 15.58
 G_M13236_IG02:
        test     r13d, -8
        jne      G_M13236_IG25
 						;; size=13 bbWeight=1 PerfScore 1.25
 G_M13236_IG03:
        test     r15, r15
        je       G_M13236_IG25
        mov      rdi, rcx
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.DateTimeFormatInfo:GetInstance(System.IFormatProvider):System.Globalization.DateTimeFormatInfo
        call     [rax]System.Globalization.DateTimeFormatInfo:GetInstance(System.IFormatProvider):System.Globalization.DateTimeFormatInfo
        mov      gword ptr [rbp-0xA0], rax
        xor      ecx, ecx
        mov      edx, dword ptr [r15+0x08]
        mov      dword ptr [rbp-0x8C], edx
        test     edx, edx
        jle      G_M13236_IG20
 						;; size=51 bbWeight=0.50 PerfScore 5.12
 G_M13236_IG04:
        mov      r9, rax
        mov      qword ptr [rbp-0x98], rcx
        mov      rsi, gword ptr [r15+8*rcx+0x10]
        test     rsi, rsi
        je       G_M13236_IG23
 						;; size=24 bbWeight=4 PerfScore 18.00
 G_M13236_IG05:
        mov      edi, dword ptr [rsi+0x08]
        test     edi, edi
        je       G_M13236_IG23
 						;; size=11 bbWeight=2 PerfScore 6.50
 G_M13236_IG06:
        cmp      edi, 1
        jne      SHORT G_M13236_IG10
 						;; size=5 bbWeight=4 PerfScore 5.00
 G_M13236_IG07:
        movzx    rdi, word  ptr [rsi+0x0C]
        or       edi, 32
        cmp      edi, 111
        jne      SHORT G_M13236_IG08
        mov      rsi, 0xD1FFAB1E      ; 'HH':'mm':'ss'.'fffffff'
        mov      gword ptr [rbp-0xA8], rsi
        jmp      SHORT G_M13236_IG09
 						;; size=31 bbWeight=2 PerfScore 13.50
 G_M13236_IG08:
        cmp      edi, 114
        jne      SHORT G_M13236_IG10
        mov      rsi, 0xD1FFAB1E      ; 'HH':'mm':'ss'
        mov      gword ptr [rbp-0xA8], rsi
 						;; size=22 bbWeight=2 PerfScore 5.00
 G_M13236_IG09:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      rdi, gword ptr [rdi]
        mov      r8, 0xD1FFAB1E      ; code for System.Globalization.CultureInfo:get_DateTimeFormat():System.Globalization.DateTimeFormatInfo:this
        call     [r8]System.Globalization.CultureInfo:get_DateTimeFormat():System.Globalization.DateTimeFormatInfo:this
        mov      r9, rax
        mov      rsi, gword ptr [rbp-0xA8]
 						;; size=36 bbWeight=2 PerfScore 13.50
 G_M13236_IG10:
        vxorps   ymm0, ymm0, ymm0
        vmovdqu  ymmword ptr [rbp-0x80], ymm0
        vmovdqu  ymmword ptr [rbp-0x60], ymm0
        vmovdqu  ymmword ptr [rbp-0x48], ymm0
        mov      bword ptr [rbp-0x38], r14
        mov      dword ptr [rbp-0x30], ebx
        mov      dword ptr [rbp-0x70], -1
        mov      dword ptr [rbp-0x6C], -1
        mov      dword ptr [rbp-0x68], -1
        mov      rdi, 0xD1FFAB1E
        mov      qword ptr [rbp-0x78], rdi
        mov      dword ptr [rbp-0x58], -1
        test     rsi, rsi
-       je       SHORT G_M13236_IG12
+       jne      SHORT G_M13236_IG12
 						;; size=73 bbWeight=4 PerfScore 47.33
 G_M13236_IG11:
-       lea      rdi, bword ptr [rsi+0x0C]
-       mov      esi, dword ptr [rsi+0x08]
-       mov      r8, rdi
-       mov      r10d, esi
-       jmp      SHORT G_M13236_IG13
-						;; size=15 bbWeight=2 PerfScore 10.00
-G_M13236_IG12:
        xor      r8, r8
        xor      r10d, r10d
-						;; size=6 bbWeight=2 PerfScore 1.00
+       jmp      SHORT G_M13236_IG13
+						;; size=8 bbWeight=2 PerfScore 5.00
+G_M13236_IG12:
+       lea      r8, bword ptr [rsi+0x0C]
+       mov      r10d, dword ptr [rsi+0x08]
+						;; size=8 bbWeight=2 PerfScore 5.00
 G_M13236_IG13:
        test     ebx, ebx
        je       G_M13236_IG22
 						;; size=8 bbWeight=4 PerfScore 5.00
 G_M13236_IG14:
        test     r10d, r10d
        je       G_M13236_IG18
 						;; size=9 bbWeight=16 PerfScore 20.00
 G_M13236_IG15:
        lea      rdi, [rbp-0x80]
        mov      qword ptr [rsp], rdi
        mov      rdi, r14
        mov      esi, ebx
        mov      rdx, r8
        mov      ecx, r10d
        mov      r8d, r13d
        mov      r10, 0xD1FFAB1E      ; code for System.DateTimeParse:DoStrictParse(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,System.Globalization.DateTimeFormatInfo,byref):ubyte
        call     [r10]System.DateTimeParse:DoStrictParse(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],int,System.Globalization.DateTimeFormatInfo,byref):ubyte
        test     eax, eax
        je       G_M13236_IG19
        test     dword ptr [rbp-0x54], 0x4F87
        jne      G_M13236_IG19
 						;; size=56 bbWeight=2 PerfScore 20.50
 G_M13236_IG16:
        mov      rsi, 0xD1FFAB1E
        and      rsi, qword ptr [rbp-0x40]
        mov      rdx, 0xD1FFAB1E
        mov      rax, rsi
        mul      rdx:rax, rdx
        shr      rdx, 37
        mov      rdi, 0xD1FFAB1E
        imul     rdi, rdx
        sub      rsi, rdi
        xor      edi, edi
        mov      qword ptr [rbp-0x88], rdi
        lea      rdi, [rbp-0x88]
        mov      rax, 0xD1FFAB1E      ; code for System.TimeOnly:.ctor(long):this
        call     [rax]System.TimeOnly:.ctor(long):this
        mov      rax, qword ptr [rbp-0x88]
        mov      qword ptr [r12], rax
        xor      eax, eax
 						;; size=92 bbWeight=0.50 PerfScore 8.00
 G_M13236_IG17:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 G_M13236_IG18:
        mov      dword ptr [rbp-0x50], 6
        vxorps   xmm0, xmm0, xmm0
        vmovdqu  xmmword ptr [rbp-0x38], xmm0
 						;; size=16 bbWeight=16 PerfScore 37.33
 G_M13236_IG19:
        mov      rcx, qword ptr [rbp-0x98]
        inc      ecx
        mov      rdi, rcx
        mov      edx, dword ptr [rbp-0x8C]
        cmp      edx, edi
        mov      rcx, rdi
        mov      rax, gword ptr [rbp-0xA0]
        jg       G_M13236_IG04
 						;; size=36 bbWeight=4 PerfScore 20.00
 G_M13236_IG20:
        xor      eax, eax
        mov      qword ptr [r12], rax
        mov      eax, 18
 						;; size=11 bbWeight=0.50 PerfScore 0.75
 G_M13236_IG21:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 G_M13236_IG22:
        mov      dword ptr [rbp-0x50], 3
        jmp      SHORT G_M13236_IG19
 						;; size=9 bbWeight=2 PerfScore 6.00
 G_M13236_IG23:
        xor      eax, eax
        mov      qword ptr [r12], rax
        mov      eax, 16
 						;; size=11 bbWeight=0.50 PerfScore 0.75
 G_M13236_IG24:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 G_M13236_IG25:
        xor      eax, eax
        mov      qword ptr [r12], rax
        mov      eax, 15
 						;; size=11 bbWeight=0.50 PerfScore 0.75
 G_M13236_IG26:
        add      rsp, 136
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=18 bbWeight=0.50 PerfScore 2.12
 
-; Total bytes of code 683, prolog size 65, PerfScore 269.38, instruction count 168, allocated bytes for code 683 (MethodHash=d9bacc4b) for method System.TimeOnly:TryParseExactInternal(System.ReadOnlySpan`1[ushort],System.String[],System.IFormatProvider,int,byref):int (FullOpts)
+; Total bytes of code 678, prolog size 65, PerfScore 268.38, instruction count 166, allocated bytes for code 678 (MethodHash=d9bacc4b) for method System.TimeOnly:TryParseExactInternal(System.ReadOnlySpan`1[ushort],System.String[],System.IFormatProvider,int,byref):int (FullOpts)
 ; ============================================================
-4 (-0.68 % of base) - System.Environment:GetEnvironmentVariables():System.Collections.IDictionary
 ; Assembly listing for method System.Environment:GetEnvironmentVariables():System.Collections.IDictionary (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 13 single block inlinees; 6 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 loc0         [V00,T19] (  5,  4   )    long  ->  [rbp-0x30]  do-not-enreg[Z] EH-live
 ;  V01 loc1         [V01,T18] (  3,  5   )     ref  ->  [rbp-0x88]  class-hnd exact EH-live spill-single-def <System.Collections.Hashtable>
 ;  V02 loc2         [V02,T00] (  6, 33   )    long  ->  [rbp-0x38]  do-not-enreg[Z] EH-live
 ;* V03 loc3         [V03    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.ReadOnlySpan`1[ushort]>
 ;* V04 loc4         [V04    ] (  0,  0   )     int  ->  zero-ref   
 ;  V05 loc5         [V05,T10] (  2,  8   )     ref  ->  r14         class-hnd exact <System.String>
 ;  V06 loc6         [V06,T11] (  2,  8   )     ref  ->  rdx         class-hnd exact <System.String>
 ;* V07 loc7         [V07    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.Collections.Hashtable>
 ;# V08 OutArgs      [V08    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V09 tmp1         [V09,T17] (  3,  6   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.Collections.Hashtable>
 ;* V10 tmp2         [V10    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V11 tmp3         [V11    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V12 tmp4         [V12    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.ArgumentException>
 ;  V13 tmp5         [V13,T24] (  3,  0   )     ref  ->  rbx         class-hnd exact single-def "NewObj constructor temp" <System.OutOfMemoryException>
 ;* V14 tmp6         [V14    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V15 tmp7         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V16 tmp8         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V15 tmp7         [V15    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V16 tmp8         [V16    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V17 tmp9         [V17,T06] (  3, 24   )     int  ->  rax         "Inlining Arg"
 ;* V18 tmp10        [V18    ] (  0,  0   )     int  ->  zero-ref    "Inline return value spill temp"
 ;* V19 tmp11        [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V20 tmp12        [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V21 tmp13        [V21    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V22 tmp14        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V23 tmp15        [V23,T01] (  5, 28   )     int  ->  r15         "Inline return value spill temp"
 ;* V24 tmp16        [V24    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V25 tmp17        [V25    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V26 tmp18        [V26    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V27 tmp19        [V27,T03] (  4, 32   )     int  ->  r15         "Inlining Arg"
 ;* V28 tmp20        [V28    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V29 tmp21        [V29,T08] (  2, 16   )   byref  ->  rdi         "Inlining Arg"
 ;  V30 tmp22        [V30,T09] (  2, 16   )     int  ->  rsi         "Inlining Arg"
 ;  V31 tmp23        [V31,T20] (  2,  4   )     ref  ->  rax         single-def "Single return block return value"
 ;  V32 FramesRoot   [V32,T16] (  6,  6   )    long  ->  rbx         "Pinvoke FrameListRoot"
 ;  V33 PInvokeFrame [V33    ] (  8,  8   )  struct (64) [rbp-0x78]  do-not-enreg[XS] addr-exposed "Pinvoke FrameVar"
 ;  V34 tmp26        [V34,T04] (  4, 24   )   byref  ->  rbx         "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V35 tmp27        [V35,T05] (  5, 28   )     int  ->  [rbp-0x7C]  do-not-enreg[Z] EH-live "field V03._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp28        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V10._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp29        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V38 tmp30        [V38    ] (  0,  0   )   byref  ->  zero-ref    "field V11._reference (fldOffset=0x0)" P-INDEP
 ;* V39 tmp31        [V39    ] (  0,  0   )     int  ->  zero-ref    "field V11._length (fldOffset=0x8)" P-INDEP
 ;  V40 tmp32        [V40,T07] (  3, 16   )   byref  ->  rbx         "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V41 tmp33        [V41,T02] (  5, 32   )     int  ->  rdx         "field V14._length (fldOffset=0x8)" P-INDEP
-;  V42 tmp34        [V42,T12] (  2,  8   )   byref  ->  rbx         "field V15._reference (fldOffset=0x0)" P-INDEP
-;  V43 tmp35        [V43,T14] (  2,  8   )     int  ->  rdx         "field V15._length (fldOffset=0x8)" P-INDEP
-;* V44 tmp36        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
-;* V45 tmp37        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
+;* V42 tmp34        [V42    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
+;* V43 tmp35        [V43    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
+;  V44 tmp36        [V44,T12] (  2,  8   )   byref  ->  rbx         "field V16._reference (fldOffset=0x0)" P-INDEP
+;  V45 tmp37        [V45,T14] (  2,  8   )     int  ->  rdx         "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V46 tmp38        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
 ;* V47 tmp39        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V48 tmp40        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
 ;* V49 tmp41        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
 ;* V50 tmp42        [V50    ] (  0,  0   )   byref  ->  zero-ref    "field V24._reference (fldOffset=0x0)" P-INDEP
 ;* V51 tmp43        [V51    ] (  0,  0   )     int  ->  zero-ref    "field V24._length (fldOffset=0x8)" P-INDEP
 ;* V52 tmp44        [V52,T21] (  0,  0   )   byref  ->  zero-ref    "field V25._reference (fldOffset=0x0)" P-INDEP
 ;* V53 tmp45        [V53,T22] (  0,  0   )     int  ->  zero-ref    "field V25._length (fldOffset=0x8)" P-INDEP
 ;  V54 tmp46        [V54,T13] (  2,  8   )   byref  ->  rdi         "field V28._reference (fldOffset=0x0)" P-INDEP
 ;  V55 tmp47        [V55,T15] (  2,  8   )     int  ->  rsi         "field V28._length (fldOffset=0x8)" P-INDEP
 ;  V56 PSPSym       [V56,T23] (  1,  1   )    long  ->  [rbp-0x90]  do-not-enreg[V] "PSPSym"
 ;
 ; Lcl frame size = 104
 
 G_M17506_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 104
        vzeroupper 
        lea      rbp, [rsp+0x90]
        mov      qword ptr [rbp-0x90], rsp
 						;; size=32 bbWeight=1 PerfScore 8.75
 G_M17506_IG02:
        lea      rdi, [rbp-0x70]
        call     CORINFO_HELP_INIT_PINVOKE_FRAME
        mov      rbx, rax
        mov      rax, rsp
        mov      qword ptr [rbp-0x58], rax
        mov      rax, rbp
        mov      qword ptr [rbp-0x48], rax
        mov      rax, 0xD1FFAB1E      ; function address
        mov      qword ptr [rbp-0x60], rax
        lea      rax, G_M17506_IG05
        mov      qword ptr [rbp-0x50], rax
        lea      rax, [rbp-0x70]
        mov      qword ptr [rbx+0x08], rax
        mov      byte  ptr [rbx+0x04], 0
 						;; size=63 bbWeight=1 PerfScore 10.00
 G_M17506_IG03:
        mov      rax, 0xD1FFAB1E      ; function address
 						;; size=10 bbWeight=1 PerfScore 0.25
 G_M17506_IG04:
        call     rax ; Interop+Kernel32:GetEnvironmentStringsW():ulong
 						;; size=2 bbWeight=1 PerfScore 3.00
 G_M17506_IG05:
        mov      byte  ptr [rbx+0x04], 1
        mov      rcx, 0xD1FFAB1E      ; function address
        cmp      dword ptr [rcx], 0
        je       SHORT G_M17506_IG06
        mov      rdi, 0xD1FFAB1E
        call     [rdi]CORINFO_HELP_STOP_FOR_GC
 						;; size=31 bbWeight=1 PerfScore 8.50
 G_M17506_IG06:
        mov      rdi, qword ptr [rbp-0x68]
        mov      qword ptr [rbx+0x08], rdi
        mov      qword ptr [rbp-0x30], rax
        cmp      qword ptr [rbp-0x30], 0
        je       G_M17506_IG18
 						;; size=23 bbWeight=1 PerfScore 6.00
 G_M17506_IG07:
        mov      rdi, 0xD1FFAB1E      ; System.Collections.Hashtable
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        vmovss   xmm0, dword ptr [reloc @RWD00]
        mov      rdi, rbx
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Hashtable:.ctor(int,float):this
        call     [rax]System.Collections.Hashtable:.ctor(int,float):this
        mov      gword ptr [rbp-0x88], rbx
        mov      rdi, qword ptr [rbp-0x30]
        mov      qword ptr [rbp-0x38], rdi
        jmp      SHORT G_M17506_IG09
 						;; size=60 bbWeight=1 PerfScore 13.25
 G_M17506_IG08:
        mov      rdi, qword ptr [rbp-0x38]
        mov      eax, dword ptr [rbp-0x7C]
        inc      eax
        cdqe     
        lea      rdi, [rdi+2*rax]
        mov      qword ptr [rbp-0x38], rdi
 						;; size=19 bbWeight=8 PerfScore 32.00
 G_M17506_IG09:
        cmp      qword ptr [rbp-0x38], 0
-       je       SHORT G_M17506_IG11
+       jne      SHORT G_M17506_IG11
 						;; size=7 bbWeight=8 PerfScore 24.00
 G_M17506_IG10:
+       xor      rbx, rbx
+       xor      edx, edx
+       jmp      SHORT G_M17506_IG12
+						;; size=6 bbWeight=4 PerfScore 10.00
+G_M17506_IG11:
        mov      rdi, qword ptr [rbp-0x38]
        mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:IndexOfNullCharacter(ulong):int
        call     [rcx]System.SpanHelpers:IndexOfNullCharacter(ulong):int
        test     eax, eax
-       jl       G_M17506_IG15
+       jl       SHORT G_M17506_IG15
        mov      rbx, qword ptr [rbp-0x38]
        mov      edx, eax
-       jmp      SHORT G_M17506_IG12
-						;; size=32 bbWeight=4 PerfScore 35.00
-G_M17506_IG11:
-       xor      rbx, rbx
-       xor      edx, edx
-						;; size=4 bbWeight=4 PerfScore 2.00
+						;; size=26 bbWeight=4 PerfScore 27.00
 G_M17506_IG12:
        mov      dword ptr [rbp-0x7C], edx
        test     edx, edx
        je       SHORT G_M17506_IG16
        mov      rdi, rbx
        mov      esi, 61
        mov      rcx, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        call     [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        mov      r15d, eax
        test     r15d, r15d
        jle      SHORT G_M17506_IG08
 						;; size=35 bbWeight=8 PerfScore 60.00
 G_M17506_IG13:
        cmp      r15d, dword ptr [rbp-0x7C]
        ja       SHORT G_M17506_IG15
        mov      rdi, rbx
        mov      esi, r15d
        call     System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
        mov      r14, rax
        inc      r15d
        cmp      r15d, dword ptr [rbp-0x7C]
        ja       SHORT G_M17506_IG15
        mov      edi, r15d
        lea      rdi, bword ptr [rbx+2*rdi]
        mov      esi, dword ptr [rbp-0x7C]
        sub      esi, r15d
        call     System.String:.ctor(System.ReadOnlySpan`1[ushort]):this
        mov      rdx, rax
 						;; size=50 bbWeight=4 PerfScore 45.00
 G_M17506_IG14:
        mov      rdi, gword ptr [rbp-0x88]
        mov      rsi, r14
        mov      ecx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this
        call     [rax]System.Collections.Hashtable:Insert(System.Object,System.Object,ubyte):this
        jmp      G_M17506_IG08
 						;; size=32 bbWeight=4 PerfScore 27.00
 G_M17506_IG15:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M17506_IG16:
        mov      rdi, qword ptr [rbp-0x30]
        call     Interop+Kernel32:FreeEnvironmentStringsW(ulong):int
        mov      rax, gword ptr [rbp-0x88]
 						;; size=16 bbWeight=1 PerfScore 3.00
 G_M17506_IG17:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M17506_IG18:
        mov      rdi, 0xD1FFAB1E      ; System.OutOfMemoryException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.OutOfMemoryException:.ctor():this
        call     [rax]System.OutOfMemoryException:.ctor():this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=42 bbWeight=0 PerfScore 0.00
 G_M17506_IG19:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        vzeroupper 
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x90]
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M17506_IG20:
        lea      rax, G_M17506_IG08
 						;; size=7 bbWeight=0 PerfScore 0.00
 G_M17506_IG21:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 G_M17506_IG22:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        vzeroupper 
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x90]
 						;; size=28 bbWeight=0 PerfScore 0.00
 G_M17506_IG23:
        mov      rdi, qword ptr [rbp-0x30]
        call     Interop+Kernel32:FreeEnvironmentStringsW(ulong):int
        nop      
 						;; size=10 bbWeight=0 PerfScore 0.00
 G_M17506_IG24:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 RWD00  	dd	3F800000h		;         1
 
 
-; Total bytes of code 589, prolog size 32, PerfScore 282.00, instruction count 163, allocated bytes for code 589 (MethodHash=c4d6bb9d) for method System.Environment:GetEnvironmentVariables():System.Collections.IDictionary (FullOpts)
+; Total bytes of code 585, prolog size 32, PerfScore 282.00, instruction count 163, allocated bytes for code 585 (MethodHash=c4d6bb9d) for method System.Environment:GetEnvironmentVariables():System.Collections.IDictionary (FullOpts)
 ; ============================================================
-4 (-0.22 % of base) - System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String
 ; Assembly listing for method System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 63 single block inlinees; 39 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T21] (  7,  7   )     ref  ->  [rbp-0x58]  class-hnd EH-live single-def <System.String>
 ;  V01 arg1         [V01,T13] (  7, 28   )     ref  ->  rbx         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T32] (  3,  3   )     ref  ->  [rbp-0x60]  class-hnd EH-live single-def <System.String>
 ;  V03 loc0         [V03,T33] (  4,  4   )     ref  ->  rax         class-hnd exact single-def <System.String>
 ;* V04 loc1         [V04    ] (  0,  0   )     ref  ->  zero-ref    class-hnd exact single-def <System.String>
 ;  V05 loc2         [V05,T18] (  6, 12   )     ref  ->  [rbp-0x68]  class-hnd exact EH-live spill-single-def <System.IO.StreamReader>
 ;  V06 loc3         [V06,T05] ( 14,226   )     ref  ->  r15         class-hnd exact <System.String>
 ;  V07 loc4         [V07,T00] ( 39,697   )     int  ->  r14         ld-addr-op
 ;  V08 loc5         [V08,T17] (  3, 13   )   ubyte  ->  r12        
 ;* V09 loc6         [V09    ] (  0,  0   )     int  ->  zero-ref   
 ;  V10 loc7         [V10,T51] (  2,  2   )     ref  ->  [rbp-0x70]  do-not-enreg[Z] must-init class-hnd EH-live <System.String>
 ;  V11 OutArgs      [V11    ] (  1,  1   )  struct (16) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V12 tmp1         [V12,T24] (  3,  6   )     ref  ->  r14         class-hnd exact single-def "NewObj constructor temp" <System.IO.StreamReader>
 ;  V13 tmp2         [V13,T10] (  2, 32   )     ref  ->  r15         class-hnd exact "dup spill" <System.String>
 ;* V14 tmp3         [V14    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp4         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;  V16 tmp5         [V16,T44] (  3,  3   )     ref  ->  rax        
 ;* V17 tmp6         [V17    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Exception>
 ;* V18 tmp7         [V18    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;  V19 tmp8         [V19,T19] (  5, 10   )     ref  ->  rax         class-hnd exact single-def "Inlining Arg" <System.String>
 ;  V20 tmp9         [V20,T23] (  8,  7   )     ref  ->  r15         class-hnd "Inline return value spill temp" <System.String>
 ;* V21 tmp10        [V21    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V22 tmp11        [V22    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V23 tmp12        [V23    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V24 tmp13        [V24    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V25 tmp14        [V25    ] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V26 tmp15        [V26    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V27 tmp16        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp17        [V28    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V29 tmp18        [V29,T67] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V30 tmp19        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V31 tmp20        [V31    ] (  0,  0   )  ushort  ->  zero-ref    ld-addr-op "Inline stloc first use temp"
 ;* V32 tmp21        [V32    ] (  0,  0   )   byref  ->  zero-ref   
 ;* V33 tmp22        [V33    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V34 tmp23        [V34    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;  V35 tmp24        [V35,T39] (  2,  4   )   byref  ->  rdi         single-def "Inlining Arg"
 ;  V36 tmp25        [V36,T42] (  2,  4   )     int  ->  rsi         "Inlining Arg"
 ;* V37 tmp26        [V37    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V38 tmp27        [V38    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V39 tmp28        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V40 tmp29        [V40,T45] (  3,  3   )     ref  ->  r15         class-hnd "Inline return value spill temp" <System.String>
 ;* V41 tmp30        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V42 tmp31        [V42,T26] (  3,  6   )     int  ->  rdx         "Span.get_Item index"
 ;* V43 tmp32        [V43,T60] (  0,  0   )     int  ->  zero-ref   
 ;* V44 tmp33        [V44    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V45 tmp34        [V45    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V46 tmp35        [V46    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V47 tmp36        [V47    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V48 tmp37        [V48    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V49 tmp38        [V49    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V50 tmp39        [V50    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V51 tmp40        [V51    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V52 tmp41        [V52,T40] (  2,  4   )     ref  ->  r13         class-hnd exact single-def "Inlining Arg" <System.Text.UTF8Encoding+UTF8EncodingSealed>
 ;  V53 tmp42        [V53,T20] (  4,  8   )     ref  ->  r12         class-hnd exact single-def "NewObj constructor temp" <System.IO.FileStream>
 ;* V54 tmp43        [V54,T76] (  0,  0   )   ubyte  ->  zero-ref    "Inline return value spill temp"
 ;* V55 tmp44        [V55    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V56 tmp45        [V56    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V57 tmp46        [V57    ] (  0,  0   )     int  ->  zero-ref   
 ;* V58 tmp47        [V58    ] (  0,  0   )     int  ->  zero-ref   
 ;* V59 tmp48        [V59    ] (  0,  0   )     int  ->  zero-ref   
 ;* V60 tmp49        [V60    ] (  0,  0   )     int  ->  zero-ref   
 ;* V61 tmp50        [V61,T65] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V62 tmp51        [V62    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V63 tmp52        [V63    ] (  0,  0   )     int  ->  zero-ref   
 ;* V64 tmp53        [V64    ] (  0,  0   )     int  ->  zero-ref   
 ;* V65 tmp54        [V65    ] (  0,  0   )     int  ->  zero-ref   
 ;* V66 tmp55        [V66    ] (  0,  0   )     int  ->  zero-ref   
 ;* V67 tmp56        [V67    ] (  0,  0   )     int  ->  zero-ref   
 ;* V68 tmp57        [V68    ] (  0,  0   )  struct ( 8) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.Nullable`1[int]>
 ;  V69 tmp58        [V69,T52] (  2,  2   )     ref  ->  rax         class-hnd single-def "Inline return value spill temp" <System.IO.Strategies.FileStreamStrategy>
 ;* V70 tmp59        [V70    ] (  0,  0   )  struct ( 8) zero-ref    "Inlining Arg" <System.Nullable`1[int]>
 ;* V71 tmp60        [V71    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inline stloc first use temp" <System.IO.Strategies.FileStreamStrategy>
 ;  V72 tmp61        [V72,T25] (  3,  6   )     ref  ->  [rbp-0x78]  class-hnd exact spill-single-def "NewObj constructor temp" <System.IO.Strategies.UnixFileStreamStrategy>
 ;  V73 tmp62        [V73,T53] (  2,  2   )     ref  ->  rsi         class-hnd single-def "Inline return value spill temp" <System.IO.Strategies.FileStreamStrategy>
 ;  V74 tmp63        [V74,T22] (  4,  8   )     ref  ->  r15         class-hnd exact single-def "NewObj constructor temp" <System.IO.Strategies.BufferedFileStreamStrategy>
 ;  V75 tmp64        [V75,T07] (  2, 64   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V76 tmp65        [V76,T02] (  4,256   )  ushort  ->  rax         "Inlining Arg"
 ;* V77 tmp66        [V77    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V78 tmp67        [V78    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V79 tmp68        [V79    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V80 tmp69        [V80    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;  V81 tmp70        [V81,T08] (  2, 64   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V82 tmp71        [V82,T03] (  4,256   )  ushort  ->  rax         "Inlining Arg"
 ;* V83 tmp72        [V83    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V84 tmp73        [V84    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V85 tmp74        [V85    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V86 tmp75        [V86    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;  V87 tmp76        [V87,T09] (  2, 64   )   ubyte  ->  rax         "Inline return value spill temp"
 ;  V88 tmp77        [V88,T04] (  4,256   )  ushort  ->  rax         "Inlining Arg"
 ;* V89 tmp78        [V89    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V90 tmp79        [V90    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V91 tmp80        [V91    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline stloc first use temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V92 tmp81        [V92    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;  V93 tmp82        [V93,T06] (  4, 64   )     int  ->  rdi         "Inlining Arg"
 ;  V94 tmp83        [V94,T15] (  5, 18   )     int  ->  rax         "Inline return value spill temp"
 ;  V95 tmp84        [V95,T12] (  2, 32   )     int  ->  rdx         "Inlining Arg"
 ;* V96 tmp85        [V96    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V97 tmp86        [V97,T11] (  2, 32   )   byref  ->  rdi         "Inlining Arg"
 ;  V98 tmp87        [V98,T14] (  4, 24   )     int  ->  rax         "Inline return value spill temp"
-;* V99 tmp88        [V99    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V100 tmp89       [V100    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V99 tmp88        [V99    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V100 tmp89       [V100    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V101 tmp90       [V101,T41] (  2,  4   )   byref  ->  rsi         "Inlining Arg"
 ;  V102 tmp91       [V102,T43] (  2,  4   )     int  ->  rdx         "Inlining Arg"
 ;* V103 tmp92       [V103    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V104 tmp93       [V104    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V105 tmp94       [V105,T27] (  3,  6   )     int  ->  rax         "Inlining Arg"
 ;* V106 tmp95       [V106    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V107 tmp96       [V107    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;* V108 tmp97       [V108    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V109 tmp98       [V109,T34] (  4,  4   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.String>
 ;  V110 tmp99       [V110    ] (  6, 12   )  struct (16) [rbp-0x38]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V111 tmp100      [V111    ] (  6, 12   )  struct (16) [rbp-0x48]  do-not-enreg[XS] must-init addr-exposed ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V112 tmp101      [V112,T46] (  3,  3   )     ref  ->  rax         class-hnd "Inline return value spill temp" <System.String>
 ;* V113 tmp102      [V113    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V114 tmp103      [V114,T28] (  3,  6   )     int  ->  rdx         "Span.get_Item index"
 ;* V115 tmp104      [V115,T68] (  0,  0   )     int  ->  zero-ref   
 ;* V116 tmp105      [V116    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V117 tmp106      [V117    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V118 tmp107      [V118    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V119 tmp108      [V119    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V120 tmp109      [V120    ] (  0,  0   )  ushort  ->  zero-ref    "Inlining Arg"
 ;* V121 tmp110      [V121    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;* V122 tmp111      [V122    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V123 tmp112      [V123    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V124 tmp113      [V124,T47] (  3,  3   )   byref  ->  rsi         "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V125 tmp114      [V125,T50] (  3,  3   )     int  ->  rdx         "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V126 tmp115      [V126    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V127 tmp116      [V127    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V128 tmp117      [V128    ] (  0,  0   )   byref  ->  zero-ref    "field V21._reference (fldOffset=0x0)" P-INDEP
 ;* V129 tmp118      [V129    ] (  0,  0   )     int  ->  zero-ref    "field V21._length (fldOffset=0x8)" P-INDEP
 ;  V130 tmp119      [V130,T35] (  4,  4   )   byref  ->  rdi         "field V22._reference (fldOffset=0x0)" P-INDEP
 ;  V131 tmp120      [V131,T30] (  5,  5   )     int  ->  rsi         "field V22._length (fldOffset=0x8)" P-INDEP
 ;* V132 tmp121      [V132    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V133 tmp122      [V133    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V134 tmp123      [V134    ] (  0,  0   )   byref  ->  zero-ref    "field V26._reference (fldOffset=0x0)" P-INDEP
 ;* V135 tmp124      [V135    ] (  0,  0   )     int  ->  zero-ref    "field V26._length (fldOffset=0x8)" P-INDEP
 ;* V136 tmp125      [V136,T66] (  0,  0   )   byref  ->  zero-ref    single-def "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V137 tmp126      [V137    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V138 tmp127      [V138    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V139 tmp128      [V139    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;  V140 tmp129      [V140,T54] (  2,  2   )   byref  ->  rdi         single-def "field V33._reference (fldOffset=0x0)" P-INDEP
 ;  V141 tmp130      [V141,T61] (  2,  2   )     int  ->  rsi         "field V33._length (fldOffset=0x8)" P-INDEP
 ;* V142 tmp131      [V142    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V34._reference (fldOffset=0x0)" P-INDEP
 ;* V143 tmp132      [V143    ] (  0,  0   )     int  ->  zero-ref    "field V34._length (fldOffset=0x8)" P-INDEP
 ;* V144 tmp133      [V144    ] (  0,  0   )   byref  ->  zero-ref    "field V37._reference (fldOffset=0x0)" P-INDEP
 ;* V145 tmp134      [V145    ] (  0,  0   )     int  ->  zero-ref    "field V37._length (fldOffset=0x8)" P-INDEP
 ;  V146 tmp135      [V146,T48] (  3,  3   )   byref  ->   r8         single-def "field V38._reference (fldOffset=0x0)" P-INDEP
 ;* V147 tmp136      [V147,T69] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
 ;* V148 tmp137      [V148    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V41._reference (fldOffset=0x0)" P-INDEP
 ;* V149 tmp138      [V149    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
 ;* V150 tmp139      [V150    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V44._reference (fldOffset=0x0)" P-INDEP
 ;* V151 tmp140      [V151    ] (  0,  0   )     int  ->  zero-ref    "field V44._length (fldOffset=0x8)" P-INDEP
 ;* V152 tmp141      [V152    ] (  0,  0   )   byref  ->  zero-ref    single-def "field V45._reference (fldOffset=0x0)" P-INDEP
 ;* V153 tmp142      [V153    ] (  0,  0   )     int  ->  zero-ref    "field V45._length (fldOffset=0x8)" P-INDEP
 ;* V154 tmp143      [V154    ] (  0,  0   )   byref  ->  zero-ref    "field V46._reference (fldOffset=0x0)" P-INDEP
 ;* V155 tmp144      [V155    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V156 tmp145      [V156    ] (  0,  0   )   byref  ->  zero-ref    "field V49._reference (fldOffset=0x0)" P-INDEP
 ;* V157 tmp146      [V157    ] (  0,  0   )     int  ->  zero-ref    "field V49._length (fldOffset=0x8)" P-INDEP
 ;  V158 tmp147      [V158,T55] (  2,  2   )   byref  ->  rdx         single-def "field V50._reference (fldOffset=0x0)" P-INDEP
 ;* V159 tmp148      [V159,T70] (  0,  0   )     int  ->  zero-ref    "field V50._length (fldOffset=0x8)" P-INDEP
 ;* V160 tmp149      [V160    ] (  0,  0   )   ubyte  ->  zero-ref    "field V68.hasValue (fldOffset=0x0)" P-INDEP
 ;* V161 tmp150      [V161    ] (  0,  0   )     int  ->  zero-ref    "field V68.value (fldOffset=0x4)" P-INDEP
 ;* V162 tmp151      [V162,T71] (  0,  0   )   ubyte  ->  zero-ref    "field V70.hasValue (fldOffset=0x0)" P-INDEP
 ;* V163 tmp152      [V163,T72] (  0,  0   )     int  ->  zero-ref    "field V70.value (fldOffset=0x4)" P-INDEP
 ;* V164 tmp153      [V164    ] (  0,  0   )   byref  ->  zero-ref    "field V77._reference (fldOffset=0x0)" P-INDEP
 ;* V165 tmp154      [V165    ] (  0,  0   )     int  ->  zero-ref    "field V77._length (fldOffset=0x8)" P-INDEP
 ;* V166 tmp155      [V166    ] (  0,  0   )   byref  ->  zero-ref    "field V78._reference (fldOffset=0x0)" P-INDEP
 ;* V167 tmp156      [V167    ] (  0,  0   )     int  ->  zero-ref    "field V78._length (fldOffset=0x8)" P-INDEP
 ;* V168 tmp157      [V168    ] (  0,  0   )   byref  ->  zero-ref    "field V79._reference (fldOffset=0x0)" P-INDEP
 ;* V169 tmp158      [V169    ] (  0,  0   )     int  ->  zero-ref    "field V79._length (fldOffset=0x8)" P-INDEP
 ;* V170 tmp159      [V170    ] (  0,  0   )   byref  ->  zero-ref    "field V80._reference (fldOffset=0x0)" P-INDEP
 ;* V171 tmp160      [V171    ] (  0,  0   )     int  ->  zero-ref    "field V80._length (fldOffset=0x8)" P-INDEP
 ;* V172 tmp161      [V172    ] (  0,  0   )   byref  ->  zero-ref    "field V83._reference (fldOffset=0x0)" P-INDEP
 ;* V173 tmp162      [V173    ] (  0,  0   )     int  ->  zero-ref    "field V83._length (fldOffset=0x8)" P-INDEP
 ;* V174 tmp163      [V174    ] (  0,  0   )   byref  ->  zero-ref    "field V84._reference (fldOffset=0x0)" P-INDEP
 ;* V175 tmp164      [V175    ] (  0,  0   )     int  ->  zero-ref    "field V84._length (fldOffset=0x8)" P-INDEP
 ;* V176 tmp165      [V176    ] (  0,  0   )   byref  ->  zero-ref    "field V85._reference (fldOffset=0x0)" P-INDEP
 ;* V177 tmp166      [V177    ] (  0,  0   )     int  ->  zero-ref    "field V85._length (fldOffset=0x8)" P-INDEP
 ;* V178 tmp167      [V178    ] (  0,  0   )   byref  ->  zero-ref    "field V86._reference (fldOffset=0x0)" P-INDEP
 ;* V179 tmp168      [V179    ] (  0,  0   )     int  ->  zero-ref    "field V86._length (fldOffset=0x8)" P-INDEP
 ;* V180 tmp169      [V180    ] (  0,  0   )   byref  ->  zero-ref    "field V89._reference (fldOffset=0x0)" P-INDEP
 ;* V181 tmp170      [V181    ] (  0,  0   )     int  ->  zero-ref    "field V89._length (fldOffset=0x8)" P-INDEP
 ;* V182 tmp171      [V182    ] (  0,  0   )   byref  ->  zero-ref    "field V90._reference (fldOffset=0x0)" P-INDEP
 ;* V183 tmp172      [V183    ] (  0,  0   )     int  ->  zero-ref    "field V90._length (fldOffset=0x8)" P-INDEP
 ;* V184 tmp173      [V184    ] (  0,  0   )   byref  ->  zero-ref    "field V91._reference (fldOffset=0x0)" P-INDEP
 ;* V185 tmp174      [V185    ] (  0,  0   )     int  ->  zero-ref    "field V91._length (fldOffset=0x8)" P-INDEP
 ;* V186 tmp175      [V186    ] (  0,  0   )   byref  ->  zero-ref    "field V92._reference (fldOffset=0x0)" P-INDEP
 ;* V187 tmp176      [V187    ] (  0,  0   )     int  ->  zero-ref    "field V92._length (fldOffset=0x8)" P-INDEP
-;  V188 tmp177      [V188,T56] (  2,  2   )   byref  ->  rsi         "field V99._reference (fldOffset=0x0)" P-INDEP
-;  V189 tmp178      [V189,T62] (  2,  2   )     int  ->  rdx         "field V99._length (fldOffset=0x8)" P-INDEP
-;* V190 tmp179      [V190    ] (  0,  0   )   byref  ->  zero-ref    "field V100._reference (fldOffset=0x0)" P-INDEP
-;* V191 tmp180      [V191    ] (  0,  0   )     int  ->  zero-ref    "field V100._length (fldOffset=0x8)" P-INDEP
+;* V188 tmp177      [V188    ] (  0,  0   )   byref  ->  zero-ref    "field V99._reference (fldOffset=0x0)" P-INDEP
+;* V189 tmp178      [V189    ] (  0,  0   )     int  ->  zero-ref    "field V99._length (fldOffset=0x8)" P-INDEP
+;  V190 tmp179      [V190,T56] (  2,  2   )   byref  ->  rsi         "field V100._reference (fldOffset=0x0)" P-INDEP
+;  V191 tmp180      [V191,T62] (  2,  2   )     int  ->  rdx         "field V100._length (fldOffset=0x8)" P-INDEP
 ;  V192 tmp181      [V192,T57] (  2,  2   )   byref  ->  rcx         "field V103._reference (fldOffset=0x0)" P-INDEP
 ;  V193 tmp182      [V193,T63] (  2,  2   )     int  ->  rax         "field V103._length (fldOffset=0x8)" P-INDEP
 ;  V194 tmp183      [V194,T58] (  2,  2   )   byref  ->  rcx         "field V106._reference (fldOffset=0x0)" P-INDEP
 ;  V195 tmp184      [V195,T64] (  2,  2   )     int  ->  rax         "field V106._length (fldOffset=0x8)" P-INDEP
 ;* V196 tmp185      [V196    ] (  0,  0   )   byref  ->  zero-ref    "field V107._reference (fldOffset=0x0)" P-INDEP
 ;* V197 tmp186      [V197    ] (  0,  0   )     int  ->  zero-ref    "field V107._length (fldOffset=0x8)" P-INDEP
 ;  V198 tmp187      [V198    ] (  3,  4   )   byref  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed "field V110._reference (fldOffset=0x0)" P-DEP
 ;  V199 tmp188      [V199    ] (  4,  5   )     int  ->  [rbp-0x30]  do-not-enreg[X] addr-exposed "field V110._length (fldOffset=0x8)" P-DEP
 ;  V200 tmp189      [V200    ] (  3,  4   )   byref  ->  [rbp-0x48]  do-not-enreg[X] addr-exposed "field V111._reference (fldOffset=0x0)" P-DEP
 ;  V201 tmp190      [V201    ] (  4,  5   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed "field V111._length (fldOffset=0x8)" P-DEP
 ;  V202 tmp191      [V202,T36] (  4,  4   )   byref  ->  rax         "field V113._reference (fldOffset=0x0)" P-INDEP
 ;  V203 tmp192      [V203,T31] (  5,  5   )     int  ->  rsi         "field V113._length (fldOffset=0x8)" P-INDEP
 ;  V204 tmp193      [V204,T37] (  4,  4   )   byref  ->   r9         "field V116._reference (fldOffset=0x0)" P-INDEP
 ;  V205 tmp194      [V205,T38] (  4,  4   )     int  ->  r10         "field V116._length (fldOffset=0x8)" P-INDEP
 ;* V206 tmp195      [V206    ] (  0,  0   )   byref  ->  zero-ref    "field V117._reference (fldOffset=0x0)" P-INDEP
 ;* V207 tmp196      [V207    ] (  0,  0   )     int  ->  zero-ref    "field V117._length (fldOffset=0x8)" P-INDEP
 ;* V208 tmp197      [V208    ] (  0,  0   )   byref  ->  zero-ref    "field V118._reference (fldOffset=0x0)" P-INDEP
 ;* V209 tmp198      [V209    ] (  0,  0   )     int  ->  zero-ref    "field V118._length (fldOffset=0x8)" P-INDEP
 ;* V210 tmp199      [V210    ] (  0,  0   )   byref  ->  zero-ref    "field V121._reference (fldOffset=0x0)" P-INDEP
 ;* V211 tmp200      [V211    ] (  0,  0   )     int  ->  zero-ref    "field V121._length (fldOffset=0x8)" P-INDEP
 ;  V212 tmp201      [V212,T59] (  2,  2   )   byref  ->  rdx         "field V122._reference (fldOffset=0x0)" P-INDEP
 ;* V213 tmp202      [V213,T73] (  0,  0   )     int  ->  zero-ref    "field V122._length (fldOffset=0x8)" P-INDEP
 ;  V214 tmp203      [V214,T75] (  2,  0   )     ref  ->  rsi         single-def "argument with side effect"
 ;  V215 tmp204      [V215,T29] (  3,  6   )  struct ( 8) [rbp-0x50]  do-not-enreg[SF] "by-value struct argument" <System.Nullable`1[int]>
 ;  V216 PSPSym      [V216,T74] (  1,  1   )    long  ->  [rbp-0x80]  do-not-enreg[V] "PSPSym"
 ;  V217 cse0        [V217,T16] (  2, 16   )     int  ->  rdx         "CSE #09: conservative"
 ;  V218 cse1        [V218,T49] (  2,  2   )   byref  ->   r8         "CSE #03: conservative"
 ;  V219 cse2        [V219,T01] ( 14,377   )     int  ->  r13         "CSE #04: aggressive"
 ;
 ; Lcl frame size = 104
 
 G_M35333_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 104
        lea      rbp, [rsp+0x90]
        vxorps   xmm8, xmm8, xmm8
        vmovdqu  ymmword ptr [rbp-0x70], ymm8
        vmovdqu  ymmword ptr [rbp-0x50], ymm8
        xor      eax, eax
        mov      qword ptr [rbp-0x30], rax
        mov      qword ptr [rbp-0x80], rsp
        mov      gword ptr [rbp-0x58], rdi
        mov      gword ptr [rbp-0x60], rdx
        mov      rbx, rsi
 						;; size=58 bbWeight=1 PerfScore 15.58
 G_M35333_IG02:
        test     rbx, rbx
        je       G_M35333_IG54
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Environment:GetEnvironmentVariableCore(System.String):System.String
        call     [rax]System.Environment:GetEnvironmentVariableCore(System.String):System.String
        test     rax, rax
        je       SHORT G_M35333_IG03
        cmp      word  ptr [rax+0x0C], 47
        je       G_M35333_IG50
 						;; size=40 bbWeight=1 PerfScore 10.00
 G_M35333_IG03:
        mov      rdi, gword ptr [rbp-0x58]
        mov      rax, 0xD1FFAB1E      ; code for System.Environment:GetXdgConfig(System.String):System.String
        call     [rax]System.Environment:GetXdgConfig(System.String):System.String
        test     rax, rax
        je       G_M35333_IG53
        cmp      dword ptr [rax+0x08], 0
        je       SHORT G_M35333_IG06
        mov      r8, 0xD1FFAB1E
        lea      rdi, bword ptr [rax+0x0C]
        mov      esi, dword ptr [rax+0x08]
        lea      edx, [rsi-0x01]
        cmp      edx, esi
        jae      G_M35333_IG55
        cmp      word  ptr [rdi+2*rdx], 47
        jne      SHORT G_M35333_IG04
        mov      rdx, r8
        mov      ecx, 14
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        mov      r15, rax
        jmp      SHORT G_M35333_IG05
 						;; size=91 bbWeight=1 PerfScore 24.00
 G_M35333_IG04:
        mov      rdx, 0xD1FFAB1E
        mov      ecx, 1
        mov      r9d, 14
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        mov      r15, rax
 						;; size=36 bbWeight=1 PerfScore 4.25
 G_M35333_IG05:
        jmp      SHORT G_M35333_IG07
 						;; size=2 bbWeight=1 PerfScore 2.00
 G_M35333_IG06:
        mov      r15, 0xD1FFAB1E      ; 'user-dirs.dirs'
 						;; size=10 bbWeight=1 PerfScore 0.25
 G_M35333_IG07:
        mov      rdi, r15
        mov      esi, 4
        mov      rax, 0xD1FFAB1E      ; code for Interop+Sys:Access(System.String,int):int
        call     [rax]Interop+Sys:Access(System.String,int):int
        test     eax, eax
        jne      G_M35333_IG48
 						;; size=28 bbWeight=1 PerfScore 5.00
 G_M35333_IG08:
        mov      rdi, 0xD1FFAB1E      ; System.IO.StreamReader
        call     CORINFO_HELP_NEWSFAST
        mov      r14, rax
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r13, gword ptr [rdi]
        test     r15, r15
        je       G_M35333_IG47
        cmp      dword ptr [r15+0x08], 0
        je       G_M35333_IG47
        mov      rdi, 0xD1FFAB1E      ; System.IO.FileStream
        call     CORINFO_HELP_NEWFAST
        mov      r12, rax
        xor      edi, edi
        mov      qword ptr [rsp], rdi
        mov      rdi, r15
        mov      esi, 3
        mov      edx, 1
        mov      ecx, 1
        mov      r8d, 0x1000
        xor      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Strategies.FileStreamHelpers:ValidateArguments(System.String,int,int,int,int,int,long)
        call     [rax]System.IO.Strategies.FileStreamHelpers:ValidateArguments(System.String,int,int,int,int,int,long)
        mov      rdi, 0xD1FFAB1E      ; System.IO.Strategies.UnixFileStreamStrategy
        call     CORINFO_HELP_NEWSFAST
        mov      gword ptr [rbp-0x78], rax
        xor      esi, esi
        mov      qword ptr [rsp], rsi
        mov      byte  ptr [rbp-0x50], 0
 						;; size=143 bbWeight=1 PerfScore 21.00
 G_M35333_IG09:
        mov      dword ptr [rbp-0x4C], esi
        mov      rsi, qword ptr [rbp-0x50]
        mov      qword ptr [rsp+0x08], rsi
        mov      rsi, r15
        mov      rdi, rax
        mov      edx, 3
        mov      ecx, 1
        mov      r8d, 1
        xor      r9d, r9d
        mov      r10, 0xD1FFAB1E      ; code for System.IO.Strategies.OSFileStreamStrategy:.ctor(System.String,int,int,int,int,long,System.Nullable`1[int]):this
        call     [r10]System.IO.Strategies.OSFileStreamStrategy:.ctor(System.String,int,int,int,int,long,System.Nullable`1[int]):this
        mov      rdi, 0xD1FFAB1E      ; System.IO.Strategies.BufferedFileStreamStrategy
        call     CORINFO_HELP_NEWSFAST
        mov      r15, rax
        lea      rdi, bword ptr [r15+0x18]
        mov      rsi, gword ptr [rbp-0x78]
        call     CORINFO_HELP_ASSIGN_REF
        mov      dword ptr [r15+0x28], 0x1000
        mov      rsi, r15
        mov      rdi, r12
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Strategies.FileStreamHelpers:WrapIfDerivedType(System.IO.FileStream,System.IO.Strategies.FileStreamStrategy):System.IO.Strategies.FileStreamStrategy
        call     [rax]System.IO.Strategies.FileStreamHelpers:WrapIfDerivedType(System.IO.FileStream,System.IO.Strategies.FileStreamStrategy):System.IO.Strategies.FileStreamStrategy
        lea      rdi, bword ptr [r12+0x10]
        mov      rsi, rax
        call     CORINFO_HELP_ASSIGN_REF
        mov      rdi, r14
        mov      rsi, r12
        mov      rdx, r13
        mov      ecx, 1
        mov      r8d, 0x400
        xor      r9d, r9d
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte,int,ubyte):this
        call     [rax]System.IO.StreamReader:.ctor(System.IO.Stream,System.Text.Encoding,ubyte,int,ubyte):this
        mov      rdi, r14
        mov      gword ptr [rbp-0x68], rdi
 						;; size=162 bbWeight=1 PerfScore 24.25
 G_M35333_IG10:
        mov      rdi, gword ptr [rbp-0x68]
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamReader:ReadLine():System.String:this
        call     [rax]System.IO.StreamReader:ReadLine():System.String:this
        mov      r15, rax
        test     r15, r15
        je       G_M35333_IG44
        xor      r14d, r14d
        jmp      SHORT G_M35333_IG12
 						;; size=33 bbWeight=8 PerfScore 64.00
 G_M35333_IG11:
        mov      rdi, gword ptr [rbp-0x68]
        inc      r14d
 						;; size=7 bbWeight=16 PerfScore 20.00
 G_M35333_IG12:
        mov      r13d, dword ptr [r15+0x08]
        cmp      r13d, r14d
        mov      rdi, gword ptr [rbp-0x68]
        jle      SHORT G_M35333_IG10
 						;; size=13 bbWeight=64 PerfScore 272.00
 G_M35333_IG13:
        mov      eax, r14d
        movzx    rax, word  ptr [r15+2*rax+0x0C]
        cmp      eax, 256
        jl       G_M35333_IG21
        mov      edi, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
        call     [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
        test     eax, eax
        jne      SHORT G_M35333_IG11
 						;; size=38 bbWeight=32 PerfScore 264.00
 G_M35333_IG14:
        mov      r8d, dword ptr [rbx+0x08]
        mov      rdi, r15
        mov      esi, r14d
        mov      rdx, rbx
        xor      ecx, ecx
        mov      rax, 0xD1FFAB1E      ; code for System.String:CompareOrdinal(System.String,int,System.String,int,int):int
        call     [rax]System.String:CompareOrdinal(System.String,int,System.String,int,int):int
        test     eax, eax
        mov      rdi, gword ptr [rbp-0x68]
        jne      SHORT G_M35333_IG10
        add      r14d, dword ptr [rbx+0x08]
        jmp      SHORT G_M35333_IG16
 						;; size=41 bbWeight=8 PerfScore 108.00
 G_M35333_IG15:
        inc      r14d
 						;; size=3 bbWeight=16 PerfScore 4.00
 G_M35333_IG16:
        cmp      r13d, r14d
        jle      SHORT G_M35333_IG18
 						;; size=5 bbWeight=64 PerfScore 80.00
 G_M35333_IG17:
        cmp      r14d, r13d
        jae      G_M35333_IG43
        mov      eax, r14d
        movzx    rax, word  ptr [r15+2*rax+0x0C]
        cmp      eax, 256
        jge      G_M35333_IG22
        mov      rcx, 0xD1FFAB1E      ; static handle
        test     byte  ptr [rax+rcx], 128
        jne      SHORT G_M35333_IG15
 						;; size=45 bbWeight=32 PerfScore 288.00
 G_M35333_IG18:
        lea      eax, [r13-0x04]
        cmp      eax, r14d
        jle      G_M35333_IG10
        cmp      r14d, r13d
        jae      G_M35333_IG43
        mov      eax, r14d
        cmp      word  ptr [r15+2*rax+0x0C], 61
        jne      G_M35333_IG10
 						;; size=38 bbWeight=8 PerfScore 58.00
 G_M35333_IG19:
        inc      r14d
        cmp      r13d, r14d
        jle      G_M35333_IG24
 						;; size=12 bbWeight=64 PerfScore 96.00
 G_M35333_IG20:
        cmp      r14d, r13d
        jae      G_M35333_IG43
        mov      eax, r14d
        movzx    rax, word  ptr [r15+2*rax+0x0C]
        cmp      eax, 256
        jge      SHORT G_M35333_IG23
        mov      esi, eax
        mov      rdx, 0xD1FFAB1E      ; static handle
        test     byte  ptr [rsi+rdx], 128
        jne      SHORT G_M35333_IG19
        jmp      SHORT G_M35333_IG24
 						;; size=45 bbWeight=32 PerfScore 360.00
 G_M35333_IG21:
        mov      r8d, eax
        mov      rsi, 0xD1FFAB1E      ; static handle
        test     byte  ptr [r8+rsi], 128
        jne      G_M35333_IG11
        jmp      G_M35333_IG14
 						;; size=29 bbWeight=32 PerfScore 208.00
 G_M35333_IG22:
        mov      edi, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
        call     [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
        test     eax, eax
        mov      rdi, gword ptr [rbp-0x68]
        jne      G_M35333_IG15
        jmp      G_M35333_IG18
 						;; size=31 bbWeight=32 PerfScore 248.00
 G_M35333_IG23:
        mov      edi, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
        call     [rax]System.Globalization.CharUnicodeInfo:GetIsWhiteSpace(ushort):ubyte
        test     eax, eax
        mov      rdi, gword ptr [rbp-0x68]
        jne      G_M35333_IG19
 						;; size=26 bbWeight=32 PerfScore 184.00
 G_M35333_IG24:
        lea      esi, [r13-0x03]
        cmp      esi, r14d
        jle      G_M35333_IG10
        cmp      r14d, r13d
        jae      G_M35333_IG43
        mov      esi, r14d
        cmp      word  ptr [r15+2*rsi+0x0C], 34
        jne      G_M35333_IG10
        inc      r14d
        xor      r12d, r12d
        mov      rdi, r15
        mov      esi, r14d
        mov      rdx, 0xD1FFAB1E      ; '$HOME/'
        xor      ecx, ecx
        mov      r8d, 6
        mov      rax, 0xD1FFAB1E      ; code for System.String:CompareOrdinal(System.String,int,System.String,int,int):int
        call     [rax]System.String:CompareOrdinal(System.String,int,System.String,int,int):int
        test     eax, eax
        je       SHORT G_M35333_IG25
        cmp      r14d, r13d
        jae      G_M35333_IG43
        mov      edi, r14d
        cmp      word  ptr [r15+2*rdi+0x0C], 47
        jne      G_M35333_IG10
        jmp      SHORT G_M35333_IG26
 						;; size=111 bbWeight=8 PerfScore 168.00
 G_M35333_IG25:
        mov      r12d, 1
        add      r14d, 6
 						;; size=10 bbWeight=4 PerfScore 2.00
 G_M35333_IG26:
        mov      edi, r14d
        mov      edx, r13d
        sub      edx, edi
        cmp      r13d, edi
        jb       G_M35333_IG42
        movsxd   rdi, edi
        lea      rdi, bword ptr [r15+2*rdi+0x0C]
        mov      esi, 34
        mov      rax, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        call     [rax]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        test     eax, eax
        jge      SHORT G_M35333_IG28
 						;; size=46 bbWeight=8 PerfScore 64.00
 G_M35333_IG27:
        jmp      SHORT G_M35333_IG29
 						;; size=2 bbWeight=4 PerfScore 8.00
 G_M35333_IG28:
        add      eax, r14d
 						;; size=3 bbWeight=4 PerfScore 1.00
 G_M35333_IG29:
        cmp      eax, r14d
        jle      G_M35333_IG10
 						;; size=9 bbWeight=8 PerfScore 10.00
 G_M35333_IG30:
        mov      rdi, gword ptr [rbp-0x68]
        test     r12d, r12d
        je       G_M35333_IG39
        mov      r8, gword ptr [rbp-0x58]
        test     r8, r8
-       je       SHORT G_M35333_IG31
-       lea      rsi, bword ptr [r8+0x0C]
-       mov      edx, dword ptr [r8+0x08]
-       mov      r8, gword ptr [rbp-0x58]
-       jmp      SHORT G_M35333_IG32
-						;; size=36 bbWeight=1 PerfScore 10.00
-G_M35333_IG31:
+       jne      SHORT G_M35333_IG31
        xor      rsi, rsi
        xor      edx, edx
-						;; size=4 bbWeight=1 PerfScore 0.50
+       jmp      SHORT G_M35333_IG32
+						;; size=28 bbWeight=1 PerfScore 7.00
+G_M35333_IG31:
+       lea      rsi, bword ptr [r8+0x0C]
+       mov      edx, dword ptr [r8+0x08]
+						;; size=8 bbWeight=1 PerfScore 2.50
 G_M35333_IG32:
        sub      eax, r14d
        mov      ecx, r14d
        mov      r9d, eax
        add      rcx, r9
        mov      r9d, r13d
        cmp      rcx, r9
        ja       G_M35333_IG41
        mov      ecx, r14d
        lea      rcx, bword ptr [r15+2*rcx+0x0C]
        mov      bword ptr [rbp-0x38], rsi
        mov      dword ptr [rbp-0x30], edx
        mov      bword ptr [rbp-0x48], rcx
        mov      dword ptr [rbp-0x40], eax
        cmp      dword ptr [rbp-0x30], 0
        je       G_M35333_IG37
        cmp      dword ptr [rbp-0x40], 0
        je       SHORT G_M35333_IG36
        mov      rax, bword ptr [rbp-0x38]
        mov      esi, dword ptr [rbp-0x30]
        mov      r9, bword ptr [rbp-0x48]
        mov      r10d, dword ptr [rbp-0x40]
        lea      edx, [rsi-0x01]
        cmp      edx, esi
        jae      G_M35333_IG43
        cmp      word  ptr [rax+2*rdx], 47
        je       SHORT G_M35333_IG33
        test     r10d, r10d
        je       G_M35333_IG43
        cmp      word  ptr [r9], 47
        jne      SHORT G_M35333_IG34
 						;; size=111 bbWeight=1 PerfScore 28.75
 G_M35333_IG33:
        mov      rdi, rax
        mov      rdx, r9
        mov      ecx, r10d
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        jmp      SHORT G_M35333_IG35
 						;; size=23 bbWeight=1 PerfScore 6.00
 G_M35333_IG34:
        mov      rdx, 0xD1FFAB1E
        mov      rdi, rax
        mov      ecx, 1
        mov      r8, r9
        mov      r9d, r10d
        mov      rax, 0xD1FFAB1E      ; code for System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
        call     [rax]System.String:Concat(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ushort]):System.String
 						;; size=36 bbWeight=1 PerfScore 4.50
 G_M35333_IG35:
        jmp      SHORT G_M35333_IG38
 						;; size=2 bbWeight=1 PerfScore 2.00
 G_M35333_IG36:
        lea      rdi, [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.ReadOnlySpan`1[ushort]:ToString():System.String:this
        call     [rax]System.ReadOnlySpan`1[ushort]:ToString():System.String:this
        jmp      SHORT G_M35333_IG38
 						;; size=18 bbWeight=1 PerfScore 5.75
 G_M35333_IG37:
        lea      rdi, [rbp-0x48]
        mov      rax, 0xD1FFAB1E      ; code for System.ReadOnlySpan`1[ushort]:ToString():System.String:this
        call     [rax]System.ReadOnlySpan`1[ushort]:ToString():System.String:this
 						;; size=16 bbWeight=1 PerfScore 3.75
 G_M35333_IG38:
        jmp      SHORT G_M35333_IG40
 						;; size=2 bbWeight=1 PerfScore 2.00
 G_M35333_IG39:
        mov      edx, eax
        sub      edx, r14d
        mov      rdi, r15
        mov      esi, r14d
        mov      rax, 0xD1FFAB1E      ; code for System.String:Substring(int,int):System.String:this
        call     [rax]System.String:Substring(int,int):System.String:this
 						;; size=23 bbWeight=1 PerfScore 4.25
 G_M35333_IG40:
        mov      gword ptr [rbp-0x70], rax
        jmp      SHORT G_M35333_IG45
 						;; size=6 bbWeight=1 PerfScore 3.00
 G_M35333_IG41:
        mov      edi, 33
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M35333_IG42:
        mov      edi, 8
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M35333_IG43:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 G_M35333_IG44:
        mov      rdi, gword ptr [rbp-0x68]
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamReader:Dispose(ubyte):this
        call     [rax]System.IO.StreamReader:Dispose(ubyte):this
        mov      rdi, gword ptr [rbp-0x68]
        call     System.GC:_SuppressFinalize(System.Object)
        jmp      SHORT G_M35333_IG48
 						;; size=32 bbWeight=1 PerfScore 8.50
 G_M35333_IG45:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M35333_IG46:
        call     G_M35333_IG56
        jmp      SHORT G_M35333_IG51
 						;; size=7 bbWeight=1 PerfScore 3.00
 G_M35333_IG47:
        mov      edi, 0x19BB5
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rsi, rax
        mov      rdi, r15
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String)
        call     [rax]System.ArgumentException:ThrowNullOrEmptyException(System.String,System.String)
        int3     
 						;; size=39 bbWeight=0 PerfScore 0.00
 G_M35333_IG48:
        mov      rdi, gword ptr [rbp-0x58]
        mov      rsi, gword ptr [rbp-0x60]
        mov      rax, 0xD1FFAB1E      ; code for System.IO.Path:Combine(System.String,System.String):System.String
        call     [rax]System.IO.Path:Combine(System.String,System.String):System.String
        nop      
 						;; size=21 bbWeight=1 PerfScore 5.50
 G_M35333_IG49:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M35333_IG50:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M35333_IG51:
        mov      rax, gword ptr [rbp-0x70]
 						;; size=4 bbWeight=1 PerfScore 1.00
 G_M35333_IG52:
        add      rsp, 104
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M35333_IG53:
        mov      edi, 0x1B3F7
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M35333_IG54:
        mov      edi, 0x52D
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentNullException:Throw(System.String)
        call     [rax]System.ArgumentNullException:Throw(System.String)
        int3     
 						;; size=36 bbWeight=0 PerfScore 0.00
 G_M35333_IG55:
        call     CORINFO_HELP_RNGCHKFAIL
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 G_M35333_IG56:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
        lea      rbp, [rbp+0x90]
 						;; size=30 bbWeight=1 PerfScore 9.75
 G_M35333_IG57:
        mov      rdi, gword ptr [rbp-0x68]
        mov      esi, 1
        mov      rax, 0xD1FFAB1E      ; code for System.IO.StreamReader:Dispose(ubyte):this
        call     [rax]System.IO.StreamReader:Dispose(ubyte):this
        mov      rdi, gword ptr [rbp-0x68]
        call     System.GC:_SuppressFinalize(System.Object)
        nop      
 						;; size=31 bbWeight=1 PerfScore 6.75
 G_M35333_IG58:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M35333_IG59:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 24
        mov      rbp, qword ptr [rdi+0x10]
        mov      qword ptr [rsp+0x10], rbp
        lea      rbp, [rbp+0x90]
 						;; size=30 bbWeight=0 PerfScore 0.00
 G_M35333_IG60:
        lea      rax, G_M35333_IG48
 						;; size=7 bbWeight=0 PerfScore 0.00
 G_M35333_IG61:
        add      rsp, 24
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 1795, prolog size 58, PerfScore 2735.58, instruction count 445, allocated bytes for code 1795 (MethodHash=a8cb75fa) for method System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
+; Total bytes of code 1791, prolog size 58, PerfScore 2734.58, instruction count 444, allocated bytes for code 1791 (MethodHash=a8cb75fa) for method System.Environment:ReadXdgDirectory(System.String,System.String,System.String):System.String (FullOpts)
 ; ============================================================
-4 (-0.46 % of base) - System.Net.NetworkInformation.StringParsingHelpers:ParseDhcpServerAddressesFromLeasesFile(System.Collections.Generic.List`1[System.Net.IPAddress],System.String,System.String)
 ; Assembly listing for method System.Net.NetworkInformation.StringParsingHelpers:ParseDhcpServerAddressesFromLeasesFile(System.Collections.Generic.List`1[System.Net.IPAddress],System.String,System.String) (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 39 single block inlinees; 13 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T05] (  8, 26   )     ref  ->  rbx         class-hnd single-def <System.Collections.Generic.List`1[System.Net.IPAddress]>
 ;  V01 arg1         [V01,T56] (  4,  4   )     ref  ->  r14         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T15] (  5, 14   )     ref  ->  r15         class-hnd single-def <System.String>
 ;  V03 loc0         [V03,T03] (  8, 37   )     ref  ->  r14         class-hnd exact single-def <System.String>
 ;  V04 loc1         [V04,T01] ( 10, 49   )     int  ->  r13        
 ;  V05 loc2         [V05,T17] (  4, 16   )     int  ->  [rbp-0x2C] 
 ;  V06 loc3         [V06,T37] (  3, 12   )     int  ->  [rbp-0x30] 
 ;  V07 loc4         [V07,T11] (  5, 20   )     int  ->  [rbp-0x34]  spill-single-def
 ;* V08 loc5         [V08    ] (  0,  0   )     int  ->  zero-ref   
 ;  V09 loc6         [V09,T38] (  3, 12   )     int  ->  rax        
 ;  V10 loc7         [V10,T12] (  5, 20   )     int  ->  [rbp-0x38]  spill-single-def
 ;* V11 loc8         [V11    ] (  0,  0   )     int  ->  zero-ref   
 ;  V12 loc9         [V12,T39] (  3, 12   )     int  ->  rax        
 ;  V13 loc10        [V13,T16] (  4, 16   )     ref  ->  rax         ld-addr-op class-hnd <System.Net.IPAddress>
 ;# V14 OutArgs      [V14    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V15 tmp1         [V15,T04] (  2, 32   )     int  ->  r13         "dup spill"
 ;* V16 tmp2         [V16    ] (  0,  0   )  struct (16) zero-ref    "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V17 tmp3         [V17    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V18 tmp4         [V18    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ushort]>
 ;* V19 tmp5         [V19    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "impSpillSpecialSideEff" <System.Object>
 ;  V20 tmp6         [V20,T40] (  3, 12   )     int  ->  rcx         "Inline return value spill temp"
 ;  V21 tmp7         [V21,T29] (  2, 16   )     int  ->  rsi         "Inlining Arg"
 ;* V22 tmp8         [V22    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V23 tmp9         [V23,T24] (  2, 16   )   byref  ->  rcx         "Inlining Arg"
 ;  V24 tmp10        [V24,T18] (  4, 16   )     int  ->  rax         "Inline return value spill temp"
 ;  V25 tmp11        [V25,T41] (  3, 12   )     int  ->  rax         "Inline return value spill temp"
 ;  V26 tmp12        [V26,T30] (  2, 16   )     int  ->  rdx         "Inlining Arg"
 ;* V27 tmp13        [V27    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V28 tmp14        [V28,T25] (  2, 16   )   byref  ->  rdi         "Inlining Arg"
 ;  V29 tmp15        [V29,T19] (  4, 16   )     int  ->  rax         "Inline return value spill temp"
 ;  V30 tmp16        [V30,T13] (  5, 20   )     int  ->  [rbp-0x3C]  "Inline return value spill temp"
 ;  V31 tmp17        [V31,T31] (  2, 16   )     int  ->  rdx         "Inlining Arg"
 ;* V32 tmp18        [V32    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V33 tmp19        [V33,T26] (  2, 16   )   byref  ->  rdi         "Inlining Arg"
 ;  V34 tmp20        [V34,T20] (  4, 16   )     int  ->  rax         "Inline return value spill temp"
 ;  V35 tmp21        [V35,T07] (  3, 24   )     int  ->  rdx         "Inlining Arg"
 ;  V36 tmp22        [V36,T08] (  3, 24   )     int  ->  rdi         "Inlining Arg"
 ;* V37 tmp23        [V37    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V38 tmp24        [V38    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;* V39 tmp25        [V39    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V40 tmp26        [V40    ] (  0,  0   )  struct (16) zero-ref    "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
-;* V41 tmp27        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V42 tmp28        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
-;  V43 tmp29        [V43,T27] (  2, 16   )   byref  ->  rdx         "Inlining Arg"
-;  V44 tmp30        [V44,T32] (  2, 16   )     int  ->  rcx         "Inlining Arg"
+;* V41 tmp27        [V41    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V42 tmp28        [V42    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
+;  V43 tmp29        [V43,T27] (  2, 16   )   byref  ->  rcx         "Inlining Arg"
+;  V44 tmp30        [V44,T32] (  2, 16   )     int  ->  rdx         "Inlining Arg"
 ;  V45 tmp31        [V45,T48] (  2,  8   )   ubyte  ->  rax         "Inline return value spill temp"
 ;* V46 tmp32        [V46    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V47 tmp33        [V47    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V48 tmp34        [V48    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V49 tmp35        [V49    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V50 tmp36        [V50    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V51 tmp37        [V51    ] (  0,  0   )   byref  ->  zero-ref    "impAppendStmt"
 ;* V52 tmp38        [V52    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V53 tmp39        [V53    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V54 tmp40        [V54    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V55 tmp41        [V55    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;  V56 tmp42        [V56,T14] (  5, 20   )     int  ->  [rbp-0x40]  "Inline return value spill temp"
 ;  V57 tmp43        [V57,T33] (  2, 16   )     int  ->  rdx         "Inlining Arg"
 ;* V58 tmp44        [V58    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;  V59 tmp45        [V59,T28] (  2, 16   )   byref  ->  rdi         "Inlining Arg"
 ;  V60 tmp46        [V60,T21] (  4, 16   )     int  ->  rax         "Inline return value spill temp"
 ;* V61 tmp47        [V61    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "Inline return value spill temp" <System.ReadOnlySpan`1[ushort]>
 ;  V62 tmp48        [V62,T09] (  3, 24   )     int  ->  rdi         "Inlining Arg"
 ;  V63 tmp49        [V63,T10] (  3, 24   )     int  ->  rsi         "Inlining Arg"
 ;* V64 tmp50        [V64    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;* V65 tmp51        [V65    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
 ;* V66 tmp52        [V66    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;  V67 tmp53        [V67,T34] (  3, 12   )     ref  ->  rdi         class-hnd "Inline stloc first use temp" <System.Net.IPAddress[]>
 ;  V68 tmp54        [V68,T22] (  4, 16   )     int  ->  r12         "Inline stloc first use temp"
 ;* V69 tmp55        [V69    ] (  0,  0   )     ref  ->  zero-ref    class-hnd "Inlining Arg" <System.Net.IPAddress>
 ;  V70 tmp56        [V70,T02] (  3, 48   )     int  ->  rdx         "Inlining Arg"
 ;  V71 tmp57        [V71,T43] (  2,  8   )   byref  ->  rsi         "field V16._reference (fldOffset=0x0)" P-INDEP
 ;  V72 tmp58        [V72,T49] (  2,  8   )     int  ->  rdi         "field V16._length (fldOffset=0x8)" P-INDEP
 ;* V73 tmp59        [V73    ] (  0,  0   )   byref  ->  zero-ref    "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V74 tmp60        [V74    ] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
 ;* V75 tmp61        [V75    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
 ;* V76 tmp62        [V76    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
 ;  V77 tmp63        [V77,T44] (  2,  8   )   byref  ->  rdx         "field V37._reference (fldOffset=0x0)" P-INDEP
 ;  V78 tmp64        [V78,T50] (  2,  8   )     int  ->  rdi         "field V37._length (fldOffset=0x8)" P-INDEP
 ;* V79 tmp65        [V79    ] (  0,  0   )   byref  ->  zero-ref    "field V38._reference (fldOffset=0x0)" P-INDEP
 ;* V80 tmp66        [V80    ] (  0,  0   )     int  ->  zero-ref    "field V38._length (fldOffset=0x8)" P-INDEP
-;  V81 tmp67        [V81,T35] (  3, 12   )   byref  ->   r8         "field V40._reference (fldOffset=0x0)" P-INDEP
-;  V82 tmp68        [V82,T23] (  4, 16   )     int  ->  rcx         "field V40._length (fldOffset=0x8)" P-INDEP
-;  V83 tmp69        [V83,T45] (  2,  8   )   byref  ->  rdx         "field V41._reference (fldOffset=0x0)" P-INDEP
-;  V84 tmp70        [V84,T51] (  2,  8   )     int  ->  rcx         "field V41._length (fldOffset=0x8)" P-INDEP
-;* V85 tmp71        [V85    ] (  0,  0   )   byref  ->  zero-ref    "field V42._reference (fldOffset=0x0)" P-INDEP
-;* V86 tmp72        [V86    ] (  0,  0   )     int  ->  zero-ref    "field V42._length (fldOffset=0x8)" P-INDEP
+;  V81 tmp67        [V81,T35] (  3, 12   )   byref  ->  rcx         "field V40._reference (fldOffset=0x0)" P-INDEP
+;  V82 tmp68        [V82,T23] (  4, 16   )     int  ->  rdx         "field V40._length (fldOffset=0x8)" P-INDEP
+;* V83 tmp69        [V83    ] (  0,  0   )   byref  ->  zero-ref    "field V41._reference (fldOffset=0x0)" P-INDEP
+;* V84 tmp70        [V84    ] (  0,  0   )     int  ->  zero-ref    "field V41._length (fldOffset=0x8)" P-INDEP
+;  V85 tmp71        [V85,T45] (  2,  8   )   byref  ->  rcx         "field V42._reference (fldOffset=0x0)" P-INDEP
+;  V86 tmp72        [V86,T51] (  2,  8   )     int  ->  rdx         "field V42._length (fldOffset=0x8)" P-INDEP
 ;* V87 tmp73        [V87    ] (  0,  0   )   byref  ->  zero-ref    "field V46._reference (fldOffset=0x0)" P-INDEP
 ;* V88 tmp74        [V88    ] (  0,  0   )     int  ->  zero-ref    "field V46._length (fldOffset=0x8)" P-INDEP
 ;* V89 tmp75        [V89    ] (  0,  0   )   byref  ->  zero-ref    "field V48._reference (fldOffset=0x0)" P-INDEP
 ;* V90 tmp76        [V90    ] (  0,  0   )     int  ->  zero-ref    "field V48._length (fldOffset=0x8)" P-INDEP
 ;* V91 tmp77        [V91    ] (  0,  0   )   byref  ->  zero-ref    "field V52._reference (fldOffset=0x0)" P-INDEP
 ;* V92 tmp78        [V92    ] (  0,  0   )     int  ->  zero-ref    "field V52._length (fldOffset=0x8)" P-INDEP
 ;* V93 tmp79        [V93    ] (  0,  0   )   byref  ->  zero-ref    "field V53._reference (fldOffset=0x0)" P-INDEP
 ;* V94 tmp80        [V94    ] (  0,  0   )     int  ->  zero-ref    "field V53._length (fldOffset=0x8)" P-INDEP
 ;* V95 tmp81        [V95    ] (  0,  0   )   byref  ->  zero-ref    "field V54._reference (fldOffset=0x0)" P-INDEP
 ;* V96 tmp82        [V96    ] (  0,  0   )     int  ->  zero-ref    "field V54._length (fldOffset=0x8)" P-INDEP
 ;* V97 tmp83        [V97    ] (  0,  0   )   byref  ->  zero-ref    "field V55._reference (fldOffset=0x0)" P-INDEP
 ;* V98 tmp84        [V98    ] (  0,  0   )     int  ->  zero-ref    "field V55._length (fldOffset=0x8)" P-INDEP
 ;  V99 tmp85        [V99,T46] (  2,  8   )   byref  ->  rdi         "field V61._reference (fldOffset=0x0)" P-INDEP
 ;  V100 tmp86       [V100,T52] (  2,  8   )     int  ->  rsi         "field V61._length (fldOffset=0x8)" P-INDEP
 ;  V101 tmp87       [V101,T47] (  2,  8   )   byref  ->  rdi         "field V64._reference (fldOffset=0x0)" P-INDEP
 ;  V102 tmp88       [V102,T53] (  2,  8   )     int  ->  rsi         "field V64._length (fldOffset=0x8)" P-INDEP
 ;* V103 tmp89       [V103    ] (  0,  0   )   byref  ->  zero-ref    "field V65._reference (fldOffset=0x0)" P-INDEP
 ;* V104 tmp90       [V104    ] (  0,  0   )     int  ->  zero-ref    "field V65._length (fldOffset=0x8)" P-INDEP
 ;  V105 PSPSym      [V105,T57] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
 ;  V106 cse0        [V106,T36] (  3, 12   )   byref  ->  [rbp-0x50]  spill-single-def "CSE #06: conservative"
 ;  V107 cse1        [V107,T42] (  3, 12   )     int  ->  [rbp-0x44]  spill-single-def "CSE #02: moderate"
 ;  V108 cse2        [V108,T54] (  2,  8   )     int  ->  rdx         "CSE #07: conservative"
 ;  V109 cse3        [V109,T55] (  2,  8   )     int  ->  rdx         "CSE #09: conservative"
 ;  V110 cse4        [V110,T00] ( 11, 52   )     int  ->  r12         "CSE #01: aggressive"
 ;  V111 cse5        [V111,T06] (  6, 24   )   byref  ->  [rbp-0x58]  "CSE #03: moderate"
 ;
 ; Lcl frame size = 56
 
 G_M59322_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 56
        lea      rbp, [rsp+0x60]
        mov      qword ptr [rbp-0x60], rsp
        mov      rbx, rdi
        mov      r14, rsi
        mov      r15, rdx
 						;; size=32 bbWeight=1 PerfScore 8.50
 G_M59322_IG02:
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.IO.File:Exists(System.String):ubyte
        call     [rax]System.IO.File:Exists(System.String):ubyte
        test     eax, eax
        je       G_M59322_IG18
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Net.NetworkInformation.StringParsingHelpers:ReadAllText(System.String):System.String
        call     [rax]System.Net.NetworkInformation.StringParsingHelpers:ReadAllText(System.String):System.String
        mov      r14, rax
        mov      r13d, -1
        jmp      SHORT G_M59322_IG04
 						;; size=49 bbWeight=1 PerfScore 10.75
 G_M59322_IG03:
        mov      rdi, rbx
        mov      rsi, rax
        mov      rax, 0xD1FFAB1E      ; code for System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
        call     [rax]System.Collections.Generic.List`1[System.__Canon]:AddWithResize(System.__Canon):this
 						;; size=18 bbWeight=4 PerfScore 15.00
 G_M59322_IG04:
        lea      edx, [r13+0x01]
        mov      r12d, dword ptr [r14+0x08]
        mov      ecx, r12d
        sub      ecx, edx
        mov      rdi, r14
        mov      rsi, 0xD1FFAB1E      ; 'lease'
        mov      r8d, 4
        mov      rax, 0xD1FFAB1E      ; code for System.String:IndexOf(System.String,int,int,int):int:this
        call     [rax]System.String:IndexOf(System.String,int,int,int):int:this
        mov      r13d, eax
        cmp      r13d, -1
        je       G_M59322_IG18
 						;; size=57 bbWeight=8 PerfScore 68.00
 G_M59322_IG05:
        mov      eax, r12d
        sub      eax, r13d
        mov      edx, eax
        mov      dword ptr [rbp-0x44], edx
        mov      esi, edx
        cmp      r12d, r13d
        jb       G_M59322_IG17
        lea      rax, bword ptr [r14+0x0C]
        movsxd   rdi, r13d
        mov      bword ptr [rbp-0x58], rax
        lea      rcx, bword ptr [rax+2*rdi]
        mov      rdi, rcx
        mov      bword ptr [rbp-0x50], rdi
        mov      rcx, rdi
        mov      rdi, rcx
        mov      edx, esi
        mov      esi, 123
        mov      rcx, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        call     [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        test     eax, eax
        jge      SHORT G_M59322_IG06
        mov      ecx, eax
        jmp      SHORT G_M59322_IG07
 						;; size=77 bbWeight=4 PerfScore 58.00
 G_M59322_IG06:
        lea      ecx, [rax+r13]
 						;; size=4 bbWeight=4 PerfScore 2.00
 G_M59322_IG07:
        mov      dword ptr [rbp-0x2C], ecx
        mov      edx, dword ptr [rbp-0x44]
        cmp      r12d, r13d
        jb       G_M59322_IG17
        mov      rdi, bword ptr [rbp-0x50]
        mov      esi, 125
        mov      rcx, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        call     [rcx]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        test     eax, eax
        jge      SHORT G_M59322_IG08
        jmp      SHORT G_M59322_IG09
 						;; size=42 bbWeight=4 PerfScore 44.00
 G_M59322_IG08:
        add      eax, r13d
 						;; size=3 bbWeight=4 PerfScore 1.00
 G_M59322_IG09:
        mov      r9d, dword ptr [rbp-0x2C]
        sub      eax, r9d
        mov      rdi, r14
        mov      dword ptr [rbp-0x30], eax
        mov      ecx, eax
        mov      dword ptr [rbp-0x2C], r9d
        mov      edx, r9d
        mov      rsi, 0xD1FFAB1E      ; 'interface'
        mov      r8d, 4
        mov      r10, 0xD1FFAB1E      ; code for System.String:IndexOf(System.String,int,int,int):int:this
        call     [r10]System.String:IndexOf(System.String,int,int,int):int:this
        mov      dword ptr [rbp-0x34], eax
        mov      edx, r12d
        sub      edx, eax
        cmp      r12d, eax
        jb       G_M59322_IG17
        movsxd   rdi, eax
        mov      rcx, bword ptr [rbp-0x58]
        lea      rdi, bword ptr [rcx+2*rdi]
        mov      esi, 59
        mov      r8, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        call     [r8]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        test     eax, eax
        jge      SHORT G_M59322_IG10
        mov      r8d, eax
        mov      eax, r8d
        jmp      SHORT G_M59322_IG11
 						;; size=109 bbWeight=4 PerfScore 78.00
 G_M59322_IG10:
        mov      r8d, dword ptr [rbp-0x34]
        add      r8d, eax
        mov      eax, r8d
 						;; size=10 bbWeight=4 PerfScore 6.00
 G_M59322_IG11:
        lea      ecx, [rax+0x01]
        mov      rdi, r14
        mov      dword ptr [rbp-0x3C], eax
        mov      edx, eax
        mov      esi, 32
        mov      r8, 0xD1FFAB1E      ; code for System.String:LastIndexOf(ushort,int,int):int:this
        call     [r8]System.String:LastIndexOf(ushort,int,int):int:this
        lea      edx, [rax+0x02]
        mov      edi, dword ptr [rbp-0x3C]
        sub      edi, eax
        add      edi, -3
        mov      esi, edx
        mov      eax, edi
        add      rsi, rax
        mov      eax, r12d
        cmp      rsi, rax
        ja       G_M59322_IG16
        mov      rax, bword ptr [rbp-0x58]
        lea      rdx, bword ptr [rax+2*rdx]
        mov      rsi, rdx
        test     r15, r15
-       je       SHORT G_M59322_IG12
-       lea      rdx, bword ptr [r15+0x0C]
-       mov      ecx, dword ptr [r15+0x08]
-       mov      r8, rdx
+       jne      SHORT G_M59322_IG12
+       xor      rcx, rcx
+       xor      edx, edx
        jmp      SHORT G_M59322_IG13
-						;; size=88 bbWeight=4 PerfScore 70.00
+						;; size=81 bbWeight=4 PerfScore 61.00
 G_M59322_IG12:
-       xor      r8, r8
-       xor      ecx, ecx
-						;; size=5 bbWeight=4 PerfScore 2.00
+       lea      rcx, bword ptr [r15+0x0C]
+       mov      edx, dword ptr [r15+0x08]
+						;; size=8 bbWeight=4 PerfScore 10.00
 G_M59322_IG13:
-       cmp      edi, ecx
+       cmp      edi, edx
        mov      bword ptr [rbp-0x58], rax
        jne      G_M59322_IG04
-       mov      edx, ecx
+       mov      edx, edx
        add      rdx, rdx
        mov      rdi, rsi
-       mov      rsi, r8
+       mov      rsi, rcx
        mov      rcx, 0xD1FFAB1E      ; code for System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        call     [rcx]System.SpanHelpers:SequenceEqual(byref,byref,ulong):ubyte
        test     eax, eax
        je       G_M59322_IG04
        mov      ecx, dword ptr [rbp-0x30]
        mov      edx, dword ptr [rbp-0x2C]
        mov      rdi, r14
        mov      rsi, 0xD1FFAB1E      ; 'dhcp-server-identifier'
        mov      r8d, 4
        mov      r9, 0xD1FFAB1E      ; code for System.String:IndexOf(System.String,int,int,int):int:this
        call     [r9]System.String:IndexOf(System.String,int,int,int):int:this
        mov      dword ptr [rbp-0x38], eax
        mov      edx, r12d
        sub      edx, eax
        cmp      r12d, eax
        jb       G_M59322_IG17
        movsxd   rdi, eax
        mov      rcx, bword ptr [rbp-0x58]
        lea      rdi, bword ptr [rcx+2*rdi]
        mov      esi, 59
        mov      r8, 0xD1FFAB1E      ; code for System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        call     [r8]System.PackedSpanHelpers:IndexOf[System.SpanHelpers+DontNegate`1[short],System.PackedSpanHelpers+NopTransform](byref,short,int):int
        test     eax, eax
        jge      SHORT G_M59322_IG14
        mov      esi, eax
        jmp      SHORT G_M59322_IG15
 						;; size=135 bbWeight=4 PerfScore 101.00
 G_M59322_IG14:
        mov      esi, dword ptr [rbp-0x38]
        add      esi, eax
 						;; size=5 bbWeight=4 PerfScore 5.00
 G_M59322_IG15:
        lea      ecx, [rsi+0x01]
        mov      rdi, r14
        mov      dword ptr [rbp-0x40], esi
        mov      edx, esi
        mov      esi, 32
        mov      rax, 0xD1FFAB1E      ; code for System.String:LastIndexOf(ushort,int,int):int:this
        call     [rax]System.String:LastIndexOf(ushort,int,int):int:this
        lea      edi, [rax+0x01]
        mov      esi, dword ptr [rbp-0x40]
        sub      esi, eax
        dec      esi
        mov      edx, edi
        mov      eax, esi
        add      rdx, rax
        mov      eax, r12d
        cmp      rdx, rax
        ja       SHORT G_M59322_IG16
        mov      r12, bword ptr [rbp-0x58]
        lea      rdi, bword ptr [r12+2*rdi]
        mov      edx, 1
        mov      rax, 0xD1FFAB1E      ; code for System.Net.IPAddressParser:Parse[ushort](System.ReadOnlySpan`1[ushort],ubyte):System.Net.IPAddress
        call     [rax]System.Net.IPAddressParser:Parse[ushort](System.ReadOnlySpan`1[ushort],ubyte):System.Net.IPAddress
        test     rax, rax
        je       G_M59322_IG04
        inc      dword ptr [rbx+0x14]
        mov      rdi, gword ptr [rbx+0x08]
        mov      r12d, dword ptr [rbx+0x10]
        cmp      dword ptr [rdi+0x08], r12d
        jbe      G_M59322_IG03
        lea      esi, [r12+0x01]
        mov      dword ptr [rbx+0x10], esi
        movsxd   rsi, r12d
        mov      rdx, rax
        mov      rax, 0xD1FFAB1E      ; code for CORINFO_HELP_ARRADDR_ST
        call     [rax]CORINFO_HELP_ARRADDR_ST
        jmp      G_M59322_IG04
 						;; size=139 bbWeight=4 PerfScore 137.00
 G_M59322_IG16:
        mov      edi, 33
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int)
        int3     
 						;; size=18 bbWeight=0 PerfScore 0.00
 G_M59322_IG17:
        mov      edi, 8
        xor      esi, esi
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException(int,int)
        int3     
 						;; size=20 bbWeight=0 PerfScore 0.00
 G_M59322_IG18:
        add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M59322_IG19:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x60]
 						;; size=22 bbWeight=0 PerfScore 0.00
 G_M59322_IG20:
        lea      rax, G_M59322_IG18
 						;; size=7 bbWeight=0 PerfScore 0.00
 G_M59322_IG21:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 870, prolog size 32, PerfScore 610.50, instruction count 240, allocated bytes for code 870 (MethodHash=b9fe1845) for method System.Net.NetworkInformation.StringParsingHelpers:ParseDhcpServerAddressesFromLeasesFile(System.Collections.Generic.List`1[System.Net.IPAddress],System.String,System.String) (FullOpts)
+; Total bytes of code 866, prolog size 32, PerfScore 609.50, instruction count 239, allocated bytes for code 866 (MethodHash=b9fe1845) for method System.Net.NetworkInformation.StringParsingHelpers:ParseDhcpServerAddressesFromLeasesFile(System.Collections.Generic.List`1[System.Net.IPAddress],System.String,System.String) (FullOpts)
 ; ============================================================
-4 (-0.85 % of base) - System.Runtime.CompilerServices.TaskAwaiter+<>c:b__12_0(System.Action,System.Threading.Tasks.Task):this
 ; Assembly listing for method System.Runtime.CompilerServices.TaskAwaiter+<>c:<OutputWaitEtwEvents>b__12_0(System.Action,System.Threading.Tasks.Task):this (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; partially interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 7 single block inlinees; 0 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 this         [V00    ] (  0,  0   )     ref  ->  zero-ref    this class-hnd single-def <System.Runtime.CompilerServices.TaskAwaiter+<>c>
 ;  V01 arg1         [V01,T01] (  4,  4   )     ref  ->  r15         class-hnd single-def <System.Action>
 ;  V02 arg2         [V02,T00] (  8,  5   )     ref  ->  rbx         class-hnd single-def <System.Threading.Tasks.Task>
 ;  V03 loc0         [V03,T03] (  6,  4   )     ref  ->  r14         class-hnd exact single-def <System.Threading.Tasks.TplEventSource>
 ;  V04 loc1         [V04    ] (  4,  2.50)  struct (16) [rbp-0x38]  do-not-enreg[XSA] multireg-arg addr-exposed ld-addr-op <System.Guid>
 ;  V05 loc2         [V05,T07] (  4,  2   )     ref  ->  r12         class-hnd single-def <System.Threading.Tasks.Task>
 ;# V06 OutArgs      [V06    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;  V07 tmp1         [V07,T02] (  3,  6   )     int  ->  r13         "dup spill"
 ;* V08 tmp2         [V08    ] (  0,  0   )     int  ->  zero-ref   
 ;* V09 tmp3         [V09    ] (  0,  0   )     int  ->  zero-ref   
 ;* V10 tmp4         [V10    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V11 tmp5         [V11    ] (  0,  0   )     int  ->  zero-ref   
 ;* V12 tmp6         [V12    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;  V13 tmp7         [V13,T11] (  3,  1.50)     int  ->  [rbp-0x3C] 
 ;* V14 tmp8         [V14    ] (  0,  0   )     int  ->  zero-ref   
 ;* V15 tmp9         [V15    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V16 tmp10        [V16    ] (  0,  0   )     int  ->  zero-ref   
 ;* V17 tmp11        [V17    ] (  0,  0   )     int  ->  zero-ref   
 ;* V18 tmp12        [V18    ] (  0,  0   )     ref  ->  zero-ref    single-def
 ;* V19 tmp13        [V19    ] (  0,  0   )     int  ->  zero-ref   
-;  V20 tmp14        [V20,T12] (  3,  1.50)     int  ->  [rbp-0x40] 
+;  V20 tmp14        [V20,T12] (  3,  1.50)     int  ->  registers  
 ;  V21 tmp15        [V21,T05] (  3,  3   )  struct (16) [rbp-0x50]  do-not-enreg[SAR] multireg-arg multireg-ret "spilled call-like call argument" <System.Guid>
 ;* V22 tmp16        [V22    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;* V23 tmp17        [V23    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V24 tmp18        [V24,T09] (  2,  2   )     int  ->  rcx         "argument with side effect"
 ;  V25 tmp19        [V25,T10] (  2,  2   )     int  ->  rsi         "argument with side effect"
 ;  V26 rat0         [V26,T08] (  3,  2   )   byref  ->  rax         "TLS field access"
 ;  V27 rat1         [V27,T06] (  3,  3   )    long  ->  rax         "TLS access"
 ;  V28 rat2         [V28,T04] (  3,  3   )   byref  ->  rax         "ThreadStaticBlockBase access"
 ;
 ; Lcl frame size = 40
 
 G_M15443_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 40
        lea      rbp, [rsp+0x50]
        mov      r15, rsi
        mov      rbx, rdx
 						;; size=25 bbWeight=1 PerfScore 7.25
 G_M15443_IG02:
        mov      rdi, 0xD1FFAB1E      ; data for System.Threading.Tasks.Task:s_asyncDebuggingEnabled
        cmp      byte  ptr [rdi], 0
        je       SHORT G_M15443_IG04
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M15443_IG03:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:RemoveFromActiveTasks(System.Threading.Tasks.Task)
        call     [rax]System.Threading.Tasks.Task:RemoveFromActiveTasks(System.Threading.Tasks.Task)
 						;; size=15 bbWeight=0.50 PerfScore 1.75
 G_M15443_IG04:
        mov      rdi, 0xD1FFAB1E      ; const ptr
        mov      r14, gword ptr [rdi]
        vxorps   xmm0, xmm0, xmm0
        vmovups  xmmword ptr [rbp-0x38], xmm0
        movzx    r13, byte  ptr [r14+0x9D]
        test     r13d, r13d
        je       G_M15443_IG09
 						;; size=39 bbWeight=1 PerfScore 6.83
 G_M15443_IG05:
        mov      rdi, 0xD1FFAB1E
        mov      rax, 0xD1FFAB1E      ; function address
        call     rax
        cmp      dword ptr [rax], 30
        jle      G_M15443_IG13
        mov      rdi, gword ptr [rax+0x08]
        mov      rax, bword ptr [rdi+0xF0]
        test     rax, rax
        je       G_M15443_IG13
 						;; size=51 bbWeight=0.50 PerfScore 6.38
 G_M15443_IG06:
        mov      r12, gword ptr [rax+0x10]
        test     r12, r12
-       jne      SHORT G_M15443_IG07
-       mov      rdi, 0xD1FFAB1E      ; const ptr
-       mov      rdi, gword ptr [rdi]
-       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
-       call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
-       mov      r12d, eax
-       xor      edi, edi
-       mov      dword ptr [rbp-0x40], edi
-       jmp      SHORT G_M15443_IG08
-						;; size=44 bbWeight=0.50 PerfScore 6.12
-G_M15443_IG07:
+       je       SHORT G_M15443_IG07
        mov      rdi, gword ptr [r12+0x18]
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
        mov      dword ptr [rbp-0x3C], eax
        mov      rdi, r12
        mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        call     [rcx]System.Threading.Tasks.Task:get_Id():int:this
        mov      r12d, eax
-       mov      dword ptr [rbp-0x40], r12d
-       mov      r12d, dword ptr [rbp-0x3C]
-						;; size=48 bbWeight=0.50 PerfScore 7.50
+       jmp      SHORT G_M15443_IG08
+						;; size=51 bbWeight=0.50 PerfScore 9.12
+G_M15443_IG07:
+       mov      rdi, 0xD1FFAB1E      ; const ptr
+       mov      rdi, gword ptr [rdi]
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TaskScheduler:get_Id():int:this
+       call     [rax]System.Threading.Tasks.TaskScheduler:get_Id():int:this
+       mov      r12d, eax
+       xor      eax, eax
+       mov      dword ptr [rbp-0x3C], r12d
+       mov      r12d, eax
+						;; size=37 bbWeight=0.50 PerfScore 3.62
 G_M15443_IG08:
        mov      rdi, rbx
-       mov      rcx, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
+       mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        cmp      dword ptr [rdi], edi
-       call     [rcx]System.Threading.Tasks.Task:get_Id():int:this
+       call     [rax]System.Threading.Tasks.Task:get_Id():int:this
        mov      ecx, eax
-       mov      esi, r12d
-       mov      edx, dword ptr [rbp-0x40]
+       mov      esi, dword ptr [rbp-0x3C]
+       mov      edx, r12d
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TplEventSource:TaskWaitEnd(int,int,int):this
        call     [rax]System.Threading.Tasks.TplEventSource:TaskWaitEnd(int,int,int):this
        cmp      byte  ptr [r14+0xB0], 0
        je       SHORT G_M15443_IG09
        test     word  ptr [rbx+0x34], 0x400
        je       SHORT G_M15443_IG09
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        call     [rax]System.Threading.Tasks.Task:get_Id():int:this
        mov      edi, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TplEventSource:CreateGuidForTaskID(int):System.Guid
        call     [rax]System.Threading.Tasks.TplEventSource:CreateGuidForTaskID(int):System.Guid
        mov      qword ptr [rbp-0x50], rax
        mov      qword ptr [rbp-0x48], rdx
        mov      rdi, qword ptr [rbp-0x50]
        mov      rsi, qword ptr [rbp-0x48]
        lea      rdx, [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:SetCurrentThreadActivityId(System.Guid,byref)
        call     [rax]System.Diagnostics.Tracing.EventSource:SetCurrentThreadActivityId(System.Guid,byref)
 						;; size=119 bbWeight=0.50 PerfScore 17.12
 G_M15443_IG09:
        mov      rdi, gword ptr [r15+0x08]
        call     [r15+0x18]System.Action:Invoke():this
        test     r13d, r13d
        je       SHORT G_M15443_IG11
 						;; size=13 bbWeight=1 PerfScore 6.25
 G_M15443_IG10:
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.Task:get_Id():int:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Threading.Tasks.Task:get_Id():int:this
        mov      esi, eax
        mov      rdi, r14
        mov      rax, 0xD1FFAB1E      ; code for System.Threading.Tasks.TplEventSource:TaskWaitContinuationComplete(int):this
        call     [rax]System.Threading.Tasks.TplEventSource:TaskWaitContinuationComplete(int):this
        cmp      byte  ptr [r14+0xB0], 0
        je       SHORT G_M15443_IG11
        test     word  ptr [rbx+0x34], 0x400
        je       SHORT G_M15443_IG11
        mov      rdi, qword ptr [rbp-0x38]
        mov      rsi, qword ptr [rbp-0x30]
        mov      rax, 0xD1FFAB1E      ; code for System.Diagnostics.Tracing.EventSource:SetCurrentThreadActivityId(System.Guid)
        call     [rax]System.Diagnostics.Tracing.EventSource:SetCurrentThreadActivityId(System.Guid)
 						;; size=72 bbWeight=0.50 PerfScore 11.75
 G_M15443_IG11:
        nop      
 						;; size=1 bbWeight=1 PerfScore 0.25
 G_M15443_IG12:
        add      rsp, 40
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M15443_IG13:
        mov      edi, 30
        call     CORINFO_HELP_GETDYNAMIC_GCTHREADSTATIC_BASE_NOCTOR_OPTIMIZED
        jmp      G_M15443_IG06
 						;; size=15 bbWeight=0 PerfScore 0.00
 
-; Total bytes of code 472, prolog size 19, PerfScore 79.71, instruction count 113, allocated bytes for code 472 (MethodHash=34b5c3ac) for method System.Runtime.CompilerServices.TaskAwaiter+<>c:<OutputWaitEtwEvents>b__12_0(System.Action,System.Threading.Tasks.Task):this (FullOpts)
+; Total bytes of code 468, prolog size 19, PerfScore 78.83, instruction count 112, allocated bytes for code 468 (MethodHash=34b5c3ac) for method System.Runtime.CompilerServices.TaskAwaiter+<>c:<OutputWaitEtwEvents>b__12_0(System.Action,System.Threading.Tasks.Task):this (FullOpts)
 ; ============================================================
-4 (-0.69 % of base) - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte
 ; Assembly listing for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T26] (  3, 10   )  double  ->  [rbp-0x30]  single-def
 ;  V01 arg1         [V01,T07] (  5,  5   )     ref  ->  r15         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T04] (  4, 18   )     ref  ->  rbx         class-hnd single-def <System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double]>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Span`1[ushort]>
 ;  V04 arg4         [V04,T08] (  4,  4   )   byref  ->  r14         single-def
 ;  V05 loc0         [V05,T01] (  6, 41   )     int  ->  [rbp-0x34] 
 ;  V06 loc1         [V06,T00] (  7, 42   )     ref  ->  [rbp-0x60]  do-not-enreg[Z] class-hnd EH-live <ubyte[]>
 ;  V07 loc2         [V07    ] (  5, 26   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V08 loc3         [V08    ] (  0,  0   )    long  ->  zero-ref   
 ;  V09 loc4         [V09    ] (  2, 16   )     ref  ->  [rbp-0x48]  must-init pinned class-hnd <ubyte[]>
 ;* V10 loc5         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;  V11 loc6         [V11,T21] (  2,  2   )   ubyte  ->  [rbp-0x4C]  do-not-enreg[Z] EH-live
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V14 tmp2         [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V16 tmp4         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V17 tmp5         [V17,T09] (  3,  6   )     int  ->  rbx         "Inlining Arg"
-;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V20 tmp8         [V20,T13] (  2,  4   )   byref  ->  rcx         "Inlining Arg"
-;  V21 tmp9         [V21,T15] (  2,  4   )     int  ->  r15         "Inlining Arg"
+;  V21 tmp9         [V21,T15] (  2,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V22 tmp10        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V23 tmp11        [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp12        [V24    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp13        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V26 tmp14        [V26,T16] (  3,  3   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;* V27 tmp15        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp16        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V29 tmp17        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V30 tmp18        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;  V31 tmp19        [V31,T27] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.ArgumentException>
 ;  V32 tmp20        [V32,T14] (  2,  2   )   byref  ->  r12         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V33 tmp21        [V33,T11] (  3,  3   )     int  ->  r13         single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;  V34 tmp22        [V34,T18] (  2,  2   )   byref  ->  rax         "field V10._reference (fldOffset=0x0)" P-INDEP
 ;  V35 tmp23        [V35,T22] (  2,  2   )     int  ->  rbx         "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp24        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp25        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp26        [V38,T12] (  4,  4   )   byref  ->  registers   "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V38 tmp26        [V38,T12] (  4,  4   )   byref  ->  r15         "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V39 tmp27        [V39,T10] (  5,  5   )     int  ->  [rbp-0x50]  "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp28        [V40    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp29        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;  V42 tmp30        [V42,T05] (  2, 16   )   byref  ->  rsi         "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V43 tmp31        [V43,T06] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp32        [V44,T19] (  2,  2   )   byref  ->  rcx         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp33        [V45,T23] (  2,  2   )     int  ->  r15         "field V18._length (fldOffset=0x8)" P-INDEP
-;* V46 tmp34        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V47 tmp35        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp32        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp33        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;  V46 tmp34        [V46,T19] (  2,  2   )   byref  ->  r15         "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V47 tmp35        [V47,T23] (  2,  2   )     int  ->  rcx         "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V48 tmp36        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V49 tmp37        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;  V50 tmp38        [V50,T20] (  2,  2   )   byref  ->  [rbp-0x68]  spill-single-def "field V23._reference (fldOffset=0x0)" P-INDEP
 ;  V51 tmp39        [V51,T17] (  3,  3   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V52 tmp40        [V52    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V53 tmp41        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V54 tmp42        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V55 tmp43        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp44        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp45        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;  V58 tmp46        [V58,T03] (  2, 32   )     ref  ->  rdi         "argument with side effect"
 ;  V59 tmp47        [V59,T28] (  2,  0   )     ref  ->  r15         "argument with side effect"
 ;  V60 tmp48        [V60,T29] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V61 PSPSym       [V61,T25] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
 ;* V62 cse0         [V62,T24] (  0,  0   )   byref  ->  zero-ref    hoist "CSE #02: aggressive"
 ;  V63 cse1         [V63,T02] (  3, 17   )     int  ->  [rbp-0x54]  spill-single-def "CSE #03: aggressive"
 ;
 ; Lcl frame size = 72
 
 G_M24162_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 72
        lea      rbp, [rsp+0x70]
        xor      eax, eax
        mov      qword ptr [rbp-0x48], rax
        mov      qword ptr [rbp-0x70], rsp
        vmovsd   qword ptr [rbp-0x30], xmm0
        mov      r15, rdi
        mov      rbx, rsi
        mov      r12, rdx
        mov      r13d, ecx
        mov      r14, r8
 						;; size=49 bbWeight=1 PerfScore 11.25
 G_M24162_IG02:
        mov      dword ptr [rbp-0x34], 0x1000
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M24162_IG17
        mov      eax, dword ptr [rbp-0x34]
        jmp      SHORT G_M24162_IG04
 						;; size=31 bbWeight=1 PerfScore 8.25
 G_M24162_IG03:
        mov      rdi, gword ptr [rbp-0x60]
        mov      esi, dword ptr [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        imul     r8d, dword ptr [rbp-0x34], 2
        jo       G_M24162_IG18
        mov      edi, r8d
        xor      rsi, rsi
        mov      gword ptr [rbp-0x48], rsi
        mov      eax, edi
 						;; size=41 bbWeight=8 PerfScore 96.00
 G_M24162_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared
        mov      rdi, gword ptr [rdi]
        mov      esi, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        mov      gword ptr [rbp-0x60], rax
        xor      esi, esi
        mov      dword ptr [rbp-0x40], esi
        mov      rsi, gword ptr [rbp-0x60]
        mov      eax, dword ptr [rsi+0x08]
        mov      dword ptr [rbp-0x54], eax
        mov      r8d, eax
        mov      rsi, gword ptr [rbp-0x60]
        mov      gword ptr [rbp-0x48], rsi
 						;; size=59 bbWeight=8 PerfScore 138.00
 G_M24162_IG05:
        mov      rsi, gword ptr [rbp-0x60]
        add      rsi, 16
        mov      dword ptr [rbp-0x34], r8d
        mov      edx, r8d
        lea      rcx, [rbp-0x40]
        vmovsd   xmm0, qword ptr [rbp-0x30]
        mov      rdi, gword ptr [rbx+0x08]
        call     [rbx+0x18]System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double]:Invoke(double,System.Span`1[ubyte],byref):ubyte:this
        test     eax, eax
        je       G_M24162_IG03
 						;; size=39 bbWeight=8 PerfScore 98.00
 G_M24162_IG06:
        mov      ebx, dword ptr [rbp-0x40]
        cmp      dword ptr [rbp-0x54], ebx
        jb       G_M24162_IG12
        mov      rax, gword ptr [rbp-0x60]
        add      rax, 16
        test     r15, r15
-       je       SHORT G_M24162_IG07
-       lea      rcx, bword ptr [r15+0x0C]
-       mov      r15d, dword ptr [r15+0x08]
-       mov      rdx, rcx
-       mov      ecx, r15d
-       mov      r15, rdx
-       jmp      SHORT G_M24162_IG08
-						;; size=44 bbWeight=1 PerfScore 11.75
-G_M24162_IG07:
-       xor      rcx, rcx
+       jne      SHORT G_M24162_IG07
        xor      r15, r15
-						;; size=5 bbWeight=1 PerfScore 0.50
+       xor      ecx, ecx
+       jmp      SHORT G_M24162_IG08
+						;; size=32 bbWeight=1 PerfScore 9.00
+G_M24162_IG07:
+       lea      rcx, bword ptr [r15+0x0C]
+       mov      edi, dword ptr [r15+0x08]
+       mov      r15, rcx
+       mov      ecx, edi
+						;; size=13 bbWeight=1 PerfScore 3.00
 G_M24162_IG08:
        mov      bword ptr [rbp-0x68], rax
        mov      rdi, r15
        mov      dword ptr [rbp-0x50], ecx
        mov      esi, ecx
        mov      rdx, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        call     [rdx]System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        test     eax, eax
        je       SHORT G_M24162_IG11
        mov      edi, dword ptr [rbp-0x50]
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        call     [rax]System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        cmp      eax, r13d
        jg       SHORT G_M24162_IG09
        mov      rdi, r15
        mov      esi, dword ptr [rbp-0x50]
        mov      rdx, bword ptr [rbp-0x68]
        mov      ecx, ebx
        mov      r8, r12
        mov      r9d, r13d
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        call     [rax]System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        mov      dword ptr [r14], eax
        mov      edi, 1
        jmp      SHORT G_M24162_IG10
 						;; size=90 bbWeight=1 PerfScore 22.25
 G_M24162_IG09:
        xor      edi, edi
        mov      dword ptr [r14], edi
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M24162_IG10:
        mov      dword ptr [rbp-0x4C], edi
        jmp      SHORT G_M24162_IG13
 						;; size=5 bbWeight=1 PerfScore 3.00
 G_M24162_IG11:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        call     [rax]System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        mov      r15, rax
        mov      edi, 0x42E7
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M24162_IG12:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M24162_IG13:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M24162_IG14:
        call     G_M24162_IG19
        nop      
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M24162_IG15:
        mov      eax, dword ptr [rbp-0x4C]
 						;; size=3 bbWeight=1 PerfScore 1.00
 G_M24162_IG16:
        add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M24162_IG17:
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ArrayPool`1[ubyte]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        mov      eax, dword ptr [rbp-0x34]
        jmp      G_M24162_IG04
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M24162_IG18:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 G_M24162_IG19:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
 						;; size=22 bbWeight=1 PerfScore 10.50
 G_M24162_IG20:
        mov      rdi, gword ptr [rbp-0x60]
        mov      esi, dword ptr [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        nop      
 						;; size=20 bbWeight=1 PerfScore 5.50
 G_M24162_IG21:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 577, prolog size 49, PerfScore 417.25, instruction count 163, allocated bytes for code 577 (MethodHash=8a8da19d) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte (FullOpts)
+; Total bytes of code 573, prolog size 49, PerfScore 417.00, instruction count 162, allocated bytes for code 573 (MethodHash=8a8da19d) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[double](double,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[double],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; ============================================================
-4 (-0.70 % of base) - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte
 ; Assembly listing for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T06] (  3, 10   )     int  ->  r15         single-def
 ;  V01 arg1         [V01,T08] (  5,  5   )     ref  ->  r14         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T04] (  4, 18   )     ref  ->  rbx         class-hnd single-def <System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int]>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Span`1[ushort]>
 ;  V04 arg4         [V04,T09] (  4,  4   )   byref  ->  r13         single-def
 ;  V05 loc0         [V05,T01] (  6, 41   )     int  ->  [rbp-0x2C] 
 ;  V06 loc1         [V06,T00] (  7, 42   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd EH-live <ubyte[]>
 ;  V07 loc2         [V07    ] (  5, 26   )     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V08 loc3         [V08    ] (  0,  0   )    long  ->  zero-ref   
 ;  V09 loc4         [V09    ] (  2, 16   )     ref  ->  [rbp-0x40]  must-init pinned class-hnd <ubyte[]>
 ;* V10 loc5         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;  V11 loc6         [V11,T22] (  2,  2   )   ubyte  ->  [rbp-0x44]  do-not-enreg[Z] EH-live
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V14 tmp2         [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V16 tmp4         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V17 tmp5         [V17,T10] (  3,  6   )     int  ->  rbx         "Inlining Arg"
-;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V20 tmp8         [V20,T14] (  2,  4   )   byref  ->  rax         "Inlining Arg"
-;  V21 tmp9         [V21,T16] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V21 tmp9         [V21,T16] (  2,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V22 tmp10        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V23 tmp11        [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp12        [V24    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp13        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V26 tmp14        [V26,T17] (  3,  3   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;* V27 tmp15        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp16        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V29 tmp17        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V30 tmp18        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;  V31 tmp19        [V31,T27] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.ArgumentException>
 ;  V32 tmp20        [V32,T15] (  2,  2   )   byref  ->  [rbp-0x60]  single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V33 tmp21        [V33,T12] (  3,  3   )     int  ->  r12         single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;  V34 tmp22        [V34,T19] (  2,  2   )   byref  ->  r15         "field V10._reference (fldOffset=0x0)" P-INDEP
 ;  V35 tmp23        [V35,T23] (  2,  2   )     int  ->  rbx         "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp24        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp25        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp26        [V38,T13] (  4,  4   )   byref  ->  registers   "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V38 tmp26        [V38,T13] (  4,  4   )   byref  ->  r14         "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V39 tmp27        [V39,T11] (  5,  5   )     int  ->  [rbp-0x48]  "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp28        [V40    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp29        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;  V42 tmp30        [V42,T05] (  2, 16   )   byref  ->  rdx         "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V43 tmp31        [V43,T07] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp32        [V44,T20] (  2,  2   )   byref  ->  rax         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp33        [V45,T24] (  2,  2   )     int  ->  r14         "field V18._length (fldOffset=0x8)" P-INDEP
-;* V46 tmp34        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V47 tmp35        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp32        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp33        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;  V46 tmp34        [V46,T20] (  2,  2   )   byref  ->  r14         "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V47 tmp35        [V47,T24] (  2,  2   )     int  ->  rax         "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V48 tmp36        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V49 tmp37        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;  V50 tmp38        [V50,T21] (  2,  2   )   byref  ->  r15         "field V23._reference (fldOffset=0x0)" P-INDEP
 ;  V51 tmp39        [V51,T18] (  3,  3   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V52 tmp40        [V52    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V53 tmp41        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V54 tmp42        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V55 tmp43        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp44        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp45        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;  V58 tmp46        [V58,T03] (  2, 32   )     ref  ->  rdi         "argument with side effect"
 ;  V59 tmp47        [V59,T28] (  2,  0   )     ref  ->  r15         "argument with side effect"
 ;  V60 tmp48        [V60,T29] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V61 PSPSym       [V61,T26] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
 ;* V62 cse0         [V62,T25] (  0,  0   )   byref  ->  zero-ref    hoist "CSE #02: aggressive"
 ;  V63 cse1         [V63,T02] (  3, 17   )     int  ->  [rbp-0x4C]  spill-single-def "CSE #03: aggressive"
 ;
 ; Lcl frame size = 72
 
 G_M46436_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 72
        lea      rbp, [rsp+0x70]
        xor      eax, eax
        mov      qword ptr [rbp-0x40], rax
        mov      qword ptr [rbp-0x70], rsp
        mov      bword ptr [rbp-0x60], rcx
        mov      r15d, edi
        mov      r14, rsi
        mov      rbx, rdx
        mov      r12d, r8d
        mov      r13, r9
 						;; size=48 bbWeight=1 PerfScore 11.25
 G_M46436_IG02:
        mov      dword ptr [rbp-0x2C], 0x1000
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M46436_IG17
        mov      ecx, dword ptr [rbp-0x2C]
        jmp      SHORT G_M46436_IG04
 						;; size=31 bbWeight=1 PerfScore 8.25
 G_M46436_IG03:
        mov      rdi, gword ptr [rbp-0x58]
        mov      esi, dword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        imul     r9d, dword ptr [rbp-0x2C], 2
        jo       G_M46436_IG18
        mov      edi, r9d
        xor      rsi, rsi
        mov      gword ptr [rbp-0x40], rsi
        mov      ecx, edi
 						;; size=41 bbWeight=8 PerfScore 96.00
 G_M46436_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared
        mov      rdi, gword ptr [rdi]
        mov      esi, ecx
        mov      rcx, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        cmp      dword ptr [rdi], edi
        call     [rcx]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        mov      gword ptr [rbp-0x58], rax
        xor      edx, edx
        mov      dword ptr [rbp-0x38], edx
        mov      rdx, gword ptr [rbp-0x58]
        mov      eax, dword ptr [rdx+0x08]
        mov      dword ptr [rbp-0x4C], eax
        mov      r9d, eax
        mov      rdx, gword ptr [rbp-0x58]
        mov      gword ptr [rbp-0x40], rdx
 						;; size=59 bbWeight=8 PerfScore 138.00
 G_M46436_IG05:
        mov      rdx, gword ptr [rbp-0x58]
        add      rdx, 16
        mov      dword ptr [rbp-0x2C], r9d
        mov      ecx, r9d
        lea      r8, [rbp-0x38]
        mov      esi, r15d
        mov      rdi, gword ptr [rbx+0x08]
        call     [rbx+0x18]System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int]:Invoke(int,System.Span`1[ubyte],byref):ubyte:this
        test     eax, eax
        je       G_M46436_IG03
 						;; size=37 bbWeight=8 PerfScore 76.00
 G_M46436_IG06:
        mov      ebx, dword ptr [rbp-0x38]
        cmp      dword ptr [rbp-0x4C], ebx
        jb       G_M46436_IG12
        mov      r15, gword ptr [rbp-0x58]
        add      r15, 16
        test     r14, r14
-       je       SHORT G_M46436_IG07
-       lea      rax, bword ptr [r14+0x0C]
-       mov      r14d, dword ptr [r14+0x08]
-       mov      rcx, rax
-       mov      eax, r14d
-       mov      r14, rcx
-       jmp      SHORT G_M46436_IG08
-						;; size=44 bbWeight=1 PerfScore 11.75
-G_M46436_IG07:
-       xor      rax, rax
+       jne      SHORT G_M46436_IG07
        xor      r14, r14
-						;; size=5 bbWeight=1 PerfScore 0.50
+       xor      eax, eax
+       jmp      SHORT G_M46436_IG08
+						;; size=32 bbWeight=1 PerfScore 9.00
+G_M46436_IG07:
+       lea      rax, bword ptr [r14+0x0C]
+       mov      edi, dword ptr [r14+0x08]
+       mov      r14, rax
+       mov      eax, edi
+						;; size=13 bbWeight=1 PerfScore 3.00
 G_M46436_IG08:
        mov      rdi, r14
        mov      dword ptr [rbp-0x48], eax
        mov      esi, eax
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        call     [rcx]System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        test     eax, eax
        je       SHORT G_M46436_IG11
        mov      edi, dword ptr [rbp-0x48]
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        call     [rax]System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        cmp      eax, r12d
        jg       SHORT G_M46436_IG09
        mov      rdi, r14
        mov      esi, dword ptr [rbp-0x48]
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, bword ptr [rbp-0x60]
        mov      r9d, r12d
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        call     [rax]System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        mov      dword ptr [r13], eax
        mov      edi, 1
        jmp      SHORT G_M46436_IG10
 						;; size=87 bbWeight=1 PerfScore 21.25
 G_M46436_IG09:
        xor      edi, edi
        mov      dword ptr [r13], edi
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M46436_IG10:
        mov      dword ptr [rbp-0x44], edi
        jmp      SHORT G_M46436_IG13
 						;; size=5 bbWeight=1 PerfScore 3.00
 G_M46436_IG11:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        call     [rax]System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        mov      r15, rax
        mov      edi, 0x42E7
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M46436_IG12:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M46436_IG13:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M46436_IG14:
        call     G_M46436_IG19
        nop      
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M46436_IG15:
        mov      eax, dword ptr [rbp-0x44]
 						;; size=3 bbWeight=1 PerfScore 1.00
 G_M46436_IG16:
        add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M46436_IG17:
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ArrayPool`1[ubyte]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        mov      ecx, dword ptr [rbp-0x2C]
        jmp      G_M46436_IG04
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M46436_IG18:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 G_M46436_IG19:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
 						;; size=22 bbWeight=1 PerfScore 10.50
 G_M46436_IG20:
        mov      rdi, gword ptr [rbp-0x58]
        mov      esi, dword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        nop      
 						;; size=20 bbWeight=1 PerfScore 5.50
 G_M46436_IG21:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 572, prolog size 48, PerfScore 394.25, instruction count 162, allocated bytes for code 572 (MethodHash=4e494a9b) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte (FullOpts)
+; Total bytes of code 568, prolog size 48, PerfScore 394.00, instruction count 161, allocated bytes for code 568 (MethodHash=4e494a9b) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[int](int,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[int],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; ============================================================
-4 (-0.70 % of base) - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte
 ; Assembly listing for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T06] (  3, 10   )    long  ->  r15         single-def
 ;  V01 arg1         [V01,T08] (  5,  5   )     ref  ->  r14         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T04] (  4, 18   )     ref  ->  rbx         class-hnd single-def <System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long]>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Span`1[ushort]>
 ;  V04 arg4         [V04,T09] (  4,  4   )   byref  ->  r13         single-def
 ;  V05 loc0         [V05,T01] (  6, 41   )     int  ->  [rbp-0x2C] 
 ;  V06 loc1         [V06,T00] (  7, 42   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd EH-live <ubyte[]>
 ;  V07 loc2         [V07    ] (  5, 26   )     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V08 loc3         [V08    ] (  0,  0   )    long  ->  zero-ref   
 ;  V09 loc4         [V09    ] (  2, 16   )     ref  ->  [rbp-0x40]  must-init pinned class-hnd <ubyte[]>
 ;* V10 loc5         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;  V11 loc6         [V11,T22] (  2,  2   )   ubyte  ->  [rbp-0x44]  do-not-enreg[Z] EH-live
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V14 tmp2         [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V16 tmp4         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V17 tmp5         [V17,T10] (  3,  6   )     int  ->  rbx         "Inlining Arg"
-;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V20 tmp8         [V20,T14] (  2,  4   )   byref  ->  rax         "Inlining Arg"
-;  V21 tmp9         [V21,T16] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V21 tmp9         [V21,T16] (  2,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V22 tmp10        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V23 tmp11        [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp12        [V24    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp13        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V26 tmp14        [V26,T17] (  3,  3   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;* V27 tmp15        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp16        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V29 tmp17        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V30 tmp18        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;  V31 tmp19        [V31,T27] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.ArgumentException>
 ;  V32 tmp20        [V32,T15] (  2,  2   )   byref  ->  [rbp-0x60]  single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V33 tmp21        [V33,T12] (  3,  3   )     int  ->  r12         single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;  V34 tmp22        [V34,T19] (  2,  2   )   byref  ->  r15         "field V10._reference (fldOffset=0x0)" P-INDEP
 ;  V35 tmp23        [V35,T23] (  2,  2   )     int  ->  rbx         "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp24        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp25        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp26        [V38,T13] (  4,  4   )   byref  ->  registers   "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V38 tmp26        [V38,T13] (  4,  4   )   byref  ->  r14         "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V39 tmp27        [V39,T11] (  5,  5   )     int  ->  [rbp-0x48]  "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp28        [V40    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp29        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;  V42 tmp30        [V42,T05] (  2, 16   )   byref  ->  rdx         "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V43 tmp31        [V43,T07] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp32        [V44,T20] (  2,  2   )   byref  ->  rax         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp33        [V45,T24] (  2,  2   )     int  ->  r14         "field V18._length (fldOffset=0x8)" P-INDEP
-;* V46 tmp34        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V47 tmp35        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp32        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp33        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;  V46 tmp34        [V46,T20] (  2,  2   )   byref  ->  r14         "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V47 tmp35        [V47,T24] (  2,  2   )     int  ->  rax         "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V48 tmp36        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V49 tmp37        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;  V50 tmp38        [V50,T21] (  2,  2   )   byref  ->  r15         "field V23._reference (fldOffset=0x0)" P-INDEP
 ;  V51 tmp39        [V51,T18] (  3,  3   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V52 tmp40        [V52    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V53 tmp41        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V54 tmp42        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V55 tmp43        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp44        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp45        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;  V58 tmp46        [V58,T03] (  2, 32   )     ref  ->  rdi         "argument with side effect"
 ;  V59 tmp47        [V59,T28] (  2,  0   )     ref  ->  r15         "argument with side effect"
 ;  V60 tmp48        [V60,T29] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V61 PSPSym       [V61,T26] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
 ;* V62 cse0         [V62,T25] (  0,  0   )   byref  ->  zero-ref    hoist "CSE #02: aggressive"
 ;  V63 cse1         [V63,T02] (  3, 17   )     int  ->  [rbp-0x4C]  spill-single-def "CSE #03: aggressive"
 ;
 ; Lcl frame size = 72
 
 G_M55325_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 72
        lea      rbp, [rsp+0x70]
        xor      eax, eax
        mov      qword ptr [rbp-0x40], rax
        mov      qword ptr [rbp-0x70], rsp
        mov      bword ptr [rbp-0x60], rcx
        mov      r15, rdi
        mov      r14, rsi
        mov      rbx, rdx
        mov      r12d, r8d
        mov      r13, r9
 						;; size=48 bbWeight=1 PerfScore 11.25
 G_M55325_IG02:
        mov      dword ptr [rbp-0x2C], 0x1000
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M55325_IG17
        mov      ecx, dword ptr [rbp-0x2C]
        jmp      SHORT G_M55325_IG04
 						;; size=31 bbWeight=1 PerfScore 8.25
 G_M55325_IG03:
        mov      rdi, gword ptr [rbp-0x58]
        mov      esi, dword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        imul     r9d, dword ptr [rbp-0x2C], 2
        jo       G_M55325_IG18
        mov      edi, r9d
        xor      rsi, rsi
        mov      gword ptr [rbp-0x40], rsi
        mov      ecx, edi
 						;; size=41 bbWeight=8 PerfScore 96.00
 G_M55325_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared
        mov      rdi, gword ptr [rdi]
        mov      esi, ecx
        mov      rcx, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        cmp      dword ptr [rdi], edi
        call     [rcx]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        mov      gword ptr [rbp-0x58], rax
        xor      edx, edx
        mov      dword ptr [rbp-0x38], edx
        mov      rdx, gword ptr [rbp-0x58]
        mov      eax, dword ptr [rdx+0x08]
        mov      dword ptr [rbp-0x4C], eax
        mov      r9d, eax
        mov      rdx, gword ptr [rbp-0x58]
        mov      gword ptr [rbp-0x40], rdx
 						;; size=59 bbWeight=8 PerfScore 138.00
 G_M55325_IG05:
        mov      rdx, gword ptr [rbp-0x58]
        add      rdx, 16
        mov      dword ptr [rbp-0x2C], r9d
        mov      ecx, r9d
        lea      r8, [rbp-0x38]
        mov      rsi, r15
        mov      rdi, gword ptr [rbx+0x08]
        call     [rbx+0x18]System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long]:Invoke(long,System.Span`1[ubyte],byref):ubyte:this
        test     eax, eax
        je       G_M55325_IG03
 						;; size=37 bbWeight=8 PerfScore 76.00
 G_M55325_IG06:
        mov      ebx, dword ptr [rbp-0x38]
        cmp      dword ptr [rbp-0x4C], ebx
        jb       G_M55325_IG12
        mov      r15, gword ptr [rbp-0x58]
        add      r15, 16
        test     r14, r14
-       je       SHORT G_M55325_IG07
-       lea      rax, bword ptr [r14+0x0C]
-       mov      r14d, dword ptr [r14+0x08]
-       mov      rcx, rax
-       mov      eax, r14d
-       mov      r14, rcx
-       jmp      SHORT G_M55325_IG08
-						;; size=44 bbWeight=1 PerfScore 11.75
-G_M55325_IG07:
-       xor      rax, rax
+       jne      SHORT G_M55325_IG07
        xor      r14, r14
-						;; size=5 bbWeight=1 PerfScore 0.50
+       xor      eax, eax
+       jmp      SHORT G_M55325_IG08
+						;; size=32 bbWeight=1 PerfScore 9.00
+G_M55325_IG07:
+       lea      rax, bword ptr [r14+0x0C]
+       mov      edi, dword ptr [r14+0x08]
+       mov      r14, rax
+       mov      eax, edi
+						;; size=13 bbWeight=1 PerfScore 3.00
 G_M55325_IG08:
        mov      rdi, r14
        mov      dword ptr [rbp-0x48], eax
        mov      esi, eax
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        call     [rcx]System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        test     eax, eax
        je       SHORT G_M55325_IG11
        mov      edi, dword ptr [rbp-0x48]
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        call     [rax]System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        cmp      eax, r12d
        jg       SHORT G_M55325_IG09
        mov      rdi, r14
        mov      esi, dword ptr [rbp-0x48]
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, bword ptr [rbp-0x60]
        mov      r9d, r12d
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        call     [rax]System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        mov      dword ptr [r13], eax
        mov      edi, 1
        jmp      SHORT G_M55325_IG10
 						;; size=87 bbWeight=1 PerfScore 21.25
 G_M55325_IG09:
        xor      edi, edi
        mov      dword ptr [r13], edi
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M55325_IG10:
        mov      dword ptr [rbp-0x44], edi
        jmp      SHORT G_M55325_IG13
 						;; size=5 bbWeight=1 PerfScore 3.00
 G_M55325_IG11:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        call     [rax]System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        mov      r15, rax
        mov      edi, 0x42E7
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M55325_IG12:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M55325_IG13:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M55325_IG14:
        call     G_M55325_IG19
        nop      
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M55325_IG15:
        mov      eax, dword ptr [rbp-0x44]
 						;; size=3 bbWeight=1 PerfScore 1.00
 G_M55325_IG16:
        add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M55325_IG17:
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ArrayPool`1[ubyte]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        mov      ecx, dword ptr [rbp-0x2C]
        jmp      G_M55325_IG04
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M55325_IG18:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 G_M55325_IG19:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
 						;; size=22 bbWeight=1 PerfScore 10.50
 G_M55325_IG20:
        mov      rdi, gword ptr [rbp-0x58]
        mov      esi, dword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        nop      
 						;; size=20 bbWeight=1 PerfScore 5.50
 G_M55325_IG21:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 572, prolog size 48, PerfScore 394.25, instruction count 162, allocated bytes for code 572 (MethodHash=59b127e2) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte (FullOpts)
+; Total bytes of code 568, prolog size 48, PerfScore 394.00, instruction count 161, allocated bytes for code 568 (MethodHash=59b127e2) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[long](long,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[long],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; ============================================================
-4 (-0.70 % of base) - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte
 ; Assembly listing for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T06] (  3, 10   )   short  ->  r15         single-def
 ;  V01 arg1         [V01,T08] (  5,  5   )     ref  ->  r14         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T04] (  4, 18   )     ref  ->  rbx         class-hnd single-def <System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short]>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Span`1[ushort]>
 ;  V04 arg4         [V04,T09] (  4,  4   )   byref  ->  r13         single-def
 ;  V05 loc0         [V05,T01] (  6, 41   )     int  ->  [rbp-0x2C] 
 ;  V06 loc1         [V06,T00] (  7, 42   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd EH-live <ubyte[]>
 ;  V07 loc2         [V07    ] (  5, 26   )     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V08 loc3         [V08    ] (  0,  0   )    long  ->  zero-ref   
 ;  V09 loc4         [V09    ] (  2, 16   )     ref  ->  [rbp-0x40]  must-init pinned class-hnd <ubyte[]>
 ;* V10 loc5         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;  V11 loc6         [V11,T22] (  2,  2   )   ubyte  ->  [rbp-0x44]  do-not-enreg[Z] EH-live
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V14 tmp2         [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V16 tmp4         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V17 tmp5         [V17,T10] (  3,  6   )     int  ->  rbx         "Inlining Arg"
-;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V20 tmp8         [V20,T14] (  2,  4   )   byref  ->  rax         "Inlining Arg"
-;  V21 tmp9         [V21,T16] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V21 tmp9         [V21,T16] (  2,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V22 tmp10        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V23 tmp11        [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp12        [V24    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp13        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V26 tmp14        [V26,T17] (  3,  3   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;* V27 tmp15        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp16        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V29 tmp17        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V30 tmp18        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;  V31 tmp19        [V31,T27] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.ArgumentException>
 ;  V32 tmp20        [V32,T15] (  2,  2   )   byref  ->  [rbp-0x60]  single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V33 tmp21        [V33,T12] (  3,  3   )     int  ->  r12         single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;  V34 tmp22        [V34,T19] (  2,  2   )   byref  ->  r15         "field V10._reference (fldOffset=0x0)" P-INDEP
 ;  V35 tmp23        [V35,T23] (  2,  2   )     int  ->  rbx         "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp24        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp25        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp26        [V38,T13] (  4,  4   )   byref  ->  registers   "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V38 tmp26        [V38,T13] (  4,  4   )   byref  ->  r14         "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V39 tmp27        [V39,T11] (  5,  5   )     int  ->  [rbp-0x48]  "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp28        [V40    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp29        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;  V42 tmp30        [V42,T05] (  2, 16   )   byref  ->  rdx         "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V43 tmp31        [V43,T07] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp32        [V44,T20] (  2,  2   )   byref  ->  rax         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp33        [V45,T24] (  2,  2   )     int  ->  r14         "field V18._length (fldOffset=0x8)" P-INDEP
-;* V46 tmp34        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V47 tmp35        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp32        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp33        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;  V46 tmp34        [V46,T20] (  2,  2   )   byref  ->  r14         "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V47 tmp35        [V47,T24] (  2,  2   )     int  ->  rax         "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V48 tmp36        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V49 tmp37        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;  V50 tmp38        [V50,T21] (  2,  2   )   byref  ->  r15         "field V23._reference (fldOffset=0x0)" P-INDEP
 ;  V51 tmp39        [V51,T18] (  3,  3   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V52 tmp40        [V52    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V53 tmp41        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V54 tmp42        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V55 tmp43        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp44        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp45        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;  V58 tmp46        [V58,T03] (  2, 32   )     ref  ->  rdi         "argument with side effect"
 ;  V59 tmp47        [V59,T28] (  2,  0   )     ref  ->  r15         "argument with side effect"
 ;  V60 tmp48        [V60,T29] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V61 PSPSym       [V61,T26] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
 ;* V62 cse0         [V62,T25] (  0,  0   )   byref  ->  zero-ref    hoist "CSE #02: aggressive"
 ;  V63 cse1         [V63,T02] (  3, 17   )     int  ->  [rbp-0x4C]  spill-single-def "CSE #03: aggressive"
 ;
 ; Lcl frame size = 72
 
 G_M59973_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 72
        lea      rbp, [rsp+0x70]
        xor      eax, eax
        mov      qword ptr [rbp-0x40], rax
        mov      qword ptr [rbp-0x70], rsp
        mov      bword ptr [rbp-0x60], rcx
        mov      r15d, edi
        mov      r14, rsi
        mov      rbx, rdx
        mov      r12d, r8d
        mov      r13, r9
 						;; size=48 bbWeight=1 PerfScore 11.25
 G_M59973_IG02:
        mov      dword ptr [rbp-0x2C], 0x1000
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M59973_IG17
        mov      ecx, dword ptr [rbp-0x2C]
        jmp      SHORT G_M59973_IG04
 						;; size=31 bbWeight=1 PerfScore 8.25
 G_M59973_IG03:
        mov      rdi, gword ptr [rbp-0x58]
        mov      esi, dword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        imul     r9d, dword ptr [rbp-0x2C], 2
        jo       G_M59973_IG18
        mov      edi, r9d
        xor      rsi, rsi
        mov      gword ptr [rbp-0x40], rsi
        mov      ecx, edi
 						;; size=41 bbWeight=8 PerfScore 96.00
 G_M59973_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared
        mov      rdi, gword ptr [rdi]
        mov      esi, ecx
        mov      rcx, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        cmp      dword ptr [rdi], edi
        call     [rcx]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        mov      gword ptr [rbp-0x58], rax
        xor      edx, edx
        mov      dword ptr [rbp-0x38], edx
        mov      rdx, gword ptr [rbp-0x58]
        mov      eax, dword ptr [rdx+0x08]
        mov      dword ptr [rbp-0x4C], eax
        mov      r9d, eax
        mov      rdx, gword ptr [rbp-0x58]
        mov      gword ptr [rbp-0x40], rdx
 						;; size=59 bbWeight=8 PerfScore 138.00
 G_M59973_IG05:
        mov      rdx, gword ptr [rbp-0x58]
        add      rdx, 16
        mov      dword ptr [rbp-0x2C], r9d
        mov      ecx, r9d
        movsx    rsi, r15w
        lea      r8, [rbp-0x38]
        mov      rdi, gword ptr [rbx+0x08]
        call     [rbx+0x18]System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short]:Invoke(short,System.Span`1[ubyte],byref):ubyte:this
        test     eax, eax
        je       G_M59973_IG03
 						;; size=38 bbWeight=8 PerfScore 76.00
 G_M59973_IG06:
        mov      ebx, dword ptr [rbp-0x38]
        cmp      dword ptr [rbp-0x4C], ebx
        jb       G_M59973_IG12
        mov      r15, gword ptr [rbp-0x58]
        add      r15, 16
        test     r14, r14
-       je       SHORT G_M59973_IG07
-       lea      rax, bword ptr [r14+0x0C]
-       mov      r14d, dword ptr [r14+0x08]
-       mov      rcx, rax
-       mov      eax, r14d
-       mov      r14, rcx
-       jmp      SHORT G_M59973_IG08
-						;; size=44 bbWeight=1 PerfScore 11.75
-G_M59973_IG07:
-       xor      rax, rax
+       jne      SHORT G_M59973_IG07
        xor      r14, r14
-						;; size=5 bbWeight=1 PerfScore 0.50
+       xor      eax, eax
+       jmp      SHORT G_M59973_IG08
+						;; size=32 bbWeight=1 PerfScore 9.00
+G_M59973_IG07:
+       lea      rax, bword ptr [r14+0x0C]
+       mov      edi, dword ptr [r14+0x08]
+       mov      r14, rax
+       mov      eax, edi
+						;; size=13 bbWeight=1 PerfScore 3.00
 G_M59973_IG08:
        mov      rdi, r14
        mov      dword ptr [rbp-0x48], eax
        mov      esi, eax
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        call     [rcx]System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        test     eax, eax
        je       SHORT G_M59973_IG11
        mov      edi, dword ptr [rbp-0x48]
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        call     [rax]System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        cmp      eax, r12d
        jg       SHORT G_M59973_IG09
        mov      rdi, r14
        mov      esi, dword ptr [rbp-0x48]
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, bword ptr [rbp-0x60]
        mov      r9d, r12d
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        call     [rax]System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        mov      dword ptr [r13], eax
        mov      edi, 1
        jmp      SHORT G_M59973_IG10
 						;; size=87 bbWeight=1 PerfScore 21.25
 G_M59973_IG09:
        xor      edi, edi
        mov      dword ptr [r13], edi
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M59973_IG10:
        mov      dword ptr [rbp-0x44], edi
        jmp      SHORT G_M59973_IG13
 						;; size=5 bbWeight=1 PerfScore 3.00
 G_M59973_IG11:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        call     [rax]System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        mov      r15, rax
        mov      edi, 0x42E7
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M59973_IG12:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M59973_IG13:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M59973_IG14:
        call     G_M59973_IG19
        nop      
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M59973_IG15:
        mov      eax, dword ptr [rbp-0x44]
 						;; size=3 bbWeight=1 PerfScore 1.00
 G_M59973_IG16:
        add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M59973_IG17:
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ArrayPool`1[ubyte]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        mov      ecx, dword ptr [rbp-0x2C]
        jmp      G_M59973_IG04
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M59973_IG18:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 G_M59973_IG19:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
 						;; size=22 bbWeight=1 PerfScore 10.50
 G_M59973_IG20:
        mov      rdi, gword ptr [rbp-0x58]
        mov      esi, dword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        nop      
 						;; size=20 bbWeight=1 PerfScore 5.50
 G_M59973_IG21:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 573, prolog size 48, PerfScore 394.25, instruction count 162, allocated bytes for code 573 (MethodHash=ad8a15ba) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte (FullOpts)
+; Total bytes of code 569, prolog size 48, PerfScore 394.00, instruction count 161, allocated bytes for code 569 (MethodHash=ad8a15ba) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[short](short,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[short],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; ============================================================
-4 (-0.70 % of base) - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte
 ; Assembly listing for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;* V00 TypeCtx      [V00    ] (  0,  0   )    long  ->  zero-ref    single-def
 ;  V01 arg0         [V01,T06] (  3, 10   )     ref  ->  r15         class-hnd single-def <System.__Canon>
 ;  V02 arg1         [V02,T08] (  5,  5   )     ref  ->  r14         class-hnd single-def <System.String>
 ;  V03 arg2         [V03,T04] (  4, 18   )     ref  ->  rbx         class-hnd single-def <System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon]>
 ;* V04 arg3         [V04    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Span`1[ushort]>
 ;  V05 arg4         [V05,T18] (  2,  2   )   byref  ->  [rbp+0x10]  single-def
 ;  V06 loc0         [V06,T01] (  6, 41   )     int  ->  [rbp-0x2C] 
 ;  V07 loc1         [V07,T00] (  7, 42   )     ref  ->  [rbp-0x58]  do-not-enreg[Z] class-hnd EH-live <ubyte[]>
 ;  V08 loc2         [V08    ] (  5, 26   )     int  ->  [rbp-0x38]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V09 loc3         [V09    ] (  0,  0   )    long  ->  zero-ref   
 ;  V10 loc4         [V10    ] (  2, 16   )     ref  ->  [rbp-0x40]  must-init pinned class-hnd <ubyte[]>
 ;* V11 loc5         [V11    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;  V12 loc6         [V12,T22] (  2,  2   )   ubyte  ->  [rbp-0x44]  do-not-enreg[Z] EH-live
 ;# V13 OutArgs      [V13    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V14 tmp1         [V14    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V15 tmp2         [V15    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V16 tmp3         [V16    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V17 tmp4         [V17    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V18 tmp5         [V18,T09] (  3,  6   )     int  ->  rbx         "Inlining Arg"
-;* V19 tmp6         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V20 tmp7         [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V19 tmp6         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V20 tmp7         [V20    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V21 tmp8         [V21,T13] (  2,  4   )   byref  ->  rax         "Inlining Arg"
-;  V22 tmp9         [V22,T15] (  2,  4   )     int  ->  r14         "Inlining Arg"
+;  V22 tmp9         [V22,T15] (  2,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V23 tmp10        [V23    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V24 tmp11        [V24    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V25 tmp12        [V25    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V26 tmp13        [V26    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V27 tmp14        [V27,T16] (  3,  3   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;* V28 tmp15        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V29 tmp16        [V29    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V30 tmp17        [V30    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V31 tmp18        [V31    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;  V32 tmp19        [V32,T27] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.ArgumentException>
 ;  V33 tmp20        [V33,T14] (  2,  2   )   byref  ->  r12         single-def "field V04._reference (fldOffset=0x0)" P-INDEP
 ;  V34 tmp21        [V34,T11] (  3,  3   )     int  ->  r13         single-def "field V04._length (fldOffset=0x8)" P-INDEP
 ;  V35 tmp22        [V35,T19] (  2,  2   )   byref  ->  r15         "field V11._reference (fldOffset=0x0)" P-INDEP
 ;  V36 tmp23        [V36,T23] (  2,  2   )     int  ->  rbx         "field V11._length (fldOffset=0x8)" P-INDEP
 ;* V37 tmp24        [V37    ] (  0,  0   )   byref  ->  zero-ref    "field V14._reference (fldOffset=0x0)" P-INDEP
 ;* V38 tmp25        [V38    ] (  0,  0   )     int  ->  zero-ref    "field V14._length (fldOffset=0x8)" P-INDEP
-;  V39 tmp26        [V39,T12] (  4,  4   )   byref  ->  registers   "field V15._reference (fldOffset=0x0)" P-INDEP
+;  V39 tmp26        [V39,T12] (  4,  4   )   byref  ->  r14         "field V15._reference (fldOffset=0x0)" P-INDEP
 ;  V40 tmp27        [V40,T10] (  5,  5   )     int  ->  [rbp-0x48]  "field V15._length (fldOffset=0x8)" P-INDEP
 ;* V41 tmp28        [V41    ] (  0,  0   )   byref  ->  zero-ref    "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V42 tmp29        [V42    ] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
 ;  V43 tmp30        [V43,T05] (  2, 16   )   byref  ->  rdx         "field V17._reference (fldOffset=0x0)" P-INDEP
 ;* V44 tmp31        [V44,T07] (  0,  0   )     int  ->  zero-ref    "field V17._length (fldOffset=0x8)" P-INDEP
-;  V45 tmp32        [V45,T20] (  2,  2   )   byref  ->  rax         "field V19._reference (fldOffset=0x0)" P-INDEP
-;  V46 tmp33        [V46,T24] (  2,  2   )     int  ->  r14         "field V19._length (fldOffset=0x8)" P-INDEP
-;* V47 tmp34        [V47    ] (  0,  0   )   byref  ->  zero-ref    "field V20._reference (fldOffset=0x0)" P-INDEP
-;* V48 tmp35        [V48    ] (  0,  0   )     int  ->  zero-ref    "field V20._length (fldOffset=0x8)" P-INDEP
+;* V45 tmp32        [V45    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
+;* V46 tmp33        [V46    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;  V47 tmp34        [V47,T20] (  2,  2   )   byref  ->  r14         "field V20._reference (fldOffset=0x0)" P-INDEP
+;  V48 tmp35        [V48,T24] (  2,  2   )     int  ->  rax         "field V20._length (fldOffset=0x8)" P-INDEP
 ;* V49 tmp36        [V49    ] (  0,  0   )   byref  ->  zero-ref    "field V23._reference (fldOffset=0x0)" P-INDEP
 ;* V50 tmp37        [V50    ] (  0,  0   )     int  ->  zero-ref    "field V23._length (fldOffset=0x8)" P-INDEP
 ;  V51 tmp38        [V51,T21] (  2,  2   )   byref  ->  r15         "field V24._reference (fldOffset=0x0)" P-INDEP
 ;  V52 tmp39        [V52,T17] (  3,  3   )     int  ->  rbx         "field V24._length (fldOffset=0x8)" P-INDEP
 ;* V53 tmp40        [V53    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V54 tmp41        [V54    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V55 tmp42        [V55    ] (  0,  0   )   byref  ->  zero-ref    "field V29._reference (fldOffset=0x0)" P-INDEP
 ;* V56 tmp43        [V56    ] (  0,  0   )     int  ->  zero-ref    "field V29._length (fldOffset=0x8)" P-INDEP
 ;* V57 tmp44        [V57    ] (  0,  0   )   byref  ->  zero-ref    "field V31._reference (fldOffset=0x0)" P-INDEP
 ;* V58 tmp45        [V58    ] (  0,  0   )     int  ->  zero-ref    "field V31._length (fldOffset=0x8)" P-INDEP
 ;  V59 tmp46        [V59,T03] (  2, 32   )     ref  ->  rdi         "argument with side effect"
 ;  V60 tmp47        [V60,T28] (  2,  0   )     ref  ->  r15         "argument with side effect"
 ;  V61 tmp48        [V61,T29] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V62 PSPSym       [V62,T26] (  1,  1   )    long  ->  [rbp-0x60]  do-not-enreg[V] "PSPSym"
 ;* V63 cse0         [V63,T25] (  0,  0   )   byref  ->  zero-ref    hoist "CSE #02: aggressive"
 ;  V64 cse1         [V64,T02] (  3, 17   )     int  ->  [rbp-0x4C]  spill-single-def "CSE #03: aggressive"
 ;
 ; Lcl frame size = 56
 
 G_M12305_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 56
        lea      rbp, [rsp+0x60]
        xor      eax, eax
        mov      qword ptr [rbp-0x40], rax
        mov      qword ptr [rbp-0x60], rsp
        mov      r15, rsi
        mov      r14, rdx
        mov      rbx, rcx
        mov      r12, r8
        mov      r13d, r9d
 						;; size=44 bbWeight=1 PerfScore 10.25
 G_M12305_IG02:
        mov      dword ptr [rbp-0x2C], 0x1000
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M12305_IG17
        mov      ecx, dword ptr [rbp-0x2C]
        jmp      SHORT G_M12305_IG04
 						;; size=31 bbWeight=1 PerfScore 8.25
 G_M12305_IG03:
        mov      rdi, gword ptr [rbp-0x58]
        mov      esi, dword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        imul     r9d, dword ptr [rbp-0x2C], 2
        jo       G_M12305_IG18
        mov      edi, r9d
        xor      rsi, rsi
        mov      gword ptr [rbp-0x40], rsi
        mov      ecx, edi
 						;; size=41 bbWeight=8 PerfScore 96.00
 G_M12305_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared
        mov      rdi, gword ptr [rdi]
        mov      esi, ecx
        mov      rcx, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        cmp      dword ptr [rdi], edi
        call     [rcx]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        mov      gword ptr [rbp-0x58], rax
        xor      edx, edx
        mov      dword ptr [rbp-0x38], edx
        mov      rdx, gword ptr [rbp-0x58]
        mov      eax, dword ptr [rdx+0x08]
        mov      dword ptr [rbp-0x4C], eax
        mov      r9d, eax
        mov      rdx, gword ptr [rbp-0x58]
        mov      gword ptr [rbp-0x40], rdx
 						;; size=59 bbWeight=8 PerfScore 138.00
 G_M12305_IG05:
        mov      rdx, gword ptr [rbp-0x58]
        add      rdx, 16
        mov      dword ptr [rbp-0x2C], r9d
        mov      ecx, r9d
        lea      r8, [rbp-0x38]
        mov      rsi, r15
        mov      rdi, gword ptr [rbx+0x08]
        call     [rbx+0x18]System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon]:Invoke(System.__Canon,System.Span`1[ubyte],byref):ubyte:this
        test     eax, eax
        je       G_M12305_IG03
 						;; size=37 bbWeight=8 PerfScore 76.00
 G_M12305_IG06:
        mov      ebx, dword ptr [rbp-0x38]
        cmp      dword ptr [rbp-0x4C], ebx
        jb       G_M12305_IG12
        mov      r15, gword ptr [rbp-0x58]
        add      r15, 16
        test     r14, r14
-       je       SHORT G_M12305_IG07
-       lea      rax, bword ptr [r14+0x0C]
-       mov      r14d, dword ptr [r14+0x08]
-       mov      rcx, rax
-       mov      eax, r14d
-       mov      r14, rcx
-       jmp      SHORT G_M12305_IG08
-						;; size=44 bbWeight=1 PerfScore 11.75
-G_M12305_IG07:
-       xor      rax, rax
+       jne      SHORT G_M12305_IG07
        xor      r14, r14
-						;; size=5 bbWeight=1 PerfScore 0.50
+       xor      eax, eax
+       jmp      SHORT G_M12305_IG08
+						;; size=32 bbWeight=1 PerfScore 9.00
+G_M12305_IG07:
+       lea      rax, bword ptr [r14+0x0C]
+       mov      edi, dword ptr [r14+0x08]
+       mov      r14, rax
+       mov      eax, edi
+						;; size=13 bbWeight=1 PerfScore 3.00
 G_M12305_IG08:
        mov      rdi, r14
        mov      dword ptr [rbp-0x48], eax
        mov      esi, eax
        mov      rcx, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        call     [rcx]System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        test     eax, eax
        je       SHORT G_M12305_IG11
        mov      edi, dword ptr [rbp-0x48]
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        call     [rax]System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        cmp      eax, r13d
        jg       SHORT G_M12305_IG09
        mov      rdi, r14
        mov      esi, dword ptr [rbp-0x48]
        mov      rdx, r15
        mov      ecx, ebx
        mov      r8, r12
        mov      r9d, r13d
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        call     [rax]System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        mov      rbx, bword ptr [rbp+0x10]
        mov      dword ptr [rbx], eax
        mov      edi, 1
        jmp      SHORT G_M12305_IG10
 						;; size=88 bbWeight=1 PerfScore 21.50
 G_M12305_IG09:
        xor      edi, edi
        mov      rbx, bword ptr [rbp+0x10]
        mov      dword ptr [rbx], edi
 						;; size=8 bbWeight=1 PerfScore 2.25
 G_M12305_IG10:
        mov      dword ptr [rbp-0x44], edi
        jmp      SHORT G_M12305_IG13
 						;; size=5 bbWeight=1 PerfScore 3.00
 G_M12305_IG11:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        call     [rax]System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        mov      r15, rax
        mov      edi, 0x42E7
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M12305_IG12:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M12305_IG13:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M12305_IG14:
        call     G_M12305_IG19
        nop      
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M12305_IG15:
        mov      eax, dword ptr [rbp-0x44]
 						;; size=3 bbWeight=1 PerfScore 1.00
 G_M12305_IG16:
        add      rsp, 56
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M12305_IG17:
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ArrayPool`1[ubyte]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        mov      ecx, dword ptr [rbp-0x2C]
        jmp      G_M12305_IG04
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M12305_IG18:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 G_M12305_IG19:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x60]
 						;; size=22 bbWeight=1 PerfScore 10.50
 G_M12305_IG20:
        mov      rdi, gword ptr [rbp-0x58]
        mov      esi, dword ptr [rbp-0x38]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        nop      
 						;; size=20 bbWeight=1 PerfScore 5.50
 G_M12305_IG21:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 571, prolog size 44, PerfScore 394.50, instruction count 163, allocated bytes for code 571 (MethodHash=eed5cfee) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte (FullOpts)
+; Total bytes of code 567, prolog size 44, PerfScore 394.25, instruction count 162, allocated bytes for code 567 (MethodHash=eed5cfee) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.__Canon](System.__Canon,System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.__Canon],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; ============================================================
-4 (-0.70 % of base) - System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte
 ; Assembly listing for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; Emitting BLENDED_CODE for X64 with AVX - Unix
 ; FullOpts code
 ; optimized code
 ; rbp based frame
 ; fully interruptible
 ; No PGO data
 ; 0 inlinees with PGO data; 7 single block inlinees; 4 inlinees without PGO data
 ; Final local variable assignments
 ;
 ;  V00 arg0         [V00,T06] (  3, 10   )  struct ( 8) [rbp-0x30]  do-not-enreg[S] single-def <System.Nullable`1[int]>
 ;  V01 arg1         [V01,T08] (  5,  5   )     ref  ->  r15         class-hnd single-def <System.String>
 ;  V02 arg2         [V02,T04] (  4, 18   )     ref  ->  rbx         class-hnd single-def <System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]]>
 ;* V03 arg3         [V03    ] (  0,  0   )  struct (16) zero-ref    multireg-arg single-def <System.Span`1[ushort]>
 ;  V04 arg4         [V04,T09] (  4,  4   )   byref  ->  r14         single-def
 ;  V05 loc0         [V05,T01] (  6, 41   )     int  ->  [rbp-0x34] 
 ;  V06 loc1         [V06,T00] (  7, 42   )     ref  ->  [rbp-0x60]  do-not-enreg[Z] class-hnd EH-live <ubyte[]>
 ;  V07 loc2         [V07    ] (  5, 26   )     int  ->  [rbp-0x40]  do-not-enreg[X] addr-exposed ld-addr-op
 ;* V08 loc3         [V08    ] (  0,  0   )    long  ->  zero-ref   
 ;  V09 loc4         [V09    ] (  2, 16   )     ref  ->  [rbp-0x48]  must-init pinned class-hnd <ubyte[]>
 ;* V10 loc5         [V10    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op <System.Span`1[ubyte]>
 ;  V11 loc6         [V11,T22] (  2,  2   )   ubyte  ->  [rbp-0x4C]  do-not-enreg[Z] EH-live
 ;# V12 OutArgs      [V12    ] (  1,  1   )  struct ( 0) [rsp+0x00]  do-not-enreg[XS] addr-exposed "OutgoingArgSpace"
 ;* V13 tmp1         [V13    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.Span`1[ubyte]>
 ;* V14 tmp2         [V14    ] (  0,  0   )  struct (16) zero-ref    multireg-arg "impAppendStmt" <System.ReadOnlySpan`1[ushort]>
 ;* V15 tmp3         [V15    ] (  0,  0   )  struct (16) zero-ref    "spilled call-like call argument" <System.ReadOnlySpan`1[ubyte]>
 ;* V16 tmp4         [V16    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.Span`1[ubyte]>
 ;  V17 tmp5         [V17,T10] (  3,  6   )     int  ->  rbx         "Inlining Arg"
-;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
-;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V18 tmp6         [V18    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inline ldloca(s) first use temp" <System.ReadOnlySpan`1[ushort]>
+;* V19 tmp7         [V19    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ushort]>
 ;  V20 tmp8         [V20,T14] (  2,  4   )   byref  ->  rcx         "Inlining Arg"
-;  V21 tmp9         [V21,T16] (  2,  4   )     int  ->  r15         "Inlining Arg"
+;  V21 tmp9         [V21,T16] (  2,  4   )     int  ->  rdi         "Inlining Arg"
 ;* V22 tmp10        [V22    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ubyte]>
 ;* V23 tmp11        [V23    ] (  0,  0   )  struct (16) zero-ref    multireg-arg ld-addr-op "NewObj constructor temp" <System.ReadOnlySpan`1[ubyte]>
 ;* V24 tmp12        [V24    ] (  0,  0   )   byref  ->  zero-ref    "Inlining Arg"
 ;* V25 tmp13        [V25    ] (  0,  0   )     int  ->  zero-ref    "Inlining Arg"
 ;  V26 tmp14        [V26,T17] (  3,  3   )   ubyte  ->  rdi         "Inline return value spill temp"
 ;* V27 tmp15        [V27    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ushort]>
 ;* V28 tmp16        [V28    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.ReadOnlySpan`1[ubyte]>
 ;* V29 tmp17        [V29    ] (  0,  0   )     int  ->  zero-ref    "Inline stloc first use temp"
 ;* V30 tmp18        [V30    ] (  0,  0   )  struct (16) zero-ref    ld-addr-op "Inlining Arg" <System.Span`1[ushort]>
 ;  V31 tmp19        [V31,T27] (  3,  0   )     ref  ->  rbx         class-hnd exact "NewObj constructor temp" <System.ArgumentException>
 ;  V32 tmp20        [V32,T15] (  2,  2   )   byref  ->  r12         single-def "field V03._reference (fldOffset=0x0)" P-INDEP
 ;  V33 tmp21        [V33,T12] (  3,  3   )     int  ->  r13         single-def "field V03._length (fldOffset=0x8)" P-INDEP
 ;  V34 tmp22        [V34,T19] (  2,  2   )   byref  ->  rax         "field V10._reference (fldOffset=0x0)" P-INDEP
 ;  V35 tmp23        [V35,T23] (  2,  2   )     int  ->  rbx         "field V10._length (fldOffset=0x8)" P-INDEP
 ;* V36 tmp24        [V36    ] (  0,  0   )   byref  ->  zero-ref    "field V13._reference (fldOffset=0x0)" P-INDEP
 ;* V37 tmp25        [V37    ] (  0,  0   )     int  ->  zero-ref    "field V13._length (fldOffset=0x8)" P-INDEP
-;  V38 tmp26        [V38,T13] (  4,  4   )   byref  ->  registers   "field V14._reference (fldOffset=0x0)" P-INDEP
+;  V38 tmp26        [V38,T13] (  4,  4   )   byref  ->  r15         "field V14._reference (fldOffset=0x0)" P-INDEP
 ;  V39 tmp27        [V39,T11] (  5,  5   )     int  ->  [rbp-0x50]  "field V14._length (fldOffset=0x8)" P-INDEP
 ;* V40 tmp28        [V40    ] (  0,  0   )   byref  ->  zero-ref    "field V15._reference (fldOffset=0x0)" P-INDEP
 ;* V41 tmp29        [V41    ] (  0,  0   )     int  ->  zero-ref    "field V15._length (fldOffset=0x8)" P-INDEP
 ;  V42 tmp30        [V42,T05] (  2, 16   )   byref  ->  rdx         "field V16._reference (fldOffset=0x0)" P-INDEP
 ;* V43 tmp31        [V43,T07] (  0,  0   )     int  ->  zero-ref    "field V16._length (fldOffset=0x8)" P-INDEP
-;  V44 tmp32        [V44,T20] (  2,  2   )   byref  ->  rcx         "field V18._reference (fldOffset=0x0)" P-INDEP
-;  V45 tmp33        [V45,T24] (  2,  2   )     int  ->  r15         "field V18._length (fldOffset=0x8)" P-INDEP
-;* V46 tmp34        [V46    ] (  0,  0   )   byref  ->  zero-ref    "field V19._reference (fldOffset=0x0)" P-INDEP
-;* V47 tmp35        [V47    ] (  0,  0   )     int  ->  zero-ref    "field V19._length (fldOffset=0x8)" P-INDEP
+;* V44 tmp32        [V44    ] (  0,  0   )   byref  ->  zero-ref    "field V18._reference (fldOffset=0x0)" P-INDEP
+;* V45 tmp33        [V45    ] (  0,  0   )     int  ->  zero-ref    "field V18._length (fldOffset=0x8)" P-INDEP
+;  V46 tmp34        [V46,T20] (  2,  2   )   byref  ->  r15         "field V19._reference (fldOffset=0x0)" P-INDEP
+;  V47 tmp35        [V47,T24] (  2,  2   )     int  ->  rcx         "field V19._length (fldOffset=0x8)" P-INDEP
 ;* V48 tmp36        [V48    ] (  0,  0   )   byref  ->  zero-ref    "field V22._reference (fldOffset=0x0)" P-INDEP
 ;* V49 tmp37        [V49    ] (  0,  0   )     int  ->  zero-ref    "field V22._length (fldOffset=0x8)" P-INDEP
 ;  V50 tmp38        [V50,T21] (  2,  2   )   byref  ->  [rbp-0x68]  spill-single-def "field V23._reference (fldOffset=0x0)" P-INDEP
 ;  V51 tmp39        [V51,T18] (  3,  3   )     int  ->  rbx         "field V23._length (fldOffset=0x8)" P-INDEP
 ;* V52 tmp40        [V52    ] (  0,  0   )   byref  ->  zero-ref    "field V27._reference (fldOffset=0x0)" P-INDEP
 ;* V53 tmp41        [V53    ] (  0,  0   )     int  ->  zero-ref    "field V27._length (fldOffset=0x8)" P-INDEP
 ;* V54 tmp42        [V54    ] (  0,  0   )   byref  ->  zero-ref    "field V28._reference (fldOffset=0x0)" P-INDEP
 ;* V55 tmp43        [V55    ] (  0,  0   )     int  ->  zero-ref    "field V28._length (fldOffset=0x8)" P-INDEP
 ;* V56 tmp44        [V56    ] (  0,  0   )   byref  ->  zero-ref    "field V30._reference (fldOffset=0x0)" P-INDEP
 ;* V57 tmp45        [V57    ] (  0,  0   )     int  ->  zero-ref    "field V30._length (fldOffset=0x8)" P-INDEP
 ;  V58 tmp46        [V58,T03] (  2, 32   )     ref  ->  rdi         "argument with side effect"
 ;  V59 tmp47        [V59,T28] (  2,  0   )     ref  ->  r15         "argument with side effect"
 ;  V60 tmp48        [V60,T29] (  2,  0   )     ref  ->  rdx         "argument with side effect"
 ;  V61 PSPSym       [V61,T26] (  1,  1   )    long  ->  [rbp-0x70]  do-not-enreg[V] "PSPSym"
 ;* V62 cse0         [V62,T25] (  0,  0   )   byref  ->  zero-ref    hoist "CSE #02: aggressive"
 ;  V63 cse1         [V63,T02] (  3, 17   )     int  ->  [rbp-0x54]  spill-single-def "CSE #03: aggressive"
 ;
 ; Lcl frame size = 72
 
 G_M22953_IG01:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        sub      rsp, 72
        lea      rbp, [rsp+0x70]
        xor      eax, eax
        mov      qword ptr [rbp-0x48], rax
        mov      qword ptr [rbp-0x70], rsp
        mov      qword ptr [rbp-0x30], rdi
        mov      r15, rsi
        mov      rbx, rdx
        mov      r12, rcx
        mov      r13d, r8d
        mov      r14, r9
 						;; size=48 bbWeight=1 PerfScore 11.25
 G_M22953_IG02:
        mov      dword ptr [rbp-0x34], 0x1000
        mov      rdi, 0xD1FFAB1E      ; global ptr
        test     byte  ptr [rdi], 1
        je       G_M22953_IG17
        mov      eax, dword ptr [rbp-0x34]
        jmp      SHORT G_M22953_IG04
 						;; size=31 bbWeight=1 PerfScore 8.25
 G_M22953_IG03:
        mov      rdi, gword ptr [rbp-0x60]
        mov      esi, dword ptr [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        imul     r9d, dword ptr [rbp-0x34], 2
        jo       G_M22953_IG18
        mov      edi, r9d
        xor      rsi, rsi
        mov      gword ptr [rbp-0x48], rsi
        mov      eax, edi
 						;; size=41 bbWeight=8 PerfScore 96.00
 G_M22953_IG04:
        mov      rdi, 0xD1FFAB1E      ; data for System.Buffers.ArrayPool`1[ubyte]:s_shared
        mov      rdi, gword ptr [rdi]
        mov      esi, eax
        mov      rax, 0xD1FFAB1E      ; code for System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        cmp      dword ptr [rdi], edi
        call     [rax]System.Buffers.SharedArrayPool`1[ubyte]:Rent(int):ubyte[]:this
        mov      gword ptr [rbp-0x60], rax
        xor      edx, edx
        mov      dword ptr [rbp-0x40], edx
        mov      rdx, gword ptr [rbp-0x60]
        mov      eax, dword ptr [rdx+0x08]
        mov      dword ptr [rbp-0x54], eax
        mov      r9d, eax
        mov      rdx, gword ptr [rbp-0x60]
        mov      gword ptr [rbp-0x48], rdx
 						;; size=59 bbWeight=8 PerfScore 138.00
 G_M22953_IG05:
        mov      rdx, gword ptr [rbp-0x60]
        add      rdx, 16
        mov      dword ptr [rbp-0x34], r9d
        mov      ecx, r9d
        lea      r8, [rbp-0x40]
        mov      rsi, qword ptr [rbp-0x30]
        mov      rdi, gword ptr [rbx+0x08]
        call     [rbx+0x18]System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]]:Invoke(System.Nullable`1[int],System.Span`1[ubyte],byref):ubyte:this
        test     eax, eax
        je       G_M22953_IG03
 						;; size=38 bbWeight=8 PerfScore 82.00
 G_M22953_IG06:
        mov      ebx, dword ptr [rbp-0x40]
        cmp      dword ptr [rbp-0x54], ebx
        jb       G_M22953_IG12
        mov      rax, gword ptr [rbp-0x60]
        add      rax, 16
        test     r15, r15
-       je       SHORT G_M22953_IG07
-       lea      rcx, bword ptr [r15+0x0C]
-       mov      r15d, dword ptr [r15+0x08]
-       mov      rdx, rcx
-       mov      ecx, r15d
-       mov      r15, rdx
-       jmp      SHORT G_M22953_IG08
-						;; size=44 bbWeight=1 PerfScore 11.75
-G_M22953_IG07:
-       xor      rcx, rcx
+       jne      SHORT G_M22953_IG07
        xor      r15, r15
-						;; size=5 bbWeight=1 PerfScore 0.50
+       xor      ecx, ecx
+       jmp      SHORT G_M22953_IG08
+						;; size=32 bbWeight=1 PerfScore 9.00
+G_M22953_IG07:
+       lea      rcx, bword ptr [r15+0x0C]
+       mov      edi, dword ptr [r15+0x08]
+       mov      r15, rcx
+       mov      ecx, edi
+						;; size=13 bbWeight=1 PerfScore 3.00
 G_M22953_IG08:
        mov      bword ptr [rbp-0x68], rax
        mov      rdi, r15
        mov      dword ptr [rbp-0x50], ecx
        mov      esi, ecx
        mov      rdx, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        call     [rdx]System.Security.Cryptography.PemEncoding:IsValidLabel(System.ReadOnlySpan`1[ushort]):ubyte
        test     eax, eax
        je       SHORT G_M22953_IG11
        mov      edi, dword ptr [rbp-0x50]
        mov      esi, ebx
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        call     [rax]System.Security.Cryptography.PemEncoding:GetEncodedSize(int,int):int
        cmp      eax, r13d
        jg       SHORT G_M22953_IG09
        mov      rdi, r15
        mov      esi, dword ptr [rbp-0x50]
        mov      rdx, bword ptr [rbp-0x68]
        mov      ecx, ebx
        mov      r8, r12
        mov      r9d, r13d
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        call     [rax]System.Security.Cryptography.PemEncoding:WriteCore(System.ReadOnlySpan`1[ushort],System.ReadOnlySpan`1[ubyte],System.Span`1[ushort]):int
        mov      dword ptr [r14], eax
        mov      edi, 1
        jmp      SHORT G_M22953_IG10
 						;; size=90 bbWeight=1 PerfScore 22.25
 G_M22953_IG09:
        xor      edi, edi
        mov      dword ptr [r14], edi
 						;; size=5 bbWeight=1 PerfScore 1.25
 G_M22953_IG10:
        mov      dword ptr [rbp-0x4C], edi
        jmp      SHORT G_M22953_IG13
 						;; size=5 bbWeight=1 PerfScore 3.00
 G_M22953_IG11:
        mov      rdi, 0xD1FFAB1E      ; System.ArgumentException
        call     CORINFO_HELP_NEWSFAST
        mov      rbx, rax
        mov      rax, 0xD1FFAB1E      ; code for System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        call     [rax]System.SR:get_Argument_PemEncoding_InvalidLabel():System.String
        mov      r15, rax
        mov      edi, 0x42E7
        mov      rsi, 0xD1FFAB1E
        call     CORINFO_HELP_STRCNS
        mov      rdx, rax
        mov      rsi, r15
        mov      rdi, rbx
        mov      rax, 0xD1FFAB1E      ; code for System.ArgumentException:.ctor(System.String,System.String):this
        call     [rax]System.ArgumentException:.ctor(System.String,System.String):this
        mov      rdi, rbx
        call     CORINFO_HELP_THROW
        int3     
 						;; size=83 bbWeight=0 PerfScore 0.00
 G_M22953_IG12:
        mov      rax, 0xD1FFAB1E      ; code for System.ThrowHelper:ThrowArgumentOutOfRangeException()
        call     [rax]System.ThrowHelper:ThrowArgumentOutOfRangeException()
        int3     
 						;; size=13 bbWeight=0 PerfScore 0.00
 G_M22953_IG13:
        mov      rdi, rsp
 						;; size=3 bbWeight=1 PerfScore 0.25
 G_M22953_IG14:
        call     G_M22953_IG19
        nop      
 						;; size=6 bbWeight=1 PerfScore 1.25
 G_M22953_IG15:
        mov      eax, dword ptr [rbp-0x4C]
 						;; size=3 bbWeight=1 PerfScore 1.00
 G_M22953_IG16:
        add      rsp, 72
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 G_M22953_IG17:
        mov      rdi, 0xD1FFAB1E      ; System.Buffers.ArrayPool`1[ubyte]
        call     CORINFO_HELP_GET_GCSTATIC_BASE
        mov      eax, dword ptr [rbp-0x34]
        jmp      G_M22953_IG04
 						;; size=23 bbWeight=0 PerfScore 0.00
 G_M22953_IG18:
        call     CORINFO_HELP_OVERFLOW
        int3     
 						;; size=6 bbWeight=0 PerfScore 0.00
 G_M22953_IG19:
        push     rbp
        push     r15
        push     r14
        push     r13
        push     r12
        push     rbx
        push     rax
        mov      rbp, qword ptr [rdi]
        mov      qword ptr [rsp], rbp
        lea      rbp, [rbp+0x70]
 						;; size=22 bbWeight=1 PerfScore 10.50
 G_M22953_IG20:
        mov      rdi, gword ptr [rbp-0x60]
        mov      esi, dword ptr [rbp-0x40]
        mov      rax, 0xD1FFAB1E      ; code for System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        call     [rax]System.Security.Cryptography.CryptoPool:Return(ubyte[],int)
        nop      
 						;; size=20 bbWeight=1 PerfScore 5.50
 G_M22953_IG21:
        add      rsp, 8
        pop      rbx
        pop      r12
        pop      r13
        pop      r14
        pop      r15
        pop      rbp
        ret      
 						;; size=15 bbWeight=1 PerfScore 4.25
 
-; Total bytes of code 575, prolog size 48, PerfScore 401.25, instruction count 163, allocated bytes for code 575 (MethodHash=175ca656) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
+; Total bytes of code 571, prolog size 48, PerfScore 401.00, instruction count 162, allocated bytes for code 571 (MethodHash=175ca656) for method System.Security.Cryptography.PemKeyHelpers:TryExportToPem[System.Nullable`1[int]](System.Nullable`1[int],System.String,System.Security.Cryptography.PemKeyHelpers+TryExportKeyAction`1[System.Nullable`1[int]],System.Span`1[ushort],byref):ubyte (FullOpts)
 ; ============================================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment