user: Translate the below assembly code into C programming language:

```asm
<new_arena>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x30,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movl   $0x0,-0x20(%rbp)
  movl   $0x0,-0x28(%rbp)
  movl   $0x0,-0x24(%rbp)
  movl   $0x0,-0x1c(%rbp)
  movl   $0x0,-0x18(%rbp)
  lea    D15(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    -0x24(%rbp),%rcx
  lea    -0x28(%rbp),%rdx
  lea    -0x12(%rbp),%rax
  mov    %rax,%rsi
  lea    D48(%rip),%rax
  mov    %rax,%rdi
  call   <scanf@plt>
  lea    D53(%rip),%rax
  mov    %rax,%rdi
  call   <system@plt>
  lea    -0x12(%rbp),%rax
  mov    %rax,%rdi
  call   <class_number@plt>
  mov    %eax,-0x20(%rbp)
  cmpl   $0x0,-0x20(%rbp)
  je     L37
  mov    -0x28(%rbp),%eax
  cmp    $0xc,%eax
  jne    L37
  mov    -0x24(%rbp),%eax
  cmp    $0x2,%eax
  jg     L37
  mov    -0x24(%rbp),%edx
  mov    -0x28(%rbp),%ecx
  mov    -0x20(%rbp),%eax
  mov    %ecx,%esi
  mov    %eax,%edi
  call   <add_run@plt>
  lea    D6(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  jmp    L35
L37:
  cmpl   $0x0,-0x20(%rbp)
  je     L2
  mov    -0x28(%rbp),%eax
  cmp    $0xb,%eax
  jg     L2
  mov    -0x24(%rbp),%eax
  cmp    $0x3,%eax
  jne    L2
  mov    -0x24(%rbp),%edx
  mov    -0x28(%rbp),%ecx
  mov    -0x20(%rbp),%eax
  mov    %ecx,%esi
  mov    %eax,%edi
  call   <add_run@plt>
  lea    D6(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  jmp    L35
L2:
  lea    D20(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
L35:
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L16
  call   <__stack_chk_fail@plt>
L16:
  leave
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D15
type: string
name: disassemble_data
arguments: tag: D48
type: string
name: disassemble_data
arguments: tag: D53
type: string
name: disassemble_data
arguments: tag: D6
type: string
name: disassemble_data
arguments: tag: D20
type: string

tool: D15: 
 __________________________________ 
: Class then Win then Loss         :
: -------------------------------- :
: Druid 12 2                       :
:__________________________________:



tool: D48: %s %d %d

tool: D53: cls

tool: D6: 
 __________________________________ 
: Run added successfully!          :
:__________________________________:


tool: D20: 
 __________________________________ 
: Wrong inputs(Name, wins or loss) :
:__________________________________:


assistant: ```c
void new_arena() {
  int a = 0, win = 0, lost = 0, i = 0, choice = 0;
  char class[10];
  printf("\n __________________________________ \n"
         ": Class then Win then Loss         :\n"
         ": -------------------------------- :\n"
         ": Druid 12 2                       :\n"
         ":__________________________________:\n\n");
  scanf("%s %d %d", &class, &win, &lost);
  system("cls");
  a = class_number(class);
  if (a && win == 12 && lost < 3) {
    add_run(a, win, lost);
    printf("\n __________________________________ \n"
           ": Run added successfully!          :\n"
           ":__________________________________:\n");
  } else if (a && win < 12 && lost == 3) {
    add_run(a, win, lost);
    printf("\n __________________________________ \n"
           ": Run added successfully!          :\n"
           ":__________________________________:\n");
  } else
    printf("\n __________________________________ \n"
           ": Wrong inputs(Name, wins or loss) :\n"
           ":__________________________________:\n");
}
```