user: 这段汇编代码用C语言表示是什么样的：

```asm
<codon_table>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x20,%rsp
  mov    %rdi,-0x18(%rbp)
  mov    -0x18(%rbp),%rax
  lea    D574(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L90
  mov    -0x18(%rbp),%rax
  lea    D150(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L90
  mov    -0x18(%rbp),%rax
  lea    D77(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L90
  mov    -0x18(%rbp),%rax
  lea    D500(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L683
L90:
  movb   $0x41,-0x1(%rbp)
  jmp    L569
L683:
  mov    -0x18(%rbp),%rax
  lea    D183(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L618
  mov    -0x18(%rbp),%rax
  lea    D479(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L618
  mov    -0x18(%rbp),%rax
  lea    D319(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L618
  mov    -0x18(%rbp),%rax
  lea    D399(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L618
  mov    -0x18(%rbp),%rax
  lea    D180(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L618
  mov    -0x18(%rbp),%rax
  lea    D144(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L299
L618:
  movb   $0x52,-0x1(%rbp)
  jmp    L569
L299:
  mov    -0x18(%rbp),%rax
  lea    D591(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L885
  mov    -0x18(%rbp),%rax
  lea    D646(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L131
L885:
  movb   $0x4e,-0x1(%rbp)
  jmp    L569
L131:
  mov    -0x18(%rbp),%rax
  lea    D416(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L524
  mov    -0x18(%rbp),%rax
  lea    D126(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L570
L524:
  movb   $0x44,-0x1(%rbp)
  jmp    L569
L570:
  mov    -0x18(%rbp),%rax
  lea    D570(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L71
  mov    -0x18(%rbp),%rax
  lea    D554(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L117
L71:
  movb   $0x43,-0x1(%rbp)
  jmp    L569
L117:
  mov    -0x18(%rbp),%rax
  lea    D230(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L7
  mov    -0x18(%rbp),%rax
  lea    D549(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L307
L7:
  movb   $0x51,-0x1(%rbp)
  jmp    L569
L307:
  mov    -0x18(%rbp),%rax
  lea    D589(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L282
  mov    -0x18(%rbp),%rax
  lea    D135(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L237
L282:
  movb   $0x45,-0x1(%rbp)
  jmp    L569
L237:
  mov    -0x18(%rbp),%rax
  lea    D268(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L799
  mov    -0x18(%rbp),%rax
  lea    D613(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L799
  mov    -0x18(%rbp),%rax
  lea    D36(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L799
  mov    -0x18(%rbp),%rax
  lea    D598(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L538
L799:
  movb   $0x47,-0x1(%rbp)
  jmp    L569
L538:
  mov    -0x18(%rbp),%rax
  lea    D184(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L729
  mov    -0x18(%rbp),%rax
  lea    D19(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L541
L729:
  movb   $0x48,-0x1(%rbp)
  jmp    L569
L541:
  mov    -0x18(%rbp),%rax
  lea    D72(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L53
  mov    -0x18(%rbp),%rax
  lea    D147(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L53
  mov    -0x18(%rbp),%rax
  lea    D2(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L385
L53:
  movb   $0x49,-0x1(%rbp)
  jmp    L569
L385:
  mov    -0x18(%rbp),%rax
  lea    D216(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L902
  movb   $0x4d,-0x1(%rbp)
  jmp    L569
L902:
  mov    -0x18(%rbp),%rax
  lea    D174(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L162
  mov    -0x18(%rbp),%rax
  lea    D74(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L162
  mov    -0x18(%rbp),%rax
  lea    D22(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L162
  mov    -0x18(%rbp),%rax
  lea    D455(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L162
  mov    -0x18(%rbp),%rax
  lea    D9(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L162
  mov    -0x18(%rbp),%rax
  lea    D59(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L20
L162:
  movb   $0x4c,-0x1(%rbp)
  jmp    L569
L20:
  mov    -0x18(%rbp),%rax
  lea    D70(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L120
  mov    -0x18(%rbp),%rax
  lea    D534(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L326
L120:
  movb   $0x4b,-0x1(%rbp)
  jmp    L569
L326:
  mov    -0x18(%rbp),%rax
  lea    D216(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L473
  movb   $0x4d,-0x1(%rbp)
  jmp    L569
L473:
  mov    -0x18(%rbp),%rax
  lea    D476(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L404
  mov    -0x18(%rbp),%rax
  lea    D440(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L219
L404:
  movb   $0x46,-0x1(%rbp)
  jmp    L569
L219:
  mov    -0x18(%rbp),%rax
  lea    D263(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L399
  mov    -0x18(%rbp),%rax
  lea    D208(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L399
  mov    -0x18(%rbp),%rax
  lea    D131(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L399
  mov    -0x18(%rbp),%rax
  lea    D42(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L721
L399:
  movb   $0x50,-0x1(%rbp)
  jmp    L569
L721:
  mov    -0x18(%rbp),%rax
  lea    D158(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L572
  mov    -0x18(%rbp),%rax
  lea    D383(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L572
  mov    -0x18(%rbp),%rax
  lea    D553(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L572
  mov    -0x18(%rbp),%rax
  lea    D615(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L572
  mov    -0x18(%rbp),%rax
  lea    D361(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L572
  mov    -0x18(%rbp),%rax
  lea    D555(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L767
L572:
  movb   $0x53,-0x1(%rbp)
  jmp    L569
L767:
  mov    -0x18(%rbp),%rax
  lea    D6(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L480
  mov    -0x18(%rbp),%rax
  lea    D309(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L480
  mov    -0x18(%rbp),%rax
  lea    D558(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L480
  mov    -0x18(%rbp),%rax
  lea    D54(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L750
L480:
  movb   $0x54,-0x1(%rbp)
  jmp    L569
L750:
  mov    -0x18(%rbp),%rax
  lea    D330(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L384
  movb   $0x57,-0x1(%rbp)
  jmp    L569
L384:
  mov    -0x18(%rbp),%rax
  lea    D548(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L433
  mov    -0x18(%rbp),%rax
  lea    D38(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L392
L433:
  movb   $0x59,-0x1(%rbp)
  jmp    L569
L392:
  mov    -0x18(%rbp),%rax
  lea    D454(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L705
  mov    -0x18(%rbp),%rax
  lea    D538(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L705
  mov    -0x18(%rbp),%rax
  lea    D334(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L705
  mov    -0x18(%rbp),%rax
  lea    D300(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L667
L705:
  movb   $0x56,-0x1(%rbp)
  jmp    L569
L667:
  mov    -0x18(%rbp),%rax
  lea    D354(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L249
  mov    -0x18(%rbp),%rax
  lea    D321(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  je     L249
  mov    -0x18(%rbp),%rax
  lea    D391(%rip),%rdx
  mov    %rdx,%rsi
  mov    %rax,%rdi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L412
L249:
  movb   $0x2a,-0x1(%rbp)
  jmp    L569
L412:
  mov    -0x18(%rbp),%rax
  movzbl (%rax),%eax
  cmp    $0x4e,%al
  je     L37
  mov    -0x18(%rbp),%rax
  add    $0x1,%rax
  movzbl (%rax),%eax
  cmp    $0x4e,%al
  je     L37
  mov    -0x18(%rbp),%rax
  add    $0x2,%rax
  movzbl (%rax),%eax
  cmp    $0x4e,%al
  jne    L187
L37:
  movb   $0x58,-0x1(%rbp)
  jmp    L569
L187:
  movb   $0x58,-0x1(%rbp)
L569:
  movzbl -0x1(%rbp),%eax
  leave
  ret
```

