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

```asm
<biscPlayFireflies>:
  endbr64
  mov    $0xa14,%edx
  mov    $0xa0a,%esi
  mov    $0x4b4f,%edi
  sub    $0xd8,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0xc8(%rsp)
  movabs $0x3f4b52463a56463a,%rax
  mov    $0xa0a,%r8d
  mov    %dx,0x70(%rsp)
  movabs $0x46383f4b48464838,%rcx
  mov    %rcx,0x72(%rsp)
  mov    $0x4d4b,%ecx
  movabs $0x38483f46383f4838,%rdx
  mov    $0x4846,%r9d
  mov    %cx,0x7e(%rsp)
  mov    $0x141e,%r10d
  movabs $0xa140a0a0a0a0a14,%rcx
  mov    $0x3c4b,%r11d
  mov    %rcx,0x80(%rsp)
  movabs $0x3f4b52414a564d38,%rcx
  mov    %rcx,0xaa(%rsp)
  movabs $0x4838464b48464838,%rcx
  mov    %si,0x8c(%rsp)
  mov    $0x4d4f,%esi
  mov    %rax,0x56(%rsp)
  mov    $0x4b52,%eax
  mov    %ax,0x62(%rsp)
  movabs $0xa0a140a0a0a0a0a,%rax
  mov    %rax,0x64(%rsp)
  mov    %rax,0xb9(%rsp)
  movabs $0xa0a0a140a0a0a14,%rax
  mov    %di,0xb6(%rsp)
  mov    $0x1e1e,%edi
  mov    %r8w,0xc5(%rsp)
  mov    $0x4b4d,%r8d
  mov    %rdx,0x3c(%rsp)
  mov    %r9w,0x10(%rsp)
  mov    $0xa0a,%r9d
  movl   $0x4d4b4d4b,0x5e(%rsp)
  movl   $0xa0a0a0a,0x6c(%rsp)
  movl   $0x463c4648,0x7a(%rsp)
  movl   $0xa0a0a0a,0x88(%rsp)
  movl   $0x504b4d46,0xb2(%rsp)
  movb   $0x46,0xb8(%rsp)
  movl   $0xa0a0a0a,0xc1(%rsp)
  movb   $0xa,0xc7(%rsp)
  movl   $0x4b3c4648,0x44(%rsp)
  movb   $0x4d,0x48(%rsp)
  mov    %rax,0x49(%rsp)
  movl   $0xa0a0a0a,0x51(%rsp)
  movb   $0x14,0x55(%rsp)
  movl   $0x4a41464a,0xc(%rsp)
  movl   $0x1e141e1e,0x12(%rsp)
  mov    %r10w,0x16(%rsp)
  mov    %rcx,0x26(%rsp)
  movabs $0x1e0a0a0a0a0a0a14,%rcx
  mov    %rcx,0x31(%rsp)
  mov    $0x140a,%ecx
  mov    %cx,0x39(%rsp)
  mov    $0xe,%ecx
  mov    %si,0x1c(%rsp)
  lea    0x56(%rsp),%rsi
  mov    %di,0x23(%rsp)
  mov    $0x1,%edi
  mov    %rdx,0x8e(%rsp)
  lea    0x64(%rsp),%rdx
  mov    %r11w,0x2e(%rsp)
  movb   $0x4d,0x30(%rsp)
  movb   $0x14,0x3b(%rsp)
  movl   $0x46463f38,0x18(%rsp)
  movb   $0x4b,0x1e(%rsp)
  movl   $0x140a0a28,0x1f(%rsp)
  movb   $0x14,0x25(%rsp)
  movl   $0x4b3c4648,0x96(%rsp)
  mov    %r8w,0x9a(%rsp)
  mov    %rax,0x9c(%rsp)
  movl   $0xa0a0a0a,0xa4(%rsp)
  mov    %r9w,0xa8(%rsp)
  call   <biscDefineSong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  lea    0x72(%rsp),%rsi
  mov    $0xe,%ecx
  mov    $0x2,%edi
  lea    0x80(%rsp),%rdx
  call   <biscDefineSong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  lea    0xb9(%rsp),%rdx
  mov    $0xf,%ecx
  mov    $0x3,%edi
  lea    0xaa(%rsp),%rsi
  call   <biscDefineSong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  lea    0x49(%rsp),%rdx
  lea    0x3c(%rsp),%rsi
  mov    $0xd,%ecx
  mov    $0x4,%edi
  call   <biscDefineSong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  lea    0x12(%rsp),%rdx
  lea    0xc(%rsp),%rsi
  mov    $0x6,%ecx
  mov    $0x5,%edi
  call   <biscDefineSong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  lea    0x31(%rsp),%rdx
  lea    0x26(%rsp),%rsi
  mov    $0xb,%ecx
  mov    $0x6,%edi
  call   <biscDefineSong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  lea    0x1f(%rsp),%rdx
  lea    0x18(%rsp),%rsi
  mov    $0x7,%ecx
  mov    $0x7,%edi
  call   <biscDefineSong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  lea    0x9c(%rsp),%rdx
  mov    $0xe,%ecx
  mov    $0x8,%edi
  lea    0x8e(%rsp),%rsi
  call   <biscDefineSong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  mov    $0x1,%edi
  call   <biscPlaySong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  mov    $0x24b288,%edi
  call   <usleep@plt>
  mov    $0x2,%edi
  call   <biscPlaySong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  mov    $0x24c610,%edi
  call   <usleep@plt>
  mov    $0x3,%edi
  call   <biscPlaySong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  mov    $0x24b288,%edi
  call   <usleep@plt>
  mov    $0x4,%edi
  call   <biscPlaySong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  mov    $0x254ec8,%edi
  call   <usleep@plt>
  mov    $0x5,%edi
  call   <biscPlaySong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  mov    $0x25c3f8,%edi
  call   <usleep@plt>
  mov    $0x6,%edi
  call   <biscPlaySong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  mov    $0x2527b8,%edi
  call   <usleep@plt>
  mov    $0x7,%edi
  call   <biscPlaySong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  mov    $0x254ec8,%edi
  call   <usleep@plt>
  mov    $0x8,%edi
  call   <biscPlaySong@plt>
  cmp    $0xffffffff,%eax
  je     L156
  mov    $0x254ec8,%edi
  call   <usleep@plt>
  xor    %eax,%eax
L151:
  mov    0xc8(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L176
  add    $0xd8,%rsp
  ret
  nopl   0x0(%rax)
L156:
  mov    $0xffffffff,%eax
  jmp    L151
L176:
  call   <__stack_chk_fail@plt>
```

