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)
  xor    %eax,%eax
  mov    %rsp,%rdi
  neg    %r8d
  movslq %r8d,%r8
  rep stos %rax,%es:(%rdi)
  lea    D244(%rip),%rax
  mov    %rax,(%rsp)
  lea    D150(%rip),%rax
  mov    %rax,0x8(%rsp)
  lea    D81(%rip),%rax
  mov    %rax,0x10(%rsp)
  lea    D270(%rip),%rax
  mov    %rax,0x18(%rsp)
  lea    D182(%rip),%rax
  mov    %rax,0x20(%rsp)
  lea    D80(%rip),%rax
  mov    %rax,0x28(%rsp)
  lea    D286(%rip),%rax
  mov    %rax,0x30(%rsp)
  lea    D166(%rip),%rax
  mov    %rax,0x38(%rsp)
  lea    D303(%rip),%rax
  mov    %rax,0x40(%rsp)
  lea    D278(%rip),%rax
  mov    %rax,0x48(%rsp)
  lea    D418(%rip),%rax
  mov    %rax,0x50(%rsp)
  lea    D211(%rip),%rax
  mov    %rax,0x58(%rsp)
  lea    D426(%rip),%rax
  mov    %rax,0x60(%rsp)
  lea    D326(%rip),%rax
  mov    %rax,0x68(%rsp)
  lea    D102(%rip),%rax
  mov    %rax,0x70(%rsp)
  lea    D573(%rip),%rax
  mov    %rax,0x78(%rsp)
  lea    D307(%rip),%rax
  mov    %rax,0x80(%rsp)
  lea    D123(%rip),%rax
  mov    %rax,0x88(%rsp)
  lea    D490(%rip),%rax
  mov    %rax,0x90(%rsp)
  lea    D111(%rip),%rax
  mov    %rax,0x98(%rsp)
  lea    D588(%rip),%rax
  mov    %rax,0xa0(%rsp)
  mov    %rax,0xa8(%rsp)
  mov    %rax,0xb0(%rsp)
  mov    %rax,0xb8(%rsp)
  mov    %rax,0xc0(%rsp)
  mov    %rax,0xc8(%rsp)
  mov    %rax,0xd0(%rsp)
  mov    %rax,0xd8(%rsp)
  mov    %rax,0xe0(%rsp)
  mov    %rax,0xe8(%rsp)
  lea    D44(%rip),%rax
  mov    %rax,0xf0(%rsp)
  lea    D121(%rip),%rax
  mov    %rax,0xf8(%rsp)
  lea    D390(%rip),%rax
  mov    %rax,0x100(%rsp)
  lea    D451(%rip),%rax
  mov    %rax,0x108(%rsp)
  lea    D375(%rip),%rax
  mov    %rax,0x110(%rsp)
  lea    D409(%rip),%rax
  mov    %rax,0x118(%rsp)
  lea    D10(%rip),%rax
  mov    %rax,0x120(%rsp)
  lea    D391(%rip),%rax
  mov    %rax,0x128(%rsp)
  lea    D151(%rip),%rax
  mov    %rax,0x130(%rsp)
  lea    D550(%rip),%rax
  mov    %rax,0x138(%rsp)
  lea    D353(%rip),%rax
  mov    %rax,0x140(%rsp)
  lea    D543(%rip),%rax
  mov    %rax,0x148(%rsp)
  lea    D165(%rip),%rax
  mov    %rax,0x150(%rsp)
  lea    D181(%rip),%rax
  mov    %rax,0x158(%rsp)
  lea    D488(%rip),%rax
  mov    %rax,0x160(%rsp)
  lea    D217(%rip),%rax
  mov    %rax,0x168(%rsp)
  lea    D61(%rip),%rax
  mov    %rax,0x170(%rsp)
  lea    D556(%rip),%rax
  mov    %rax,0x178(%rsp)
  lea    D410(%rip),%rax
  mov    %rax,0x180(%rsp)
  lea    D45(%rip),%rax
  mov    %rax,0x188(%rsp)
  lea    D537(%rip),%rax
  mov    %rax,0x190(%rsp)
  lea    D397(%rip),%rax
  mov    %rax,0x198(%rsp)
  lea    D15(%rip),%rax
  mov    %rax,0x1a0(%rsp)
  lea    D396(%rip),%rax
  mov    %rax,0x1a8(%rsp)
  lea    D500(%rip),%rax
  mov    %rax,0x1b0(%rsp)
  lea    D39(%rip),%rax
  mov    %rax,0x1b8(%rsp)
  lea    D117(%rip),%rax
  mov    %rax,0x1c0(%rsp)
  lea    D434(%rip),%rax
  mov    %rax,0x1c8(%rsp)
  lea    D529(%rip),%rax
  mov    %rax,0x1d0(%rsp)
  lea    D155(%rip),%rax
  mov    %rax,0x1d8(%rsp)
  lea    D515(%rip),%rax
  mov    %rax,0x1e0(%rsp)
  lea    D349(%rip),%rax
  mov    %rax,0x1e8(%rsp)
  lea    D175(%rip),%rax
  mov    %rax,0x1f0(%rsp)
  lea    D596(%rip),%rax
  mov    %rax,0x1f8(%rsp)
  lea    D311(%rip),%rax
  mov    %rax,0x200(%rsp)
  lea    D47(%rip),%rax
  mov    %rax,0x208(%rsp)
  lea    D29(%rip),%rax
  mov    %rax,0x210(%rsp)
  lea    D271(%rip),%rax
  mov    %rax,0x218(%rsp)
  lea    D56(%rip),%rax
  mov    %rax,0x220(%rsp)
  mov    (%rsp,%r8,8),%rax
  mov    0x328(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L7
  add    $0x338,%rsp
  ret
L7:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: tag: D244
data_type: string
name: unpack_data
arguments: tag: D150
data_type: string
name: unpack_data
arguments: tag: D81
data_type: string
name: unpack_data
arguments: tag: D270
data_type: string
name: unpack_data
arguments: tag: D182
data_type: string
name: unpack_data
arguments: tag: D80
data_type: string
name: unpack_data
arguments: tag: D286
data_type: string
name: unpack_data
arguments: tag: D166
data_type: string
name: unpack_data
arguments: tag: D303
data_type: string
name: unpack_data
arguments: tag: D278
data_type: string
name: unpack_data
arguments: tag: D418
data_type: string
name: unpack_data
arguments: tag: D211
data_type: string
name: unpack_data
arguments: tag: D426
data_type: string
name: unpack_data
arguments: tag: D326
data_type: string
name: unpack_data
arguments: tag: D102
data_type: string
name: unpack_data
arguments: tag: D573
data_type: string
name: unpack_data
arguments: tag: D307
data_type: string
name: unpack_data
arguments: tag: D123
data_type: string
name: unpack_data
arguments: tag: D490
data_type: string
name: unpack_data
arguments: tag: D111
data_type: string
name: unpack_data
arguments: tag: D588
data_type: string
name: unpack_data
arguments: tag: D44
data_type: string
name: unpack_data
arguments: tag: D121
data_type: string
name: unpack_data
arguments: tag: D390
data_type: string
name: unpack_data
arguments: tag: D451
data_type: string
name: unpack_data
arguments: tag: D375
data_type: string
name: unpack_data
arguments: tag: D409
data_type: string
name: unpack_data
arguments: tag: D10
data_type: string
name: unpack_data
arguments: tag: D391
data_type: string
name: unpack_data
arguments: tag: D151
data_type: string
name: unpack_data
arguments: tag: D550
data_type: string
name: unpack_data
arguments: tag: D353
data_type: string
name: unpack_data
arguments: tag: D543
data_type: string
name: unpack_data
arguments: tag: D165
data_type: string
name: unpack_data
arguments: tag: D181
data_type: string
name: unpack_data
arguments: tag: D488
data_type: string
name: unpack_data
arguments: tag: D217
data_type: string
name: unpack_data
arguments: tag: D61
data_type: string
name: unpack_data
arguments: tag: D556
data_type: string
name: unpack_data
arguments: tag: D410
data_type: string
name: unpack_data
arguments: tag: D45
data_type: string
name: unpack_data
arguments: tag: D537
data_type: string
name: unpack_data
arguments: tag: D397
data_type: string
name: unpack_data
arguments: tag: D15
data_type: string
name: unpack_data
arguments: tag: D396
data_type: string
name: unpack_data
arguments: tag: D500
data_type: string
name: unpack_data
arguments: tag: D39
data_type: string
name: unpack_data
arguments: tag: D117
data_type: string
name: unpack_data
arguments: tag: D434
data_type: string
name: unpack_data
arguments: tag: D529
data_type: string
name: unpack_data
arguments: tag: D155
data_type: string
name: unpack_data
arguments: tag: D515
data_type: string
name: unpack_data
arguments: tag: D349
data_type: string
name: unpack_data
arguments: tag: D175
data_type: string
name: unpack_data
arguments: tag: D596
data_type: string
name: unpack_data
arguments: tag: D311
data_type: string
name: unpack_data
arguments: tag: D47
data_type: string
name: unpack_data
arguments: tag: D29
data_type: string
name: unpack_data
arguments: tag: D271
data_type: string
name: unpack_data
arguments: tag: D56
data_type: string

tool: D244: CL_SUCCESS

tool: D150: CL_DEVICE_NOT_FOUND

tool: D81: CL_DEVICE_NOT_AVAILABLE

tool: D270: CL_COMPILER_NOT_AVAILABLE

tool: D182: CL_MEM_OBJECT_ALLOCATION_FAILURE

tool: D80: CL_OUT_OF_RESOURCES

tool: D286: CL_OUT_OF_HOST_MEMORY

tool: D166: CL_PROFILING_INFO_NOT_AVAILABLE

tool: D303: CL_MEM_COPY_OVERLAP

tool: D278: CL_IMAGE_FORMAT_MISMATCH

tool: D418: CL_IMAGE_FORMAT_NOT_SUPPORTED

tool: D211: CL_BUILD_PROGRAM_FAILURE

tool: D426: CL_MAP_FAILURE

tool: D326: CL_MISALIGNED_SUB_BUFFER_OFFSET

tool: D102: CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST

tool: D573: CL_COMPILE_PROGRAM_FAILURE

tool: D307: CL_LINKER_NOT_AVAILABLE

tool: D123: CL_LINK_PROGRAM_FAILURE

tool: D490: CL_DEVICE_PARTITION_FAILED

tool: D111: CL_KERNEL_ARG_INFO_NOT_AVAILABLE

tool: D588: CL_UNDEFINE_ERROR

tool: D44: CL_INVALID_VALUE

tool: D121: CL_INVALID_DEVICE_TYPE

tool: D390: CL_INVALID_PLATFORM

tool: D451: CL_INVALID_DEVICE

tool: D375: CL_INVALID_CONTEXT

tool: D409: CL_INVALID_QUEUE_PROPERTIES

tool: D10: CL_INVALID_COMMAND_QUEUE

tool: D391: CL_INVALID_HOST_PTR

tool: D151: CL_INVALID_MEM_OBJECT

tool: D550: CL_INVALID_IMAGE_FORMAT_DESCRIPTOR

tool: D353: CL_INVALID_IMAGE_SIZE

tool: D543: CL_INVALID_SAMPLER

tool: D165: CL_INVALID_BINARY

tool: D181: CL_INVALID_BUILD_OPTIONS

tool: D488: CL_INVALID_PROGRAM

tool: D217: CL_INVALID_PROGRAM_EXECUTABLE

tool: D61: CL_INVALID_KERNEL_NAME

tool: D556: CL_INVALID_KERNEL_DEFINITION

tool: D410: CL_INVALID_KERNEL

tool: D45: CL_INVALID_ARG_INDEX

tool: D537: CL_INVALID_ARG_VALUE

tool: D397: CL_INVALID_ARG_SIZE

tool: D15: CL_INVALID_KERNEL_ARGS

tool: D396: CL_INVALID_WORK_DIMENSION

tool: D500: CL_INVALID_WORK_GROUP_SIZE

tool: D39: CL_INVALID_WORK_ITEM_SIZE

tool: D117: CL_INVALID_GLOBAL_OFFSET

tool: D434: CL_INVALID_EVENT_WAIT_LIST

tool: D529: CL_INVALID_EVENT

tool: D155: CL_INVALID_OPERATION

tool: D515: CL_INVALID_GL_OBJECT

tool: D349: CL_INVALID_BUFFER_SIZE

tool: D175: CL_INVALID_MIP_LEVEL

tool: D596: CL_INVALID_GLOBAL_WORK_SIZE

tool: D311: CL_INVALID_PROPERTY

tool: D47: CL_INVALID_IMAGE_DESCRIPTOR

tool: D29: CL_INVALID_COMPILER_OPTIONS

tool: D271: CL_INVALID_LINKER_OPTIONS

tool: D56: 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)];
}
```