Advertisement
PikalaxALT

Untitled

Mar 24th, 2018
295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. add_array:
  2.         test    rdx, rdx
  3.         mov     rax, rdi
  4.         je      .L66
  5.         lea     rcx, [rsi+16]
  6.         cmp     rdi, rcx
  7.         lea     rcx, [rax+16]
  8.         setnb   dil
  9.         cmp     rsi, rcx
  10.         setnb   cl
  11.         or      dil, cl
  12.         je      .L3
  13.         cmp     rdx, 17
  14.         jbe     .L3
  15.         mov     r9, rax
  16.         lea     r11, [rdx-1]
  17.         push    rbx
  18.         neg     r9
  19.         and     r9d, 15
  20.         lea     rcx, [r9+15]
  21.         cmp     r11, rcx
  22.         jb      .L12
  23.         test    r9, r9
  24.         je      .L13
  25.         movzx   edi, BYTE PTR [rsi]
  26.         lea     rbx, [rsi+1]
  27.         lea     rcx, [rax+1]
  28.         add     BYTE PTR [rax], dil
  29.         cmp     r9, 1
  30.         lea     r11, [rdx-2]
  31.         je      .L5
  32.         movzx   edi, BYTE PTR [rsi+1]
  33.         lea     rbx, [rsi+2]
  34.         lea     rcx, [rax+2]
  35.         add     BYTE PTR [rax+1], dil
  36.         cmp     r9, 2
  37.         lea     r11, [rdx-3]
  38.         je      .L5
  39.         movzx   edi, BYTE PTR [rsi+2]
  40.         lea     rbx, [rsi+3]
  41.         lea     rcx, [rax+3]
  42.         add     BYTE PTR [rax+2], dil
  43.         cmp     r9, 3
  44.         lea     r11, [rdx-4]
  45.         je      .L5
  46.         movzx   edi, BYTE PTR [rsi+3]
  47.         lea     rbx, [rsi+4]
  48.         lea     rcx, [rax+4]
  49.         add     BYTE PTR [rax+3], dil
  50.         cmp     r9, 4
  51.         lea     r11, [rdx-5]
  52.         je      .L5
  53.         movzx   edi, BYTE PTR [rsi+4]
  54.         lea     rbx, [rsi+5]
  55.         lea     rcx, [rax+5]
  56.         add     BYTE PTR [rax+4], dil
  57.         cmp     r9, 5
  58.         lea     r11, [rdx-6]
  59.         je      .L5
  60.         movzx   edi, BYTE PTR [rsi+5]
  61.         lea     rbx, [rsi+6]
  62.         lea     rcx, [rax+6]
  63.         add     BYTE PTR [rax+5], dil
  64.         cmp     r9, 6
  65.         lea     r11, [rdx-7]
  66.         je      .L5
  67.         movzx   edi, BYTE PTR [rsi+6]
  68.         lea     rbx, [rsi+7]
  69.         lea     rcx, [rax+7]
  70.         add     BYTE PTR [rax+6], dil
  71.         cmp     r9, 7
  72.         lea     r11, [rdx-8]
  73.         je      .L5
  74.         movzx   edi, BYTE PTR [rsi+7]
  75.         lea     rbx, [rsi+8]
  76.         lea     rcx, [rax+8]
  77.         add     BYTE PTR [rax+7], dil
  78.         cmp     r9, 8
  79.         lea     r11, [rdx-9]
  80.         je      .L5
  81.         movzx   edi, BYTE PTR [rsi+8]
  82.         lea     rbx, [rsi+9]
  83.         lea     rcx, [rax+9]
  84.         add     BYTE PTR [rax+8], dil
  85.         cmp     r9, 9
  86.         lea     r11, [rdx-10]
  87.         je      .L5
  88.         movzx   edi, BYTE PTR [rsi+9]
  89.         lea     rbx, [rsi+10]
  90.         lea     rcx, [rax+10]
  91.         add     BYTE PTR [rax+9], dil
  92.         cmp     r9, 10
  93.         lea     r11, [rdx-11]
  94.         je      .L5
  95.         movzx   edi, BYTE PTR [rsi+10]
  96.         lea     rbx, [rsi+11]
  97.         lea     rcx, [rax+11]
  98.         add     BYTE PTR [rax+10], dil
  99.         cmp     r9, 11
  100.         lea     r11, [rdx-12]
  101.         je      .L5
  102.         movzx   edi, BYTE PTR [rsi+11]
  103.         lea     rbx, [rsi+12]
  104.         lea     rcx, [rax+12]
  105.         add     BYTE PTR [rax+11], dil
  106.         cmp     r9, 12
  107.         lea     r11, [rdx-13]
  108.         je      .L5
  109.         movzx   edi, BYTE PTR [rsi+12]
  110.         lea     rbx, [rsi+13]
  111.         lea     rcx, [rax+13]
  112.         add     BYTE PTR [rax+12], dil
  113.         cmp     r9, 13
  114.         lea     r11, [rdx-14]
  115.         je      .L5
  116.         movzx   edi, BYTE PTR [rsi+13]
  117.         lea     rbx, [rsi+14]
  118.         lea     rcx, [rax+14]
  119.         add     BYTE PTR [rax+13], dil
  120.         cmp     r9, 15
  121.         lea     r11, [rdx-15]
  122.         jne     .L5
  123.         movzx   edi, BYTE PTR [rsi+14]
  124.         lea     rbx, [rsi+15]
  125.         lea     rcx, [rax+15]
  126.         add     BYTE PTR [rax+14], dil
  127.         lea     r11, [rdx-16]
  128. .L5:
  129.         sub     rdx, r9
  130.         add     rsi, r9
  131.         xor     r8d, r8d
  132.         mov     rdi, rdx
  133.         add     r9, rax
  134.         xor     r10d, r10d
  135.         shr     rdi, 4
  136. .L7:
  137.         add     r10, 1
  138.         movdqu  xmm0, XMMWORD PTR [rsi+r8]
  139.         paddb   xmm0, XMMWORD PTR [r9+r8]
  140.         movaps  XMMWORD PTR [r9+r8], xmm0
  141.         add     r8, 16
  142.         cmp     rdi, r10
  143.         ja      .L7
  144.         mov     rdi, rdx
  145.         and     rdi, -16
  146.         add     rcx, rdi
  147.         sub     r11, rdi
  148.         cmp     rdx, rdi
  149.         lea     rsi, [rbx+rdi]
  150.         je      .L2
  151. .L4:
  152.         lea     r8, [rcx+1+r11]
  153. .L9:
  154.         add     rsi, 1
  155.         add     rcx, 1
  156.         movzx   edx, BYTE PTR [rsi-1]
  157.         add     BYTE PTR [rcx-1], dl
  158.         cmp     rcx, r8
  159.         jne     .L9
  160. .L2:
  161.         pop     rbx
  162.         ret
  163. .L3:
  164.         add     rdx, rsi
  165.         mov     rcx, rax
  166. .L10:
  167.         add     rsi, 1
  168.         add     rcx, 1
  169.         movzx   edi, BYTE PTR [rsi-1]
  170.         add     BYTE PTR [rcx-1], dil
  171.         cmp     rsi, rdx
  172.         jne     .L10
  173.         rep ret
  174. .L66:
  175.         rep ret
  176. .L12:
  177.         mov     rcx, rax
  178.         jmp     .L4
  179. .L13:
  180.         mov     rbx, rsi
  181.         mov     rcx, rax
  182.         jmp     .L5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement