BitArray.CopyTo

建立於 差異永不過期
76 刪除
345
85 新增
353
; System.Collections.BitArray.CopyTo(System.Array, Int32) (before)
; System.Collections.BitArray.CopyTo(System.Array, Int32) (after)
push r14
push r14
push rdi
push rdi
push rsi
push rsi
push rbp
push rbp
push rbx
push rbx
sub rsp,30
sub rsp,0A0
vzeroupper
vzeroupper
xor eax,eax
mov [rsp+28],rax
mov rsi,rcx
mov rsi,rcx
mov rbx,rdx
mov rbx,rdx
mov edi,r8d
mov edi,r8d
test rbx,rbx
test rbx,rbx
je near ptr 0000000000000686
je near ptr 0000000000000419
test edi,edi
test edi,edi
jl near ptr 00000000000006A4
jl near ptr 0000000000000437
mov rdx,[rbx]
mov rdx,[rbx]
mov edx,[rdx+4]
mov edx,[rdx+4]
add edx,0FFFFFFE8
add edx,0FFFFFFE8
shr edx,3
shr edx,3
je short 0000000000000325
je short 0000000000000081
cmp edx,1
cmp edx,1
jne near ptr 0000000000000719
jne near ptr 00000000000004AC
mov rdx,rbx
mov rdx,rbx
mov rcx,offset MT_System.Int32[]
mov rcx,offset MT_System.Int32[]
call qword ptr [0B7F8]
call qword ptr [0B7F8]
mov rbp,rax
mov rbp,rax
test rbp,rbp
test rbp,rbp
je near ptr 00000000000003CF
je near ptr 000000000000012F
mov r14d,[rsi+10]
mov r14d,[rsi+10]
mov ebx,r14d
mov ebx,r14d
and ebx,1F
and ebx,1F
jne short 0000000000000375
jne short 00000000000000D5
mov rcx,[rsi+8]
mov rcx,[rsi+8]
mov ecx,[rcx+8]
mov ecx,[rcx+8]
mov [rsp+20],ecx
mov [rsp+20],ecx
mov rcx,[rsi+8]
mov rcx,[rsi+8]
mov r8,rbp
mov r8,rbp
mov r9d,edi
mov r9d,edi
xor edx,edx
xor edx,edx
call qword ptr [9030]
call qword ptr [9030]
jmp near ptr 0000000000000673
jmp near ptr 0000000000000403
nop dword ptr [rax]
nop dword ptr [rax]
dec r14d
dec r14d
sar r14d,5
sar r14d,5
mov [rsp+20],r14d
mov [rsp+20],r14d
mov rcx,[rsi+8]
mov rcx,[rsi+8]
mov r8,rbp
mov r8,rbp
mov r9d,edi
mov r9d,edi
xor edx,edx
xor edx,edx
call qword ptr [9030]
call qword ptr [9030]
mov rdx,[rsi+8]
mov rdx,[rsi+8]
cmp r14d,[rdx+8]
cmp r14d,[rdx+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov ecx,r14d
mov ecx,r14d
mov eax,1
mov eax,1
shlx eax,eax,ebx
shlx eax,eax,ebx
dec eax
dec eax
and eax,[rdx+rcx*4+10]
and eax,[rdx+rcx*4+10]
lea edx,[rdi+r14]
lea edx,[rdi+r14]
cmp edx,[rbp+8]
cmp edx,[rbp+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
add edi,r14d
add edi,r14d
mov edx,edi
mov edx,edi
mov [rbp+rdx*4+10],eax
mov [rbp+rdx*4+10],eax
jmp near ptr 0000000000000673
jmp near ptr 0000000000000403
mov rdx,rbx
mov rdx,rbx
mov rcx,offset MT_System.Byte[]
mov rcx,offset MT_System.Byte[]
call qword ptr [0B7F8]
call qword ptr [0B7F8]
test rax,rax
test rax,rax
je near ptr 000000000000054B
je near ptr 00000000000002AB
mov r14d,[rsi+10]
mov r14d,[rsi+10]
lea edx,[r14+7]
lea edx,[r14+7]
shr edx,3
shr edx,3
mov ecx,[rbx+8]
mov ecx,[rbx+8]
test ecx,ecx
test ecx,ecx
jl near ptr 0000000000000681
jl near ptr 0000000000000414
sub ecx,edi
sub ecx,edi
cmp ecx,edx
cmp ecx,edx
jl near ptr 0000000000000776
jl near ptr 0000000000000509
mov ecx,r14d
mov ecx,r14d
and ecx,7
and ecx,7
je short 0000000000000415
je short 0000000000000175
dec edx
dec edx
cmp [rax+8],edi
cmp [rax+8],edi
jb near ptr 00000000000007C5
jb near ptr 0000000000000558
mov r8d,edi
mov r8d,edi
lea r8,[rax+r8+10]
lea r8,[rax+r8+10]
mov eax,[rax+8]
mov eax,[rax+8]
sub eax,edi
sub eax,edi
mov r9d,edx
mov r9d,edx
shr r9d,2
shr r9d,2
mov r10d,edx
mov r10d,edx
and r10d,3
and r10d,3
xor edx,edx
xor edx,edx
test r9d,r9d
test r9d,r9d
jle short 0000000000000471
jle short 00000000000001D1
mov r11,r8
mov r11,r8
mov rbx,[rsi+8]
mov rbx,[rsi+8]
cmp edx,[rbx+8]
cmp edx,[rbx+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov edi,edx
mov edi,edx
mov r14d,[rbx+rdi*4+10]
mov r14d,[rbx+rdi*4+10]
cmp eax,4
cmp eax,4
jb near ptr 00000000000007B9
jb near ptr 000000000000054C
mov [r11],r14d
mov [r11],r14d
add r8,4
add r8,4
add eax,0FFFFFFFC
add eax,0FFFFFFFC
inc edx
inc edx
cmp edx,r9d
cmp edx,r9d
jl short 0000000000000440
jl short 00000000000001A0
test ecx,ecx
test ecx,ecx
je short 00000000000004B5
je short 0000000000000215
cmp r10d,eax
cmp r10d,eax
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov edx,r10d
mov edx,r10d
mov r11,[rsi+8]
mov r11,[rsi+8]
cmp r9d,[r11+8]
cmp r9d,[r11+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov edi,r9d
mov edi,r9d
mov r11d,[r11+rdi*4+10]
mov r11d,[r11+rdi*4+10]
mov edi,r10d
mov edi,r10d
shl edi,3
shl edi,3
sarx r11d,r11d,edi
sarx r11d,r11d,edi
mov edi,1
mov edi,1
shlx ecx,edi,ecx
shlx ecx,edi,ecx
dec ecx
dec ecx
and ecx,r11d
and ecx,r11d
mov [r8+rdx],cl
mov [r8+rdx],cl
dec r10d
dec r10d
cmp r10d,2
cmp r10d,2
ja near ptr 0000000000000673
ja near ptr 0000000000000403
mov ecx,r10d
mov ecx,r10d
lea rdx,[880]
lea rdx,[620]
mov edx,[rdx+rcx*4]
mov edx,[rdx+rcx*4]
lea r10,[2FD]
lea r10,[59]
add rdx,r10
add rdx,r10
jmp rdx
jmp rdx
cmp eax,2
cmp eax,2
jbe near ptr 000000000000086D
jbe near ptr 0000000000000600
mov rcx,[rsi+8]
mov rcx,[rsi+8]
cmp r9d,[rcx+8]
cmp r9d,[rcx+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov edx,r9d
mov edx,r9d
mov ecx,[rcx+rdx*4+10]
mov ecx,[rcx+rdx*4+10]
sar ecx,10
sar ecx,10
mov [r8+2],cl
mov [r8+2],cl
cmp eax,1
cmp eax,1
jbe near ptr 000000000000086D
jbe near ptr 0000000000000600
mov rcx,[rsi+8]
mov rcx,[rsi+8]
cmp r9d,[rcx+8]
cmp r9d,[rcx+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov edx,r9d
mov edx,r9d
mov ecx,[rcx+rdx*4+10]
mov ecx,[rcx+rdx*4+10]
sar ecx,8
sar ecx,8
mov [r8+1],cl
mov [r8+1],cl
test eax,eax
test eax,eax
je near ptr 000000000000086D
je near ptr 0000000000000600
mov rcx,[rsi+8]
mov rcx,[rsi+8]
cmp r9d,[rcx+8]
cmp r9d,[rcx+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov edx,r9d
mov edx,r9d
movzx ecx,byte ptr [rcx+rdx*4+10]
movzx ecx,byte ptr [rcx+rdx*4+10]
mov [r8],cl
mov [r8],cl
jmp near ptr 0000000000000673
jmp near ptr 0000000000000403
mov rdx,rbx
mov rdx,rbx
mov rcx,offset MT_System.Boolean[]
mov rcx,offset MT_System.Boolean[]
call qword ptr [0B7F8]
call qword ptr [0B7F8]
test rax,rax
test rax,rax
je near ptr 000000000000080F
je near ptr 00000000000005A2
mov ecx,[rbx+8]
mov ecx,[rbx+8]
test ecx,ecx
test ecx,ecx
jl near ptr 0000000000000681
jl near ptr 0000000000000414
sub ecx,edi
sub ecx,edi
mov r14d,[rsi+10]
mov r14d,[rsi+10]
cmp ecx,r14d
cmp ecx,r14d
jl near ptr 00000000000007CC
jl near ptr 000000000000055F
xor ecx,ecx
xor ecx,ecx
cmp r14d,20
cmp r14d,20
jl near ptr 0000000000000618
jl near ptr 00000000000003A8
vmovupd xmm0,[890]
vmovupd xmm0,[630]
vinserti128 ymm0,ymm0,xmmword ptr [8A0],1
vinserti128 ymm0,ymm0,xmmword ptr [640],1
vmovupd ymm1,[8C0]
vmovupd ymm1,[660]
vmovupd ymm2,[8E0]
vmovupd ymm2,[680]
cmp edi,[rax+8]
movsxd rdx,edi
jae near ptr 000000000000086D
mov edx,edi
lea rdx,[rax+rdx+10]
lea rdx,[rax+rdx+10]
mov [rsp+28],rdx
mov rdx,[rsp+28]
cmp r14d,20
cmp r14d,20
jb short 0000000000000611
jb near ptr 00000000000003A8
mov r8,[rsi+8]
mov r8,[rsi+8]
mov r9d,ecx
mov r9d,ecx
shr r9d,5
shr r9d,5
cmp r9d,[r8+8]
cmp r9d,[r8+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov r9d,r9d
mov r9d,r9d
vpbroadcastd ymm3,dword ptr [r8+r9*4+10]
vpbroadcastd ymm3,dword ptr [r8+r9*4+10]
vpshufb ymm3,ymm3,ymm0
vmovupd [rsp+30],ymm3
vpand ymm3,ymm3,ymm1
vmovupd [rsp+50],ymm0
xor r8d,r8d
lea r9,[rsp+50]
movsxd r10,r8d
movzx r9d,byte ptr [r9+r10]
xor r11d,r11d
cmp r9d,20
jge short 0000000000000372
lea r11,[rsp+30]
mov r9d,r9d
movzx r11d,byte ptr [r11+r9]
lea r9,[rsp+70]
mov [r9+r10],r11b
inc r8d
cmp r8d,20
jl short 000000000000034F
mov r8d,ecx
vpand ymm3,ymm1,[rsp+70]
vpminub ymm3,ymm3,ymm2
vpminub ymm3,ymm3,ymm2
mov r8d,ecx
vmovdqu ymmword ptr [rdx+r8],ymm3
vmovdqu ymmword ptr [rdx+r8],ymm3
add ecx,20
add ecx,20
lea r8d,[rcx+20]
lea r8d,[rcx+20]
cmp r8d,[rsi+10]
cmp r8d,[rsi+10]
jbe short 00000000000005CF
jbe near ptr 0000000000000321
xor edx,edx
mov [rsp+28],rdx
mov edx,[rsi+10]
mov edx,[rsi+10]
cmp ecx,edx
cmp ecx,edx
jae short 0000000000000673
jae short 0000000000000403
mov r8,[rsi+8]
mov r8,[rsi+8]
mov r9d,ecx
mov r9d,ecx
shr r9d,5
shr r9d,5
mov r10d,ecx
mov r10d,ecx
and r10d,1F
and r10d,1F
mov r11,r8
mov r11,r8
cmp r9d,[r11+8]
cmp r9d,[r11+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov r9d,r9d
mov r9d,r9d
mov r9d,[r11+r9*4+10]
mov r9d,[r11+r9*4+10]
sarx r9d,r9d,r10d
sarx r9d,r9d,r10d
test r9b,1
test r9b,1
setne r9b
setne r9b
movzx r9d,r9b
movzx r9d,r9b
lea r10d,[rdi+rcx]
lea r10d,[rdi+rcx]
cmp r10d,[rax+8]
cmp r10d,[rax+8]
jae near ptr 000000000000086D
jae near ptr 0000000000000600
mov r10d,r10d
mov r10d,r10d
mov [rax+r10+10],r9b
mov [rax+r10+10],r9b
inc ecx
inc ecx
cmp ecx,edx
cmp ecx,edx
jb short 0000000000000623
jb short 00000000000003B3
vzeroupper
vzeroupper
add rsp,30
add rsp,0A0
pop rbx
pop rbx
pop rbp
pop rbp
pop rsi
pop rsi
pop rdi
pop rdi
pop r14
pop r14
ret
ret
call 00000000000014F0
call 00000000000014F0
mov ecx,7F7
mov ecx,7F7
mov rdx,7FF9BC57A338
mov rdx,7FF9BD6CA338
call 00000000000078E0
call 00000000000078E0
mov rcx,rax
mov rcx,rax
call qword ptr [9FD8]
call qword ptr [9FD8]
int 3
int 3
mov rcx,offset MT_System.Int32
mov rcx,offset MT_System.Int32
call 00000000000077D0
call 00000000000077D0
mov rsi,rax
mov rsi,rax
mov [rsi+8],edi
mov [rsi+8],edi
mov rcx,offset MT_System.ArgumentOutOfRangeException
mov rcx,offset MT_System.ArgumentOutOfRangeException
call 00000000000077D0
call 00000000000077D0
mov rdi,rax
mov rdi,rax
mov ecx,803
mov ecx,803
mov rdx,7FF9BC57A338
mov rdx,7FF9BD6CA338
call 00000000000078E0
call 00000000000078E0
mov rbx,rax
mov rbx,rax
mov ecx,81
mov ecx,81
mov rdx,7FF9BC57A338
mov rdx,7FF9BD6CA338
call 00000000000078E0
call 00000000000078E0
mov rcx,rax
mov rcx,rax
call qword ptr [0F798]
call qword ptr [0F798]
mov r9,rax
mov r9,rax
mov rdx,rbx
mov rdx,rbx
mov r8,rsi
mov r8,rsi
mov rcx,rdi
mov rcx,rdi
call qword ptr [0D060]
call qword ptr [0D060]
mov rcx,rdi
mov rcx,rdi
call 000000000000CF20
call 000000000000CF20
mov rcx,offset MT_System.ArgumentException
mov rcx,offset MT_System.ArgumentException
call 00000000000077D0
call 00000000000077D0
mov rsi,rax
mov rsi,rax
mov ecx,3E3
mov ecx,3E3
mov rdx,7FF9BC57A338
mov rdx,7FF9BD6CA338
call 00000000000078E0
call 00000000000078E0
mov rcx,rax
mov rcx,rax
call qword ptr [0F798]
call qword ptr [0F798]
mov rdi,rax
mov rdi,rax
mov ecx,7F7
mov ecx,7F7
mov rdx,7FF9BC57A338
mov rdx,7FF9BD6CA338
call 00000000000078E0
call 00000000000078E0
mov r8,rax
mov r8,rax
mov rdx,rdi
mov rdx,rdi
mov rcx,rsi
mov rcx,rsi
call qword ptr [0BBD0]
call qword ptr [0BBD0]
mov rcx,rsi
mov rcx,rsi
call 000000000000CF20
call 000000000000CF20
mov rcx,offset MT_System.ArgumentException
mov rcx,offset MT_System.ArgumentException
call 00000000000077D0
call 00000000000077D0
mov rsi,rax
mov rsi,rax
mov ecx,105
mov ecx,105
mov rdx,7FF9BC57A338
mov rdx,7FF9BD6CA338
call 00000000000078E0
call 00000000000078E0
mov rcx,rax
mov rcx,rax
call qword ptr [0F798]
call qword ptr [0F798]
mov rdx,rax
mov rdx,rax
mov rcx,rsi
mov rcx,rsi
call qword ptr [0BB88]
call qword ptr [0BB88]
mov rcx,rsi
mov rcx,rsi
call 000000000000CF20
call 000000000000CF20
mov ecx,29
mov ecx,29
call qword ptr [1390]
call qword ptr [1390]
int 3
int 3
call qword ptr [1048]
call qword ptr [1048]
int 3
int 3
mov rcx,offset MT_System.ArgumentException
mov rcx,offset MT_System.ArgumentException
call 00000000000077D0
call 00000000000077D0
mov rsi,rax
mov rsi,rax
mov ecx,105
mov ecx,105
mov rdx,7FF9BC57A338
mov rdx,7FF9BD6CA338
call 00000000000078E0
call 00000000000078E0
mov rcx,rax
mov rcx,rax
call qword ptr [0F798]
call qword ptr [0F798]
mov rdx,rax
mov rdx,rax
mov rcx,rsi
mov rcx,rsi
call qword ptr [0BB88]
call qword ptr [0BB88]
mov rcx,rsi
mov rcx,rsi
call 000000000000CF20
call 000000000000CF20
mov rcx,offset MT_System.ArgumentException
mov rcx,offset MT_System.ArgumentException
call 00000000000077D0
call 00000000000077D0
mov rsi,rax
mov rsi,rax
mov ecx,37F
mov ecx,37F
mov rdx,7FF9BC57A338
mov rdx,7FF9BD6CA338
call 00000000000078E0
call 00000000000078E0
mov rcx,rax
mov rcx,rax
call qword ptr [0F798]
call qword ptr [0F798]
mov rdi,rax
mov rdi,rax
mov ecx,7F7
mov ecx,7F7
mov rdx,7FF9BC57A338
mov rdx,7FF9BD6CA338
call 00000000000078E0
call 00000000000078E0
mov r8,rax
mov r8,rax
mov rdx,rdi
mov rdx,rdi
mov rcx,rsi
mov rcx,rsi
call qword ptr [0BBD0]
call qword ptr [0BBD0]
mov rcx,rsi
mov rcx,rsi
call 000000000000CF20
call 000000000000CF20
int 3
int 3
call 0000000000001830
call 0000000000001830
int 3
int 3
; Total bytes of code 1427
; Total bytes of code 1478