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

```asm
<main>:
  endbr64
  sub    $0x8,%rsp
  mov    $0xff000000,%edx
  mov    $0xb,%esi
  mov    $0xffffffff,%edi
  call   <ShrTest1@plt>
  mov    %eax,%esi
  lea    D92(%rip),%rdi
  call   <printf@plt>
  mov    $0x1,%edx
  mov    $0xb,%esi
  mov    $0xffffffb7,%edi
  call   <ShrTest2@plt>
  mov    %eax,%esi
  lea    D77(%rip),%rdi
  call   <printf@plt>
  mov    $0xffffffb7,%edi
  call   <ShrTest3@plt>
  mov    %eax,%esi
  lea    D98(%rip),%rdi
  call   <printf@plt>
  mov    $0xffffffb7,%edi
  call   <ShrTest4@plt>
  mov    %eax,%esi
  lea    D28(%rip),%rdi
  call   <printf@plt>
  mov    $0xb,%esi
  mov    $0x1e5d,%edi
  call   <ShrTest5@plt>
  mov    %eax,%esi
  lea    D90(%rip),%rdi
  call   <printf@plt>
  mov    $0xb,%esi
  mov    $0xffffffb7,%edi
  call   <ShrTest6@plt>
  mov    %eax,%esi
  lea    D99(%rip),%rdi
  call   <printf@plt>
  mov    $0xfffffd1f,%edi
  call   <ShrTest7@plt>
  mov    %eax,%esi
  lea    D41(%rip),%rdi
  call   <printf@plt>
  mov    $0x49,%edi
  call   <ShrTest8@plt>
  mov    %eax,%esi
  lea    D100(%rip),%rdi
  call   <printf@plt>
  mov    $0xb,%edx
  mov    $0x1e5d,%esi
  mov    $0xd,%edi
  call   <ShrTest9@plt>
  mov    %eax,%esi
  lea    D9(%rip),%rdi
  call   <printf@plt>
  mov    $0xb,%edx
  mov    $0x1e5d,%esi
  mov    $0xd,%edi
  call   <ShrTest10@plt>
  mov    %eax,%esi
  lea    D130(%rip),%rdi
  call   <printf@plt>
  mov    $0xb,%edx
  mov    $0x1e5d,%esi
  mov    $0xd,%edi
  call   <ShrTest11@plt>
  mov    %eax,%esi
  lea    D7(%rip),%rdi
  call   <printf@plt>
  mov    $0xebd,%ecx
  mov    $0xb,%edx
  mov    $0xffffffb7,%esi
  mov    $0x1e5d,%edi
  call   <ShrTest12@plt>
  mov    %eax,%esi
  lea    D151(%rip),%rdi
  call   <printf@plt>
  mov    $0xebd,%ecx
  mov    $0xb,%edx
  mov    $0xffffffb7,%esi
  mov    $0x1e5d,%edi
  call   <ShrTest13@plt>
  mov    %eax,%esi
  lea    D116(%rip),%rdi
  call   <printf@plt>
  mov    $0xebd,%ecx
  mov    $0xb,%edx
  mov    $0xffffffb7,%esi
  mov    $0x1e5d,%edi
  call   <ShrTest14@plt>
  mov    %eax,%esi
  lea    D104(%rip),%rdi
  call   <printf@plt>
  mov    $0xb,%edx
  mov    $0xd,%esi
  mov    $0x1e5d,%edi
  call   <ShrTest15@plt>
  mov    %eax,%esi
  lea    D120(%rip),%rdi
  call   <printf@plt>
  mov    $0xd,%edx
  mov    $0xb,%esi
  mov    $0xffffffb7,%edi
  call   <ShrTest16@plt>
  mov    %eax,%esi
  lea    D72(%rip),%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  add    $0x8,%rsp
  ret
```

tool_calls: name: retrieve_data
arguments: tag: D92
type: string
name: retrieve_data
arguments: tag: D77
type: string
name: retrieve_data
arguments: tag: D98
type: string
name: retrieve_data
arguments: tag: D28
type: string
name: retrieve_data
arguments: tag: D90
type: string
name: retrieve_data
arguments: tag: D99
type: string
name: retrieve_data
arguments: tag: D41
type: string
name: retrieve_data
arguments: tag: D100
type: string
name: retrieve_data
arguments: tag: D9
type: string
name: retrieve_data
arguments: tag: D130
type: string
name: retrieve_data
arguments: tag: D7
type: string
name: retrieve_data
arguments: tag: D151
type: string
name: retrieve_data
arguments: tag: D116
type: string
name: retrieve_data
arguments: tag: D104
type: string
name: retrieve_data
arguments: tag: D120
type: string
name: retrieve_data
arguments: tag: D72
type: string

tool: D92: ShrTest1(-1, 11, 0xFF000000) = %d


tool: D77: ShrTest2(-73, 11, 1) = %d


tool: D98: ShrTest3(-73) = %d


tool: D28: ShrTest4(-73) = %d


tool: D90: ShrTest5(7773, 11) = %d


tool: D99: ShrTest6(-73, 11) = %d


tool: D41: ShrTest7(-737) = %d


tool: D100: ShrTest8(73) = %d


tool: D9: ShrTest9(13, 7773, 11) = %d


tool: D130: ShrTest10(13, 7773, 11) = %d


tool: D7: ShrTest11(13, 7773, 11) = %d


tool: D151: ShrTest12(7773, -73, 11, 3773) = %d


tool: D116: ShrTest13(7773, -73, 11, 3773) = %d


tool: D104: ShrTest14(7773, -73, 11, 3773) = %d


tool: D120: ShrTest15(7773, 13, 11) = %d


tool: D72: ShrTest16(-73, 11, 13) = %d


assistant: ```c
int main(int argc, char **argv) {
  printf("ShrTest1(-1, 11, 0xFF000000) = %d\n", ShrTest1(0xFFFFFFFF, 11, 0xFF000000));
  printf("ShrTest2(-73, 11, 1) = %d\n", ShrTest2(-73, 11, 1));
  printf("ShrTest3(-73) = %d\n", ShrTest3(-73));
  printf("ShrTest4(-73) = %d\n", ShrTest4(-73));
  printf("ShrTest5(7773, 11) = %d\n", ShrTest5(7773, 11));
  printf("ShrTest6(-73, 11) = %d\n", ShrTest6(-73, 11));
  printf("ShrTest7(-737) = %d\n", ShrTest7(-737));
  printf("ShrTest8(73) = %d\n", ShrTest8(73));
  printf("ShrTest9(13, 7773, 11) = %d\n", ShrTest9(13, 7773, 11));
  printf("ShrTest10(13, 7773, 11) = %d\n", ShrTest10(13, 7773, 11));
  printf("ShrTest11(13, 7773, 11) = %d\n", ShrTest11(13, 7773, 11));
  printf("ShrTest12(7773, -73, 11, 3773) = %d\n", ShrTest12(7773, -73, 11, 3773));
  printf("ShrTest13(7773, -73, 11, 3773) = %d\n", ShrTest13(7773, -73, 11, 3773));
  printf("ShrTest14(7773, -73, 11, 3773) = %d\n", ShrTest14(7773, -73, 11, 3773));
  printf("ShrTest15(7773, 13, 11) = %d\n", ShrTest15(7773, 13, 11));
  printf("ShrTest16(-73, 11, 13) = %d\n", ShrTest16(-73, 11, 13));
  return 0;
}
```