user: 请显示与下面列出的汇编代码相匹配的C语言实现:

```asm
<RandomFunc>:
  endbr64
  push   %r12
  mov    %rsi,%r10
  push   %rbp
  push   %rbx
  sub    $0x550,%rsp
  mov    0x4(%rdi),%esi
  mov    %fs:0x28,%rax
  mov    %rax,0x548(%rsp)
  xor    %eax,%eax
  imul   $0x9f65fb16,(%rdi),%eax
  sub    $0x1a4602e4,%eax
  mov    %eax,0x540(%rsp)
  test   %esi,%esi
  je     L226
  lea    -0x1(%rsi),%r9d
  cmp    $0x2,%esi
  jbe    L342
  mov    %esi,%eax
  mov    %esi,%ebx
  lea    0x580(%rsp),%r12
  xor    %r8d,%r8d
  shr    $0x4,%eax
  and    $0xfffffff0,%ebx
  mov    $0x1,%edi
  lea    -0x1(%rax),%r11d
  lea    0x540(%rsp),%rdx
  shl    $0x6,%r11
  lea    0x1(%rbx),%ebp
  add    %r12,%r11
L14:
  cmp    $0xe,%r9d
  jbe    L170
  mov    %rdx,%rax
  add    $0x1,%r8d
L282:
  movdqa (%rax),%xmm3
  movdqa 0x10(%rax),%xmm2
  add    $0x40,%rax
  movdqa -0x10(%rax),%xmm0
  movdqa -0x20(%rax),%xmm1
  movaps %xmm3,0x530(%rsp)
  movzbl 0x531(%rsp),%ecx
  mov    %cl,-0x40(%rax)
  movaps %xmm3,0x520(%rsp)
  movzbl 0x525(%rsp),%ecx
  mov    %cl,-0x3c(%rax)
  movaps %xmm3,0x510(%rsp)
  movzbl 0x519(%rsp),%ecx
  mov    %cl,-0x38(%rax)
  movaps %xmm3,0x500(%rsp)
  movzbl 0x50d(%rsp),%ecx
  mov    %cl,-0x34(%rax)
  movaps %xmm2,0x4f0(%rsp)
  movzbl 0x4f1(%rsp),%ecx
  mov    %cl,-0x30(%rax)
  movaps %xmm2,0x4e0(%rsp)
  movzbl 0x4e5(%rsp),%ecx
  mov    %cl,-0x2c(%rax)
  movaps %xmm2,0x4d0(%rsp)
  movzbl 0x4d9(%rsp),%ecx
  mov    %cl,-0x28(%rax)
  movaps %xmm2,0x4c0(%rsp)
  movzbl 0x4cd(%rsp),%ecx
  mov    %cl,-0x24(%rax)
  movaps %xmm1,0x4b0(%rsp)
  movzbl 0x4b1(%rsp),%ecx
  mov    %cl,-0x20(%rax)
  movaps %xmm1,0x4a0(%rsp)
  movzbl 0x4a5(%rsp),%ecx
  mov    %cl,-0x1c(%rax)
  movaps %xmm1,0x490(%rsp)
  movzbl 0x499(%rsp),%ecx
  mov    %cl,-0x18(%rax)
  movaps %xmm1,0x480(%rsp)
  movzbl 0x48d(%rsp),%ecx
  mov    %cl,-0x14(%rax)
  movaps %xmm0,0x470(%rsp)
  movzbl 0x471(%rsp),%ecx
  mov    %cl,-0x10(%rax)
  movaps %xmm0,0x460(%rsp)
  movzbl 0x465(%rsp),%ecx
  mov    %cl,-0xc(%rax)
  movaps %xmm0,0x450(%rsp)
  movzbl 0x459(%rsp),%ecx
  mov    %cl,-0x8(%rax)
  movaps %xmm0,0x440(%rsp)
  movzbl 0x44d(%rsp),%ecx
  mov    %cl,-0x4(%rax)
  movd   %xmm3,%ecx
  mov    %cl,-0x3f(%rax)
  movaps %xmm3,0x430(%rsp)
  movzbl 0x434(%rsp),%ecx
  mov    %cl,-0x3b(%rax)
  movaps %xmm3,0x420(%rsp)
  movzbl 0x428(%rsp),%ecx
  mov    %cl,-0x37(%rax)
  movaps %xmm3,0x410(%rsp)
  movzbl 0x41c(%rsp),%ecx
  mov    %cl,-0x33(%rax)
  movd   %xmm2,%ecx
  mov    %cl,-0x2f(%rax)
  movaps %xmm2,0x400(%rsp)
  movzbl 0x404(%rsp),%ecx
  mov    %cl,-0x2b(%rax)
  movaps %xmm2,0x3f0(%rsp)
  movzbl 0x3f8(%rsp),%ecx
  mov    %cl,-0x27(%rax)
  movaps %xmm2,0x3e0(%rsp)
  movzbl 0x3ec(%rsp),%ecx
  mov    %cl,-0x23(%rax)
  movd   %xmm1,%ecx
  mov    %cl,-0x1f(%rax)
  movaps %xmm1,0x3d0(%rsp)
  movzbl 0x3d4(%rsp),%ecx
  mov    %cl,-0x1b(%rax)
  movaps %xmm1,0x3c0(%rsp)
  movzbl 0x3c8(%rsp),%ecx
  mov    %cl,-0x17(%rax)
  movaps %xmm1,0x3b0(%rsp)
  movzbl 0x3bc(%rsp),%ecx
  mov    %cl,-0x13(%rax)
  movd   %xmm0,%ecx
  mov    %cl,-0xf(%rax)
  movaps %xmm0,0x3a0(%rsp)
  movzbl 0x3a4(%rsp),%ecx
  mov    %cl,-0xb(%rax)
  movaps %xmm0,0x390(%rsp)
  movzbl 0x398(%rsp),%ecx
  mov    %cl,-0x7(%rax)
  movaps %xmm0,0x380(%rsp)
  movdqa -0x40(%rax),%xmm3
  movzbl 0x38c(%rsp),%ecx
  movdqa -0x30(%rax),%xmm2
  movdqa -0x20(%rax),%xmm1
  mov    %cl,-0x3(%rax)
  movdqa -0x10(%rax),%xmm0
  movaps %xmm3,0x370(%rsp)
  movzbl 0x371(%rsp),%ecx
  mov    %cl,-0x40(%rax)
  movaps %xmm3,0x360(%rsp)
  movzbl 0x365(%rsp),%ecx
  mov    %cl,-0x3c(%rax)
  movaps %xmm3,0x350(%rsp)
  movzbl 0x359(%rsp),%ecx
  mov    %cl,-0x38(%rax)
  movaps %xmm3,0x340(%rsp)
  movzbl 0x34d(%rsp),%ecx
  mov    %cl,-0x34(%rax)
  movaps %xmm2,0x330(%rsp)
  movzbl 0x331(%rsp),%ecx
  mov    %cl,-0x30(%rax)
  movaps %xmm2,0x320(%rsp)
  movzbl 0x325(%rsp),%ecx
  mov    %cl,-0x2c(%rax)
  movaps %xmm2,0x310(%rsp)
  movzbl 0x319(%rsp),%ecx
  mov    %cl,-0x28(%rax)
  movaps %xmm2,0x300(%rsp)
  movzbl 0x30d(%rsp),%ecx
  mov    %cl,-0x24(%rax)
  movaps %xmm1,0x2f0(%rsp)
  movzbl 0x2f1(%rsp),%ecx
  mov    %cl,-0x20(%rax)
  movaps %xmm1,0x2e0(%rsp)
  movzbl 0x2e5(%rsp),%ecx
  mov    %cl,-0x1c(%rax)
  movaps %xmm1,0x2d0(%rsp)
  movzbl 0x2d9(%rsp),%ecx
  mov    %cl,-0x18(%rax)
  movaps %xmm1,0x2c0(%rsp)
  movzbl 0x2cd(%rsp),%ecx
  mov    %cl,-0x14(%rax)
  movaps %xmm0,0x2b0(%rsp)
  movzbl 0x2b1(%rsp),%ecx
  mov    %cl,-0x10(%rax)
  movaps %xmm0,0x2a0(%rsp)
  movzbl 0x2a5(%rsp),%ecx
  mov    %cl,-0xc(%rax)
  movaps %xmm0,0x290(%rsp)
  movzbl 0x299(%rsp),%ecx
  mov    %cl,-0x8(%rax)
  movaps %xmm0,0x280(%rsp)
  movzbl 0x28d(%rsp),%ecx
  mov    %cl,-0x4(%rax)
  movd   %xmm3,%ecx
  mov    %cl,-0x3f(%rax)
  movaps %xmm3,0x270(%rsp)
  movzbl 0x274(%rsp),%ecx
  mov    %cl,-0x3b(%rax)
  movaps %xmm3,0x260(%rsp)
  movzbl 0x268(%rsp),%ecx
  mov    %cl,-0x37(%rax)
  movaps %xmm3,0x250(%rsp)
  movzbl 0x25c(%rsp),%ecx
  mov    %cl,-0x33(%rax)
  movd   %xmm2,%ecx
  mov    %cl,-0x2f(%rax)
  movaps %xmm2,0x240(%rsp)
  movzbl 0x244(%rsp),%ecx
  mov    %cl,-0x2b(%rax)
  movaps %xmm2,0x230(%rsp)
  movzbl 0x238(%rsp),%ecx
  mov    %cl,-0x27(%rax)
  movaps %xmm2,0x220(%rsp)
  movzbl 0x22c(%rsp),%ecx
  mov    %cl,-0x23(%rax)
  movd   %xmm1,%ecx
  mov    %cl,-0x1f(%rax)
  movaps %xmm1,0x210(%rsp)
  movzbl 0x214(%rsp),%ecx
  mov    %cl,-0x1b(%rax)
  movaps %xmm1,0x200(%rsp)
  movzbl 0x208(%rsp),%ecx
  mov    %cl,-0x17(%rax)
  movaps %xmm1,0x1f0(%rsp)
  movzbl 0x1fc(%rsp),%ecx
  mov    %cl,-0x13(%rax)
  movd   %xmm0,%ecx
  mov    %cl,-0xf(%rax)
  movaps %xmm0,0x1e0(%rsp)
  movzbl 0x1e4(%rsp),%ecx
  mov    %cl,-0xb(%rax)
  movaps %xmm0,0x1d0(%rsp)
  movzbl 0x1d8(%rsp),%ecx
  mov    %cl,-0x7(%rax)
  movaps %xmm0,0x1c0(%rsp)
  movzbl 0x1cc(%rsp),%ecx
  mov    %cl,-0x3(%rax)
  cmp    %r11,%rax
  jne    L282
  cmp    %ebx,%esi
  je     L328
  mov    %ebp,%eax
  cmp    %ebp,%esi
  jbe    L328
L300:
  lea    0x1(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L328
  lea    0x2(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L328
  lea    0x3(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L328
  lea    0x4(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L328
  lea    0x5(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L328
  lea    0x6(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L328
L328:
  add    $0x2,%edi
  add    $0x1,%r8d
  cmp    %edi,%r9d
  ja     L14
L193:
  mov    %esi,%eax
  mov    %esi,%r11d
  shr    $0x4,%eax
  and    $0xfffffff0,%r11d
  sub    $0x1,%eax
  shl    $0x6,%rax
  lea    (%r12,%rax,1),%rdi
  nop
L160:
  cmp    $0xe,%r9d
  jbe    L214
  mov    %rdx,%rax
  nopl   (%rax)
L75:
  movdqa (%rax),%xmm3
  movdqa 0x10(%rax),%xmm2
  add    $0x40,%rax
  movdqa -0x10(%rax),%xmm0
  movdqa -0x20(%rax),%xmm1
  movaps %xmm3,0x1b0(%rsp)
  movzbl 0x1b1(%rsp),%ecx
  mov    %cl,-0x40(%rax)
  movaps %xmm3,0x1a0(%rsp)
  movzbl 0x1a5(%rsp),%ecx
  mov    %cl,-0x3c(%rax)
  movaps %xmm3,0x190(%rsp)
  movzbl 0x199(%rsp),%ecx
  mov    %cl,-0x38(%rax)
  movaps %xmm3,0x180(%rsp)
  movzbl 0x18d(%rsp),%ecx
  mov    %cl,-0x34(%rax)
  movaps %xmm2,0x170(%rsp)
  movzbl 0x171(%rsp),%ecx
  mov    %cl,-0x30(%rax)
  movaps %xmm2,0x160(%rsp)
  movzbl 0x165(%rsp),%ecx
  mov    %cl,-0x2c(%rax)
  movaps %xmm2,0x150(%rsp)
  movzbl 0x159(%rsp),%ecx
  mov    %cl,-0x28(%rax)
  movaps %xmm2,0x140(%rsp)
  movzbl 0x14d(%rsp),%ecx
  mov    %cl,-0x24(%rax)
  movaps %xmm1,0x130(%rsp)
  movzbl 0x131(%rsp),%ecx
  mov    %cl,-0x20(%rax)
  movaps %xmm1,0x120(%rsp)
  movzbl 0x125(%rsp),%ecx
  mov    %cl,-0x1c(%rax)
  movaps %xmm1,0x110(%rsp)
  movzbl 0x119(%rsp),%ecx
  mov    %cl,-0x18(%rax)
  movaps %xmm1,0x100(%rsp)
  movzbl 0x10d(%rsp),%ecx
  mov    %cl,-0x14(%rax)
  movaps %xmm0,0xf0(%rsp)
  movzbl 0xf1(%rsp),%ecx
  mov    %cl,-0x10(%rax)
  movaps %xmm0,0xe0(%rsp)
  movzbl 0xe5(%rsp),%ecx
  mov    %cl,-0xc(%rax)
  movaps %xmm0,0xd0(%rsp)
  movzbl 0xd9(%rsp),%ecx
  mov    %cl,-0x8(%rax)
  movaps %xmm0,0xc0(%rsp)
  movzbl 0xcd(%rsp),%ecx
  mov    %cl,-0x4(%rax)
  movd   %xmm3,%ecx
  mov    %cl,-0x3f(%rax)
  movaps %xmm3,0xb0(%rsp)
  movzbl 0xb4(%rsp),%ecx
  mov    %cl,-0x3b(%rax)
  movaps %xmm3,0xa0(%rsp)
  movzbl 0xa8(%rsp),%ecx
  mov    %cl,-0x37(%rax)
  movaps %xmm3,0x90(%rsp)
  movzbl 0x9c(%rsp),%ecx
  mov    %cl,-0x33(%rax)
  movd   %xmm2,%ecx
  mov    %cl,-0x2f(%rax)
  movaps %xmm2,0x80(%rsp)
  movzbl 0x84(%rsp),%ecx
  mov    %cl,-0x2b(%rax)
  movaps %xmm2,0x70(%rsp)
  movzbl 0x78(%rsp),%ecx
  mov    %cl,-0x27(%rax)
  movaps %xmm2,0x60(%rsp)
  movzbl 0x6c(%rsp),%ecx
  mov    %cl,-0x23(%rax)
  movd   %xmm1,%ecx
  mov    %cl,-0x1f(%rax)
  movaps %xmm1,0x50(%rsp)
  movzbl 0x54(%rsp),%ecx
  mov    %cl,-0x1b(%rax)
  movaps %xmm1,0x40(%rsp)
  movzbl 0x48(%rsp),%ecx
  mov    %cl,-0x17(%rax)
  movaps %xmm1,0x30(%rsp)
  movzbl 0x3c(%rsp),%ecx
  mov    %cl,-0x13(%rax)
  movd   %xmm0,%ecx
  mov    %cl,-0xf(%rax)
  movaps %xmm0,0x20(%rsp)
  movzbl 0x24(%rsp),%ecx
  mov    %cl,-0xb(%rax)
  movaps %xmm0,0x10(%rsp)
  movzbl 0x18(%rsp),%ecx
  mov    %cl,-0x7(%rax)
  movaps %xmm0,(%rsp)
  movzbl 0xc(%rsp),%ecx
  mov    %cl,-0x3(%rax)
  cmp    %rax,%rdi
  jne    L75
  cmp    %r11d,%esi
  je     L285
  mov    %r11d,%eax
L197:
  mov    %eax,%ecx
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0x1(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0x2(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0x3(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0x4(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0x5(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0x6(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0x7(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0x8(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0x9(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0xa(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0xb(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0xc(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rcx,4)
  lea    0xd(%rax),%ecx
  cmp    %ecx,%esi
  jbe    L285
  add    $0xe,%eax
  rolw   $0x8,(%rdx,%rcx,4)
  cmp    %eax,%esi
  jbe    L285
  rolw   $0x8,(%rdx,%rax,4)
  nopw   0x0(%rax,%rax,1)
L285:
  add    $0x1,%r8d
  cmp    %r8d,%esi
  ja     L160
  mov    0x540(%rsp),%eax
L226:
  add    $0x102a1fae,%eax
  mov    %eax,(%r10)
  mov    0x548(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L224
  add    $0x550,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
  nopl   0x0(%rax,%rax,1)
L214:
  xor    %eax,%eax
  jmp    L197
L342:
  xor    %r8d,%r8d
  lea    0x540(%rsp),%rdx
  lea    0x580(%rsp),%r12
  jmp    L193
L170:
  add    $0x1,%r8d
  mov    $0x1,%eax
  jmp    L300
L224:
  call   <__stack_chk_fail@plt>
```

assistant: ```c
void RandomFunc(unsigned int input[1], unsigned int output[1]) {
  unsigned int state[1];
  unsigned int local2;
  unsigned int local1;
  char copy11;
  {
    state[0UL] = (input[0UL] + 914778474UL) * 2674260758U;
    local1 = 0UL;
    while (local1 < input[1UL]) {
      local2 = 0UL;
      while (local2 < input[1UL]) {
        copy11 = *((char *)(&state[local2]) + 0);
        *((char *)(&state[local2]) + 0) = *((char *)(&state[local2]) + 1);
        *((char *)(&state[local2]) + 1) = copy11;
        local2++;
      }
      local1++;
    }
    output[0UL] = (state[0UL] + 690137161UL) + 3876026213U;
  }
}
```