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

```asm
<main>:
  endbr64
  push   %r12
  lea    D163(%rip),%rdi
  lea    D159(%rip),%r12
  push   %rbp
  lea    D385(%rip),%rbp
  sub    $0x8,%rsp
  call   <printf@plt>
  lea    D360(%rip),%rdi
  call   <printf@plt>
  lea    D136(%rip),%rdi
  call   <printf@plt>
  lea    D389(%rip),%rdi
  call   <printf@plt>
  lea    D42(%rip),%rdi
  call   <printf@plt>
  lea    D25(%rip),%rdi
  call   <printf@plt>
  lea    D434(%rip),%rdi
  call   <printf@plt>
  lea    D198(%rip),%rdi
  call   <printf@plt>
  lea    D264(%rip),%rdi
  call   <printf@plt>
  lea    D165(%rip),%rdi
  call   <printf@plt>
  lea    D115(%rip),%rdi
  call   <printf@plt>
  lea    D27(%rip),%rdi
  call   <printf@plt>
  lea    D297(%rip),%rdi
  call   <printf@plt>
  lea    D130(%rip),%rdi
  call   <printf@plt>
  lea    D327(%rip),%rdi
  call   <printf@plt>
  lea    D169(%rip),%rdi
  call   <printf@plt>
  lea    D40(%rip),%rdi
  call   <printf@plt>
  lea    D291(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D438(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  lea    D88(%rip),%rbp
  call   <printf@plt>
  lea    D325(%rip),%rdi
  call   <printf@plt>
  lea    D277(%rip),%rdi
  call   <printf@plt>
  lea    D43(%rip),%rdi
  call   <printf@plt>
  mov    $0xa,%edi
  call   <doProgress@plt>
  lea    D254(%rip),%rdi
  call   <printf@plt>
  mov    $0x19,%edi
  call   <doProgress@plt>
  lea    D299(%rip),%rdi
  call   <printf@plt>
  mov    $0x5,%edi
  call   <doProgress@plt>
  lea    D357(%rip),%rdi
  call   <printf@plt>
  mov    $0xa,%edi
  call   <doProgress@plt>
  lea    D395(%rip),%rdi
  call   <printf@plt>
  mov    $0xf,%edi
  call   <doProgress@plt>
  lea    D96(%rip),%rdi
  call   <printf@plt>
  mov    $0x5,%edi
  call   <doProgress@plt>
  lea    D150(%rip),%rdi
  call   <printf@plt>
  mov    %r12,%rdi
  call   <system@plt>
  lea    D188(%rip),%rdi
  call   <printf@plt>
  mov    %r12,%rdi
  call   <system@plt>
  lea    D113(%rip),%rdi
  call   <printf@plt>
  mov    %r12,%rdi
  call   <system@plt>
  mov    $0x12c,%edi
  call   <doProgress@plt>
  lea    D112(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D5(%rip),%rdi
  call   <printf@plt>
  lea    D240(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D216(%rip),%rdi
  call   <printf@plt>
  mov    $0xf,%edi
  call   <doProgress@plt>
  lea    D398(%rip),%rdi
  call   <printf@plt>
  mov    %r12,%rdi
  call   <system@plt>
  mov    $0x5dc,%edi
  call   <doProgress@plt>
  lea    D226(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D0(%rip),%rdi
  call   <printf@plt>
  lea    D419(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D402(%rip),%rdi
  call   <printf@plt>
  mov    %r12,%rdi
  call   <system@plt>
  mov    $0x3c,%edi
  call   <doProgress@plt>
  lea    D73(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D206(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D139(%rip),%rdi
  call   <printf@plt>
  add    $0x8,%rsp
  xor    %eax,%eax
  pop    %rbp
  pop    %r12
  ret
```