assistant: ```c
int biscPlayFireflies(void) {
  unsigned char part1[] = {58, 70, 86, 58, 70, 82, 75, 63, 75, 77, 75, 77, 82, 75};
  unsigned char part1d[] = {10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10, 10, 20, 10};
  unsigned char part2[] = {56, 72, 70, 72, 75, 63, 56, 70, 72, 70, 60, 70, 75, 77};
  unsigned char part2d[] = {20, 10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10, 10, 10};
  unsigned char part3[] = {56, 77, 86, 74, 65, 82, 75, 63, 70, 77, 75, 80, 79, 75, 70};
  unsigned char part3d[] = {10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10};
  unsigned char part4[] = {56, 72, 63, 56, 70, 63, 72, 56, 72, 70, 60, 75, 77};
  unsigned char part4d[] = {20, 10, 10, 10, 20, 10, 10, 10, 10, 10, 10, 10, 20};
  unsigned char part5[] = {74, 70, 65, 74, 70, 72};
  unsigned char part5d[] = {30, 30, 20, 30, 30, 20};
  unsigned char part6[] = {56, 72, 70, 72, 75, 70, 56, 72, 75, 60, 77};
  unsigned char part6d[] = {20, 10, 10, 10, 10, 10, 10, 30, 10, 20, 20};
  unsigned char part7[] = {56, 63, 70, 70, 79, 77, 75};
  unsigned char part7d[] = {40, 10, 10, 20, 30, 30, 20};
  unsigned char part8[] = {56, 72, 63, 56, 70, 63, 72, 56, 72, 70, 60, 75, 77, 75};
  unsigned char part8d[] = {20, 10, 10, 10, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10};
  if (biscDefineSong(1, part1, part1d, sizeof(part1)) == -1)
    return -1;
  if (biscDefineSong(2, part2, part2d, sizeof(part2)) == -1)
    return -1;
  if (biscDefineSong(3, part3, part3d, sizeof(part3)) == -1)
    return -1;
  if (biscDefineSong(4, part4, part4d, sizeof(part4)) == -1)
    return -1;
  if (biscDefineSong(5, part5, part5d, sizeof(part5)) == -1)
    return -1;
  if (biscDefineSong(6, part6, part6d, sizeof(part6)) == -1)
    return -1;
  if (biscDefineSong(7, part7, part7d, sizeof(part7)) == -1)
    return -1;
  if (biscDefineSong(8, part8, part8d, sizeof(part8)) == -1)
    return -1;
  if (biscPlaySong(1) == -1)
    return -1;
  usleep(2405 * 1000);
  if (biscPlaySong(2) == -1)
    return -1;
  usleep(2410 * 1000);
  if (biscPlaySong(3) == -1)
    return -1;
  usleep(2405 * 1000);
  if (biscPlaySong(4) == -1)
    return -1;
  usleep(2445 * 1000);
  if (biscPlaySong(5) == -1)
    return -1;
  usleep(2475 * 1000);
  if (biscPlaySong(6) == -1)
    return -1;
  usleep(2435 * 1000);
  if (biscPlaySong(7) == -1)
    return -1;
  usleep(2445 * 1000);
  if (biscPlaySong(8) == -1)
    return -1;
  usleep(2445 * 1000);
  return 0;
}
```