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

```asm
<main>:
  endbr64
  push   %rbp
  lea    D246(%rip),%rdi
  lea    D93(%rip),%rbp
  sub    $0x20,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x18(%rsp)
  xor    %eax,%eax
  call   <printf@plt>
  mov    %rsp,%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D172(%rip),%rdi
  call   <printf@plt>
  lea    0x4(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D9(%rip),%rdi
  call   <printf@plt>
  lea    0x8(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D46(%rip),%rdi
  call   <printf@plt>
  lea    0xc(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D118(%rip),%rdi
  call   <printf@plt>
  lea    0x10(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  lea    D127(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  lea    0x14(%rsp),%rsi
  lea    D175(%rip),%rdi
  call   <scanf@plt>
  movss  (%rsp),%xmm0
  comiss D254(%rip),%xmm0
  jae    L88
  movss  0xc(%rsp),%xmm1
  comiss D1(%rip),%xmm1
  jb     L147
L88:
  movss  0x10(%rsp),%xmm1
  comiss D11(%rip),%xmm1
  jae    L53
  movss  0x4(%rsp),%xmm1
  comiss D254(%rip),%xmm1
  jb     L178
L53:
  lea    D167(%rip),%rdi
  call   <printf@plt>
  movss  (%rsp),%xmm0
L147:
  comiss D247(%rip),%xmm0
  jae    L87
  movss  0xc(%rsp),%xmm1
  comiss D17(%rip),%xmm1
  jae    L87
L103:
  comiss D220(%rip),%xmm0
  jae    L5
  pxor   %xmm0,%xmm0
  cvtss2sd 0xc(%rsp),%xmm0
  comisd D186(%rip),%xmm0
  jae    L5
L131:
  mov    0x18(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L203
  add    $0x20,%rsp
  xor    %eax,%eax
  pop    %rbp
  ret
  nopl   (%rax)
L5:
  movss  0x10(%rsp),%xmm0
  comiss D182(%rip),%xmm0
  jb     L131
  movss  0x4(%rsp),%xmm0
  comiss D196(%rip),%xmm0
  jae    L71
  movss  0x8(%rsp),%xmm0
  comiss D221(%rip),%xmm0
  jb     L131
L71:
  lea    D121(%rip),%rdi
  call   <printf@plt>
  jmp    L131
  nopl   0x0(%rax,%rax,1)
L87:
  movss  0x10(%rsp),%xmm1
  comiss D254(%rip),%xmm1
  jb     L103
  movss  0x4(%rsp),%xmm1
  comiss D11(%rip),%xmm1
  jb     L186
L11:
  cmpl   $0x0,0x14(%rsp)
  jne    L103
  lea    D59(%rip),%rdi
  call   <printf@plt>
  movss  (%rsp),%xmm0
  jmp    L103
L178:
  movss  0x8(%rsp),%xmm1
  comiss D141(%rip),%xmm1
  jb     L147
  jmp    L53
L186:
  movss  0x8(%rsp),%xmm1
  comiss D20(%rip),%xmm1
  jb     L103
  jmp    L11
L203:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: read_data
arguments: label: D246
datatype: string
name: read_data
arguments: label: D93
datatype: string
name: read_data
arguments: label: D172
datatype: string
name: read_data
arguments: label: D9
datatype: string
name: read_data
arguments: label: D46
datatype: string
name: read_data
arguments: label: D118
datatype: string
name: read_data
arguments: label: D127
datatype: string
name: read_data
arguments: label: D175
datatype: string
name: read_data
arguments: label: D254
datatype: byte[4]
name: read_data
arguments: label: D1
datatype: f32
name: read_data
arguments: label: D11
datatype: byte[4]
name: read_data
arguments: label: D167
datatype: string
name: read_data
arguments: label: D247
datatype: byte[4]
name: read_data
arguments: label: D17
datatype: f32
name: read_data
arguments: label: D220
datatype: byte[4]
name: read_data
arguments: label: D186
datatype: f64
name: read_data
arguments: label: D182
datatype: byte[4]
name: read_data
arguments: label: D196
datatype: byte[4]
name: read_data
arguments: label: D221
datatype: byte[4]
name: read_data
arguments: label: D121
datatype: string
name: read_data
arguments: label: D59
datatype: string
name: read_data
arguments: label: D141
datatype: byte[4]
name: read_data
arguments: label: D20
datatype: byte[4]

tool: D246: ales notunuzu giriniz...


tool: D93: %f

tool: D172: yds notunuzu giriniz...


tool: D9: tofu notunuzu giriniz...


tool: D46: not ortalamanizi giriniz...


tool: D118: mulakat sonucunu giriniz...


tool: D127: disiplin sucunuz varsa 1 yoksa 0


tool: D175: %d

tool: {"D254": [0x00,0x00,0x8c,0x42]}

tool: D1: 3

tool: {"D11": [0x00,0x00,0x70,0x42]}

tool: D167: a universitesine gidebilirsiniz...


tool: {"D247": [0x00,0x00,0x48,0x42]}

tool: D17: 2.5

tool: {"D220": [0x00,0x00,0x20,0x42]}

tool: D186: 2.2

tool: {"D182": [0x00,0x00,0xa0,0x42]}

tool: {"D196": [0x00,0x00,0xaa,0x42]}

tool: {"D221": [0x00,0x00,0x7a,0x43]}

tool: D121: c universitesine gidebilirsiniz...


tool: D59: b universitesine gidebilirsiniz...


tool: {"D141": [0x00,0x00,0x5c,0x43]}

tool: {"D20": [0x00,0x00,0x34,0x43]}

assistant: ```c
int main() {
  float ales, yds, tofu, ort, mulakat;
  int disiplin;
  printf("ales notunuzu giriniz...\n");
  scanf("%f", &ales);
  printf("yds notunuzu giriniz...\n");
  scanf("%f", &yds);
  printf("tofu notunuzu giriniz...\n");
  scanf("%f", &tofu);
  printf("not ortalamanizi giriniz...\n");
  scanf("%f", &ort);
  printf("mulakat sonucunu giriniz...\n");
  scanf("%f", &mulakat);
  printf("disiplin sucunuz varsa 1 yoksa 0\n");
  scanf("%d", &disiplin);
  if ((ales >= 70 || ort >= 3.00) && (mulakat >= 60 || yds >= 70 || tofu >= 220)) {
    printf("a universitesine gidebilirsiniz...\n");
  }
  if ((ales >= 50 || ort >= 2.5) && mulakat >= 70 && (yds >= 60 || tofu >= 180) && disiplin == 0) {
    printf("b universitesine gidebilirsiniz...\n");
  }
  if ((ales >= 40 || ort >= 2.20) && mulakat >= 80 && (yds >= 85 || tofu >= 250)) {
    printf("c universitesine gidebilirsiniz...\n");
  }
  return 0;
}
```