user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<effect_intro>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  movl   $0x0,-0xc(%rbp)
  jmp    L69
L310:
  mov    -0xc(%rbp),%eax
  mov    %eax,%r9d
  mov    $0x7,%r8d
  mov    $0x7,%ecx
  mov    $0x0,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <box_wireframe@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  addl   $0x1,-0xc(%rbp)
L69:
  cmpl   $0x7,-0xc(%rbp)
  jle    L310
  movl   $0x0,-0xc(%rbp)
  jmp    L256
L96:
  mov    -0xc(%rbp),%eax
  mov    %eax,%edi
  call   <clrplane_z@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  addl   $0x1,-0xc(%rbp)
L256:
  cmpl   $0x6,-0xc(%rbp)
  jle    L96
  mov    $0xffffffff,%esi
  mov    $0x2,%edi
  call   <shift@plt>
  movl   $0x0,-0xc(%rbp)
  jmp    L164
L117:
  mov    -0xc(%rbp),%eax
  mov    $0x6,%edx
  mov    $0x0,%esi
  mov    %eax,%edi
  call   <setvoxel@plt>
  addl   $0x1,-0xc(%rbp)
L164:
  cmpl   $0x7,-0xc(%rbp)
  jle    L117
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  mov    $0xffffffff,%esi
  mov    $0x2,%edi
  call   <shift@plt>
  movl   $0x0,-0xc(%rbp)
  jmp    L367
L98:
  mov    -0xc(%rbp),%eax
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    %eax,%edi
  call   <setvoxel@plt>
  addl   $0x1,-0xc(%rbp)
L367:
  cmpl   $0x7,-0xc(%rbp)
  jle    L98
  mov    $0x6,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x6,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  mov    $0xffffffff,%esi
  mov    $0x2,%edi
  call   <shift@plt>
  movl   $0x0,-0xc(%rbp)
  jmp    L236
L354:
  mov    -0xc(%rbp),%eax
  mov    $0x4,%edx
  mov    $0x0,%esi
  mov    %eax,%edi
  call   <setvoxel@plt>
  addl   $0x1,-0xc(%rbp)
L236:
  cmpl   $0x7,-0xc(%rbp)
  jle    L354
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x6,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x6,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  mov    $0xffffffff,%esi
  mov    $0x2,%edi
  call   <shift@plt>
  movl   $0x0,-0xc(%rbp)
  jmp    L213
L192:
  mov    -0xc(%rbp),%eax
  mov    $0x3,%edx
  mov    $0x0,%esi
  mov    %eax,%edi
  call   <setvoxel@plt>
  addl   $0x1,-0xc(%rbp)
L213:
  cmpl   $0x7,-0xc(%rbp)
  jle    L192
  mov    $0x4,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x4,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x6,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x6,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  mov    $0xffffffff,%esi
  mov    $0x2,%edi
  call   <shift@plt>
  movl   $0x0,-0xc(%rbp)
  jmp    L20
L54:
  mov    -0xc(%rbp),%eax
  mov    $0x2,%edx
  mov    $0x0,%esi
  mov    %eax,%edi
  call   <setvoxel@plt>
  addl   $0x1,-0xc(%rbp)
L20:
  cmpl   $0x7,-0xc(%rbp)
  jle    L54
  mov    $0x3,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x3,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x4,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x4,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x6,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x6,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  mov    $0xffffffff,%esi
  mov    $0x2,%edi
  call   <shift@plt>
  movl   $0x0,-0xc(%rbp)
  jmp    L159
L3:
  mov    -0xc(%rbp),%eax
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    %eax,%edi
  call   <setvoxel@plt>
  addl   $0x1,-0xc(%rbp)
L159:
  cmpl   $0x7,-0xc(%rbp)
  jle    L3
  mov    $0x2,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x2,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x3,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x3,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x4,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x4,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  mov    $0xffffffff,%esi
  mov    $0x2,%edi
  call   <shift@plt>
  movl   $0x0,-0xc(%rbp)
  jmp    L270
L339:
  mov    -0xc(%rbp),%eax
  mov    $0x0,%edx
  mov    $0x0,%esi
  mov    %eax,%edi
  call   <setvoxel@plt>
  addl   $0x1,-0xc(%rbp)
