user: 请将以下的汇编代码转换成C语言代码：

```asm
<main>:
  endbr64
  push   %r12
  push   %rbp
  push   %rbx
  lea    D85(%rip),%rbp
  mov    %rbp,%rsi
  lea    D142(%rip),%rbx
  mov    %rbx,%rdi
  call   <isMatch@plt>
  mov    %eax,%esi
  lea    D42(%rip),%rdi
  call   <printf@plt>
  mov    %rbx,%rsi
  mov    %rbx,%rdi
  call   <isMatch@plt>
  mov    %eax,%esi
  lea    D13(%rip),%rdi
  call   <printf@plt>
  mov    %rbx,%rsi
  lea    D70(%rip),%rdi
  call   <isMatch@plt>
  mov    %eax,%esi
  lea    D31(%rip),%rdi
  call   <printf@plt>
  lea    D107(%rip),%rsi
  mov    %rbx,%rdi
  call   <isMatch@plt>
  mov    %eax,%esi
  lea    D124(%rip),%rdi
  call   <printf@plt>
  lea    D135(%rip),%r12
  mov    %r12,%rsi
  mov    %rbx,%rdi
  call   <isMatch@plt>
  mov    %eax,%esi
  lea    D110(%rip),%rdi
  call   <printf@plt>
  mov    %r12,%rsi
  lea    D21(%rip),%rdi
  call   <isMatch@plt>
  mov    %eax,%esi
  lea    D93(%rip),%rdi
  call   <printf@plt>
  lea    D7(%rip),%rsi
  lea    D30(%rip),%rdi
  call   <isMatch@plt>
  mov    %eax,%esi
  lea    D95(%rip),%rdi
  call   <printf@plt>
  lea    D136(%rip),%rsi
  mov    %rbp,%rdi
  call   <isMatch@plt>
  mov    %eax,%esi
  lea    D74(%rip),%rdi
  call   <printf@plt>
  lea    D80(%rip),%rsi
  lea    D129(%rip),%rdi
  call   <isMatch@plt>
  mov    %eax,%esi
  lea    D183(%rip),%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D85
type: string
name: extract_symbolic_data
arguments: data_tag: D142
type: string
name: extract_symbolic_data
arguments: data_tag: D42
type: string
name: extract_symbolic_data
arguments: data_tag: D13
type: string
name: extract_symbolic_data
arguments: data_tag: D70
type: string
name: extract_symbolic_data
arguments: data_tag: D31
type: string
name: extract_symbolic_data
arguments: data_tag: D107
type: string
name: extract_symbolic_data
arguments: data_tag: D124
type: string
name: extract_symbolic_data
arguments: data_tag: D135
type: string
name: extract_symbolic_data
arguments: data_tag: D110
type: string
name: extract_symbolic_data
arguments: data_tag: D21
type: string
name: extract_symbolic_data
arguments: data_tag: D93
type: string
name: extract_symbolic_data
arguments: data_tag: D7
type: string
name: extract_symbolic_data
arguments: data_tag: D30
type: string
name: extract_symbolic_data
arguments: data_tag: D95
type: string
name: extract_symbolic_data
arguments: data_tag: D136
type: string
name: extract_symbolic_data
arguments: data_tag: D74
type: string
name: extract_symbolic_data
arguments: data_tag: D80
type: string
name: extract_symbolic_data
arguments: data_tag: D129
type: string
name: extract_symbolic_data
arguments: data_tag: D183
type: string

tool: D85: a

tool: D142: aa

tool: D42: isMatch("aa","a"):%d


tool: D13: isMatch("aa","aa"):%d


tool: D70: aaa

tool: D31: isMatch("aaa","aa"):%d


tool: D107: a*

tool: D124: isMatch("aa","a*"):%d


tool: D135: .*

tool: D110: isMatch("aa",".*"):%d


tool: D21: ab

tool: D93: isMatch("ab",".*"):%d


tool: D7: c*a*b

tool: D30: aab

tool: D95: isMatch("aab","c*a*b"):%d


tool: D136: .*..a*

tool: D74: isMatch("a",".*..a*"):%d


tool: D80: ..*

tool: 

tool: D183: isMatch("","..*"):%d


assistant: ```c
int main() {
  printf("isMatch(\"aa\",\"a\"):%d\n", isMatch("aa", "a"));
  printf("isMatch(\"aa\",\"aa\"):%d\n", isMatch("aa", "aa"));
  printf("isMatch(\"aaa\",\"aa\"):%d\n", isMatch("aaa", "aa"));
  printf("isMatch(\"aa\",\"a*\"):%d\n", isMatch("aa", "a*"));
  printf("isMatch(\"aa\",\".*\"):%d\n", isMatch("aa", ".*"));
  printf("isMatch(\"ab\",\".*\"):%d\n", isMatch("ab", ".*"));
  printf("isMatch(\"aab\",\"c*a*b\"):%d\n", isMatch("aab", "c*a*b"));
  printf("isMatch(\"a\",\".*..a*\"):%d\n", isMatch("a", ".*..a*"));
  printf("isMatch(\"\",\"..*\"):%d\n", isMatch("", "..*"));
  return 0;
}
```