user: What would the C source look like for the assembly code provided here:

```asm
<element_notepad_output>:
  endbr64
  mov    $0x1e,%eax
  push   %r15
  cmp    %eax,%esi
  push   %r14
  mov    %esi,%r14d
  cmovle %esi,%eax
  push   %r13
  mov    %rcx,%r13
  mov    %r8d,%ecx
  test   %r13,%r13
  push   %r12
  mov    %rdi,%r12
  mov    %eax,%r8d
  lea    D16(%rip),%rax
  push   %rbx
  mov    0x30(%rsp),%ebx
  mov    0x38(%rsp),%r15d
  cmove  %rax,%r13
  cmp    $0x1,%r9d
  je     L4
  cmp    $0x2710,%esi
  mov    $0xc,%eax
  cmovge %eax,%r9d
  mov    $0x46,%eax
  lea    D4(%rip),%rsi
  cmovge %eax,%r8d
  xor    %eax,%eax
  call   <fprintf@plt>
  cmp    $0x79,%bl
  je     L77
L22:
  mov    %r14d,%edx
  lea    D8(%rip),%rsi
  mov    %r12,%rdi
  xor    %eax,%eax
  call   <fprintf@plt>
  mov    %r12,%rcx
  mov    $0x2c,%edx
  mov    $0x1,%esi
  lea    D52(%rip),%rdi
  call   <fwrite@plt>
  test   %r15d,%r15d
  jne    L88
L57:
  mov    %r13,%rcx
  lea    D33(%rip),%rdx
  mov    %r12,%rdi
  xor    %eax,%eax
  lea    D88(%rip),%rsi
  call   <fprintf@plt>
L7:
  pop    %rbx
  mov    %r12,%rcx
  mov    $0x6,%edx
  pop    %r12
  mov    $0x1,%esi
  pop    %r13
  lea    D5(%rip),%rdi
  pop    %r14
  pop    %r15
  jmp    1070 <fwrite@plt>
  nopl   (%rax)
L88:
  mov    %r15d,%edx
  lea    D102(%rip),%rsi
  mov    %r12,%rdi
  xor    %eax,%eax
  call   <fprintf@plt>
  jmp    L57
  xchg   %ax,%ax
L4:
  mov    %r13,%r9
  lea    D128(%rip),%rsi
  xor    %eax,%eax
  call   <fprintf@plt>
  mov    %r14d,%edx
  mov    %r12,%rdi
  xor    %eax,%eax
  lea    D119(%rip),%rsi
  call   <fprintf@plt>
  mov    %r12,%rcx
  mov    $0x2c,%edx
  mov    $0x1,%esi
  lea    D52(%rip),%rdi
  call   <fwrite@plt>
  cmp    $0x79,%bl
  je     L94
L85:
  test   %r15d,%r15d
  jne    L19
L9:
  mov    %r12,%rcx
  mov    $0x2,%edx
  mov    $0x1,%esi
  lea    D26(%rip),%rdi
  call   <fwrite@plt>
  jmp    L7
  cs nopw 0x0(%rax,%rax,1)
L19:
  mov    %r15d,%edx
  lea    D102(%rip),%rsi
  mov    %r12,%rdi
  xor    %eax,%eax
  call   <fprintf@plt>
  jmp    L9
  cs nopw 0x0(%rax,%rax,1)
L77:
  mov    %r12,%rcx
  mov    $0x1c,%edx
  mov    $0x1,%esi
  lea    D146(%rip),%rdi
  call   <fwrite@plt>
  jmp    L22
  xchg   %ax,%ax
L94:
  mov    %r12,%rcx
  mov    $0x1c,%edx
  mov    $0x1,%esi
  lea    D146(%rip),%rdi
  call   <fwrite@plt>
  jmp    L85
```

tool_calls: name: extract_symbolic_data
arguments: tag: D16
type_guessed: string
name: extract_symbolic_data
arguments: tag: D4
type_guessed: string
name: extract_symbolic_data
arguments: tag: D8
type_guessed: string
name: extract_symbolic_data
arguments: tag: D52
type_guessed: string
name: extract_symbolic_data
arguments: tag: D33
type_guessed: string
name: extract_symbolic_data
arguments: tag: D88
type_guessed: string
name: extract_symbolic_data
arguments: tag: D5
type_guessed: string
name: extract_symbolic_data
arguments: tag: D102
type_guessed: string
name: extract_symbolic_data
arguments: tag: D128
type_guessed: string
name: extract_symbolic_data
arguments: tag: D119
type_guessed: string
name: extract_symbolic_data
arguments: tag: D26
type_guessed: string
name: extract_symbolic_data
arguments: tag: D146
type_guessed: string

tool: 

tool: D4: <td><textarea name="%s_%d" cols=%d rows=%d

tool: D8:  onblur="timlib_check_notepad_size(this, %d);"

tool: D52:  onkeyup="timlib_prevent_carrot(event,this)"

tool: D33: soft

tool: D88:  wrap=%s>%s</textarea>


tool: D5: </td>


tool: D102:  tabindex=%d

tool: D128: <td><input name="%s_%d" type="text" size="%d" value="%s"

tool: D119:  maxlength="%d"

tool: D26: >


tool: D146:  onChange="null2slash(this)"

assistant: ```c
void element_notepad_output(FILE *output_file, int attribute_width, char *element_name, char *data, int row, int number_rows, char onchange_null2slash_yn, int tab_index) {
  int display_width;
  if (attribute_width > 30)
    display_width = 30;
  else
    display_width = attribute_width;
  if (!data)
    data = "";
  if (number_rows == 1) {
    fprintf(output_file, "<td><input name=\"%s_%d\" type=\"text\" size=\"%d\" value=\"%s\"", element_name, row, display_width, data);
    fprintf(output_file, " maxlength=\"%d\"", attribute_width);
    fprintf(output_file, " onkeyup=\"timlib_prevent_carrot(event,this)\"");
    if (onchange_null2slash_yn == 'y') {
      fprintf(output_file, " onChange=\"null2slash(this)\"");
    }
    if (tab_index) {
      fprintf(output_file, " tabindex=%d", tab_index);
    }
    fprintf(output_file, ">\n");
  } else {
    if (attribute_width >= 10000) {
      display_width = 70;
      number_rows = 12;
    }
    fprintf(output_file, "<td><textarea name=\"%s_%d\" cols=%d rows=%d", element_name, row, display_width, number_rows);
    if (onchange_null2slash_yn == 'y') {
      fprintf(output_file, " onChange=\"null2slash(this)\"");
    }
    fprintf(output_file, " onblur=\"timlib_check_notepad_size(this, %d);\"", attribute_width);
    fprintf(output_file, " onkeyup=\"timlib_prevent_carrot(event,this)\"");
    if (tab_index) {
      fprintf(output_file, " tabindex=%d", tab_index);
    }
    fprintf(output_file, " wrap=%s>%s</textarea>\n", "soft", data);
  }
  fprintf(output_file, "</td>\n");
}
```