L270:
  cmpl   $0x7,-0xc(%rbp)
  jle    L339
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x2,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x2,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x3,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x3,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x4,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x4,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    $0x5,%edx
  mov    $0x0,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  movl   $0x0,-0xc(%rbp)
  jmp    L120
L358:
  mov    -0xc(%rbp),%eax
  mov    $0x7,%r9d
  mov    %eax,%r8d
  mov    $0x7,%ecx
  mov    $0x0,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <box_wireframe@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  addl   $0x1,-0xc(%rbp)
L120:
  cmpl   $0x7,-0xc(%rbp)
  jle    L358
  movl   $0x0,-0xc(%rbp)
  jmp    L373
L8:
  mov    -0xc(%rbp),%eax
  mov    %eax,%edi
  call   <clrplane_y@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  addl   $0x1,-0xc(%rbp)
L373:
  cmpl   $0x6,-0xc(%rbp)
  jle    L8
  movl   $0x6,-0x8(%rbp)
  jmp    L189
L44:
  mov    $0xffffffff,%esi
  mov    $0x3,%edi
  call   <shift@plt>
  movl   $0x0,-0xc(%rbp)
  jmp    L294
L357:
  mov    -0x8(%rbp),%ecx
  mov    -0xc(%rbp),%eax
  mov    $0x0,%edx
  mov    %ecx,%esi
  mov    %eax,%edi
  call   <setvoxel@plt>
  addl   $0x1,-0xc(%rbp)
L294:
  cmpl   $0x7,-0xc(%rbp)
  jle    L357
  movl   $0x6,-0xc(%rbp)
  jmp    L137
L148:
  mov    -0xc(%rbp),%eax
  mov    $0x0,%edx
  mov    %eax,%esi
  mov    $0x0,%edi
  call   <setvoxel@plt>
  mov    -0xc(%rbp),%eax
  mov    $0x0,%edx
  mov    %eax,%esi
  mov    $0x7,%edi
  call   <setvoxel@plt>
  subl   $0x1,-0xc(%rbp)
L137:
  mov    -0xc(%rbp),%eax
  cmp    -0x8(%rbp),%eax
  jg     L148
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  subl   $0x1,-0x8(%rbp)
L189:
  cmpl   $0x0,-0x8(%rbp)
  jns    L44
  movl   $0x0,-0xc(%rbp)
  jmp    L92
L113:
  mov    $0x0,%edi
  call   <fill@plt>
  mov    -0xc(%rbp),%eax
  mov    %eax,%r9d
  mov    $0x7,%r8d
  mov    $0x7,%ecx
  mov    $0x0,%edx
  mov    $0x0,%esi
  mov    $0x0,%edi
  call   <box_walls@plt>
  mov    $0x12c,%edi
  call   <delay_ms@plt>
  addl   $0x1,-0xc(%rbp)
L92:
  cmpl   $0x6,-0xc(%rbp)
  jle    L113
  movl   $0x1f4,-0x4(%rbp)
  movl   $0x0,-0x8(%rbp)
  jmp    L194
L1:
  subl   $0x4b,-0x4(%rbp)
  movl   $0x0,-0xc(%rbp)
  jmp    L139
L142:
  mov    $0x0,%edi
  call   <fill@plt>
  mov    $0x7,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%r8d
  mov    $0x7,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%edi
  mov    $0x7,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%ecx
  mov    -0xc(%rbp),%edx
  mov    -0xc(%rbp),%esi
  mov    -0xc(%rbp),%eax
  mov    %r8d,%r9d
  mov    %edi,%r8d
  mov    %eax,%edi
  call   <box_walls@plt>
  mov    -0x4(%rbp),%eax
  mov    %eax,%edi
  call   <delay_ms@plt>
  addl   $0x1,-0xc(%rbp)
L139:
  cmpl   $0x3,-0xc(%rbp)
  jle    L142
  movl   $0x0,-0xc(%rbp)
  jmp    L404
