user: What would the C source look like for the assembly code provided here:

```asm
<Flash_Back2RAM>:
  endbr64
  mov    %rdi,%rax
  mov    %rsi,%rcx
  mov    %edx,%edi
  test   %dl,%dl
  je     L74
  lea    0x1(%rax),%r9
  mov    %rcx,%r8
  lea    -0x1(%rdx),%esi
  sub    %r9,%r8
  cmp    $0xe,%r8
  jbe    L93
  cmp    $0x6,%sil
  jbe    L93
  cmp    $0xe,%sil
  jbe    L224
  movdqu (%rax),%xmm0
  mov    %edx,%esi
  shr    $0x4,%sil
  movups %xmm0,(%rcx)
  cmp    $0x1,%sil
  je     L90
  movdqu 0x10(%rax),%xmm1
  movups %xmm1,0x10(%rcx)
  cmp    $0x2,%sil
  je     L90
  movdqu 0x20(%rax),%xmm2
  movups %xmm2,0x20(%rcx)
  cmp    $0x3,%sil
  je     L90
  movdqu 0x30(%rax),%xmm3
  movups %xmm3,0x30(%rcx)
  cmp    $0x4,%sil
  je     L90
  movdqu 0x40(%rax),%xmm4
  movups %xmm4,0x40(%rcx)
  cmp    $0x5,%sil
  je     L90
  movdqu 0x50(%rax),%xmm5
  movups %xmm5,0x50(%rcx)
  cmp    $0x6,%sil
  je     L90
  movdqu 0x60(%rax),%xmm6
  movups %xmm6,0x60(%rcx)
  cmp    $0x7,%sil
  je     L90
  movdqu 0x70(%rax),%xmm7
  movups %xmm7,0x70(%rcx)
  cmp    $0x8,%sil
  je     L90
  movdqu 0x80(%rax),%xmm7
  movups %xmm7,0x80(%rcx)
  cmp    $0x9,%sil
  je     L90
  movdqu 0x90(%rax),%xmm6
  movups %xmm6,0x90(%rcx)
  cmp    $0xa,%sil
  je     L90
  movdqu 0xa0(%rax),%xmm5
  movups %xmm5,0xa0(%rcx)
  cmp    $0xb,%sil
  je     L90
  movdqu 0xb0(%rax),%xmm4
  movups %xmm4,0xb0(%rcx)
  cmp    $0xc,%sil
  je     L90
  movdqu 0xc0(%rax),%xmm7
  movups %xmm7,0xc0(%rcx)
  cmp    $0xd,%sil
  je     L90
  movdqu 0xd0(%rax),%xmm6
  movups %xmm6,0xd0(%rcx)
  cmp    $0xf,%sil
  jne    L90
  movdqu 0xe0(%rax),%xmm5
  movups %xmm5,0xe0(%rcx)
  nopl   0x0(%rax)
L90:
  mov    %edx,%esi
  and    $0xfffffff0,%esi
  test   $0xf,%dl
  je     L74
  mov    %edx,%edi
  sub    %esi,%edi
  lea    -0x1(%rdi),%r8d
  cmp    $0x6,%r8b
  jbe    L71
L108:
  movzbl %sil,%r8d
  mov    (%rax,%r8,1),%r9
  mov    %r9,(%rcx,%r8,1)
  mov    %edi,%r8d
  and    $0xfffffff8,%r8d
  add    %r8d,%esi
  cmp    %dil,%r8b
  je     L74
L71:
  movzbl %sil,%edi
  movzbl (%rax,%rdi,1),%r8d
  mov    %r8b,(%rcx,%rdi,1)
  lea    0x1(%rsi),%edi
  cmp    %dil,%dl
  jbe    L74
  movzbl %dil,%edi
  movzbl (%rax,%rdi,1),%r8d
  mov    %r8b,(%rcx,%rdi,1)
  lea    0x2(%rsi),%edi
  cmp    %dil,%dl
  jbe    L74
  movzbl %dil,%edi
  movzbl (%rax,%rdi,1),%r8d
  mov    %r8b,(%rcx,%rdi,1)
  lea    0x3(%rsi),%edi
  cmp    %dil,%dl
  jbe    L74
  movzbl %dil,%edi
  movzbl (%rax,%rdi,1),%r8d
  mov    %r8b,(%rcx,%rdi,1)
  lea    0x4(%rsi),%edi
  cmp    %dil,%dl
  jbe    L74
  movzbl %dil,%edi
  movzbl (%rax,%rdi,1),%r8d
  mov    %r8b,(%rcx,%rdi,1)
  lea    0x5(%rsi),%edi
  cmp    %dil,%dl
  jbe    L74
  movzbl %dil,%edi
  add    $0x6,%esi
  movzbl (%rax,%rdi,1),%r8d
  mov    %r8b,(%rcx,%rdi,1)
  cmp    %sil,%dl
  jbe    L74
  movzbl %sil,%esi
  movzbl (%rax,%rsi,1),%eax
  mov    %al,(%rcx,%rsi,1)
  ret
  nopl   (%rax)
L93:
  xor    %edx,%edx
  nopw   0x0(%rax,%rax,1)
L280:
  movzbl (%rax,%rdx,1),%esi
  mov    %sil,(%rcx,%rdx,1)
  add    $0x1,%rdx
  cmp    %dl,%dil
  ja     L280
L74:
  ret
L224:
  xor    %esi,%esi
  jmp    L108
```

assistant: ```c
void Flash_Back2RAM(unsigned char *Ptr, unsigned char *Array, unsigned char length) {
  unsigned char i;
  for (i = 0; i < length; i++) {
    Array[i] = Ptr[i];
  }
}
```