tool_calls: name: parse_data
arguments: label: D163
datatype: string
name: parse_data
arguments: label: D159
datatype: string
name: parse_data
arguments: label: D385
datatype: string
name: parse_data
arguments: label: D360
datatype: string
name: parse_data
arguments: label: D136
datatype: string
name: parse_data
arguments: label: D389
datatype: string
name: parse_data
arguments: label: D42
datatype: string
name: parse_data
arguments: label: D25
datatype: string
name: parse_data
arguments: label: D434
datatype: string
name: parse_data
arguments: label: D198
datatype: string
name: parse_data
arguments: label: D264
datatype: string
name: parse_data
arguments: label: D165
datatype: string
name: parse_data
arguments: label: D115
datatype: string
name: parse_data
arguments: label: D27
datatype: string
name: parse_data
arguments: label: D297
datatype: string
name: parse_data
arguments: label: D130
datatype: string
name: parse_data
arguments: label: D327
datatype: string
name: parse_data
arguments: label: D169
datatype: string
name: parse_data
arguments: label: D40
datatype: string
name: parse_data
arguments: label: D291
datatype: string
name: parse_data
arguments: label: D438
datatype: string
name: parse_data
arguments: label: D88
datatype: string
name: parse_data
arguments: label: D325
datatype: string
name: parse_data
arguments: label: D277
datatype: string
name: parse_data
arguments: label: D43
datatype: string
name: parse_data
arguments: label: D254
datatype: string
name: parse_data
arguments: label: D299
datatype: string
name: parse_data
arguments: label: D357
datatype: string
name: parse_data
arguments: label: D395
datatype: string
name: parse_data
arguments: label: D96
datatype: string
name: parse_data
arguments: label: D150
datatype: string
name: parse_data
arguments: label: D188
datatype: string
name: parse_data
arguments: label: D113
datatype: string
name: parse_data
arguments: label: D112
datatype: string
name: parse_data
arguments: label: D5
datatype: string
name: parse_data
arguments: label: D240
datatype: string
name: parse_data
arguments: label: D216
datatype: string
name: parse_data
arguments: label: D398
datatype: string
name: parse_data
arguments: label: D226
datatype: string
name: parse_data
arguments: label: D0
datatype: string
name: parse_data
arguments: label: D419
datatype: string
name: parse_data
arguments: label: D402
datatype: string
name: parse_data
arguments: label: D73
datatype: string
name: parse_data
arguments: label: D206
datatype: string
name: parse_data
arguments: label: D139
datatype: string

tool: D163:   ..???OONNMMMMMMMMMMNNZZIII==88...   


tool: D159: pause

tool: D385: --------------------------------------


tool: D360:   ..,,,::~~++++++++++~~::,::ZZ== ..   


tool: D136:          ..::::::::::..  ...OO::      


tool: D389:                        ..ZZZ77        


tool: D42:                     ...++DDD==       .


tool: D25:                     ..77MMM,,         


tool: D434:                   :::OONN~==          


tool: D198:                   ~~~MMDD,,,          


tool: D264:          ::+++++++DNNMMII=++++::      


tool: D165:          ,,:::::77NNNZZ==:::::,,.     


tool: D115:               ..OOMMM++               


tool: D27:               77MM777                 


tool: D297:            :~~MMOO...                 


tool: D130:           ZZZDD,,                     


tool: D327:          ~~NNN::                      


tool: D169:       ...OO+++                        


tool: D40:       .,,ZZ===,,:::~~:::::::::,, ,,.. 


tool: D291:       .77$$:::??ZZNNNMMMMMMM8877===,, 


tool: D438: -- Spartan Corp ----------------------


tool: D88: +-----------------------------------------------------------+


tool: D325: ---------- Living a better tomorrow --


tool: D277: --------------------------------------



tool: D43: Initializing measurement equipment...


tool: D254: 


tool: D299: 

Calibrating measurement equipment...


tool: D357: 

Calibration failed! Please check all connectors...


tool: D395: 

Calibration failed! Please step away from sensor equipment...


tool: D96: 

Calibration complete, transitioning to "Science" mode...


tool: D150: 

Science Mode successfully enabled, please wait...


tool: D188: 

Spartan Corp doesn't like that button, please try again...


tool: D113: Measurement 1 beginning...this may take up to 5 minutes to complete.


tool: D112: 

  Measurement 1 is complete. Please enter this information!


