user: 请将以下的汇编代码转换成C语言代码:

```asm
<median7>:
  endbr64
  movaps %xmm2,%xmm8
  movaps %xmm0,%xmm7
  movaps %xmm1,%xmm9
  sub    $0x38,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x28(%rsp)
  xor    %eax,%eax
  unpcklps %xmm3,%xmm8
  unpcklps %xmm1,%xmm7
  unpcklps %xmm0,%xmm9
  movlhps %xmm8,%xmm7
  comiss %xmm1,%xmm0
  movaps %xmm7,(%rsp)
  movaps %xmm4,%xmm7
  unpcklps %xmm5,%xmm7
  movlps %xmm7,0x10(%rsp)
  jbe    L163
  movlps %xmm9,(%rsp)
  movaps %xmm0,%xmm1
L163:
  comiss %xmm2,%xmm1
  movaps %xmm2,%xmm0
  unpcklps %xmm1,%xmm0
  jbe    L60
  movlps %xmm0,0x4(%rsp)
  movaps %xmm1,%xmm2
L60:
  comiss %xmm3,%xmm2
  movaps %xmm3,%xmm0
  unpcklps %xmm2,%xmm0
  jbe    L101
  movlps %xmm0,0x8(%rsp)
  movaps %xmm2,%xmm3
L101:
  comiss %xmm4,%xmm3
  movaps %xmm4,%xmm0
  unpcklps %xmm3,%xmm0
  jbe    L1
  movlps %xmm0,0xc(%rsp)
  movaps %xmm3,%xmm4
L1:
  comiss %xmm5,%xmm4
  movaps %xmm5,%xmm0
  unpcklps %xmm4,%xmm0
  jbe    L19
  movlps %xmm0,0x10(%rsp)
  movaps %xmm4,%xmm5
L19:
  comiss %xmm6,%xmm5
  movaps %xmm6,%xmm0
  unpcklps %xmm5,%xmm0
  ja     L100
L179:
  movq   (%rsp),%xmm0
  movaps %xmm0,%xmm1
  movaps %xmm0,%xmm2
  shufps $0xe5,%xmm0,%xmm0
  comiss %xmm0,%xmm1
  shufps $0xe1,%xmm2,%xmm2
  jbe    L72
  movlps %xmm2,(%rsp)
  movaps %xmm1,%xmm0
L72:
  movss  0x8(%rsp),%xmm1
  comiss %xmm1,%xmm0
  movaps %xmm1,%xmm2
  unpcklps %xmm0,%xmm2
  jbe    L42
  movlps %xmm2,0x4(%rsp)
  movaps %xmm0,%xmm1
L42:
  movss  0xc(%rsp),%xmm0
  comiss %xmm0,%xmm1
  movaps %xmm0,%xmm2
  unpcklps %xmm1,%xmm2
  jbe    L168
  movlps %xmm2,0x8(%rsp)
  movaps %xmm1,%xmm0
L168:
  movss  0x10(%rsp),%xmm1
  comiss %xmm1,%xmm0
  movaps %xmm1,%xmm2
  unpcklps %xmm0,%xmm2
  jbe    L96
  movlps %xmm2,0xc(%rsp)
  movaps %xmm0,%xmm1
L96:
  movss  0x14(%rsp),%xmm0
  comiss %xmm0,%xmm1
  movaps %xmm0,%xmm2
  unpcklps %xmm1,%xmm2
  ja     L161
L31:
  movq   (%rsp),%xmm0
  movaps %xmm0,%xmm1
  movaps %xmm0,%xmm2
  shufps $0xe5,%xmm0,%xmm0
  comiss %xmm0,%xmm1
  shufps $0xe1,%xmm2,%xmm2
  jbe    L87
  movlps %xmm2,(%rsp)
  movaps %xmm1,%xmm0
L87:
  movss  0x8(%rsp),%xmm1
  comiss %xmm1,%xmm0
  movaps %xmm1,%xmm2
  unpcklps %xmm0,%xmm2
  jbe    L35
  movlps %xmm2,0x4(%rsp)
  movaps %xmm0,%xmm1
L35:
  movss  0xc(%rsp),%xmm0
  comiss %xmm0,%xmm1
  movaps %xmm0,%xmm2
  unpcklps %xmm1,%xmm2
  jbe    L28
  movlps %xmm2,0x8(%rsp)
  movaps %xmm1,%xmm0
L28:
  movss  0x10(%rsp),%xmm1
  comiss %xmm1,%xmm0
  movaps %xmm1,%xmm2
  unpcklps %xmm0,%xmm2
  ja     L21
L85:
  movss  0x4(%rsp),%xmm1
  movss  (%rsp),%xmm0
  maxss  %xmm1,%xmm0
  maxss  0x8(%rsp),%xmm0
  movss  0xc(%rsp),%xmm1
  movaps %xmm1,%xmm2
  comiss %xmm1,%xmm0
  unpcklps %xmm0,%xmm2
  jbe    L190
  movlps %xmm2,0x8(%rsp)
  movss  0xc(%rsp),%xmm1
L190:
  mov    0x28(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L167
  movaps %xmm1,%xmm0
  add    $0x38,%rsp
  ret
L21:
  movlps %xmm2,0xc(%rsp)
  jmp    L85
L161:
  movlps %xmm2,0x10(%rsp)
  jmp    L31
L100:
  movlps %xmm0,0x14(%rsp)
  jmp    L179
L167:
  call   <__stack_chk_fail@plt>
```

assistant: ```c
float median7(float yy, float kaa, float koo, float nee, float vii, float kuu, float see) {
  float array[7];
  float tmp;
  int i, j;
  array[0] = yy;
  array[1] = kaa;
  array[2] = koo;
  array[3] = nee;
  array[4] = vii;
  array[5] = kuu;
  array[6] = see;
  for (j = 0; j < 7 - 1; j++)
    for (i = 0; i < 7 - 1 - j; i++) {
      if (array[i] > array[i + 1]) {
        tmp = array[i];
        array[i] = array[i + 1];
        array[i + 1] = tmp;
      }
    }
  return (array[3]);
}
```