user: Converte this assembly snippet into its equivalent C code:

```asm
<progreso_consultas>:
  endbr64
  push   %rbx
  mov    $0x0,%eax
  call   <clrscr@plt>
  mov    $0x6,%esi
  mov    $0x19,%edi
  call   <gotoxy@plt>
  mov    $0xb,%edi
  call   <textcolor@plt>
  lea    D118(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x14,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  lea    D53(%rip),%rbx
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xe,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x26,%edi
  call   <gotoxy@plt>
  mov    $0x0,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D108(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x18,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xe,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x26,%edi
  call   <gotoxy@plt>
  mov    $0x0,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D66(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x1c,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xe,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x26,%edi
  call   <gotoxy@plt>
  mov    $0x0,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D50(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x20,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xe,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x26,%edi
  call   <gotoxy@plt>
  mov    $0x0,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D45(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x24,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xe,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x26,%edi
  call   <gotoxy@plt>
  mov    $0x0,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D80(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x28,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x9,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x26,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D21(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x2c,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x9,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x26,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D10(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x30,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x9,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x26,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D96(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x34,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x9,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x26,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D107(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  mov    $0xe,%esi
  mov    $0x38,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    %rbx,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x9,%edi
  call   <textcolor@plt>
  mov    $0xe,%esi
  mov    $0x25,%edi
  call   <gotoxy@plt>
  mov    $0xf,%edi
  call   <textbackground@plt>
  mov    $0x25,%esi
  lea    D116(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edi
  call   <textbackground@plt>
  mov    $0x96,%edi
  call   <Sleep@plt>
  pop    %rbx
  ret
```

tool_calls: name: retrieve_data
arguments: tag: D118
datatype: string
name: retrieve_data
arguments: tag: D53
datatype: string
name: retrieve_data
arguments: tag: D108
datatype: string
name: retrieve_data
arguments: tag: D66
datatype: string
name: retrieve_data
arguments: tag: D50
datatype: string
name: retrieve_data
arguments: tag: D45
datatype: string
name: retrieve_data
arguments: tag: D80
datatype: string
name: retrieve_data
arguments: tag: D21
datatype: string
name: retrieve_data
arguments: tag: D10
datatype: string
name: retrieve_data
arguments: tag: D96
datatype: string
name: retrieve_data
arguments: tag: D107
datatype: string
name: retrieve_data
arguments: tag: D116
datatype: string

tool: D118: Leyendo archivo...

tool: D53:     

tool: D108: 10%c

tool: D66: 20%c

tool: D50: 30%c

tool: D45: 40%c

tool: D80: 50%c

tool: D21: 60%c

tool: D10: 70%c

tool: D96: 80%c

tool: D107: 90%c

tool: D116: 100%c

assistant: ```c
void progreso_consultas(void) {
  char x = '%';
  clrscr();
  gotoxy(25, 6);
  textcolor(11);
  printf("Leyendo archivo...");
  Sleep(150);
  gotoxy(20, 14);
  textbackground(15);
  printf("    ");
  textcolor(14);
  gotoxy(38, 14);
  textbackground(0);
  printf("10%c", x);
  Sleep(150);
  gotoxy(24, 14);
  textbackground(15);
  printf("    ");
  textcolor(14);
  gotoxy(38, 14);
  textbackground(0);
  printf("20%c", x);
  Sleep(150);
  gotoxy(28, 14);
  textbackground(15);
  printf("    ");
  textcolor(14);
  gotoxy(38, 14);
  textbackground(0);
  printf("30%c", x);
  Sleep(150);
  gotoxy(32, 14);
  textbackground(15);
  printf("    ");
  textcolor(14);
  gotoxy(38, 14);
  textbackground(0);
  printf("40%c", x);
  Sleep(150);
  gotoxy(36, 14);
  textbackground(15);
  printf("    ");
  textcolor(14);
  gotoxy(38, 14);
  textbackground(0);
  printf("50%c", x);
  Sleep(150);
  gotoxy(40, 14);
  textbackground(15);
  printf("    ");
  textcolor(9);
  gotoxy(38, 14);
  textbackground(15);
  printf("60%c", x);
  Sleep(150);
  gotoxy(44, 14);
  textbackground(15);
  printf("    ");
  textcolor(9);
  gotoxy(38, 14);
  textbackground(15);
  printf("70%c", x);
  Sleep(150);
  gotoxy(48, 14);
  textbackground(15);
  printf("    ");
  textcolor(9);
  gotoxy(38, 14);
  textbackground(15);
  printf("80%c", x);
  Sleep(150);
  gotoxy(52, 14);
  textbackground(15);
  printf("    ");
  textcolor(9);
  gotoxy(38, 14);
  textbackground(15);
  printf("90%c", x);
  Sleep(150);
  gotoxy(56, 14);
  textbackground(15);
  printf("    ");
  textcolor(9);
  gotoxy(37, 14);
  textbackground(15);
  printf("100%c", x);
  textbackground(0);
  Sleep(150);
}
```