Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5002001997, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-41602-32944.so 0.18 push rbp 0.18 push r15 push r14 push r13 push r12 push rbx sub rsp,0x218 vzeroupper 0.18 lea rbp,[rsp+0x240] vxorps xmm8,xmm8,xmm8 vmovdqu32 ZMMWORD PTR [rbp-0x1c0],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0x180],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0x140],zmm8 0.26 vmovdqu32 ZMMWORD PTR [rbp-0x100],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0xc0],zmm8 vmovdqu YMMWORD PTR [rbp-0x80],ymm8 movabs rax,0xa51728bf0049265e mov QWORD PTR [rbp-0x30],rax mov QWORD PTR [rbp-0x40],rsi mov QWORD PTR [rbp-0x38],rdx mov ebx,ecx vmovdqu xmm0,XMMWORD PTR [rbp-0x40] 4.39 vmovdqu32 XMMWORD PTR [rbp-0x1c0],xmm0 mov r15,rdi mov r14d,DWORD PTR [rbp-0x1b8] 0.79 cmp r14d,0x2aaaaaaa ↓ jg 1c2e xor edi,edi mov QWORD PTR [rbp-0x1c8],rdi cmp r14d,0x55 ↓ jle 1c3e cmp r14d,0x15555555 0.09 ↓ jg 1c58 movabs rdi,0x7c2b23c03338 mov r13,QWORD PTR [rdi] mov r12,r13 lea r14d,[r14+r14*2] movabs rdi,0x7c2b23c00db8 mov rax,QWORD PTR [rdi] mov QWORD PTR [rbp-0x1d0],rax lea edi,[r14-0x1] 0.18 or edi,0xf xor ecx,ecx lzcnt ecx,edi 0.18 xor ecx,0x1f 0.26 add ecx,0xfffffffd mov DWORD PTR [rbp-0x44],ecx movabs rdi,0x7c3359e319a8 movabs rdx,0x7c335a80d820 → call rdx 0.09 cmp DWORD PTR [rax],0x18 ↓ jle 1c8c mov rdi,QWORD PTR [rax+0x8] mov rax,QWORD PTR [rdi+0xc0] test rax,rax ↓ je 1c8c 115: mov rdi,QWORD PTR [rax+0x10] test rdi,rdi ↓ je 1d03 mov eax,DWORD PTR [rdi+0x8] mov ecx,DWORD PTR [rbp-0x44] cmp eax,ecx ↓ jbe 1d06 mov eax,ecx shl rax,0x4 mov rdx,QWORD PTR [rdi+rax*1+0x10] 0.44 test rdx,rdx ↓ je 1cfe xor esi,esi mov QWORD PTR [rdi+rax*1+0x10],rsi mov r14,QWORD PTR [rbp-0x1d0] cmp BYTE PTR [r14+0x9d],0x0 ↓ jne 1ca2 160: mov QWORD PTR [rbp-0x1c8],rdx 167: test rdx,rdx 0.09 ↓ je 1ff0 lea r14,[rdx+0x10] mov r13d,DWORD PTR [rdx+0x8] 0.79 178: mov QWORD PTR [rbp-0x1f8],r14 mov DWORD PTR [rbp-0x1ac],r13d mov rdi,QWORD PTR [rbp-0x1c0] mov rsi,QWORD PTR [rbp-0x1b8] mov rdx,r14 mov ecx,r13d movabs rax,0x7c32dc47c5a0 → call QWORD PTR [rax] cmp eax,r13d ↓ ja 1bb1 mov QWORD PTR [rbp-0x1f8],r14 0.09 mov DWORD PTR [rbp-0x1ac],eax mov QWORD PTR [rbp-0x70],r14 mov DWORD PTR [rbp-0x68],eax mov r14d,DWORD PTR [rbp-0x68] test r14d,r14d ↓ je dbd test bl,bl 0.09 ↓ jne de3 mov rsi,QWORD PTR [rbp-0x70] mov QWORD PTR [rbp-0x200],rsi mov edx,DWORD PTR [rbp-0x68] 0.09 xor ecx,ecx mov QWORD PTR [rbp-0x150],rcx 0.09 vxorps xmm0,xmm0,xmm0 vmovdqu XMMWORD PTR [rbp-0x148],xmm0 vmovdqu32 XMMWORD PTR [rbp-0x140],xmm0 lea rdi,[rsp] lea rsi,[rbp-0x168] mov ecx,0x4 rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] 3.25 mov rcx,QWORD PTR [rsi] mov QWORD PTR [rsp+0x20],rcx 0.18 add rsi,0x8 add rdi,0x8 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] mov rsi,QWORD PTR [rbp-0x200] 0.09 lea rdi,[rbp-0x130] mov ecx,0x1 movabs rax,0x7c32dc47c9a8 → call QWORD PTR [rax] ↓ jmp 271 24a: lea rdi,[rbp-0x130] 2.11 mov esi,edx movabs rax,0x7c32dc47cb88 → call QWORD PTR [rax] 1.14 mov ebx,eax 0.70 261: test ebx,ebx 2.28 ↓ je d12 269: test bl,bl 1.32 ↓ je d31 271: cmp BYTE PTR [rbp-0x105],0x0 0.18 ↓ jne 1887 0.09 xor ebx,ebx 0.26 vxorps xmm0,xmm0,xmm0 0.70 vmovdqu XMMWORD PTR [rbp-0x98],xmm0 2.20 mov BYTE PTR [rbp-0x102],0x0 0.26 mov edi,DWORD PTR [rbp-0x110] 1.93 movsxd rax,edi 1.93 mov ecx,DWORD PTR [rbp-0xf8] mov edx,ecx 0.44 cmp rax,rdx 0.09 ↓ jge cb2 cmp edi,ecx 0.26 ↓ jae 1bbe mov rax,QWORD PTR [rbp-0x100] 0.35 mov edi,edi 1.58 movzx edx,BYTE PTR [rax+rdi*1] 11.25 cmp edx,0x20 0.35 ↓ jle e14 2cb: movsxd rdi,DWORD PTR [rbp-0x110] 1.58 mov QWORD PTR [rbp-0x118],rdi 0.26 rex movzx edi,BYTE PTR [rbp-0x108] 0.09 test edi,edi 0.09 ↓ je c96 cmp edx,0x2f 2.11 ↑ je 24a cmp edi,0x1 0.26 ↓ je ab1 cmp edi,0x3 1.05 ↓ je 7e8 cmp edi,0x5 0.79 ↑ jne 24a mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 1.23 ↓ je 6d1 31d: cmp edx,0x7b 1.32 ↓ je 62b cmp edx,0x5b 1.41 ↓ je 584 lea edi,[rdx-0x30] 0.35 cmp edi,0x9 ↓ jbe 3db cmp edx,0x2d 0.44 ↓ je 3db 0.70 cmp edx,0x66 0.09 ↓ jne 377 movabs rsi,0x7c335812a676 0.09 mov edx,0x5 lea rdi,[rbp-0x130] mov ecx,0xa movabs rax,0x7c32dc47ce10 → call QWORD PTR [rax] mov ebx,eax ↓ jmp 7a6 377: cmp edx,0x74 0.44 ↓ jne 135a vxorps xmm0,xmm0,xmm0 vmovdqu XMMWORD PTR [rbp-0x198],xmm0 lea rdi,[rbp-0x198] movabs rsi,0x7c335812a6da mov edx,0x4 movabs rax,0x7c32dbeb5d10 → call QWORD PTR [rax] mov rsi,QWORD PTR [rbp-0x198] mov rdx,QWORD PTR [rbp-0x190] 14.32 lea rdi,[rbp-0x130] mov ecx,0x9 movabs rax,0x7c32dc47ce10 → call QWORD PTR [rax] mov ebx,eax ↓ jmp 7a6 3db: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ ja 1bb1 mov eax,edi add rax,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,edi 0.09 mov QWORD PTR [rbp-0x188],rax mov DWORD PTR [rbp-0x180],ecx xor edi,edi mov DWORD PTR [rbp-0x178],edi mov edi,DWORD PTR [rbp-0x178] cmp edi,DWORD PTR [rbp-0x180] ↓ jae 1bbe mov rax,QWORD PTR [rbp-0x188] cmp BYTE PTR [rax+rdi*1],0x2d 0.44 ↓ je 14c8 436: mov edi,DWORD PTR [rbp-0x180] cmp DWORD PTR [rbp-0x178],edi ↓ jae 1bbe mov rdi,QWORD PTR [rbp-0x188] mov eax,DWORD PTR [rbp-0x178] cmp BYTE PTR [rdi+rax*1],0x30 ↓ je 1534 mov edi,DWORD PTR [rbp-0x178] inc edi mov DWORD PTR [rbp-0x178],edi 0.26 xor edi,edi 0.09 mov eax,DWORD PTR [rbp-0x178] cmp eax,DWORD PTR [rbp-0x180] ↓ jge 4a7 47d: mov edi,DWORD PTR [rbp-0x178] 0.09 cmp edi,DWORD PTR [rbp-0x180] ↓ jae 1bbe mov rax,QWORD PTR [rbp-0x188] rex movzx edi,BYTE PTR [rax+rdi*1] 0.09 lea eax,[rdi-0x30] 0.26 cmp eax,0x9 ↓ jbe 55f 4a7: mov eax,DWORD PTR [rbp-0x178] cmp eax,DWORD PTR [rbp-0x180] ↓ jge 158a movabs rax,0x7c335812a629 0.18 mov ecx,0x8 xor edx,edx 0.09 4ca: add ecx,0xfffffff8 rex movzx esi,BYTE PTR [rax+rdx*1] cmp esi,edi ↓ jne 15af 4da: xor ebx,ebx 4dc: cmp ebx,0x2 ↓ je 14ff test ebx,ebx 0.09 ↓ jne 1685 4ed: mov edi,DWORD PTR [rbp-0x178] 0.09 cmp edi,DWORD PTR [rbp-0x180] 0.09 ↓ ja 1bb1 mov rsi,QWORD PTR [rbp-0x188] mov QWORD PTR [rbp-0x98],rsi 0.09 mov DWORD PTR [rbp-0x90],edi mov edi,DWORD PTR [rbp-0x178] mov BYTE PTR [rbp-0x108],0x8 mov esi,edi add esi,DWORD PTR [rbp-0x110] mov DWORD PTR [rbp-0x110],esi 0.18 movsxd rdi,edi add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi movsxd rdi,DWORD PTR [rbp-0x110] 0.18 mov esi,DWORD PTR [rbp-0xf8] 0.18 cmp rdi,rsi ↓ jge 17ae 555: mov ebx,0x1 55a: ↓ jmp 7a6 55f: mov eax,DWORD PTR [rbp-0x178] inc eax mov DWORD PTR [rbp-0x178],eax 0.09 mov eax,DWORD PTR [rbp-0x178] cmp eax,DWORD PTR [rbp-0x180] 0.09 ↑ jl 47d ↑ jmp 4a7 584: mov edi,DWORD PTR [rbp-0xd8] cmp edi,DWORD PTR [rbp-0xf0] ↓ jge 19c1 cmp DWORD PTR [rbp-0xd8],0x40 ↓ jge 14ae mov rdi,QWORD PTR [rbp-0xe0] add rdi,rdi mov QWORD PTR [rbp-0xe0],rdi 5b4: mov edi,DWORD PTR [rbp-0xd8] 0.09 inc edi mov DWORD PTR [rbp-0xd8],edi 0.09 mov edi,DWORD PTR [rbp-0x110] mov esi,edi inc rsi mov eax,DWORD PTR [rbp-0xf8] 0.09 cmp rsi,rax ↓ ja 1bb1 add rdi,QWORD PTR [rbp-0x100] mov QWORD PTR [rbp-0x98],rdi mov DWORD PTR [rbp-0x90],0x1 mov edi,DWORD PTR [rbp-0x110] inc edi mov DWORD PTR [rbp-0x110],edi mov rdi,QWORD PTR [rbp-0x128] inc rdi 0.09 mov QWORD PTR [rbp-0x128],rdi mov BYTE PTR [rbp-0x108],0x3 0.09 mov BYTE PTR [rbp-0x10a],0x0 621: mov ebx,0x1 ↓ jmp 7a6 62b: mov edi,DWORD PTR [rbp-0xd8] cmp edi,DWORD PTR [rbp-0xf0] ↓ jge 19a1 cmp DWORD PTR [rbp-0xd8],0x40 ↓ jge 1491 mov rdi,QWORD PTR [rbp-0xe0] add rdi,rdi or rdi,0x1 mov QWORD PTR [rbp-0xe0],rdi 65f: mov edi,DWORD PTR [rbp-0xd8] inc edi mov DWORD PTR [rbp-0xd8],edi mov edi,DWORD PTR [rbp-0x110] mov esi,edi inc rsi mov eax,DWORD PTR [rbp-0xf8] cmp rsi,rax ↓ ja 1bb1 add rdi,QWORD PTR [rbp-0x100] mov QWORD PTR [rbp-0x98],rdi mov DWORD PTR [rbp-0x90],0x1 mov edi,DWORD PTR [rbp-0x110] inc edi mov DWORD PTR [rbp-0x110],edi mov rdi,QWORD PTR [rbp-0x128] inc rdi mov QWORD PTR [rbp-0x128],rdi mov BYTE PTR [rbp-0x108],0x1 mov BYTE PTR [rbp-0x10a],0x1 ↑ jmp 621 6d1: mov edi,DWORD PTR [rbp-0x110] inc edi mov r13d,DWORD PTR [rbp-0xf8] 0.09 cmp edi,r13d 0.09 ↓ ja 1bb1 mov ebx,edi 0.09 add rbx,QWORD PTR [rbp-0x100] 0.26 sub r13d,edi cmp r13d,0x10 0.44 ↓ jl 7cf vmovups xmm0,XMMWORD PTR [rbx] 1.05 vpcmpltub k1,xmm0,XMMWORD PTR [rip+0x1962] # 20f0 ,bool)[OptimizedTier1]+0x2070> 2.28 vpcmpeqb k2,xmm0,XMMWORD PTR [rip+0x1968] # 2100 ,bool)[OptimizedTier1]+0x2080> 0.35 korw k1,k1,k2 2.20 vpcmpeqb k2,xmm0,XMMWORD PTR [rip+0x196a] # 2110 ,bool)[OptimizedTier1]+0x2090> korw k1,k1,k2 1.49 kmovw edi,k1 test edi,edi 4.66 ↓ je 7ab xor ecx,ecx tzcnt ecx,edi 1.05 738: test ecx,ecx ↓ jl 146e cmp ecx,r13d 0.53 ↓ jae 1bbe mov esi,ecx cmp BYTE PTR [rbx+rsi*1],0x22 3.87 ↓ jne 144d lea esi,[rcx+0x2] movsxd rsi,esi add rsi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rsi cmp ecx,r13d ↓ ja 1bb1 mov QWORD PTR [rbp-0x98],rbx mov DWORD PTR [rbp-0x90],ecx mov BYTE PTR [rbp-0x102],0x0 1.23 mov BYTE PTR [rbp-0x108],0x7 mov esi,DWORD PTR [rbp-0x110] lea esi,[rsi+rcx*1+0x2] mov DWORD PTR [rbp-0x110],esi mov r12d,0x1 7a3: mov ebx,r12d 0.88 7a6: ↑ jmp 261 7ab: lea rdi,[rbx+0x10] lea esi,[r13-0x10] movabs rax,0x7c32dc47cd98 → call QWORD PTR [rax] test eax,eax ↓ jl 1446 lea ecx,[rax+0x10] ↑ jmp 738 7cf: mov rdi,rbx mov esi,r13d movabs rax,0x7c32dc47cd98 → call QWORD PTR [rax] mov ecx,eax ↑ jmp 738 7e8: cmp edx,0x5d ↓ je 107d 7f1: mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 ↓ je 9af cmp edx,0x7b ↓ je 99a cmp edx,0x5b ↓ je 97d lea edi,[rdx-0x30] cmp edi,0x9 ↓ jbe 963 cmp edx,0x2d ↓ je 963 cmp edx,0x66 ↓ jne 8cb mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1bb1 mov edx,esi add rdx,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,esi cmp ecx,0x5 ↓ jl 1264 mov rsi,rdx movabs r8,0x7c335812a676 mov edi,DWORD PTR [rsi] mov esi,DWORD PTR [rsi+0x1] xor edi,DWORD PTR [r8] xor esi,DWORD PTR [r8+0x1] or esi,edi sete sil movzx esi,sil test esi,esi ↓ je 1264 mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],0x5 mov BYTE PTR [rbp-0x108],0xa mov edx,DWORD PTR [rbp-0x110] add edx,0x5 mov DWORD PTR [rbp-0x110],edx mov rsi,QWORD PTR [rbp-0x128] add rsi,0x5 mov QWORD PTR [rbp-0x128],rsi mov ebx,0x1 8c6: ↓ jmp a87 8cb: cmp edx,0x74 ↓ jne 1095 mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1bb1 mov edx,esi add rdx,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,esi cmp ecx,0x4 ↓ jl 1293 movabs rsi,0x7c335812a6da mov r8d,DWORD PTR [rdx] cmp r8d,DWORD PTR [rsi] sete sil movzx esi,sil test esi,esi ↓ je 1293 mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],0x4 mov BYTE PTR [rbp-0x108],0x9 mov edx,DWORD PTR [rbp-0x110] add edx,0x4 mov DWORD PTR [rbp-0x110],edx mov rsi,QWORD PTR [rbp-0x128] add rsi,0x4 mov QWORD PTR [rbp-0x128],rsi mov ebx,0x1 95e: ↓ jmp a87 963: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cde0 → call QWORD PTR [rax] mov ebx,eax ↓ jmp a87 97d: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cdc8 → call QWORD PTR [rax] 990: mov ebx,0x1 0.09 ↓ jmp a87 99a: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cdb0 → call QWORD PTR [rax] ↑ jmp 990 9af: mov edi,DWORD PTR [rbp-0x110] inc edi cmp edi,DWORD PTR [rbp-0xf8] ↓ ja 1bb1 mov ebx,edi add rbx,QWORD PTR [rbp-0x100] mov r12d,DWORD PTR [rbp-0xf8] sub r12d,edi cmp r12d,0x10 ↓ jl 11c9 vmovups xmm0,XMMWORD PTR [rbx] vpcmpltub k1,xmm0,XMMWORD PTR [rip+0x1681] # 20f0 ,bool)[OptimizedTier1]+0x2070> vpcmpeqb k2,xmm0,XMMWORD PTR [rip+0x1687] # 2100 ,bool)[OptimizedTier1]+0x2080> korw k1,k1,k2 vpcmpeqb k2,xmm0,XMMWORD PTR [rip+0x1689] # 2110 ,bool)[OptimizedTier1]+0x2090> korw k1,k1,k2 kmovw edi,k1 test edi,edi ↓ je a8c xor ecx,ecx tzcnt ecx,edi a19: test ecx,ecx ↓ jl 120a cmp ecx,r12d ↓ jae 1bbe mov esi,ecx cmp BYTE PTR [rbx+rsi*1],0x22 ↓ jne 11e9 lea esi,[rcx+0x2] movsxd rsi,esi add rsi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rsi cmp ecx,r12d ↓ ja 1bb1 mov QWORD PTR [rbp-0x98],rbx mov DWORD PTR [rbp-0x90],ecx mov BYTE PTR [rbp-0x102],0x0 mov BYTE PTR [rbp-0x108],0x7 mov esi,DWORD PTR [rbp-0x110] lea esi,[rsi+rcx*1+0x2] mov DWORD PTR [rbp-0x110],esi mov r13d,0x1 a84: mov ebx,r13d 0.26 a87: ↑ jmp 261 a8c: lea rdi,[rbx+0x10] lea esi,[r12-0x10] movabs rax,0x7c32dc47cd98 → call QWORD PTR [rax] test eax,eax ↓ jl 11e2 lea ecx,[rax+0x10] ↑ jmp a19 ab1: cmp edx,0x7d 0.26 ↓ je ed0 cmp edx,0x22 0.26 ↓ jne 18f3 mov r12d,DWORD PTR [rbp-0x110] mov r13,QWORD PTR [rbp-0x128] 0.09 mov rbx,QWORD PTR [rbp-0x130] mov BYTE PTR [rbp-0x104],0x0 mov edi,DWORD PTR [rbp-0x110] inc edi cmp edi,DWORD PTR [rbp-0xf8] 0.09 ↓ ja 1bb1 mov eax,edi add rax,QWORD PTR [rbp-0x100] 0.09 mov QWORD PTR [rbp-0x1f0],rax mov ecx,DWORD PTR [rbp-0xf8] sub ecx,edi mov DWORD PTR [rbp-0x16c],ecx cmp ecx,0x10 ↓ jl c6f vmovups xmm0,XMMWORD PTR [rax] vpcmpltub k1,xmm0,XMMWORD PTR [rip+0x1547] # 20f0 ,bool)[OptimizedTier1]+0x2070> 0.26 vpcmpeqb k2,xmm0,XMMWORD PTR [rip+0x154d] # 2100 ,bool)[OptimizedTier1]+0x2080> 0.18 korw k1,k1,k2 0.53 vpcmpeqb k2,xmm0,XMMWORD PTR [rip+0x154f] # 2110 ,bool)[OptimizedTier1]+0x2090> korw k1,k1,k2 0.62 kmovw edi,k1 test edi,edi 0.97 ↓ je c3b xor edx,edx tzcnt edx,edi 0.18 b57: test edx,edx ↓ jl f2f cmp edx,ecx ↓ jae 1bbe mov esi,edx cmp BYTE PTR [rax+rsi*1],0x22 1.05 ↓ jne efe lea esi,[rdx+0x2] movsxd rsi,esi add rsi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rsi cmp edx,ecx ↓ ja 1bb1 mov QWORD PTR [rbp-0x98],rax mov DWORD PTR [rbp-0x90],edx mov BYTE PTR [rbp-0x102],0x0 0.09 mov BYTE PTR [rbp-0x108],0x7 mov eax,DWORD PTR [rbp-0x110] lea esi,[rax+rdx*1+0x2] mov DWORD PTR [rbp-0x110],esi bba: movsxd rdi,DWORD PTR [rbp-0x110] 0.97 mov eax,DWORD PTR [rbp-0xf8] 0.18 cmp rdi,rax ↓ jge f88 mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bbe mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jle fce bf6: cmp edx,0x3a ↓ jne 1911 mov edi,DWORD PTR [rbp-0x110] inc edi mov DWORD PTR [rbp-0x110],edi 0.26 mov rdi,QWORD PTR [rbp-0x128] inc rdi 0.09 mov QWORD PTR [rbp-0x128],rdi mov BYTE PTR [rbp-0x108],0x5 mov edi,0x1 c2a: mov eax,edi test edi,edi ↓ je 105a mov ebx,eax 0.09 ↑ jmp 261 c3b: lea rdi,[rax+0x10] lea esi,[rcx-0x10] movabs rdx,0x7c32dc47cd98 → call QWORD PTR [rdx] test eax,eax ↓ jl ee8 lea edx,[rax+0x10] mov ecx,edx mov edx,ecx mov rax,QWORD PTR [rbp-0x1f0] mov ecx,DWORD PTR [rbp-0x16c] ↑ jmp b57 c6f: mov rdi,rax mov esi,ecx movabs rdx,0x7c32dc47cd98 → call QWORD PTR [rdx] mov ecx,eax mov edx,ecx mov rax,QWORD PTR [rbp-0x1f0] mov ecx,DWORD PTR [rbp-0x16c] ↑ jmp b57 c96: lea rdi,[rbp-0x130] mov esi,edx movabs rax,0x7c32dc47cc00 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 261 cb2: cmp BYTE PTR [rbp-0x109],0x0 0.09 ↑ je 261 0.18 cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 261 0.09 cmp BYTE PTR [rbp-0x105],0x0 ↓ jne ded cd9: cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 18b3 0.09 cmp BYTE PTR [rbp-0xec],0x2 ↓ je e02 cf3: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 0.18 ↑ je 261 cmp edi,0x2 ↑ je 261 ↓ jmp 1b3f d12: cmp BYTE PTR [rbp-0x10c],0x0 0.09 ↑ je 269 0.09 cmp BYTE PTR [rbp-0x108],0x0 ↑ jne 269 ↓ jmp 18a1 d31: rex movzx edi,BYTE PTR [rbp-0x108] 0.09 mov BYTE PTR [r15+0x3a],dil d3d: lea esi,[r14+0x1] mov edi,DWORD PTR [r15+0x4c] 0.09 sub edi,DWORD PTR [r15+0x34] 0.09 cmp edi,esi ↓ jl 1b9d d51: lea rdi,[r15+0x40] movabs rax,0x7c32dc477168 → call QWORD PTR [rax] cmp DWORD PTR [r15+0x28],0x0 ↓ jge d7f mov esi,DWORD PTR [r15+0x34] lea edi,[rsi+0x1] mov DWORD PTR [r15+0x34],edi cmp esi,edx ↓ jae 1bbe mov BYTE PTR [rax+rsi*1],0x2c 0.09 d7f: mov esi,DWORD PTR [r15+0x34] 0.09 cmp esi,edx ↓ ja 1bb1 mov edi,esi add rdi,rax sub edx,esi mov rsi,rdi lea rdi,[rbp-0x70] movabs rax,0x7c32dc47c960 → call QWORD PTR [rax] add DWORD PTR [r15+0x34],r14d mov rdi,r15 movabs rax,0x7c32dc47c978 0.09 → call QWORD PTR [rax] ↓ jmp 1bc4 dbd: movabs rdi,0x7c3358220be0 movabs rax,0x7c32dc65d710 → call QWORD PTR [rax] mov rdi,rax movabs rax,0x7c32dc47c900 → call QWORD PTR [rax] int3 de3: mov BYTE PTR [r15+0x3a],0x7 ↑ jmp d3d ded: rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↑ je 261 ↑ jmp cd9 e02: cmp BYTE PTR [rbp-0x108],0x6 ↑ jne cf3 ↑ jmp 261 e14: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cb70 → call QWORD PTR [rax] movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jl eae cmp BYTE PTR [rbp-0x109],0x0 ↑ je 261 cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 261 cmp BYTE PTR [rbp-0x105],0x0 ↓ je e6c rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↑ je 261 e6c: cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 18d3 cmp BYTE PTR [rbp-0xec],0x2 ↓ jne e8f cmp BYTE PTR [rbp-0x108],0x6 ↑ je 261 e8f: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 261 cmp edi,0x2 ↑ je 261 ↓ jmp 1b3f eae: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bbe mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp 2cb ed0: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cba0 → call QWORD PTR [rax] ↓ jmp 187b ee8: mov ecx,eax mov edx,ecx mov rax,QWORD PTR [rbp-0x1f0] mov ecx,DWORD PTR [rbp-0x16c] ↑ jmp b57 efe: mov DWORD PTR [rbp-0x170],edx mov rsi,rax mov edx,ecx lea rdi,[rbp-0x130] mov ecx,DWORD PTR [rbp-0x170] movabs rax,0x7c32dc47cd20 → call QWORD PTR [rax] test eax,eax ↑ jne bba ↓ jmp 1031 f2f: cmp BYTE PTR [rbp-0x10c],0x0 ↓ je 1031 cmp BYTE PTR [rbp-0x105],0x0 ↓ je f55 rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↓ je 1031 f55: inc ecx movsxd rdi,ecx add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x2 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 f88: cmp BYTE PTR [rbp-0x10c],0x0 ↓ je 1031 cmp BYTE PTR [rbp-0x105],0x0 ↓ je fae rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↓ je 1031 fae: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x11 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 fce: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cb70 → call QWORD PTR [rax] movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jl 1038 cmp BYTE PTR [rbp-0x10c],0x0 ↓ je 1031 cmp BYTE PTR [rbp-0x105],0x0 ↓ je 1011 rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↓ je 1031 1011: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x11 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1031: xor edi,edi ↑ jmp c2a 1038: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bbe mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp bf6 105a: mov DWORD PTR [rbp-0x110],r12d mov BYTE PTR [rbp-0x108],0x1 mov QWORD PTR [rbp-0x128],r13 mov QWORD PTR [rbp-0x130],rbx mov ebx,eax ↑ jmp 261 107d: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cbd0 → call QWORD PTR [rax] ↓ jmp 187b 1095: cmp edx,0x6e ↓ je 12c2 rex movzx edi,BYTE PTR [rbp-0xec] test edi,edi ↓ je 194f cmp edi,0x2 ↓ je 12f0 cmp edx,0x2f ↓ jne 194f lea rdi,[rbp-0x130] movabs rax,0x7c32dc47ce70 → call QWORD PTR [rax] test eax,eax ↓ je 117b movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jge 1313 mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bbe mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jg 11b6 lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cb70 → call QWORD PTR [rax] movsxd rsi,DWORD PTR [rbp-0x110] mov edx,DWORD PTR [rbp-0xf8] cmp rsi,rdx ↓ jl 1199 cmp BYTE PTR [rbp-0x109],0x0 ↓ je 117b lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cc18 → call QWORD PTR [rax] test eax,eax ↓ je 117b cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 192f cmp BYTE PTR [rbp-0xec],0x2 ↓ jne 1182 cmp BYTE PTR [rbp-0x108],0x6 ↓ jne 1182 117b: xor ebx,ebx ↑ jmp a87 1182: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 117b cmp edi,0x2 ↑ je 117b ↓ jmp 1b3f 1199: mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ jae 1bbe mov rdx,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rdx+rsi*1] 11b6: movsxd rsi,DWORD PTR [rbp-0x110] mov QWORD PTR [rbp-0x118],rsi ↑ jmp 7f1 11c9: mov rdi,rbx mov esi,r12d movabs rax,0x7c32dc47cd98 → call QWORD PTR [rax] mov ecx,eax ↑ jmp a19 11e2: mov ecx,eax ↑ jmp a19 11e9: mov rsi,rbx mov edx,r12d lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cd20 → call QWORD PTR [rax] mov r13d,eax ↑ jmp a84 120a: cmp BYTE PTR [rbp-0x10c],0x0 ↓ je 125c cmp BYTE PTR [rbp-0x105],0x0 ↓ je 1228 rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↓ je 125c 1228: inc r12d movsxd rdi,r12d add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x2 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 125c: xor r13d,r13d ↑ jmp a84 1264: mov rsi,rdx mov edx,ecx movabs rcx,0x7c335812a676 mov r8d,0x5 lea rdi,[rbp-0x130] movabs rax,0x7c32dc47d038 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 8c6 1293: mov rsi,rdx mov edx,ecx movabs rcx,0x7c335812a6da mov r8d,0x4 lea rdi,[rbp-0x130] movabs rax,0x7c32dc47d038 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 95e 12c2: movabs rsi,0x7c335812a671 mov edx,0x4 lea rdi,[rbp-0x130] mov ecx,0xb movabs rax,0x7c32dc47ce10 → call QWORD PTR [rax] mov ebx,eax ↑ jmp a87 12f0: cmp edx,0x2f ↓ jne 194f lea rdi,[rbp-0x130] movabs rax,0x7c32dc47ce58 → call QWORD PTR [rax] mov ebx,eax ↑ jmp a87 1313: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 117b lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cc18 → call QWORD PTR [rax] test eax,eax ↑ je 117b cmp BYTE PTR [rbp-0x108],0x4 ↑ je 117b cmp BYTE PTR [rbp-0x108],0x2 ↑ je 117b ↓ jmp 1b3f 135a: cmp edx,0x6e ↓ je 17c0 rex movzx edi,BYTE PTR [rbp-0xec] test edi,edi ↓ je 1b5f cmp edi,0x2 ↓ je 181b cmp edx,0x2f ↓ jne 1b5f lea rdi,[rbp-0x130] movabs rax,0x7c32dc47ce70 → call QWORD PTR [rax] test eax,eax ↓ je 1874 movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jge 183e mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bbe mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jg 1423 lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cb70 → call QWORD PTR [rax] lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cb58 → call QWORD PTR [rax] test eax,eax ↓ je 1874 mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ jae 1bbe mov rdx,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rdx+rsi*1] 1423: movsxd rsi,DWORD PTR [rbp-0x110] mov QWORD PTR [rbp-0x118],rsi mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 ↑ jne 31d ↑ jmp 6d1 1446: mov ecx,eax ↑ jmp 738 144d: mov rsi,rbx mov edx,r13d lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cd20 → call QWORD PTR [rax] mov r12d,eax ↑ jmp 7a3 146e: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cc18 → call QWORD PTR [rax] test eax,eax ↓ jne 196d xor r12d,r12d ↑ jmp 7a3 1491: lea rdi,[rbp-0xe8] mov esi,0x1 movabs rax,0x7c32dc47d098 → call QWORD PTR [rax] ↑ jmp 65f 14ae: lea rdi,[rbp-0xe8] xor esi,esi movabs rax,0x7c32dc47d098 → call QWORD PTR [rax] ↑ jmp 5b4 14c8: mov edi,DWORD PTR [rbp-0x178] inc edi mov DWORD PTR [rbp-0x178],edi mov edi,DWORD PTR [rbp-0x178] cmp edi,DWORD PTR [rbp-0x180] ↓ jl 1506 lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cc18 → call QWORD PTR [rax] test eax,eax ↓ jne 19de 14ff: xor ebx,ebx ↑ jmp 55a 1506: mov edi,DWORD PTR [rbp-0x178] cmp edi,DWORD PTR [rbp-0x180] ↓ jae 1bbe mov rax,QWORD PTR [rbp-0x188] movzx edx,BYTE PTR [rax+rdi*1] lea edi,[rdx-0x30] cmp edi,0x9 ↑ jbe 436 ↓ jmp 1a13 1534: lea rdi,[rbp-0x130] lea rsi,[rbp-0x188] lea rdx,[rbp-0x178] movabs rax,0x7c32dc47cf00 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 14ff test eax,eax ↑ je 4ed mov edi,DWORD PTR [rbp-0x180] cmp DWORD PTR [rbp-0x178],edi ↓ jae 1bbe mov rdi,QWORD PTR [rbp-0x188] mov esi,DWORD PTR [rbp-0x178] movzx edx,BYTE PTR [rdi+rsi*1] ↓ jmp 16bb 158a: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cc18 → call QWORD PTR [rax] test eax,eax ↑ jne 4da mov ebx,0x2 ↑ jmp 4dc 15af: rex movzx esi,BYTE PTR [rax+rdx*1+0x1] cmp esi,edi ↑ je 4da rex movzx esi,BYTE PTR [rax+rdx*1+0x2] cmp esi,edi ↑ je 4da rex movzx esi,BYTE PTR [rax+rdx*1+0x3] cmp esi,edi ↑ je 4da rex movzx esi,BYTE PTR [rax+rdx*1+0x4] cmp esi,edi ↑ je 4da rex movzx esi,BYTE PTR [rax+rdx*1+0x5] cmp esi,edi ↑ je 4da rex movzx esi,BYTE PTR [rax+rdx*1+0x6] cmp esi,edi ↑ je 4da rex movzx esi,BYTE PTR [rax+rdx*1+0x7] cmp esi,edi ↑ je 4da add rdx,0x8 cmp ecx,0x8 ↑ jge 4ca cmp ecx,0x4 ↓ jl 1677 add ecx,0xfffffffc rex movzx esi,BYTE PTR [rax+rdx*1] cmp esi,edi ↑ je 4da rex movzx esi,BYTE PTR [rax+rdx*1+0x1] cmp esi,edi ↑ je 4da rex movzx esi,BYTE PTR [rax+rdx*1+0x2] cmp esi,edi ↑ je 4da rex movzx esi,BYTE PTR [rax+rdx*1+0x3] cmp esi,edi ↑ je 4da add rdx,0x4 test ecx,ecx ↓ jle 167b 1665: dec ecx rex movzx esi,BYTE PTR [rax+rdx*1] cmp esi,edi ↑ je 4da inc rdx 1677: test ecx,ecx ↑ jg 1665 167b: mov ebx,0x1 ↑ jmp 4dc 1685: mov edi,DWORD PTR [rbp-0x180] cmp DWORD PTR [rbp-0x178],edi ↓ jae 1bbe mov rdi,QWORD PTR [rbp-0x188] mov esi,DWORD PTR [rbp-0x178] movzx edx,BYTE PTR [rdi+rsi*1] cmp edx,0x2e ↓ je 16bb cmp edx,0x45 ↓ je 16bb cmp edx,0x65 ↓ jne 1a46 16bb: cmp edx,0x2e ↓ jne 1731 mov edi,DWORD PTR [rbp-0x178] inc edi mov DWORD PTR [rbp-0x178],edi lea rdi,[rbp-0x130] lea rsi,[rbp-0x188] lea rdx,[rbp-0x178] movabs rax,0x7c32dc47cf30 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 14ff test eax,eax ↑ je 4ed mov edi,DWORD PTR [rbp-0x180] cmp DWORD PTR [rbp-0x178],edi ↓ jae 1bbe mov rdi,QWORD PTR [rbp-0x188] mov esi,DWORD PTR [rbp-0x178] movzx edx,BYTE PTR [rdi+rsi*1] cmp edx,0x45 ↓ je 1731 cmp edx,0x65 ↓ jne 1a79 1731: mov edi,DWORD PTR [rbp-0x178] inc edi mov DWORD PTR [rbp-0x178],edi lea rdi,[rbp-0x130] lea rsi,[rbp-0x188] lea rdx,[rbp-0x178] movabs rax,0x7c32dc47cf48 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 14ff mov edi,DWORD PTR [rbp-0x178] inc edi mov DWORD PTR [rbp-0x178],edi lea rdi,[rbp-0x130] lea rsi,[rbp-0x188] lea rdx,[rbp-0x178] movabs rax,0x7c32dc47cf18 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 14ff test eax,eax ↑ je 4ed ↓ jmp 1aac 17ae: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 555 ↓ jmp 1b02 17c0: vxorps xmm0,xmm0,xmm0 vmovdqu XMMWORD PTR [rbp-0x1a8],xmm0 lea rdi,[rbp-0x1a8] movabs rsi,0x7c335812a671 mov edx,0x4 movabs rax,0x7c32dbeb5d10 → call QWORD PTR [rax] mov rsi,QWORD PTR [rbp-0x1a8] mov rdx,QWORD PTR [rbp-0x1a0] lea rdi,[rbp-0x130] mov ecx,0xb movabs rax,0x7c32dc47ce10 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 7a6 181b: cmp edx,0x2f ↓ jne 1b5f lea rdi,[rbp-0x130] movabs rax,0x7c32dc47ce58 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 7a6 183e: cmp BYTE PTR [rbp-0x109],0x0 ↓ je 1874 lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cc18 → call QWORD PTR [rax] test eax,eax ↓ je 1874 cmp BYTE PTR [rbp-0x108],0x4 ↓ je 1874 cmp BYTE PTR [rbp-0x108],0x2 ↓ jne 1b3f 1874: xor ebx,ebx ↑ jmp 7a6 187b: mov eax,0x1 mov ebx,eax ↑ jmp 261 1887: lea rdi,[rbp-0x130] movabs rax,0x7c32dc47cb10 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 261 18a1: cmp BYTE PTR [rbp-0xea],0x0 ↑ jne 269 ↓ jmp 1b7d 18b3: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 18d3: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 18f3: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xc movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1911: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xb movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 192f: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 194f: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xf movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 196d: inc r13d movsxd rdi,r13d add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x2 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 19a1: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x18 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 19c1: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d xor esi,esi xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 19de: movsxd rdi,DWORD PTR [rbp-0x178] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x5 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1a13: movsxd rdi,DWORD PTR [rbp-0x178] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x4 movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1a46: movsxd rdi,DWORD PTR [rbp-0x178] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x7 movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1a79: movsxd rdi,DWORD PTR [rbp-0x178] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x9 movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1aac: movsxd rdi,DWORD PTR [rbp-0x178] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi mov edi,DWORD PTR [rbp-0x180] cmp DWORD PTR [rbp-0x178],edi ↓ jae 1bbe mov rdi,QWORD PTR [rbp-0x188] mov ecx,DWORD PTR [rbp-0x178] movzx edx,BYTE PTR [rdi+rcx*1] lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x7 movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1b02: mov edi,DWORD PTR [rbp-0x110] dec edi cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bbe mov rcx,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rcx+rdi*1] lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x7 movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1b3f: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x16 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1b5f: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xf movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1b7d: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x20 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 1b9d: mov rdi,r15 movabs rax,0x7c32dc477150 → call QWORD PTR [rax] ↑ jmp d51 1bb1: movabs rax,0x7c32dbb6dcf8 → call QWORD PTR [rax] int3 1bbe: → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1 5.78 vpcmpeqb k2,xmm0,XMMWORD PTR [rip+0x4d8] # 650 1.89 korw k1,k1,k2 6.20 vpcmpeqb k2,xmm0,XMMWORD PTR [rip+0x4da] # 660 0.11 korw k1,k1,k2 3.26 kmovw edi,k1 test edi,edi 12.92 ↓ je 1d4 xor r8d,r8d tzcnt r8d,edi 2.52 11e: test r8d,r8d 0.11 ↓ jl 43b cmp r8d,r15d 0.11 ↓ jae 5b0 mov esi,r8d cmp BYTE PTR [rdx+rsi*1],0x22 16.28 ↓ jne 415 lea esi,[r8+0x2] movsxd rsi,esi add QWORD PTR [rbx+0x8],rsi cmp r8d,r15d ↓ ja 408 mov QWORD PTR [rbx+0x98],rdx mov DWORD PTR [rbx+0xa0],r8d mov BYTE PTR [rbx+0x2e],0x0 mov BYTE PTR [rbx+0x28],0x7 3.68 add r8d,DWORD PTR [rbx+0x20] add r8d,0x2 mov DWORD PTR [rbx+0x20],r8d 173: mov edi,DWORD PTR [rbx+0x20] movsxd rdx,edi mov esi,DWORD PTR [rbx+0x38] cmp rdx,rsi ↓ jge 478 lea rdx,[rbx+0x30] cmp edi,DWORD PTR [rdx+0x8] 2.94 ↓ jae 5b0 mov rdx,QWORD PTR [rdx] movzx edx,BYTE PTR [rdx+rdi*1] 4.10 cmp edx,0x20 ↓ jle 48d 1a2: cmp edx,0x3a 2.00 ↓ jne 502 inc DWORD inc QWORD mov BYTE PTR [rbx+0x28],0x5 0.11 1b6: xor edx,edx 0.11 1b8: test edx,edx ↓ jne 583 mov eax,0x1 0.42 add rsp,0x18 1.05 pop rbx 0.42 pop r12 1.58 pop r13 0.11 pop r14 pop r15 pop rbp 0.32 ← ret 1d4: lea rdi,[rdx+0x10] lea esi,[r15-0x10] movabs r8,0x7c32dc47cd98 → call QWORD PTR [r8] lea r8d,[rax+0x10] 0.63 test eax,eax cmovl r8d,eax 1.05 mov rdx,QWORD PTR [rbp-0x38] ↑ jmp 11e 1fc: mov rdi,rdx mov esi,r15d movabs r8,0x7c32dc47cd98 → call QWORD PTR [r8] mov r8d,eax mov rdx,QWORD PTR [rbp-0x38] ↑ jmp 11e 21b: cmp sil,0x7d ↓ jne 232 221: mov rdi,rbx 0.21 movabs rdx,0x7c32dc47cba0 → call QWORD PTR [rdx] ↑ jmp 1b6 232: cmp sil,0x5d 0.32 ↓ jne 565 23c: mov rdi,rbx movabs rdx,0x7c32dc47cbd0 → call QWORD PTR [rdx] ↑ jmp 1b6 250: cmp BYTE PTR [rbx+0x44],0x2 ↓ jne 298 cmp sil,0x2f ↓ jne 278 mov rdi,rbx movabs rdx,0x7c32dc47ce58 → call QWORD PTR [rdx] test eax,eax ↑ jne 1b6 ↓ jmp 4d8 278: cmp BYTE PTR [rbx+0x28],0x6 ↑ jne 3c mov rdi,rbx movabs rdx,0x7c32dc47cea0 → call QWORD PTR [rdx] mov edx,eax ↑ jmp 1b8 298: movzx esi,sil mov rdi,rbx movabs rdx,0x7c32dc47ceb8 → call QWORD PTR [rdx] mov edx,eax ↑ jmp 1b8 2b2: cmp BYTE PTR [rbx+0x46],0x0 ↓ je 2d8 movzx esi,sil mov rdi,rbx movabs rdx,0x7c32dc47cc00 → call QWORD PTR [rdx] test eax,eax ↑ jne 1b6 ↓ jmp 4d8 2d8: movzx edx,sil xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x6 movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 2f6: mov rdi,rbx movabs rdx,0x7c32dc47cc18 → call QWORD PTR [rdx] test eax,eax ↓ je 4d8 dec DWORD dec QWORD xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xd xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 330: mov rdi,rbx movabs rdx,0x7c32dc47cb70 → call QWORD PTR [rdx] movsxd rdi,DWORD PTR [rbx+0x20] mov eax,DWORD PTR [rbx+0x38] cmp rdi,rax ↓ jl 37e mov rdi,rbx movabs rax,0x7c32dc47cc18 → call QWORD PTR [rax] test eax,eax ↓ je 4d8 xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xd xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 37e: mov edi,DWORD PTR [rbx+0x20] lea rax,[rbx+0x30] cmp edi,DWORD PTR [rax+0x8] ↓ jae 5b0 mov rax,QWORD PTR [rax] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp 8a 39a: cmp edx,0x2f ↑ jne 9c mov BYTE PTR [rbx+0x2c],0x1 mov rdi,rbx movabs rdx,0x7c32dc47ce58 → call QWORD PTR [rdx] test eax,eax ↑ jne 1b6 ↓ jmp 4d8 3c3: cmp edx,0x7d ↓ jne 3ee cmp BYTE PTR [rbx+0x45],0x0 ↑ jne 221 xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x22 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 3ee: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xc movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 408: movabs rax,0x7c32dbb6dcf8 → call QWORD PTR [rax] int3 415: mov rsi,rdx mov edx,r15d mov rdi,rbx mov ecx,r8d movabs r8,0x7c32dc47cd20 → call QWORD PTR [r8] test eax,eax ↑ jne 173 ↓ jmp 4d8 43b: mov rdi,rbx movabs rdx,0x7c32dc47cc18 → call QWORD PTR [rdx] test eax,eax ↓ je 4d8 inc r15d movsxd rcx,r15d add QWORD PTR [rbx+0x8],rcx xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x2 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 478: mov rdi,rbx movabs rdx,0x7c32dc47cc18 → call QWORD PTR [rdx] test eax,eax ↓ je 4d8 ↓ jmp 4bc 48d: mov rdi,rbx movabs rdx,0x7c32dc47cb70 → call QWORD PTR [rdx] movsxd rcx,DWORD PTR [rbx+0x20] mov r8d,DWORD PTR [rbx+0x38] cmp rcx,r8 ↓ jl 4e4 mov rdi,rbx movabs rax,0x7c32dc47cc18 → call QWORD PTR [rax] test eax,eax ↓ je 4d8 4bc: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x11 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 4d8: mov eax,0x1 mov edx,eax ↑ jmp 1b8 4e4: mov ecx,DWORD PTR [rbx+0x20] lea r8,[rbx+0x30] cmp ecx,DWORD PTR [r8+0x8] ↓ jae 5b0 mov r8,QWORD PTR [r8] movzx edx,BYTE PTR [r8+rcx*1] ↑ jmp 1a2 502: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xb movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 51c: cmp edx,0x5d ↓ jne 547 cmp BYTE PTR [rbx+0x45],0x0 ↑ jne 23c xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x21 xor edx,edx movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 547: mov rdi,rbx mov esi,edx movabs rdx,0x7c32dc47cbe8 → call QWORD PTR [rdx] test eax,eax ↑ jne 1b6 ↑ jmp 4d8 565: movzx edx,sil xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x12 movabs rax,0x7c32dc47cb40 → call QWORD PTR [rax] int3 583: cmp edx,0x1 ↓ jne 59f mov DWORD PTR [rbx+0x20],r14d mov eax,DWORD PTR [rbp-0x2c] mov BYTE PTR [rbx+0x28],al mov QWORD PTR [rbx+0x8],r13 mov QWORD PTR [rbx],r12 mov ecx,DWORD PTR [rbp-0x30] mov BYTE PTR [rbx+0x2c],cl 59f: xor eax,eax add rsp,0x18 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ← ret 5b0: → call instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0xffffffffff26f468 int3 Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5002001997, [percent: local period] valuetype System.Buffers.OperationStatus [System.Private.CoreLib] System.Text.Unicode.Utf8Utility::TranscodeToUtf8(char*,int32,uint8*,int32,char*&,uint8*&)[OptimizedTier1]() /tmp/jitted-41602-32737.so 4.90 push rbp 6.86 push r15 push rbx lea rbp,[rsp+0x10] cmp esi,ecx mov eax,ecx cmovle eax,esi xor r10d,r10d cmp rax,0x20 ↓ jae 77 19: sub rax,r10 0.98 cmp rax,0x4 ↓ jb 17d lea r11,[r10+rax*1-0x4] 4.41 mov rbx,QWORD PTR [rdi+r10*2] 0.49 movabs r15,0xff80ff80ff80ff80 test r15,rbx ↓ jne 3c2 2.45 42: vmovq xmm0,rbx vpackuswb xmm0,xmm0,xmm0 5.88 vmovd DWORD PTR [rdx+r10*1],xmm0 0.98 add r10,0x4 4.90 cmp r10,r11 ↓ ja 17d mov rbx,QWORD PTR [rdi+r10*2] movabs r15,0xff80ff80ff80ff80 0.98 test r15,rbx ↓ jne 3c2 ↑ jmp 42 77: mov r11,QWORD PTR [rdi] movabs rbx,0xff80ff80ff80ff80 test rbx,r11 mov rbx,r11 ↓ jne 3c2 cmp rax,0x80 ↓ jb 235 mov r10,rdi vmovups zmm0,ZMMWORD PTR [r10] 0.98 vbroadcastss zmm1,DWORD PTR [rip+0x8b1] # 9e0 vptestmd k1,zmm0,zmm1 0.49 kortestw k1,k1 0.98 ↓ jne 1db 0.98 mov r11,rdx vpackuswb zmm0,zmm0,zmm0 vmovups zmm2,ZMMWORD PTR [rip+0x8ae] # a00 vpermq zmm0,zmm2,zmm0 vmovups YMMWORD PTR [r11],ymm0 mov ebx,0x20 0.98 test dl,0x20 ↓ je 1e0 eb: mov rbx,rdx and rbx,0x3f neg rbx add rbx,0x40 lea r15,[rax-0x40] vmovups zmm0,ZMMWORD PTR [r10+rbx*2] 0.98 vmovups zmm3,ZMMWORD PTR [r10+rbx*2+0x40] 1.96 vmovaps zmm4,zmm0 0.49 vpternlogd zmm4,zmm1,zmm3,0xc8 1.96 vptestmw k1,zmm4,zmm4 2.45 kortestd k1,k1 1.96 ↓ jne 20a 1.96 12a: vpackuswb zmm0,zmm0,zmm3 0.98 vpermq zmm3,zmm2,zmm0 0.49 vmovups ZMMWORD PTR [r11+rbx*1],zmm3 add rbx,0x40 cmp rbx,r15 ↓ ja 175 vmovups zmm0,ZMMWORD PTR [r10+rbx*2] 2.45 vmovups zmm3,ZMMWORD PTR [r10+rbx*2+0x40] 6.86 vmovaps zmm4,zmm0 2.45 vpternlogd zmm4,zmm1,zmm3,0xc8 3.92 vptestmw k1,zmm4,zmm4 6.86 kortestd k1,k1 5.39 ↓ jne 20a 6.37 ↑ jmp 12a 175: mov r10,rbx 178: ↑ jmp 19 17d: test al,0x2 1.47 ↓ je 1a5 mov r11d,DWORD PTR [rdi+r10*2] test r11d,0xff80ff80 ↓ jne 3e8 lea rbx,[rdx+r10*1] mov BYTE PTR [rbx],r11b shr r11d,0x10 mov BYTE PTR [rbx+0x1],r11b add r10,0x2 1.47 1a5: test al,0x1 ↓ je 1bb movzx r11d,WORD PTR [rdi+r10*2] 0.49 cmp r11d,0x7f 0.49 ↓ ja 1bb 1b4: mov BYTE PTR [rdx+r10*1],r11b inc r10 1bb: lea rdi,[rdi+r10*2] add rdx,r10 0.98 cmp r10d,esi ↓ jne 3fa mov QWORD PTR [r8],rdi 0.98 mov QWORD PTR [r9],rdx 3.43 xor eax,eax 3.43 vzeroupper 1.47 pop rbx pop r15 pop rbp 0.98 ← ret 1db: xor r10d,r10d ↑ jmp 178 1e0: vmovups zmm0,ZMMWORD PTR [r10+0x40] vptestmd k1,zmm0,zmm1 kortestw k1,k1 ↑ jne 175 vpackuswb zmm0,zmm0,zmm0 vpermq zmm0,zmm2,zmm0 vmovups YMMWORD PTR [r11+0x20],ymm0 ↑ jmp eb 20a: vptestmd k1,zmm0,zmm1 kortestw k1,k1 ↑ jne 175 vpackuswb zmm0,zmm0,zmm0 vpermq zmm0,zmm2,zmm0 vmovups YMMWORD PTR [r11+rbx*1],ymm0 add rbx,0x20 ↑ jmp 175 235: cmp rax,0x40 ↓ jb 310 mov r10,rdi vmovups ymm0,YMMWORD PTR [r10] vptest ymm0,YMMWORD PTR [rip+0x770] # a40 ↓ je 25a xor r10d,r10d ↓ jmp 30b 25a: mov r11,rdx vpackuswb ymm0,ymm0,ymm0 vpermq ymm0,ymm0,0xd8 vmovups XMMWORD PTR [r11],xmm0 mov ebx,0x10 test dl,0x10 ↓ jne 297 vmovups ymm0,YMMWORD PTR [r10+0x20] vptest ymm0,YMMWORD PTR [rip+0x75b] # a60 ↓ jne 2e5 vpackuswb ymm0,ymm0,ymm0 vpermq ymm0,ymm0,0xd8 vmovups XMMWORD PTR [r11+0x10],xmm0 297: mov rbx,rdx and rbx,0x1f neg rbx add rbx,0x20 lea r15,[rax-0x20] 2a9: vmovups ymm0,YMMWORD PTR [r10+rbx*2] vmovups ymm1,YMMWORD PTR [r10+rbx*2+0x20] vmovaps ymm2,ymm0 vpternlogd ymm2,ymm1,DWORD BCST [rip+0x69b],0xa8 # 9e0 vptest ymm2,ymm2 ↓ jne 2ea vpackuswb ymm0,ymm0,ymm1 vpermq ymm0,ymm0,0xd8 vmovups YMMWORD PTR [r11+rbx*1],ymm0 add rbx,0x20 cmp rbx,r15 ↑ jbe 2a9 2e5: mov r10,rbx ↓ jmp 30b 2ea: vptest ymm0,YMMWORD PTR [rip+0x70d] # a80 ↑ jne 2e5 vpackuswb ymm0,ymm0,ymm0 vpermq ymm0,ymm0,0xd8 vmovups XMMWORD PTR [r11+rbx*1],xmm0 add rbx,0x10 ↑ jmp 2e5 30b: ↑ jmp 19 310: mov r10,rdi vmovups xmm0,XMMWORD PTR [r10] vbroadcastss xmm1,DWORD PTR [rip+0x63f] # 9e0 vptest xmm1,xmm0 ↓ je 330 xor r10d,r10d ↓ jmp 3bd 330: mov r11,rdx vpackuswb xmm0,xmm0,xmm0 vmovsd QWORD PTR [r11],xmm0 mov ebx,0x8 test dl,0x8 ↓ jne 35d vmovups xmm0,XMMWORD PTR [r10+0x10] vptest xmm1,xmm0 ↓ jne 3a1 vpackuswb xmm0,xmm0,xmm0 vmovsd QWORD PTR [r11+0x8],xmm0 35d: mov rbx,rdx and rbx,0xf neg rbx add rbx,0x10 lea r15,[rax-0x10] 36f: vmovups xmm0,XMMWORD PTR [r10+rbx*2] vmovups xmm2,XMMWORD PTR [r10+rbx*2+0x10] vmovaps xmm3,xmm0 vpternlogd xmm3,xmm1,xmm2,0xc8 vptest xmm3,xmm3 ↓ jne 3a6 vpackuswb xmm0,xmm0,xmm2 vmovups XMMWORD PTR [r11+rbx*1],xmm0 add rbx,0x10 cmp rbx,r15 ↑ jbe 36f 3a1: mov r10,rbx ↓ jmp 3bd 3a6: vptest xmm1,xmm0 ↑ jne 3a1 vpackuswb xmm0,xmm0,xmm0 vmovsd QWORD PTR [r11+rbx*1],xmm0 add rbx,0x8 ↑ jmp 3a1 3bd: ↑ jmp 19 3c2: mov r11d,ebx test r11d,0xff80ff80 ↓ jne 3e8 lea rax,[rdx+r10*1] mov BYTE PTR [rax],r11b shr r11d,0x10 mov BYTE PTR [rax+0x1],r11b shr rbx,0x20 mov r11d,ebx add r10,0x2 3e8: test r11d,0xff80 ↑ je 1b4 ↑ jmp 1bb 3fa: sub esi,r10d sub ecx,r10d cmp esi,0x2 ↓ jl 87c mov eax,esi lea rax,[rdi+rax*2-0x4] 410: mov r10d,DWORD PTR [rdi] ↓ jmp 78e 418: cmp ecx,0x2 ↓ jl 88a mov r11d,r10d shr r11d,0x8 or r11d,r10d mov WORD PTR [rdx],r11w add rdi,0x4 add rdx,0x2 add ecx,0xfffffffe mov r10,rax sub r10,rdi mov r11,r10 shr r11,0x3f add r10,r11 sar r10,1 add r10d,0x2 mov r11d,ecx cmp r10,r11 ↓ jle 45c mov r10,r11 45c: mov r11d,r10d shr r11d,0x3 xor ebx,ebx ↓ jmp 488 467: vmovups xmm0,XMMWORD PTR [rdi] vptest xmm0,XMMWORD PTR [rip+0x5ac] # aa0 ↓ jne 4b9 vpackuswb xmm0,xmm0,xmm0 vmovq QWORD PTR [rdx],xmm0 add rdi,0x10 add rdx,0x8 inc ebx 488: cmp ebx,r11d ↑ jb 467 lea r11d,[rbx*8+0x0] sub ecx,r11d test r10b,0x4 ↓ je 851 mov r10,QWORD PTR [rdi] movabs r11,0xff80ff80ff80ff80 test r11,r10 ↓ jne 4f1 ↓ jmp 7c4 4b9: lea r10d,[rbx*8+0x0] sub ecx,r10d vmovq r10,xmm0 movabs r11,0xff80ff80ff80ff80 test r11,r10 ↓ jne 4f1 vpackuswb xmm1,xmm0,xmm0 vmovd DWORD PTR [rdx],xmm1 add rdi,0x8 add rdx,0x4 add ecx,0xfffffffc vpextrq r10,xmm0,0x1 4f1: mov r11d,r10d test r11d,0xff80ff80 ↓ jne 51b mov ebx,r11d shr ebx,0x8 or ebx,r11d mov WORD PTR [rdx],bx add rdi,0x4 add rdx,0x2 add ecx,0xfffffffe shr r10,0x20 mov r11d,r10d 51b: test r11d,0xff80 ↓ jne 52e test ecx,ecx ↓ je 93e ↓ jmp 540 52e: test r11d,0xf800 ↓ jne 7a3 ↓ jmp 5c8 540: mov BYTE PTR [rdx],r11b add rdi,0x2 inc rdx dec ecx cmp rdi,rax ↓ ja 869 mov r11d,DWORD PTR [rdi] ↑ jmp 52e 55a: cmp ecx,0x2 ↓ jl 93e ↓ jmp 5da 565: cmp ecx,0x4 ↓ jl 5c0 mov r10d,r11d shr r10d,0x6 and r10d,0x1f001f shl r11d,0x8 and r11d,0x3f003f00 add r10d,r11d add r10d,0x80c080c0 mov DWORD PTR [rdx],r10d add rdi,0x4 add rdx,0x4 add ecx,0xfffffffc cmp rdi,rax ↓ ja 869 mov r11d,DWORD PTR [rdi] lea r10d,[r11-0x80] movzx r10d,r10w cmp r10d,0x780 ↓ jl 5c8 mov r10d,r11d ↓ jmp 78e 5c0: mov r10d,r11d ↓ jmp 88a 5c8: lea r10d,[r11-0x800000] cmp r10d,0x77fffff ↑ jbe 565 ↑ jmp 55a 5da: lea r10d,[r11*4+0x0] and r10d,0x1f00 mov ebx,r11d and ebx,0x3f lea r10d,[r10+rbx*1+0xc080] movbe WORD PTR [rdx],r10w cmp r11d,0x800000 ↓ jb 61c add rdi,0x2 add rdx,0x2 add ecx,0xfffffffe cmp rdi,rax ↓ ja 869 ↓ jmp 62a 61c: cmp ecx,0x3 ↓ jl 85c ↓ jmp 7d7 62a: mov r11d,DWORD PTR [rdi] ↓ jmp 7a3 632: test r11d,0xf8000000 ↓ jne 656 ↓ jmp 66b 63d: lea r10d,[r11+0x23ff2800] test r10d,0xfc00fc00 ↓ je 7f6 ↓ jmp 7ec 656: lea r10d,[r11+0x28000000] cmp r10d,0x8000000 ↓ jb 66b cmp ecx,0x6 ↓ jge 679 66b: cmp ecx,0x3 ↓ jl 93e ↓ jmp 70c 679: lea r10d,[r11*4+0x0] and r10d,0x3f00 mov ebx,r11d and ebx,0x3f shl ebx,0x10 or r10d,ebx mov ebx,r11d shr ebx,0x4 and ebx,0xf000000 mov r15d,r11d shr r15d,0xc and r15d,0xf or ebx,r15d add r10d,ebx add r10d,0xe08080e0 mov DWORD PTR [rdx],r10d mov r10d,r11d shr r10d,0x16 and r10d,0x3f shr r11d,0x8 and r11d,0x3f00 add r10d,r11d add r10d,0x8080 mov WORD PTR [rdx+0x4],r10w add rdi,0x4 add rdx,0x6 add ecx,0xfffffffa cmp rdi,rax ↓ ja 869 mov r11d,DWORD PTR [rdi] test r11d,0xf800 ↓ jne 7a3 mov r10d,r11d ↓ jmp 78e 70c: lea r10d,[r11*4+0x0] and r10d,0x3f00 movzx ebx,r11w shr ebx,0xc add r10d,ebx add r10d,0x80e0 mov WORD PTR [rdx],r10w mov r10d,r11d and r10d,0x3f or r10d,0xffffff80 mov BYTE PTR [rdx+0x2],r10b add rdi,0x2 add rdx,0x3 add ecx,0xfffffffd cmp r11d,0x800000 ↓ jb 75e cmp rdi,rax ↓ ja 869 ↓ jmp 7bc 75e: test ecx,ecx ↓ je 93e shr r11d,0x10 mov BYTE PTR [rdx],r11b add rdi,0x2 inc rdx dec ecx cmp rdi,rax ↓ ja 869 mov r11d,DWORD PTR [rdi] test r11d,0xf800 ↓ jne 7a3 mov r10d,r11d 78e: test r10d,0xff80ff80 ↑ je 418 mov r11d,r10d ↑ jmp 51b 7a3: lea r10d,[r11-0xd800] test r10d,0xf800 ↑ je 63d ↑ jmp 632 7bc: mov r11d,DWORD PTR [rdi] ↑ jmp 51b 7c4: vmovq xmm0,r10 vpackuswb xmm0,xmm0,xmm0 vmovd DWORD PTR [rdx],xmm0 add rdi,0x8 ↓ jmp 84a 7d7: shr r11d,0x10 mov BYTE PTR [rdx+0x2],r11b add rdi,0x4 add rdx,0x3 add ecx,0xfffffffd ↓ jmp 851 7ec: mov eax,0x3 ↓ jmp 943 7f6: cmp ecx,0x4 ↓ jl 93e add r11d,0x40 mov r10d,r11d and r10d,0x3 shl r10d,0x14 or r10d,0x808080f0 mov ebx,r11d and ebx,0x3f0700 bswap ebx rol ebx,0x10 or r10d,ebx mov ebx,r11d shr ebx,0x6 and ebx,0xf0000 or r10d,ebx and r11d,0xfc shl r11d,0x6 or r10d,r11d mov DWORD PTR [rdx],r10d add rdi,0x4 84a: add rdx,0x4 add ecx,0xfffffffc 851: cmp rdi,rax ↑ jbe 410 ↓ jmp 869 85c: add rdi,0x2 add rdx,0x2 ↓ jmp 93e 869: sub rax,rdi mov rsi,rax shr rsi,0x3f add rsi,rax sar rsi,1 add esi,0x2 87c: test esi,esi ↓ je 93a movzx r10d,WORD PTR [rdi] ↓ jmp 88e 88a: movzx r10d,r10w 88e: cmp r10d,0x7f ↓ ja 8ab test ecx,ecx ↓ je 93e mov BYTE PTR [rdx],r10b add rdi,0x2 inc rdx ↓ jmp 935 8ab: cmp r10d,0x800 ↓ jae 8de cmp ecx,0x2 ↓ jl 93e mov ecx,r10d and ecx,0x3f or ecx,0xffffff80 mov BYTE PTR [rdx+0x1],cl shr r10d,0x6 or r10d,0xffffffc0 mov BYTE PTR [rdx],r10b add rdi,0x2 add rdx,0x2 ↓ jmp 935 8de: lea eax,[r10-0xd800] cmp eax,0x7ff ↓ jbe 921 cmp ecx,0x3 ↓ jl 93e mov eax,r10d and eax,0x3f or eax,0xffffff80 mov BYTE PTR [rdx+0x2],al mov eax,r10d shr eax,0x6 and eax,0x3f or eax,0xffffff80 mov BYTE PTR [rdx+0x1],al shr r10d,0xc or r10d,0xffffffe0 mov BYTE PTR [rdx],r10b add rdi,0x2 add rdx,0x3 ↓ jmp 935 921: cmp r10d,0xdbff ↑ ja 7ec mov eax,0x2 ↓ jmp 943 935: cmp esi,0x1 ↓ jg 93e 93a: xor eax,eax ↓ jmp 943 93e: mov eax,0x1 943: mov QWORD PTR [r8],rdi mov QWORD PTR [r9],rdx vzeroupper pop rbx pop r15 pop rbp ← ret Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5002001997, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-41602-32739.so 10.50 push rbp 5.00 mov rbp,rsp mov rax,rdi sub rax,rsi cmp rax,rdx ↓ jb 118 mov rax,rsi sub rax,rdi cmp rax,rdx ↓ jb 118 lea rax,[rsi+rdx*1] lea rcx,[rdi+rdx*1] cmp rdx,0x10 ↓ jbe d6 cmp rdx,0x40 3.50 ↓ jbe 9d cmp rdx,0x800 ↓ ja 122 cmp rdx,0x100 0.50 ↓ jb 73 mov r8,rdi and r8,0x3f neg r8 add r8,0x40 vmovdqu32 zmm0,ZMMWORD PTR [rsi] 2.50 vmovdqu32 ZMMWORD PTR [rdi],zmm0 4.00 add rsi,r8 add rdi,r8 sub rdx,r8 73: mov r8,rdx shr r8,0x6 7a: vmovdqu32 zmm0,ZMMWORD PTR [rsi] 19.50 vmovdqu32 ZMMWORD PTR [rdi],zmm0 23.50 add rdi,0x40 3.00 add rsi,0x40 dec r8 0.50 ↑ jne 7a and rdx,0x3f 0.50 cmp rdx,0x10 ↓ jbe ab 9d: vmovups xmm0,XMMWORD PTR [rsi] 2.50 vmovups XMMWORD PTR [rdi],xmm0 3.50 cmp rdx,0x20 0.50 ↓ ja ba ab: vmovups xmm0,XMMWORD PTR [rax-0x10] 6.50 vmovups XMMWORD PTR [rcx-0x10],xmm0 5.50 b5: vzeroupper 0.50 pop rbp ← ret ba: vmovups xmm0,XMMWORD PTR [rsi+0x10] 0.50 vmovups XMMWORD PTR [rdi+0x10],xmm0 0.50 cmp rdx,0x30 ↑ jbe ab vmovups xmm0,XMMWORD PTR [rsi+0x20] 0.50 vmovups XMMWORD PTR [rdi+0x20],xmm0 0.50 ↑ jmp ab d6: test dl,0x18 ↓ je eb mov rdx,QWORD PTR [rsi] mov QWORD PTR [rdi],rdx mov rsi,QWORD PTR [rax-0x8] 6.00 mov QWORD PTR [rcx-0x8],rsi ↑ jmp b5 eb: test dl,0x4 ↓ je fc mov esi,DWORD PTR [rsi] mov DWORD PTR [rdi],esi mov edi,DWORD PTR [rax-0x4] mov DWORD PTR [rcx-0x4],edi ↑ jmp b5 fc: test rdx,rdx ↑ je b5 rex movzx esi,BYTE PTR [rsi] mov BYTE PTR [rdi],sil test dl,0x2 ↑ je b5 movsx rdi,WORD PTR [rax-0x2] mov WORD PTR [rcx-0x2],di ↑ jmp b5 118: cmp rdi,rsi ↓ jne 122 cmp BYTE PTR [rsi],sil ↑ jmp b5 122: cmp BYTE PTR [rdi],dil cmp BYTE PTR [rsi],sil movabs rax,0x7c32db966748 vzeroupper pop rbp rex.W jmp QWORD PTR [rax] Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5002001997, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeLiteral(valuetype [System.Runtime]System.ReadOnlySpan`1,valuetype System.Text.Json.JsonTokenType)[OptimizedTier1]() /tmp/jitted-41602-32717.so 14.13 push rbp 12.50 push rbx push rax lea rbp,[rsp+0x10] lea rax,[rdi+0x30] mov r8d,DWORD PTR [rdi+0x20] mov r9d,DWORD PTR [rax+0x8] cmp r8d,r9d ↓ ja 1fb mov r10d,r8d add r10,QWORD PTR [rax] 9.78 sub r9d,r8d cmp edx,r9d ↓ jg 1d9 mov rax,rsi mov r8d,edx cmp r8,0x8 ↓ jae cc cmp r8,0x4 ↓ jb 98 add r8,0xfffffffffffffffc mov eax,DWORD PTR [r10] 0.54 sub eax,DWORD PTR [rsi] 12.50 mov r11d,DWORD PTR [r10+r8*1] 6.52 sub r11d,DWORD PTR [rsi+r8*1] 7.61 or eax,r11d sete al 3.80 movzx eax,al 5.98 5f: test eax,eax 9.78 ↓ je 1d9 cmp edx,r9d 1.09 ↓ jg 1fb mov QWORD PTR [rdi+0x98],r10 3.80 mov DWORD PTR [rdi+0xa0],edx mov BYTE PTR [rdi+0x28],cl add DWORD PTR [rdi+0x20],edx mov eax,edx add QWORD PTR [rdi+0x8],rax mov eax,0x1 6.52 vzeroupper add rsp,0x8 5.43 pop rbx pop rbp ← ret 98: xor eax,eax mov r11,r8 and r11,0x2 ↓ je ac movzx eax,WORD PTR [r10] movzx ebx,WORD PTR [rsi] sub eax,ebx ac: test r8b,0x1 ↓ je c2 movzx r8d,BYTE PTR [r10+r11*1] movzx r11d,BYTE PTR [rsi+r11*1] sub r8d,r11d or eax,r8d c2: test eax,eax sete al movzx eax,al ↑ jmp 5f cc: cmp r10,rax ↓ je 1a8 cmp r8,0x40 ↓ jb 124 xor eax,eax add r8,0xffffffffffffffc0 ↓ je 106 e3: vmovups zmm0,ZMMWORD PTR [r10+rax*1] vpcmpnequb k1,zmm0,ZMMWORD PTR [rsi+rax*1] kortestq k1,k1 ↓ jne 1d2 add rax,0x40 cmp r8,rax ↑ ja e3 106: vmovups zmm0,ZMMWORD PTR [r10+r8*1] vpcmpeqb k1,zmm0,ZMMWORD PTR [rsi+r8*1] kortestq k1,k1 ↓ jae 1d2 ↓ jmp 1a8 124: cmp r8,0x20 ↓ jb 16a xor eax,eax add r8,0xffffffffffffffe0 ↓ je 154 132: vmovups ymm0,YMMWORD PTR [r10+rax*1] vpcmpnequb k1,ymm0,YMMWORD PTR [rsi+rax*1] kortestd k1,k1 ↓ jne 1d2 add rax,0x20 cmp r8,rax ↑ ja 132 154: vmovups ymm0,YMMWORD PTR [r10+r8*1] vpcmpeqb k1,ymm0,YMMWORD PTR [rsi+r8*1] kortestd k1,k1 ↓ jae 1d2 ↓ jmp 1a8 16a: cmp r8,0x10 ↓ jb 1b2 xor eax,eax add r8,0xfffffffffffffff0 ↓ je 195 178: vmovups xmm0,XMMWORD PTR [r10+rax*1] vpcmpnequb k1,xmm0,XMMWORD PTR [rsi+rax*1] kortestw k1,k1 ↓ jne 1d2 add rax,0x10 cmp r8,rax ↑ ja 178 195: vmovups xmm0,XMMWORD PTR [r10+r8*1] vpcmpeqb k1,xmm0,XMMWORD PTR [rsi+r8*1] kortestw k1,k1 ↓ jae 1d2 1a8: mov eax,0x1 ↑ jmp 5f 1b2: lea rax,[r8-0x8] mov r8,QWORD PTR [r10] sub r8,QWORD PTR [rsi] mov r11,QWORD PTR [r10+rax*1] sub r11,QWORD PTR [rsi+rax*1] or r8,r11 sete al movzx eax,al ↑ jmp 5f 1d2: xor eax,eax ↑ jmp 5f 1d9: mov rcx,rsi mov r8d,edx mov rsi,r10 mov edx,r9d movabs rax,0x7c32dc47d038 vzeroupper add rsp,0x8 pop rbx pop rbp rex.W jmp QWORD PTR [rax] 1fb: movabs rax,0x7c32dbb6dcf8 → call QWORD PTR [rax] int3 Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5002001997, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-41602-32753.so 8.77 push rbp 6.43 push r15 push r14 push r13 push rbx sub rsp,0x10 lea rbp,[rsp+0x30] xor eax,eax 3.51 mov QWORD PTR [rbp-0x28],rax mov rbx,rdi mov r14,rsi mov r15d,edx xor r13d,r13d cmp r15d,0x8 ↓ jge 94 29: xor eax,eax test r15d,r15d cmovne rax,r14 2.92 mov QWORD PTR [rbp-0x28],rax mov edi,r15d mov ecx,r13d cmp rcx,rdi ↓ jae 7b cmp BYTE PTR [rbx],bl mov rdx,rdi sub rdx,rcx cmp rdx,0x8 ↓ jae 10c 53: cmp rcx,rdi ↓ jae 7b 58: lea rdx,[rbx+0x420] 5.26 movzx esi,WORD PTR [rax+rcx*2] 1.75 mov r8d,esi 1.75 shr r8d,0x5 mov edx,DWORD PTR [rdx+r8*4] 39.77 bt edx,esi ↓ jae 7b 15.20 inc rcx cmp rcx,rdi ↑ jb 58 7b: mov eax,ecx 4.09 mov ecx,0xffffffff 1.17 cmp eax,edi cmove eax,ecx 1.75 add rsp,0x10 0.58 pop rbx pop r13 pop r14 2.34 pop r15 pop rbp 1.75 ← ret 94: mov rdi,QWORD PTR [rbx+0x18] test rdi,rdi ↓ je d7 movabs rdx,0x7c32dbcdf488 1.75 cmp QWORD PTR [rdi],rdx ↓ jne e9 lea rdx,[rdi+0x8] mov rdi,r14 mov esi,r15d movabs rax,0x7c32dc5d7330 → call QWORD PTR [rax] c2: mov r13d,eax cmp r13d,r15d ↓ jb fb ca: add rsp,0x10 0.58 pop rbx pop r13 pop r14 0.58 pop r15 pop rbp ← ret d7: mov edi,0x6 movabs rax,0x7c32dbb6ec58 → call QWORD PTR [rax] int3 e9: mov rsi,r14 mov edx,r15d mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x38] ↑ jmp c2 fb: mov edi,r13d cmp WORD PTR [r14+rdi*2],0x7f ↑ ja 29 ↑ jmp ca 10c: xor edx,edx lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x1 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0x2] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x2 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0x4] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x3 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0x6] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x4 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0x8] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x5 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0xa] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x6 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0xc] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d mov edx,0x7 lea rsi,[rbx+0x420] movzx r8d,WORD PTR [rax+rcx*2+0xe] mov r9d,r8d shr r9d,0x5 mov esi,DWORD PTR [rsi+r9*4] bt esi,r8d ↓ jae 24d add rcx,0x8 mov rdx,rdi sub rdx,rcx cmp rdx,0x8 ↑ jae 10c ↑ jmp 53 24d: add rcx,rdx ↑ jmp 7b Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5002001997, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-41602-32811.so 6.92 push rbp 3.14 push r15 push r14 push r13 push r12 push rbx push rax lea rbp,[rsp+0x30] mov rbx,rdi 7.55 mov r15,QWORD PTR [rbx+0x10] test r15,r15 ↓ je 1a1 20: xor edi,edi mov QWORD PTR [rbx+0x40],rdi 0.63 mov QWORD PTR [rbx+0x48],rdi test r15,r15 ↓ je 310 mov esi,DWORD PTR [rbx+0x34] test esi,esi 2.52 ↓ je 17b mov rdi,QWORD PTR [rbx+0x18] mov rax,rdi cmp BYTE PTR [rax],al 1.26 test esi,esi ↓ jl 1b9 mov r14d,DWORD PTR [rax+0x10] mov rcx,QWORD PTR [rax+0x8] mov ecx,DWORD PTR [rcx+0x8] 0.63 sub ecx,esi 4.40 cmp r14d,ecx ↓ jg 1ef add r14d,esi mov DWORD PTR [rax+0x10],r14d xor esi,esi mov DWORD PTR [rbx+0x34],esi mov r13,QWORD PTR [rdi+0x8] test r13,r13 ↓ je 203 cmp DWORD PTR [r13+0x8],r14d 3.14 ↓ jb 2eb add r13,0x10 8c: movabs rdi,0x7c32dc108fd8 3.14 cmp QWORD PTR [r15],rdi ↓ jne 2c6 cmp BYTE PTR [r15+0x2b],0x0 ↓ je 217 cmp BYTE PTR [r15+0x29],0x0 ↓ je 226 mov edi,DWORD PTR [r15+0x1c] lea r12d,[rdi+r14*1] test r12d,r12d 6.92 ↓ jl 233 mov esi,DWORD PTR [r15+0x20] cmp r12d,esi ↓ jle f2 cmp edi,esi setg al movzx eax,al mov DWORD PTR [rbp-0x2c],eax cmp r12d,DWORD PTR [r15+0x24] 0.63 ↓ jg 26c e4: cmp DWORD PTR [rbp-0x2c],0x0 14.47 ↓ jne 28b 4.40 ee: mov DWORD PTR [r15+0x20],r12d f2: mov rdx,QWORD PTR [r15+0x10] mov edi,DWORD PTR [r15+0x1c] test rdx,rdx ↓ je 2ab mov esi,edi mov eax,r14d add rsi,rax mov eax,DWORD PTR [rdx+0x8] 0.63 cmp rsi,rax ↓ ja 2eb lea rdi,[rdx+rdi*1+0x10] 5.66 mov edx,r14d 11f: cmp r14d,edx ↓ jg 2b9 mov edx,r14d mov rsi,r13 movabs rax,0x7c32db965848 → call QWORD PTR [rax] mov DWORD PTR [r15+0x1c],r12d 13e: mov r15,QWORD PTR [rbx+0x18] 0.63 mov eax,DWORD PTR [r15+0x10] 5.03 movsxd rcx,eax add QWORD PTR [rbx+0x20],rcx 4.40 mov rdi,QWORD PTR [r15+0x8] test rdi,rdi ↓ je 2de cmp DWORD PTR [rdi+0x8],eax 9.43 ↓ jb 2eb add rdi,0x10 167: mov esi,eax movabs rax,0x7c32db965818 0.63 → call QWORD PTR [rax] xor edi,edi mov DWORD PTR [r15+0x10],edi 0.63 17b: mov rdi,QWORD PTR [rbx+0x10] 2.52 movabs rax,0x7c32dc108fd8 2.52 cmp QWORD PTR [rdi],rax 3.14 ↓ jne 2f8 192: add rsp,0x8 0.63 pop rbx pop r12 pop r13 pop r14 3.14 pop r15 0.63 pop rbp 0.63 ← ret 1a1: cmp QWORD PTR [rbx+0x8],0x0 ↑ jne 20 movabs rax,0x7c32dc557498 → call QWORD PTR [rax] int3 1b9: movabs rdi,0x7c32db9ae428 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6a28c0 mov rbx,rax mov rdi,rbx xor esi,esi movabs rdx,0x7c3358202820 movabs rax,0x7c32dbcecb58 → call QWORD PTR [rax] mov rdi,rbx → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6a1270 int3 1ef: mov rdi,QWORD PTR [rax+0x8] mov edi,DWORD PTR [rdi+0x8] movabs rax,0x7c32dc5574b0 → call QWORD PTR [rax] int3 203: test r14d,r14d ↓ jne 2eb xor r13d,r13d xor r14d,r14d ↑ jmp 8c 217: xor edi,edi movabs rax,0x7c32dc657a20 → call QWORD PTR [rax] int3 226: movabs rax,0x7c32dc657a38 → call QWORD PTR [rax] int3 233: movabs rdi,0x7c32dbbed8c8 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6a28c0 mov r13,rax movabs rax,0x7c32dc657a50 → call QWORD PTR [rax] mov rsi,rax mov rdi,r13 movabs rax,0x7c32dc3acdc8 → call QWORD PTR [rax] mov rdi,r13 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6a1270 int3 26c: mov rdi,r15 mov esi,r12d movabs rcx,0x7c32dc29ca50 → call QWORD PTR [rcx] test eax,eax ↑ jne ee ↑ jmp e4 28b: mov edx,r12d sub edx,DWORD PTR [r15+0x20] mov esi,DWORD PTR [r15+0x20] mov rdi,QWORD PTR [r15+0x10] movabs rax,0x7c32dbced680 → call QWORD PTR [rax] ↑ jmp ee 2ab: or edi,r14d ↓ jne 2eb xor edi,edi xor edx,edx ↑ jmp 11f 2b9: movabs rax,0x7c32dbeb5380 → call QWORD PTR [rax] int3 2c6: mov rsi,r13 mov edx,r14d mov rdi,r15 mov rax,QWORD PTR [r15] mov rax,QWORD PTR [rax+0x68] → call QWORD PTR [rax+0x30] ↑ jmp 13e 2de: test eax,eax ↓ jne 2eb xor edi,edi xor eax,eax ↑ jmp 167 2eb: movabs rax,0x7c32dbb6dcf8 → call QWORD PTR [rax] int3 2f8: mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x58] add rsp,0x8 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp rex.W jmp QWORD PTR [rax] 310: mov esi,DWORD PTR [rbx+0x34] test esi,esi ↑ je 192 mov rdi,QWORD PTR [rbx+0x8] movabs r11,0x7c32da872718 → call QWORD PTR [r11] movsxd rax,DWORD PTR [rbx+0x34] add QWORD PTR [rbx+0x20],rax xor eax,eax mov DWORD PTR [rbx+0x34],eax ↑ jmp 192 Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5002001997, [percent: local period] instance void [System.Text.Json] System.Text.Json.Serialization.Converters.ByteArrayConverter::Write(class System.Text.Json.Utf8JsonWriter,uint8[],class System.Text.Json.JsonSerializerOptions)[OptimizedTier1]() /tmp/jitted-41602-32899.so 22.52 push rbp 4.50 push r15 push r14 push r13 push r12 push rbx sub rsp,0xc8 lea rbp,[rsp+0xf0] 3.60 xor eax,eax mov QWORD PTR [rbp-0x38],rax mov QWORD PTR [rbp-0x40],rax mov rbx,rsi test rdx,rdx ↓ je 4ae lea r15,[rdx+0x10] mov r14d,DWORD PTR [rdx+0x8] test BYTE PTR [rbx+0x7c],0x2 ↓ je 4c1 0.90 41: test BYTE PTR [rbx+0x7c],0x1 ↓ jne 4ec cmp r14d,0x5ffffffd ↓ jg 503 lea edi,[r14+0x2] mov r13d,0xaaaaaaab mov r12d,edi imul r13,r12 0.90 shr r13,0x21 3.60 shl r13d,0x2 lea esi,[r13+0x3] mov edi,DWORD PTR [rbx+0x4c] sub edi,DWORD PTR [rbx+0x34] cmp edi,esi ↓ jl 513 83: lea r12,[rbx+0x40] xor eax,eax xor ecx,ecx mov rdi,QWORD PTR [r12] 1.80 test rdi,rdi ↓ je cf mov rax,QWORD PTR [rdi] test DWORD PTR [rax],0x80000000 ↓ je 527 lea rax,[rdi+0x10] mov ecx,DWORD PTR [rdi+0x8] aa: mov edx,DWORD PTR [r12+0x8] and edx,0x7fffffff 1.80 mov esi,DWORD PTR [r12+0xc] mov edi,esi 2.70 add rdi,rdx mov ecx,ecx cmp rdi,rcx ↓ ja 558 add rax,rdx mov ecx,esi cf: mov r12,rax mov eax,ecx mov DWORD PTR [rbp-0xa4],eax cmp DWORD PTR [rbx+0x28],0x0 ↓ jl 53e 7.21 e4: mov r10d,DWORD PTR [rbx+0x34] lea edx,[r10+0x1] mov DWORD PTR [rbx+0x34],edx cmp r10d,eax ↓ jae 574 mov edx,r10d mov BYTE PTR [r12+rdx*1],0x22 mov edx,DWORD PTR [rbx+0x34] cmp edx,eax ↓ ja 558 mov r10d,edx add r10,r12 mov r11d,eax 4.50 sub r11d,edx mov DWORD PTR [rbp-0x2c],r11d mov BYTE PTR [rbp-0x50],0x0 test r14d,r14d ↓ je 458 mov QWORD PTR [rbp-0x38],r15 mov QWORD PTR [rbp-0x40],r10 mov QWORD PTR [rbp-0x48],r10 0.90 cmp r13d,r11d ↓ jg 565 mov r13d,r14d 140: mov QWORD PTR [rbp-0x58],r15 0.90 mov QWORD PTR [rbp-0x60],r10 mov r14d,r14d 0.90 add r14,r15 mov QWORD PTR [rbp-0x68],r14 mov r9d,r13d add r9,r15 cmp r13d,0x10 ↓ jge 21c mov QWORD PTR [rbp-0x70],r9 166: lea rdi,[rbp-0x50] 1.80 movabs rcx,0x7c32dc65d668 → call QWORD PTR [rcx] 1.80 mov r15,rax mov r13,QWORD PTR [rbp-0x70] add r13,0xfffffffffffffffe cmp QWORD PTR [rbp-0x58],r13 ↓ jae 1c0 187: lea rdi,[rbp-0x50] 1.80 mov rsi,QWORD PTR [rbp-0x58] 2.70 mov rdx,QWORD PTR [rbp-0x60] mov rcx,r15 movabs rax,0x7c32dc65d680 → call QWORD PTR [rax] 5.41 mov rdi,QWORD PTR [rbp-0x58] add rdi,0x3 mov QWORD PTR [rbp-0x58],rdi mov rdi,QWORD PTR [rbp-0x60] add rdi,0x4 mov QWORD PTR [rbp-0x60],rdi cmp QWORD PTR [rbp-0x58],r13 ↑ jb 187 1c0: lea rdi,[r13+0x2] 2.70 mov r14,QWORD PTR [rbp-0x68] cmp rdi,r14 ↓ jne 20f mov rdi,QWORD PTR [rbp-0x58] inc rdi cmp rdi,r14 ↓ jne 40f lea rdi,[rbp-0x50] mov rsi,QWORD PTR [rbp-0x58] 0.90 mov rdx,QWORD PTR [rbp-0x60] mov rcx,r15 movabs rax,0x7c32dc65d698 4.50 → call QWORD PTR [rax] mov rax,QWORD PTR [rbp-0x58] inc rax mov QWORD PTR [rbp-0x58],rax mov rax,QWORD PTR [rbp-0x60] 1.80 add rax,0x4 mov QWORD PTR [rbp-0x60],rax 20f: mov r10d,DWORD PTR [rbp-0x60] sub r10d,DWORD PTR [rbp-0x48] ↓ jmp 45b 21c: mov QWORD PTR [rbp-0x70],r9 0.90 lea r8,[r9-0x40] cmp r8,QWORD PTR [rbp-0x58] 0.90 ↓ jb 284 mov QWORD PTR [rsp],r15 mov QWORD PTR [rsp+0x8],r10 lea rdx,[rbp-0x60] lea rsi,[rbp-0x58] rex movzx edi,BYTE PTR [rbp-0x50] mov rcx,r8 mov QWORD PTR [rbp-0xac],rcx mov r8d,r13d 5.41 mov r9d,r11d movabs rcx,0x7c32dc65c2d0 mov QWORD PTR [rbp-0xb4],rcx mov rcx,QWORD PTR [rbp-0xac] mov r14,QWORD PTR [rbp-0xb4] → call QWORD PTR [r14] mov r14,QWORD PTR [rbp-0x68] 1.80 cmp QWORD PTR [rbp-0x58],r14 mov r11d,DWORD PTR [rbp-0x2c] ↑ je 20f mov r10,QWORD PTR [rbp-0x48] 284: mov r9,QWORD PTR [rbp-0x70] lea r8,[r9-0x20] cmp r8,QWORD PTR [rbp-0x58] 4.50 ↓ jb 2d0 mov QWORD PTR [rsp],r15 mov QWORD PTR [rsp+0x8],r10 lea rdx,[rbp-0x60] lea rsi,[rbp-0x58] rex movzx edi,BYTE PTR [rbp-0x50] mov rcx,r8 mov r8d,r13d 0.90 mov r9d,r11d movabs r11,0x7c32dc65c2e8 → call QWORD PTR [r11] mov r14,QWORD PTR [rbp-0x68] cmp QWORD PTR [rbp-0x58],r14 ↑ je 20f mov r10,QWORD PTR [rbp-0x48] 2d0: mov r9,QWORD PTR [rbp-0x70] 0.90 lea r8,[r9-0x10] mov r15,r8 0.90 cmp r15,QWORD PTR [rbp-0x58] ↓ jae 2e6 ↑ jmp 166 2e6: mov r13,QWORD PTR [rbp-0x58] mov rcx,QWORD PTR [rbp-0x60] mov QWORD PTR [rbp-0x78],rcx 2f2: vmovups xmm0,XMMWORD PTR [r13+0x0] vmovups XMMWORD PTR [rsp],xmm0 vmovups xmm0,XMMWORD PTR [rip+0x27b] # 600