user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<findMajority>:
  endbr64
  push   %r12
  movdqa D6(%rip),%xmm6
  mov    %rdi,%r10
  mov    %esi,%r9d
  push   %rbp
  xor    %r8d,%r8d
  mov    %rdx,%rbp
  pxor   %xmm5,%xmm5
  push   %rbx
  mov    %esi,%ebx
  pxor   %xmm3,%xmm3
  shr    %ebx
  nopl   0x0(%rax,%rax,1)
L112:
  lea    -0x1(%r9),%r11d
  cmp    %r8d,%esi
  jbe    L117
  lea    -0x1(%r9),%r11d
  movzbl (%r10),%ecx
  cmp    $0xe,%r11d
  jbe    L45
  mov    %r9d,%eax
  movd   %ecx,%xmm4
  pxor   %xmm2,%xmm2
  shr    $0x4,%eax
  punpcklbw %xmm4,%xmm4
  sub    $0x1,%eax
  punpcklwd %xmm4,%xmm4
  shl    $0x4,%rax
  pshufd $0x0,%xmm4,%xmm4
  lea    0x10(%r10,%rax,1),%rdx
  mov    %r10,%rax
  nopl   0x0(%rax)
L59:
  movdqu (%rax),%xmm0
  add    $0x10,%rax
  pcmpeqb %xmm4,%xmm0
  pand   %xmm6,%xmm0
  movdqa %xmm0,%xmm1
  punpckhbw %xmm5,%xmm0
  movdqa %xmm0,%xmm7
  punpcklbw %xmm5,%xmm1
  punpckhwd %xmm3,%xmm0
  punpcklwd %xmm3,%xmm7
  paddd  %xmm7,%xmm0
  movdqa %xmm1,%xmm7
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm7
  paddd  %xmm7,%xmm1
  paddd  %xmm1,%xmm0
  paddd  %xmm0,%xmm2
  cmp    %rax,%rdx
  jne    L59
  movdqa %xmm2,%xmm0
  mov    %r9d,%r12d
  psrldq $0x8,%xmm0
  and    $0xfffffff0,%r12d
  paddd  %xmm0,%xmm2
  lea    (%r8,%r12,1),%edx
  movdqa %xmm2,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm2
  movd   %xmm2,%eax
  cmp    %r12d,%r9d
  je     L196
L60:
  mov    %edx,%r9d
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0x1(%rdx),%r9d
  cmp    %esi,%r9d
  jae    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0x2(%rdx),%r9d
  cmp    %esi,%r9d
  jae    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0x3(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0x4(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0x5(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0x6(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0x7(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0x8(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0x9(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0xa(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0xb(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0xc(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  movzbl %r9b,%r9d
  add    %r9d,%eax
  lea    0xd(%rdx),%r9d
  cmp    %r9d,%esi
  jbe    L196
  cmp    (%rdi,%r9,1),%cl
  sete   %r9b
  add    $0xe,%edx
  movzbl %r9b,%r9d
  add    %r9d,%eax
  cmp    %edx,%esi
  jbe    L196
  cmp    (%rdi,%rdx,1),%cl
  sete   %dl
  movzbl %dl,%edx
  add    %edx,%eax
  nopl   0x0(%rax,%rax,1)
L196:
  cmp    %eax,%ebx
  jb     L127
L117:
  lea    0x1(%r8),%eax
  mov    %r11d,%r9d
  add    $0x1,%r10
  cmp    %r8d,%ebx
  je     L65
  mov    %eax,%r8d
  jmp    L112
L45:
  mov    %r8d,%edx
  xor    %eax,%eax
  jmp    L60
L65:
  pop    %rbx
  xor    %eax,%eax
  pop    %rbp
  pop    %r12
  ret
L127:
  pop    %rbx
  mov    %cl,0x0(%rbp)
  mov    $0x1,%eax
  pop    %rbp
  pop    %r12
  ret
```

tool_calls: name: read_data
arguments: data_tag: D6
datatype: byte[16]

tool: {"D6": [0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01]}

assistant: ```c
char findMajority(char m[], unsigned size, char *majority) {
  unsigned i, j, cnt, size2 = size / 2;
  for (i = 0; i <= size / 2; i++) {
    for (cnt = 0, j = i; j < size; j++)
      if (m[i] == m[j])
        cnt++;
    if (cnt > size2) {
      *majority = m[i];
      return 1;
    }
  }
  return 0;
}
```