user: Translate the below assembly code into C programming language:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x130,%rsp
  mov    %edi,-0x124(%rbp)
  mov    %rsi,-0x130(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    -0x110(%rbp),%rax
  mov    $0x138a,%edx
  lea    D85(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sprintf@plt>
  lea    D86(%rip),%rax
  mov    %rax,%rdi
  call   <WSQ_Init@plt>
  lea    D116(%rip),%rax
  mov    %rax,%rdi
  call   <WSQ_SetQueryName@plt>
  mov    $0x0,%eax
  call   <WSQ_Pause@plt>
  lea    D22(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x3e9,%edi
  call   <WSQ_BeginTransaction@plt>
  mov    $0x65,%edi
  call   <WSQ_BeginSubgraph@plt>
  lea    D79(%rip),%r8
  lea    D6(%rip),%rax
  mov    %rax,%rcx
  lea    D86(%rip),%rax
  mov    %rax,%rdx
  lea    D117(%rip),%rax
  mov    %rax,%rsi
  mov    $0x1,%edi
  call   <WSQ_AddOp@plt>
  lea    -0x110(%rbp),%rax
  mov    %rax,%r8
  lea    D86(%rip),%rax
  mov    %rax,%rcx
  lea    D6(%rip),%rax
  mov    %rax,%rdx
  lea    D10(%rip),%rax
  mov    %rax,%rsi
  mov    $0x2,%edi
  call   <WSQ_AddOp@plt>
  mov    $0x0,%eax
  call   <WSQ_EndSubgraph@plt>
  mov    $0x0,%eax
  call   <WSQ_EndTransaction@plt>
  mov    %eax,-0x114(%rbp)
  cmpl   $0x0,-0x114(%rbp)
  jne    L8
  lea    D92(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  movabs $0x4c54504f5f515357,%rax
  movabs $0x51535720333d4c56,%rdx
  mov    %rax,-0x90(%rbp)
  mov    %rdx,-0x88(%rbp)
  movabs $0x4545505358414d5f,%rax
  movabs $0x72702f2e20313d44,%rdx
  mov    %rax,-0x80(%rbp)
  mov    %rdx,-0x78(%rbp)
  movabs $0x797265757131636f,%rax
  mov    $0x6578652e,%edx
  mov    %rax,-0x70(%rbp)
  mov    %rdx,-0x68(%rbp)
  movq   $0x0,-0x60(%rbp)
  movq   $0x0,-0x58(%rbp)
  movq   $0x0,-0x50(%rbp)
  movq   $0x0,-0x48(%rbp)
  movq   $0x0,-0x40(%rbp)
  movq   $0x0,-0x38(%rbp)
  movq   $0x0,-0x30(%rbp)
  movq   $0x0,-0x28(%rbp)
  movq   $0x0,-0x20(%rbp)
  movq   $0x0,-0x18(%rbp)
  lea    -0x90(%rbp),%rax
  mov    %rax,%rdi
  call   <system@plt>
L8:
  mov    $0x0,%eax
  call   <WSQ_Shutdown@plt>
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L0
  call   <__stack_chk_fail@plt>
L0:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D85
type_guessed: string
name: extract_symbolic_data
arguments: label: D86
type_guessed: string
name: extract_symbolic_data
arguments: label: D116
type_guessed: string
name: extract_symbolic_data
arguments: label: D22
type_guessed: string
name: extract_symbolic_data
arguments: label: D79
type_guessed: string
name: extract_symbolic_data
arguments: label: D6
type_guessed: string
name: extract_symbolic_data
arguments: label: D117
type_guessed: string
name: extract_symbolic_data
arguments: label: D10
type_guessed: string
name: extract_symbolic_data
arguments: label: D92
type_guessed: string

tool: D85: localhost | %d

tool: 

tool: D116: proc1query

tool: D22: PAUSING WSQ engine, run compiled query manually...


tool: D79: -1 |foobar.schema|taq_10lines.dat

tool: D6: 1

tool: D117: ASCIIFileSource

tool: D10: ConnectRemoteOut

tool: D92: pid is 000000000000


assistant: ```c
int main(int argc, char *argv[]) {
  char addr[128];
  sprintf(addr, "localhost | %d", 5002);
  WSQ_Init("");
  WSQ_SetQueryName("proc1query");
  WSQ_Pause();
  printf("PAUSING WSQ engine, run compiled query manually...\n");
  WSQ_BeginTransaction(1001);
  WSQ_BeginSubgraph(101);
  WSQ_AddOp(1, "ASCIIFileSource", "", "1", "-1 |foobar.schema|taq_10lines.dat");
  WSQ_AddOp(2, "ConnectRemoteOut", "1", "", addr);
  WSQ_EndSubgraph();
  int pid = WSQ_EndTransaction();
  if (pid == 0) {
    printf("pid is 000000000000\n");
    char cmd[128] = "WSQ_OPTLVL=3 WSQ_MAXSPEED=1 ./proc1query.exe";
    system(cmd);
  }
  WSQ_Shutdown();
  return 0;
}
```