L326:
  mov    $0x0,%edi
  call   <fill@plt>
  mov    -0xc(%rbp),%eax
  lea    0x4(%rax),%r8d
  mov    -0xc(%rbp),%eax
  lea    0x4(%rax),%edi
  mov    -0xc(%rbp),%eax
  lea    0x4(%rax),%ecx
  mov    $0x3,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%edx
  mov    $0x3,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%esi
  mov    $0x3,%eax
  sub    -0xc(%rbp),%eax
  mov    %r8d,%r9d
  mov    %edi,%r8d
  mov    %eax,%edi
  call   <box_walls@plt>
  mov    -0x4(%rbp),%eax
  mov    %eax,%edi
  call   <delay_ms@plt>
  addl   $0x1,-0xc(%rbp)
L404:
  cmpl   $0x3,-0xc(%rbp)
  jle    L326
  addl   $0x1,-0x8(%rbp)
L194:
  cmpl   $0x4,-0x8(%rbp)
  jle    L1
  movl   $0x0,-0x8(%rbp)
  jmp    L212
L144:
  addl   $0x4b,-0x4(%rbp)
  movl   $0x0,-0xc(%rbp)
  jmp    L102
L286:
  mov    $0x0,%edi
  call   <fill@plt>
  mov    $0x7,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%r8d
  mov    $0x7,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%edi
  mov    $0x7,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%ecx
  mov    -0xc(%rbp),%edx
  mov    -0xc(%rbp),%esi
  mov    -0xc(%rbp),%eax
  mov    %r8d,%r9d
  mov    %edi,%r8d
  mov    %eax,%edi
  call   <box_walls@plt>
  mov    -0x4(%rbp),%eax
  mov    %eax,%edi
  call   <delay_ms@plt>
  addl   $0x1,-0xc(%rbp)
L102:
  cmpl   $0x3,-0xc(%rbp)
  jle    L286
  movl   $0x0,-0xc(%rbp)
  jmp    L32
L312:
  mov    $0x0,%edi
  call   <fill@plt>
  mov    -0xc(%rbp),%eax
  lea    0x4(%rax),%r8d
  mov    -0xc(%rbp),%eax
  lea    0x4(%rax),%edi
  mov    -0xc(%rbp),%eax
  lea    0x4(%rax),%ecx
  mov    $0x3,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%edx
  mov    $0x3,%eax
  sub    -0xc(%rbp),%eax
  mov    %eax,%esi
  mov    $0x3,%eax
  sub    -0xc(%rbp),%eax
  mov    %r8d,%r9d
  mov    %edi,%r8d
  mov    %eax,%edi
  call   <box_walls@plt>
  mov    -0x4(%rbp),%eax
  mov    %eax,%edi
  call   <delay_ms@plt>
  addl   $0x1,-0xc(%rbp)
L32:
  cmpl   $0x3,-0xc(%rbp)
  jle    L312
  addl   $0x1,-0x8(%rbp)
L212:
  cmpl   $0x4,-0x8(%rbp)
  jle    L144
  mov    $0x1f4,%edi
  call   <delay_ms@plt>
  nop
  leave
  ret
