PikalaxALT icon

Untitled

PikalaxALT | PRO | 03/25/18 02:53:40 AM UTC | 0 ⭐ | 12833 👁️ | Never ⏰ | []
ASM (NASM) |

0 B

|

None

|

0 👍

/

0 👎

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

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