user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<sleepTime>:
  endbr64
  push   %rbp
  pxor   %xmm1,%xmm1
  mov    %rdi,%rbp
  push   %rbx
  cvtss2sd %xmm0,%xmm1
  sub    $0x8,%rsp
  movss  D102(%rip),%xmm2
  comiss %xmm0,%xmm2
  jbe    L5
  movsd  D81(%rip),%xmm2
  comisd %xmm2,%xmm1
  sbb    %rbx,%rbx
  and    $0xffffffffffffffc4,%rbx
  add    $0x78,%rbx
L41:
  comisd %xmm1,%xmm2
  movsd  D68(%rip),%xmm2
  jbe    L9
  ucomisd %xmm2,%xmm1
  mov    $0xb4,%eax
  cmovae %rax,%rbx
L9:
  comisd %xmm1,%xmm2
  movsd  D54(%rip),%xmm2
  jbe    L77
  ucomisd %xmm2,%xmm1
  mov    $0xf0,%eax
  cmovae %rax,%rbx
L77:
  comisd %xmm1,%xmm2
  movsd  D95(%rip),%xmm2
  jbe    L68
  ucomisd %xmm2,%xmm1
  mov    $0x12c,%eax
  cmovae %rax,%rbx
L68:
  comisd %xmm1,%xmm2
  jbe    L36
  ucomiss D79(%rip),%xmm0
  mov    $0x168,%eax
  cmovae %rax,%rbx
L36:
  movss  D79(%rip),%xmm2
  comiss %xmm0,%xmm2
  movsd  D92(%rip),%xmm0
  jbe    L80
  ucomisd %xmm0,%xmm1
  mov    $0x1a4,%eax
  cmovae %rax,%rbx
L80:
  comisd %xmm1,%xmm0
  movsd  D2(%rip),%xmm0
  jbe    L84
  ucomisd %xmm0,%xmm1
  mov    $0x1e0,%eax
  cmovae %rax,%rbx
L84:
  comisd %xmm1,%xmm0
  movsd  D49(%rip),%xmm0
  jbe    L37
  ucomisd %xmm0,%xmm1
  mov    $0x258,%eax
  cmovae %rax,%rbx
L37:
  ucomisd %xmm1,%xmm0
  mov    $0x384,%eax
  cmova  %rax,%rbx
  xor    %eax,%eax
  call   <millis@plt>
  movabs $0x20c49ba5e353f7cf,%rcx
  sub    %rbp,%rax
  mov    %rax,%rdx
  shr    $0x3,%rdx
  mov    %rdx,%rax
  mul    %rcx
  mov    $0x384,%eax
  shr    $0x4,%rdx
  sub    %rdx,%rbx
  cmp    %rax,%rbx
  cmova  %rax,%rbx
  mov    $0xa,%eax
  cmp    %rax,%rbx
  cmovae %rbx,%rax
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  ret
L5:
  movsd  D81(%rip),%xmm2
  mov    $0x3c,%ebx
  jmp    L41
```

tool_calls: name: unpack_data
arguments: label: D102
type_guessed: f32
name: unpack_data
arguments: label: D81
type_guessed: f64
name: unpack_data
arguments: label: D68
type_guessed: f64
name: unpack_data
arguments: label: D54
type_guessed: f64
name: unpack_data
arguments: label: D95
type_guessed: f64
name: unpack_data
arguments: label: D79
type_guessed: f32
name: unpack_data
arguments: label: D92
type_guessed: f64
name: unpack_data
arguments: label: D2
type_guessed: f64
name: unpack_data
arguments: label: D49
type_guessed: f64

tool: D102: 4

tool: D81: 3.9

tool: D68: 3.8

tool: D54: 3.7

tool: D95: 3.6

tool: D79: 3.5

tool: D92: 3.4

tool: D2: 3.3

tool: D49: 3.2

assistant: ```c
int sleepTime(float ASpannung, unsigned long beginn) {
  unsigned long sleep;
  if (ASpannung >= 4) {
    sleep = 60;
  }
  if ((ASpannung < 4.0) && (ASpannung >= 3.9)) {
    sleep = 120;
  }
  if ((ASpannung < 3.9) && (ASpannung >= 3.8)) {
    sleep = 180;
  }
  if ((ASpannung < 3.8) && (ASpannung >= 3.7)) {
    sleep = 240;
  }
  if ((ASpannung < 3.7) && (ASpannung >= 3.6)) {
    sleep = 300;
  }
  if ((ASpannung < 3.6) && (ASpannung >= 3.5)) {
    sleep = 360;
  }
  if ((ASpannung < 3.5) && (ASpannung >= 3.4)) {
    sleep = 420;
  }
  if ((ASpannung < 3.4) && (ASpannung >= 3.3)) {
    sleep = 480;
  }
  if ((ASpannung < 3.3) && (ASpannung >= 3.2)) {
    sleep = 600;
  }
  if (ASpannung < 3.2) {
    sleep = 900;
  }
  sleep = (sleep - ((millis() - beginn) / 1000));
  if (sleep <= 10) {
    sleep = 10;
  }
  if (sleep > 900) {
    sleep = 900;
  }
  return (int)sleep;
}
```