user: 下面的汇编指令对应的C源代码是什么：

```asm
<om_html_print_numkeybar_entry>:
  endbr64
  push   %r14
  movss  D43(%rip),%xmm1
  push   %r13
  mov    %r8d,%r13d
  push   %r12
  mov    %rdi,%r12
  push   %rbp
  mov    %rsi,%rbp
  mov    %r9d,%esi
  push   %rbx
  test   %ecx,%ecx
  je     L15
  pxor   %xmm1,%xmm1
  cvtsi2ss %ecx,%xmm1
L15:
  movss  D43(%rip),%xmm2
  test   %edx,%edx
  je     L18
  pxor   %xmm2,%xmm2
  cvtsi2ss %edx,%xmm2
L18:
  imul   $0x64,%r13d,%eax
  pxor   %xmm0,%xmm0
  mov    %rbp,%rdi
  cvtsi2ss %eax,%xmm0
  movaps %xmm0,%xmm3
  divss  %xmm2,%xmm3
  divss  %xmm1,%xmm0
  cvttss2si %xmm3,%r14d
  movd   %xmm0,%ebx
  call   <vi_is_weekend@plt>
  mov    %r12,%rcx
  test   %eax,%eax
  je     L0
  mov    $0x28,%edx
  mov    $0x1,%esi
  lea    D81(%rip),%rdi
  call   <fwrite@plt>
L37:
  mov    %rbp,%rsi
  mov    %r12,%rdi
  call   <om_html_entities@plt>
  mov    %r12,%rcx
  mov    $0x3b,%edx
  mov    $0x1,%esi
  lea    D24(%rip),%rdi
  call   <fwrite@plt>
  movd   %ebx,%xmm4
  mov    %r13d,%edx
  mov    %r12,%rdi
  lea    D78(%rip),%rsi
  pxor   %xmm0,%xmm0
  mov    $0x1,%eax
  cvtss2sd %xmm4,%xmm0
  call   <fprintf@plt>
  mov    %r12,%rcx
  mov    $0x22,%edx
  mov    $0x1,%esi
  lea    D60(%rip),%rdi
  call   <fwrite@plt>
  mov    %r14d,%esi
  mov    %r12,%rdi
  lea    D45(%rip),%rcx
  lea    D44(%rip),%rdx
  call   <om_html_print_bar@plt>
  pop    %rbx
  mov    %r12,%rcx
  pop    %rbp
  mov    $0xb,%edx
  pop    %r12
  mov    $0x1,%esi
  pop    %r13
  lea    D69(%rip),%rdi
  pop    %r14
  jmp    10d0 <fwrite@plt>
  nopl   0x0(%rax,%rax,1)
L0:
  mov    $0x26,%edx
  mov    $0x1,%esi
  lea    D36(%rip),%rdi
  call   <fwrite@plt>
  jmp    L37
```

tool_calls: name: parse_data
arguments: data_label: D43
type: byte[4]
name: parse_data
arguments: data_label: D81
type: string
name: parse_data
arguments: data_label: D24
type: string
name: parse_data
arguments: data_label: D78
type: string
name: parse_data
arguments: data_label: D60
type: string
name: parse_data
arguments: data_label: D45
type: string
name: parse_data
arguments: data_label: D44
type: string
name: parse_data
arguments: data_label: D69
type: string
name: parse_data
arguments: data_label: D36
type: string

tool: {"D43": [0x00,0x00,0x80,0x3f]}

tool: D81: <tr><td align="left" class="keyentrywe">

tool: D24: &nbsp;&nbsp;&nbsp;</td><td align="left" class="valueentry">

tool: D78: %d (%02.1f%%)

tool: D60: </td><td align="left" class="bar">

tool: D45: barempty

tool: D44: barfill

tool: D69: </td></tr>


tool: D36: <tr><td align="left" class="keyentry">

assistant: ```c
void om_html_print_numkeybar_entry(FILE *fp, char *key, int max, int tot, int this, int time_delta) {
  int l, weekend;
  float p;
  if (tot == 0)
    tot++;
  if (max == 0)
    max++;
  l = ((float)(100 * this)) / max;
  p = ((float)(100 * this)) / tot;
  weekend = vi_is_weekend(key, time_delta);
  if (weekend)
    fprintf(fp, "<tr><td align=\"left\" class=\"keyentrywe\">");
  else
    fprintf(fp, "<tr><td align=\"left\" class=\"keyentry\">");
  om_html_entities(fp, key);
  fprintf(fp, "&nbsp;&nbsp;&nbsp;</td><td align=\"left\" class=\"valueentry\">");
  fprintf(fp, "%d (%02.1f%%)", this, p);
  fprintf(fp, "</td><td align=\"left\" class=\"bar\">");
  om_html_print_bar(fp, l, "barfill", "barempty");
  fprintf(fp, "</td></tr>\n");
}
```