user: Converte this assembly snippet into its equivalent C code:

```asm
<non_Hbond_pair>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  mov    %rcx,%rbp
  push   %rbx
  mov    %r8,%rbx
  sub    $0x18,%rsp
  mov    (%r9,%rdi,8),%rax
  cmp    $0x1,%rax
  je     L946
  test   %rax,%rax
  jne    L938
  mov    (%r9,%rsi,8),%rax
  test   %rax,%rax
  je     L330
  cmp    $0x1,%rax
  je     L233
L938:
  add    $0x18,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   (%rax)
L946:
  mov    (%r9,%rsi,8),%rax
  cmp    $0x1,%rax
  je     L390
  test   %rax,%rax
  jne    L938
  lea    (%r8,%rdx,8),%r13
  lea    D355(%rip),%r14
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L214
  mov    (%rbx,%rbp,8),%rdi
  lea    D56(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L214
L850:
  mov    0x50(%rsp),%rax
  movq   $0x1,(%rax)
  add    $0x18,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopw   0x0(%rax,%rax,1)
L233:
  lea    (%r8,%rdx,8),%r13
  lea    D56(%rip),%r12
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L262
  mov    (%rbx,%rbp,8),%rdi
  lea    D355(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L262:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L641
L560:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L864
  mov    (%rbx,%rbp,8),%rdi
  lea    D53(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L864:
  lea    D133(%rip),%r14
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L849
  mov    (%rbx,%rbp,8),%rdi
  lea    D355(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L849:
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L711
  mov    (%rbx,%rbp,8),%rdi
  lea    D186(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L711:
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L771
  mov    (%rbx,%rbp,8),%rdi
  lea    D53(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L771:
  lea    D341(%rip),%r15
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L654
  mov    (%rbx,%rbp,8),%rdi
  lea    D355(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L654:
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L985
  mov    (%rbx,%rbp,8),%rdi
  lea    D186(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L985:
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L87
  mov    (%rbx,%rbp,8),%rdi
  lea    D53(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L87:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L938
  mov    (%rbx,%rbp,8),%rdi
  lea    D124(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  jmp    L938
  nopl   (%rax)
L214:
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L149
L598:
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L398
  mov    (%rbx,%rbp,8),%rdi
  lea    D341(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L398:
  lea    D186(%rip),%r12
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L890
  mov    (%rbx,%rbp,8),%rdi
  lea    D56(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L890:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L562
  mov    (%rbx,%rbp,8),%rdi
  lea    D133(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L562:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L681
  mov    (%rbx,%rbp,8),%rdi
  lea    D341(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L681:
  lea    D53(%rip),%r8
  mov    0x0(%r13),%rdi
  mov    %r8,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  mov    0x8(%rsp),%r8
  test   %rax,%rax
  jne    L512
  mov    (%rbx,%rbp,8),%rdi
  lea    D56(%rip),%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  mov    0x8(%rsp),%r8
L512:
  mov    0x0(%r13),%rdi
  mov    %r8,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  mov    0x8(%rsp),%r8
  test   %rax,%rax
  jne    L568
  mov    (%rbx,%rbp,8),%rdi
  lea    D133(%rip),%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  mov    0x8(%rsp),%r8
L568:
  mov    0x0(%r13),%rdi
  mov    %r8,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L33
  mov    (%rbx,%rbp,8),%rdi
  lea    D341(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L33:
  mov    0x0(%r13),%rdi
  lea    D124(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L938
  mov    (%rbx,%rbp,8),%rdi
  lea    D56(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  jmp    L938
  nopl   0x0(%rax,%rax,1)
L330:
  lea    (%r8,%rdx,8),%r13
  lea    D56(%rip),%r12
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L454
  mov    (%rbx,%rbp,8),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L454:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L137
  mov    (%rbx,%rbp,8),%rdi
  lea    D133(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L137:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L44
  lea    D341(%rip),%r15
  mov    (%rbx,%rbp,8),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L44:
  lea    D133(%rip),%r14
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L679
L972:
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L366
  mov    (%rbx,%rbp,8),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L366:
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  lea    D341(%rip),%r15
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L612
  lea    D341(%rip),%r15
  mov    (%rbx,%rbp,8),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L612:
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L36
  mov    (%rbx,%rbp,8),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L36:
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L98
  mov    (%rbx,%rbp,8),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L98:
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L938
  mov    (%rbx,%rbp,8),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  jmp    L938
  nopl   0x0(%rax)
L390:
  lea    (%r8,%rdx,8),%r13
  lea    D186(%rip),%r12
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L823
  mov    (%rbx,%rbp,8),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L823:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L894
L660:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L301
  mov    (%rbx,%rbp,8),%rdi
  lea    D124(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L301:
  mov    0x0(%r13),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L40
  lea    D53(%rip),%r8
  mov    (%rbx,%rbp,8),%rdi
  mov    %r8,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L40:
  lea    D124(%rip),%r15
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L128
  mov    (%rbx,%rbp,8),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L128:
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L810
  mov    (%rbx,%rbp,8),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L810:
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L655
  mov    (%rbx,%rbp,8),%rdi
  lea    D355(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L655:
  mov    0x0(%r13),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L873
  lea    D53(%rip),%r8
  mov    (%rbx,%rbp,8),%rdi
  mov    %r8,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L873:
  lea    D355(%rip),%r14
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L739
  mov    (%rbx,%rbp,8),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L739:
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L638
  mov    (%rbx,%rbp,8),%rdi
  mov    %r15,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L638:
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L293
  mov    (%rbx,%rbp,8),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
L293:
  mov    0x0(%r13),%rdi
  mov    %r14,%rsi
  call   <strcmp@plt>
  lea    D53(%rip),%r8
  test   %rax,%rax
  jne    L1023
  lea    D53(%rip),%r8
  mov    (%rbx,%rbp,8),%rdi
  mov    %r8,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  mov    0x8(%rsp),%r8
L1023:
  mov    0x0(%r13),%rdi
  mov    %r8,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  mov    0x8(%rsp),%r8
  test   %rax,%rax
  jne    L730
  mov    (%rbx,%rbp,8),%rdi
  mov    %r12,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  mov    0x8(%rsp),%r8
L730:
  mov    0x0(%r13),%rdi
  mov    %r8,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  mov    0x8(%rsp),%r8
  test   %rax,%rax
  jne    L1018
  mov    (%rbx,%rbp,8),%rdi
  mov    %r15,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  mov    0x8(%rsp),%r8
L1018:
  mov    0x0(%r13),%rdi
  mov    %r8,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  mov    0x8(%rsp),%r8
  test   %rax,%rax
  jne    L480
  mov    (%rbx,%rbp,8),%rdi
  mov    %r14,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  mov    0x8(%rsp),%r8
L480:
  mov    0x0(%r13),%rdi
  mov    %r8,%rsi
  mov    %r8,0x8(%rsp)
  call   <strcmp@plt>
  mov    0x8(%rsp),%r8
  test   %rax,%rax
  jne    L938
  mov    (%rbx,%rbp,8),%rdi
  mov    %r8,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  jmp    L938
  nopl   (%rax)
L149:
  mov    (%rbx,%rbp,8),%rdi
  lea    D133(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  jmp    L598
  cs nopw 0x0(%rax,%rax,1)
L679:
  mov    (%rbx,%rbp,8),%rdi
  mov    %r12,%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  jmp    L972
  nopw   0x0(%rax,%rax,1)
L641:
  mov    (%rbx,%rbp,8),%rdi
  lea    D186(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  jmp    L560
  xchg   %ax,%ax
L894:
  mov    (%rbx,%rbp,8),%rdi
  lea    D355(%rip),%rsi
  call   <strcmp@plt>
  test   %rax,%rax
  je     L850
  jmp    L660
```