tool_calls: name: unpack_data
arguments: tag: D574
datatype: string
name: unpack_data
arguments: tag: D150
datatype: string
name: unpack_data
arguments: tag: D77
datatype: string
name: unpack_data
arguments: tag: D500
datatype: string
name: unpack_data
arguments: tag: D183
datatype: string
name: unpack_data
arguments: tag: D479
datatype: string
name: unpack_data
arguments: tag: D319
datatype: string
name: unpack_data
arguments: tag: D399
datatype: string
name: unpack_data
arguments: tag: D180
datatype: string
name: unpack_data
arguments: tag: D144
datatype: string
name: unpack_data
arguments: tag: D591
datatype: string
name: unpack_data
arguments: tag: D646
datatype: string
name: unpack_data
arguments: tag: D416
datatype: string
name: unpack_data
arguments: tag: D126
datatype: string
name: unpack_data
arguments: tag: D570
datatype: string
name: unpack_data
arguments: tag: D554
datatype: string
name: unpack_data
arguments: tag: D230
datatype: string
name: unpack_data
arguments: tag: D549
datatype: string
name: unpack_data
arguments: tag: D589
datatype: string
name: unpack_data
arguments: tag: D135
datatype: string
name: unpack_data
arguments: tag: D268
datatype: string
name: unpack_data
arguments: tag: D613
datatype: string
name: unpack_data
arguments: tag: D36
datatype: string
name: unpack_data
arguments: tag: D598
datatype: string
name: unpack_data
arguments: tag: D184
datatype: string
name: unpack_data
arguments: tag: D19
datatype: string
name: unpack_data
arguments: tag: D72
datatype: string
name: unpack_data
arguments: tag: D147
datatype: string
name: unpack_data
arguments: tag: D2
datatype: string
name: unpack_data
arguments: tag: D216
datatype: string
name: unpack_data
arguments: tag: D174
datatype: string
name: unpack_data
arguments: tag: D74
datatype: string
name: unpack_data
arguments: tag: D22
datatype: string
name: unpack_data
arguments: tag: D455
datatype: string
name: unpack_data
arguments: tag: D9
datatype: string
name: unpack_data
arguments: tag: D59
datatype: string
name: unpack_data
arguments: tag: D70
datatype: string
name: unpack_data
arguments: tag: D534
datatype: string
name: unpack_data
arguments: tag: D476
datatype: string
name: unpack_data
arguments: tag: D440
datatype: string
name: unpack_data
arguments: tag: D263
datatype: string
name: unpack_data
arguments: tag: D208
datatype: string
name: unpack_data
arguments: tag: D131
datatype: string
name: unpack_data
arguments: tag: D42
datatype: string
name: unpack_data
arguments: tag: D158
datatype: string
name: unpack_data
arguments: tag: D383
datatype: string
name: unpack_data
arguments: tag: D553
datatype: string
name: unpack_data
arguments: tag: D615
datatype: string
name: unpack_data
arguments: tag: D361
datatype: string
name: unpack_data
arguments: tag: D555
datatype: string
name: unpack_data
arguments: tag: D6
datatype: string
name: unpack_data
arguments: tag: D309
datatype: string
name: unpack_data
arguments: tag: D558
datatype: string
name: unpack_data
arguments: tag: D54
datatype: string
name: unpack_data
arguments: tag: D330
datatype: string
name: unpack_data
arguments: tag: D548
datatype: string
name: unpack_data
arguments: tag: D38
datatype: string
name: unpack_data
arguments: tag: D454
datatype: string
name: unpack_data
arguments: tag: D538
datatype: string
name: unpack_data
arguments: tag: D334
datatype: string
name: unpack_data
arguments: tag: D300
datatype: string
name: unpack_data
arguments: tag: D354
datatype: string
name: unpack_data
arguments: tag: D321
datatype: string
name: unpack_data
arguments: tag: D391
datatype: string

