user: Please show me the C implementation that matches the assembly code listed below:

```asm
<XORBytes>:
  endbr64
  mov    %rdi,%rax
  mov    %rsi,%rcx
  lea    0x1(%rsi),%rsi
  mov    %edx,%r8d
  mov    %rax,%r9
  lea    -0x1(%rdx),%edi
  sub    %rsi,%r9
  cmp    $0xe,%r9
  jbe    L190
  cmp    $0x6,%dil
  jbe    L190
  cmp    $0xe,%dil
  jbe    L172
  movdqu (%rax),%xmm0
  movdqu (%rcx),%xmm2
  lea    -0x10(%rdx),%edi
  shr    $0x4,%dil
  pxor   %xmm2,%xmm0
  lea    0x1(%rdi),%esi
  movups %xmm0,(%rax)
  je     L208
  movdqu 0x10(%rax),%xmm0
  movdqu 0x10(%rcx),%xmm3
  pxor   %xmm3,%xmm0
  movups %xmm0,0x10(%rax)
  cmp    $0x2,%sil
  je     L208
  movdqu 0x20(%rax),%xmm0
  movdqu 0x20(%rcx),%xmm4
  pxor   %xmm4,%xmm0
  movups %xmm0,0x20(%rax)
  cmp    $0x3,%sil
  je     L208
  movdqu 0x30(%rax),%xmm0
  movdqu 0x30(%rcx),%xmm5
  pxor   %xmm5,%xmm0
  movups %xmm0,0x30(%rax)
  cmp    $0x4,%sil
  je     L208
  movdqu 0x40(%rax),%xmm0
  movdqu 0x40(%rcx),%xmm6
  pxor   %xmm6,%xmm0
  movups %xmm0,0x40(%rax)
  cmp    $0x5,%sil
  je     L208
  movdqu 0x50(%rax),%xmm0
  movdqu 0x50(%rcx),%xmm7
  pxor   %xmm7,%xmm0
  movups %xmm0,0x50(%rax)
  cmp    $0x6,%sil
  je     L208
  movdqu 0x60(%rax),%xmm0
  movdqu 0x60(%rcx),%xmm7
  pxor   %xmm7,%xmm0
  movups %xmm0,0x60(%rax)
  cmp    $0x7,%sil
  je     L208
  movdqu 0x70(%rax),%xmm0
  movdqu 0x70(%rcx),%xmm6
  pxor   %xmm6,%xmm0
  movups %xmm0,0x70(%rax)
  cmp    $0x8,%sil
  je     L208
  movdqu 0x80(%rax),%xmm0
  movdqu 0x80(%rcx),%xmm5
  pxor   %xmm5,%xmm0
  movups %xmm0,0x80(%rax)
  cmp    $0x9,%sil
  je     L208
  movdqu 0x90(%rax),%xmm0
  movdqu 0x90(%rcx),%xmm4
  pxor   %xmm4,%xmm0
  movups %xmm0,0x90(%rax)
  cmp    $0xa,%sil
  je     L208
  movdqu 0xa0(%rax),%xmm0
  movdqu 0xa0(%rcx),%xmm7
  pxor   %xmm7,%xmm0
  movups %xmm0,0xa0(%rax)
  cmp    $0xb,%sil
  je     L208
  movdqu 0xb0(%rax),%xmm0
  movdqu 0xb0(%rcx),%xmm6
  pxor   %xmm6,%xmm0
  movups %xmm0,0xb0(%rax)
  cmp    $0xc,%sil
  je     L208
  movdqu 0xc0(%rax),%xmm0
  movdqu 0xc0(%rcx),%xmm5
  pxor   %xmm5,%xmm0
  movups %xmm0,0xc0(%rax)
  cmp    $0xd,%sil
  je     L208
  movdqu 0xd0(%rax),%xmm0
  movdqu 0xd0(%rcx),%xmm3
  pxor   %xmm3,%xmm0
  movups %xmm0,0xd0(%rax)
  cmp    $0xe,%sil
  je     L208
  movdqu 0xe0(%rax),%xmm0
  movdqu 0xe0(%rcx),%xmm7
  pxor   %xmm7,%xmm0
  movups %xmm0,0xe0(%rax)
  cmp    $0x10,%sil
  jne    L208
  movdqu 0xf0(%rax),%xmm0
  movdqu 0xf0(%rcx),%xmm4
  pxor   %xmm4,%xmm0
  movups %xmm0,0xf0(%rax)
  test   %dl,%dl
  je     L238
L172:
  mov    %edx,%edi
  mov    %rcx,%r9
  mov    %rax,%rsi
  xor    %r10d,%r10d
  jmp    L76
  nopw   0x0(%rax,%rax,1)
L208:
  shl    $0x4,%esi
  mov    %edx,%edi
  movzbl %sil,%r10d
  lea    (%rax,%r10,1),%rsi
  lea    (%rcx,%r10,1),%r9
  sub    %r10d,%edi
  cmp    %r10b,%dl
  je     L238
  lea    -0x1(%rdi),%edx
  mov    %edi,%r8d
  cmp    $0x6,%dl
  jbe    L19
L76:
  add    %r10,%rax
  movq   (%rcx,%r10,1),%xmm0
  mov    %r8,%rdx
  movq   (%rax),%xmm1
  and    $0xf8,%edx
  add    %rdx,%rsi
  add    %rdx,%r9
  pxor   %xmm1,%xmm0
  movq   %xmm0,(%rax)
  mov    %r8d,%eax
  and    $0xfffffff8,%eax
  sub    %eax,%edi
  cmp    %r8b,%al
  je     L238
L19:
  movzbl (%r9),%eax
  xor    %al,(%rsi)
  cmp    $0x1,%dil
  je     L238
  movzbl 0x1(%r9),%eax
  xor    %al,0x1(%rsi)
  cmp    $0x2,%dil
  je     L238
  movzbl 0x2(%r9),%eax
  xor    %al,0x2(%rsi)
  cmp    $0x3,%dil
  je     L238
  movzbl 0x3(%r9),%eax
  xor    %al,0x3(%rsi)
  cmp    $0x4,%dil
  je     L238
  movzbl 0x4(%r9),%eax
  xor    %al,0x4(%rsi)
  cmp    $0x5,%dil
  je     L238
  movzbl 0x5(%r9),%eax
  xor    %al,0x5(%rsi)
  cmp    $0x6,%dil
  je     L238
  movzbl 0x6(%r9),%eax
  xor    %al,0x6(%rsi)
  ret
L190:
  movzbl %dil,%edi
  lea    0x1(%rax,%rdi,1),%rdi
  jmp    L30
  nopl   0x0(%rax,%rax,1)
L204:
  add    $0x1,%rsi
L30:
  movzbl (%rcx),%edx
  xor    %dl,(%rax)
  add    $0x1,%rax
  mov    %rsi,%rcx
  cmp    %rdi,%rax
  jne    L204
L238:
  ret
```

assistant: ```c
void XORBytes(unsigned char *bytes1, unsigned char *bytes2, unsigned char count) {
  do {
    *bytes1 ^= *bytes2;
    bytes1++;
    bytes2++;
  } while (--count);
}
```