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

```asm
<test_dec>:
  endbr64
  push   %r13
  mov    $0x812fada,%esi
  mov    $0x12345678,%edi
  lea    D3(%rip),%r13
  push   %r12
  lea    0xe4(%r13),%r12
  push   %rbp
  mov    %r13,%rbp
  push   %rbx
  sub    $0x8,%rsp
  call   <exec_dec@plt>
  mov    $0x12341,%esi
  mov    $0x12341,%edi
  call   <exec_dec@plt>
  mov    $0xfffedcbf,%esi
  mov    $0x12341,%edi
  call   <exec_dec@plt>
  xor    %esi,%esi
  mov    $0xffffffff,%edi
  call   <exec_dec@plt>
  mov    $0xffffffff,%esi
  mov    $0xffffffff,%edi
  call   <exec_dec@plt>
  mov    $0x1,%esi
  mov    $0xffffffff,%edi
  call   <exec_dec@plt>
  mov    $0x2,%esi
  mov    $0xffffffff,%edi
  call   <exec_dec@plt>
  xor    %esi,%esi
  mov    $0x7fffffff,%edi
  call   <exec_dec@plt>
  mov    $0x1,%esi
  mov    $0x7fffffff,%edi
  call   <exec_dec@plt>
  mov    $0xffffffff,%esi
  mov    $0x7fffffff,%edi
  call   <exec_dec@plt>
  mov    $0xffffffff,%esi
  mov    $0x80000000,%edi
  call   <exec_dec@plt>
  mov    $0x1,%esi
  mov    $0x80000000,%edi
  call   <exec_dec@plt>
  mov    $0xfffffffe,%esi
  mov    $0x80000000,%edi
  call   <exec_dec@plt>
  xor    %esi,%esi
  mov    $0x12347fff,%edi
  call   <exec_dec@plt>
  mov    $0x1,%esi
  mov    $0x12347fff,%edi
  call   <exec_dec@plt>
  mov    $0xffffffff,%esi
  mov    $0x12347fff,%edi
  call   <exec_dec@plt>
  mov    $0xffffffff,%esi
  mov    $0x12348000,%edi
  call   <exec_dec@plt>
  mov    $0x1,%esi
  mov    $0x12348000,%edi
  call   <exec_dec@plt>
  mov    $0xfffffffe,%esi
  mov    $0x12348000,%edi
  call   <exec_dec@plt>
  xor    %esi,%esi
  mov    $0x12347f7f,%edi
  call   <exec_dec@plt>
  mov    $0x1,%esi
  mov    $0x12347f7f,%edi
  call   <exec_dec@plt>
  mov    $0xffffffff,%esi
  mov    $0x12347f7f,%edi
  call   <exec_dec@plt>
  mov    $0xffffffff,%esi
  mov    $0x12348080,%edi
  call   <exec_dec@plt>
  mov    $0x1,%esi
  mov    $0x12348080,%edi
  call   <exec_dec@plt>
  mov    $0xfffffffe,%esi
  mov    $0x12348080,%edi
  call   <exec_dec@plt>
  nopw   0x0(%rax,%rax,1)
L17:
  mov    %r13,%rbx
  nopl   0x0(%rax,%rax,1)
L8:
  mov    (%rbx),%esi
  mov    0x0(%rbp),%edi
  add    $0x4,%rbx
  call   <exec_dec@plt>
  cmp    %r12,%rbx
  jne    L8
  add    $0x4,%rbp
  cmp    %rbx,%rbp
  jne    L17
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D3
type_infered: string

tool: 

assistant: ```c
void test_dec(void) {
  int i, j;
  static unsigned int val[57] = {0x00, 0x01, 0x02, 0x03, 0x3F, 0x40, 0x41, 0x7E, 0x7F, 0x80, 0x81, 0x82, 0xBF, 0xC0, 0xC1, 0xFC, 0xFD, 0xFE, 0xFF, 0xFF00, 0xFF01, 0xFF02, 0xFF03, 0xFF3F, 0xFF40, 0xFF41, 0xFF7E, 0xFF7F, 0xFF80, 0xFF81, 0xFF82, 0xFFBF, 0xFFC0, 0xFFC1, 0xFFFC, 0xFFFD, 0xFFFE, 0xFFFF, 0xFFFFFF00, 0xFFFFFF01, 0xFFFFFF02, 0xFFFFFF03, 0xFFFFFF3F, 0xFFFFFF40, 0xFFFFFF41, 0xFFFFFF7E, 0xFFFFFF7F, 0xFFFFFF80, 0xFFFFFF81, 0xFFFFFF82, 0xFFFFFFBF, 0xFFFFFFC0, 0xFFFFFFC1, 0xFFFFFFFC, 0xFFFFFFFD, 0xFFFFFFFE, 0xFFFFFFFF};
  exec_dec(0x12345678, 0x812FADA);
  exec_dec(0x12341, 0x12341);
  exec_dec(0x12341, -0x12341);
  exec_dec(0xffffffff, 0);
  exec_dec(0xffffffff, -1);
  exec_dec(0xffffffff, 1);
  exec_dec(0xffffffff, 2);
  exec_dec(0x7fffffff, 0);
  exec_dec(0x7fffffff, 1);
  exec_dec(0x7fffffff, -1);
  exec_dec(0x80000000, -1);
  exec_dec(0x80000000, 1);
  exec_dec(0x80000000, -2);
  exec_dec(0x12347fff, 0);
  exec_dec(0x12347fff, 1);
  exec_dec(0x12347fff, -1);
  exec_dec(0x12348000, -1);
  exec_dec(0x12348000, 1);
  exec_dec(0x12348000, -2);
  exec_dec(0x12347f7f, 0);
  exec_dec(0x12347f7f, 1);
  exec_dec(0x12347f7f, -1);
  exec_dec(0x12348080, -1);
  exec_dec(0x12348080, 1);
  exec_dec(0x12348080, -2);
  if (1)
    for (i = 0; i < 57; i++)
      for (j = 0; j < 57; j++)
        exec_dec(val[i], val[j]);
}
```