tool: D574: GCT

tool: D150: GCC

tool: D77: GCA

tool: D500: GCG

tool: D183: CGT

tool: D479: CGC

tool: D319: CGA

tool: D399: CGG

tool: D180: AGA

tool: D144: AGG

tool: D591: AAT

tool: D646: AAC

tool: D416: GAT

tool: D126: GAC

tool: D570: TGT

tool: D554: TGC

tool: D230: CAA

tool: D549: CAG

tool: D589: GAA

tool: D135: GAG

tool: D268: GGT

tool: D613: GGC

tool: D36: GGA

tool: D598: GGG

tool: D184: CAT

tool: D19: CAC

tool: D72: ATT

tool: D147: ATC

tool: D2: ATA

tool: D216: ATG

tool: D174: TTA

tool: D74: TTG

tool: D22: CTT

tool: D455: CTC

tool: D9: CTA

tool: D59: CTG

tool: D70: AAA

tool: D534: AAG

tool: D476: TTT

tool: D440: TTC

tool: D263: CCT

tool: D208: CCC

tool: D131: CCA

tool: D42: CCG

tool: D158: TCT

tool: D383: TCC

tool: D553: TCA

tool: D615: TCG

tool: D361: AGT

tool: D555: AGC

tool: D6: ACT

tool: D309: ACC

tool: D558: ACA

tool: D54: ACG

