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

```asm
<isMatched>:
  endbr64
  push   %rbp
  mov    %rdx,%r11
  mov    %rsi,%r10
  mov    %edi,%eax
  mov    %rsp,%rbp
  push   %r14
  push   %rbx
  mov    %ecx,%ebx
  sub    $0x10,%rsp
  mov    %fs:0x28,%rdx
  mov    %rdx,-0x18(%rbp)
  xor    %edx,%edx
  movslq %edi,%rdx
  mov    %rsp,%rsi
  add    $0xf,%rdx
  mov    %rdx,%rcx
  and    $0xfffffffffffff000,%rdx
  sub    %rdx,%rsi
  and    $0xfffffffffffffff0,%rcx
  cmp    %rsi,%rsp
  je     L36
L436:
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  cmp    %rsi,%rsp
  jne    L436
L36:
  and    $0xfff,%ecx
  sub    %rcx,%rsp
  test   %rcx,%rcx
  jne    L338
L394:
  mov    %rsp,%rdi
  test   %eax,%eax
  jle    L280
  lea    -0x1(%rax),%edx
  cmp    $0xe,%edx
  jbe    L96
  mov    %eax,%ecx
  movdqa D25(%rip),%xmm7
  xor    %edx,%edx
  pxor   %xmm5,%xmm5
  shr    $0x4,%ecx
  pxor   %xmm9,%xmm9
  pxor   %xmm4,%xmm4
  movdqa D26(%rip),%xmm8
  movdqa D29(%rip),%xmm6
  shl    $0x4,%rcx
  nopw   0x0(%rax,%rax,1)
L529:
  movdqu (%r11,%rdx,1),%xmm2
  movdqu (%r10,%rdx,1),%xmm0
  movdqa %xmm5,%xmm1
  movdqa %xmm4,%xmm10
  pcmpeqb %xmm2,%xmm0
  movdqa %xmm0,%xmm2
  pand   %xmm8,%xmm2
  pcmpgtb %xmm2,%xmm1
  movdqa %xmm2,%xmm3
  punpcklbw %xmm1,%xmm3
  punpckhbw %xmm1,%xmm2
  pcmpgtw %xmm3,%xmm10
  movdqa %xmm3,%xmm1
  punpcklwd %xmm10,%xmm1
  punpckhwd %xmm10,%xmm3
  paddd  %xmm9,%xmm1
  movdqa %xmm2,%xmm9
  paddd  %xmm3,%xmm1
  movdqa %xmm4,%xmm3
  pcmpgtw %xmm2,%xmm3
  punpcklwd %xmm3,%xmm9
  punpckhwd %xmm3,%xmm2
  paddd  %xmm9,%xmm1
  paddd  %xmm2,%xmm1
  movdqa %xmm1,%xmm9
  movdqa %xmm7,%xmm1
  pand   %xmm0,%xmm1
  pandn  %xmm6,%xmm0
  por    %xmm1,%xmm0
  movups %xmm0,(%rdi,%rdx,1)
  add    $0x10,%rdx
  cmp    %rcx,%rdx
  jne    L529
  movdqa %xmm9,%xmm0
  mov    %eax,%ecx
  psrldq $0x8,%xmm0
  and    $0xfffffff0,%ecx
  paddd  %xmm0,%xmm9
  movdqa %xmm9,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm9
  movd   %xmm9,%edx
  test   $0xf,%al
  je     L416
L387:
  movslq %ecx,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  jne    L135
  add    $0x1,%edx
  mov    $0x62,%r9d
L135:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0x1(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r10,%rsi,1),%r14d
  cmp    %r14b,(%r11,%rsi,1)
  jne    L177
  add    $0x1,%edx
  mov    $0x62,%r9d
L177:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0x2(%rcx),%esi
  cmp    %eax,%esi
  jge    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  jne    L330
  add    $0x1,%edx
  mov    $0x62,%r9d
L330:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0x3(%rcx),%esi
  cmp    %eax,%esi
  jge    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  jne    L145
  add    $0x1,%edx
  mov    $0x62,%r9d
L145:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0x4(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  jne    L235
  add    $0x1,%edx
  mov    $0x62,%r9d
L235:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0x5(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  jne    L480
  add    $0x1,%edx
  mov    $0x62,%r9d
L480:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0x6(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  jne    L503
  add    $0x1,%edx
  mov    $0x62,%r9d
L503:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0x7(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  jne    L497
  add    $0x1,%edx
  mov    $0x62,%r9d
L497:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0x8(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  jne    L95
  add    $0x1,%edx
  mov    $0x62,%r9d
L95:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0x9(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  je     L116
L483:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0xa(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  je     L277
L97:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0xb(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  je     L104
L324:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0xc(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  je     L238
L257:
  mov    %r9b,(%rdi,%rsi,1)
  lea    0xd(%rcx),%esi
  cmp    %esi,%eax
  jle    L416
  movslq %esi,%rsi
  mov    $0x2e,%r9d
  movzbl (%r11,%rsi,1),%r14d
  cmp    %r14b,(%r10,%rsi,1)
  jne    L152
  add    $0x1,%edx
  mov    $0x62,%r9d
L152:
  add    $0xe,%ecx
  mov    %r9b,(%rdi,%rsi,1)
  cmp    %ecx,%eax
  jle    L416
  movslq %ecx,%rcx
  movzbl (%r11,%rcx,1),%esi
  cmp    %sil,(%r10,%rcx,1)
  je     L363
  mov    $0x2e,%esi
L50:
  mov    %sil,(%rdi,%rcx,1)
  cs nopw 0x0(%rax,%rax,1)
L416:
  cmp    %edx,%r8d
  jne    L199
  mov    %eax,%esi
  xor    %r9d,%r9d
  xor    %r8d,%r8d
  nopl   (%rax)
L512:
  cmpb   $0x62,(%rdi,%r9,1)
  je     L498
  movzbl (%r11,%r9,1),%ecx
  xor    %eax,%eax
  jmp    L524
L156:
  add    $0x1,%rax
  cmp    %rsi,%rax
  je     L498
L524:
  movslq %eax,%rdx
  cmp    %cl,(%r10,%rax,1)
  jne    L156
  cmpb   $0x2e,(%rdi,%rax,1)
  jne    L156
  movb   $0x77,(%rdi,%rdx,1)
  add    $0x1,%r8d
L498:
  add    $0x1,%r9
  cmp    %rsi,%r9
  jne    L512
L462:
  xor    %eax,%eax
  cmp    %r8d,%ebx
  sete   %al
L445:
  mov    -0x18(%rbp),%rdx
  sub    %fs:0x28,%rdx
  jne    L232
  lea    -0x10(%rbp),%rsp
  pop    %rbx
  pop    %r14
  pop    %rbp
  ret
L280:
  test   %r8d,%r8d
  je     L462
  xchg   %ax,%ax
L199:
  xor    %eax,%eax
  jmp    L445
L338:
  orq    $0x0,-0x8(%rsp,%rcx,1)
  jmp    L394
L116:
  add    $0x1,%edx
  mov    $0x62,%r9d
  jmp    L483
L277:
  add    $0x1,%edx
  mov    $0x62,%r9d
  jmp    L97
L104:
  add    $0x1,%edx
  mov    $0x62,%r9d
  jmp    L324
L238:
  add    $0x1,%edx
  mov    $0x62,%r9d
  jmp    L257
L96:
  xor    %ecx,%ecx
  xor    %edx,%edx
  jmp    L387
L363:
  add    $0x1,%edx
  mov    $0x62,%esi
  jmp    L50
L232:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: label: D25
datatype: byte[16]
name: disassemble_data
arguments: label: D26
datatype: byte[16]
name: disassemble_data
arguments: label: D29
datatype: byte[16]

tool: {"D25": [0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62]}

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

tool: {"D29": [0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e]}

assistant: ```c
int isMatched(int n, char *key, char *guess, int wpeg, int bpeg) {
  int bctr = 0, wctr = 0;
  int i;
  char result[n];
  int m;
  bool check = true;
  for (i = 0; i < n; i++) {
    if (key[i] == guess[i]) {
      bctr++;
      result[i] = 'b';
    } else {
      result[i] = '.';
    }
  }
  if (bctr != bpeg)
    return 0;
  for (i = 0; i < n; i++) {
    if (result[i] != 'b') {
      check = false;
    } else {
      check = true;
    }
    for (m = 0; m < n && check == false; m++) {
      if (key[m] == guess[i] && result[m] == '.') {
        wctr++;
        result[m] = 'w';
        check = true;
      }
    }
  }
  if (bctr == bpeg && wctr == wpeg)
    return 1;
  else
    return 0;
}
```