Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- add_array:
- test rdx, rdx
- mov rax, rdi
- je .L66
- lea rcx, [rsi+16]
- cmp rdi, rcx
- lea rcx, [rax+16]
- setnb dil
- cmp rsi, rcx
- setnb cl
- or dil, cl
- je .L3
- cmp rdx, 17
- jbe .L3
- mov r9, rax
- lea r11, [rdx-1]
- push rbx
- neg r9
- and r9d, 15
- lea rcx, [r9+15]
- cmp r11, rcx
- jb .L12
- test r9, r9
- je .L13
- movzx edi, BYTE PTR [rsi]
- lea rbx, [rsi+1]
- lea rcx, [rax+1]
- add BYTE PTR [rax], dil
- cmp r9, 1
- lea r11, [rdx-2]
- je .L5
- movzx edi, BYTE PTR [rsi+1]
- lea rbx, [rsi+2]
- lea rcx, [rax+2]
- add BYTE PTR [rax+1], dil
- cmp r9, 2
- lea r11, [rdx-3]
- je .L5
- movzx edi, BYTE PTR [rsi+2]
- lea rbx, [rsi+3]
- lea rcx, [rax+3]
- add BYTE PTR [rax+2], dil
- cmp r9, 3
- lea r11, [rdx-4]
- je .L5
- movzx edi, BYTE PTR [rsi+3]
- lea rbx, [rsi+4]
- lea rcx, [rax+4]
- add BYTE PTR [rax+3], dil
- cmp r9, 4
- lea r11, [rdx-5]
- je .L5
- movzx edi, BYTE PTR [rsi+4]
- lea rbx, [rsi+5]
- lea rcx, [rax+5]
- add BYTE PTR [rax+4], dil
- cmp r9, 5
- lea r11, [rdx-6]
- je .L5
- movzx edi, BYTE PTR [rsi+5]
- lea rbx, [rsi+6]
- lea rcx, [rax+6]
- add BYTE PTR [rax+5], dil
- cmp r9, 6
- lea r11, [rdx-7]
- je .L5
- movzx edi, BYTE PTR [rsi+6]
- lea rbx, [rsi+7]
- lea rcx, [rax+7]
- add BYTE PTR [rax+6], dil
- cmp r9, 7
- lea r11, [rdx-8]
- je .L5
- movzx edi, BYTE PTR [rsi+7]
- lea rbx, [rsi+8]
- lea rcx, [rax+8]
- add BYTE PTR [rax+7], dil
- cmp r9, 8
- lea r11, [rdx-9]
- je .L5
- movzx edi, BYTE PTR [rsi+8]
- lea rbx, [rsi+9]
- lea rcx, [rax+9]
- add BYTE PTR [rax+8], dil
- cmp r9, 9
- lea r11, [rdx-10]
- je .L5
- movzx edi, BYTE PTR [rsi+9]
- lea rbx, [rsi+10]
- lea rcx, [rax+10]
- add BYTE PTR [rax+9], dil
- cmp r9, 10
- lea r11, [rdx-11]
- je .L5
- movzx edi, BYTE PTR [rsi+10]
- lea rbx, [rsi+11]
- lea rcx, [rax+11]
- add BYTE PTR [rax+10], dil
- cmp r9, 11
- lea r11, [rdx-12]
- je .L5
- movzx edi, BYTE PTR [rsi+11]
- lea rbx, [rsi+12]
- lea rcx, [rax+12]
- add BYTE PTR [rax+11], dil
- cmp r9, 12
- lea r11, [rdx-13]
- je .L5
- movzx edi, BYTE PTR [rsi+12]
- lea rbx, [rsi+13]
- lea rcx, [rax+13]
- add BYTE PTR [rax+12], dil
- cmp r9, 13
- lea r11, [rdx-14]
- je .L5
- movzx edi, BYTE PTR [rsi+13]
- lea rbx, [rsi+14]
- lea rcx, [rax+14]
- add BYTE PTR [rax+13], dil
- cmp r9, 15
- lea r11, [rdx-15]
- jne .L5
- movzx edi, BYTE PTR [rsi+14]
- lea rbx, [rsi+15]
- lea rcx, [rax+15]
- add BYTE PTR [rax+14], dil
- lea r11, [rdx-16]
- .L5:
- sub rdx, r9
- add rsi, r9
- xor r8d, r8d
- mov rdi, rdx
- add r9, rax
- xor r10d, r10d
- shr rdi, 4
- .L7:
- add r10, 1
- movdqu xmm0, XMMWORD PTR [rsi+r8]
- paddb xmm0, XMMWORD PTR [r9+r8]
- movaps XMMWORD PTR [r9+r8], xmm0
- add r8, 16
- cmp rdi, r10
- ja .L7
- mov rdi, rdx
- and rdi, -16
- add rcx, rdi
- sub r11, rdi
- cmp rdx, rdi
- lea rsi, [rbx+rdi]
- je .L2
- .L4:
- lea r8, [rcx+1+r11]
- .L9:
- add rsi, 1
- add rcx, 1
- movzx edx, BYTE PTR [rsi-1]
- add BYTE PTR [rcx-1], dl
- cmp rcx, r8
- jne .L9
- .L2:
- pop rbx
- ret
- .L3:
- add rdx, rsi
- mov rcx, rax
- .L10:
- add rsi, 1
- add rcx, 1
- movzx edi, BYTE PTR [rsi-1]
- add BYTE PTR [rcx-1], dil
- cmp rsi, rdx
- jne .L10
- rep ret
- .L66:
- rep ret
- .L12:
- mov rcx, rax
- jmp .L4
- .L13:
- mov rbx, rsi
- mov rcx, rax
- jmp .L5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement