Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [percent: local period] instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]() /tmp/jitted-41681-32718.so 4.57 push rbp 2.20 push r15 push r14 push r13 push r12 push rbx sub rsp,0x18 lea rbp,[rsp+0x40] 3.43 mov rbx,rdi mov r15d,DWORD PTR [rbx+0x20] mov r14d,r15d mov r13,QWORD PTR [rbx+0x8] mov r12,QWORD PTR [rbx] 0.16 movzx eax,BYTE PTR [rbx+0x28] mov DWORD PTR [rbp-0x2c],eax movzx ecx,BYTE PTR [rbx+0x2c] 3.10 mov DWORD PTR [rbp-0x30],ecx cmp BYTE PTR [rbx+0x44],0x0 0.08 ↓ jne 376 3c: cmp DWORD PTR [rbx+0x58],0x0 ↓ je 3d4 cmp sil,0x2c ↓ jne 344 inc r15d mov DWORD PTR [rbx+0x20],r15d 2.29 inc QWORD mov edi,DWORD PTR [rbx+0x20] 1.06 movsxd rdx,edi mov esi,DWORD PTR [rbx+0x38] cmp rdx,rsi ↓ jge 418 lea rdx,[rbx+0x30] cmp edi,DWORD PTR [rdx+0x8] ↓ jae 6ed mov rdx,QWORD PTR [rdx] 0.08 movzx edx,BYTE PTR [rdx+rdi*1] 2.78 cmp edx,0x20 ↓ jle 452 8a: movsxd rdi,DWORD PTR [rbx+0x20] 1.39 mov QWORD PTR [rbx+0x18],rdi 0.33 cmp BYTE PTR [rbx+0x44],0x2 ↓ je 4bc 9c: cmp BYTE PTR [rbx+0x26],0x0 ↓ je 656 cmp edx,0x22 0.49 ↓ jne 4e5 mov BYTE PTR [rbx+0x2c],0x0 1.80 lea rsi,[rbx+0x30] 0.65 mov edx,DWORD PTR [rbx+0x20] 0.33 inc edx mov r15d,DWORD PTR [rsi+0x8] cmp edx,r15d ↓ ja 542 mov edi,edx add rdi,QWORD PTR [rsi] mov rsi,rdi 0.57 sub r15d,edx 2.04 movabs rdx,0x741913c03358 0.49 mov rdx,QWORD PTR [rdx] 0.33 add rdx,0x8 mov rdi,rsi cmp r15d,0x8 ↓ jl 246 cmp r15d,0x10 ↓ jg 172 vmovups xmm0,XMMWORD PTR [rdx] lea edx,[r15-0x8] mov edi,edx add rdi,rsi cmp rsi,rdi mov rdx,rsi cmova rdx,rdi vmovq xmm1,QWORD PTR [rdx] vpinsrq xmm1,xmm1,QWORD PTR [rdi],0x1 vpsrld xmm2,xmm1,0x4 vpandd xmm2,xmm2,DWORD BCST [rip+0x5cc] # 774 vpshufb xmm0,xmm0,xmm1 vmovsd xmm1,QWORD PTR [rip+0x5c3] vpshufb xmm1,xmm1,xmm2 vpand xmm0,xmm1,xmm0 vptest xmm0,xmm0 ↓ je 282 vxorps xmm1,xmm1,xmm1 vpcmpeqb xmm0,xmm1,xmm0 vpmovmskb r8d,xmm0 not r8d tzcnt r8d,r8d cmp r8d,0x8 ↓ jge 536 167: sub rdx,rsi add edx,r8d ↓ jmp 287 172: vmovups ymm0,YMMWORD PTR [rdx] 0.65 cmp r15d,0x20 0.24 ↓ jle 1bd lea edx,[r15-0x20] 1.22 add rdx,rsi 0.41 183: vmovups ymm1,YMMWORD PTR [rdi] 0.41 vpshufb ymm2,ymm0,ymm1 3.67 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x559] # 774 1.96 vbroadcastsd ymm3,QWORD PTR [rip+0x55c] # 780 vpshufb ymm1,ymm3,ymm1 3.43 vpand ymm1,ymm1,ymm2 6.61 vptest ymm1,ymm1 10.61 ↓ jne 22d add rdi,0x20 cmp rdi,rdx ↑ jb 183 1bd: lea edx,[r15-0x10] 0.08 add rdx,rsi cmp rdi,rdx cmova rdi,rdx vmovdqu xmm1,XMMWORD PTR [rdi] 0.16 vinserti128 ymm1,ymm1,XMMWORD PTR [rdx],0x1 0.33 vpshufb ymm0,ymm0,ymm1 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x50b] # 774 vbroadcastsd ymm2,QWORD PTR [rip+0x516] # 788 0.08 vpshufb ymm1,ymm2,ymm1 0.24 vpand ymm0,ymm1,ymm0 0.41 vptest ymm0,ymm0 0.57 ↓ je 282 0.33 vxorps ymm1,ymm1,ymm1 vpcmpeqb ymm0,ymm1,ymm0 vpmovmskb r8d,ymm0 not r8d tzcnt r8d,r8d 0.49 cmp r8d,0x10 ↓ jge 52a 224: sub rdi,rsi lea edx,[rdi+r8*1] ↓ jmp 287 9.22 22d: vxorps ymm0,ymm0,ymm0 vpcmpeqb ymm0,ymm0,ymm1 vpmovmskb edx,ymm0 not edx tzcnt edx,edx 1.14 sub rdi,rsi 3.02 add edx,edi ↓ jmp 287 246: mov r8d,r15d add r8,rsi cmp rsi,r8 ↓ je 282 251: movzx r9d,BYTE PTR [rdi] lea r10,[rdx+0x20] mov r11d,r9d sar r11d,0x5 mov eax,0x1 shlx eax,eax,r9d cmp BYTE PTR [r10],r10b mov r9d,r11d test DWORD PTR [r10+r9*4],eax ↓ jne 339 inc rdi cmp rdi,r8 ↑ jne 251 282: mov edx,0xffffffff 287: test edx,edx 2.61 ↓ jl 575 cmp edx,r15d ↓ jae 6ed mov edi,edx cmp BYTE PTR [rsi+rdi*1],0x22 10.86 ↓ jne 54f lea edi,[rdx+0x2] movsxd rdi,edi add QWORD PTR [rbx+0x8],rdi cmp edx,r15d ↓ ja 542 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.53 add edx,DWORD PTR [rbx+0x20] add edx,0x2 mov DWORD PTR [rbx+0x20],edx 2d5: mov edi,DWORD PTR [rbx+0x20] movsxd rdx,edi mov esi,DWORD PTR [rbx+0x38] cmp rdx,rsi ↓ jge 5b2 lea rdx,[rbx+0x30] cmp edi,DWORD PTR [rdx+0x8] 3.02 ↓ jae 6ed mov rdx,QWORD PTR [rdx] movzx edx,BYTE PTR [rdx+rdi*1] 4.57 cmp edx,0x20 ↓ jle 5c7 304: cmp edx,0x3a ↓ jne 63c inc DWORD inc QWORD mov BYTE PTR [rbx+0x28],0x5 318: xor edx,edx 31a: test edx,edx ↓ jne 6bd mov eax,0x1 vzeroupper 0.08 add rsp,0x18 2.37 pop rbx 0.16 pop r12 pop r13 pop r14 pop r15 pop rbp 0.24 ← ret 339: mov rdx,rdi sub rdx,rsi ↑ jmp 287 344: cmp sil,0x7d ↓ jne 35b 34a: mov rdi,rbx 0.08 movabs rdx,0x7420c466cbb8 → call QWORD PTR [rdx] ↑ jmp 318 35b: cmp sil,0x5d ↓ jne 69f 365: mov rdi,rbx movabs rdx,0x7420c466cbe8 → call QWORD PTR [rdx] ↑ jmp 318 376: cmp BYTE PTR [rbx+0x44],0x2 ↓ jne 3ba cmp sil,0x2f ↓ jne 39a mov rdi,rbx movabs rdx,0x7420c466ce28 → call QWORD PTR [rdx] test eax,eax ↑ jne 318 ↓ jmp 612 39a: cmp BYTE PTR [rbx+0x28],0x6 ↑ jne 3c mov rdi,rbx movabs rdx,0x7420c466ce70 → call QWORD PTR [rdx] mov edx,eax ↑ jmp 31a 3ba: movzx esi,sil mov rdi,rbx movabs rdx,0x7420c466ce88 → call QWORD PTR [rdx] mov edx,eax ↑ jmp 31a 3d4: cmp BYTE PTR [rbx+0x46],0x0 ↓ je 3fa movzx esi,sil mov rdi,rbx movabs rdx,0x7420c466cc18 → call QWORD PTR [rdx] test eax,eax ↑ jne 318 ↓ jmp 612 3fa: movzx edx,sil xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x6 movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 418: mov rdi,rbx movabs rdx,0x7420c466cc30 → call QWORD PTR [rdx] test eax,eax ↓ je 612 dec DWORD dec QWORD xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xd xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 452: mov rdi,rbx movabs rdx,0x7420c466cb88 → call QWORD PTR [rdx] movsxd rdi,DWORD PTR [rbx+0x20] mov eax,DWORD PTR [rbx+0x38] cmp rdi,rax ↓ jl 4a0 mov rdi,rbx movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↓ je 612 xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xd xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 4a0: mov edi,DWORD PTR [rbx+0x20] lea rax,[rbx+0x30] cmp edi,DWORD PTR [rax+0x8] ↓ jae 6ed mov rax,QWORD PTR [rax] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp 8a 4bc: cmp edx,0x2f ↑ jne 9c mov BYTE PTR [rbx+0x2c],0x1 mov rdi,rbx movabs rdx,0x7420c466ce28 → call QWORD PTR [rdx] test eax,eax ↑ jne 318 ↓ jmp 612 4e5: cmp edx,0x7d ↓ jne 510 cmp BYTE PTR [rbx+0x45],0x0 ↑ jne 34a xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x22 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 510: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xc movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 52a: mov rdi,rdx add r8d,0xfffffff0 ↑ jmp 224 536: mov rdx,rdi add r8d,0xfffffff8 ↑ jmp 167 542: movabs rax,0x7420c3d5dcf8 → call QWORD PTR [rax] int3 54f: mov DWORD PTR [rbp-0x34],edx mov edx,r15d mov rdi,rbx mov ecx,DWORD PTR [rbp-0x34] movabs r8,0x7420c466cd38 → call QWORD PTR [r8] test eax,eax ↑ jne 2d5 ↓ jmp 612 575: mov rdi,rbx movabs rdx,0x7420c466cc30 → call QWORD PTR [rdx] test eax,eax ↓ je 612 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,0x7420c466cb58 → call QWORD PTR [rax] int3 5b2: mov rdi,rbx movabs rdx,0x7420c466cc30 → call QWORD PTR [rdx] test eax,eax ↓ je 612 ↓ jmp 5f6 5c7: mov rdi,rbx movabs rdx,0x7420c466cb88 → call QWORD PTR [rdx] movsxd rcx,DWORD PTR [rbx+0x20] mov r8d,DWORD PTR [rbx+0x38] cmp rcx,r8 ↓ jl 61e mov rdi,rbx movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↓ je 612 5f6: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x11 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 612: mov eax,0x1 mov edx,eax ↑ jmp 31a 61e: mov ecx,DWORD PTR [rbx+0x20] lea r8,[rbx+0x30] cmp ecx,DWORD PTR [r8+0x8] ↓ jae 6ed mov r8,QWORD PTR [r8] movzx edx,BYTE PTR [r8+rcx*1] ↑ jmp 304 63c: xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0xb movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 656: cmp edx,0x5d ↓ jne 681 cmp BYTE PTR [rbx+0x45],0x0 ↑ jne 365 xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x21 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 681: mov rdi,rbx mov esi,edx movabs rdx,0x7420c466cc00 → call QWORD PTR [rdx] test eax,eax ↑ jne 318 ↑ jmp 612 69f: movzx edx,sil xor ecx,ecx xor r8d,r8d mov rdi,rbx mov esi,0x12 movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 6bd: cmp edx,0x1 ↓ jne 6d9 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 6d9: xor eax,eax vzeroupper add rsp,0x18 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ← ret 6ed: → call instance bool [System.Text.Json] System.Text.Json.Utf8JsonReader::ConsumeNextTokenOrRollback(uint8)[OptimizedTier1]+0xffffffffff27c908 int3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [percent: local period] instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]() /tmp/jitted-41681-32979.so Percent push rbp push r15 push r14 push r13 push r12 push rbx sub rsp,0x478 lea rbp,[rsp+0x4a0] xor eax,eax mov QWORD PTR [rbp-0x2b8],rax vxorps xmm8,xmm8,xmm8 vmovdqa32 XMMWORD PTR [rbp-0x2b0],xmm8 movabs rax,0xfffffffffffffd90 38: vmovdqa XMMWORD PTR [rbp+rax*1-0x30],xmm8 vmovdqa XMMWORD PTR [rbp+rax*1-0x20],xmm8 0.09 vmovdqa XMMWORD PTR [rbp+rax*1-0x10],xmm8 add rax,0x30 ↑ jne 38 mov QWORD PTR [rbp-0x30],rax mov rbx,rdi movabs rdi,0x7421420319a8 movabs rax,0x742142931820 → call rax cmp DWORD PTR [rax],0x17 ↓ jle 1941 mov rdi,QWORD PTR [rax+0x8] mov r15,QWORD PTR [rdi+0xb8] test r15,r15 ↓ je 1941 8a: mov r14,QWORD PTR [r15+0x18] test r14,r14 ↓ je 195a 97: mov QWORD PTR [rbp-0x2e8],r14 movabs rdx,0x7420c42f8fd8 cmp QWORD PTR [r14],rdx ↓ jne 1a12 cmp BYTE PTR [r14+0x2b],0x0 ↓ je 1991 mov r13d,DWORD PTR [r14+0x18] mov edx,r13d neg edx add edx,0x7fffffc7 movsxd rdx,edx test rdx,rdx ↓ jl 19a0 mov DWORD PTR [r14+0x1c],r13d cmp BYTE PTR [r14+0x29],0x0 ↓ je 1a35 test r13d,r13d ↓ jl 1a42 cmp r13d,DWORD PTR [r14+0x24] ↓ jg 1a7b cmp r13d,DWORD PTR [r14+0x20] ↓ jg 1acf 103: mov DWORD PTR [r14+0x20],r13d cmp DWORD PTR [r14+0x1c],r13d ↓ jg 1aef 111: mov r13,QWORD PTR [r15+0x10] test r13,r13 ↓ je 1af8 cmp QWORD PTR [r13+0x10],0x0 ↓ je 1b5a 129: movabs rdi,0x7420c42f8fd8 cmp QWORD PTR [r14],rdi ↓ jne 1b72 movzx r15d,BYTE PTR [r14+0x29] 141: test r15d,r15d ↓ je 1b87 lea rdi,[r13+0x10] mov rsi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov r15,QWORD PTR [r13+0x18] test r15,r15 ↓ je 1bc0 mov rdi,QWORD PTR [r15+0x8] mov esi,DWORD PTR [r15+0x10] test rdi,rdi ↓ je 1bf2 cmp DWORD PTR [rdi+0x8],esi ↓ jb 2c03 add rdi,0x10 181: mov esi,esi movabs rax,0x7420c3b55818 → call QWORD PTR [rax] xor edi,edi mov DWORD PTR [r15+0x10],edi 195: xor edi,edi mov QWORD PTR [r13+0x8],rdi mov DWORD PTR [r13+0x34],edi mov QWORD PTR [r13+0x20],rdi mov QWORD PTR [r13+0x40],rdi mov QWORD PTR [r13+0x48],rdi mov BYTE PTR [r13+0x38],0x0 mov WORD PTR [r13+0x39],0x0 mov DWORD PTR [r13+0x28],edi mov QWORD PTR [r13+0x50],rdi mov QWORD PTR [r13+0x58],rdi mov QWORD PTR [r13+0x60],rdi mov WORD PTR [r13+0x68],di mov BYTE PTR [r13+0x6a],dil mov BYTE PTR [r13+0x3b],0x0 1d5: mov edi,DWORD PTR [r13+0x28] and edi,0x7fffffff cmp edi,DWORD PTR [r13+0x78] ↓ jge 1c03 1e9: mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 ↓ jne f0b mov edi,DWORD PTR [r13+0x4c] sub edi,DWORD PTR [r13+0x34] cmp edi,0x2 ↓ jl 1c17 20a: lea r15,[r13+0x40] xor r12d,r12d xor eax,eax mov rdi,QWORD PTR [r15] test rdi,rdi ↓ je 254 mov rax,QWORD PTR [rdi] test DWORD PTR [rax],0x80000000 ↓ je 1c30 lea r12,[rdi+0x10] mov eax,DWORD PTR [rdi+0x8] 231: mov edi,DWORD PTR [r15+0x8] and edi,0x7fffffff mov esi,DWORD PTR [r15+0xc] mov ecx,esi add rcx,rdi mov eax,eax cmp rcx,rax ↓ ja 2c03 add r12,rdi mov eax,esi 254: cmp DWORD PTR [r13+0x28],0x0 ↓ jge 273 mov edi,DWORD PTR [r13+0x34] lea esi,[rdi+0x1] mov DWORD PTR [r13+0x34],esi cmp edi,eax ↓ jae 2c95 mov BYTE PTR [r12+rdi*1],0x2c 273: mov edi,DWORD PTR [r13+0x34] lea esi,[rdi+0x1] mov DWORD PTR [r13+0x34],esi cmp edi,eax ↓ jae 2c95 mov BYTE PTR [r12+rdi*1],0x7b 28b: mov edx,DWORD PTR [r13+0x28] and edx,0x7fffffff mov DWORD PTR [r13+0x28],edx inc edx mov DWORD PTR [r13+0x28],edx mov BYTE PTR [r13+0x3a],0x1 movabs r15,0x7420c161d0e4 mov edx,DWORD PTR [r13+0x28] and edx,0x7fffffff cmp edx,DWORD PTR [r13+0x78] ↓ jge 1c44 2c2: lea rsi,[r13+0x70] mov rdi,QWORD PTR [rsi] mov QWORD PTR [rbp-0x40],r15 mov rsi,r15 movabs rdx,0x741913c02e08 test rdi,rdi cmove rdi,QWORD PTR [rdx] movabs rdx,0x7420c4691ca8 cmp QWORD PTR [rdi],rdx ↓ jne 1c65 mov rdi,QWORD PTR [rdi+0x8] cmp BYTE PTR [rdi],dil mov edx,0x7 movabs rax,0x7420c466c390 → call QWORD PTR [rax] 30c: xor edi,edi mov QWORD PTR [rbp-0x40],rdi cmp eax,0xffffffff ↓ jne 1c79 test BYTE PTR [r13+0x7c],0x2 ↓ je 1c9d 326: test BYTE PTR [r13+0x7c],0x1 ↓ jne 1ced mov edi,DWORD PTR [r13+0x4c] sub edi,DWORD PTR [r13+0x34] cmp edi,0x1a ↓ jl 1d0e 342: lea r12,[r13+0x40] xor eax,eax xor ecx,ecx mov rdi,QWORD PTR [r12] test rdi,rdi ↓ je 390 mov rax,QWORD PTR [rdi] test DWORD PTR [rax],0x80000000 ↓ je 1d27 lea rax,[rdi+0x10] mov ecx,DWORD PTR [rdi+0x8] 369: mov edx,DWORD PTR [r12+0x8] and edx,0x7fffffff mov r9d,DWORD PTR [r12+0xc] mov r8d,r9d add r8,rdx mov ecx,ecx cmp r8,rcx ↓ ja 2c03 add rax,rdx mov ecx,r9d 390: cmp DWORD PTR [r13+0x28],0x0 ↓ jl 1d42 39b: mov r12d,DWORD PTR [r13+0x34] lea edx,[r12+0x1] mov DWORD PTR [r13+0x34],edx cmp r12d,ecx ↓ jae 2c95 mov edx,r12d mov BYTE PTR [rax+rdx*1],0x22 mov edx,DWORD PTR [r13+0x34] cmp edx,ecx ↓ ja 2c03 mov r12d,edx mov QWORD PTR [rbp-0x300],rax add r12,rax mov DWORD PTR [rbp-0x44],ecx mov esi,ecx sub esi,edx mov QWORD PTR [rbp-0x50],r15 mov rdx,r15 mov QWORD PTR [rbp-0x58],r12 mov QWORD PTR [rbp-0x60],rdx mov QWORD PTR [rbp-0x68],r12 mov rdi,r15 mov rdx,r12 lea r9,[rbp-0x68] lea r8,[rbp-0x60] mov ecx,esi mov esi,0x7 movabs r10,0x7420c3b57a80 → call QWORD PTR [r10] mov esi,DWORD PTR [rbp-0x68] sub esi,r12d xor edx,edx mov QWORD PTR [rbp-0x50],rdx mov QWORD PTR [rbp-0x58],rdx add esi,DWORD PTR [r13+0x34] mov r12d,esi mov DWORD PTR [r13+0x34],r12d lea esi,[r12+0x1] mov DWORD PTR [r13+0x34],esi mov r15d,DWORD PTR [rbp-0x44] cmp r12d,r15d ↓ jae 2c95 mov esi,r12d mov r12,QWORD PTR [rbp-0x300] mov BYTE PTR [r12+rsi*1],0x22 mov esi,DWORD PTR [r13+0x34] lea edx,[rsi+0x1] mov DWORD PTR [r13+0x34],edx cmp esi,r15d ↓ jae 2c95 mov BYTE PTR [r12+rsi*1],0x3a mov esi,DWORD PTR [r13+0x34] lea edx,[rsi+0x1] mov DWORD PTR [r13+0x34],edx cmp esi,r15d ↓ jae 2c95 mov BYTE PTR [r12+rsi*1],0x5b 47f: mov edi,DWORD PTR [r13+0x28] and edi,0x7fffffff mov DWORD PTR [r13+0x28],edi inc edi mov DWORD PTR [r13+0x28],edi mov BYTE PTR [r13+0x3a],0x3 mov rbx,QWORD PTR [rbx+0x8] mov r15d,DWORD PTR [rbx+0x14] xor r12d,r12d ↓ jmp 104e 4a8: mov rdi,rax 1.33 mov rsi,r13 mov rdx,QWORD PTR [rbp-0x120] mov rax,QWORD PTR [rax] mov rax,QWORD PTR [rax+0x40] 0.98 → call QWORD PTR [rax+0x38] 0.18 mov rax,QWORD PTR [rbp-0x470] 0.35 mov ecx,DWORD PTR [rbp-0x2d4] mov esi,DWORD PTR [rbp-0x2d8] mov r14,QWORD PTR [rbp-0x2e8] ↓ jmp 5a1 4de: vxorps ymm0,ymm0,ymm0 vmovdqu32 ZMMWORD PTR [rbp-0x1c0],zmm0 vmovdqu32 ZMMWORD PTR [rbp-0x180],zmm0 vmovdqu32 YMMWORD PTR [rbp-0x140],ymm0 mov QWORD PTR [rbp-0x158],rcx mov rdi,QWORD PTR [rcx+0xd0] mov QWORD PTR [rbp-0x160],rdi mov rdi,QWORD PTR [rbp-0x160] mov rdi,QWORD PTR [rdi+0xc8] mov QWORD PTR [rbp-0x130],rdi mov BYTE PTR [rbp-0x172],0x0 mov BYTE PTR [rbp-0x171],0x0 mov rdi,QWORD PTR [rcx+0xb8] cmp DWORD PTR [rdi+0x8c],0x0 ↓ jne 295e 543: mov rcx,QWORD PTR [rbp-0x360] mov rdi,QWORD PTR [rcx+0x158] mov rcx,QWORD PTR [rcx+0xb8] lea rdx,[rbp-0x120] lea r8,[rbp-0x1c0] mov rsi,r13 movabs r9,0x7420c4734408 cmp DWORD PTR [rdi],edi → call QWORD PTR [r9] 578: mov rdi,r13 movabs rax,0x7420c4666f40 → call QWORD PTR [rax] mov rax,QWORD PTR [rbp-0x470] mov ecx,DWORD PTR [rbp-0x2d4] mov esi,DWORD PTR [rbp-0x2d8] mov r14,QWORD PTR [rbp-0x2e8] 0.09 5a1: cmp ecx,DWORD PTR [rax+0x44] 2.39 ↓ jne 2c10 cmp esi,DWORD PTR [rax+0x38] 0.27 ↓ jae f24 5b3: mov rdx,QWORD PTR [rax+0x10] 0.18 lea edi,[rsi+0x1] 0.09 mov r8d,edi cmp esi,DWORD PTR [rdx+0x8] 1.68 ↓ jae 2c95 0.53 mov esi,esi lea rsi,[rsi+rsi*2] lea rsi,[rdx+rsi*8+0x10] cmp DWORD PTR [rsi+0x14],0xffffffff 0.44 ↓ jl 297d 0.44 mov rdx,QWORD PTR [rsi] mov r9,QWORD PTR [rsi+0x8] mov QWORD PTR [rbp-0x478],r9 0.09 test rdx,rdx ↓ je 2b7b lea r10,[rdx+0xc] 0.18 mov rdi,r10 mov QWORD PTR [rbp-0x330],rdi mov r10d,DWORD PTR [rdx+0x8] 1.42 mov DWORD PTR [rbp-0xa4],r10d cmp r10d,0x9ef21aa 0.44 ↓ jg 2b92 lea rsi,[r13+0x70] mov rsi,QWORD PTR [rsi] test r10d,r10d ↓ je 1fc3 mov QWORD PTR [rbp-0xb0],rdi 0.09 mov rdx,rdi mov r11,rsi test r11,r11 ↓ jne 647 movabs r11,0x741913c02e08 0.09 mov r11,QWORD PTR [r11] 0.09 647: movabs rsi,0x7420c4691ca8 0.18 cmp QWORD PTR [r11],rsi 0.53 ↓ jne 1fd6 mov DWORD PTR [rbp-0x2d8],r8d 0.27 mov r11,QWORD PTR [r11+0x8] cmp BYTE PTR [r11],r11b 0.62 mov rsi,rdx mov edx,r10d mov rdi,r11 movabs r11,0x7420c466c390 0.35 → call QWORD PTR [r11] mov ecx,eax 0.09 680: xor edx,edx mov QWORD PTR [rbp-0xb0],rdx 0.09 cmp ecx,0xffffffff ↓ jne 1606 test BYTE PTR [r13+0x7c],0x2 0.35 ↓ je 1ff8 69d: test BYTE PTR [r13+0x7c],0x1 0.27 ↓ jne 201e 0.09 mov r10d,DWORD PTR [rbp-0xa4] 0.18 lea esi,[r10+r10*2] add esi,0x4 0.18 mov ecx,DWORD PTR [r13+0x4c] sub ecx,DWORD PTR [r13+0x34] 0.35 cmp ecx,esi ↓ jge 758 cmp DWORD PTR [r13+0x4c],0x0 ↓ jne 213a 0.18 cmp esi,0x100 ↓ jg 2046 mov ecx,0x100 0.18 6e2: cmp QWORD PTR [r13+0x10],0x0 ↓ je 20ec mov rdx,QWORD PTR [r13+0x18] mov QWORD PTR [rbp-0x338],rdx 0.35 cmp BYTE PTR [rdx],dl mov rsi,QWORD PTR [rdx+0x8] 0.09 mov esi,DWORD PTR [rsi+0x8] 0.09 sub esi,DWORD PTR [rdx+0x10] 0.44 cmp esi,ecx ↓ jl 204d 70c: mov rsi,QWORD PTR [rdx+0x8] mov ecx,DWORD PTR [rdx+0x10] 0.09 test rsi,rsi ↓ je 20cf cmp DWORD PTR [rsi+0x8],ecx 0.09 ↓ jb 2c03 mov edx,ecx 0.18 mov r11d,DWORD PTR [rsi+0x8] sub r11d,edx 0.09 mov DWORD PTR [rbp-0x2c4],edx mov DWORD PTR [rbp-0x2c8],r11d 0.27 73b: lea rdi,[r13+0x40] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov edi,DWORD PTR [rbp-0x2c4] 0.09 mov DWORD PTR [r13+0x48],edi 0.27 mov edi,DWORD PTR [rbp-0x2c8] 1.06 mov DWORD PTR [r13+0x4c],edi 758: lea rcx,[r13+0x40] 0.18 mov QWORD PTR [rbp-0x348],rcx 0.27 xor edx,edx 0.18 xor esi,esi mov r11,QWORD PTR [rcx] 0.09 test r11,r11 ↓ je 7b8 mov rdx,QWORD PTR [r11] 0.80 test DWORD PTR [rdx],0x80000000 2.93 ↓ je 2226 lea rdx,[r11+0x10] 0.18 mov esi,DWORD PTR [r11+0x8] 786: mov rcx,QWORD PTR [rbp-0x348] 0.09 mov r11d,DWORD PTR [rcx+0x8] 0.09 and r11d,0x7fffffff mov ecx,DWORD PTR [rcx+0xc] 0.09 mov r14d,ecx 0.09 add r14,r11 mov esi,esi 0.44 cmp r14,rsi 0.09 ↓ ja 2c03 add rdx,r11 0.18 mov esi,ecx mov r14,QWORD PTR [rbp-0x2e8] 7b8: cmp DWORD PTR [r13+0x28],0x0 ↓ jge 7d9 0.09 mov r11d,DWORD PTR [r13+0x34] lea ecx,[r11+0x1] 0.18 mov DWORD PTR [r13+0x34],ecx cmp r11d,esi ↓ jae 2c95 mov BYTE PTR [rdx+r11*1],0x2c 0.27 7d9: mov r11d,DWORD PTR [r13+0x34] lea ecx,[r11+0x1] 0.09 mov DWORD PTR [r13+0x34],ecx 0.09 cmp r11d,esi ↓ jae 2c95 mov ecx,r11d mov BYTE PTR [rdx+rcx*1],0x22 0.18 mov ecx,DWORD PTR [r13+0x34] 0.44 cmp ecx,esi ↓ ja 2c03 mov r11d,ecx mov QWORD PTR [rbp-0x340],rdx 0.18 add r11,rdx mov DWORD PTR [rbp-0xf4],esi 0.27 mov r14d,esi sub r14d,ecx mov ecx,r14d mov rdi,QWORD PTR [rbp-0x330] 0.18 mov QWORD PTR [rbp-0x100],rdi mov r14,rdi mov QWORD PTR [rbp-0x108],r11 0.09 mov QWORD PTR [rbp-0x2e0],r11 mov QWORD PTR [rbp-0x110],r14 0.09 mov QWORD PTR [rbp-0x118],r11 mov r10d,DWORD PTR [rbp-0xa4] test r10d,r10d ↓ je 87e mov rdx,r11 0.18 lea r9,[rbp-0x118] 0.27 lea r8,[rbp-0x110] mov esi,r10d 0.09 movabs r10,0x7420c3b57a80 0.18 → call QWORD PTR [r10] mov r11,QWORD PTR [rbp-0x2e0] 0.35 87e: mov edi,DWORD PTR [rbp-0x118] 0.18 sub edi,r11d 0.80 xor ecx,ecx mov QWORD PTR [rbp-0x100],rcx mov QWORD PTR [rbp-0x108],rcx add edi,DWORD PTR [r13+0x34] 0.27 mov r11d,edi mov DWORD PTR [r13+0x34],r11d 0.09 lea edi,[r11+0x1] 0.09 mov DWORD PTR [r13+0x34],edi 0.18 mov esi,DWORD PTR [rbp-0xf4] 0.09 cmp r11d,esi ↓ jae 2c95 mov rdx,QWORD PTR [rbp-0x340] mov BYTE PTR [rdx+r11*1],0x22 3.72 mov r11d,DWORD PTR [r13+0x34] 0.09 lea edi,[r11+0x1] mov DWORD PTR [r13+0x34],edi 0.09 cmp r11d,esi ↓ jae 2c95 mov esi,r11d mov BYTE PTR [rdx+rsi*1],0x3a 0.80 8e1: and DWORD PTR [r13+0x28],0x7fffffff mov WORD PTR [r13+0x39],0x500 mov r9,QWORD PTR [rbp-0x478] 0.27 mov QWORD PTR [rbp-0x120],r9 0.09 movabs rdi,0x741913c033d8 mov rcx,QWORD PTR [rdi] test rcx,rcx ↓ je 2241 914: cmp BYTE PTR [rcx+0x9f],0x0 0.09 ↓ je 2261 0.53 921: mov QWORD PTR [rbp-0x350],rcx mov rsi,QWORD PTR [rcx+0x18] 0.09 test rsi,rsi ↓ je 2283 935: mov rcx,rsi 0.35 test rcx,rcx ↓ je 950 movabs rdi,0x7420c46b8e90 0.09 cmp QWORD PTR [rcx],rdi 0.44 ↓ jne 22d7 950: mov QWORD PTR [rbp-0x360],rcx 0.09 cmp BYTE PTR [rcx+0x116],0x0 0.80 ↓ jne 22e4 0.71 mov rdi,QWORD PTR [rcx+0xc8] 0.09 cmp BYTE PTR [rdi+0x12],0x0 2.84 ↑ je 4de 0.71 cmp QWORD PTR [rbp-0x120],0x0 ↑ je 4de mov rdx,QWORD PTR [rcx+0xb8] mov QWORD PTR [rbp-0x380],rdx mov rdi,QWORD PTR [rbp-0x120] 0.09 cmp BYTE PTR [rdx],dl 0.80 movabs rsi,0x7420c3e66790 → call QWORD PTR [rsi] 0.53 mov QWORD PTR [rbp-0x378],rax movabs rdi,0x7420c16025a8 cmp rax,rdi mov rcx,QWORD PTR [rbp-0x360] 0.27 ↑ je 4de mov rcx,QWORD PTR [rbp-0x380] mov rdx,QWORD PTR [rcx+0x10] 0.27 test rdx,rdx 0.53 ↓ je 9ee mov rdi,QWORD PTR [rdx+0xc0] 3.19 cmp rdi,rax mov rax,QWORD PTR [rbp-0x378] 0.80 ↓ je bb7 9ee: xor edx,edx cmp BYTE PTR [rcx+0x9e],0x0 ↓ je b91 mov rdx,QWORD PTR [rcx+0x8] test rdx,rdx ↓ je 2301 a0a: mov QWORD PTR [rbp-0x398],rdx mov rsi,QWORD PTR [rdx+0x8] mov QWORD PTR [rbp-0x3a0],rsi movabs rdi,0x741913c03428 0.80 mov r8,QWORD PTR [rdi] test r8,r8 ↓ je 2326 a32: mov rsi,QWORD PTR [rbp-0x3a0] mov QWORD PTR [rbp-0x3c0],rsi mov r9,rax mov QWORD PTR [rbp-0x3b0],r9 mov QWORD PTR [rbp-0x3b8],r8 cmp BYTE PTR [rsi],sil 1.68 mov r10,QWORD PTR [rsi+0x8] 0.18 mov QWORD PTR [rbp-0x3c8],r10 mov rdi,QWORD PTR [r10+0x8] 1.86 cmp BYTE PTR [rsi+0x19],0x0 ↓ je 239a mov rdi,r9 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d52f3a0 test eax,eax 0.18 ↓ je 23af a7d: mov DWORD PTR [rbp-0x1c4],eax mov rcx,QWORD PTR [rbp-0x3c8] 0.35 mov rdx,QWORD PTR [rcx+0x8] 0.18 mov QWORD PTR [rbp-0x3d0],rdx 0.18 mov rdi,QWORD PTR [rcx+0x10] 0.09 mov esi,eax imul rsi,QWORD PTR [rcx+0x28] 0.89 shr rsi,0x20 1.77 inc rsi 0.53 mov r8d,DWORD PTR [rdi+0x8] 0.27 imul rsi,r8 1.24 shr rsi,0x20 1.86 cmp esi,DWORD PTR [rdi+0x8] 0.71 ↓ jae 2c95 mov esi,esi mov r8,QWORD PTR [rdi+rsi*8+0x10] 5.41 test r8,r8 ↓ je 23d3 test rdx,rdx ↓ je 1661 movabs rdi,0x7420c404a260 cmp QWORD PTR [rdx],rdi ↓ jne 1661 ae8: cmp eax,DWORD PTR [r8+0x20] 5.59 ↓ jne 162f mov QWORD PTR [rbp-0x3d8],r8 mov r9,QWORD PTR [r8+0x8] 0.09 test r9,r9 ↓ je 23c7 movabs rdi,0x7420c2a5a290 cmp QWORD PTR [r9],rdi 3.37 ↓ jne 23df mov r10,QWORD PTR [rbp-0x378] cmp r10,r9 sete r11b movzx r11d,r11b b2b: test r11d,r11d ↓ je 2405 b34: mov r8,QWORD PTR [rbp-0x3d8] mov rsi,QWORD PTR [r8+0x10] mov QWORD PTR [rbp-0x1d0],rsi b46: mov rdx,QWORD PTR [rbp-0x1d0] 0.62 xor edi,edi mov QWORD PTR [rbp-0x1d0],rdi cmp BYTE PTR [rdx+0x20],0x0 0.62 ↓ je 251a 0.09 mov rdi,QWORD PTR [rdx+0x10] 0.18 test rdi,rdi ↓ jne 2bc0 mov rdx,QWORD PTR [rdx+0x8] 0.18 b71: test rdx,rdx ↓ je 2583 cmp BYTE PTR [rdx+0x119],0x2 3.46 ↓ jne 253f 0.98 mov rax,r10 mov rcx,QWORD PTR [rbp-0x380] b91: test rdx,rdx ↓ je 256f mov rax,rdx lea rdi,[rcx+0x10] mov QWORD PTR [rbp-0x388],rax mov rsi,rax → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov rdx,QWORD PTR [rbp-0x388] 0.89 bb7: mov rax,rdx cmp BYTE PTR [rax+0x11a],0x0 ↓ je 2592 bc7: mov rsi,QWORD PTR [rax+0xf8] 0.18 test rsi,rsi ↓ jne 25d1 bd7: movabs rsi,0x7420c47c3718 cmp QWORD PTR [rax],rsi 0.09 ↑ jne 4a8 mov QWORD PTR [rbp-0x368],rax 0.35 mov QWORD PTR [rbp-0x370],rax mov rdx,QWORD PTR [rbp-0x120] mov QWORD PTR [rbp-0x3e0],rdx mov r8,rdx test r8,r8 ↓ je c37 movabs rdi,0x7420c3c66e70 cmp QWORD PTR [r8],rdi ↓ je c37 mov rsi,rdx movabs r8,0x7420c3b55920 → call QWORD PTR [r8] mov r8,rax mov rdx,QWORD PTR [rbp-0x3e0] c37: mov QWORD PTR [rbp-0x1d8],r8 mov rcx,QWORD PTR [rbp-0x370] 0.35 cmp BYTE PTR [rcx+0x116],0x0 ↓ jne 25d9 mov rdi,QWORD PTR [rcx+0xc8] 0.09 cmp BYTE PTR [rdi+0x12],0x0 0.27 ↓ je 177d cmp QWORD PTR [rbp-0x1d8],0x0 ↓ je 177d mov rsi,QWORD PTR [rcx+0xb8] mov QWORD PTR [rbp-0x3f8],rsi mov rdi,QWORD PTR [rbp-0x1d8] cmp BYTE PTR [rsi],sil movabs rax,0x7420c3e66790 → call QWORD PTR [rax] mov QWORD PTR [rbp-0x3f0],rax movabs rdi,0x7420c16025a8 cmp rax,rdi ↓ je 28d5 mov rcx,QWORD PTR [rbp-0x3f8] mov rdx,QWORD PTR [rcx+0x10] test rdx,rdx ↓ je cd6 mov rdi,QWORD PTR [rdx+0xc0] cmp rdi,rax mov rax,QWORD PTR [rbp-0x3f0] ↓ je e9f cd6: xor edx,edx cmp BYTE PTR [rcx+0x9e],0x0 ↓ je e79 mov rdx,QWORD PTR [rcx+0x8] test rdx,rdx ↓ je 25fd cf2: mov QWORD PTR [rbp-0x410],rdx mov rsi,QWORD PTR [rdx+0x8] mov QWORD PTR [rbp-0x418],rsi movabs rdi,0x741913c03428 mov r8,QWORD PTR [rdi] test r8,r8 ↓ je 2622 d1a: mov rsi,QWORD PTR [rbp-0x418] mov QWORD PTR [rbp-0x438],rsi mov r9,rax mov QWORD PTR [rbp-0x428],r9 mov QWORD PTR [rbp-0x430],r8 cmp BYTE PTR [rsi],sil mov r10,QWORD PTR [rsi+0x8] mov QWORD PTR [rbp-0x440],r10 mov rdi,QWORD PTR [r10+0x8] cmp BYTE PTR [rsi+0x19],0x0 ↓ je 2696 mov rdi,r9 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d52f3a0 test eax,eax ↓ je 26ab d65: mov DWORD PTR [rbp-0x27c],eax mov rcx,QWORD PTR [rbp-0x440] mov rdx,QWORD PTR [rcx+0x8] mov QWORD PTR [rbp-0x448],rdx mov rdi,QWORD PTR [rcx+0x10] mov esi,eax imul rsi,QWORD PTR [rcx+0x28] shr rsi,0x20 inc rsi mov r8d,DWORD PTR [rdi+0x8] imul rsi,r8 shr rsi,0x20 cmp esi,DWORD PTR [rdi+0x8] ↓ jae 2c95 mov esi,esi mov r8,QWORD PTR [rdi+rsi*8+0x10] test r8,r8 ↓ je 26cf test rdx,rdx ↓ je 16fa movabs rdi,0x7420c404a260 cmp QWORD PTR [rdx],rdi ↓ jne 16fa dd0: cmp eax,DWORD PTR [r8+0x20] ↓ jne 16c8 mov QWORD PTR [rbp-0x450],r8 mov r9,QWORD PTR [r8+0x8] test r9,r9 ↓ je 26c3 movabs rdi,0x7420c2a5a290 cmp QWORD PTR [r9],rdi ↓ jne 26db mov r10,QWORD PTR [rbp-0x3f0] cmp r10,r9 sete r11b movzx r11d,r11b e13: test r11d,r11d ↓ je 2701 e1c: mov r8,QWORD PTR [rbp-0x450] mov rsi,QWORD PTR [r8+0x10] mov QWORD PTR [rbp-0x288],rsi e2e: mov rdx,QWORD PTR [rbp-0x288] xor edi,edi mov QWORD PTR [rbp-0x288],rdi cmp BYTE PTR [rdx+0x20],0x0 ↓ je 2816 mov rdi,QWORD PTR [rdx+0x10] test rdi,rdi ↓ jne 2bcd mov rdx,QWORD PTR [rdx+0x8] e59: test rdx,rdx ↓ je 287f cmp BYTE PTR [rdx+0x119],0x2 ↓ jne 283b mov rax,r10 mov rcx,QWORD PTR [rbp-0x3f8] e79: test rdx,rdx ↓ je 286b mov rax,rdx lea rdi,[rcx+0x10] mov QWORD PTR [rbp-0x400],rax mov rsi,rax → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov rdx,QWORD PTR [rbp-0x400] e9f: mov rax,rdx cmp BYTE PTR [rax+0x11a],0x0 ↓ je 288e eaf: mov rdi,QWORD PTR [rax+0xf8] test rdi,rdi ↓ jne 28cd ebf: mov edi,0x1 ec4: test edi,edi mov rcx,QWORD PTR [rbp-0x370] mov rdx,QWORD PTR [rbp-0x3e0] ↓ je 177d movabs rdi,0x7420c47c3718 cmp QWORD PTR [rax],rdi ↓ jne 1761 mov rdi,rax mov rsi,r13 mov rdx,QWORD PTR [rbp-0x1d8] movabs rax,0x7420c46b7450 → call QWORD PTR [rax] ↓ jmp 1833 f0b: mov rdi,r13 mov esi,0x7b movabs rax,0x7420c4667108 → call QWORD PTR [rax] ↑ jmp 28b f24: mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 0.09 ↓ jne 185b mov edi,DWORD PTR [r13+0x4c] sub edi,DWORD PTR [r13+0x34] 0.18 test edi,edi ↓ jg fc4 cmp DWORD PTR [r13+0x4c],0x0 ↓ jne 2a7f 0.09 cmp QWORD PTR [r13+0x10],0x0 ↓ je 2a36 mov rax,QWORD PTR [r13+0x18] mov QWORD PTR [rbp-0x460],rax mov rdi,QWORD PTR [rax+0x8] mov edi,DWORD PTR [rdi+0x8] 0.53 sub edi,DWORD PTR [rax+0x10] 0.18 cmp edi,0x100 ↓ jl 29a0 f7b: mov rsi,QWORD PTR [rax+0x8] mov eax,DWORD PTR [rax+0x10] test rsi,rsi ↓ je 2a19 cmp DWORD PTR [rsi+0x8],eax 0.35 ↓ jb 2c03 0.35 mov ecx,eax mov edx,DWORD PTR [rsi+0x8] 0.18 sub edx,ecx 0.18 mov DWORD PTR [rbp-0x2cc],ecx 0.09 mov DWORD PTR [rbp-0x2d0],edx fa7: lea rdi,[r13+0x40] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov edi,DWORD PTR [rbp-0x2cc] 0.18 mov DWORD PTR [r13+0x48],edi mov edi,DWORD PTR [rbp-0x2d0] 1.33 mov DWORD PTR [r13+0x4c],edi 0.18 fc4: lea rax,[r13+0x40] 0.18 mov QWORD PTR [rbp-0x468],rax 0.09 xor ecx,ecx xor edx,edx mov rdi,QWORD PTR [rax] 0.09 test rdi,rdi ↓ je 1019 mov rcx,QWORD PTR [rdi] 0.80 test DWORD PTR [rcx],0x80000000 2.04 ↓ je 2b4d lea rcx,[rdi+0x10] 0.09 mov edx,DWORD PTR [rdi+0x8] ff1: mov rax,QWORD PTR [rbp-0x468] mov edi,DWORD PTR [rax+0x8] and edi,0x7fffffff mov esi,DWORD PTR [rax+0xc] mov eax,esi add rax,rdi mov edx,edx 0.27 cmp rax,rdx ↓ ja 2c03 add rcx,rdi mov edx,esi 1019: mov rdi,rcx mov esi,DWORD PTR [r13+0x34] lea eax,[rsi+0x1] mov DWORD PTR [r13+0x34],eax cmp esi,edx ↓ jae 2c95 mov BYTE PTR [rdi+rsi*1],0x7d 0.27 1033: or DWORD PTR [r13+0x28],0x80000000 0.18 test DWORD PTR [r13+0x28],0x7fffffff 0.18 ↓ je 1049 0.18 dec DWORD 1049: mov BYTE PTR [r13+0x3a],0x2 104e: cmp r15d,DWORD PTR [rbx+0x14] ↓ jne 2c10 cmp r12d,DWORD PTR [rbx+0x10] ↓ jae 11b5 mov rdi,QWORD PTR [rbx+0x8] 0.18 cmp r12d,DWORD PTR [rdi+0x8] 0.09 ↓ jae 2c95 mov eax,r12d 0.09 mov rsi,QWORD PTR [rdi+rax*8+0x10] mov rax,rsi inc r12d 0.09 mov edi,0x1 1083: test edi,edi ↓ je 1874 test rax,rax 0.27 ↓ jne 11ce 1094: mov rcx,rax test rcx,rcx ↓ je 10af movabs rdi,0x7420c3b9bfd0 cmp QWORD PTR [rcx],rdi 0.09 ↓ jne 1d64 10af: mov rax,rcx test rax,rax 0.09 mov QWORD PTR [rbp-0x2f8],rax ↑ je 104e mov edi,DWORD PTR [r13+0x28] and edi,0x7fffffff cmp edi,DWORD PTR [r13+0x78] 0.09 ↓ jge 1da6 10d2: mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 ↓ jne 12a9 mov edi,DWORD PTR [r13+0x4c] 0.09 sub edi,DWORD PTR [r13+0x34] 0.09 cmp edi,0x2 ↓ jl 1221 10f3: lea rcx,[r13+0x40] mov QWORD PTR [rbp-0x328],rcx xor edx,edx xor esi,esi mov rdi,QWORD PTR [rcx] test rdi,rdi ↓ je 1149 mov rdx,QWORD PTR [rdi] test DWORD PTR [rdx],0x80000000 ↓ je 1faf lea rdx,[rdi+0x10] 0.09 mov esi,DWORD PTR [rdi+0x8] 1120: mov rcx,QWORD PTR [rbp-0x328] mov edi,DWORD PTR [rcx+0x8] and edi,0x7fffffff mov ecx,DWORD PTR [rcx+0xc] 0.09 mov r8d,ecx add r8,rdi mov esi,esi 0.18 cmp r8,rsi ↓ ja 2c03 add rdx,rdi 0.09 mov esi,ecx 1149: cmp DWORD PTR [r13+0x28],0x0 ↓ jge 1167 mov edi,DWORD PTR [r13+0x34] lea ecx,[rdi+0x1] mov DWORD PTR [r13+0x34],ecx cmp edi,esi 0.18 ↓ jae 2c95 mov BYTE PTR [rdx+rdi*1],0x2c 1167: mov edi,DWORD PTR [r13+0x34] lea ecx,[rdi+0x1] mov DWORD PTR [r13+0x34],ecx cmp edi,esi ↓ jae 2c95 mov BYTE PTR [rdx+rdi*1],0x7b 117e: mov esi,DWORD PTR [r13+0x28] and esi,0x7fffffff mov DWORD PTR [r13+0x28],esi 0.18 inc esi mov DWORD PTR [r13+0x28],esi 0.09 mov BYTE PTR [r13+0x3a],0x1 mov rax,QWORD PTR [rbp-0x2f8] mov ecx,DWORD PTR [rax+0x44] 0.09 mov QWORD PTR [rbp-0x470],rax 0.09 mov DWORD PTR [rbp-0x2d4],ecx 0.09 xor esi,esi 0.09 ↑ jmp 5a1 11b5: xor eax,eax xor r12d,r12d mov eax,0xffffffff xor edi,edi mov ecx,eax mov rax,r12 mov r12d,ecx ↑ jmp 1083 11ce: movabs rdi,0x7420c3b8ea30 0.27 cmp QWORD PTR [rax],rdi 2.04 ↑ jne 1094 cmp DWORD PTR [rax+0x8],0x0 0.09 mov QWORD PTR [rbp-0x2f0],rax ↑ je 104e 0.18 test BYTE PTR [r13+0x7c],0x2 ↓ je 1d7b 11fd: mov rax,QWORD PTR [rbp-0x2f0] lea rsi,[rax+0xc] mov edx,DWORD PTR [rax+0x8] mov rdi,r13 xor ecx,ecx movabs rax,0x7420c466c528 → call QWORD PTR [rax] ↑ jmp 104e 1221: cmp DWORD PTR [r13+0x4c],0x0 ↓ jne 1eea cmp QWORD PTR [r13+0x10],0x0 ↓ je 1ea1 mov rcx,QWORD PTR [r13+0x18] mov QWORD PTR [rbp-0x320],rcx mov rdi,QWORD PTR [rcx+0x8] mov edi,DWORD PTR [rdi+0x8] sub edi,DWORD PTR [rcx+0x10] cmp edi,0x100 ↓ jl 1e1a 1258: mov rsi,QWORD PTR [rcx+0x8] mov ecx,DWORD PTR [rcx+0x10] test rsi,rsi ↓ je 1e84 cmp DWORD PTR [rsi+0x8],ecx ↓ jb 2c03 mov edx,ecx mov r8d,DWORD PTR [rsi+0x8] sub r8d,edx mov DWORD PTR [rbp-0x2bc],edx mov DWORD PTR [rbp-0x2c0],r8d 1287: lea rdi,[r13+0x40] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov edi,DWORD PTR [rbp-0x2bc] mov DWORD PTR [r13+0x48],edi mov edi,DWORD PTR [rbp-0x2c0] mov DWORD PTR [r13+0x4c],edi ↑ jmp 10f3 12a9: test BYTE PTR [r13+0x7c],0x1 ↓ je 1591 test BYTE PTR [r13+0x7c],0x2 ↓ jne 1317 movzx ecx,BYTE PTR [r13+0x38] cmp ecx,0x10 sete dil movzx edi,dil movzx edx,BYTE PTR [r13+0x3a] cmp ecx,edx sete cl movzx ecx,cl or edi,ecx ↓ jne 12eb mov rdi,r13 movabs rcx,0x7420c483d878 → call QWORD PTR [rcx] 12eb: lea rcx,[r13+0x50] mov QWORD PTR [rbp-0x308],rcx cmp DWORD PTR [rcx+0x10],0x40 ↓ jge 1dba mov rdi,QWORD PTR [rcx+0x8] add rdi,rdi or rdi,0x1 mov QWORD PTR [rcx+0x8],rdi 130f: inc DWORD mov BYTE PTR [r13+0x38],0x5 1317: mov ecx,DWORD PTR [r13+0x28] and ecx,0x7fffffff imul ecx,DWORD PTR [r13+0x2c] mov DWORD PTR [rbp-0x6c],ecx lea esi,[rcx+0x4] mov edi,DWORD PTR [r13+0x4c] sub edi,DWORD PTR [r13+0x34] cmp edi,esi ↓ jge 1347 mov rdi,r13 movabs rdx,0x7420c4667168 → call QWORD PTR [rdx] 1347: lea rdx,[r13+0x40] mov QWORD PTR [rbp-0x310],rdx xor esi,esi xor r8d,r8d mov rdi,QWORD PTR [rdx] test rdi,rdi ↓ je 13a1 mov rsi,QWORD PTR [rdi] test DWORD PTR [rsi],0x80000000 ↓ je 1dda lea rsi,[rdi+0x10] mov r8d,DWORD PTR [rdi+0x8] 1376: mov rdx,QWORD PTR [rbp-0x310] mov edi,DWORD PTR [rdx+0x8] and edi,0x7fffffff mov edx,DWORD PTR [rdx+0xc] mov r9d,edx add r9,rdi mov r8d,r8d cmp r9,r8 ↓ ja 2c03 add rsi,rdi mov r8d,edx 13a1: mov rdi,rsi cmp DWORD PTR [r13+0x28],0x0 ↓ jge 13c3 mov edx,DWORD PTR [r13+0x34] lea esi,[rdx+0x1] mov DWORD PTR [r13+0x34],esi cmp edx,r8d ↓ jae 2c95 mov BYTE PTR [rdi+rdx*1],0x2c 13c3: movzx edx,BYTE PTR [r13+0x3a] cmp edx,0x5 ↓ je 13d1 test edx,edx ↓ jne 13dc 13d1: cmp BYTE PTR [r13+0x39],0x0 ↓ je 152d 13dc: cmp DWORD PTR [r13+0x30],0x2 ↓ jne 13fb mov edx,DWORD PTR [r13+0x34] lea esi,[rdx+0x1] mov DWORD PTR [r13+0x34],esi cmp edx,r8d ↓ jae 2c95 mov BYTE PTR [rdi+rdx*1],0xd 13fb: mov edx,DWORD PTR [r13+0x34] lea esi,[rdx+0x1] mov DWORD PTR [r13+0x34],esi cmp edx,r8d ↓ jae 2c95 mov BYTE PTR [rdi+rdx*1],0xa mov edx,DWORD PTR [r13+0x34] cmp edx,r8d ↓ ja 2c03 mov esi,edx add rsi,rdi mov r9d,r8d sub r9d,edx mov rdx,rsi mov r10d,r9d movzx r11d,BYTE PTR [r13+0x3c] mov ecx,DWORD PTR [rbp-0x6c] cmp ecx,0x8 ↓ jge 149b xor r9d,r9d cmp ecx,0x1 ↓ jle 147c 1446: lea esi,[r9+0x1] cmp r9d,r10d ↓ jae 2c95 mov r9d,r9d mov BYTE PTR [rdx+r9*1],r11b mov r9d,esi lea esi,[r9+0x1] cmp r9d,r10d ↓ jae 2c95 mov BYTE PTR [rdx+r9*1],r11b lea r9d,[rsi+0x1] cmp r9d,ecx ↓ jge 147f mov r9d,esi ↑ jmp 1446 147c: mov esi,r9d 147f: cmp esi,ecx ↓ jge 1529 cmp esi,r10d ↓ jae 2c95 mov esi,esi mov BYTE PTR [rdx+rsi*1],r11b ↓ jmp 1529 149b: cmp ecx,r9d ↓ ja 2c03 mov rdx,rsi mov r9d,ecx cmp r9,0x20 ↓ jae 1552 xor esi,esi cmp r9,0x8 ↓ jb 14f3 mov r10,r9 and r10,0xfffffffffffffff8 14c3: mov BYTE PTR [rdx+rsi*1],r11b mov BYTE PTR [rdx+rsi*1+0x1],r11b mov BYTE PTR [rdx+rsi*1+0x2],r11b mov BYTE PTR [rdx+rsi*1+0x3],r11b mov BYTE PTR [rdx+rsi*1+0x4],r11b mov BYTE PTR [rdx+rsi*1+0x5],r11b mov BYTE PTR [rdx+rsi*1+0x6],r11b mov BYTE PTR [rdx+rsi*1+0x7],r11b add rsi,0x8 cmp rsi,r10 ↑ jb 14c3 14f3: test r9b,0x4 ↓ je 1510 mov BYTE PTR [rdx+rsi*1],r11b mov BYTE PTR [rdx+rsi*1+0x1],r11b mov BYTE PTR [rdx+rsi*1+0x2],r11b mov BYTE PTR [rdx+rsi*1+0x3],r11b add rsi,0x4 1510: test r9b,0x2 ↓ je 1523 mov BYTE PTR [rdx+rsi*1],r11b mov BYTE PTR [rdx+rsi*1+0x1],r11b add rsi,0x2 1523: test r9b,0x1 ↓ jne 154c 1529: add DWORD PTR [r13+0x34],ecx 152d: mov edx,DWORD PTR [r13+0x34] lea ecx,[rdx+0x1] mov DWORD PTR [r13+0x34],ecx cmp edx,r8d ↓ jae 2c95 mov ecx,edx mov BYTE PTR [rdi+rcx*1],0x7b ↑ jmp 117e 154c: mov BYTE PTR [rdx+rsi*1],r11b ↑ jmp 1529 1552: vpbroadcastb ymm0,r11d mov rdx,r9 and rdx,0xffffffffffffffc0 xor r10d,r10d cmp r9,0x40 ↓ jb 157e 1568: vmovups YMMWORD PTR [rsi+r10*1],ymm0 vmovups YMMWORD PTR [rsi+r10*1+0x20],ymm0 add r10,0x40 cmp r10,rdx ↑ jb 1568 157e: test r9b,0x20 ↓ jne 1def 1588: vmovups YMMWORD PTR [rsi+r9*1-0x20],ymm0 ↑ jmp 1529 1591: movzx ecx,BYTE PTR [r13+0x38] cmp ecx,0x10 sete dil movzx edi,dil movzx edx,BYTE PTR [r13+0x3a] cmp ecx,edx sete cl movzx ecx,cl or edi,ecx ↓ jne 15c1 mov rdi,r13 movabs rcx,0x7420c483d878 → call QWORD PTR [rcx] 15c1: lea rcx,[r13+0x50] mov QWORD PTR [rbp-0x318],rcx cmp DWORD PTR [rcx+0x10],0x40 ↓ jge 1dfa mov rdi,QWORD PTR [rcx+0x8] add rdi,rdi or rdi,0x1 mov QWORD PTR [rcx+0x8],rdi 15e5: inc DWORD mov BYTE PTR [r13+0x38],0x5 mov rdi,r13 mov esi,0x7b movabs rcx,0x7420c4667120 → call QWORD PTR [rcx] ↑ jmp 117e 1606: mov rdi,QWORD PTR [rbp-0x330] mov r10d,DWORD PTR [rbp-0xa4] mov rsi,rdi mov edx,r10d mov rdi,r13 movabs r10,0x7420c466d140 → call QWORD PTR [r10] ↑ jmp 8e1 162f: mov r8,QWORD PTR [r8+0x18] test r8,r8 ↓ je 2411 mov eax,DWORD PTR [rbp-0x1c4] ↑ jmp ae8 1647: mov r10,QWORD PTR [rbp-0x378] 164e: mov r8,QWORD PTR [r8+0x18] test r8,r8 ↓ je 24a4 mov eax,DWORD PTR [rbp-0x1c4] 1661: cmp eax,DWORD PTR [r8+0x20] ↑ jne 1647 mov QWORD PTR [rbp-0x3d8],r8 mov r9,QWORD PTR [r8+0x8] movabs rdi,0x7420c404a260 cmp QWORD PTR [rdx],rdi ↓ jne 241d mov rdx,QWORD PTR [rbp-0x3d0] test r9,r9 ↓ je 2457 movabs rdi,0x7420c2a5a290 cmp QWORD PTR [r9],rdi ↓ jne 246a mov r10,QWORD PTR [rbp-0x378] cmp r10,r9 sete r11b movzx r11d,r11b 16ba: test r11d,r11d ↓ je 2498 ↑ jmp b34 16c8: mov r8,QWORD PTR [r8+0x18] test r8,r8 ↓ je 270d mov eax,DWORD PTR [rbp-0x27c] ↑ jmp dd0 16e0: mov r10,QWORD PTR [rbp-0x3f0] 16e7: mov r8,QWORD PTR [r8+0x18] test r8,r8 ↓ je 27a0 mov eax,DWORD PTR [rbp-0x27c] 16fa: cmp eax,DWORD PTR [r8+0x20] ↑ jne 16e0 mov QWORD PTR [rbp-0x450],r8 mov r9,QWORD PTR [r8+0x8] movabs rdi,0x7420c404a260 cmp QWORD PTR [rdx],rdi ↓ jne 2719 mov rdx,QWORD PTR [rbp-0x448] test r9,r9 ↓ je 2753 movabs rdi,0x7420c2a5a290 cmp QWORD PTR [r9],rdi ↓ jne 2766 mov r10,QWORD PTR [rbp-0x3f0] cmp r10,r9 sete r11b movzx r11d,r11b 1753: test r11d,r11d ↓ je 2794 ↑ jmp e1c 1761: mov rdi,rax mov rsi,r13 mov rdx,QWORD PTR [rbp-0x1d8] mov rax,QWORD PTR [rax] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x38] ↓ jmp 1833 0.35 177d: vxorps ymm0,ymm0,ymm0 vmovdqu32 ZMMWORD PTR [rbp-0x278],zmm0 vmovdqu32 ZMMWORD PTR [rbp-0x238],zmm0 vmovdqu YMMWORD PTR [rbp-0x1f8],ymm0 mov QWORD PTR [rbp-0x210],rcx mov rdi,QWORD PTR [rcx+0xd0] 0.09 mov QWORD PTR [rbp-0x218],rdi mov rdi,QWORD PTR [rbp-0x218] mov rdi,QWORD PTR [rdi+0xc8] 0.09 mov QWORD PTR [rbp-0x1e8],rdi mov BYTE PTR [rbp-0x22a],0x0 mov BYTE PTR [rbp-0x229],0x0 mov rax,QWORD PTR [rcx+0xb8] mov QWORD PTR [rbp-0x458],rax 0.27 cmp DWORD PTR [rax+0x8c],0x0 0.09 ↓ jne 28de 0.09 17f0: mov rcx,QWORD PTR [rbp-0x370] 0.09 mov rdi,QWORD PTR [rcx+0x158] 0.18 mov rcx,QWORD PTR [rcx+0xb8] 0.09 lea rdx,[rbp-0x1d8] lea r8,[rbp-0x278] mov rsi,r13 0.27 movabs rax,0x7420c4734408 cmp DWORD PTR [rdi],edi 1.77 → call QWORD PTR [rax] 0.09 1824: mov rdi,r13 movabs rax,0x7420c4666f40 → call QWORD PTR [rax] 1833: xor edi,edi mov QWORD PTR [rbp-0x1d8],rdi mov rax,QWORD PTR [rbp-0x470] mov ecx,DWORD PTR [rbp-0x2d4] mov esi,DWORD PTR [rbp-0x2d8] 0.27 mov r14,QWORD PTR [rbp-0x2e8] 0.18 ↑ jmp 5a1 185b: mov rdi,r13 mov esi,0x7d movabs rax,0x7420c47a72a0 → call QWORD PTR [rax] ↑ jmp 1033 1874: mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 ↓ jne 2c1d mov rdi,r13 mov esi,0x5d movabs rax,0x7420c47a72b8 → call QWORD PTR [rax] 1898: or DWORD PTR [r13+0x28],0x80000000 test DWORD PTR [r13+0x28],0x7fffffff ↓ je 18ae dec DWORD 18ae: mov BYTE PTR [r13+0x3a],0x4 mov edi,DWORD PTR [r13+0x7c] and edi,0x3 cmp edi,0x2 ↓ jne 2c36 mov rdi,r13 mov esi,0x7d movabs rax,0x7420c47a72b8 → call QWORD PTR [rax] 18d7: or DWORD PTR [r13+0x28],0x80000000 test DWORD PTR [r13+0x28],0x7fffffff ↓ je 18ed dec DWORD 18ed: mov BYTE PTR [r13+0x3a],0x2 mov rdi,r13 movabs rax,0x7420c4666f40 → call QWORD PTR [rax] movabs rdi,0x7420c42f8fd8 cmp QWORD PTR [r14],rdi ↓ jne 2c4f mov rdi,r14 movabs rax,0x7420c42f90b0 → call QWORD PTR [rax] 1923: test rax,rax ↓ je 2c61 vzeroupper add rsp,0x478 pop rbx pop r12 pop r13 pop r14 pop r15 pop rbp ← ret 1941: mov edi,0x17 movabs rax,0x7420c4666e50 → call QWORD PTR [rax] mov r15,rax ↑ jmp 8a 195a: movabs rdi,0x7420c42f8fd8 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov r14,rax mov rdi,r14 mov esi,0x10000 movabs rax,0x7420c448ca08 → call QWORD PTR [rax] lea rdi,[r15+0x18] mov rsi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 ↑ jmp 97 1991: xor edi,edi movabs rax,0x7420c4837cd8 → call QWORD PTR [rax] int3 19a0: movabs rdi,0x7420c3b67ac0 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov r15,rax movabs rax,0x7420c483d350 → call QWORD PTR [rax] mov rbx,rax mov DWORD PTR [r15+0x8],0x7fffffc7 movabs rdi,0x7420c3c44f00 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov r14,rax mov rsi,r15 mov rdi,rbx movabs rax,0x7420c483d368 → call QWORD PTR [rax] mov rdx,rax mov rdi,r14 movabs rsi,0x7420c1601a68 movabs rax,0x7420c3d5eb98 → call QWORD PTR [rax] mov rdi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6ae660 int3 1a12: mov rdi,r14 xor esi,esi mov rax,QWORD PTR [r14] mov rax,QWORD PTR [rax+0x48] → call QWORD PTR [rax+0x18] mov rdi,r14 xor esi,esi mov rax,QWORD PTR [r14] mov rax,QWORD PTR [rax+0x68] → call QWORD PTR [rax+0x8] ↑ jmp 111 1a35: movabs rax,0x7420c4837cf0 → call QWORD PTR [rax] int3 1a42: movabs rdi,0x7420c3ddd8c8 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov r14,rax movabs rax,0x7420c4837d08 → call QWORD PTR [rax] mov rsi,rax mov rdi,r14 movabs rax,0x7420c459cde0 → call QWORD PTR [rax] mov rdi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6ae660 int3 1a7b: mov edi,0x100 cmp r13d,0x100 mov esi,edi cmovge esi,r13d mov edi,DWORD PTR [r14+0x24] add edi,edi cmp esi,edi ↓ jge 1a9d mov esi,DWORD PTR [r14+0x24] add esi,esi 1a9d: mov edi,DWORD PTR [r14+0x24] add edi,edi cmp edi,0x7fffffc7 ↓ jbe 1abb mov esi,0x7fffffc7 cmp r13d,0x7fffffc7 cmovge esi,r13d 1abb: mov rdi,r14 movabs rax,0x7420c42f9208 → call QWORD PTR [rax] ↑ jmp 103 1acf: mov edx,r13d sub edx,DWORD PTR [r14+0x20] mov esi,DWORD PTR [r14+0x20] mov rdi,QWORD PTR [r14+0x10] movabs rax,0x7420c3edd680 → call QWORD PTR [rax] ↑ jmp 103 1aef: mov DWORD PTR [r14+0x1c],r13d ↑ jmp 111 1af8: vxorps xmm0,xmm0,xmm0 vmovdqu XMMWORD PTR [rbp-0x38],xmm0 lea rdi,[rbp-0x38] mov esi,0x1 movabs rax,0x7420c4666e68 → call QWORD PTR [rax] movabs rdi,0x7420c42f8768 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov r13,rax mov rdx,QWORD PTR [rbp-0x38] mov rcx,QWORD PTR [rbp-0x30] mov rdi,r13 mov rsi,r14 movabs rax,0x7420c4666e80 → call QWORD PTR [rax] lea rdi,[r15+0x10] mov rsi,r13 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov r14,QWORD PTR [rbp-0x2e8] ↑ jmp 1d5 1b5a: cmp QWORD PTR [r13+0x8],0x0 ↑ jne 129 movabs rax,0x7420c4737438 → call QWORD PTR [rax] int3 1b72: mov rdi,r14 mov rax,QWORD PTR [r14] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x30] mov r15d,eax ↑ jmp 141 1b87: movabs rdi,0x7420c3b9e428 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov r14,rax movabs rax,0x7420c4666fa0 → call QWORD PTR [rax] mov rsi,rax mov rdi,r14 movabs rax,0x7420c3d5ca98 → call QWORD PTR [rax] mov rdi,r14 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6ae660 int3 1bc0: movabs rdi,0x7420c468c228 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov r15,rax mov rdi,r15 movabs rax,0x7420c4666fd0 → call QWORD PTR [rax] lea rdi,[r13+0x18] mov rsi,r15 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 ↑ jmp 195 1bf2: test esi,esi ↓ jne 2c03 xor edi,edi xor esi,esi ↑ jmp 181 1c03: mov rdi,r13 movabs rax,0x7420c46670d8 → call QWORD PTR [rax] ↑ jmp 1e9 1c17: mov rdi,r13 mov esi,0x2 movabs rax,0x7420c4667168 → call QWORD PTR [rax] ↑ jmp 20a 1c30: mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x28] mov r12,rax mov eax,edx ↑ jmp 231 1c44: mov edx,DWORD PTR [r13+0x28] mov ecx,DWORD PTR [r13+0x78] mov rdi,r15 mov esi,0x7 movabs rax,0x7420c4667360 → call QWORD PTR [rax] ↑ jmp 2c2 1c65: mov edx,0x7 mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x28] ↑ jmp 30c 1c79: mov rsi,r15 mov edx,0x7 mov rdi,r13 mov r8d,eax mov ecx,0x5b movabs rax,0x7420c46673f0 → call QWORD PTR [rax] ↑ jmp 47f 1c9d: cmp BYTE PTR [r13+0x38],0x5 ↓ jne 1cab cmp BYTE PTR [r13+0x3a],0x5 ↓ jne 1cba 1cab: mov rdi,r13 movabs rax,0x7420c466c480 → call QWORD PTR [rax] 1cba: lea r12,[r13+0x50] cmp DWORD PTR [r12+0x10],0x40 ↓ jge 1ccd shl QWORD PTR [r12+0x8],1 ↓ jmp 1cde 1ccd: mov rdi,r12 xor esi,esi movabs rax,0x7420c466d038 → call QWORD PTR [rax] 1cde: inc DWORD mov BYTE PTR [r13+0x38],0x10 ↑ jmp 326 1ced: mov rsi,r15 mov edx,0x7 mov rdi,r13 mov ecx,0x5b movabs rax,0x7420c466c438 → call QWORD PTR [rax] ↑ jmp 47f 1d0e: mov rdi,r13 mov esi,0x1a movabs rax,0x7420c4667168 → call QWORD PTR [rax] ↑ jmp 342 1d27: mov rax,QWORD PTR [rdi] mov rax,QWORD PTR [rax+0x40] → call QWORD PTR [rax+0x28] mov ecx,edx mov rdx,rax mov eax,ecx mov ecx,eax mov rax,rdx ↑ jmp 369 1d42: mov r12d,DWORD PTR [r13+0x34] lea edx,[r12+0x1] mov DWORD PTR [r13+0x34],edx cmp r12d,ecx ↓ jae 2c95 mov edx,r12d mov BYTE PTR [rax+rdx*1],0x2c ↑ jmp 39b 1d64: mov rsi,rax movabs rax,0x7420c3b56928 → call QWORD PTR [rax] mov rcx,rax ↑ jmp 10af 1d7b: mov rdi,r13 movabs rcx,0x7420c483d440 → call QWORD PTR [rcx] test eax,eax ↑ jne 11fd mov rdi,r13 movabs rax,0x7420c483d458 → call QWORD PTR [rax] ↑ jmp 11fd 1da6: mov rdi,r13 movabs rcx,0x7420c46670d8 → call QWORD PTR [rcx] ↑ jmp 10d2 1dba: mov rdi,rcx mov esi,0x1 movabs rdx,0x7420c466d038 → call QWORD PTR [rdx] mov rcx,QWORD PTR [rbp-0x308] ↑ jmp 130f 1dda: mov rsi,QWORD PTR [rdi] mov rsi,QWORD PTR [rsi+0x40] → call QWORD PTR [rsi+0x28] mov rsi,rax mov r8d,edx ↑ jmp 1376 1def: vmovups YMMWORD PTR [rsi+r10*1],ymm0 ↑ jmp 1588 1dfa: mov rdi,rcx mov esi,0x1 movabs rdx,0x7420c466d038 → call QWORD PTR [rdx] mov rcx,QWORD PTR [rbp-0x318] ↑ jmp 15e5 1e1a: mov rdi,QWORD PTR [rcx+0x8] mov edi,DWORD PTR [rdi+0x8] cmp edi,0x100 ↓ jle 1e2d mov esi,edi ↓ jmp 1e32 1e2d: mov esi,0x100 1e32: mov edx,esi test edi,edi ↓ jne 1e3a mov edx,esi 1e3a: lea esi,[rdi+rdx*1] cmp esi,0x7fffffc7 ↓ jbe 1e68 mov rsi,QWORD PTR [rcx+0x8] mov esi,DWORD PTR [rsi+0x8] sub esi,DWORD PTR [rcx+0x10] sub edi,esi add edi,0x100 cmp edi,0x7fffffc7 ↓ ja 2b5f mov esi,0x7fffffc7 1e68: lea rdi,[rcx+0x8] movabs rdx,0x7420c46672b8 → call QWORD PTR [rdx] mov rcx,QWORD PTR [rbp-0x320] ↑ jmp 1258 1e84: test ecx,ecx ↓ jne 2c03 xor esi,esi xor edx,edx mov DWORD PTR [rbp-0x2bc],edx mov DWORD PTR [rbp-0x2c0],edx ↑ jmp 1287 1ea1: mov rdi,QWORD PTR [r13+0x8] movabs r11,0x7420c2a62830 mov esi,0x100 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x90],rax mov QWORD PTR [rbp-0x88],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x90] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6aec20 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x100 ↑ jge 10f3 ↓ jmp 2bf6 1eea: cmp QWORD PTR [r13+0x10],0x0 ↓ je 1f4c mov esi,DWORD PTR [r13+0x34] add esi,0x1000 cmp esi,0x7fefffff ↓ ja 2b6c lea rcx,[r13+0x40] mov QWORD PTR [rbp-0x480],rcx mov rdi,QWORD PTR [r13+0x18] movabs rdx,0x7420c468c2c0 cmp DWORD PTR [rdi],edi → call QWORD PTR [rdx] mov QWORD PTR [rbp-0xa0],rax mov QWORD PTR [rbp-0x98],rdx mov rdi,QWORD PTR [rbp-0x480] lea rsi,[rbp-0xa0] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6aec20 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] ↑ jmp 10f3 1f4c: mov rdi,QWORD PTR [r13+0x8] mov esi,DWORD PTR [r13+0x34] movabs r11,0x7420c2a62820 → call QWORD PTR [r11] movsxd rdi,DWORD PTR [r13+0x34] add QWORD PTR [r13+0x20],rdi xor edi,edi mov DWORD PTR [r13+0x34],edi mov rdi,QWORD PTR [r13+0x8] movabs r11,0x7420c2a62828 mov esi,0x1000 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x80],rax mov QWORD PTR [rbp-0x78],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x80] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6aec20 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x1000 ↑ jge 10f3 ↓ jmp 2bf6 1faf: mov rdx,QWORD PTR [rdi] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x28] mov esi,edx mov rdx,rax ↑ jmp 1120 1fc3: mov edx,0xffffffff mov DWORD PTR [rbp-0x2d8],r8d mov ecx,edx ↑ jmp 680 1fd6: mov DWORD PTR [rbp-0x2d8],r8d mov rdi,r11 mov rsi,rdx mov edx,r10d mov r11,QWORD PTR [r11] mov r11,QWORD PTR [r11+0x40] → call QWORD PTR [r11+0x28] mov ecx,eax ↑ jmp 680 1ff8: cmp BYTE PTR [r13+0x38],0x5 ↓ jne 200a cmp BYTE PTR [r13+0x3a],0x5 ↑ jne 69d 200a: mov rdi,r13 movabs rcx,0x7420c466c480 → call QWORD PTR [rcx] ↑ jmp 69d 201e: mov rdi,QWORD PTR [rbp-0x330] mov r10d,DWORD PTR [rbp-0xa4] mov rsi,rdi mov edx,r10d mov rdi,r13 movabs rcx,0x7420c466d1a0 → call QWORD PTR [rcx] ↑ jmp 8e1 2046: mov ecx,esi ↑ jmp 6e2 204d: mov rsi,QWORD PTR [rdx+0x8] mov esi,DWORD PTR [rsi+0x8] cmp ecx,esi ↓ jge 205d mov r11d,esi ↓ jmp 2060 205d: mov r11d,ecx 2060: mov DWORD PTR [rbp-0xd8],r11d test esi,esi ↓ jne 2081 mov r11d,DWORD PTR [rbp-0xd8] cmp r11d,0x100 ↓ jge 2081 mov r11d,0x100 2081: add r11d,esi cmp r11d,0x7fffffc7 ↓ jbe 20b0 mov r11,QWORD PTR [rdx+0x8] mov r11d,DWORD PTR [r11+0x8] sub r11d,DWORD PTR [rdx+0x10] sub esi,r11d add ecx,esi cmp ecx,0x7fffffc7 ↓ ja 2ba2 mov r11d,0x7fffffc7 20b0: lea rdi,[rdx+0x8] mov esi,r11d movabs rcx,0x7420c46672b8 → call QWORD PTR [rcx] mov rdx,QWORD PTR [rbp-0x338] ↑ jmp 70c 20cf: test ecx,ecx ↓ jne 2c03 xor esi,esi xor edx,edx mov DWORD PTR [rbp-0x2c4],edx mov DWORD PTR [rbp-0x2c8],edx ↑ jmp 73b 20ec: mov rdi,QWORD PTR [r13+0x8] mov DWORD PTR [rbp-0xd4],ecx mov esi,ecx movabs r11,0x7420c2a62848 → call QWORD PTR [r11] mov QWORD PTR [rbp-0xd0],rax mov QWORD PTR [rbp-0xc8],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0xd0] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6aec20 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] mov edi,DWORD PTR [rbp-0xd4] cmp DWORD PTR [r13+0x4c],edi ↑ jge 758 ↓ jmp 2bf6 213a: cmp esi,0x1000 ↓ jle 214a mov DWORD PTR [rbp-0xdc],esi ↓ jmp 2155 214a: mov esi,0x1000 mov DWORD PTR [rbp-0xdc],esi 2155: cmp QWORD PTR [r13+0x10],0x0 ↓ je 21b7 mov esi,DWORD PTR [rbp-0xdc] add esi,DWORD PTR [r13+0x34] cmp esi,0x7fefffff ↓ ja 2bb1 lea rcx,[r13+0x40] mov QWORD PTR [rbp-0x488],rcx mov rdi,QWORD PTR [r13+0x18] movabs rdx,0x7420c468c2c0 cmp DWORD PTR [rdi],edi → call QWORD PTR [rdx] mov QWORD PTR [rbp-0xf0],rax mov QWORD PTR [rbp-0xe8],rdx mov rdi,QWORD PTR [rbp-0x488] lea rsi,[rbp-0xf0] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6aec20 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] ↑ jmp 758 21b7: mov rdi,QWORD PTR [r13+0x8] mov esi,DWORD PTR [r13+0x34] movabs r11,0x7420c2a62838 → call QWORD PTR [r11] movsxd rdi,DWORD PTR [r13+0x34] add QWORD PTR [r13+0x20],rdi xor edi,edi mov DWORD PTR [r13+0x34],edi mov rdi,QWORD PTR [r13+0x8] mov esi,DWORD PTR [rbp-0xdc] movabs r11,0x7420c2a62840 → call QWORD PTR [r11] mov QWORD PTR [rbp-0xc0],rax mov QWORD PTR [rbp-0xb8],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0xc0] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6aec20 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] mov esi,DWORD PTR [rbp-0xdc] cmp DWORD PTR [r13+0x4c],esi ↑ jge 758 ↓ jmp 2bf6 2226: mov rdi,r11 mov rdx,QWORD PTR [r11] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x28] mov esi,edx mov rdx,rax mov eax,esi mov esi,eax ↑ jmp 786 2241: movabs rdi,0x741913c033d8 xor esi,esi movabs rcx,0x7420c466da28 → call QWORD PTR [rcx] mov rcx,rax ↑ jmp 914 2261: mov QWORD PTR [rbp-0x350],rcx mov rdi,rcx movabs rdx,0x7420c466df80 → call QWORD PTR [rdx] mov rcx,QWORD PTR [rbp-0x350] ↑ jmp 921 2283: mov ecx,0x101 mov rdi,QWORD PTR [rbp-0x350] movabs rsi,0x7420c16025a8 mov edx,0x1 xor r8d,r8d xor r9d,r9d movabs r10,0x7420c466e0a0 → call QWORD PTR [r10] mov rsi,rax mov QWORD PTR [rbp-0x358],rsi mov rdi,QWORD PTR [rbp-0x350] lea rdi,[rdi+0x18] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov rsi,QWORD PTR [rbp-0x358] ↑ jmp 935 22d7: movabs rax,0x7420c3b563d0 → call QWORD PTR [rax] int3 22e4: mov rcx,QWORD PTR [rcx+0x148] mov rsi,r13 mov rdx,QWORD PTR [rbp-0x120] mov rdi,QWORD PTR [rcx+0x8] → call QWORD PTR [rcx+0x18] ↑ jmp 578 2301: mov rdi,rcx movabs rdx,0x7420c466e160 → call QWORD PTR [rdx] mov rdx,rax mov rax,QWORD PTR [rbp-0x378] mov rcx,QWORD PTR [rbp-0x380] ↑ jmp a0a 2326: movabs rdi,0x7420c46c05b8 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov r8,rax mov QWORD PTR [rbp-0x3a8],r8 mov rdi,r8 xor esi,esi movabs rdx,0x7420c466a748 movabs rcx,0x7420c2a5d740 movabs rax,0x7420c3b57e28 → call QWORD PTR [rax] movabs rdi,0x741913c03428 mov rsi,QWORD PTR [rbp-0x3a8] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov r8,QWORD PTR [rbp-0x3a8] mov rax,r8 mov r8,rax mov rax,QWORD PTR [rbp-0x378] mov rcx,QWORD PTR [rbp-0x380] ↑ jmp a32 239a: mov rsi,r9 movabs r11,0x7420c2a62850 → call QWORD PTR [r11] ↑ jmp a7d 23af: mov rdi,QWORD PTR [rbp-0x3b0] movabs rax,0x7420c3d5c8e8 → call QWORD PTR [rax] ↑ jmp a7d 23c7: mov r8,QWORD PTR [rbp-0x3d8] ↑ jmp 162f 23d3: mov r10,QWORD PTR [rbp-0x378] ↓ jmp 24a4 23df: mov r10,QWORD PTR [rbp-0x378] mov rdi,r9 mov rsi,r10 mov rdx,QWORD PTR [r9] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x10] mov r11d,eax mov r10,QWORD PTR [rbp-0x378] ↑ jmp b2b 2405: mov r8,QWORD PTR [rbp-0x3d8] ↑ jmp 162f 2411: mov r10,QWORD PTR [rbp-0x378] ↓ jmp 24a4 241d: mov rdx,QWORD PTR [rbp-0x3d0] mov r10,QWORD PTR [rbp-0x378] mov rdi,rdx mov rdx,r10 mov rsi,r9 movabs r11,0x7420c2a62858 → call QWORD PTR [r11] mov r11d,eax mov rdx,QWORD PTR [rbp-0x3d0] mov r10,QWORD PTR [rbp-0x378] ↑ jmp 16ba 2457: mov r8,QWORD PTR [rbp-0x3d8] mov r10,QWORD PTR [rbp-0x378] ↑ jmp 164e 246a: mov r10,QWORD PTR [rbp-0x378] mov rdi,r9 mov rsi,r10 mov r9,QWORD PTR [r9] mov r9,QWORD PTR [r9+0x40] → call QWORD PTR [r9+0x10] mov r11d,eax mov rdx,QWORD PTR [rbp-0x3d0] mov r10,QWORD PTR [rbp-0x378] ↑ jmp 16ba 2498: mov r8,QWORD PTR [rbp-0x3d8] ↑ jmp 164e 24a4: xor esi,esi mov QWORD PTR [rbp-0x1d0],rsi mov rsi,r10 mov rdx,QWORD PTR [rbp-0x398] mov r8,QWORD PTR [rbp-0x3b8] mov rdi,QWORD PTR [r8+0x8] → call QWORD PTR [r8+0x18] mov r8,rax mov DWORD PTR [rsp],0x1 lea rcx,[rbp-0x1d0] mov QWORD PTR [rsp+0x8],rcx mov ecx,DWORD PTR [rbp-0x1c4] shl rcx,0x20 or rcx,0x1 mov rsi,QWORD PTR [rbp-0x3c8] mov rdx,QWORD PTR [rbp-0x378] mov rdi,QWORD PTR [rbp-0x3c0] xor r9d,r9d movabs rax,0x7420c400d578 → call QWORD PTR [rax] mov r10,QWORD PTR [rbp-0x378] ↑ jmp b46 251a: mov rdi,QWORD PTR [rbp-0x398] mov rsi,r10 movabs rax,0x7420c466e700 → call QWORD PTR [rax] mov rdx,rax mov r10,QWORD PTR [rbp-0x378] ↑ jmp b71 253f: mov QWORD PTR [rbp-0x390],rdx mov rdi,rdx movabs rax,0x7420c46ff738 → call QWORD PTR [rax] mov rax,QWORD PTR [rbp-0x378] mov rcx,QWORD PTR [rbp-0x380] mov rdx,QWORD PTR [rbp-0x390] ↑ jmp b91 256f: mov rsi,QWORD PTR [rcx+0x20] mov rdi,rax movabs rax,0x7420c466e148 → call QWORD PTR [rax] int3 2583: mov rax,r10 mov rcx,QWORD PTR [rbp-0x380] ↑ jmp b91 2592: mov QWORD PTR [rbp-0x368],rax mov rdi,rax movabs rcx,0x7420c4734918 → call QWORD PTR [rcx] mov rcx,QWORD PTR [rbp-0x368] lea rdi,[rcx+0xf8] mov rsi,rax → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov rax,QWORD PTR [rbp-0x368] mov BYTE PTR [rax+0x11a],0x1 ↑ jmp bc7 25d1: mov rax,rsi ↑ jmp bd7 25d9: mov rax,QWORD PTR [rbp-0x368] mov rax,QWORD PTR [rax+0x148] mov rsi,r13 mov rdx,QWORD PTR [rbp-0x1d8] mov rdi,QWORD PTR [rax+0x8] → call QWORD PTR [rax+0x18] ↑ jmp 1824 25fd: mov rdi,rcx movabs rdx,0x7420c466e160 → call QWORD PTR [rdx] mov rdx,rax mov rax,QWORD PTR [rbp-0x3f0] mov rcx,QWORD PTR [rbp-0x3f8] ↑ jmp cf2 2622: movabs rdi,0x7420c46c05b8 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov r8,rax mov QWORD PTR [rbp-0x420],r8 mov rdi,r8 xor esi,esi movabs rdx,0x7420c466a748 movabs rcx,0x7420c2a5d740 movabs rax,0x7420c3b57e28 → call QWORD PTR [rax] movabs rdi,0x741913c03428 mov rsi,QWORD PTR [rbp-0x420] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov r8,QWORD PTR [rbp-0x420] mov rax,r8 mov r8,rax mov rax,QWORD PTR [rbp-0x3f0] mov rcx,QWORD PTR [rbp-0x3f8] ↑ jmp d1a 2696: mov rsi,r9 movabs r11,0x7420c2a62860 → call QWORD PTR [r11] ↑ jmp d65 26ab: mov rdi,QWORD PTR [rbp-0x428] movabs rax,0x7420c3d5c8e8 → call QWORD PTR [rax] ↑ jmp d65 26c3: mov r8,QWORD PTR [rbp-0x450] ↑ jmp 16c8 26cf: mov r10,QWORD PTR [rbp-0x3f0] ↓ jmp 27a0 26db: mov r10,QWORD PTR [rbp-0x3f0] mov rdi,r9 mov rsi,r10 mov rdx,QWORD PTR [r9] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x10] mov r11d,eax mov r10,QWORD PTR [rbp-0x3f0] ↑ jmp e13 2701: mov r8,QWORD PTR [rbp-0x450] ↑ jmp 16c8 270d: mov r10,QWORD PTR [rbp-0x3f0] ↓ jmp 27a0 2719: mov rdx,QWORD PTR [rbp-0x448] mov r10,QWORD PTR [rbp-0x3f0] mov rdi,rdx mov rdx,r10 mov rsi,r9 movabs r11,0x7420c2a62868 → call QWORD PTR [r11] mov r11d,eax mov rdx,QWORD PTR [rbp-0x448] mov r10,QWORD PTR [rbp-0x3f0] ↑ jmp 1753 2753: mov r8,QWORD PTR [rbp-0x450] mov r10,QWORD PTR [rbp-0x3f0] ↑ jmp 16e7 2766: mov r10,QWORD PTR [rbp-0x3f0] mov rdi,r9 mov rsi,r10 mov r9,QWORD PTR [r9] mov r9,QWORD PTR [r9+0x40] → call QWORD PTR [r9+0x10] mov r11d,eax mov rdx,QWORD PTR [rbp-0x448] mov r10,QWORD PTR [rbp-0x3f0] ↑ jmp 1753 2794: mov r8,QWORD PTR [rbp-0x450] ↑ jmp 16e7 27a0: xor esi,esi mov QWORD PTR [rbp-0x288],rsi mov rsi,r10 mov rdx,QWORD PTR [rbp-0x410] mov r8,QWORD PTR [rbp-0x430] mov rdi,QWORD PTR [r8+0x8] → call QWORD PTR [r8+0x18] mov r8,rax mov DWORD PTR [rsp],0x1 lea rcx,[rbp-0x288] mov QWORD PTR [rsp+0x8],rcx mov ecx,DWORD PTR [rbp-0x27c] shl rcx,0x20 or rcx,0x1 mov rsi,QWORD PTR [rbp-0x440] mov rdx,QWORD PTR [rbp-0x3f0] mov rdi,QWORD PTR [rbp-0x438] xor r9d,r9d movabs rax,0x7420c400d578 → call QWORD PTR [rax] mov r10,QWORD PTR [rbp-0x3f0] ↑ jmp e2e 2816: mov rdi,QWORD PTR [rbp-0x410] mov rsi,r10 movabs rax,0x7420c466e700 → call QWORD PTR [rax] mov rdx,rax mov r10,QWORD PTR [rbp-0x3f0] ↑ jmp e59 283b: mov QWORD PTR [rbp-0x408],rdx mov rdi,rdx movabs rax,0x7420c46ff738 → call QWORD PTR [rax] mov rax,QWORD PTR [rbp-0x3f0] mov rcx,QWORD PTR [rbp-0x3f8] mov rdx,QWORD PTR [rbp-0x408] ↑ jmp e79 286b: mov rsi,QWORD PTR [rcx+0x20] mov rdi,rax movabs rax,0x7420c466e148 → call QWORD PTR [rax] int3 287f: mov rax,r10 mov rcx,QWORD PTR [rbp-0x3f8] ↑ jmp e79 288e: mov QWORD PTR [rbp-0x3e8],rax mov rdi,rax movabs rcx,0x7420c4734918 → call QWORD PTR [rcx] mov rcx,QWORD PTR [rbp-0x3e8] lea rdi,[rcx+0xf8] mov rsi,rax → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xfffffffffe153d80 mov rax,QWORD PTR [rbp-0x3e8] mov BYTE PTR [rax+0x11a],0x1 ↑ jmp eaf 28cd: mov rax,rdi ↑ jmp ebf 28d5: xor eax,eax xor edi,edi ↑ jmp ec4 28de: mov rdi,QWORD PTR [rax+0x38] mov esi,0x1 mov r8,QWORD PTR [rdi] mov r8,QWORD PTR [r8+0x40] → call QWORD PTR [r8+0x28] mov QWORD PTR [rbp-0x258],rax mov rdi,QWORD PTR [rbp-0x458] cmp DWORD PTR [rdi+0x8c],0x2 ↑ jne 17f0 cmp QWORD PTR [rbp-0x3e0],0x0 ↑ je 17f0 mov rcx,QWORD PTR [rbp-0x370] mov rdi,QWORD PTR [rcx+0xc0] mov rdx,QWORD PTR [rdi] mov rdx,QWORD PTR [rdx+0x78] → call QWORD PTR [rdx+0x8] test eax,eax ↑ je 17f0 mov rdi,QWORD PTR [rbp-0x258] mov rsi,QWORD PTR [rbp-0x3e0] mov rax,QWORD PTR [rbp-0x258] mov rax,QWORD PTR [rax] mov rax,QWORD PTR [rax+0x48] → call QWORD PTR [rax] ↑ jmp 17f0 295e: mov rdi,QWORD PTR [rdi+0x38] mov esi,0x1 mov rdx,QWORD PTR [rdi] mov rdx,QWORD PTR [rdx+0x40] → call QWORD PTR [rdx+0x28] mov QWORD PTR [rbp-0x1a0],rax ↑ jmp 543 297d: mov DWORD PTR [rbp-0x2d8],r8d cmp r8d,DWORD PTR [rax+0x38] mov rax,QWORD PTR [rbp-0x470] mov esi,DWORD PTR [rbp-0x2d8] ↑ jb 5b3 ↑ jmp f24 29a0: mov rdi,QWORD PTR [rax+0x8] mov edi,DWORD PTR [rdi+0x8] cmp edi,0x100 ↓ jle 29b3 mov esi,edi ↓ jmp 29b8 29b3: mov esi,0x100 29b8: mov ecx,esi test edi,edi ↓ jne 29cf cmp esi,0x100 ↓ jge 29cd mov ecx,0x100 ↓ jmp 29cf 29cd: mov ecx,esi 29cf: lea esi,[rdi+rcx*1] cmp esi,0x7fffffc7 ↓ jbe 29fd mov rsi,QWORD PTR [rax+0x8] mov esi,DWORD PTR [rsi+0x8] sub esi,DWORD PTR [rax+0x10] sub edi,esi add edi,0x100 cmp edi,0x7fffffc7 ↓ ja 2bda mov esi,0x7fffffc7 29fd: lea rdi,[rax+0x8] movabs rcx,0x7420c46672b8 → call QWORD PTR [rcx] mov rax,QWORD PTR [rbp-0x460] ↑ jmp f7b 2a19: test eax,eax ↓ jne 2c03 xor esi,esi xor ecx,ecx mov DWORD PTR [rbp-0x2cc],ecx mov DWORD PTR [rbp-0x2d0],ecx ↑ jmp fa7 2a36: mov rdi,QWORD PTR [r13+0x8] movabs r11,0x7420c2a62880 mov esi,0x100 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x2a8],rax mov QWORD PTR [rbp-0x2a0],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x2a8] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6aec20 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x100 ↑ jge fc4 ↓ jmp 2bf6 2a7f: cmp QWORD PTR [r13+0x10],0x0 ↓ je 2ae1 mov esi,DWORD PTR [r13+0x34] add esi,0x1000 cmp esi,0x7fefffff ↓ ja 2be7 lea rax,[r13+0x40] mov QWORD PTR [rbp-0x490],rax mov rdi,QWORD PTR [r13+0x18] movabs rcx,0x7420c468c2c0 cmp DWORD PTR [rdi],edi → call QWORD PTR [rcx] mov QWORD PTR [rbp-0x2b8],rax mov QWORD PTR [rbp-0x2b0],rdx mov rdi,QWORD PTR [rbp-0x490] lea rsi,[rbp-0x2b8] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6aec20 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] ↑ jmp fc4 2ae1: mov rdi,QWORD PTR [r13+0x8] mov esi,DWORD PTR [r13+0x34] movabs r11,0x7420c2a62870 → call QWORD PTR [r11] movsxd rdi,DWORD PTR [r13+0x34] add QWORD PTR [r13+0x20],rdi xor edi,edi mov DWORD PTR [r13+0x34],edi mov rdi,QWORD PTR [r13+0x8] movabs r11,0x7420c2a62878 mov esi,0x1000 → call QWORD PTR [r11] mov QWORD PTR [rbp-0x298],rax mov QWORD PTR [rbp-0x290],rdx lea rdi,[r13+0x40] lea rsi,[rbp-0x298] → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6aec20 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] cmp DWORD PTR [r13+0x4c],0x1000 ↑ jge fc4 ↓ jmp 2bf6 2b4d: mov rcx,QWORD PTR [rdi] mov rcx,QWORD PTR [rcx+0x40] → call QWORD PTR [rcx+0x28] mov rcx,rax ↑ jmp ff1 2b5f: movabs rax,0x7420c4667300 → call QWORD PTR [rax] int3 2b6c: mov edi,esi movabs rax,0x7420c466d0b0 → call QWORD PTR [rax] int3 2b7b: movabs rdi,0x7420c161d180 movabs rax,0x7420c4337b40 → call QWORD PTR [rax] int3 2b92: mov edi,r10d movabs rax,0x7420c466d170 → call QWORD PTR [rax] int3 2ba2: mov edi,ecx movabs rax,0x7420c4667300 → call QWORD PTR [rax] int3 2bb1: mov edi,esi movabs rax,0x7420c466d0b0 → call QWORD PTR [rax] int3 2bc0: movabs rax,0x7420c46ff708 → call QWORD PTR [rax] int3 2bcd: movabs rax,0x7420c46ff708 → call QWORD PTR [rax] int3 2bda: movabs rax,0x7420c4667300 → call QWORD PTR [rax] int3 2be7: mov edi,esi movabs rax,0x7420c466d0b0 → call QWORD PTR [rax] int3 2bf6: movabs rax,0x7420c4667258 → call QWORD PTR [rax] int3 2c03: movabs rax,0x7420c3d5dcf8 → call QWORD PTR [rax] int3 2c10: movabs rax,0x7420c3d5ed60 → call QWORD PTR [rax] int3 2c1d: mov rdi,r13 mov esi,0x5d movabs rax,0x7420c47a72a0 → call QWORD PTR [rax] ↑ jmp 1898 2c36: mov rdi,r13 mov esi,0x7d movabs rax,0x7420c47a72a0 → call QWORD PTR [rax] ↑ jmp 18d7 2c4f: mov rdi,r14 mov rax,QWORD PTR [r14] mov rax,QWORD PTR [rax+0x48] → call QWORD PTR [rax+0x8] ↑ jmp 1923 2c61: movabs rdi,0x7420c3b90e88 → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6afcb0 mov rbx,rax mov rdi,rbx movabs rsi,0x7420c161d100 movabs rax,0x7420c3edfed0 → call QWORD PTR [rax] mov rdi,rbx → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0x7d6ae660 int3 2c95: → call instance void [benchapp] Benchmarks::TokenSerialization()[OptimizedTier1]+0xffffffffff2654c8 int3 Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1,bool)[OptimizedTier1]() /tmp/jitted-41681-32913.so 0.36 push rbp 0.09 push r15 push r14 push r13 push r12 push rbx sub rsp,0x1f8 lea rbp,[rsp+0x220] 0.09 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 vmovdqu32 ZMMWORD PTR [rbp-0xe0],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0xa0],zmm8 movabs rax,0xc7e4975924e5404d mov QWORD PTR [rbp-0x30],rax mov QWORD PTR [rbp-0x40],rsi 0.54 mov QWORD PTR [rbp-0x38],rdx mov ebx,ecx vmovdqu xmm0,XMMWORD PTR [rbp-0x40] 4.62 vmovdqu XMMWORD PTR [rbp-0x1a8],xmm0 0.09 mov r15,rdi 0.09 mov r14d,DWORD PTR [rbp-0x1a0] 1.00 cmp r14d,0x2aaaaaaa ↓ jg 1c66 xor edi,edi mov QWORD PTR [rbp-0x1b0],rdi cmp r14d,0x55 ↓ jle 1c76 cmp r14d,0x15555555 0.09 ↓ jg 1c90 movabs rdi,0x741913c03338 mov r13,QWORD PTR [rdi] mov r12,r13 lea r14d,[r14+r14*2] movabs rdi,0x741913c00db8 mov rax,QWORD PTR [rdi] mov QWORD PTR [rbp-0x1b8],rax lea edi,[r14-0x1] or edi,0xf 0.09 xor ecx,ecx lzcnt ecx,edi 0.09 xor ecx,0x1f 0.27 add ecx,0xfffffffd mov DWORD PTR [rbp-0x44],ecx movabs rdi,0x7421420319a8 movabs rdx,0x742142931820 → call rdx cmp DWORD PTR [rax],0x18 ↓ jle 1cc4 mov rdi,QWORD PTR [rax+0x8] mov rax,QWORD PTR [rdi+0xc0] test rax,rax ↓ je 1cc4 126: mov rdi,QWORD PTR [rax+0x10] test rdi,rdi ↓ je 1d3b mov eax,DWORD PTR [rdi+0x8] mov ecx,DWORD PTR [rbp-0x44] 0.09 cmp eax,ecx ↓ jbe 1d3e mov eax,ecx shl rax,0x4 mov rdx,QWORD PTR [rdi+rax*1+0x10] 1.54 test rdx,rdx ↓ je 1d36 xor esi,esi mov QWORD PTR [rdi+rax*1+0x10],rsi mov r14,QWORD PTR [rbp-0x1b8] cmp BYTE PTR [r14+0x9d],0x0 ↓ jne 1cda 171: mov QWORD PTR [rbp-0x1b0],rdx 178: test rdx,rdx 0.09 ↓ je 202b lea r14,[rdx+0x10] mov r13d,DWORD PTR [rdx+0x8] 0.27 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,0x7420c466c5b8 → call QWORD PTR [rax] cmp eax,r13d ↓ ja 1b17 mov QWORD PTR [rbp-0x1d8],r14 mov DWORD PTR [rbp-0x194],eax mov QWORD PTR [rbp-0x70],r14 0.27 mov DWORD PTR [rbp-0x68],eax mov r14d,DWORD PTR [rbp-0x68] 0.27 test r14d,r14d ↓ je f20 test bl,bl ↓ jne f46 mov rsi,QWORD PTR [rbp-0x70] mov QWORD PTR [rbp-0x1e0],rsi mov edx,DWORD PTR [rbp-0x68] xor ecx,ecx mov QWORD PTR [rbp-0x160],rcx vxorps xmm0,xmm0,xmm0 0.09 vmovdqu XMMWORD PTR [rbp-0x158],xmm0 vmovdqu32 XMMWORD PTR [rbp-0x150],xmm0 lea rdi,[rsp] lea rsi,[rbp-0x178] mov ecx,0x4 rep movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi] 2.54 mov rcx,QWORD PTR [rsi] 0.18 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] 0.27 mov rsi,QWORD PTR [rbp-0x1e0] 0.09 lea rdi,[rbp-0x130] mov ecx,0x1 movabs rax,0x7420c466c9c0 0.27 → call QWORD PTR [rax] ↓ jmp 282 25b: lea rdi,[rbp-0x130] 1.81 mov esi,edx 0.36 movabs rax,0x7420c466cba0 → call QWORD PTR [rax] 0.45 mov ebx,eax 3.45 272: test ebx,ebx 1.63 ↓ je e5f 0.27 27a: test bl,bl 1.09 ↓ je e7e 282: cmp BYTE PTR [rbp-0x105],0x0 0.18 ↓ jne 1820 xor ebx,ebx 0.36 vxorps xmm0,xmm0,xmm0 0.36 vmovdqu XMMWORD PTR [rbp-0x98],xmm0 1.09 mov BYTE PTR [rbp-0x102],0x0 3.45 mov edi,DWORD PTR [rbp-0x110] 3.08 movsxd rax,edi mov ecx,DWORD PTR [rbp-0xf8] 0.18 mov edx,ecx 0.36 cmp rax,rdx 0.63 ↓ jge dff cmp edi,ecx 0.09 ↓ jae 1bdf mov rax,QWORD PTR [rbp-0x100] 0.09 mov edi,edi 2.18 movzx edx,BYTE PTR [rax+rdi*1] 8.34 cmp edx,0x20 0.27 ↓ jle f77 2dc: movsxd rdi,DWORD PTR [rbp-0x110] 1.45 mov QWORD PTR [rbp-0x118],rdi 0.91 rex movzx edi,BYTE PTR [rbp-0x108] 0.09 test edi,edi ↓ je de3 cmp edx,0x2f 2.36 ↑ je 25b cmp edi,0x1 0.27 ↓ je ad8 cmp edi,0x3 0.82 ↓ je 900 cmp edi,0x5 1.00 ↑ jne 25b 31e: mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 0.45 ↓ je 6af cmp edx,0x7b 1.54 ↓ je 609 cmp edx,0x5b 0.18 ↓ je 562 lea edi,[rdx-0x30] 1.54 cmp edi,0x9 0.18 ↓ jbe 3b7 cmp edx,0x2d 0.18 ↓ je 3b7 cmp edx,0x66 1.99 ↓ jne 380 movabs rsi,0x742131aca5ae mov edx,0x5 lea rdi,[rbp-0x130] mov ecx,0xa movabs rax,0x7420c466cde0 → call QWORD PTR [rax] mov ebx,eax ↓ jmp 8f3 380: cmp edx,0x74 0.54 ↓ jne 1392 movabs rsi,0x742131aca612 mov edx,0x4 lea rdi,[rbp-0x130] mov ecx,0x9 movabs rax,0x7420c466cde0 → call QWORD PTR [rax] mov ebx,eax ↓ jmp 8f3 3b7: mov edi,DWORD PTR [rbp-0x110] mov r13d,DWORD PTR [rbp-0xf8] cmp edi,r13d ↓ ja 1b17 mov eax,edi add rax,QWORD PTR [rbp-0x100] sub r13d,edi mov QWORD PTR [rbp-0x190],rax mov DWORD PTR [rbp-0x188],r13d xor edi,edi mov DWORD PTR [rbp-0x180],edi mov edi,DWORD PTR [rbp-0x180] cmp edi,DWORD PTR [rbp-0x188] ↓ jae 1bdf mov rax,QWORD PTR [rbp-0x190] cmp BYTE PTR [rax+rdi*1],0x2d 0.09 ↓ je 1555 412: mov esi,DWORD PTR [rbp-0x188] cmp DWORD PTR [rbp-0x180],esi 0.09 ↓ jae 1bdf mov rsi,QWORD PTR [rbp-0x190] mov edi,DWORD PTR [rbp-0x180] cmp BYTE PTR [rsi+rdi*1],0x30 ↓ je 15c1 mov esi,DWORD PTR [rbp-0x180] inc esi mov DWORD PTR [rbp-0x180],esi 0.09 xor esi,esi mov edi,DWORD PTR [rbp-0x180] 0.09 cmp edi,DWORD PTR [rbp-0x188] ↓ jge 483 459: mov esi,DWORD PTR [rbp-0x180] cmp esi,DWORD PTR [rbp-0x188] 0.09 ↓ jae 1bdf mov rdi,QWORD PTR [rbp-0x190] rex movzx esi,BYTE PTR [rdi+rsi*1] lea edi,[rsi-0x30] 0.18 cmp edi,0x9 ↓ jbe 53d 483: mov edi,DWORD PTR [rbp-0x180] cmp edi,DWORD PTR [rbp-0x188] ↓ jge 1614 movabs rdi,0x742131aca561 mov edx,0x8 movabs rax,0x7420c3ed7a38 → call QWORD PTR [rax] test eax,eax ↓ je 1639 4b8: xor ebx,ebx 4ba: cmp ebx,0x2 ↓ je 158c test ebx,ebx ↓ jne 1643 4cb: mov edi,DWORD PTR [rbp-0x180] cmp edi,DWORD PTR [rbp-0x188] ↓ ja 1b17 mov rsi,QWORD PTR [rbp-0x190] 0.09 mov QWORD PTR [rbp-0x98],rsi 0.09 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 0.36 add rdi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rdi movsxd rdi,DWORD PTR [rbp-0x110] 0.09 mov esi,DWORD PTR [rbp-0xf8] 0.09 cmp rdi,rsi ↓ jge 176c 533: mov ebx,0x1 538: ↓ jmp 8f3 53d: mov edi,DWORD PTR [rbp-0x180] inc edi mov DWORD PTR [rbp-0x180],edi mov edi,DWORD PTR [rbp-0x180] 0.09 cmp edi,DWORD PTR [rbp-0x188] 0.18 ↑ jl 459 ↑ jmp 483 562: mov edi,DWORD PTR [rbp-0xd8] cmp edi,DWORD PTR [rbp-0xf0] ↓ jge 19d6 cmp DWORD PTR [rbp-0xd8],0x40 ↓ jge 153b mov rdi,QWORD PTR [rbp-0xe0] add rdi,rdi mov QWORD PTR [rbp-0xe0],rdi 592: 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 1b17 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 0.09 mov BYTE PTR [rbp-0x108],0x3 mov BYTE PTR [rbp-0x10a],0x0 5ff: mov ebx,0x1 ↓ jmp 8f3 609: mov edi,DWORD PTR [rbp-0xd8] cmp edi,DWORD PTR [rbp-0xf0] ↓ jge 19b6 cmp DWORD PTR [rbp-0xd8],0x40 ↓ jge 151e mov rdi,QWORD PTR [rbp-0xe0] add rdi,rdi or rdi,0x1 mov QWORD PTR [rbp-0xe0],rdi 63d: 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 1b17 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 5ff 6af: mov esi,DWORD PTR [rbp-0x110] inc esi mov r13d,DWORD PTR [rbp-0xf8] 0.18 cmp esi,r13d ↓ ja 1b17 mov edx,esi add rdx,QWORD PTR [rbp-0x100] 0.27 sub r13d,esi movabs rsi,0x741913c03358 0.18 mov rsi,QWORD PTR [rsi] add rsi,0x8 mov rdi,rdx 0.45 cmp r13d,0x8 ↓ jl 84b cmp r13d,0x10 ↓ jg 771 vmovups xmm0,XMMWORD PTR [rsi] lea esi,[r13-0x8] mov ecx,esi 0.09 add rcx,rdx cmp rdx,rcx ↓ jbe 70e mov rdi,rcx ↓ jmp 711 70e: mov rdi,rdx 711: vmovq xmm1,QWORD PTR [rdi] 0.09 vpinsrq xmm1,xmm1,QWORD PTR [rcx],0x1 1.18 vpsrld xmm2,xmm1,0x4 0.09 vpandd xmm2,xmm2,DWORD BCST [rip+0x196e] # 2118 ,bool)[OptimizedTier1]+0x2098> 0.27 vpshufb xmm0,xmm0,xmm1 vmovsd xmm1,QWORD PTR [rip+0x1969] vpshufb xmm1,xmm1,xmm2 0.18 vpand xmm0,xmm1,xmm0 0.18 vptest xmm0,xmm0 0.36 ↓ je 884 0.82 vxorps xmm1,xmm1,xmm1 vpcmpeqb xmm0,xmm1,xmm0 vpmovmskb esi,xmm0 not esi tzcnt esi,esi cmp esi,0x8 ↓ jge 14d1 766: sub rdi,rdx lea ecx,[rdi+rsi*1] ↓ jmp 889 771: vmovups ymm0,YMMWORD PTR [rsi] 0.09 cmp r13d,0x20 0.18 ↓ jle 7be lea ecx,[r13-0x20] mov esi,ecx 0.18 add rsi,rdx 784: vmovups ymm1,YMMWORD PTR [rdi] 0.27 vpshufb ymm2,ymm0,ymm1 1.72 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x18fc] # 2118 ,bool)[OptimizedTier1]+0x2098> 1.09 vbroadcastsd ymm3,QWORD PTR [rip+0x1903] # 2128 ,bool)[OptimizedTier1]+0x20a8> 0.09 vpshufb ymm1,ymm3,ymm1 1.27 vpand ymm1,ymm1,ymm2 2.54 vptest ymm1,ymm1 4.90 ↓ jne 82e add rdi,0x20 cmp rdi,rsi ↑ jb 784 7be: lea esi,[r13-0x10] mov ecx,esi add rcx,rdx cmp rdi,rcx ↓ jbe 7d1 mov rsi,rcx ↓ jmp 7d4 7d1: mov rsi,rdi 7d4: vmovdqu xmm1,XMMWORD PTR [rsi] vinserti128 ymm1,ymm1,XMMWORD PTR [rcx],0x1 vpshufb ymm0,ymm0,ymm1 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x18a6] # 2118 ,bool)[OptimizedTier1]+0x2098> vbroadcastsd ymm2,QWORD PTR [rip+0x18b5] # 2130 ,bool)[OptimizedTier1]+0x20b0> vpshufb ymm1,ymm2,ymm1 vpand ymm0,ymm1,ymm0 vptest ymm0,ymm0 ↓ je 884 vxorps ymm1,ymm1,ymm1 vpcmpeqb ymm0,ymm1,ymm0 vpmovmskb edi,ymm0 not edi tzcnt edi,edi cmp edi,0x10 ↓ jge 14c6 826: sub rsi,rdx lea ecx,[rsi+rdi*1] ↓ jmp 889 4.81 82e: vxorps ymm0,ymm0,ymm0 vpcmpeqb ymm0,ymm0,ymm1 vpmovmskb ecx,ymm0 mov esi,ecx 0.63 not esi xor ecx,ecx tzcnt ecx,esi 0.63 sub rdi,rdx add ecx,edi 0.82 ↓ jmp 889 84b: mov ecx,r13d add rcx,rdx cmp rdx,rcx ↓ je 884 856: 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 8f8 inc rdi cmp rdi,rcx ↑ jne 856 884: mov ecx,0xffffffff 889: test ecx,ecx 0.91 ↓ jl 14fc cmp ecx,r13d ↓ jae 1bdf mov esi,ecx cmp BYTE PTR [rdx+rsi*1],0x22 5.98 ↓ jne 14dc lea esi,[rcx+0x2] movsxd rsi,esi add rsi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rsi cmp ecx,r13d ↓ ja 1b17 mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],ecx mov BYTE PTR [rbp-0x102],0x0 0.91 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 0.36 8f3: ↑ jmp 272 8f8: mov rcx,rdi sub rcx,rdx ↑ jmp 889 900: cmp edx,0x5d ↓ je 1150 909: mov BYTE PTR [rbp-0x104],0x0 cmp edx,0x22 ↓ je abe cmp edx,0x7b ↓ je aa9 cmp edx,0x5b ↓ je a8f lea edi,[rdx-0x30] cmp edi,0x9 ↓ jbe a78 cmp edx,0x2d ↓ je a78 cmp edx,0x66 ↓ jne 9e3 mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1b17 mov edx,esi add rdx,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,esi cmp ecx,0x5 ↓ jl 129c mov rsi,rdx movabs r8,0x742131aca5ae 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 129c 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 9de: ↓ jmp ad3 9e3: cmp edx,0x74 ↓ jne 1168 mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1b17 mov edx,esi add rdx,QWORD PTR [rbp-0x100] mov ecx,DWORD PTR [rbp-0xf8] sub ecx,esi cmp ecx,0x4 ↓ jl 12cb movabs rsi,0x742131aca612 mov r8d,DWORD PTR [rdx] cmp r8d,DWORD PTR [rsi] sete sil movzx esi,sil test esi,esi ↓ je 12cb 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 a76: ↓ jmp ad3 a78: lea rdi,[rbp-0x130] movabs rax,0x7420c466cdb0 → call QWORD PTR [rax] mov ebx,eax ↓ jmp ad3 a8f: lea rdi,[rbp-0x130] movabs rax,0x7420c466cd98 → call QWORD PTR [rax] aa2: mov ebx,0x1 ↓ jmp ad3 aa9: lea rdi,[rbp-0x130] 0.18 movabs rax,0x7420c466cd80 0.09 → call QWORD PTR [rax] ↑ jmp aa2 abe: lea rdi,[rbp-0x130] movabs rax,0x7420c466ccf0 → call QWORD PTR [rax] mov ebx,eax ad3: ↑ jmp 272 ad8: cmp edx,0x7d ↓ je 1033 cmp edx,0x22 ↓ jne 188c mov r13d,DWORD PTR [rbp-0x110] 0.09 mov r12,QWORD PTR [rbp-0x128] 0.09 mov rbx,QWORD PTR [rbp-0x130] mov BYTE PTR [rbp-0x104],0x0 mov esi,DWORD PTR [rbp-0x110] inc esi cmp esi,DWORD PTR [rbp-0xf8] ↓ ja 1b17 mov edx,esi 0.09 add rdx,QWORD PTR [rbp-0x100] 0.09 mov eax,DWORD PTR [rbp-0xf8] 0.18 sub eax,esi movabs rsi,0x741913c03358 mov rsi,QWORD PTR [rsi] mov rdi,rdx mov ecx,eax add rsi,0x8 mov r8,rdi cmp ecx,0x8 ↓ jl cb6 cmp ecx,0x10 ↓ jg bd2 vmovups xmm0,XMMWORD PTR [rsi] lea esi,[rax-0x8] mov ecx,esi add rcx,rdx cmp rdx,rcx ↓ jbe b6c mov rdi,rcx ↓ jmp b6f b6c: mov rdi,rdx b6f: vmovq xmm1,QWORD PTR [rdi] vpinsrq xmm1,xmm1,QWORD PTR [rcx],0x1 vpsrld xmm2,xmm1,0x4 vpandd xmm2,xmm2,DWORD BCST [rip+0x1510] # 2118 ,bool)[OptimizedTier1]+0x2098> vpshufb xmm0,xmm0,xmm1 vmovsd xmm1,QWORD PTR [rip+0x1523] vpshufb xmm1,xmm1,xmm2 vpand xmm0,xmm1,xmm0 vptest xmm0,xmm0 ↓ je cef vxorps xmm1,xmm1,xmm1 vpcmpeqb xmm0,xmm1,xmm0 vpmovmskb r8d,xmm0 mov esi,r8d not esi tzcnt esi,esi cmp esi,0x8 ↓ jge 1056 bc7: sub rdi,rdx lea ecx,[rdi+rsi*1] ↓ jmp cf4 bd2: vmovups ymm0,YMMWORD PTR [rsi] 0.09 cmp ecx,0x20 ↓ jle c22 add ecx,0xffffffe0 mov esi,ecx add rdi,rsi be3: vmovups ymm1,YMMWORD PTR [r8] vpshufb ymm2,ymm0,ymm1 0.45 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x149c] # 2118 ,bool)[OptimizedTier1]+0x2098> 0.27 vbroadcastsd ymm3,QWORD PTR [rip+0x14bb] # 2140 ,bool)[OptimizedTier1]+0x20c0> vpshufb ymm1,ymm3,ymm1 0.45 vpand ymm1,ymm1,ymm2 0.63 vptest ymm1,ymm1 0.54 ↓ jne c98 add r8,0x20 cmp r8,rdi ↑ jb be3 c22: lea esi,[rax-0x10] mov ecx,esi add rcx,rdx cmp r8,rcx ↓ jbe c34 mov rsi,rcx ↓ jmp c37 c34: mov rsi,r8 c37: vmovdqu xmm1,XMMWORD PTR [rsi] vinserti128 ymm1,ymm1,XMMWORD PTR [rcx],0x1 vpshufb ymm0,ymm0,ymm1 vpsrld ymm1,ymm1,0x4 vpandd ymm1,ymm1,DWORD BCST [rip+0x1443] # 2118 ,bool)[OptimizedTier1]+0x2098> vbroadcastsd ymm2,QWORD PTR [rip+0x146a] # 2148 ,bool)[OptimizedTier1]+0x20c8> vpshufb ymm1,ymm2,ymm1 vpand ymm0,ymm1,ymm0 vptest ymm0,ymm0 ↓ je cef vxorps ymm1,ymm1,ymm1 vpcmpeqb ymm0,ymm1,ymm0 vpmovmskb r8d,ymm0 mov edi,r8d not edi tzcnt edi,edi cmp edi,0x10 ↓ jge 104b c90: sub rsi,rdx lea ecx,[rsi+rdi*1] ↓ jmp cf4 1.18 c98: vxorps ymm0,ymm0,ymm0 vpcmpeqb ymm0,ymm0,ymm1 vpmovmskb ecx,ymm0 mov esi,ecx not esi xor ecx,ecx tzcnt ecx,esi 0.18 sub r8,rdx add ecx,r8d 0.36 ↓ jmp cf4 cb6: mov ecx,eax add rcx,rdi cmp rdi,rcx ↓ je cef cc0: 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 dd8 inc r8 cmp r8,rcx ↑ jne cc0 cef: mov ecx,0xffffffff cf4: test ecx,ecx 0.45 ↓ jl 1086 cmp ecx,eax ↓ jae 1bdf mov esi,ecx cmp BYTE PTR [rdx+rsi*1],0x22 0.91 ↓ jne 1061 lea esi,[rcx+0x2] movsxd rsi,esi add rsi,QWORD PTR [rbp-0x128] mov QWORD PTR [rbp-0x128],rsi cmp ecx,eax ↓ ja 1b17 mov QWORD PTR [rbp-0x98],rdx mov DWORD PTR [rbp-0x90],ecx mov BYTE PTR [rbp-0x102],0x0 mov BYTE PTR [rbp-0x108],0x7 0.36 mov edx,DWORD PTR [rbp-0x110] lea esi,[rdx+rcx*1+0x2] mov DWORD PTR [rbp-0x110],esi d57: movsxd rdi,DWORD PTR [rbp-0x110] 0.45 mov eax,DWORD PTR [rbp-0xf8] 0.27 cmp rdi,rax ↓ jge 10a8 mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bdf mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jle 10c4 d93: cmp edx,0x3a ↓ jne 1926 mov edi,DWORD PTR [rbp-0x110] inc edi mov DWORD PTR [rbp-0x110],edi 0.36 mov rdi,QWORD PTR [rbp-0x128] inc rdi mov QWORD PTR [rbp-0x128],rdi mov BYTE PTR [rbp-0x108],0x5 mov eax,0x1 dc7: mov ecx,eax test eax,eax ↓ je 112d mov ebx,ecx 0.18 ↑ jmp 272 dd8: mov rcx,r8 sub rcx,rdx ↑ jmp cf4 de3: lea rdi,[rbp-0x130] 0.27 mov esi,edx movabs rax,0x7420c466cc18 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 272 dff: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 272 0.09 cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 272 cmp BYTE PTR [rbp-0x105],0x0 ↓ jne f50 e26: cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 184c cmp BYTE PTR [rbp-0xec],0x2 ↓ je f65 e40: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 272 cmp edi,0x2 0.09 ↑ je 272 ↓ jmp 1b81 e5f: cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 27a 0.09 cmp BYTE PTR [rbp-0x108],0x0 ↑ jne 27a ↓ jmp 183a e7e: rex movzx edi,BYTE PTR [rbp-0x108] 0.09 mov BYTE PTR [r15+0x3a],dil e8a: lea esi,[r14+0x1] mov edi,DWORD PTR [r15+0x4c] sub edi,DWORD PTR [r15+0x34] cmp edi,esi ↓ jl 1be5 e9e: lea rdi,[r15+0x40] movabs rax,0x7420c4667180 → call QWORD PTR [rax] 0.18 mov QWORD PTR [rbp-0x140],rax 0.09 mov QWORD PTR [rbp-0x138],rdx cmp DWORD PTR [r15+0x28],0x0 ↓ jge ee5 mov esi,DWORD PTR [r15+0x34] lea edi,[rsi+0x1] mov DWORD PTR [r15+0x34],edi cmp esi,DWORD PTR [rbp-0x138] 0.09 ↓ jae 1bdf mov rdi,QWORD PTR [rbp-0x140] mov BYTE PTR [rdi+rsi*1],0x2c 0.36 ee5: mov esi,DWORD PTR [r15+0x34] 0.09 lea rdi,[rbp-0x140] movabs rax,0x7420c466c4c8 → call QWORD PTR [rax] 0.09 mov rsi,rax lea rdi,[rbp-0x70] movabs rax,0x7420c466c978 → call QWORD PTR [rax] add DWORD PTR [r15+0x34],r14d or DWORD PTR [r15+0x28],0x80000000 0.18 ↓ jmp 1bf9 f20: movabs rdi,0x7420c1620be0 movabs rax,0x7420c483d560 → call QWORD PTR [rax] mov rdi,rax movabs rax,0x7420c466c918 → call QWORD PTR [rax] int3 f46: mov BYTE PTR [r15+0x3a],0x7 ↑ jmp e8a f50: rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↑ je 272 ↑ jmp e26 f65: cmp BYTE PTR [rbp-0x108],0x6 ↑ jne e40 ↑ jmp 272 f77: lea rdi,[rbp-0x130] movabs rax,0x7420c466cb88 → call QWORD PTR [rax] movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jl 1011 cmp BYTE PTR [rbp-0x109],0x0 ↑ je 272 cmp BYTE PTR [rbp-0x10c],0x0 ↑ je 272 cmp BYTE PTR [rbp-0x105],0x0 ↓ je fcf rex movzx edi,BYTE PTR [rbp-0x106] test edi,edi ↑ je 272 fcf: cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 186c cmp BYTE PTR [rbp-0xec],0x2 ↓ jne ff2 cmp BYTE PTR [rbp-0x108],0x6 ↑ je 272 ff2: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 272 cmp edi,0x2 ↑ je 272 ↓ jmp 1b81 1011: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bdf mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp 2dc 1033: lea rdi,[rbp-0x130] movabs rax,0x7420c466cbb8 → call QWORD PTR [rax] ↓ jmp 1816 104b: mov rsi,rcx add edi,0xfffffff0 ↑ jmp c90 1056: mov rdi,rcx add esi,0xfffffff8 ↑ jmp bc7 1061: mov rsi,rdx mov edx,eax lea rdi,[rbp-0x130] movabs rax,0x7420c466cd38 → call QWORD PTR [rax] test eax,eax ↑ jne d57 ↓ jmp 1104 1086: mov DWORD PTR [rbp-0x198],eax lea rdi,[rbp-0x130] movabs rcx,0x7420c466cc30 → call QWORD PTR [rcx] test eax,eax ↓ je 1104 ↓ jmp 18aa 10a8: lea rdi,[rbp-0x130] movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↓ je 1104 ↓ jmp 18e6 10c4: lea rdi,[rbp-0x130] movabs rax,0x7420c466cb88 → call QWORD PTR [rax] movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jl 110b lea rdi,[rbp-0x130] movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↓ jne 1906 1104: xor eax,eax ↑ jmp dc7 110b: mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bdf mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] ↑ jmp d93 112d: 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 272 1150: lea rdi,[rbp-0x130] movabs rax,0x7420c466cbe8 → call QWORD PTR [rax] ↓ jmp 1816 1168: cmp edx,0x6e ↓ je 12fa rex movzx edi,BYTE PTR [rbp-0xec] test edi,edi ↓ je 1964 cmp edi,0x2 ↓ je 1328 cmp edx,0x2f ↓ jne 1964 lea rdi,[rbp-0x130] movabs rax,0x7420c466ce40 → call QWORD PTR [rax] test eax,eax ↓ je 124e movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jge 134b mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bdf mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jg 1289 lea rdi,[rbp-0x130] movabs rax,0x7420c466cb88 → call QWORD PTR [rax] movsxd rsi,DWORD PTR [rbp-0x110] mov edx,DWORD PTR [rbp-0xf8] cmp rsi,rdx ↓ jl 126c cmp BYTE PTR [rbp-0x109],0x0 ↓ je 124e lea rdi,[rbp-0x130] movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↓ je 124e cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 1944 cmp BYTE PTR [rbp-0xec],0x2 ↓ jne 1255 cmp BYTE PTR [rbp-0x108],0x6 ↓ jne 1255 124e: xor ebx,ebx ↑ jmp ad3 1255: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 124e cmp edi,0x2 ↑ je 124e ↓ jmp 1b81 126c: mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ jae 1bdf mov rdx,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rdx+rsi*1] 1289: movsxd rsi,DWORD PTR [rbp-0x110] mov QWORD PTR [rbp-0x118],rsi ↑ jmp 909 129c: mov rsi,rdx mov edx,ecx movabs rcx,0x742131aca5ae mov r8d,0x5 lea rdi,[rbp-0x130] movabs rax,0x7420c466d008 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 9de 12cb: mov rsi,rdx mov edx,ecx movabs rcx,0x742131aca612 mov r8d,0x4 lea rdi,[rbp-0x130] movabs rax,0x7420c466d008 → call QWORD PTR [rax] mov ebx,eax ↑ jmp a76 12fa: movabs rsi,0x742131aca5a9 mov edx,0x4 lea rdi,[rbp-0x130] mov ecx,0xb movabs rax,0x7420c466cde0 → call QWORD PTR [rax] mov ebx,eax ↑ jmp ad3 1328: cmp edx,0x2f ↓ jne 1964 lea rdi,[rbp-0x130] movabs rax,0x7420c466ce28 → call QWORD PTR [rax] mov ebx,eax ↑ jmp ad3 134b: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 124e lea rdi,[rbp-0x130] movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↑ je 124e cmp BYTE PTR [rbp-0x108],0x4 ↑ je 124e cmp BYTE PTR [rbp-0x108],0x2 ↑ je 124e ↓ jmp 1b81 1392: cmp edx,0x6e ↓ je 177e rex movzx edi,BYTE PTR [rbp-0xec] test edi,edi ↓ je 1ba1 cmp edi,0x2 ↓ je 17ac cmp edx,0x2f ↓ jne 1ba1 lea rdi,[rbp-0x130] movabs rax,0x7420c466ce40 → call QWORD PTR [rax] test eax,eax ↓ je 1478 movsxd rdi,DWORD PTR [rbp-0x110] mov eax,DWORD PTR [rbp-0xf8] cmp rdi,rax ↓ jge 17cf mov edi,DWORD PTR [rbp-0x110] cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bdf mov rax,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rax+rdi*1] cmp edx,0x20 ↓ jg 14b3 lea rdi,[rbp-0x130] movabs rax,0x7420c466cb88 → call QWORD PTR [rax] movsxd rsi,DWORD PTR [rbp-0x110] mov edx,DWORD PTR [rbp-0xf8] cmp rsi,rdx ↓ jl 1496 cmp BYTE PTR [rbp-0x109],0x0 ↓ je 1478 lea rdi,[rbp-0x130] movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↓ je 1478 cmp DWORD PTR [rbp-0xd8],0x0 ↓ jne 1b61 cmp BYTE PTR [rbp-0xec],0x2 ↓ jne 147f cmp BYTE PTR [rbp-0x108],0x6 ↓ jne 147f 1478: xor ebx,ebx ↑ jmp 8f3 147f: rex movzx edi,BYTE PTR [rbp-0x108] cmp edi,0x4 ↑ je 1478 cmp edi,0x2 ↑ je 1478 ↓ jmp 1b81 1496: mov esi,DWORD PTR [rbp-0x110] cmp esi,DWORD PTR [rbp-0xf8] ↓ jae 1bdf mov rdx,QWORD PTR [rbp-0x100] movzx edx,BYTE PTR [rdx+rsi*1] 14b3: movsxd rsi,DWORD PTR [rbp-0x110] mov QWORD PTR [rbp-0x118],rsi ↑ jmp 31e 14c6: mov rsi,rcx add edi,0xfffffff0 ↑ jmp 826 14d1: mov rdi,rcx add esi,0xfffffff8 ↑ jmp 766 14dc: mov rsi,rdx mov edx,r13d lea rdi,[rbp-0x130] movabs rax,0x7420c466cd38 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 8f3 14fc: lea rdi,[rbp-0x130] movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↓ jne 1982 xor ebx,ebx ↑ jmp 8f3 151e: lea rdi,[rbp-0xe8] mov esi,0x1 movabs rax,0x7420c466d038 → call QWORD PTR [rax] ↑ jmp 63d 153b: lea rdi,[rbp-0xe8] xor esi,esi movabs rax,0x7420c466d038 → call QWORD PTR [rax] ↑ jmp 592 1555: 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 1593 lea rdi,[rbp-0x130] movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↓ jne 19f3 158c: xor ebx,ebx ↑ jmp 538 1593: mov esi,DWORD PTR [rbp-0x180] cmp esi,DWORD PTR [rbp-0x188] ↓ jae 1bdf mov rdi,QWORD PTR [rbp-0x190] movzx edx,BYTE PTR [rdi+rsi*1] lea esi,[rdx-0x30] cmp esi,0x9 ↑ jbe 412 ↓ jmp 1a28 15c1: lea rdi,[rbp-0x130] lea rsi,[rbp-0x190] lea rdx,[rbp-0x180] movabs rax,0x7420c466ced0 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 158c test eax,eax ↑ je 4cb mov edi,DWORD PTR [rbp-0x188] cmp DWORD PTR [rbp-0x180],edi ↓ jae 1bdf mov rdi,QWORD PTR [rbp-0x190] mov esi,DWORD PTR [rbp-0x180] movzx edx,BYTE PTR [rdi+rsi*1] ↓ jmp 1679 1614: lea rdi,[rbp-0x130] movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↑ jne 4b8 mov ebx,0x2 ↑ jmp 4ba 1639: mov ebx,0x1 ↑ jmp 4ba 1643: mov edi,DWORD PTR [rbp-0x188] cmp DWORD PTR [rbp-0x180],edi ↓ jae 1bdf mov rdi,QWORD PTR [rbp-0x190] mov esi,DWORD PTR [rbp-0x180] movzx edx,BYTE PTR [rdi+rsi*1] cmp edx,0x2e ↓ je 1679 cmp edx,0x45 ↓ je 1679 cmp edx,0x65 ↓ jne 1a5b 1679: cmp edx,0x2e ↓ jne 16ef 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,0x7420c466cf00 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 158c test eax,eax ↑ je 4cb mov edi,DWORD PTR [rbp-0x188] cmp DWORD PTR [rbp-0x180],edi ↓ jae 1bdf mov rdi,QWORD PTR [rbp-0x190] mov esi,DWORD PTR [rbp-0x180] movzx edx,BYTE PTR [rdi+rsi*1] cmp edx,0x45 ↓ je 16ef cmp edx,0x65 ↓ jne 1a8e 16ef: 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,0x7420c466cf18 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 158c 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,0x7420c466cee8 → call QWORD PTR [rax] cmp eax,0x2 ↑ je 158c test eax,eax ↑ je 4cb ↓ jmp 1ac1 176c: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 533 ↓ jmp 1b24 177e: movabs rsi,0x742131aca5a9 mov edx,0x4 lea rdi,[rbp-0x130] mov ecx,0xb movabs rax,0x7420c466cde0 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 8f3 17ac: cmp edx,0x2f ↓ jne 1ba1 lea rdi,[rbp-0x130] movabs rax,0x7420c466ce28 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 8f3 17cf: cmp BYTE PTR [rbp-0x109],0x0 ↑ je 1478 lea rdi,[rbp-0x130] movabs rax,0x7420c466cc30 → call QWORD PTR [rax] test eax,eax ↑ je 1478 cmp BYTE PTR [rbp-0x108],0x4 ↑ je 1478 cmp BYTE PTR [rbp-0x108],0x2 ↑ je 1478 ↓ jmp 1b81 1816: mov ebx,0x1 ↑ jmp 272 1820: lea rdi,[rbp-0x130] movabs rax,0x7420c466cb28 → call QWORD PTR [rax] mov ebx,eax ↑ jmp 272 183a: cmp BYTE PTR [rbp-0xea],0x0 ↑ jne 27a ↓ jmp 1bbf 184c: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 186c: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 188c: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xc movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 18aa: 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,0x7420c466cb58 → call QWORD PTR [rax] int3 18e6: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x11 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1906: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x11 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1926: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xb movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1944: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1964: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xf movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1982: 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,0x7420c466cb58 → call QWORD PTR [rax] int3 19b6: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x18 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 19d6: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d xor esi,esi xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 19f3: 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,0x7420c466cb58 → call QWORD PTR [rax] int3 1a28: 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,0x7420c466cb58 → 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,0x7 movabs rax,0x7420c466cb58 → 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,0x9 movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1ac1: 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 1bdf 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,0x7420c466cb58 → call QWORD PTR [rax] int3 1b17: movabs rax,0x7420c3d5dcf8 → call QWORD PTR [rax] int3 1b24: mov edi,DWORD PTR [rbp-0x110] dec edi cmp edi,DWORD PTR [rbp-0xf8] ↓ jae 1bdf 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,0x7420c466cb58 → call QWORD PTR [rax] int3 1b61: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x19 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1b81: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x16 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1ba1: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0xf movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1bbf: lea rdi,[rbp-0x130] xor ecx,ecx xor r8d,r8d mov esi,0x20 xor edx,edx movabs rax,0x7420c466cb58 → call QWORD PTR [rax] int3 1bdf: → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::TranscodeAndWriteRawValue(valuetype [System.Runtime]System.ReadOnlySpan`1 vptestmd k1,zmm0,zmm1 0.50 kortestw k1,k1 0.99 ↓ jne 1db 0.99 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.99 test dl,0x20 ↓ je 1e0 eb: mov rbx,rdx and rbx,0x3f 0.50 neg rbx add rbx,0x40 lea r15,[rax-0x40] vmovups zmm0,ZMMWORD PTR [r10+rbx*2] 0.50 vmovups zmm3,ZMMWORD PTR [r10+rbx*2+0x40] 1.98 vmovaps zmm4,zmm0 0.50 vpternlogd zmm4,zmm1,zmm3,0xc8 1.98 vptestmw k1,zmm4,zmm4 2.97 kortestd k1,k1 2.48 ↓ jne 20a 1.98 12a: vpackuswb zmm0,zmm0,zmm3 0.99 vpermq zmm3,zmm2,zmm0 0.99 vmovups ZMMWORD PTR [r11+rbx*1],zmm3 add rbx,0x40 cmp rbx,r15 ↓ ja 175 vmovups zmm0,ZMMWORD PTR [r10+rbx*2] 1.49 vmovups zmm3,ZMMWORD PTR [r10+rbx*2+0x40] 4.46 vmovaps zmm4,zmm0 0.99 vpternlogd zmm4,zmm1,zmm3,0xc8 3.96 vptestmw k1,zmm4,zmm4 4.46 kortestd k1,k1 6.93 ↓ jne 20a 12.87 ↑ jmp 12a 175: mov r10,rbx 0.99 178: ↑ jmp 19 17d: test al,0x2 0.99 ↓ 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 0.99 1a5: test al,0x1 ↓ je 1bb movzx r11d,WORD PTR [rdi+r10*2] 0.99 cmp r11d,0x7f ↓ ja 1bb 1b4: mov BYTE PTR [rdx+r10*1],r11b inc r10 1bb: lea rdi,[rdi+r10*2] 0.50 add rdx,r10 cmp r10d,esi ↓ jne 3fa mov QWORD PTR [r8],rdi 1.98 mov QWORD PTR [r9],rdx 4.46 xor eax,eax 2.48 vzeroupper 2.97 pop rbx pop r15 pop rbp 0.50 ← 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: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [percent: local period] instance int32 [System.Text.Encodings.Web] System.Text.Encodings.Web.OptimizedInboxTextEncoder::GetIndexOfFirstCharToEncode(valuetype [System.Runtime]System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-41681-32751.so 5.98 push rbp 4.35 push r15 push r14 push r13 push rbx sub rsp,0x10 lea rbp,[rsp+0x30] xor eax,eax 6.52 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 3.26 mov QWORD PTR [rbp-0x28],rax mov edi,r15d mov ecx,r13d cmp rcx,rdi ↓ jae 7b cmp BYTE PTR [rbx],bl 0.54 mov rdx,rdi sub rdx,rcx cmp rdx,0x8 ↓ jae 10c 53: cmp rcx,rdi ↓ jae 7b 58: lea rdx,[rbx+0x420] 7.61 movzx esi,WORD PTR [rax+rcx*2] 0.54 mov r8d,esi 5.98 shr r8d,0x5 mov edx,DWORD PTR [rdx+r8*4] 36.96 bt edx,esi ↓ jae 7b 15.76 inc rcx cmp rcx,rdi ↑ jb 58 7b: mov eax,ecx 2.72 mov ecx,0xffffffff cmp eax,edi cmove eax,ecx 1.09 add rsp,0x10 pop rbx pop r13 pop r14 2.72 pop r15 pop rbp 3.26 ← ret 94: mov rdi,QWORD PTR [rbx+0x18] test rdi,rdi ↓ je d7 movabs rdx,0x7420c3ecf488 1.09 cmp QWORD PTR [rdi],rdx ↓ jne e9 lea rdx,[rdi+0x8] mov rdi,r14 mov esi,r15d movabs rax,0x7420c47a72d0 → call QWORD PTR [rax] c2: mov r13d,eax cmp r13d,r15d ↓ jb fb ca: add rsp,0x10 0.54 pop rbx pop r13 pop r14 1.09 pop r15 pop rbp ← ret d7: mov edi,0x6 movabs rax,0x7420c3d5ec58 → 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: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [percent: local period] instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]() /tmp/jitted-41681-32814.so 6.82 push rbp 5.68 push r15 push r14 push r13 push r12 push rbx push rax lea rbp,[rsp+0x30] mov rbx,rdi 3.41 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] test esi,esi 4.55 ↓ je 17b mov rdi,QWORD PTR [rbx+0x18] mov rax,rdi cmp BYTE PTR [rax],al 0.57 test esi,esi ↓ jl 1b9 mov r14d,DWORD PTR [rax+0x10] 0.57 mov rcx,QWORD PTR [rax+0x8] mov ecx,DWORD PTR [rcx+0x8] 1.70 sub ecx,esi 3.98 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.84 ↓ jb 2eb add r13,0x10 8c: movabs rdi,0x7420c42f8fd8 6.82 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] 1.14 lea r12d,[rdi+r14*1] test r12d,r12d 7.39 ↓ 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] 1.70 ↓ jg 26c e4: cmp DWORD PTR [rbp-0x2c],0x0 10.80 ↓ jne 28b 4.55 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] 1.14 cmp rsi,rax ↓ ja 2eb lea rdi,[rdx+rdi*1+0x10] 5.11 mov edx,r14d 11f: cmp r14d,edx ↓ jg 2b9 mov edx,r14d mov rsi,r13 movabs rax,0x7420c3b55848 → call QWORD PTR [rax] 1.14 mov DWORD PTR [r15+0x1c],r12d 13e: mov r15,QWORD PTR [rbx+0x18] mov eax,DWORD PTR [r15+0x10] 7.95 movsxd rcx,eax 0.57 add QWORD PTR [rbx+0x20],rcx 2.27 mov rdi,QWORD PTR [r15+0x8] 0.57 test rdi,rdi ↓ je 2de cmp DWORD PTR [rdi+0x8],eax 7.39 ↓ jb 2eb add rdi,0x10 167: mov esi,eax movabs rax,0x7420c3b55818 → call QWORD PTR [rax] 0.57 xor edi,edi mov DWORD PTR [r15+0x10],edi 17b: mov rdi,QWORD PTR [rbx+0x10] 1.14 movabs rax,0x7420c42f8fd8 0.57 cmp QWORD PTR [rdi],rax 3.41 ↓ jne 2f8 192: add rsp,0x8 pop rbx pop r12 pop r13 pop r14 2.27 pop r15 2.84 pop rbp 0.57 ← ret 1a1: cmp QWORD PTR [rbx+0x8],0x0 ↑ jne 20 movabs rax,0x7420c4737438 → call QWORD PTR [rax] int3 1b9: movabs rdi,0x7420c3b9e428 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6bf8c0 mov rbx,rax mov rdi,rbx xor esi,esi movabs rdx,0x7420c1602820 movabs rax,0x7420c3edcb58 → call QWORD PTR [rax] mov rdi,rbx → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6be270 int3 1ef: mov rdi,QWORD PTR [rax+0x8] mov edi,DWORD PTR [rdi+0x8] movabs rax,0x7420c4737450 → 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,0x7420c4837cd8 → call QWORD PTR [rax] int3 226: movabs rax,0x7420c4837cf0 → call QWORD PTR [rax] int3 233: movabs rdi,0x7420c3ddd8c8 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6bf8c0 mov r13,rax movabs rax,0x7420c4837d08 → call QWORD PTR [rax] mov rsi,rax mov rdi,r13 movabs rax,0x7420c459cde0 → call QWORD PTR [rax] mov rdi,r13 → call instance void [System.Text.Json] System.Text.Json.Utf8JsonWriter::Flush()[OptimizedTier1]+0x7d6be270 int3 26c: mov rdi,r15 mov esi,r12d movabs rcx,0x7420c448ca68 → 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,0x7420c3edd680 → call QWORD PTR [rax] ↑ jmp ee 2ab: or edi,r14d ↓ jne 2eb xor edi,edi xor edx,edx ↑ jmp 11f 2b9: movabs rax,0x7420c40a5380 → 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,0x7420c3d5dcf8 → 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,0x7420c2a62778 → 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: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [percent: local period] void [System.Private.CoreLib] System.SpanHelpers::Memmove(uint8&,uint8&,native uint)[OptimizedTier1]() /tmp/jitted-41681-32762.so 6.88 push rbp 5.62 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.62 ↓ 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] vmovdqu32 ZMMWORD PTR [rdi],zmm0 3.12 add rsi,r8 add rdi,r8 sub rdx,r8 73: mov r8,rdx shr r8,0x6 7a: vmovdqu32 zmm0,ZMMWORD PTR [rsi] 23.75 vmovdqu32 ZMMWORD PTR [rdi],zmm0 23.75 add rdi,0x40 6.88 add rsi,0x40 dec r8 1.88 ↑ jne 7a and rdx,0x3f cmp rdx,0x10 ↓ jbe ab 9d: vmovups xmm0,XMMWORD PTR [rsi] 1.25 vmovups XMMWORD PTR [rdi],xmm0 5.00 cmp rdx,0x20 ↓ ja ba ab: vmovups xmm0,XMMWORD PTR [rax-0x10] 4.38 vmovups XMMWORD PTR [rcx-0x10],xmm0 3.75 b5: vzeroupper pop rbp 0.62 ← ret ba: vmovups xmm0,XMMWORD PTR [rsi+0x10] vmovups XMMWORD PTR [rdi+0x10],xmm0 1.25 cmp rdx,0x30 ↑ jbe ab vmovups xmm0,XMMWORD PTR [rsi+0x20] 0.62 vmovups XMMWORD PTR [rdi+0x20],xmm0 ↑ jmp ab d6: test dl,0x18 1.25 ↓ je eb mov rdx,QWORD PTR [rsi] mov QWORD PTR [rdi],rdx 0.62 mov rsi,QWORD PTR [rax-0x8] 3.75 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,0x7420c3b56748 vzeroupper pop rbp rex.W jmp QWORD PTR [rax] Samples: 5K of event 'cpu-clock', 999 Hz, Event count (approx.): 5007007002, [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-41681-32734.so 17.46 push rbp 12.70 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 1ff mov r10d,r8d add r10,QWORD PTR [rax] 18.25 sub r9d,r8d cmp edx,r9d ↓ jg 1dd mov rax,rsi mov r8d,edx cmp r8,0x8 ↓ jae d0 cmp r8,0x4 ↓ jb 98 add r8,0xfffffffffffffffc mov eax,DWORD PTR [r10] 0.79 sub eax,DWORD PTR [rsi] 16.67 mov r11d,DWORD PTR [r10+r8*1] sub r11d,DWORD PTR [rsi+r8*1] 0.79 or eax,r11d sete al movzx eax,al 2.38 5f: test eax,eax 4.76 ↓ je 1dd cmp edx,r9d ↓ jg 1ff mov QWORD PTR [rdi+0x98],r10 11.90 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 3.97 vzeroupper add rsp,0x8 10.32 pop rbx pop rbp ← ret 98: xor eax,eax mov r11,r8 and r11,0x2 ↓ jne b3 a3: test r8b,0x1 ↓ jne be a9: test eax,eax sete al movzx eax,al ↑ jmp 5f b3: movzx eax,WORD PTR [r10] movzx ebx,WORD PTR [rsi] sub eax,ebx ↑ jmp a3 be: movzx r8d,BYTE PTR [r10+r11*1] movzx r11d,BYTE PTR [rsi+r11*1] sub r8d,r11d or eax,r8d ↑ jmp a9 d0: cmp r10,rax ↓ je 1ac cmp r8,0x40 ↓ jb 128 xor eax,eax add r8,0xffffffffffffffc0 ↓ je 10a e7: vmovups zmm0,ZMMWORD PTR [r10+rax*1] vpcmpnequb k1,zmm0,ZMMWORD PTR [rsi+rax*1] kortestq k1,k1 ↓ jne 1d6 add rax,0x40 cmp r8,rax ↑ ja e7 10a: vmovups zmm0,ZMMWORD PTR [r10+r8*1] vpcmpeqb k1,zmm0,ZMMWORD PTR [rsi+r8*1] kortestq k1,k1 ↓ jae 1d6 ↓ jmp 1ac 128: cmp r8,0x20 ↓ jb 16e xor eax,eax add r8,0xffffffffffffffe0 ↓ je 158 136: vmovups ymm0,YMMWORD PTR [r10+rax*1] vpcmpnequb k1,ymm0,YMMWORD PTR [rsi+rax*1] kortestd k1,k1 ↓ jne 1d6 add rax,0x20 cmp r8,rax ↑ ja 136 158: vmovups ymm0,YMMWORD PTR [r10+r8*1] vpcmpeqb k1,ymm0,YMMWORD PTR [rsi+r8*1] kortestd k1,k1 ↓ jae 1d6 ↓ jmp 1ac 16e: cmp r8,0x10 ↓ jb 1b6 xor eax,eax add r8,0xfffffffffffffff0 ↓ je 199 17c: vmovups xmm0,XMMWORD PTR [r10+rax*1] vpcmpnequb k1,xmm0,XMMWORD PTR [rsi+rax*1] kortestw k1,k1 ↓ jne 1d6 add rax,0x10 cmp r8,rax ↑ ja 17c 199: vmovups xmm0,XMMWORD PTR [r10+r8*1] vpcmpeqb k1,xmm0,XMMWORD PTR [rsi+r8*1] kortestw k1,k1 ↓ jae 1d6 1ac: mov eax,0x1 ↑ jmp 5f 1b6: 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 1d6: xor eax,eax ↑ jmp 5f 1dd: mov rcx,rsi mov r8d,edx mov rsi,r10 mov edx,r9d movabs rax,0x7420c466d008 vzeroupper add rsp,0x8 pop rbx pop rbp rex.W jmp QWORD PTR [rax] 1ff: movabs rax,0x7420c3d5dcf8 → call QWORD PTR [rax] int3