```

assistant: ```c
void effect_intro() {
  int cnt, cnt_2, time;
  for (cnt = 0; cnt <= 7; cnt++) {
    box_wireframe(0, 0, 0, 7, 7, cnt);
    delay_ms(300);
  }
  for (cnt = 0; cnt < 7; cnt++) {
    clrplane_z(cnt);
    delay_ms(300);
  }
  shift(2, -1);
  for (cnt = 0; cnt <= 7; cnt++) {
    setvoxel(cnt, 0, 6);
  }
  delay_ms(300);
  shift(2, -1);
  for (cnt = 0; cnt <= 7; cnt++) {
    setvoxel(cnt, 0, 5);
  }
  setvoxel(0, 0, 6);
  setvoxel(7, 0, 6);
  delay_ms(300);
  shift(2, -1);
  for (cnt = 0; cnt <= 7; cnt++) {
    setvoxel(cnt, 0, 4);
  }
  setvoxel(0, 0, 5);
  setvoxel(7, 0, 5);
  setvoxel(0, 0, 6);
  setvoxel(7, 0, 6);
  delay_ms(300);
  shift(2, -1);
  for (cnt = 0; cnt <= 7; cnt++) {
    setvoxel(cnt, 0, 3);
  }
  setvoxel(0, 0, 4);
  setvoxel(7, 0, 4);
  setvoxel(0, 0, 5);
  setvoxel(7, 0, 5);
  setvoxel(0, 0, 6);
  setvoxel(7, 0, 6);
  delay_ms(300);
  shift(2, -1);
  for (cnt = 0; cnt <= 7; cnt++) {
    setvoxel(cnt, 0, 2);
  }
  setvoxel(0, 0, 3);
  setvoxel(7, 0, 3);
  setvoxel(0, 0, 4);
  setvoxel(7, 0, 4);
  setvoxel(0, 0, 5);
  setvoxel(7, 0, 5);
  setvoxel(0, 0, 6);
  setvoxel(7, 0, 6);
  delay_ms(300);
  shift(2, -1);
  for (cnt = 0; cnt <= 7; cnt++) {
    setvoxel(cnt, 0, 1);
  }
  setvoxel(0, 0, 2);
  setvoxel(7, 0, 2);
  setvoxel(0, 0, 3);
  setvoxel(7, 0, 3);
  setvoxel(0, 0, 4);
  setvoxel(7, 0, 4);
  setvoxel(0, 0, 5);
  setvoxel(7, 0, 5);
  delay_ms(300);
  shift(2, -1);
  for (cnt = 0; cnt <= 7; cnt++) {
    setvoxel(cnt, 0, 0);
  }
  setvoxel(0, 0, 1);
  setvoxel(7, 0, 1);
  setvoxel(0, 0, 2);
  setvoxel(7, 0, 2);
  setvoxel(0, 0, 3);
  setvoxel(7, 0, 3);
  setvoxel(0, 0, 4);
  setvoxel(7, 0, 4);
  setvoxel(0, 0, 5);
  setvoxel(7, 0, 5);
  delay_ms(300);
  for (cnt = 0; cnt <= 7; cnt++) {
    box_wireframe(0, 0, 0, 7, cnt, 7);
    delay_ms(300);
  }
  for (cnt = 0; cnt < 7; cnt++) {
    clrplane_y(cnt);
    delay_ms(300);
  }
  for (cnt_2 = 6; cnt_2 >= 0; cnt_2--) {
    shift(3, -1);
    for (cnt = 0; cnt <= 7; cnt++) {
      setvoxel(cnt, cnt_2, 0);
    }
    for (cnt = 6; cnt > cnt_2; cnt--) {
      setvoxel(0, cnt, 0);
      setvoxel(7, cnt, 0);
    }
    delay_ms(300);
  }
  for (cnt = 0; cnt <= 6; cnt++) {
    fill(0x00);
    box_walls(0, 0, 0, 7, 7, cnt);
    delay_ms(300);
  }
  time = 500;
  for (cnt_2 = 0; cnt_2 < 5; cnt_2++) {
    time -= 75;
    for (cnt = 0; cnt <= 3; cnt++) {
      fill(0x00);
      box_walls(cnt, cnt, cnt, 7 - cnt, 7 - cnt, 7 - cnt);
      delay_ms(time);
    }
    for (cnt = 0; cnt <= 3; cnt++) {
      fill(0x00);
      box_walls(3 - cnt, 3 - cnt, 3 - cnt, 4 + cnt, 4 + cnt, 4 + cnt);
      delay_ms(time);
    }
  }
  for (cnt_2 = 0; cnt_2 < 5; cnt_2++) {
    time += 75;
    for (cnt = 0; cnt <= 3; cnt++) {
      fill(0x00);
      box_walls(cnt, cnt, cnt, 7 - cnt, 7 - cnt, 7 - cnt);
      delay_ms(time);
    }
    for (cnt = 0; cnt <= 3; cnt++) {
      fill(0x00);
      box_walls(3 - cnt, 3 - cnt, 3 - cnt, 4 + cnt, 4 + cnt, 4 + cnt);
      delay_ms(time);
    }
  }
  delay_ms(500);
}
```