tool: D5: |  Password: zvirus                                         |


tool: D240: | Parameter: 3.1415965                                      |


tool: D216: 
Calibrating measurement equipment...


tool: D398: Measurement 2 beginning...this may take up to 15 minutes to complete.


tool: D226: 

  Measurement 2 is complete. Please enter this information!


tool: D0: |  Password: zombies                                        |


tool: D419: | Parameter: 42                                             |


tool: D402: A Spartan Corp security override lockin password must be generated.


tool: D73: 

  Generation of the lockin password is complete!         


tool: D206: |  Password: 12345                                          |


tool: D139: 

Spartan Corp Measurement Division thanks you for your time!


assistant: ```c
int main(int argc, char *argv[]) {
  printf("  ..???OONNMMMMMMMMMMNNZZIII==88...   \n");
  printf("  ..,,,::~~++++++++++~~::,::ZZ== ..   \n");
  printf("         ..::::::::::..  ...OO::      \n");
  printf("                       ..ZZZ77        \n");
  printf("                    ...++DDD==       .\n");
  printf("                    ..77MMM,,         \n");
  printf("                  :::OONN~==          \n");
  printf("                  ~~~MMDD,,,          \n");
  printf("         ::+++++++DNNMMII=++++::      \n");
  printf("         ,,:::::77NNNZZ==:::::,,.     \n");
  printf("              ..OOMMM++               \n");
  printf("              77MM777                 \n");
  printf("           :~~MMOO...                 \n");
  printf("          ZZZDD,,                     \n");
  printf("         ~~NNN::                      \n");
  printf("      ...OO+++                        \n");
  printf("      .,,ZZ===,,:::~~:::::::::,, ,,.. \n");
  printf("      .77$$:::??ZZNNNMMMMMMM8877===,, \n");
  printf("--------------------------------------\n");
  printf("-- Spartan Corp ----------------------\n");
  printf("--------------------------------------\n");
  printf("---------- Living a better tomorrow --\n");
  printf("--------------------------------------\n\n");
  printf("Initializing measurement equipment...\n");
  doProgress(10);
  printf("\n");
  doProgress(25);
  printf("\n\nCalibrating measurement equipment...\n");
  doProgress(5);
  printf("\n\nCalibration failed! Please check all connectors...\n");
  doProgress(10);
  printf("\n\nCalibration failed! Please step away from sensor equipment...\n");
  doProgress(15);
  printf("\n\nCalibration complete, transitioning to \"Science\" mode...\n");
  doProgress(5);
  printf("\n\nScience Mode successfully enabled, please wait...\n");
  system("pause");
  printf("\n\nSpartan Corp doesn't like that button, please try again...\n");
  system("pause");
  printf("Measurement 1 beginning...this may take up to 5 minutes to complete.\n");
  system("pause");
  doProgress(300);
  printf("\n\n  Measurement 1 is complete. Please enter this information!\n");
  printf("+-----------------------------------------------------------+\n");
  printf("|  Password: zvirus                                         |\n");
  printf("| Parameter: 3.1415965                                      |\n");
  printf("+-----------------------------------------------------------+\n");
  printf("\nCalibrating measurement equipment...\n");
  doProgress(15);
  printf("Measurement 2 beginning...this may take up to 15 minutes to complete.\n");
  system("pause");
  doProgress(1500);
  printf("\n\n  Measurement 2 is complete. Please enter this information!\n");
  printf("+-----------------------------------------------------------+\n");
  printf("|  Password: zombies                                        |\n");
  printf("| Parameter: 42                                             |\n");
  printf("+-----------------------------------------------------------+\n");
  printf("A Spartan Corp security override lockin password must be generated.\n");
  system("pause");
  doProgress(60);
  printf("\n\n  Generation of the lockin password is complete!         \n");
  printf("+-----------------------------------------------------------+\n");
  printf("|  Password: 12345                                          |\n");
  printf("+-----------------------------------------------------------+\n");
  printf("\n\nSpartan Corp Measurement Division thanks you for your time!\n");
  return 0;
}
```