Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-41731-32718.so 3.31 push rbp 2.91 push r15 push r14 push r13 push r12 push rbx sub rsp,0x18 lea rbp,[rsp+0x40] 2.82 mov rbx,rdi mov r15d,DWORD PTR [rbx+0x20] mov r14d,r15d mov r13,QWORD PTR [rbx+0x8] mov r12,QWORD PTR [rbx] movzx eax,BYTE PTR [rbx+0x28] mov DWORD PTR [rbp-0x2c],eax movzx ecx,BYTE PTR [rbx+0x2c] 3.95 mov DWORD PTR [rbp-0x30],ecx cmp BYTE PTR [rbx+0x44],0x0 ↓ jne 335 3c: cmp DWORD PTR [rbx+0x58],0x0 ↓ je 397 cmp sil,0x2c ↓ jne 2fd inc r15d mov DWORD PTR [rbx+0x20],r15d 2.18 inc QWORD mov edi,DWORD PTR [rbx+0x20] 1.86 movsxd rdx,edi mov esi,DWORD PTR [rbx+0x38] cmp rdx,rsi ↓ jge 3db lea rdx,[rbx+0x30] cmp edi,DWORD PTR [rdx+0x8] ↓ jae 71a mov rdx,QWORD PTR [rdx] movzx edx,BYTE PTR [rdx+rdi*1] 2.50 cmp edx,0x20 ↓ jle 415 8a: movsxd rdi,DWORD PTR [rbx+0x20] 0.56 mov QWORD PTR [rbx+0x18],rdi 0.16 cmp BYTE PTR [rbx+0x44],0x2 ↓ je 47f 9c: cmp BYTE PTR [rbx+0x26],0x0 ↓ je 683 cmp edx,0x22 0.56 ↓ jne 4a8 mov BYTE PTR [rbx+0x2c],0x0 1.94 lea rsi,[rbx+0x30] 0.32 mov edx,DWORD PTR [rbx+0x20] 0.24 inc edx mov r15d,DWORD PTR [rsi+0x8] 0.08 cmp edx,r15d ↓ ja 56f mov edi,edx add rdi,QWORD PTR [rsi] mov rsi,rdi 0.48 sub r15d,edx 1.45 movabs rdx,0x7dda73c03358 0.32 mov rdx,QWORD PTR [rdx] 0.16 add rdx,0x8 0.08 mov rdi,rsi 0.08 cmp r15d,0x8 ↓ jl 4ed cmp r15d,0x10 ↓ jle 284 vmovups ymm0,YMMWORD PTR [rdx] 0.97 cmp r15d,0x20 0.16 ↓ jle 211 lea edx,[r15-0x20] 1.21 add rdx,rsi 0.48 111: vmovups ymm1,YMMWORD PTR [rdi] 1.21 vpshufb ymm2,ymm0,ymm1 3.39 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x5f7] # 7a0 1.69 vbroadcastsd ymm3,QWORD PTR [rip+0x5f6] # 7a8 vpshufb ymm1,ymm3,ymm1 3.15 vpand ymm1,ymm1,ymm2 5.17 vptest ymm1,ymm1 10.09 ↓ je 53b 10.57 vxorps ymm0,ymm0,ymm0 vpcmpeqb ymm0,ymm0,ymm1 vpmovmskb edx,ymm0 not edx tzcnt edx,edx 1.21 sub rdi,rsi 3.23 add edi,edx mov edx,edi 2.66 15f: test edx,edx 0.08 ↓ jl 5a2 cmp edx,r15d ↓ jae 71a mov edi,edx cmp BYTE PTR [rsi+rdi*1],0x22 11.38 ↓ jne 57c lea edi,[rdx+0x2] movsxd rdi,edi add QWORD PTR [rbx+0x8],rdi cmp edx,r15d ↓ ja 56f mov QWORD PTR [rbx+0x98],rsi mov DWORD PTR [rbx+0xa0],edx mov BYTE PTR [rbx+0x2e],0x0 mov BYTE PTR [rbx+0x28],0x7 2.74 add edx,DWORD PTR [rbx+0x20] add edx,0x2 mov DWORD PTR [rbx+0x20],edx 1ad: mov edi,DWORD PTR [rbx+0x20] movsxd rdx,edi mov esi,DWORD PTR [rbx+0x38] cmp rdx,rsi ↓ jge 5df lea rdx,[rbx+0x30] cmp edi,DWORD PTR [rdx+0x8] 2.42 ↓ jae 71a mov rdx,QWORD PTR [rdx] movzx edx,BYTE PTR [rdx+rdi*1] 5.73 cmp edx,0x20 ↓ jle 5f4 1dc: cmp edx,0x3a ↓ jne 669 inc DWORD inc QWORD mov BYTE PTR [rbx+0x28],0x5 1f0: xor edx,edx 1f2: test edx,edx ↓ jne 6ea mov eax,0x1 0.16 vzeroupper add rsp,0x18 3.79 pop rbx pop r12 0.08 pop r13 pop r14 pop r15 pop rbp 0.24 ← ret 211: lea edx,[r15-0x10] add rdx,rsi cmp rdi,rdx cmova rdi,rdx vmovdqu xmm1,XMMWORD PTR [rdi] 0.16 vinserti128 ymm1,ymm1,XMMWORD PTR [rdx],0x1 0.24 vpshufb ymm0,ymm0,ymm1 0.24 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x4e3] # 7a0 0.16 vbroadcastsd ymm2,QWORD PTR [rip+0x4ea] # 7b0 vpshufb ymm1,ymm2,ymm1 vpand ymm0,ymm1,ymm0 0.24 vptest ymm0,ymm0 0.16 ↓ je 559 0.24 vxorps ymm1,ymm1,ymm1 vpcmpeqb ymm0,ymm1,ymm0 vpmovmskb r8d,ymm0 not r8d tzcnt r8d,r8d 0.24 cmp r8d,0x10 ↓ jge 54d 278: sub rdi,rsi lea edx,[rdi+r8*1] ↑ jmp 15f 284: vmovups xmm0,XMMWORD PTR [rdx] lea edx,[r15-0x8] add rdx,rsi cmp rsi,rdx mov rdi,rsi cmova rdi,rdx vmovq xmm1,QWORD PTR [rdi] vpinsrq xmm1,xmm1,QWORD PTR [rdx],0x1 vpsrld xmm2,xmm1,0x4 vpandd xmm2,xmm2,DWORD BCST [rip+0x46e] # 7a0 vpshufb xmm0,xmm0,xmm1 vmovsd xmm1,QWORD PTR [rip+0x479] vpshufb xmm1,xmm1,xmm2 vpand xmm0,xmm1,xmm0 vptest xmm0,xmm0 ↓ je 559 vxorps xmm1,xmm1,xmm1 vpcmpeqb xmm0,xmm1,xmm0 vpmovmskb r8d,xmm0 not r8d tzcnt r8d,r8d cmp r8d,0x8 ↓ jge 563 2f1: sub rdi,rsi lea edx,[rdi+r8*1] ↑ jmp 15f 2fd: cmp sil,0x7d ↓ jne 317 303: mov rdi,rbx 0.32 movabs rdx,0x7de22565cca8 → call QWORD PTR [rdx] ↑ jmp 1f0 317: cmp sil,0x5d 0.16 ↓ jne 6cc 321: mov rdi,rbx movabs rdx,0x7de22565ccd8 → call QWORD PTR [rdx] ↑ jmp 1f0 335: cmp BYTE PTR [rbx+0x44],0x2 ↓ jne 37d cmp sil,0x2f ↓ jne 35d mov rdi,rbx movabs rdx,0x7de22565cf18 → call QWORD PTR [rdx] test eax,eax ↑ jne 1f0 ↓ jmp 63f 35d: cmp BYTE PTR [rbx+0x28],0x6 ↑ jne 3c mov rdi,rbx movabs rdx,0x7de22565cf60 → call QWORD PTR [rdx] mov edx,eax ↑ jmp 1f2 37d: movzx esi,sil mov rdi,rbx movabs rdx,0x7de22565cf78 → call QWORD PTR [rdx] mov edx,eax ↑ jmp 1f2 397: cmp BYTE PTR [rbx+0x46],0x0 ↓ je 3bd movzx esi,sil mov rdi,rbx movabs rdx,0x7de22565cd08 → call QWORD PTR [rdx] test eax,eax ↑ jne 1f0 ↓ jmp 63f 3bd: movzx edx,sil xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x6 movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 3db: mov rdi,rbx movabs rdx,0x7de22565cd20 → call QWORD PTR [rdx] test eax,eax ↓ je 63f dec DWORD dec QWORD xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xd xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 415: mov rdi,rbx movabs rdx,0x7de22565cc78 → call QWORD PTR [rdx] movsxd rdi,DWORD PTR [rbx+0x20] mov eax,DWORD PTR [rbx+0x38] cmp rdi,rax ↓ jl 463 mov rdi,rbx movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↓ je 63f xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xd xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 463: mov edi,DWORD PTR [rbx+0x20] lea rax,[rbx+0x30] cmp edi,DWORD PTR [rax+0x8] ↓ jae 71a mov rax,QWORD PTR [rax] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp 8a 47f: cmp edx,0x2f ↑ jne 9c mov BYTE PTR [rbx+0x2c],0x1 mov rdi,rbx movabs rdx,0x7de22565cf18 → call QWORD PTR [rdx] test eax,eax ↑ jne 1f0 ↓ jmp 63f 4a8: cmp edx,0x7d ↓ jne 4d3 cmp BYTE PTR [rbx+0x45],0x0 ↑ jne 303 xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x22 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 4d3: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xc movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 4ed: mov r8d,r15d add r8,rsi mov QWORD PTR [rbp-0x40],r8 cmp rsi,r8 ↓ je 559 4fc: movzx r9d,BYTE PTR [rdi] lea r10,[rdx+0x20] mov r11d,r9d sar r11d,0x5 mov r8d,0x1 shlx r8d,r8d,r9d cmp BYTE PTR [r10],r10b mov r9d,r11d test DWORD PTR [r10+r9*4],r8d ↓ jne 530 inc rdi mov r8,QWORD PTR [rbp-0x40] cmp rdi,r8 ↑ jne 4fc ↓ jmp 559 530: mov rdx,rdi sub rdx,rsi ↑ jmp 15f 53b: add rdi,0x20 cmp rdi,rdx ↑ jb 111 ↑ jmp 211 54d: mov rdi,rdx add r8d,0xfffffff0 ↑ jmp 278 559: mov edx,0xffffffff ↑ jmp 15f 563: mov rdi,rdx add r8d,0xfffffff8 ↑ jmp 2f1 56f: movabs rax,0x7de224d4dd28 → call QWORD PTR [rax] int3 57c: mov DWORD PTR [rbp-0x34],edx mov edx,r15d mov rdi,rbx mov ecx,DWORD PTR [rbp-0x34] movabs r8,0x7de22565ce28 → call QWORD PTR [r8] test eax,eax ↑ jne 1ad ↓ jmp 63f 5a2: mov rdi,rbx movabs rdx,0x7de22565cd20 → call QWORD PTR [rdx] test eax,eax ↓ je 63f 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,0x7de22565cc48 → call QWORD PTR [rax] int3 5df: mov rdi,rbx movabs rdx,0x7de22565cd20 → call QWORD PTR [rdx] test eax,eax ↓ je 63f ↓ jmp 623 5f4: mov rdi,rbx movabs rdx,0x7de22565cc78 → call QWORD PTR [rdx] movsxd rcx,DWORD PTR [rbx+0x20] mov r8d,DWORD PTR [rbx+0x38] cmp rcx,r8 ↓ jl 64b mov rdi,rbx movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↓ je 63f 623: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x11 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 63f: mov eax,0x1 mov edx,eax ↑ jmp 1f2 64b: mov ecx,DWORD PTR [rbx+0x20] lea r8,[rbx+0x30] cmp ecx,DWORD PTR [r8+0x8] ↓ jae 71a mov r8,QWORD PTR [r8] movzx edx,BYTE PTR [r8+rcx*1] ↑ jmp 1dc 669: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xb movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 683: cmp edx,0x5d ↓ jne 6ae cmp BYTE PTR [rbx+0x45],0x0 ↑ jne 321 xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x21 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 6ae: mov rdi,rbx mov esi,edx movabs rdx,0x7de22565ccf0 → call QWORD PTR [rdx] test eax,eax ↑ jne 1f0 ↑ jmp 63f 6cc: movzx edx,sil xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x12 movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 6ea: cmp edx,0x1 ↓ jne 706 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 706: xor eax,eax vzeroupper add rsp,0x18 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ← ret 71a: → call instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0xffffffffff27c548 int3 Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-41731-32932.so 0.10 push rbp push r15 push r14 push r13 push r12 push rbx sub rsp,0x1f8 lea rbp,[rsp+0x220] 0.10 xor eax,eax mov QWORD PTR [rbp-0x1a8],rax vxorps xmm8,xmm8,xmm8 vmovdqu32 ZMMWORD PTR [rbp-0x1a0],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0x160],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0x120],zmm8 0.19 vmovdqu32 ZMMWORD PTR [rbp-0xe0],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0xa0],zmm8 movabs rax,0x2c3684a52c92645b mov QWORD PTR [rbp-0x30],rax mov QWORD PTR [rbp-0x40],rsi 0.19 mov QWORD PTR [rbp-0x38],rdx mov ebx,ecx vmovdqu xmm0,XMMWORD PTR [rbp-0x40] 3.87 vmovdqu XMMWORD PTR [rbp-0x1a8],xmm0 0.10 mov r15,rdi 0.29 mov r14d,DWORD PTR [rbp-0x1a0] 0.77 cmp r14d,0x2aaaaaaa ↓ jg 1cb3 xor edi,edi mov QWORD PTR [rbp-0x1b0],rdi cmp r14d,0x55 ↓ jle 1c99 cmp r14d,0x15555555 ↓ jg 1cc3 movabs rdi,0x7dda73c03338 mov r13,QWORD PTR [rdi] 0.10 mov r12,r13 lea r14d,[r14+r14*2] movabs rdi,0x7dda73c00dc0 mov rax,QWORD PTR [rdi] mov QWORD PTR [rbp-0x1b8],rax lea edi,[r14-0x1] 0.10 or edi,0xf xor ecx,ecx lzcnt ecx,edi 0.10 xor ecx,0x1f add ecx,0xfffffffd mov DWORD PTR [rbp-0x44],ecx movabs rdi,0x7de2a3031808 movabs rdx,0x7de2a3a82820 → call rdx cmp DWORD PTR [rax],0x18 ↓ jle 1cf7 mov rdi,QWORD PTR [rax+0x8] mov rax,QWORD PTR [rdi+0xc0] 0.10 test rax,rax ↓ je 1cf7 126: mov rdi,QWORD PTR [rax+0x10] test rdi,rdi ↓ je 1d6e mov eax,DWORD PTR [rdi+0x8] mov ecx,DWORD PTR [rbp-0x44] 0.29 cmp eax,ecx ↓ jbe 1d71 mov eax,ecx shl rax,0x4 mov rdx,QWORD PTR [rdi+rax*1+0x10] 0.68 test rdx,rdx ↓ je 1d69 xor esi,esi mov QWORD PTR [rdi+rax*1+0x10],rsi mov r14,QWORD PTR [rbp-0x1b8] 0.10 cmp BYTE PTR [r14+0x9d],0x0 0.10 ↓ jne 1d0d 171: mov QWORD PTR [rbp-0x1b0],rdx 178: test rdx,rdx 0.29 ↓ je 205e lea r14,[rdx+0x10] mov r13d,DWORD PTR [rdx+0x8] 0.48 189: mov QWORD PTR [rbp-0x1d8],r14 mov DWORD PTR [rbp-0x194],r13d mov rdi,QWORD PTR [rbp-0x1a8] mov rsi,QWORD PTR [rbp-0x1a0] mov rdx,r14 mov ecx,r13d movabs rax,0x7de22565c6a8 → call QWORD PTR [rax] cmp eax,r13d 0.10 ↓ ja 1b4a mov QWORD PTR [rbp-0x1d8],r14 mov DWORD PTR [rbp-0x194],eax mov QWORD PTR [rbp-0x70],r14 0.10 mov DWORD PTR [rbp-0x68],eax mov r14d,DWORD PTR [rbp-0x68] test r14d,r14d ↓ je e9e test bl,bl ↓ jne ec4 mov rsi,QWORD PTR [rbp-0x70] mov QWORD PTR [rbp-0x1e0],rsi mov edx,DWORD PTR [rbp-0x68] 0.10 xor ecx,ecx mov QWORD PTR [rbp-0x160],rcx vxorps xmm0,xmm0,xmm0 vmovdqu XMMWORD PTR [rbp-0x158],xmm0 vmovdqu32 XMMWORD PTR [rbp-0x150],xmm0 lea rdi,[rsp] lea rsi,[rbp-0x178] mov ecx,0x4 0.10 rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] 2.71 mov rcx,QWORD PTR [rsi] 0.19 mov QWORD PTR [rsp+0x20],rcx add rsi,0x8 add rdi,0x8 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] 0.19 mov rsi,QWORD PTR [rbp-0x1e0] lea rdi,[rbp-0x130] mov ecx,0x1 movabs rax,0x7de22565cab0 0.29 → call QWORD PTR [rax] ↓ jmp 4d4 25e: mov edi,DWORD PTR [rbp-0xd8] cmp edi,DWORD PTR [rbp-0xf0] ↓ jge 1a09 cmp DWORD PTR [rbp-0xd8],0x40 0.10 ↓ jge 156e mov rdi,QWORD PTR [rbp-0xe0] add rdi,rdi mov QWORD PTR [rbp-0xe0],rdi 28e: mov edi,DWORD PTR [rbp-0xd8] 0.10 inc edi mov DWORD PTR [rbp-0xd8],edi mov edi,DWORD PTR [rbp-0x110] 0.10 mov esi,edi inc rsi mov eax,DWORD PTR [rbp-0xf8] cmp rsi,rax ↓ ja 1b4a add rdi,QWORD PTR [rbp-0x100] mov QWORD PTR [rbp-0x98],rdi 0.10 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],0x3 0.39 mov BYTE PTR [rbp-0x10a],0x0 2fb: mov ebx,0x1 ↓ jmp 4c4 305: mov edi,DWORD PTR [rbp-0xd8] cmp edi,DWORD PTR [rbp-0xf0] ↓ jge 19e9 cmp DWORD PTR [rbp-0xd8],0x40 ↓ jge 1551 mov rdi,QWORD PTR [rbp-0xe0] add rdi,rdi or rdi,0x1 mov QWORD PTR [rbp-0xe0],rdi 339: mov esi,DWORD PTR [rbp-0xd8] inc esi mov DWORD PTR [rbp-0xd8],esi mov esi,DWORD PTR [rbp-0x110] mov edx,esi inc rdx mov edi,DWORD PTR [rbp-0xf8] cmp rdx,rdi ↓ ja 1b4a add rsi,QWORD PTR [rbp-0x100] mov QWORD PTR [rbp-0x98],rsi mov DWORD PTR [rbp-0x90],0x1 mov esi,DWORD PTR [rbp-0x110] inc esi mov DWORD PTR [rbp-0x110],esi mov rsi,QWORD PTR [rbp-0x128] inc rsi mov QWORD PTR [rbp-0x128],rsi mov BYTE PTR [rbp-0x108],0x1 mov BYTE PTR [rbp-0x10a],0x1 ↑ jmp 2fb 3ab: mov esi,DWORD PTR [rbp-0x110] inc esi 0.39 mov r13d,DWORD PTR [rbp-0xf8] 0.10 cmp esi,r13d 0.10 ↓ ja 1b4a mov edx,esi 0.39 add rdx,QWORD PTR [rbp-0x100] 0.39 sub r13d,esi movabs rsi,0x7dda73c03358 0.29 mov rsi,QWORD PTR [rsi] add rsi,0x8 mov rdi,rdx 0.48 cmp r13d,0x8 ↓ jl 14b2 cmp r13d,0x10 0.19 ↓ jle 8d2 vmovups ymm0,YMMWORD PTR [rsi] 0.10 cmp r13d,0x20 0.29 ↓ jle 861 lea esi,[r13-0x20] add rsi,rdx 0.19 40c: vmovups ymm1,YMMWORD PTR [rdi] 0.39 vpshufb ymm2,ymm0,ymm1 1.84 vpsrld ymm1,ymm1,0x4 0.10 vpandd ymm1,ymm1,DWORD BCST [rip+0x1ca8] # 214c ,bool)[OptimizedTier1]+0x20cc> 1.55 vbroadcastsd ymm3,QWORD PTR [rip+0x1ca3] # 2150 ,bool)[OptimizedTier1]+0x20d0> vpshufb ymm1,ymm3,ymm1 2.22 vpand ymm1,ymm1,ymm2 1.84 vptest ymm1,ymm1 4.64 ↓ je 14cd 3.58 vxorps ymm0,ymm0,ymm0 vpcmpeqb ymm0,ymm0,ymm1 vpmovmskb esi,ymm0 not esi xor ecx,ecx tzcnt ecx,esi 0.39 sub rdi,rdx add ecx,edi 1.64 45a: test ecx,ecx 0.58 ↓ jl 152f cmp ecx,r13d ↓ jae 1c12 mov esi,ecx cmp BYTE PTR [rdx+rsi*1],0x22 5.22 ↓ jne 150f lea esi,[rcx+0x2] movsxd rsi,esi add rsi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rsi cmp ecx,r13d ↓ ja 1b4a mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],ecx mov BYTE PTR [rbp-0x102],0x0 1.16 mov BYTE PTR [rbp-0x108],0x7 mov edx,DWORD PTR [rbp-0x110] lea esi,[rdx+rcx*1+0x2] mov DWORD PTR [rbp-0x110],esi mov ebx,0x1 1.35 4c4: test ebx,ebx 0.10 ↓ je e7f 4cc: test bl,bl 1.84 ↓ je 588 4d4: cmp BYTE PTR [rbp-0x105],0x0 0.29 ↓ jne 1853 0.19 xor ebx,ebx 0.68 vxorps xmm0,xmm0,xmm0 0.77 vmovdqu XMMWORD PTR [rbp-0x98],xmm0 2.61 mov BYTE PTR [rbp-0x102],0x0 1.64 mov edi,DWORD PTR [rbp-0x110] 0.19 movsxd rax,edi 1.16 mov ecx,DWORD PTR [rbp-0xf8] 0.19 mov edx,ecx 1.55 cmp rax,rdx ↓ jge e1f cmp edi,ecx 0.39 ↓ jae 1c12 mov rax,QWORD PTR [rbp-0x100] 0.58 mov edi,edi 1.35 movzx edx,BYTE PTR [rax+rdi*1] 8.70 cmp edx,0x20 1.64 ↓ jle ef5 52e: movsxd rdi,DWORD PTR [rbp-0x110] 0.87 mov QWORD PTR [rbp-0x118],rdi 1.26 rex movzx edi,BYTE PTR [rbp-0x108] 0.29 test edi,edi 0.29 ↓ je e03 cmp edx,0x2f 2.32 ↓ je 56c cmp edi,0x1 0.29 ↓ je b54 cmp edi,0x3 0.29 ↓ je 97c cmp edi,0x5 1.55 ↓ je 62a 56c: lea rdi,[rbp-0x130] 0.48 mov esi,edx 1.35 movabs rax,0x7de22565cc90 0.10 → call QWORD PTR [rax] mov ebx,eax 2.61 ↑ jmp 4c4 588: rex movzx edi,BYTE PTR [rbp-0x108] 0.19 mov BYTE PTR [r15+0x3a],dil 594: lea esi,[r14+0x1] mov edi,DWORD PTR [r15+0x4c] sub edi,DWORD PTR [r15+0x34] 0.10 cmp edi,esi ↓ jl 1c18 5a8: lea rdi,[r15+0x40] movabs rax,0x7de225657270 → call QWORD PTR [rax] 0.19 mov QWORD PTR [rbp-0x140],rax mov QWORD PTR [rbp-0x138],rdx cmp DWORD PTR [r15+0x28],0x0 0.10 ↓ jge 5ef mov esi,DWORD PTR [r15+0x34] lea edi,[rsi+0x1] 0.10 mov DWORD PTR [r15+0x34],edi cmp esi,DWORD PTR [rbp-0x138] 0.39 ↓ jae 1c12 mov rdi,QWORD PTR [rbp-0x140] mov BYTE PTR [rdi+rsi*1],0x2c 5ef: mov esi,DWORD PTR [r15+0x34] 0.10 lea rdi,[rbp-0x140] movabs rax,0x7de22565c5b8 → call QWORD PTR [rax] 0.10 mov rsi,rax 0.19 lea rdi,[rbp-0x70] movabs rax,0x7de22565ca68 → call QWORD PTR [rax] add DWORD PTR [r15+0x34],r14d or DWORD PTR [r15+0x28],0x80000000 0.10 ↓ jmp 1c2c 62a: mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 0.29 ↑ je 3ab cmp edx,0x7b 1.84 ↑ je 305 cmp edx,0x5b 0.48 ↑ je 25e lea edi,[rdx-0x30] 0.10 cmp edi,0x9 2.22 ↓ jbe 6c3 cmp edx,0x2d ↓ je 6c3 cmp edx,0x66 0.10 ↓ jne 68c movabs rsi,0x7de292ba55ae mov edx,0x5 lea rdi,[rbp-0x130] mov ecx,0xa movabs rax,0x7de22565ced0 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 4c4 68c: cmp edx,0x74 0.87 ↓ jne 137e movabs rsi,0x7de292ba5612 mov edx,0x4 lea rdi,[rbp-0x130] mov ecx,0x9 movabs rax,0x7de22565ced0 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 4c4 6c3: mov edi,DWORD PTR [rbp-0x110] mov r13d,DWORD PTR [rbp-0xf8] cmp edi,r13d ↓ ja 1b4a mov eax,edi add rax,QWORD PTR [rbp-0x100] sub r13d,edi mov QWORD PTR [rbp-0x190],rax 0.10 mov DWORD PTR [rbp-0x188],r13d 0.19 xor edi,edi mov DWORD PTR [rbp-0x180],edi mov edi,DWORD PTR [rbp-0x180] cmp edi,DWORD PTR [rbp-0x188] ↓ jae 1c12 mov rax,QWORD PTR [rbp-0x190] cmp BYTE PTR [rax+rdi*1],0x2d ↓ je 1588 71e: mov esi,DWORD PTR [rbp-0x188] 0.10 cmp DWORD PTR [rbp-0x180],esi ↓ jae 1c12 mov rsi,QWORD PTR [rbp-0x190] mov edi,DWORD PTR [rbp-0x180] cmp BYTE PTR [rsi+rdi*1],0x30 0.77 ↓ je 15f4 mov esi,DWORD PTR [rbp-0x180] inc esi mov DWORD PTR [rbp-0x180],esi xor esi,esi mov edi,DWORD PTR [rbp-0x180] cmp edi,DWORD PTR [rbp-0x188] ↓ jge 7a7 765: mov esi,DWORD PTR [rbp-0x180] cmp esi,DWORD PTR [rbp-0x188] 0.10 ↓ jae 1c12 mov rdi,QWORD PTR [rbp-0x190] rex movzx esi,BYTE PTR [rdi+rsi*1] lea edi,[rsi-0x30] 0.19 cmp edi,0x9 ↓ ja 7a7 mov edi,DWORD PTR [rbp-0x180] inc edi mov DWORD PTR [rbp-0x180],edi 0.48 mov edi,DWORD PTR [rbp-0x180] cmp edi,DWORD PTR [rbp-0x188] ↑ jl 765 7a7: mov edi,DWORD PTR [rbp-0x180] cmp edi,DWORD PTR [rbp-0x188] ↓ jge 1647 movabs rdi,0x7de292ba5561 mov edx,0x8 movabs rax,0x7de224ec7a68 → call QWORD PTR [rax] test eax,eax ↓ je 166c 7dc: xor ebx,ebx 7de: cmp ebx,0x2 ↓ je 15bf test ebx,ebx ↓ jne 1676 7ef: mov edi,DWORD PTR [rbp-0x180] cmp edi,DWORD PTR [rbp-0x188] ↓ ja 1b4a mov rsi,QWORD PTR [rbp-0x190] 0.29 mov QWORD PTR [rbp-0x98],rsi 0.10 mov DWORD PTR [rbp-0x90],edi mov edi,DWORD PTR [rbp-0x180] mov BYTE PTR [rbp-0x108],0x8 mov esi,edi add esi,DWORD PTR [rbp-0x110] mov DWORD PTR [rbp-0x110],esi movsxd rdi,edi add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi movsxd rdi,DWORD PTR [rbp-0x110] mov esi,DWORD PTR [rbp-0xf8] 0.10 cmp rdi,rsi ↓ jge 179f 857: mov ebx,0x1 85c: ↑ jmp 4c4 861: lea ecx,[r13-0x10] add rcx,rdx cmp rdi,rcx ↓ ja 14df 871: vmovdqu xmm1,XMMWORD PTR [rdi] vinserti128 ymm1,ymm1,XMMWORD PTR [rcx],0x1 vpshufb ymm0,ymm0,ymm1 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x183d] # 214c ,bool)[OptimizedTier1]+0x20cc> vbroadcastsd ymm2,QWORD PTR [rip+0x1840] # 2158 ,bool)[OptimizedTier1]+0x20d8> vpshufb ymm1,ymm2,ymm1 vpand ymm0,ymm1,ymm0 vptest ymm0,ymm0 ↓ je 14f2 vxorps ymm1,ymm1,ymm1 vpcmpeqb ymm0,ymm1,ymm0 vpmovmskb esi,ymm0 not esi tzcnt esi,esi cmp esi,0x10 ↓ jge 14e7 8c7: sub rdi,rdx lea ecx,[rdi+rsi*1] ↑ jmp 45a 8d2: vmovups xmm0,XMMWORD PTR [rsi] lea ecx,[r13-0x8] add rcx,rdx 0.19 cmp rdx,rcx ↓ ja 14fc mov rsi,rdx 8e9: vmovq xmm1,QWORD PTR [rsi] 0.10 vpinsrq xmm1,xmm1,QWORD PTR [rcx],0x1 0.68 vpsrld xmm2,xmm1,0x4 0.39 vpandd xmm2,xmm2,DWORD BCST [rip+0x17ca] # 214c ,bool)[OptimizedTier1]+0x20cc> 0.19 vpshufb xmm0,xmm0,xmm1 vmovsd xmm1,QWORD PTR [rip+0x17d1] vpshufb xmm1,xmm1,xmm2 0.39 vpand xmm0,xmm1,xmm0 0.29 vptest xmm0,xmm0 0.68 ↓ je 14f2 0.48 vxorps xmm1,xmm1,xmm1 vpcmpeqb xmm0,xmm1,xmm0 vpmovmskb edi,xmm0 not edi tzcnt edi,edi 0.39 cmp edi,0x8 ↓ jge 1504 93e: sub rsi,rdx lea ecx,[rsi+rdi*1] ↑ jmp 45a 949: movzx eax,BYTE PTR [rdi] lea r8,[rsi+0x20] mov r9d,eax sar r9d,0x5 mov r10d,0x1 shlx eax,r10d,eax cmp BYTE PTR [r8],r8b test DWORD PTR [r8+r9*4],eax ↓ jne 14c2 inc rdi cmp rdi,rcx ↑ jne 949 ↓ jmp 14f2 97c: cmp edx,0x5d ↓ je 113c 985: mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 ↓ je b3a cmp edx,0x7b ↓ je b25 cmp edx,0x5b ↓ je b0b lea edi,[rdx-0x30] cmp edi,0x9 ↓ jbe af4 cmp edx,0x2d ↓ je af4 cmp edx,0x66 ↓ jne a5f mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1b4a mov edx,esi add rdx,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,esi cmp ecx,0x5 ↓ jl 1288 mov rsi,rdx movabs r8,0x7de292ba55ae 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 1288 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 a5a: ↓ jmp b4f a5f: cmp edx,0x74 ↓ jne 1154 mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1b4a mov edx,esi add rdx,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,esi cmp ecx,0x4 ↓ jl 12b7 movabs rsi,0x7de292ba5612 mov r8d,DWORD PTR [rdx] cmp r8d,DWORD PTR [rsi] sete sil movzx esi,sil test esi,esi ↓ je 12b7 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 af2: ↓ jmp b4f af4: lea rdi,[rbp-0x130] movabs rax,0x7de22565cea0 → call QWORD PTR [rax] mov ebx,eax ↓ jmp b4f b0b: lea rdi,[rbp-0x130] movabs rax,0x7de22565ce88 → call QWORD PTR [rax] b1e: mov ebx,0x1 ↓ jmp b4f b25: lea rdi,[rbp-0x130] movabs rax,0x7de22565ce70 → call QWORD PTR [rax] ↑ jmp b1e b3a: lea rdi,[rbp-0x130] movabs rax,0x7de22565cde0 → call QWORD PTR [rax] mov ebx,eax b4f: ↑ jmp 4c4 b54: cmp edx,0x7d 0.10 ↓ je fb1 cmp edx,0x22 0.10 ↓ jne 18bf mov r13d,DWORD PTR [rbp-0x110] 0.10 mov r12,QWORD PTR [rbp-0x128] mov rbx,QWORD PTR [rbp-0x130] 0.10 mov BYTE PTR [rbp-0x104],0x0 mov esi,DWORD PTR [rbp-0x110] inc esi cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1b4a mov edx,esi 0.10 add rdx,QWORD PTR [rbp-0x100] 0.10 mov eax,DWORD PTR [rbp-0xf8] sub eax,esi 0.10 movabs rsi,0x7dda73c03358 mov rsi,QWORD PTR [rsi] mov rdi,rdx mov ecx,eax add rsi,0x8 0.10 mov r8,rdi cmp ecx,0x8 ↓ jl fc9 0.10 cmp ecx,0x10 0.10 ↓ jle d8d vmovups ymm0,YMMWORD PTR [rsi] cmp ecx,0x20 ↓ jle d1b add ecx,0xffffffe0 mov esi,ecx add rdi,rsi 0.19 be7: vmovups ymm1,YMMWORD PTR [r8] 0.10 vpshufb ymm2,ymm0,ymm1 0.29 vpsrld ymm1,ymm1,0x4 0.19 vpandd ymm1,ymm1,DWORD BCST [rip+0x14cc] # 214c ,bool)[OptimizedTier1]+0x20cc> vbroadcastsd ymm3,QWORD PTR [rip+0x14df] # 2168 ,bool)[OptimizedTier1]+0x20e8> vpshufb ymm1,ymm3,ymm1 0.29 vpand ymm1,ymm1,ymm2 0.10 vptest ymm1,ymm1 1.16 ↓ je 100b 1.06 vxorps ymm0,ymm0,ymm0 vpcmpeqb ymm0,ymm0,ymm1 vpmovmskb esi,ymm0 not esi xor ecx,ecx tzcnt ecx,esi sub r8,rdx add ecx,r8d 0.39 c37: test ecx,ecx ↓ jl 1072 cmp ecx,eax ↓ jae 1c12 mov esi,ecx cmp BYTE PTR [rdx+rsi*1],0x22 1.26 ↓ jne 104d lea esi,[rcx+0x2] movsxd rsi,esi add rsi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rsi cmp ecx,eax ↓ ja 1b4a mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],ecx mov BYTE PTR [rbp-0x102],0x0 0.19 mov BYTE PTR [rbp-0x108],0x7 0.29 mov edx,DWORD PTR [rbp-0x110] lea esi,[rdx+rcx*1+0x2] mov DWORD PTR [rbp-0x110],esi c9a: movsxd rdi,DWORD PTR [rbp-0x110] 0.68 mov eax,DWORD PTR [rbp-0xf8] 0.29 cmp rdi,rax ↓ jge 1094 mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c12 mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jle 10b0 cd6: cmp edx,0x3a ↓ jne 1959 mov edi,DWORD PTR [rbp-0x110] inc edi mov DWORD PTR [rbp-0x110],edi 0.10 mov rdi,QWORD PTR [rbp-0x128] inc rdi mov QWORD PTR [rbp-0x128],rdi mov BYTE PTR [rbp-0x108],0x5 mov eax,0x1 d0a: mov ecx,eax test eax,eax ↓ je 1119 mov ebx,ecx 0.48 ↑ jmp 4c4 d1b: lea ecx,[rax-0x10] add rcx,rdx cmp r8,rcx ↓ ja 101d d2a: vmovdqu xmm1,XMMWORD PTR [r8] vinserti128 ymm1,ymm1,XMMWORD PTR [rcx],0x1 vpshufb ymm0,ymm0,ymm1 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x1383] # 214c ,bool)[OptimizedTier1]+0x20cc> vbroadcastsd ymm2,QWORD PTR [rip+0x139e] # 2170 ,bool)[OptimizedTier1]+0x20f0> vpshufb ymm1,ymm2,ymm1 vpand ymm0,ymm1,ymm0 vptest ymm0,ymm0 ↓ je 1030 vxorps ymm1,ymm1,ymm1 vpcmpeqb ymm0,ymm1,ymm0 vpmovmskb esi,ymm0 not esi tzcnt esi,esi cmp esi,0x10 ↓ jge 1025 d81: sub r8,rdx lea ecx,[r8+rsi*1] ↑ jmp c37 d8d: vmovups xmm0,XMMWORD PTR [rsi] lea ecx,[rax-0x8] add rcx,rdx cmp rdx,rcx ↓ ja 103a mov rsi,rdx da3: vmovq xmm1,QWORD PTR [rsi] vpinsrq xmm1,xmm1,QWORD PTR [rcx],0x1 vpsrld xmm2,xmm1,0x4 vpandd xmm2,xmm2,DWORD BCST [rip+0x1310] # 214c ,bool)[OptimizedTier1]+0x20cc> vpshufb xmm0,xmm0,xmm1 vmovsd xmm1,QWORD PTR [rip+0x132f] vpshufb xmm1,xmm1,xmm2 vpand xmm0,xmm1,xmm0 vptest xmm0,xmm0 ↓ je 1030 vxorps xmm1,xmm1,xmm1 vpcmpeqb xmm0,xmm1,xmm0 vpmovmskb edi,xmm0 not edi tzcnt edi,edi cmp edi,0x8 ↓ jge 1042 df8: sub rsi,rdx lea ecx,[rsi+rdi*1] ↑ jmp c37 e03: lea rdi,[rbp-0x130] 0.10 mov esi,edx movabs rax,0x7de22565cd08 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 4c4 e1f: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 4c4 cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 4c4 0.10 cmp BYTE PTR [rbp-0x105],0x0 0.10 ↓ jne ece e46: cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 187f cmp BYTE PTR [rbp-0xec],0x2 ↓ je ee3 0.10 e60: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 4c4 cmp edi,0x2 ↑ je 4c4 ↓ jmp 1bb4 e7f: cmp BYTE PTR [rbp-0x10c],0x0 0.10 ↑ je 4cc cmp BYTE PTR [rbp-0x108],0x0 ↑ jne 4cc ↓ jmp 186d e9e: movabs rdi,0x7de222620be0 movabs rax,0x7de22582d578 → call QWORD PTR [rax] mov rdi,rax movabs rax,0x7de22565ca08 → call QWORD PTR [rax] int3 ec4: mov BYTE PTR [r15+0x3a],0x7 ↑ jmp 594 ece: rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↑ je 4c4 ↑ jmp e46 ee3: cmp BYTE PTR [rbp-0x108],0x6 ↑ jne e60 ↑ jmp 4c4 ef5: lea rdi,[rbp-0x130] movabs rax,0x7de22565cc78 → call QWORD PTR [rax] movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jl f8f cmp BYTE PTR [rbp-0x109],0x0 ↑ je 4c4 cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 4c4 cmp BYTE PTR [rbp-0x105],0x0 ↓ je f4d rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↑ je 4c4 f4d: cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 189f cmp BYTE PTR [rbp-0xec],0x2 ↓ jne f70 cmp BYTE PTR [rbp-0x108],0x6 ↑ je 4c4 f70: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 4c4 cmp edi,0x2 ↑ je 4c4 ↓ jmp 1bb4 f8f: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c12 mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp 52e fb1: lea rdi,[rbp-0x130] movabs rax,0x7de22565cca8 → call QWORD PTR [rax] ↓ jmp 1849 fc9: mov ecx,eax add rcx,rdi cmp rdi,rcx ↓ je 1030 fd3: movzx edi,BYTE PTR [r8] lea r9,[rsi+0x20] mov r10d,edi sar r10d,0x5 mov r11d,0x1 shlx edi,r11d,edi cmp BYTE PTR [r9],r9b test DWORD PTR [r9+r10*4],edi ↓ jne 1000 inc r8 cmp r8,rcx ↑ jne fd3 ↓ jmp 1030 1000: mov rcx,r8 sub rcx,rdx ↑ jmp c37 100b: add r8,0x20 cmp r8,rdi ↑ jb be7 ↑ jmp d1b 101d: mov r8,rcx ↑ jmp d2a 1025: mov r8,rcx add esi,0xfffffff0 ↑ jmp d81 1030: mov ecx,0xffffffff ↑ jmp c37 103a: mov rsi,rcx ↑ jmp da3 1042: mov rsi,rcx add edi,0xfffffff8 ↑ jmp df8 104d: mov rsi,rdx mov edx,eax lea rdi,[rbp-0x130] movabs rax,0x7de22565ce28 → call QWORD PTR [rax] test eax,eax ↑ jne c9a ↓ jmp 10f0 1072: mov DWORD PTR [rbp-0x198],eax lea rdi,[rbp-0x130] movabs rcx,0x7de22565cd20 → call QWORD PTR [rcx] test eax,eax ↓ je 10f0 ↓ jmp 18dd 1094: lea rdi,[rbp-0x130] movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↓ je 10f0 ↓ jmp 1919 10b0: lea rdi,[rbp-0x130] movabs rax,0x7de22565cc78 → call QWORD PTR [rax] movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jl 10f7 lea rdi,[rbp-0x130] movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↓ jne 1939 10f0: xor eax,eax ↑ jmp d0a 10f7: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c12 mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp cd6 1119: mov DWORD PTR [rbp-0x110],r13d mov BYTE PTR [rbp-0x108],0x1 mov QWORD PTR [rbp-0x128],r12 mov QWORD PTR [rbp-0x130],rbx mov ebx,ecx ↑ jmp 4c4 113c: lea rdi,[rbp-0x130] movabs rax,0x7de22565ccd8 → call QWORD PTR [rax] ↓ jmp 1849 1154: cmp edx,0x6e ↓ je 12e6 rex movzx edi,BYTE PTR [rbp-0xec] test edi,edi ↓ je 1997 cmp edi,0x2 ↓ je 1314 cmp edx,0x2f ↓ jne 1997 lea rdi,[rbp-0x130] movabs rax,0x7de22565cf30 → call QWORD PTR [rax] test eax,eax ↓ je 123a movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jge 1337 mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c12 mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jg 1275 lea rdi,[rbp-0x130] movabs rax,0x7de22565cc78 → call QWORD PTR [rax] movsxd rsi,DWORD PTR [rbp-0x110] mov edx,DWORD PTR [rbp-0xf8] cmp rsi,rdx ↓ jl 1258 cmp BYTE PTR [rbp-0x109],0x0 ↓ je 123a lea rdi,[rbp-0x130] movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↓ je 123a cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 1977 cmp BYTE PTR [rbp-0xec],0x2 ↓ jne 1241 cmp BYTE PTR [rbp-0x108],0x6 ↓ jne 1241 123a: xor ebx,ebx ↑ jmp b4f 1241: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 123a cmp edi,0x2 ↑ je 123a ↓ jmp 1bb4 1258: mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ jae 1c12 mov rdx,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rdx+rsi*1] 1275: movsxd rsi,DWORD PTR [rbp-0x110] mov QWORD PTR [rbp-0x118],rsi ↑ jmp 985 1288: mov rsi,rdx mov edx,ecx movabs rcx,0x7de292ba55ae mov r8d,0x5 lea rdi,[rbp-0x130] movabs rax,0x7de22565d0f8 → call QWORD PTR [rax] mov ebx,eax ↑ jmp a5a 12b7: mov rsi,rdx mov edx,ecx movabs rcx,0x7de292ba5612 mov r8d,0x4 lea rdi,[rbp-0x130] movabs rax,0x7de22565d0f8 → call QWORD PTR [rax] mov ebx,eax ↑ jmp af2 12e6: movabs rsi,0x7de292ba55a9 mov edx,0x4 lea rdi,[rbp-0x130] mov ecx,0xb movabs rax,0x7de22565ced0 → call QWORD PTR [rax] mov ebx,eax ↑ jmp b4f 1314: cmp edx,0x2f ↓ jne 1997 lea rdi,[rbp-0x130] movabs rax,0x7de22565cf18 → call QWORD PTR [rax] mov ebx,eax ↑ jmp b4f 1337: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 123a lea rdi,[rbp-0x130] movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↑ je 123a cmp BYTE PTR [rbp-0x108],0x4 ↑ je 123a cmp BYTE PTR [rbp-0x108],0x2 ↑ je 123a ↓ jmp 1bb4 137e: cmp edx,0x6e ↓ je 17b1 rex movzx edi,BYTE PTR [rbp-0xec] test edi,edi ↓ je 1bd4 cmp edi,0x2 ↓ je 17df cmp edx,0x2f ↓ jne 1bd4 lea rdi,[rbp-0x130] movabs rax,0x7de22565cf30 → call QWORD PTR [rax] test eax,eax ↓ je 1464 movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jge 1802 mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c12 mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jg 149f lea rdi,[rbp-0x130] movabs rax,0x7de22565cc78 → call QWORD PTR [rax] movsxd rsi,DWORD PTR [rbp-0x110] mov edx,DWORD PTR [rbp-0xf8] cmp rsi,rdx ↓ jl 1482 cmp BYTE PTR [rbp-0x109],0x0 ↓ je 1464 lea rdi,[rbp-0x130] movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↓ je 1464 cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 1b94 cmp BYTE PTR [rbp-0xec],0x2 ↓ jne 146b cmp BYTE PTR [rbp-0x108],0x6 ↓ jne 146b 1464: xor ebx,ebx ↑ jmp 4c4 146b: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 1464 cmp edi,0x2 ↑ je 1464 ↓ jmp 1bb4 1482: mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ jae 1c12 mov rdx,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rdx+rsi*1] 149f: movsxd rsi,DWORD PTR [rbp-0x110] mov QWORD PTR [rbp-0x118],rsi ↑ jmp 62a 14b2: mov ecx,r13d add rcx,rdx cmp rdx,rcx ↓ je 14f2 ↑ jmp 949 14c2: mov rcx,rdi sub rcx,rdx ↑ jmp 45a 14cd: add rdi,0x20 cmp rdi,rsi ↑ jb 40c ↑ jmp 861 14df: mov rdi,rcx ↑ jmp 871 14e7: mov rdi,rcx add esi,0xfffffff0 ↑ jmp 8c7 14f2: mov ecx,0xffffffff ↑ jmp 45a 14fc: mov rsi,rcx ↑ jmp 8e9 1504: mov rsi,rcx add edi,0xfffffff8 ↑ jmp 93e 150f: mov rsi,rdx mov edx,r13d lea rdi,[rbp-0x130] movabs rax,0x7de22565ce28 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 4c4 152f: lea rdi,[rbp-0x130] movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↓ jne 19b5 xor ebx,ebx ↑ jmp 4c4 1551: lea rdi,[rbp-0xe8] mov esi,0x1 movabs rax,0x7de22565d128 → call QWORD PTR [rax] ↑ jmp 339 156e: lea rdi,[rbp-0xe8] xor esi,esi movabs rax,0x7de22565d128 → call QWORD PTR [rax] ↑ jmp 28e 1588: mov edi,DWORD PTR [rbp-0x180] inc edi mov DWORD PTR [rbp-0x180],edi mov edi,DWORD PTR [rbp-0x180] cmp edi,DWORD PTR [rbp-0x188] ↓ jl 15c6 lea rdi,[rbp-0x130] movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↓ jne 1a26 15bf: xor ebx,ebx ↑ jmp 85c 15c6: mov esi,DWORD PTR [rbp-0x180] cmp esi,DWORD PTR [rbp-0x188] ↓ jae 1c12 mov rdi,QWORD PTR [rbp-0x190] movzx edx,BYTE PTR [rdi+rsi*1] lea esi,[rdx-0x30] cmp esi,0x9 ↑ jbe 71e ↓ jmp 1a5b 15f4: lea rdi,[rbp-0x130] lea rsi,[rbp-0x190] lea rdx,[rbp-0x180] movabs rax,0x7de22565cfc0 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 15bf test eax,eax ↑ je 7ef mov edi,DWORD PTR [rbp-0x188] cmp DWORD PTR [rbp-0x180],edi ↓ jae 1c12 mov rdi,QWORD PTR [rbp-0x190] mov esi,DWORD PTR [rbp-0x180] movzx edx,BYTE PTR [rdi+rsi*1] ↓ jmp 16ac 1647: lea rdi,[rbp-0x130] movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↑ jne 7dc mov ebx,0x2 ↑ jmp 7de 166c: mov ebx,0x1 ↑ jmp 7de 1676: mov edi,DWORD PTR [rbp-0x188] cmp DWORD PTR [rbp-0x180],edi ↓ jae 1c12 mov rdi,QWORD PTR [rbp-0x190] mov esi,DWORD PTR [rbp-0x180] movzx edx,BYTE PTR [rdi+rsi*1] cmp edx,0x2e ↓ je 16ac cmp edx,0x45 ↓ je 16ac cmp edx,0x65 ↓ jne 1a8e 16ac: cmp edx,0x2e ↓ jne 1722 mov edi,DWORD PTR [rbp-0x180] inc edi mov DWORD PTR [rbp-0x180],edi lea rdi,[rbp-0x130] lea rsi,[rbp-0x190] lea rdx,[rbp-0x180] movabs rax,0x7de22565cff0 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 15bf test eax,eax ↑ je 7ef mov edi,DWORD PTR [rbp-0x188] cmp DWORD PTR [rbp-0x180],edi ↓ jae 1c12 mov rdi,QWORD PTR [rbp-0x190] mov esi,DWORD PTR [rbp-0x180] movzx edx,BYTE PTR [rdi+rsi*1] cmp edx,0x45 ↓ je 1722 cmp edx,0x65 ↓ jne 1ac1 1722: mov edi,DWORD PTR [rbp-0x180] inc edi mov DWORD PTR [rbp-0x180],edi lea rdi,[rbp-0x130] lea rsi,[rbp-0x190] lea rdx,[rbp-0x180] movabs rax,0x7de22565d008 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 15bf mov edi,DWORD PTR [rbp-0x180] inc edi mov DWORD PTR [rbp-0x180],edi lea rdi,[rbp-0x130] lea rsi,[rbp-0x190] lea rdx,[rbp-0x180] movabs rax,0x7de22565cfd8 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 15bf test eax,eax ↑ je 7ef ↓ jmp 1af4 179f: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 857 ↓ jmp 1b57 17b1: movabs rsi,0x7de292ba55a9 mov edx,0x4 lea rdi,[rbp-0x130] mov ecx,0xb movabs rax,0x7de22565ced0 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 4c4 17df: cmp edx,0x2f ↓ jne 1bd4 lea rdi,[rbp-0x130] movabs rax,0x7de22565cf18 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 4c4 1802: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 1464 lea rdi,[rbp-0x130] movabs rax,0x7de22565cd20 → call QWORD PTR [rax] test eax,eax ↑ je 1464 cmp BYTE PTR [rbp-0x108],0x4 ↑ je 1464 cmp BYTE PTR [rbp-0x108],0x2 ↑ je 1464 ↓ jmp 1bb4 1849: mov ebx,0x1 ↑ jmp 4c4 1853: lea rdi,[rbp-0x130] movabs rax,0x7de22565cc18 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 4c4 186d: cmp BYTE PTR [rbp-0xea],0x0 ↑ jne 4cc ↓ jmp 1bf2 187f: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 189f: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 18bf: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xc movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 18dd: mov r15d,DWORD PTR [rbp-0x198] lea eax,[r15+0x1] movsxd rdi,eax 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,0x7de22565cc48 → call QWORD PTR [rax] int3 1919: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x11 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1939: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x11 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1959: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xb movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1977: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1997: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xf movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 19b5: 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,0x7de22565cc48 → call QWORD PTR [rax] int3 19e9: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x18 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1a09: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d xor esi,esi xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1a26: movsxd rdi,DWORD PTR [rbp-0x180] 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,0x7de22565cc48 → call QWORD PTR [rax] int3 1a5b: movsxd rdi,DWORD PTR [rbp-0x180] 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,0x7de22565cc48 → call QWORD PTR [rax] int3 1a8e: movsxd rdi,DWORD PTR [rbp-0x180] 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,0x7de22565cc48 → call QWORD PTR [rax] int3 1ac1: movsxd rdi,DWORD PTR [rbp-0x180] 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,0x7de22565cc48 → call QWORD PTR [rax] int3 1af4: movsxd rdi,DWORD PTR [rbp-0x180] add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi mov edi,DWORD PTR [rbp-0x188] cmp DWORD PTR [rbp-0x180],edi ↓ jae 1c12 mov rdi,QWORD PTR [rbp-0x190] mov ecx,DWORD PTR [rbp-0x180] movzx edx,BYTE PTR [rdi+rcx*1] lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x7 movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1b4a: movabs rax,0x7de224d4dd28 → call QWORD PTR [rax] int3 1b57: mov edi,DWORD PTR [rbp-0x110] dec edi cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1c12 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,0x7de22565cc48 → call QWORD PTR [rax] int3 1b94: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1bb4: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x16 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1bd4: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xf movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1bf2: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x20 xor edx,edx movabs rax,0x7de22565cc48 → call QWORD PTR [rax] int3 1c12: → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1 vptestmd k1,zmm0,zmm1 kortestw k1,k1 0.51 ↓ jne 1dd 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.51 test dl,0x20 ↓ je 1e2 eb: mov rbx,rdx and rbx,0x3f 0.51 neg rbx add rbx,0x40 lea r15,[rax-0x40] vmovups zmm0,ZMMWORD PTR [r10+rbx*2] 0.51 vmovups zmm3,ZMMWORD PTR [r10+rbx*2+0x40] 1.52 vmovaps zmm4,zmm0 1.02 vpternlogd zmm4,zmm1,zmm3,0xc8 2.54 vptestmw k1,zmm4,zmm4 2.54 kortestd k1,k1 4.06 ↓ jne 20c 2.54 12a: vpackuswb zmm0,zmm0,zmm3 0.51 vpermq zmm3,zmm2,zmm0 vmovups ZMMWORD PTR [r11+rbx*1],zmm3 1.02 add rbx,0x40 cmp rbx,r15 ↓ ja 175 vmovups zmm0,ZMMWORD PTR [r10+rbx*2] 2.03 vmovups zmm3,ZMMWORD PTR [r10+rbx*2+0x40] 5.08 vmovaps zmm4,zmm0 0.51 vpternlogd zmm4,zmm1,zmm3,0xc8 3.55 vptestmw k1,zmm4,zmm4 11.17 kortestd k1,k1 7.61 ↓ jne 20c 11.68 ↑ jmp 12a 175: mov r10,rbx 1.02 178: ↑ jmp 19 17d: test al,0x2 0.51 ↓ jne 1b7 1.02 181: test al,0x1 ↓ je 197 movzx r11d,WORD PTR [rdi+r10*2] cmp r11d,0x7f 0.51 ↓ ja 197 190: mov BYTE PTR [rdx+r10*1],r11b inc r10 197: lea rdi,[rdi+r10*2] add rdx,r10 cmp r10d,esi ↓ jne 3fc mov QWORD PTR [r8],rdi 2.03 mov QWORD PTR [r9],rdx 2.54 xor eax,eax 2.03 vzeroupper 3.05 pop rbx 1.02 pop r15 pop rbp ← ret 1b7: mov r11d,DWORD PTR [rdi+r10*2] test r11d,0xff80ff80 ↓ jne 3ea lea rbx,[rdx+r10*1] mov BYTE PTR [rbx],r11b shr r11d,0x10 mov BYTE PTR [rbx+0x1],r11b 0.51 add r10,0x2 0.51 ↑ jmp 181 1dd: xor r10d,r10d ↑ jmp 178 1e2: 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 20c: 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 237: cmp rax,0x40 ↓ jb 312 mov r10,rdi vmovups ymm0,YMMWORD PTR [r10] vptest ymm0,YMMWORD PTR [rip+0x76e] # a40 ↓ je 25c xor r10d,r10d ↓ jmp 30d 25c: mov r11,rdx vpackuswb ymm0,ymm0,ymm0 vpermq ymm0,ymm0,0xd8 vmovups XMMWORD PTR [r11],xmm0 mov ebx,0x10 test dl,0x10 ↓ jne 299 vmovups ymm0,YMMWORD PTR [r10+0x20] vptest ymm0,YMMWORD PTR [rip+0x759] # a60 ↓ jne 2e7 vpackuswb ymm0,ymm0,ymm0 vpermq ymm0,ymm0,0xd8 vmovups XMMWORD PTR [r11+0x10],xmm0 299: mov rbx,rdx and rbx,0x1f neg rbx add rbx,0x20 lea r15,[rax-0x20] 2ab: vmovups ymm0,YMMWORD PTR [r10+rbx*2] vmovups ymm1,YMMWORD PTR [r10+rbx*2+0x20] vmovaps ymm2,ymm0 vpternlogd ymm2,ymm1,DWORD BCST [rip+0x69d],0xa8 # 9e4 vptest ymm2,ymm2 ↓ jne 2ec vpackuswb ymm0,ymm0,ymm1 vpermq ymm0,ymm0,0xd8 vmovups YMMWORD PTR [r11+rbx*1],ymm0 add rbx,0x20 cmp rbx,r15 ↑ jbe 2ab 2e7: mov r10,rbx ↓ jmp 30d 2ec: vptest ymm0,YMMWORD PTR [rip+0x70b] # a80 ↑ jne 2e7 vpackuswb ymm0,ymm0,ymm0 vpermq ymm0,ymm0,0xd8 vmovups XMMWORD PTR [r11+rbx*1],xmm0 add rbx,0x10 ↑ jmp 2e7 30d: ↑ jmp 19 312: mov r10,rdi vmovups xmm0,XMMWORD PTR [r10] vbroadcastss xmm1,DWORD PTR [rip+0x641] # 9e4 vptest xmm1,xmm0 ↓ je 332 xor r10d,r10d ↓ jmp 3bf 332: mov r11,rdx vpackuswb xmm0,xmm0,xmm0 vmovsd QWORD PTR [r11],xmm0 mov ebx,0x8 test dl,0x8 ↓ jne 35f vmovups xmm0,XMMWORD PTR [r10+0x10] vptest xmm1,xmm0 ↓ jne 3a3 vpackuswb xmm0,xmm0,xmm0 vmovsd QWORD PTR [r11+0x8],xmm0 35f: mov rbx,rdx and rbx,0xf neg rbx add rbx,0x10 lea r15,[rax-0x10] 371: 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 3a8 vpackuswb xmm0,xmm0,xmm2 vmovups XMMWORD PTR [r11+rbx*1],xmm0 add rbx,0x10 cmp rbx,r15 ↑ jbe 371 3a3: mov r10,rbx ↓ jmp 3bf 3a8: vptest xmm1,xmm0 ↑ jne 3a3 vpackuswb xmm0,xmm0,xmm0 vmovsd QWORD PTR [r11+rbx*1],xmm0 add rbx,0x8 ↑ jmp 3a3 3bf: ↑ jmp 19 3c4: mov r11d,ebx test r11d,0xff80ff80 ↓ jne 3ea 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 3ea: test r11d,0xff80 ↑ je 190 ↑ jmp 197 3fc: sub esi,r10d sub ecx,r10d cmp esi,0x2 ↓ jl 87e mov eax,esi lea rax,[rdi+rax*2-0x4] 412: mov r10d,DWORD PTR [rdi] ↓ jmp 790 41a: cmp ecx,0x2 ↓ jl 88c 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 45e mov r10,r11 45e: mov r11d,r10d shr r11d,0x3 xor ebx,ebx ↓ jmp 48a 469: vmovups xmm0,XMMWORD PTR [rdi] vptest xmm0,XMMWORD PTR [rip+0x5aa] # aa0 ↓ jne 4bb vpackuswb xmm0,xmm0,xmm0 vmovq QWORD PTR [rdx],xmm0 add rdi,0x10 add rdx,0x8 inc ebx 48a: cmp ebx,r11d ↑ jb 469 lea r11d,[rbx*8+0x0] sub ecx,r11d test r10b,0x4 ↓ je 853 mov r10,QWORD PTR [rdi] movabs r11,0xff80ff80ff80ff80 test r11,r10 ↓ jne 4f3 ↓ jmp 7c6 4bb: lea r10d,[rbx*8+0x0] sub ecx,r10d vmovq r10,xmm0 movabs r11,0xff80ff80ff80ff80 test r11,r10 ↓ jne 4f3 vpackuswb xmm1,xmm0,xmm0 vmovd DWORD PTR [rdx],xmm1 add rdi,0x8 add rdx,0x4 add ecx,0xfffffffc vpextrq r10,xmm0,0x1 4f3: mov r11d,r10d test r11d,0xff80ff80 ↓ jne 51d 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 51d: test r11d,0xff80 ↓ jne 530 test ecx,ecx ↓ je 940 ↓ jmp 542 530: test r11d,0xf800 ↓ jne 7a5 ↓ jmp 5ca 542: mov BYTE PTR [rdx],r11b add rdi,0x2 inc rdx dec ecx cmp rdi,rax ↓ ja 86b mov r11d,DWORD PTR [rdi] ↑ jmp 530 55c: cmp ecx,0x2 ↓ jl 940 ↓ jmp 5dc 567: cmp ecx,0x4 ↓ jl 5c2 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 86b mov r11d,DWORD PTR [rdi] lea r10d,[r11-0x80] movzx r10d,r10w cmp r10d,0x780 ↓ jl 5ca mov r10d,r11d ↓ jmp 790 5c2: mov r10d,r11d ↓ jmp 88c 5ca: lea r10d,[r11-0x800000] cmp r10d,0x77fffff ↑ jbe 567 ↑ jmp 55c 5dc: 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 61e add rdi,0x2 add rdx,0x2 add ecx,0xfffffffe cmp rdi,rax ↓ ja 86b ↓ jmp 62c 61e: cmp ecx,0x3 ↓ jl 85e ↓ jmp 7d9 62c: mov r11d,DWORD PTR [rdi] ↓ jmp 7a5 634: test r11d,0xf8000000 ↓ jne 658 ↓ jmp 66d 63f: lea r10d,[r11+0x23ff2800] test r10d,0xfc00fc00 ↓ je 7f8 ↓ jmp 7ee 658: lea r10d,[r11+0x28000000] cmp r10d,0x8000000 ↓ jb 66d cmp ecx,0x6 ↓ jge 67b 66d: cmp ecx,0x3 ↓ jl 940 ↓ jmp 70e 67b: 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 86b mov r11d,DWORD PTR [rdi] test r11d,0xf800 ↓ jne 7a5 mov r10d,r11d ↓ jmp 790 70e: 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 760 cmp rdi,rax ↓ ja 86b ↓ jmp 7be 760: test ecx,ecx ↓ je 940 shr r11d,0x10 mov BYTE PTR [rdx],r11b add rdi,0x2 inc rdx dec ecx cmp rdi,rax ↓ ja 86b mov r11d,DWORD PTR [rdi] test r11d,0xf800 ↓ jne 7a5 mov r10d,r11d 790: test r10d,0xff80ff80 ↑ je 41a mov r11d,r10d ↑ jmp 51d 7a5: lea r10d,[r11-0xd800] test r10d,0xf800 ↑ je 63f ↑ jmp 634 7be: mov r11d,DWORD PTR [rdi] ↑ jmp 51d 7c6: vmovq xmm0,r10 vpackuswb xmm0,xmm0,xmm0 vmovd DWORD PTR [rdx],xmm0 add rdi,0x8 ↓ jmp 84c 7d9: shr r11d,0x10 mov BYTE PTR [rdx+0x2],r11b add rdi,0x4 add rdx,0x3 add ecx,0xfffffffd ↓ jmp 853 7ee: mov eax,0x3 ↓ jmp 945 7f8: cmp ecx,0x4 ↓ jl 940 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 84c: add rdx,0x4 add ecx,0xfffffffc 853: cmp rdi,rax ↑ jbe 412 ↓ jmp 86b 85e: add rdi,0x2 add rdx,0x2 ↓ jmp 940 86b: sub rax,rdi mov rsi,rax shr rsi,0x3f add rsi,rax sar rsi,1 add esi,0x2 87e: test esi,esi ↓ je 93c movzx r10d,WORD PTR [rdi] ↓ jmp 890 88c: movzx r10d,r10w 890: cmp r10d,0x7f ↓ ja 8ad test ecx,ecx ↓ je 940 mov BYTE PTR [rdx],r10b add rdi,0x2 inc rdx ↓ jmp 937 8ad: cmp r10d,0x800 ↓ jae 8e0 cmp ecx,0x2 ↓ jl 940 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 937 8e0: lea eax,[r10-0xd800] cmp eax,0x7ff ↓ jbe 923 cmp ecx,0x3 ↓ jl 940 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 937 923: cmp r10d,0xdbff ↑ ja 7ee mov eax,0x2 ↓ jmp 945 937: cmp esi,0x1 ↓ jg 940 93c: xor eax,eax ↓ jmp 945 940: mov eax,0x1 945: 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.): 5001000996, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-41731-32765.so 6.77 push rbp 5.73 push r15 push r14 push r13 push rbx sub rsp,0x10 lea rbp,[rsp+0x30] xor eax,eax 2.60 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 4.69 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] 14.06 movzx esi,WORD PTR [rax+rcx*2] 1.56 mov r8d,esi 5.21 shr r8d,0x5 mov edx,DWORD PTR [rdx+r8*4] 35.94 bt edx,esi ↓ jae 7b 14.06 inc rcx 0.52 cmp rcx,rdi ↑ jb 58 7b: mov eax,ecx 3.12 mov ecx,0xffffffff 0.52 cmp eax,edi cmove eax,ecx 1.56 add rsp,0x10 pop rbx pop r13 pop r14 2.08 pop r15 pop rbp ← ret 94: mov rdi,QWORD PTR [rbx+0x18] test rdi,rdi ↓ je d7 movabs rdx,0x7de224ebf488 cmp QWORD PTR [rdi],rdx 1.56 ↓ jne e9 lea rdx,[rdi+0x8] mov rdi,r14 mov esi,r15d movabs rax,0x7de2257973c0 → call QWORD PTR [rax] c2: mov r13d,eax cmp r13d,r15d ↓ jb fb ca: add rsp,0x10 pop rbx pop r13 pop r14 pop r15 pop rbp ← ret d7: mov edi,0x6 movabs rax,0x7de224d4ec88 → 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.): 5001000996, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-41731-32774.so 6.84 push rbp 4.74 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 5.26 ↓ jbe 9d cmp rdx,0x800 ↓ ja 122 cmp rdx,0x100 ↓ jb 73 mov r8,rdi and r8,0x3f neg r8 add r8,0x40 vmovdqu32 zmm0,ZMMWORD PTR [rsi] 1.05 vmovdqu32 ZMMWORD PTR [rdi],zmm0 4.74 add rsi,r8 add rdi,r8 sub rdx,r8 73: mov r8,rdx shr r8,0x6 7a: vmovdqu32 zmm0,ZMMWORD PTR [rsi] 17.89 vmovdqu32 ZMMWORD PTR [rdi],zmm0 24.74 add rdi,0x40 2.11 add rsi,0x40 dec r8 3.68 ↑ jne 7a and rdx,0x3f cmp rdx,0x10 ↓ jbe ab 9d: vmovups xmm0,XMMWORD PTR [rsi] 1.05 vmovups XMMWORD PTR [rdi],xmm0 3.16 cmp rdx,0x20 ↓ ja ba ab: vmovups xmm0,XMMWORD PTR [rax-0x10] 8.42 vmovups XMMWORD PTR [rcx-0x10],xmm0 6.32 b5: vzeroupper pop rbp 0.53 ← ret ba: vmovups xmm0,XMMWORD PTR [rsi+0x10] vmovups XMMWORD PTR [rdi+0x10],xmm0 cmp rdx,0x30 0.53 ↑ jbe ab vmovups xmm0,XMMWORD PTR [rsi+0x20] 1.05 vmovups XMMWORD PTR [rdi+0x20],xmm0 0.53 ↑ jmp ab d6: test dl,0x18 1.05 ↓ je eb mov rdx,QWORD PTR [rsi] mov QWORD PTR [rdi],rdx mov rsi,QWORD PTR [rax-0x8] 5.26 mov QWORD PTR [rcx-0x8],rsi 0.53 ↑ 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] 0.53 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,0x7de224b46748 vzeroupper pop rbp rex.W jmp QWORD PTR [rax] Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-41731-32804.so 7.02 push rbp 5.85 push r15 push r14 push r13 push r12 push rbx 0.58 push rax lea rbp,[rsp+0x30] mov rbx,rdi 5.26 mov r15,QWORD PTR [rbx+0x10] test r15,r15 ↓ je 1a1 20: xor edi,edi mov QWORD PTR [rbx+0x40],rdi mov QWORD PTR [rbx+0x48],rdi test r15,r15 ↓ je 310 mov esi,DWORD PTR [rbx+0x34] 0.58 test esi,esi 5.26 ↓ je 17b mov rdi,QWORD PTR [rbx+0x18] mov rax,rdi cmp BYTE PTR [rax],al 1.75 test esi,esi ↓ jl 1b9 mov r14d,DWORD PTR [rax+0x10] mov rcx,QWORD PTR [rax+0x8] mov ecx,DWORD PTR [rcx+0x8] 1.17 sub ecx,esi 5.85 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 2.34 ↓ jb 2eb add r13,0x10 8c: movabs rdi,0x7de2252e8fd8 2.34 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] 3.51 lea r12d,[rdi+r14*1] test r12d,r12d 2.34 ↓ jl 233 mov esi,DWORD PTR [r15+0x20] cmp r12d,esi ↓ jle f2 cmp edi,esi setg al movzx eax,al 0.58 mov DWORD PTR [rbp-0x2c],eax cmp r12d,DWORD PTR [r15+0x24] 1.17 ↓ jg 26c e4: cmp DWORD PTR [rbp-0x2c],0x0 12.87 ↓ jne 28b 1.75 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] cmp rsi,rax ↓ ja 2eb lea rdi,[rdx+rdi*1+0x10] 7.02 mov edx,r14d 11f: cmp r14d,edx ↓ jg 2b9 mov edx,r14d mov rsi,r13 movabs rax,0x7de224b45848 → call QWORD PTR [rax] 1.17 mov DWORD PTR [r15+0x1c],r12d 13e: mov r15,QWORD PTR [rbx+0x18] 1.17 mov eax,DWORD PTR [r15+0x10] 2.34 movsxd rcx,eax add QWORD PTR [rbx+0x20],rcx 5.26 mov rdi,QWORD PTR [r15+0x8] 1.17 test rdi,rdi ↓ je 2de cmp DWORD PTR [rdi+0x8],eax 8.19 ↓ jb 2eb add rdi,0x10 0.58 167: mov esi,eax movabs rax,0x7de224b45818 0.58 → call QWORD PTR [rax] xor edi,edi mov DWORD PTR [r15+0x10],edi 17b: mov rdi,QWORD PTR [rbx+0x10] 1.75 movabs rax,0x7de2252e8fd8 0.58 cmp QWORD PTR [rdi],rax 2.92 ↓ jne 2f8 192: add rsp,0x8 pop rbx pop r12 0.58 pop r13 pop r14 4.09 pop r15 2.34 pop rbp ← ret 1a1: cmp QWORD PTR [rbx+0x8],0x0 ↑ jne 20 movabs rax,0x7de225727528 → call QWORD PTR [rax] int3 1b9: movabs rdi,0x7de224b8ec30 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6d0ba0 mov rbx,rax mov rdi,rbx xor esi,esi movabs rdx,0x7de222602898 movabs rax,0x7de224eccb88 → call QWORD PTR [rax] mov rdi,rbx → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6cf550 int3 1ef: mov rdi,QWORD PTR [rax+0x8] mov edi,DWORD PTR [rdi+0x8] movabs rax,0x7de225727540 → 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,0x7de225827c90 → call QWORD PTR [rax] int3 226: movabs rax,0x7de225827ca8 → call QWORD PTR [rax] int3 233: movabs rdi,0x7de224dce570 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6d0ba0 mov r13,rax movabs rax,0x7de225827cc0 → call QWORD PTR [rax] mov rsi,rax mov rdi,r13 movabs rax,0x7de22558cdf8 → call QWORD PTR [rax] mov rdi,r13 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6cf550 int3 26c: mov rdi,r15 mov esi,r12d movabs rcx,0x7de22546ca80 → 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,0x7de224ecd6b0 → call QWORD PTR [rax] ↑ jmp ee 2ab: or edi,r14d ↓ jne 2eb xor edi,edi xor edx,edx ↑ jmp 11f 2b9: movabs rax,0x7de2250953b0 → 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,0x7de224d4dd28 → 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,0x7de223a52718 → 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.): 5001000996, [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-41731-32732.so 17.12 push rbp 14.41 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] 14.41 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] sub eax,DWORD PTR [rsi] 10.81 mov r11d,DWORD PTR [r10+r8*1] 1.80 sub r11d,DWORD PTR [rsi+r8*1] 2.70 or eax,r11d sete al 2.70 movzx eax,al 7.21 5f: test eax,eax 10.81 ↓ je 1d9 cmp edx,r9d ↓ jg 1fb mov QWORD PTR [rdi+0x98],r10 3.60 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 13.51 vzeroupper add rsp,0x8 0.90 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,0x7de22565d0f8 vzeroupper add rsp,0x8 pop rbx pop rbp rex.W jmp QWORD PTR [rax] 1fb: movabs rax,0x7de224d4dd28 → call QWORD PTR [rax] int3 Samples: 4K of event 'cpu-clock', 999 Hz, Event count (approx.): 5001000996, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedTier1]() /tmp/jitted-41731-32844.so 7.92 push rbp 7.92 push r15 push r14 push r13 push r12 push rbx sub rsp,0x68 lea rbp,[rsp+0x90] 5.94 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-0x68],r8 mov r15,rdi mov rbx,rsi 7.92 mov r14,rdx mov r13,rcx mov r12d,DWORD PTR [rbx+0x28] and r12d,0x7fffffff cmp r12d,DWORD PTR [r13+0x88] 0.99 ↓ jge 28c cmp BYTE PTR [r15+0x18],0x0 ↓ jne 63 cmp QWORD PTR [r14],0x0 7.92 ↓ je 2a0 63: cmp BYTE PTR [r15+0x10],0x2 0.99 ↓ jne 407 mov rdi,QWORD PTR [rbp-0x68] cmp BYTE PTR [rdi+0x90],0x0 ↓ jne 2b1 7f: mov rdx,QWORD PTR [r14] movabs rsi,0x7de2256f4d20 3.96 cmp QWORD PTR [r15],rsi ↓ jne 277 test rdx,rdx ↓ je 2ec lea r13,[rdx+0xc] mov r14d,DWORD PTR [rdx+0x8] cmp r14d,0x9ef21aa ↓ jg 300 lea rsi,[rbx+0x70] mov rsi,QWORD PTR [rsi] test r14d,r14d 2.97 ↓ je 310 mov QWORD PTR [rbp-0x30],r13 0.99 mov rdx,r13 movabs rax,0x7dda73c02e08 test rsi,rsi cmove rsi,QWORD PTR [rax] movabs rax,0x7de225681ca8 cmp QWORD PTR [rsi],rax ↓ jne 31a mov rax,QWORD PTR [rsi+0x8] cmp BYTE PTR [rax],al 0.99 mov rsi,rdx 0.99 mov edx,r14d mov rdi,rax movabs rax,0x7de22565c480 → call QWORD PTR [rax] mov ecx,eax 10b: xor eax,eax mov QWORD PTR [rbp-0x30],rax cmp ecx,0xffffffff ↓ jne 33c test BYTE PTR [rbx+0x7c],0x2 1.98 ↓ je 356 0.99 124: test BYTE PTR [rbx+0x7c],0x1 ↓ jne 381 0.99 lea esi,[r14+r14*2] add esi,0x3 mov eax,DWORD PTR [rbx+0x4c] 0.99 sub eax,DWORD PTR [rbx+0x34] cmp eax,esi 0.99 ↓ jl 39b 143: lea rax,[rbx+0x40] mov QWORD PTR [rbp-0x88],rax xor ecx,ecx 0.99 xor edx,edx mov rsi,QWORD PTR [rax] test rsi,rsi ↓ je 19d mov rcx,QWORD PTR [rsi] test DWORD PTR [rcx],0x80000000 0.99 ↓ je 3af lea rcx,[rsi+0x10] mov edx,DWORD PTR [rsi+0x8] 0.99 170: mov rax,QWORD PTR [rbp-0x88] mov r9d,DWORD PTR [rax+0x8] and r9d,0x7fffffff mov r8d,DWORD PTR [rax+0xc] mov esi,r8d 0.99 add rsi,r9 mov edx,edx 2.97 cmp rsi,rdx ↓ ja 3ea add rcx,r9 0.99 mov edx,r8d 19d: cmp DWORD PTR [rbx+0x28],0x0 ↓ jl 3ce 1a7: mov eax,DWORD PTR [rbx+0x34] lea r9d,[rax+0x1] mov DWORD PTR [rbx+0x34],r9d 0.99 cmp eax,edx ↓ jae 519 0.99 mov r9d,eax 0.99 mov BYTE PTR [rcx+r9*1],0x22 mov r9d,DWORD PTR [rbx+0x34] 0.99 cmp r9d,edx ↓ ja 3ea mov eax,r9d mov QWORD PTR [rbp-0x80],rcx add rax,rcx mov DWORD PTR [rbp-0x34],edx 0.99 mov r10d,edx 0.99 sub r10d,r9d mov QWORD PTR [rbp-0x40],r13 0.99 mov r9,r13 0.99 mov QWORD PTR [rbp-0x48],rax mov QWORD PTR [rbp-0x60],rax mov QWORD PTR [rbp-0x50],r9 mov QWORD PTR [rbp-0x58],rax 0.99 test r14d,r14d ↓ je 223 mov rdx,rax lea r9,[rbp-0x58] lea r8,[rbp-0x50] mov esi,r14d 0.99 mov rdi,r13 mov ecx,r10d movabs r10,0x7de224b47a80 0.99 → call QWORD PTR [r10] mov rax,QWORD PTR [rbp-0x60] 0.99 223: mov esi,DWORD PTR [rbp-0x58] sub esi,eax 5.94 xor eax,eax mov QWORD PTR [rbp-0x40],rax mov QWORD PTR [rbp-0x48],rax add esi,DWORD PTR [rbx+0x34] mov eax,esi mov DWORD PTR [rbx+0x34],eax 3.96 lea esi,[rax+0x1] mov DWORD PTR [rbx+0x34],esi 1.98 cmp eax,DWORD PTR [rbp-0x34] ↓ jae 519 mov rcx,QWORD PTR [rbp-0x80] mov BYTE PTR [rcx+rax*1],0x22 0.99 251: or DWORD PTR [rbx+0x28],0x80000000 mov BYTE PTR [rbx+0x3a],0x7 25c: mov eax,DWORD PTR [rbx+0x28] and eax,0x7fffffff 0.99 cmp r12d,eax ↓ jne 3f7 26d: mov eax,0x1 1.98 ↓ jmp 594 277: mov rdi,r15 mov rsi,rbx 0.99 mov rcx,r13 mov rax,QWORD PTR [r15] mov rax,QWORD PTR [rax+0x60] 2.97 → call QWORD PTR [rax+0x30] ↑ jmp 25c 28c: mov edi,DWORD PTR [r13+0x88] movabs rax,0x7de225727378 → call QWORD PTR [rax] int3 2a0: mov rdi,rbx movabs rax,0x7de2257967c0 → call QWORD PTR [rax] ↑ jmp 26d 2b1: cmp BYTE PTR [r15+0x1b],0x0 ↑ je 7f mov r14,QWORD PTR [r14] add rdi,0x90 movabs rax,0x7de225727390 → call QWORD PTR [rax] mov ecx,eax mov rdx,r14 mov rsi,rbx mov rdi,r15 mov rax,QWORD PTR [r15] mov rax,QWORD PTR [rax+0x68] → call QWORD PTR [rax+0x20] ↑ jmp 25c 2ec: mov rdi,rbx movabs rax,0x7de2257967c0 → call QWORD PTR [rax] ↑ jmp 25c 300: mov edi,r14d movabs rax,0x7de22565c630 → call QWORD PTR [rax] int3 310: mov ecx,0xffffffff ↑ jmp 10b 31a: mov QWORD PTR [rbp-0x78],rsi mov rdi,rsi mov rsi,rdx mov edx,r14d mov rax,QWORD PTR [rbp-0x78] mov rax,QWORD PTR [rax] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x28] mov ecx,eax ↑ jmp 10b 33c: mov rsi,r13 mov edx,r14d mov rdi,rbx movabs rax,0x7de2257968b0 → call QWORD PTR [rax] ↑ jmp 251 356: mov rdi,rbx movabs rax,0x7de22582d440 → call QWORD PTR [rax] test eax,eax ↑ jne 124 mov rdi,rbx movabs rax,0x7de22582d458 → call QWORD PTR [rax] ↑ jmp 124 381: mov rsi,r13 mov edx,r14d mov rdi,rbx movabs rax,0x7de2257968e0 → call QWORD PTR [rax] ↑ jmp 251 39b: mov rdi,rbx movabs rax,0x7de225657258 → call QWORD PTR [rax] ↑ jmp 143 3af: mov rdi,rsi mov rcx,QWORD PTR [rsi] mov rcx,QWORD PTR [rcx+0x40] → call QWORD PTR [rcx+0x28] mov rcx,rax mov r9,rcx mov eax,edx mov rcx,r9 mov edx,eax ↑ jmp 170 3ce: mov eax,DWORD PTR [rbx+0x34] lea r9d,[rax+0x1] mov DWORD PTR [rbx+0x34],r9d cmp eax,edx ↓ jae 519 mov BYTE PTR [rcx+rax*1],0x2c ↑ jmp 1a7 3ea: movabs rax,0x7de224d4dd28 → call QWORD PTR [rax] int3 3f7: mov rdi,r15 movabs rax,0x7de225727498 → call QWORD PTR [rax] int3 407: mov rdi,QWORD PTR [rbp-0x68] cmp DWORD PTR [rdi+0x44],0x0 setne r12b movzx r12d,r12b cmp QWORD PTR [r14],0x0 ↓ je 51f cmp BYTE PTR [rdi+0x8e],0x1 ↓ je 51f movabs rax,0x7de2257967f0 → call QWORD PTR [rax] cmp BYTE PTR [r15+0x12],0x0 ↓ jne 455 cmp QWORD PTR [rax+0xa0],0x0 setne sil movzx esi,sil test esi,esi ↓ je 473 455: mov rsi,QWORD PTR [r14] mov rdi,r15 mov rdx,rax mov rcx,r13 mov r8,QWORD PTR [rbp-0x68] movabs rax,0x7de225796820 → call QWORD PTR [rax] ↓ jmp 479 473: xor r9d,r9d mov rax,r9 479: test r12d,r12d ↓ jne 4b8 cmp DWORD PTR [r13+0x8c],0x0 ↓ je 4b8 mov rdx,QWORD PTR [r14] mov rdi,r15 mov rsi,rbx mov rcx,r13 mov QWORD PTR [rbp-0x70],rax mov r8,rax mov r9,QWORD PTR [rbp-0x68] movabs r10,0x7de225796838 → call QWORD PTR [r10] test eax,eax mov rax,QWORD PTR [rbp-0x70] ↑ jne 26d 4b8: test rax,rax ↓ je 51f mov rdx,QWORD PTR [r14] mov rdi,rax mov rsi,rbx mov rcx,r13 mov r8,QWORD PTR [rbp-0x68] mov rax,QWORD PTR [rax] mov rax,QWORD PTR [rax+0x58] → call QWORD PTR [rax+0x8] mov r12d,eax mov r8,QWORD PTR [rbp-0x68] lea rdi,[r8+0x50] xor eax,eax mov ecx,0x2 test r12d,r12d cmove eax,ecx mov BYTE PTR [rdi+0x3e],al test r12d,r12d ↓ je 58d cmp BYTE PTR [r8+0x8f],0x0 ↓ je 58d mov rdi,QWORD PTR [r8+0x20] mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x38] ↓ jmp 582 519: → call instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedTier int3 51f: mov rdi,QWORD PTR [rbp-0x68] movabs rax,0x7de2257273d8 → call QWORD PTR [rax] mov rdx,QWORD PTR [r14] mov rdi,r15 mov rsi,rbx mov rcx,r13 mov r8,QWORD PTR [rbp-0x68] mov rax,QWORD PTR [r15] mov rax,QWORD PTR [rax+0x60] → call QWORD PTR [rax+0x10] mov r12d,eax mov rdi,QWORD PTR [rbp-0x68] mov esi,r12d movabs rax,0x7de2257273f0 → call QWORD PTR [rax] test r12d,r12d ↓ je 58d mov rdi,QWORD PTR [rbp-0x68] cmp BYTE PTR [rdi+0x8f],0x0 ↓ je 58d mov rax,QWORD PTR [rdi+0x20] mov rdi,rax mov rax,QWORD PTR [rax] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x38] 582: mov rdi,QWORD PTR [rbp-0x68] mov BYTE PTR [rdi+0x8f],0x0 58d: mov r8,QWORD PTR [rbp-0x68] mov eax,r12d 594: add rsp,0x68 pop rbx pop r12 pop r13 0.99 pop r14 pop r15 0.99 pop rbp 2.97 ← ret push rax mov rbx,rdi mov r8,QWORD PTR [rbp-0x68] cmp BYTE PTR [r8+0x4f],0x0 ↓ jne 5c1 mov rdi,r8 movabs rax,0x7de2257272e8 → call QWORD PTR [rax] 5c1: mov rsi,rbx movabs rdi,0x7de224d913f8 movabs rax,0x7de224b46928 → call QWORD PTR [rax] test rax,rax ↓ jne 684 mov rsi,rbx movabs rdi,0x7de2257629a0 movabs rax,0x7de224b46928 → call QWORD PTR [rax] mov r15,rax test r15,r15 ↓ je 634 mov rdi,r15 movabs rax,0x7de225727300 → call QWORD PTR [rax] test rax,rax ↓ jne 6d6 mov rdi,QWORD PTR [rbp-0x68] mov rsi,r15 movabs rax,0x7de225727330 → call QWORD PTR [rax] ↓ jmp 6d6 634: mov rsi,rbx movabs rdi,0x7de224d275f0 movabs rax,0x7de224b46928 → call QWORD PTR [rax] test rax,rax ↓ je 6d6 mov rdi,rbx mov rax,QWORD PTR [rbx] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x20] mov rdi,rax movabs rsi,0x7de22261f5b8 movabs rax,0x7de22558d620 cmp DWORD PTR [rdi],edi → call QWORD PTR [rax] test eax,eax ↓ jne 6d6 ↓ jmp 6c3 684: mov rdi,rbx mov rax,QWORD PTR [rbx] mov rax,QWORD PTR [rax+0x48] → call QWORD PTR [rax+0x8] mov rdi,rax movabs rsi,0x7de22261f568 movabs rax,0x7de224d4eb68 → call QWORD PTR [rax] test eax,eax ↓ je 6d6 mov rdi,QWORD PTR [rbp-0x68] mov rsi,rbx movabs rax,0x7de225727318 → call QWORD PTR [rax] ↓ jmp 6d6 6c3: mov rdi,QWORD PTR [rbp-0x68] mov rsi,rbx movabs rax,0x7de225727348 → call QWORD PTR [rax] 6d6: → call instance bool [System.Text.Json] System.Text.Json.Serialization.JsonConverter`1[System.__Canon]::WriteCore(class System.Text.Json.Utf8JsonWriter,!0&,class System.Text.Json.JsonSerializerOptions,valuetype System.Text.Json.WriteStack&)[OptimizedTier int3