user: What would the C source look like for the assembly code provided here:

```asm
<Hold_Default_Election>:
  endbr64
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0xc8,%rsp
  mov    %rdi,%rbp
  mov    %fs:0x28,%rax
  mov    %rax,0xb8(%rsp)
  xor    %eax,%eax
  movl   $0x1,(%rsp)
  movl   $0x5,0x4(%rsp)
  movl   $0x4,0x8(%rsp)
  movl   $0x2,0xc(%rsp)
  movl   $0x3,0x10(%rsp)
  movl   $0x5,0x20(%rsp)
  movl   $0x1,0x24(%rsp)
  movl   $0x4,0x28(%rsp)
  movl   $0x3,0x2c(%rsp)
  movl   $0x2,0x30(%rsp)
  movl   $0x5,0x40(%rsp)
  movl   $0x2,0x44(%rsp)
  movl   $0x1,0x48(%rsp)
  movl   $0x4,0x4c(%rsp)
  movl   $0x3,0x50(%rsp)
  movl   $0x5,0x60(%rsp)
  movl   $0x4,0x64(%rsp)
  movl   $0x2,0x68(%rsp)
  movl   $0x1,0x6c(%rsp)
  movl   $0x3,0x70(%rsp)
  movl   $0x5,0x80(%rsp)
  movl   $0x2,0x84(%rsp)
  movl   $0x4,0x88(%rsp)
  movl   $0x3,0x8c(%rsp)
  movl   $0x1,0x90(%rsp)
  movl   $0x5,0xa0(%rsp)
  movl   $0x4,0xa4(%rsp)
  movl   $0x2,0xa8(%rsp)
  movl   $0x3,0xac(%rsp)
  movl   $0x1,0xb0(%rsp)
  lea    0x90(%rdi),%r13
  mov    %rdi,%rbx
  mov    %rsp,%r12
L17:
  mov    %r12,%rdi
  call   <New_Default_Ballot@plt>
  mov    %rax,(%rbx)
  add    $0x8,%rbx
  cmp    %r13,%rbx
  jne    L17
  lea    0x90(%rbp),%rbx
  lea    0xf0(%rbp),%r13
  lea    0x20(%rsp),%r12
L20:
  mov    %r12,%rdi
  call   <New_Default_Ballot@plt>
  mov    %rax,(%rbx)
  add    $0x8,%rbx
  cmp    %r13,%rbx
  jne    L20
  lea    0xf0(%rbp),%rbx
  lea    0x140(%rbp),%r13
  lea    0x40(%rsp),%r12
L21:
  mov    %r12,%rdi
  call   <New_Default_Ballot@plt>
  mov    %rax,(%rbx)
  add    $0x8,%rbx
  cmp    %r13,%rbx
  jne    L21
  lea    0x140(%rbp),%rbx
  lea    0x188(%rbp),%r13
  lea    0x60(%rsp),%r12
L36:
  mov    %r12,%rdi
  call   <New_Default_Ballot@plt>
  mov    %rax,(%rbx)
  add    $0x8,%rbx
  cmp    %rbx,%r13
  jne    L36
  lea    0x188(%rbp),%rbx
  lea    0x1a8(%rbp),%r13
  lea    0x80(%rsp),%r12
L16:
  mov    %r12,%rdi
  call   <New_Default_Ballot@plt>
  mov    %rax,(%rbx)
  add    $0x8,%rbx
  cmp    %rbx,%r13
  jne    L16
  lea    0xa0(%rsp),%rbx
  mov    %rbx,%rdi
  call   <New_Default_Ballot@plt>
  mov    %rax,0x1a8(%rbp)
  mov    %rbx,%rdi
  call   <New_Default_Ballot@plt>
  mov    %rax,0x1b0(%rbp)
  mov    0xb8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L18
  add    $0xc8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
L18:
  call   <__stack_chk_fail@plt>
```

assistant: ```c
void Hold_Default_Election(struct DefaultBallot *Ballots[55]) {
  int count = 0;
  int vote1[5] = {1, 5, 4, 2, 3};
  int vote2[5] = {5, 1, 4, 3, 2};
  int vote3[5] = {5, 2, 1, 4, 3};
  int vote4[5] = {5, 4, 2, 1, 3};
  int vote5[5] = {5, 2, 4, 3, 1};
  int vote6[5] = {5, 4, 2, 3, 1};
  for (; count < 18; count++) {
    Ballots[count] = New_Default_Ballot(vote1);
  }
  for (; count < 18 + 12; count++) {
    Ballots[count] = New_Default_Ballot(vote2);
  }
  for (; count < 18 + 12 + 10; count++) {
    Ballots[count] = New_Default_Ballot(vote3);
  }
  for (; count < 18 + 12 + 10 + 9; count++) {
    Ballots[count] = New_Default_Ballot(vote4);
  }
  for (; count < 18 + 12 + 10 + 9 + 4; count++) {
    Ballots[count] = New_Default_Ballot(vote5);
  }
  for (; count < 18 + 12 + 10 + 9 + 4 + 2; count++) {
    Ballots[count] = New_Default_Ballot(vote6);
  }
}
```