tool_calls: name: extract_symbolic_data
arguments: tag: D355
datatype: string
name: extract_symbolic_data
arguments: tag: D56
datatype: string
name: extract_symbolic_data
arguments: tag: D53
datatype: string
name: extract_symbolic_data
arguments: tag: D133
datatype: string
name: extract_symbolic_data
arguments: tag: D186
datatype: string
name: extract_symbolic_data
arguments: tag: D341
datatype: string
name: extract_symbolic_data
arguments: tag: D124
datatype: string

tool: D355:  N9 

tool: D56:  N1 

tool: D53:  O6 

tool: D133:  O2 

tool: D186:  N3 

tool: D341:  O4 

tool: D124:  N7 

assistant: ```c
void non_Hbond_pair(long i, long j, long m, long n, char **AtomName, long *RY, long *yes) {
  if (RY[i] == 1 && RY[j] == 1) {
    if ((strcmp(AtomName[m], " N3 ") == 0 && strcmp(AtomName[n], " N3 ") == 0) || (strcmp(AtomName[m], " N3 ") == 0 && strcmp(AtomName[n], " N9 ") == 0) || (strcmp(AtomName[m], " N3 ") == 0 && strcmp(AtomName[n], " N7 ") == 0) || (strcmp(AtomName[m], " N3 ") == 0 && strcmp(AtomName[n], " O6 ") == 0) || (strcmp(AtomName[m], " N7 ") == 0 && strcmp(AtomName[n], " N3 ") == 0) || (strcmp(AtomName[m], " N7 ") == 0 && strcmp(AtomName[n], " N7 ") == 0) || (strcmp(AtomName[m], " N7 ") == 0 && strcmp(AtomName[n], " N9 ") == 0) || (strcmp(AtomName[m], " N7 ") == 0 && strcmp(AtomName[n], " O6 ") == 0) || (strcmp(AtomName[m], " N9 ") == 0 && strcmp(AtomName[n], " N3 ") == 0) || (strcmp(AtomName[m], " N9 ") == 0 && strcmp(AtomName[n], " N7 ") == 0) || (strcmp(AtomName[m], " N9 ") == 0 && strcmp(AtomName[n], " N9 ") == 0) || (strcmp(AtomName[m], " N9 ") == 0 && strcmp(AtomName[n], " O6 ") == 0) || (strcmp(AtomName[m], " O6 ") == 0 && strcmp(AtomName[n], " N3 ") == 0) || (strcmp(AtomName[m], " O6 ") == 0 && strcmp(AtomName[n], " N7 ") == 0) || (strcmp(AtomName[m], " O6 ") == 0 && strcmp(AtomName[n], " N9 ") == 0) || (strcmp(AtomName[m], " O6 ") == 0 && strcmp(AtomName[n], " O6 ") == 0)) {
      *yes = 1;
    }
  } else if (RY[i] == 0 && RY[j] == 0) {
    if ((strcmp(AtomName[m], " N1 ") == 0 && strcmp(AtomName[n], " N1 ") == 0) || (strcmp(AtomName[m], " N1 ") == 0 && strcmp(AtomName[n], " O2 ") == 0) || (strcmp(AtomName[m], " N1 ") == 0 && strcmp(AtomName[n], " O4 ") == 0) || (strcmp(AtomName[m], " O2 ") == 0 && strcmp(AtomName[n], " N1 ") == 0) || (strcmp(AtomName[m], " O2 ") == 0 && strcmp(AtomName[n], " O2 ") == 0) || (strcmp(AtomName[m], " O2 ") == 0 && strcmp(AtomName[n], " O4 ") == 0) || (strcmp(AtomName[m], " O4 ") == 0 && strcmp(AtomName[n], " N1 ") == 0) || (strcmp(AtomName[m], " O4 ") == 0 && strcmp(AtomName[n], " O2 ") == 0) || (strcmp(AtomName[m], " O4 ") == 0 && strcmp(AtomName[n], " O4 ") == 0)) {
      *yes = 1;
    }
  } else if ((RY[i] == 1 && RY[j] == 0)) {
    if ((strcmp(AtomName[m], " N9 ") == 0 && strcmp(AtomName[n], " N1 ") == 0) || (strcmp(AtomName[m], " N9 ") == 0 && strcmp(AtomName[n], " O2 ") == 0) || (strcmp(AtomName[m], " N9 ") == 0 && strcmp(AtomName[n], " O4 ") == 0) || (strcmp(AtomName[m], " N3 ") == 0 && strcmp(AtomName[n], " N1 ") == 0) || (strcmp(AtomName[m], " N3 ") == 0 && strcmp(AtomName[n], " O2 ") == 0) || (strcmp(AtomName[m], " N3 ") == 0 && strcmp(AtomName[n], " O4 ") == 0) || (strcmp(AtomName[m], " O6 ") == 0 && strcmp(AtomName[n], " N1 ") == 0) || (strcmp(AtomName[m], " O6 ") == 0 && strcmp(AtomName[n], " O2 ") == 0) || (strcmp(AtomName[m], " O6 ") == 0 && strcmp(AtomName[n], " O4 ") == 0) || (strcmp(AtomName[m], " N7 ") == 0 && strcmp(AtomName[n], " N1 ") == 0)) {
      *yes = 1;
    }
  } else if ((RY[i] == 0 && RY[j] == 1)) {
    if ((strcmp(AtomName[m], " N1 ") == 0 && strcmp(AtomName[n], " N9 ") == 0) || (strcmp(AtomName[m], " N1 ") == 0 && strcmp(AtomName[n], " N3 ") == 0) || (strcmp(AtomName[m], " N1 ") == 0 && strcmp(AtomName[n], " O6 ") == 0) || (strcmp(AtomName[m], " O2 ") == 0 && strcmp(AtomName[n], " N9 ") == 0) || (strcmp(AtomName[m], " O2 ") == 0 && strcmp(AtomName[n], " N3 ") == 0) || (strcmp(AtomName[m], " O2 ") == 0 && strcmp(AtomName[n], " O6 ") == 0) || (strcmp(AtomName[m], " O4 ") == 0 && strcmp(AtomName[n], " N9 ") == 0) || (strcmp(AtomName[m], " O4 ") == 0 && strcmp(AtomName[n], " N3 ") == 0) || (strcmp(AtomName[m], " O4 ") == 0 && strcmp(AtomName[n], " O6 ") == 0) || (strcmp(AtomName[m], " N1 ") == 0 && strcmp(AtomName[n], " N7 ") == 0)) {
      *yes = 1;
    }
  }
}
```