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

```asm
<clErrNo2Str>:
  endbr64
  sub    $0x338,%rsp
  mov    %edi,%r8d
  mov    $0x64,%ecx
  mov    %fs:0x28,%rax
  mov    %rax,0x328(%rsp)
  lea    D349(%rip),%rax
  mov    %rsp,%rdi
  neg    %r8d
  lea    D382(%rip),%rsi
  movq   %rsi,%xmm1
  lea    D569(%rip),%rdx
  lea    D289(%rip),%rsi
  movslq %r8d,%r8
  movq   %rax,%xmm0
  xor    %eax,%eax
  rep stos %rax,%es:(%rdi)
  lea    D79(%rip),%rax
  lea    D464(%rip),%rcx
  punpcklqdq %xmm0,%xmm0
  movq   %rax,%xmm2
  lea    D285(%rip),%rax
  lea    D482(%rip),%rdi
  movaps %xmm0,0xa0(%rsp)
  punpcklqdq %xmm2,%xmm1
  movq   %rax,%xmm3
  lea    D13(%rip),%rax
  movaps %xmm0,0xb0(%rsp)
  movaps %xmm1,(%rsp)
  movq   %rdx,%xmm1
  movq   %rax,%xmm4
  lea    D358(%rip),%rax
  punpcklqdq %xmm3,%xmm1
  movq   %rax,%xmm5
  lea    D507(%rip),%rax
  movaps %xmm0,0xc0(%rsp)
  movaps %xmm1,0x10(%rsp)
  movq   %rcx,%xmm1
  movq   %rax,%xmm6
  lea    D391(%rip),%rdx
  punpcklqdq %xmm4,%xmm1
  lea    D262(%rip),%rax
  lea    D136(%rip),%rcx
  movaps %xmm0,0xd0(%rsp)
  movaps %xmm1,0x20(%rsp)
  movq   %rsi,%xmm1
  movq   %rax,%xmm7
  lea    D95(%rip),%rax
  punpcklqdq %xmm5,%xmm1
  movq   %rax,%xmm2
  lea    D204(%rip),%rax
  movaps %xmm0,0xe0(%rsp)
  movaps %xmm1,0x30(%rsp)
  movq   %rdx,%xmm1
  movq   %rax,%xmm3
  lea    D71(%rip),%rax
  punpcklqdq %xmm6,%xmm1
  movq   %rax,%xmm4
  lea    D590(%rip),%rax
  movaps %xmm1,0x40(%rsp)
  movq   %rdi,%xmm1
  movq   %rax,%xmm5
  lea    D528(%rip),%rax
  punpcklqdq %xmm7,%xmm1
  movq   %rax,%xmm6
  lea    D243(%rip),%rsi
  movaps %xmm1,0x50(%rsp)
  movq   %rcx,%xmm1
  lea    D268(%rip),%rcx
  lea    D591(%rip),%rax
  punpcklqdq %xmm2,%xmm1
  movq   %rcx,%xmm0
  movq   %rax,%xmm7
  punpcklqdq %xmm6,%xmm0
  movaps %xmm1,0x60(%rsp)
  movq   %rsi,%xmm1
  lea    D300(%rip),%rsi
  punpcklqdq %xmm3,%xmm1
  lea    D150(%rip),%rdx
  movaps %xmm0,0xf0(%rsp)
  movq   %rsi,%xmm0
  punpcklqdq %xmm7,%xmm0
  movaps %xmm1,0x70(%rsp)
  lea    D383(%rip),%rax
  movq   %rdx,%xmm1
  lea    D156(%rip),%rdx
  punpcklqdq %xmm4,%xmm1
  movq   %rax,%xmm2
  movaps %xmm0,0x100(%rsp)
  lea    D125(%rip),%rdi
  movq   %rdx,%xmm0
  movaps %xmm1,0x80(%rsp)
  lea    D588(%rip),%rax
  punpcklqdq %xmm2,%xmm0
  movq   %rdi,%xmm1
  lea    D76(%rip),%rdi
  movq   %rax,%xmm3
  movaps %xmm0,0x110(%rsp)
  movq   %rdi,%xmm0
  lea    D384(%rip),%rax
  punpcklqdq %xmm3,%xmm0
  movq   %rax,%xmm4
  punpcklqdq %xmm5,%xmm1
  lea    D180(%rip),%rcx
  movaps %xmm0,0x120(%rsp)
  lea    D510(%rip),%rax
  movq   %rcx,%xmm0
  lea    D487(%rip),%rsi
  movq   %rax,%xmm5
  movaps %xmm1,0x90(%rsp)
  punpcklqdq %xmm4,%xmm0
  lea    D375(%rip),%rax
  lea    D151(%rip),%rdx
  movaps %xmm0,0x130(%rsp)
  movq   %rsi,%xmm0
  movq   %rax,%xmm6
  lea    D330(%rip),%rdi
  punpcklqdq %xmm5,%xmm0
  lea    D326(%rip),%rax
  lea    D192(%rip),%rcx
  movaps %xmm0,0x140(%rsp)
  movq   %rdx,%xmm0
  movq   %rax,%xmm7
  lea    D29(%rip),%rax
  punpcklqdq %xmm6,%xmm0
  movq   %rax,%xmm2
  lea    D421(%rip),%rsi
  movaps %xmm0,0x150(%rsp)
  movq   %rdi,%xmm0
  lea    D308(%rip),%rax
  lea    D504(%rip),%rdx
  punpcklqdq %xmm7,%xmm0
  movq   %rax,%xmm3
  lea    D513(%rip),%rax
  movaps %xmm0,0x160(%rsp)
  movq   %rcx,%xmm0
  movq   %rax,%xmm4
  lea    D429(%rip),%rdi
  punpcklqdq %xmm2,%xmm0
  lea    D189(%rip),%rax
  lea    D221(%rip),%rcx
  movaps %xmm0,0x170(%rsp)
  movq   %rsi,%xmm0
  movq   %rax,%xmm5
  lea    D568(%rip),%rax
  punpcklqdq %xmm3,%xmm0
  movq   %rax,%xmm6
  lea    D225(%rip),%rsi
  movaps %xmm0,0x180(%rsp)
  movq   %rdx,%xmm0
  lea    D133(%rip),%rax
  lea    D353(%rip),%rdx
  punpcklqdq %xmm4,%xmm0
  movq   %rax,%xmm7
  lea    D209(%rip),%rax
  movaps %xmm0,0x190(%rsp)
  movq   %rdi,%xmm0
  movq   %rax,%xmm2
  lea    D379(%rip),%rdi
  punpcklqdq %xmm5,%xmm0
  lea    D203(%rip),%rax
  movaps %xmm0,0x1a0(%rsp)
  movq   %rcx,%xmm0
  movq   %rax,%xmm3
  lea    D333(%rip),%rcx
  punpcklqdq %xmm6,%xmm0
  lea    D570(%rip),%rax
  movaps %xmm0,0x1b0(%rsp)
  movq   %rsi,%xmm0
  movq   %rax,%xmm4
  lea    D105(%rip),%rsi
  punpcklqdq %xmm7,%xmm0
  lea    D242(%rip),%rax
  movaps %xmm0,0x1c0(%rsp)
  movq   %rdx,%xmm0
  movq   %rax,%xmm5
  lea    D479(%rip),%rax
  punpcklqdq %xmm2,%xmm0
  movq   %rax,%xmm6
  lea    D104(%rip),%rdx
  movaps %xmm0,0x1d0(%rsp)
  movq   %rdi,%xmm0
  lea    D139(%rip),%rax
  punpcklqdq %xmm3,%xmm0
  mov    %rax,0x220(%rsp)
  movaps %xmm0,0x1e0(%rsp)
  movq   %rcx,%xmm0
  punpcklqdq %xmm4,%xmm0
  movaps %xmm0,0x1f0(%rsp)
  movq   %rsi,%xmm0
  punpcklqdq %xmm5,%xmm0
  movaps %xmm0,0x200(%rsp)
  movq   %rdx,%xmm0
  punpcklqdq %xmm6,%xmm0
  movaps %xmm0,0x210(%rsp)
  mov    (%rsp,%r8,8),%rax
  mov    0x328(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L8
  add    $0x338,%rsp
  ret
L8:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: data_tag: D349
datatype: string
name: unpack_data
arguments: data_tag: D382
datatype: string
name: unpack_data
arguments: data_tag: D569
datatype: string
name: unpack_data
arguments: data_tag: D289
datatype: string
name: unpack_data
arguments: data_tag: D79
datatype: string
name: unpack_data
arguments: data_tag: D464
datatype: string
name: unpack_data
arguments: data_tag: D285
datatype: string
name: unpack_data
arguments: data_tag: D482
datatype: string
name: unpack_data
arguments: data_tag: D13
datatype: string
name: unpack_data
arguments: data_tag: D358
datatype: string
name: unpack_data
arguments: data_tag: D507
datatype: string
name: unpack_data
arguments: data_tag: D391
datatype: string
name: unpack_data
arguments: data_tag: D262
datatype: string
name: unpack_data
arguments: data_tag: D136
datatype: string
name: unpack_data
arguments: data_tag: D95
datatype: string
name: unpack_data
arguments: data_tag: D204
datatype: string
name: unpack_data
arguments: data_tag: D71
datatype: string
name: unpack_data
arguments: data_tag: D590
datatype: string
name: unpack_data
arguments: data_tag: D528
datatype: string
name: unpack_data
arguments: data_tag: D243
datatype: string
name: unpack_data
arguments: data_tag: D268
datatype: string
name: unpack_data
arguments: data_tag: D591
datatype: string
name: unpack_data
arguments: data_tag: D300
datatype: string
name: unpack_data
arguments: data_tag: D150
datatype: string
name: unpack_data
arguments: data_tag: D383
datatype: string
name: unpack_data
arguments: data_tag: D156
datatype: string
name: unpack_data
arguments: data_tag: D125
datatype: string
name: unpack_data
arguments: data_tag: D588
datatype: string
name: unpack_data
arguments: data_tag: D76
datatype: string
name: unpack_data
arguments: data_tag: D384
datatype: string
name: unpack_data
arguments: data_tag: D180
datatype: string
name: unpack_data
arguments: data_tag: D510
datatype: string
name: unpack_data
arguments: data_tag: D487
datatype: string
name: unpack_data
arguments: data_tag: D375
datatype: string
name: unpack_data
arguments: data_tag: D151
datatype: string
name: unpack_data
arguments: data_tag: D330
datatype: string
name: unpack_data
arguments: data_tag: D326
datatype: string
name: unpack_data
arguments: data_tag: D192
datatype: string
name: unpack_data
arguments: data_tag: D29
datatype: string
name: unpack_data
arguments: data_tag: D421
datatype: string
name: unpack_data
arguments: data_tag: D308
datatype: string
name: unpack_data
arguments: data_tag: D504
datatype: string
name: unpack_data
arguments: data_tag: D513
datatype: string
name: unpack_data
arguments: data_tag: D429
datatype: string
name: unpack_data
arguments: data_tag: D189
datatype: string
name: unpack_data
arguments: data_tag: D221
datatype: string
name: unpack_data
arguments: data_tag: D568
datatype: string
name: unpack_data
arguments: data_tag: D225
datatype: string
name: unpack_data
arguments: data_tag: D133
datatype: string
name: unpack_data
arguments: data_tag: D353
datatype: string
name: unpack_data
arguments: data_tag: D209
datatype: string
name: unpack_data
arguments: data_tag: D379
datatype: string
name: unpack_data
arguments: data_tag: D203
datatype: string
name: unpack_data
arguments: data_tag: D333
datatype: string
name: unpack_data
arguments: data_tag: D570
datatype: string
name: unpack_data
arguments: data_tag: D105
datatype: string
name: unpack_data
arguments: data_tag: D242
datatype: string
name: unpack_data
arguments: data_tag: D479
datatype: string
name: unpack_data
arguments: data_tag: D104
datatype: string
name: unpack_data
arguments: data_tag: D139
datatype: string

tool: D349: CL_UNDEFINE_ERROR

tool: D382: CL_SUCCESS

tool: D569: CL_DEVICE_NOT_AVAILABLE

tool: D289: CL_OUT_OF_HOST_MEMORY

tool: D79: CL_DEVICE_NOT_FOUND

tool: D464: CL_MEM_OBJECT_ALLOCATION_FAILURE

tool: D285: CL_COMPILER_NOT_AVAILABLE

tool: D482: CL_IMAGE_FORMAT_NOT_SUPPORTED

tool: D13: CL_OUT_OF_RESOURCES

tool: D358: CL_PROFILING_INFO_NOT_AVAILABLE

tool: D507: CL_IMAGE_FORMAT_MISMATCH

tool: D391: CL_MEM_COPY_OVERLAP

tool: D262: CL_BUILD_PROGRAM_FAILURE

tool: D136: CL_MAP_FAILURE

tool: D95: CL_MISALIGNED_SUB_BUFFER_OFFSET

tool: D204: CL_COMPILE_PROGRAM_FAILURE

tool: D71: CL_LINK_PROGRAM_FAILURE

tool: D590: CL_KERNEL_ARG_INFO_NOT_AVAILABLE

tool: D528: CL_INVALID_DEVICE_TYPE

tool: D243: CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST

tool: D268: CL_INVALID_VALUE

tool: D591: CL_INVALID_DEVICE

tool: D300: CL_INVALID_PLATFORM

tool: D150: CL_LINKER_NOT_AVAILABLE

tool: D383: CL_INVALID_QUEUE_PROPERTIES

tool: D156: CL_INVALID_CONTEXT

tool: D125: CL_DEVICE_PARTITION_FAILED

tool: D588: CL_INVALID_HOST_PTR

tool: D76: CL_INVALID_COMMAND_QUEUE

tool: D384: CL_INVALID_IMAGE_FORMAT_DESCRIPTOR

tool: D180: CL_INVALID_MEM_OBJECT

tool: D510: CL_INVALID_SAMPLER

tool: D487: CL_INVALID_IMAGE_SIZE

tool: D375: CL_INVALID_BUILD_OPTIONS

tool: D151: CL_INVALID_BINARY

tool: D330: CL_INVALID_PROGRAM

tool: D326: CL_INVALID_PROGRAM_EXECUTABLE

tool: D192: CL_INVALID_KERNEL_NAME

tool: D29: CL_INVALID_KERNEL_DEFINITION

tool: D421: CL_INVALID_KERNEL

tool: D308: CL_INVALID_ARG_INDEX

tool: D504: CL_INVALID_ARG_VALUE

tool: D513: CL_INVALID_ARG_SIZE

tool: D429: CL_INVALID_KERNEL_ARGS

tool: D189: CL_INVALID_WORK_DIMENSION

tool: D221: CL_INVALID_WORK_GROUP_SIZE

tool: D568: CL_INVALID_WORK_ITEM_SIZE

tool: D225: CL_INVALID_GLOBAL_OFFSET

tool: D133: CL_INVALID_EVENT_WAIT_LIST

tool: D353: CL_INVALID_EVENT

tool: D209: CL_INVALID_OPERATION

tool: D379: CL_INVALID_GL_OBJECT

tool: D203: CL_INVALID_BUFFER_SIZE

tool: D333: CL_INVALID_MIP_LEVEL

tool: D570: CL_INVALID_GLOBAL_WORK_SIZE

tool: D105: CL_INVALID_PROPERTY

tool: D242: CL_INVALID_IMAGE_DESCRIPTOR

tool: D479: CL_INVALID_LINKER_OPTIONS

tool: D104: CL_INVALID_COMPILER_OPTIONS

tool: D139: CL_INVALID_DEVICE_PARTITION_COUNT

assistant: ```c
char *clErrNo2Str(int n) {
  char *clErrString[100] = {
      "CL_SUCCESS", "CL_DEVICE_NOT_FOUND", "CL_DEVICE_NOT_AVAILABLE", "CL_COMPILER_NOT_AVAILABLE", "CL_MEM_OBJECT_ALLOCATION_FAILURE", "CL_OUT_OF_RESOURCES", "CL_OUT_OF_HOST_MEMORY", "CL_PROFILING_INFO_NOT_AVAILABLE", "CL_MEM_COPY_OVERLAP", "CL_IMAGE_FORMAT_MISMATCH", "CL_IMAGE_FORMAT_NOT_SUPPORTED", "CL_BUILD_PROGRAM_FAILURE", "CL_MAP_FAILURE", "CL_MISALIGNED_SUB_BUFFER_OFFSET", "CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST", "CL_COMPILE_PROGRAM_FAILURE", "CL_LINKER_NOT_AVAILABLE", "CL_LINK_PROGRAM_FAILURE", "CL_DEVICE_PARTITION_FAILED", "CL_KERNEL_ARG_INFO_NOT_AVAILABLE", "CL_UNDEFINE_ERROR", "CL_UNDEFINE_ERROR", "CL_UNDEFINE_ERROR", "CL_UNDEFINE_ERROR", "CL_UNDEFINE_ERROR", "CL_UNDEFINE_ERROR", "CL_UNDEFINE_ERROR", "CL_UNDEFINE_ERROR", "CL_UNDEFINE_ERROR", "CL_UNDEFINE_ERROR", "CL_INVALID_VALUE", "CL_INVALID_DEVICE_TYPE", "CL_INVALID_PLATFORM", "CL_INVALID_DEVICE", "CL_INVALID_CONTEXT", "CL_INVALID_QUEUE_PROPERTIES", "CL_INVALID_COMMAND_QUEUE", "CL_INVALID_HOST_PTR", "CL_INVALID_MEM_OBJECT", "CL_INVALID_IMAGE_FORMAT_DESCRIPTOR", "CL_INVALID_IMAGE_SIZE", "CL_INVALID_SAMPLER", "CL_INVALID_BINARY", "CL_INVALID_BUILD_OPTIONS", "CL_INVALID_PROGRAM", "CL_INVALID_PROGRAM_EXECUTABLE", "CL_INVALID_KERNEL_NAME", "CL_INVALID_KERNEL_DEFINITION", "CL_INVALID_KERNEL", "CL_INVALID_ARG_INDEX", "CL_INVALID_ARG_VALUE", "CL_INVALID_ARG_SIZE", "CL_INVALID_KERNEL_ARGS", "CL_INVALID_WORK_DIMENSION", "CL_INVALID_WORK_GROUP_SIZE", "CL_INVALID_WORK_ITEM_SIZE", "CL_INVALID_GLOBAL_OFFSET", "CL_INVALID_EVENT_WAIT_LIST", "CL_INVALID_EVENT", "CL_INVALID_OPERATION", "CL_INVALID_GL_OBJECT", "CL_INVALID_BUFFER_SIZE", "CL_INVALID_MIP_LEVEL", "CL_INVALID_GLOBAL_WORK_SIZE", "CL_INVALID_PROPERTY", "CL_INVALID_IMAGE_DESCRIPTOR", "CL_INVALID_COMPILER_OPTIONS", "CL_INVALID_LINKER_OPTIONS", "CL_INVALID_DEVICE_PARTITION_COUNT",
  };
  return clErrString[-(n)];
}
```