user: What is the c source code of the assembly code below:

```asm
<printFlags>:
  endbr64
  sub    $0x8,%rsp
  lea    D62(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <isGreaterThan@plt>
  test   %rax,%rax
  jne    L70
  xor    %eax,%eax
  call   <isLessThan@plt>
  test   %rax,%rax
  jne    L53
L5:
  xor    %eax,%eax
  call   <isZero@plt>
  test   %rax,%rax
  jne    L134
L0:
  xor    %eax,%eax
  call   <isNonZero@plt>
  test   %rax,%rax
  jne    L71
L92:
  xor    %eax,%eax
  call   <isOverflow@plt>
  test   %rax,%rax
  jne    L1
L50:
  xor    %eax,%eax
  call   <isUnderflow@plt>
  test   %rax,%rax
  jne    L72
L128:
  xor    %eax,%eax
  call   <isSigning@plt>
  test   %rax,%rax
  jne    L145
L96:
  xor    %eax,%eax
  call   <isHalt@plt>
  test   %rax,%rax
  jne    L64
L113:
  lea    D107(%rip),%rdi
  add    $0x8,%rsp
  jmp    10e0 <printf@plt>
  nopl   0x0(%rax)
L70:
  lea    D71(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <isLessThan@plt>
  test   %rax,%rax
  je     L5
L53:
  lea    D83(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <isZero@plt>
  test   %rax,%rax
  je     L0
L134:
  lea    D5(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <isNonZero@plt>
  test   %rax,%rax
  je     L92
L71:
  lea    D31(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <isOverflow@plt>
  test   %rax,%rax
  je     L50
L1:
  lea    D12(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <isUnderflow@plt>
  test   %rax,%rax
  je     L128
L72:
  lea    D64(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <isSigning@plt>
  test   %rax,%rax
  je     L96
L145:
  lea    D15(%rip),%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <isHalt@plt>
  test   %rax,%rax
  je     L113
L64:
  lea    D20(%rip),%rdi
  call   <printf@plt>
  lea    D107(%rip),%rdi
  add    $0x8,%rsp
  jmp    10e0 <printf@plt>
```

tool_calls: name: parse_data
arguments: data_label: D62
type_infered: string
name: parse_data
arguments: data_label: D107
type_infered: string
name: parse_data
arguments: data_label: D71
type_infered: string
name: parse_data
arguments: data_label: D83
type_infered: string
name: parse_data
arguments: data_label: D5
type_infered: string
name: parse_data
arguments: data_label: D31
type_infered: string
name: parse_data
arguments: data_label: D12
type_infered: string
name: parse_data
arguments: data_label: D64
type_infered: string
name: parse_data
arguments: data_label: D15
type_infered: string
name: parse_data
arguments: data_label: D20
type_infered: string

tool: D62: Flags           : 

tool: D107: 


tool: D71: GreaterThan 

tool: D83: LessThan 

tool: D5: Zero 

tool: D31: NonZero 

tool: D12: Overflow 

tool: D64: Underflow 

tool: D15: Signing 

tool: D20: Halt

assistant: ```c
void printFlags() {
  printf("Flags           : ");
  if (isGreaterThan()) {
    printf("GreaterThan ");
  }
  if (isLessThan()) {
    printf("LessThan ");
  }
  if (isZero()) {
    printf("Zero ");
  }
  if (isNonZero()) {
    printf("NonZero ");
  }
  if (isOverflow()) {
    printf("Overflow ");
  }
  if (isUnderflow()) {
    printf("Underflow ");
  }
  if (isSigning()) {
    printf("Signing ");
  }
  if (isHalt()) {
    printf("Halt");
  }
  printf("\n");
}
```