4 values

Created Diff never expires
23 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
44 lines
32 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
53 lines
; StringSearcher.Benchmark.Contains()
; StringSearcher.Benchmark.Contains()
push rdi
push rdi
push rsi
push rsi
push rax
push rbx
sub rsp,10
xor eax,eax
xor eax,eax
mov rdx,[rcx+30]
mov rdx,[rcx+30]
xor ecx,ecx
xor ecx,ecx
mov r8d,[rdx+8]
mov r8d,[rdx+8]
test r8d,r8d
test r8d,r8d
jle short M00_L03
jle near ptr M00_L02
mov r9,24D46405F48
mov r9,233B3805F48
mov r9,[r9]
mov r9,[r9]
M00_L00:
M00_L00:
mov r10d,ecx
mov r10d,ecx
movzx r10d,word ptr [rdx+r10*2+10]
movzx r10d,word ptr [rdx+r10*2+10]
mov r11,r9
mov r11,r9
mov [rsp+4],r10d
mov [rsp+0C],r10d
movsx r10,word ptr [rsp+4]
movsx r10,word ptr [rsp+0C]
mov esi,r10d
mov esi,r10d
movsx rdi,word ptr [r11+8]
movsx rdi,word ptr [r11+8]
cmp esi,edi
cmp esi,edi
je short M00_L01
sete sil
mov esi,r10d
movzx esi,sil
movsx rdi,word ptr [r11+0A]
mov edi,r10d
cmp esi,edi
movsx rbx,word ptr [r11+0A]
je short M00_L01
cmp edi,ebx
mov esi,r10d
sete dil
movsx rdi,word ptr [r11+0C]
movzx edi,dil
cmp esi,edi
or esi,edi
je short M00_L01
mov edi,r10d
movsx rbx,word ptr [r11+0C]
cmp edi,ebx
sete dil
movzx edi,dil
or esi,edi
movsx r11,word ptr [r11+0E]
movsx r11,word ptr [r11+0E]
cmp r10d,r11d
cmp r10d,r11d
jne short M00_L02
sete r10b
M00_L01:
movzx r10d,r10b
or r10b,sil
je short M00_L01
inc eax
inc eax
M00_L02:
M00_L01:
inc ecx
inc ecx
cmp r8d,ecx
cmp r8d,ecx
jg short M00_L00
jg short M00_L00
M00_L03:
M00_L02:
add rsp,8
add rsp,10
pop rbx
pop rsi
pop rsi
pop rdi
pop rdi
ret
ret