tool: D330: TGG

tool: D548: TAT

tool: D38: TAC

tool: D454: GTT

tool: D538: GTC

tool: D334: GTA

tool: D300: GTG

tool: D354: TAG

tool: D321: TGA

tool: D391: TAA

assistant: ```c
char codon_table(char *temp) {
  char pep;
  if (strcmp(temp, "GCT") == 0 || strcmp(temp, "GCC") == 0 || strcmp(temp, "GCA") == 0 || strcmp(temp, "GCG") == 0) {
    pep = 'A';
  } else if (strcmp(temp, "CGT") == 0 || strcmp(temp, "CGC") == 0 || strcmp(temp, "CGA") == 0 || strcmp(temp, "CGG") == 0 || strcmp(temp, "AGA") == 0 || strcmp(temp, "AGG") == 0) {
    pep = 'R';
  } else if (strcmp(temp, "AAT") == 0 || strcmp(temp, "AAC") == 0) {
    pep = 'N';
  } else if (strcmp(temp, "GAT") == 0 || strcmp(temp, "GAC") == 0) {
    pep = 'D';
  } else if (strcmp(temp, "TGT") == 0 || strcmp(temp, "TGC") == 0) {
    pep = 'C';
  } else if (strcmp(temp, "CAA") == 0 || strcmp(temp, "CAG") == 0) {
    pep = 'Q';
  } else if (strcmp(temp, "GAA") == 0 || strcmp(temp, "GAG") == 0) {
    pep = 'E';
  } else if (strcmp(temp, "GGT") == 0 || strcmp(temp, "GGC") == 0 || strcmp(temp, "GGA") == 0 || strcmp(temp, "GGG") == 0) {
    pep = 'G';
  } else if (strcmp(temp, "CAT") == 0 || strcmp(temp, "CAC") == 0) {
    pep = 'H';
  } else if (strcmp(temp, "ATT") == 0 || strcmp(temp, "ATC") == 0 || strcmp(temp, "ATA") == 0) {
    pep = 'I';
  } else if (strcmp(temp, "ATG") == 0) {
    pep = 'M';
  } else if (strcmp(temp, "TTA") == 0 || strcmp(temp, "TTG") == 0 || strcmp(temp, "CTT") == 0 || strcmp(temp, "CTC") == 0 || strcmp(temp, "CTA") == 0 || strcmp(temp, "CTG") == 0) {
    pep = 'L';
  } else if (strcmp(temp, "AAA") == 0 || strcmp(temp, "AAG") == 0) {
    pep = 'K';
  } else if (strcmp(temp, "ATG") == 0) {
    pep = 'M';
  } else if (strcmp(temp, "TTT") == 0 || strcmp(temp, "TTC") == 0) {
    pep = 'F';
  } else if (strcmp(temp, "CCT") == 0 || strcmp(temp, "CCC") == 0 || strcmp(temp, "CCA") == 0 || strcmp(temp, "CCG") == 0) {
    pep = 'P';
  } else if (strcmp(temp, "TCT") == 0 || strcmp(temp, "TCC") == 0 || strcmp(temp, "TCA") == 0 || strcmp(temp, "TCG") == 0 || strcmp(temp, "AGT") == 0 || strcmp(temp, "AGC") == 0) {
    pep = 'S';
  } else if (strcmp(temp, "ACT") == 0 || strcmp(temp, "ACC") == 0 || strcmp(temp, "ACA") == 0 || strcmp(temp, "ACG") == 0) {
    pep = 'T';
  } else if (strcmp(temp, "TGG") == 0) {
    pep = 'W';
  } else if (strcmp(temp, "TAT") == 0 || strcmp(temp, "TAC") == 0) {
    pep = 'Y';
  } else if (strcmp(temp, "GTT") == 0 || strcmp(temp, "GTC") == 0 || strcmp(temp, "GTA") == 0 || strcmp(temp, "GTG") == 0) {
    pep = 'V';
  } else if (strcmp(temp, "TAG") == 0 || strcmp(temp, "TGA") == 0 || strcmp(temp, "TAA") == 0) {
    pep = '*';
  } else {
    if (temp[0] == 'N' || temp[1] == 'N' || temp[2] == 'N') {
      pep = 'X';
    } else {
      pep = 'X';
    }
  }
  return pep;
}
```