// File: /workspace/github_c_makefile_star2_O0/gadget114514[P]fatfs-example/./fatfstest.h
// Function: fatfs_error_to_string
static const char *fatfs_error_to_string(FRESULT err)
{
  switch (err) {
  case FR_OK: return "Succeeded";
  case FR_DISK_ERR: return "FATFS: A hard error occurred in the low level disk I/O layer";
  case FR_INT_ERR: return "FATFS: Assertion failed (check for corruption)";
  case FR_NOT_READY: return "FATFS: The physical drive cannot work";
  case FR_NO_FILE: return "FATFS: Could not find the file";
  case FR_NO_PATH: return "FATFS: Could not find the path";
  case FR_INVALID_NAME: return "FATFS: The path name format is invalid";
  case FR_DENIED: return "FATFS: Access denied due to prohibited access or directory full";
  case FR_EXIST: return "FATFS: Destination file already exists";
  case FR_INVALID_OBJECT: return "FATFS: The file/directory object is invalid";
  case FR_WRITE_PROTECTED: return "FATFS: The physical drive is write protected";
  case FR_INVALID_DRIVE: return "FATFS: The logical drive number is invalid";
  case FR_NOT_ENABLED: return "FATFS: The volume has no work area";
  case FR_NO_FILESYSTEM: return "FATFS: There is no valid FAT volume";
  case FR_MKFS_ABORTED: return "FATFS: f_mkfs() aborted due to a parameter error. Try adjusting the partition size.";
  case FR_TIMEOUT: return "FATFS: Could not get a grant to access the volume within defined period";
  case FR_LOCKED: return "FATFS: The operation is rejected according to the file sharing policy";
  case FR_NOT_ENOUGH_CORE: return "FATFS: LFN working buffer could not be allocated";
  case FR_TOO_MANY_OPEN_FILES: return "FATFS: Number of open files > _FS_SHARE";
  default:
  case FR_INVALID_PARAMETER: return "FATFS: Invalid parameter";
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq %rax, -0x18(%rbp)
subq $0x13, %rax
ja 0x13c1
movq -0x18(%rbp), %rax
leaq 0x5d61(%rip), %rcx      # 0x7004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x5df2(%rip), %rax      # 0x70a5
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5dec(%rip), %rax      # 0x70af
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5e19(%rip), %rax      # 0x70ec
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5e38(%rip), %rax      # 0x711b
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5e4e(%rip), %rax      # 0x7141
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5e5d(%rip), %rax      # 0x7160
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5e6c(%rip), %rax      # 0x717f
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5e83(%rip), %rax      # 0x71a6
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5eb3(%rip), %rax      # 0x71e6
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5eca(%rip), %rax      # 0x720d
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5ee6(%rip), %rax      # 0x7239
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5f06(%rip), %rax      # 0x7266
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5f24(%rip), %rax      # 0x7291
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5f3a(%rip), %rax      # 0x72b4
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5f51(%rip), %rax      # 0x72d8
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5f98(%rip), %rax      # 0x732c
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x5fd3(%rip), %rax      # 0x7374
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x600c(%rip), %rax      # 0x73ba
movq %rax, -0x8(%rbp)
jmp 0x13ce
leaq 0x6030(%rip), %rax      # 0x73eb
movq %rax, -0x8(%rbp)
jmp 0x13ce
jmp 0x13c3
leaq 0x6049(%rip), %rax      # 0x7413
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop