user: Demonstrate the C code that generates the assembly output below:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x30,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    D217(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    -0x24(%rbp),%rax
  mov    %rax,%rsi
  lea    D340(%rip),%rax
  mov    %rax,%rdi
  call   <scanf@plt>
  lea    D248(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    -0x20(%rbp),%rax
  mov    %rax,%rsi
  lea    D340(%rip),%rax
  mov    %rax,%rdi
  call   <scanf@plt>
  lea    D413(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    -0x1c(%rbp),%rax
  mov    %rax,%rsi
  lea    D340(%rip),%rax
  mov    %rax,%rdi
  call   <scanf@plt>
  mov    -0x1c(%rbp),%edx
  mov    $0x32,%eax
  sub    %edx,%eax
  mov    %eax,-0x10(%rbp)
  lea    D60(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    -0x18(%rbp),%rax
  mov    %rax,%rsi
  lea    D340(%rip),%rax
  mov    %rax,%rdi
  call   <scanf@plt>
  cmpl   $0x32,-0x10(%rbp)
  jne    L272
  mov    -0x18(%rbp),%eax
  test   %eax,%eax
  jne    L272
  movss  D309(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L272:
  cmpl   $0x28,-0x10(%rbp)
  jne    L542
  mov    -0x18(%rbp),%eax
  test   %eax,%eax
  jne    L542
  movss  D102(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L542:
  cmpl   $0x1e,-0x10(%rbp)
  jne    L757
  mov    -0x18(%rbp),%eax
  test   %eax,%eax
  jne    L757
  movss  D121(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L757:
  cmpl   $0x19,-0x10(%rbp)
  jne    L384
  mov    -0x18(%rbp),%eax
  test   %eax,%eax
  jne    L384
  movss  D187(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L384:
  cmpl   $0x14,-0x10(%rbp)
  jne    L659
  mov    -0x18(%rbp),%eax
  test   %eax,%eax
  jne    L659
  movss  D288(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L659:
  cmpl   $0xa,-0x10(%rbp)
  jne    L595
  mov    -0x18(%rbp),%eax
  test   %eax,%eax
  jne    L595
  movss  D63(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L595:
  cmpl   $0x5,-0x10(%rbp)
  jne    L308
  mov    -0x18(%rbp),%eax
  test   %eax,%eax
  jne    L308
  movss  D275(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L308:
  cmpl   $0x32,-0x10(%rbp)
  jne    L707
  mov    -0x18(%rbp),%eax
  cmp    $0x2,%eax
  jne    L707
  movss  D259(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L707:
  cmpl   $0x28,-0x10(%rbp)
  jne    L30
  mov    -0x18(%rbp),%eax
  cmp    $0x2,%eax
  jne    L30
  movss  D15(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L30:
  cmpl   $0x1e,-0x10(%rbp)
  jne    L543
  mov    -0x18(%rbp),%eax
  cmp    $0x2,%eax
  jne    L543
  movss  D94(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L543:
  cmpl   $0x19,-0x10(%rbp)
  jne    L773
  mov    -0x18(%rbp),%eax
  cmp    $0x2,%eax
  jne    L773
  movss  D357(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L773:
  cmpl   $0x14,-0x10(%rbp)
  jne    L573
  mov    -0x18(%rbp),%eax
  cmp    $0x2,%eax
  jne    L573
  movss  D353(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L573:
  cmpl   $0xa,-0x10(%rbp)
  jne    L73
  mov    -0x18(%rbp),%eax
  cmp    $0x2,%eax
  jne    L73
  movss  D459(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L73:
  cmpl   $0x5,-0x10(%rbp)
  jne    L122
  mov    -0x18(%rbp),%eax
  cmp    $0x2,%eax
  jne    L122
  movss  D403(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L122:
  cmpl   $0x32,-0x10(%rbp)
  jne    L564
  mov    -0x18(%rbp),%eax
  cmp    $0x5,%eax
  jne    L564
  movss  D368(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L564:
  cmpl   $0x28,-0x10(%rbp)
  jne    L418
  mov    -0x18(%rbp),%eax
  cmp    $0x5,%eax
  jne    L418
  movss  D350(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L418:
  cmpl   $0x1e,-0x10(%rbp)
  jne    L629
  mov    -0x18(%rbp),%eax
  cmp    $0x5,%eax
  jne    L629
  movss  D200(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L629:
  cmpl   $0x19,-0x10(%rbp)
  jne    L610
  mov    -0x18(%rbp),%eax
  cmp    $0x5,%eax
  jne    L610
  movss  D270(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L610:
  cmpl   $0x14,-0x10(%rbp)
  jne    L496
  mov    -0x18(%rbp),%eax
  cmp    $0x5,%eax
  jne    L496
  movss  D223(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L496:
  cmpl   $0xa,-0x10(%rbp)
  jne    L854
  mov    -0x18(%rbp),%eax
  cmp    $0x5,%eax
  jne    L854
  movss  D278(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L854:
  cmpl   $0x5,-0x10(%rbp)
  jne    L735
  mov    -0x18(%rbp),%eax
  cmp    $0x5,%eax
  jne    L735
  movss  D247(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L735:
  cmpl   $0x32,-0x10(%rbp)
  jne    L699
  mov    -0x18(%rbp),%eax
  cmp    $0x7,%eax
  jne    L699
  movss  D4(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L699:
  cmpl   $0x28,-0x10(%rbp)
  jne    L682
  mov    -0x18(%rbp),%eax
  cmp    $0x7,%eax
  jne    L682
  movss  D4(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L682:
  cmpl   $0x1e,-0x10(%rbp)
  jne    L331
  mov    -0x18(%rbp),%eax
  cmp    $0x7,%eax
  jne    L331
  movss  D461(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L331:
  cmpl   $0x19,-0x10(%rbp)
  jne    L867
  mov    -0x18(%rbp),%eax
  cmp    $0x7,%eax
  jne    L867
  movss  D203(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L867:
  cmpl   $0x14,-0x10(%rbp)
  jne    L599
  mov    -0x18(%rbp),%eax
  cmp    $0x7,%eax
  jne    L599
  movss  D386(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L599:
  cmpl   $0xa,-0x10(%rbp)
  jne    L951
  mov    -0x18(%rbp),%eax
  cmp    $0x7,%eax
  jne    L951
  movss  D48(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L951:
  cmpl   $0x5,-0x10(%rbp)
  jne    L577
  mov    -0x18(%rbp),%eax
  cmp    $0x7,%eax
  jne    L577
  movss  D98(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L577:
  cmpl   $0x32,-0x10(%rbp)
  jne    L1063
  mov    -0x18(%rbp),%eax
  cmp    $0x9,%eax
  jne    L1063
  movss  D212(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L1063:
  cmpl   $0x28,-0x10(%rbp)
  jne    L192
  mov    -0x18(%rbp),%eax
  cmp    $0x9,%eax
  jne    L192
  movss  D212(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L192:
  cmpl   $0x1e,-0x10(%rbp)
  jne    L804
  mov    -0x18(%rbp),%eax
  cmp    $0x9,%eax
  jne    L804
  movss  D212(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L804:
  cmpl   $0x19,-0x10(%rbp)
  jne    L891
  mov    -0x18(%rbp),%eax
  cmp    $0x9,%eax
  jne    L891
  movss  D212(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L891:
  cmpl   $0x14,-0x10(%rbp)
  jne    L538
  mov    -0x18(%rbp),%eax
  cmp    $0x9,%eax
  jne    L538
  movss  D212(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L538:
  cmpl   $0xa,-0x10(%rbp)
  jne    L216
  mov    -0x18(%rbp),%eax
  cmp    $0x9,%eax
  jne    L216
  movss  D212(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
  jmp    L1045
L216:
  cmpl   $0x5,-0x10(%rbp)
  jne    L1045
  mov    -0x18(%rbp),%eax
  cmp    $0x9,%eax
  jne    L1045
  movss  D95(%rip),%xmm0
  movss  %xmm0,-0x14(%rbp)
L1045:
  mov    -0x24(%rbp),%eax
  pxor   %xmm1,%xmm1
  cvtsi2ss %eax,%xmm1
  movss  D309(%rip),%xmm0
  subss  -0x14(%rbp),%xmm0
  movss  D309(%rip),%xmm2
  divss  %xmm2,%xmm0
  mulss  %xmm1,%xmm0
  cvttss2si %xmm0,%eax
  mov    %eax,-0xc(%rbp)
  mov    -0x20(%rbp),%eax
  cmp    %eax,-0xc(%rbp)
  jge    L107
  lea    D151(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  jmp    L755
L107:
  mov    -0x20(%rbp),%eax
  cmp    %eax,-0xc(%rbp)
  jle    L1095
  lea    D183(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  jmp    L755
L1095:
  mov    -0x20(%rbp),%eax
  cmp    %eax,-0xc(%rbp)
  jne    L755
  lea    D428(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
L755:
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L561
  call   <__stack_chk_fail@plt>
L561:
  leave
  ret
```

tool_calls: name: parse_data
arguments: data_label: D217
datatype: string
name: parse_data
arguments: data_label: D340
datatype: string
name: parse_data
arguments: data_label: D248
datatype: string
name: parse_data
arguments: data_label: D413
datatype: string
name: parse_data
arguments: data_label: D60
datatype: string
name: parse_data
arguments: data_label: D309
datatype: byte[4]
name: parse_data
arguments: data_label: D102
datatype: f32
name: parse_data
arguments: data_label: D121
datatype: f32
name: parse_data
arguments: data_label: D187
datatype: f32
name: parse_data
arguments: data_label: D288
datatype: f32
name: parse_data
arguments: data_label: D63
datatype: f32
name: parse_data
arguments: data_label: D275
datatype: f32
name: parse_data
arguments: data_label: D259
datatype: f32
name: parse_data
arguments: data_label: D15
datatype: f32
name: parse_data
arguments: data_label: D94
datatype: f32
name: parse_data
arguments: data_label: D357
datatype: f32
name: parse_data
arguments: data_label: D353
datatype: f32
name: parse_data
arguments: data_label: D459
datatype: f32
name: parse_data
arguments: data_label: D403
datatype: f32
name: parse_data
arguments: data_label: D368
datatype: byte[4]
name: parse_data
arguments: data_label: D350
datatype: f32
name: parse_data
arguments: data_label: D200
datatype: f32
name: parse_data
arguments: data_label: D270
datatype: f32
name: parse_data
arguments: data_label: D223
datatype: f32
name: parse_data
arguments: data_label: D278
datatype: f32
name: parse_data
arguments: data_label: D247
datatype: f32
name: parse_data
arguments: data_label: D4
datatype: byte[4]
name: parse_data
arguments: data_label: D461
datatype: f32
name: parse_data
arguments: data_label: D203
datatype: f32
name: parse_data
arguments: data_label: D386
datatype: f32
name: parse_data
arguments: data_label: D48
datatype: f32
name: parse_data
arguments: data_label: D98
datatype: f32
name: parse_data
arguments: data_label: D212
datatype: f32
name: parse_data
arguments: data_label: D95
datatype: f32
name: parse_data
arguments: data_label: D151
datatype: string
name: parse_data
arguments: data_label: D183
datatype: string
name: parse_data
arguments: data_label: D428
datatype: string

tool: D217: Enter the total innings for Team 1: 

tool: D340: %d

tool: D248: Enter the total innings for Team 2: 

tool: D413: Enter the number of overs played by Team 2: 

tool: D60: Enter the numbers of Wickets lost by Team 2 at the stoppage of play: 

tool: {"D309": [0x00,0x00,0xc8,0x42]}

tool: D102: 89.3

tool: D121: 75.1

tool: D187: 66.5

tool: D288: 56.6

tool: D63: 32.1

tool: D275: 17.2

tool: D259: 85.1

tool: D15: 77.8

tool: D94: 67.3

tool: D357: 6.5

tool: D353: 52.4

tool: D459: 30.8

tool: D403: 16.8

tool: {"D368": [0x00,0x00,0x44,0x42]}

tool: D350: 47.6

tool: D200: 44.7

tool: D270: 42.2

tool: D223: 38.6

tool: D278: 26.1

tool: D247: 15.4

tool: {"D4": [0x00,0x00,0xb0,0x41]}

tool: D461: 21.8

tool: D203: 21.6

tool: D386: 21.2

tool: D48: 17.9

tool: D98: 12.5

tool: D212: 4.7

tool: D95: 4.6

tool: D151: Team 2 Wins 


tool: D183: Team 1 Wins 


tool: D428: Its a tie! 


assistant: ```c
int main(void) {
  int t1_innings, t2_innings, overs_played, overs_left, t2_wckts_lost, t1_parscore;
  float resource;
  printf("Enter the total innings for Team 1: ");
  scanf("%d", &t1_innings);
  printf("Enter the total innings for Team 2: ");
  scanf("%d", &t2_innings);
  printf("Enter the number of overs played by Team 2: ");
  scanf("%d", &overs_played);
  overs_left = 50 - overs_played;
  printf("Enter the numbers of Wickets lost by Team 2 at the stoppage of play: ");
  scanf("%d", &t2_wckts_lost);
  if (overs_left == 50 && t2_wckts_lost == 0) {
    resource = 100;
  } else if (overs_left == 40 && t2_wckts_lost == 0) {
    resource = 89.3;
  } else if (overs_left == 30 && t2_wckts_lost == 0) {
    resource = 75.1;
  } else if (overs_left == 25 && t2_wckts_lost == 0) {
    resource = 66.5;
  } else if (overs_left == 20 && t2_wckts_lost == 0) {
    resource = 56.6;
  } else if (overs_left == 10 && t2_wckts_lost == 0) {
    resource = 32.1;
  } else if (overs_left == 5 && t2_wckts_lost == 0) {
    resource = 17.2;
  } else if (overs_left == 50 && t2_wckts_lost == 2) {
    resource = 85.1;
  } else if (overs_left == 40 && t2_wckts_lost == 2) {
    resource = 77.8;
  } else if (overs_left == 30 && t2_wckts_lost == 2) {
    resource = 67.3;
  } else if (overs_left == 25 && t2_wckts_lost == 2) {
    resource = 6.5;
  } else if (overs_left == 20 && t2_wckts_lost == 2) {
    resource = 52.4;
  } else if (overs_left == 10 && t2_wckts_lost == 2) {
    resource = 30.8;
  } else if (overs_left == 5 && t2_wckts_lost == 2) {
    resource = 16.8;
  } else if (overs_left == 50 && t2_wckts_lost == 5) {
    resource = 49;
  } else if (overs_left == 40 && t2_wckts_lost == 5) {
    resource = 47.6;
  } else if (overs_left == 30 && t2_wckts_lost == 5) {
    resource = 44.7;
  } else if (overs_left == 25 && t2_wckts_lost == 5) {
    resource = 42.2;
  } else if (overs_left == 20 && t2_wckts_lost == 5) {
    resource = 38.6;
  } else if (overs_left == 10 && t2_wckts_lost == 5) {
    resource = 26.1;
  } else if (overs_left == 5 && t2_wckts_lost == 5) {
    resource = 15.4;
  } else if (overs_left == 50 && t2_wckts_lost == 7) {
    resource = 22;
  } else if (overs_left == 40 && t2_wckts_lost == 7) {
    resource = 22;
  } else if (overs_left == 30 && t2_wckts_lost == 7) {
    resource = 21.8;
  } else if (overs_left == 25 && t2_wckts_lost == 7) {
    resource = 21.6;
  } else if (overs_left == 20 && t2_wckts_lost == 7) {
    resource = 21.2;
  } else if (overs_left == 10 && t2_wckts_lost == 7) {
    resource = 17.9;
  } else if (overs_left == 5 && t2_wckts_lost == 7) {
    resource = 12.5;
  } else if (overs_left == 50 && t2_wckts_lost == 9) {
    resource = 4.7;
  } else if (overs_left == 40 && t2_wckts_lost == 9) {
    resource = 4.7;
  } else if (overs_left == 30 && t2_wckts_lost == 9) {
    resource = 4.7;
  } else if (overs_left == 25 && t2_wckts_lost == 9) {
    resource = 4.7;
  } else if (overs_left == 20 && t2_wckts_lost == 9) {
    resource = 4.7;
  } else if (overs_left == 10 && t2_wckts_lost == 9) {
    resource = 4.7;
  } else if (overs_left == 5 && t2_wckts_lost == 9) {
    resource = 4.6;
  }
  t1_parscore = t1_innings * ((100 - resource) / 100);
  if (t1_parscore < t2_innings) {
    printf("Team 2 Wins \n");
  } else if (t1_parscore > t2_innings) {
    printf("Team 1 Wins \n");
  } else if (t1_parscore == t2_innings) {
    printf("Its a tie! \n");
  }
  return 0;
}
```