user: 这段汇编代码用C语言表示是什么样的?

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x9b0,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x9a8(%rbp)
  mov    -0x9a8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x7f8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x7f0(%rbp)
  mov    -0x7f0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x3,%rdx
  cmp    %rdx,%rax
  je     L785
  call   <abort@plt>
L785:
  movl   $0x1,-0x9a4(%rbp)
  mov    -0x9a4(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x7e8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x7e0(%rbp)
  mov    -0x7e0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L853
  call   <abort@plt>
L853:
  movl   $0x1,-0x9a0(%rbp)
  mov    -0x9a0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x7d8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x7d0(%rbp)
  mov    -0x7d0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x3,%rdx
  cmp    %rdx,%rax
  je     L544
  call   <abort@plt>
L544:
  movl   $0x1,-0x99c(%rbp)
  mov    -0x99c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x7c8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x7c0(%rbp)
  mov    -0x7c0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L689
  call   <abort@plt>
L689:
  movl   $0x2,-0x998(%rbp)
  mov    -0x998(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x7b8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x7b0(%rbp)
  mov    -0x7b0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L451
  call   <abort@plt>
L451:
  movl   $0x2,-0x994(%rbp)
  mov    -0x994(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x7a8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x7a0(%rbp)
  mov    -0x7a0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L351
  call   <abort@plt>
L351:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x990(%rbp)
  mov    -0x990(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x798(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x790(%rbp)
  mov    -0x790(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x3,%rdx
  cmp    %rdx,%rax
  je     L828
  call   <abort@plt>
L828:
  movl   $0x1,-0x98c(%rbp)
  mov    -0x98c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x788(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x780(%rbp)
  mov    -0x780(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L452
  call   <abort@plt>
L452:
  movl   $0x1,-0x988(%rbp)
  mov    -0x988(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x778(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x770(%rbp)
  mov    -0x770(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x3,%rdx
  cmp    %rdx,%rax
  je     L824
  call   <abort@plt>
L824:
  movl   $0x1,-0x984(%rbp)
  mov    -0x984(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x768(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x760(%rbp)
  mov    -0x760(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L1071
  call   <abort@plt>
L1071:
  movl   $0x2,-0x980(%rbp)
  mov    -0x980(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x758(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x750(%rbp)
  mov    -0x750(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L526
  call   <abort@plt>
L526:
  movl   $0x2,-0x97c(%rbp)
  mov    -0x97c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x748(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x740(%rbp)
  mov    -0x740(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L881
  call   <abort@plt>
L881:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x978(%rbp)
  mov    -0x978(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x738(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x730(%rbp)
  mov    -0x730(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x3,%rdx
  cmp    %rdx,%rax
  je     L425
  call   <abort@plt>
L425:
  movl   $0x1,-0x974(%rbp)
  mov    -0x974(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x728(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x720(%rbp)
  mov    -0x720(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L385
  call   <abort@plt>
L385:
  movl   $0x1,-0x970(%rbp)
  mov    -0x970(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x718(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x710(%rbp)
  mov    -0x710(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x3,%rdx
  cmp    %rdx,%rax
  je     L543
  call   <abort@plt>
L543:
  movl   $0x1,-0x96c(%rbp)
  mov    -0x96c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x708(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x700(%rbp)
  mov    -0x700(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L108
  call   <abort@plt>
L108:
  movl   $0x2,-0x968(%rbp)
  mov    -0x968(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x6f8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x6f0(%rbp)
  mov    -0x6f0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L137
  call   <abort@plt>
L137:
  movl   $0x2,-0x964(%rbp)
  mov    -0x964(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x6e8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x6e0(%rbp)
  mov    -0x6e0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L846
  call   <abort@plt>
L846:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x960(%rbp)
  mov    -0x960(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x6d8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x6d0(%rbp)
  mov    -0x6d0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x3,%rdx
  cmp    %rdx,%rax
  je     L600
  call   <abort@plt>
L600:
  movl   $0x1,-0x95c(%rbp)
  mov    -0x95c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x6c8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x6c0(%rbp)
  mov    -0x6c0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L489
  call   <abort@plt>
L489:
  movl   $0x1,-0x958(%rbp)
  mov    -0x958(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x6b8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x6b0(%rbp)
  mov    -0x6b0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x3,%rdx
  cmp    %rdx,%rax
  je     L671
  call   <abort@plt>
L671:
  movl   $0x1,-0x954(%rbp)
  mov    -0x954(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x6a8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x6a0(%rbp)
  mov    -0x6a0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L794
  call   <abort@plt>
L794:
  movl   $0x2,-0x950(%rbp)
  mov    -0x950(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x698(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x690(%rbp)
  mov    -0x690(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L569
  call   <abort@plt>
L569:
  movl   $0x2,-0x94c(%rbp)
  mov    -0x94c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x688(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x680(%rbp)
  mov    -0x680(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L219
  call   <abort@plt>
L219:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x948(%rbp)
  mov    -0x948(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x678(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x670(%rbp)
  mov    -0x670(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L555
  call   <abort@plt>
L555:
  movl   $0x1,-0x944(%rbp)
  mov    -0x944(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x668(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x660(%rbp)
  mov    -0x660(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L1039
  call   <abort@plt>
L1039:
  movl   $0x1,-0x940(%rbp)
  mov    -0x940(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x658(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x650(%rbp)
  mov    -0x650(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L136
  call   <abort@plt>
L136:
  movl   $0x1,-0x93c(%rbp)
  mov    -0x93c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x648(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x640(%rbp)
  mov    -0x640(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L1064
  call   <abort@plt>
L1064:
  movl   $0x2,-0x938(%rbp)
  mov    -0x938(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x638(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x630(%rbp)
  mov    -0x630(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L751
  call   <abort@plt>
L751:
  movl   $0x2,-0x934(%rbp)
  mov    -0x934(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x628(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x620(%rbp)
  mov    -0x620(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L970
  call   <abort@plt>
L970:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x930(%rbp)
  mov    -0x930(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x618(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x610(%rbp)
  mov    -0x610(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L882
  call   <abort@plt>
L882:
  movl   $0x1,-0x92c(%rbp)
  mov    -0x92c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x608(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x600(%rbp)
  mov    -0x600(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L854
  call   <abort@plt>
L854:
  movl   $0x1,-0x928(%rbp)
  mov    -0x928(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x5f8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x5f0(%rbp)
  mov    -0x5f0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x6,%rdx
  cmp    %rdx,%rax
  je     L254
  call   <abort@plt>
L254:
  movl   $0x1,-0x924(%rbp)
  mov    -0x924(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x5e8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x5e0(%rbp)
  mov    -0x5e0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L495
  call   <abort@plt>
L495:
  movl   $0x2,-0x920(%rbp)
  mov    -0x920(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x5d8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x5d0(%rbp)
  mov    -0x5d0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L831
  call   <abort@plt>
L831:
  movl   $0x2,-0x91c(%rbp)
  mov    -0x91c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  add    %rax,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x5c8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x5c0(%rbp)
  mov    -0x5c0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L605
  call   <abort@plt>
L605:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x918(%rbp)
  mov    -0x918(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x5b8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x5b0(%rbp)
  mov    -0x5b0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L278
  call   <abort@plt>
L278:
  movl   $0x1,-0x914(%rbp)
  mov    -0x914(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x5a8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x5a0(%rbp)
  mov    -0x5a0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L450
  call   <abort@plt>
L450:
  movl   $0x1,-0x910(%rbp)
  mov    -0x910(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x598(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x590(%rbp)
  mov    -0x590(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L418
  call   <abort@plt>
L418:
  movl   $0x1,-0x90c(%rbp)
  mov    -0x90c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x588(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x580(%rbp)
  mov    -0x580(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L862
  call   <abort@plt>
L862:
  movl   $0x2,-0x908(%rbp)
  mov    -0x908(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x578(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x570(%rbp)
  mov    -0x570(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L193
  call   <abort@plt>
L193:
  movl   $0x2,-0x904(%rbp)
  mov    -0x904(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x568(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x560(%rbp)
  mov    -0x560(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L702
  call   <abort@plt>
L702:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x900(%rbp)
  mov    -0x900(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x558(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x550(%rbp)
  mov    -0x550(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L840
  call   <abort@plt>
L840:
  movl   $0x1,-0x8fc(%rbp)
  mov    -0x8fc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x548(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x540(%rbp)
  mov    -0x540(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L456
  call   <abort@plt>
L456:
  movl   $0x1,-0x8f8(%rbp)
  mov    -0x8f8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x538(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x530(%rbp)
  mov    -0x530(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L982
  call   <abort@plt>
L982:
  movl   $0x1,-0x8f4(%rbp)
  mov    -0x8f4(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x528(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x520(%rbp)
  mov    -0x520(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L434
  call   <abort@plt>
L434:
  movl   $0x2,-0x8f0(%rbp)
  mov    -0x8f0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x518(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x510(%rbp)
  mov    -0x510(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L554
  call   <abort@plt>
L554:
  movl   $0x2,-0x8ec(%rbp)
  mov    -0x8ec(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x508(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x500(%rbp)
  mov    -0x500(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L523
  call   <abort@plt>
L523:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x8e8(%rbp)
  mov    -0x8e8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x4f8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x4f0(%rbp)
  mov    -0x4f0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L709
  call   <abort@plt>
L709:
  movl   $0x1,-0x8e4(%rbp)
  mov    -0x8e4(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x4e8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x4e0(%rbp)
  mov    -0x4e0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L112
  call   <abort@plt>
L112:
  movl   $0x1,-0x8e0(%rbp)
  mov    -0x8e0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x4d8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x4d0(%rbp)
  mov    -0x4d0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L952
  call   <abort@plt>
L952:
  movl   $0x1,-0x8dc(%rbp)
  mov    -0x8dc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x4c8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x4c0(%rbp)
  mov    -0x4c0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L232
  call   <abort@plt>
L232:
  movl   $0x2,-0x8d8(%rbp)
  mov    -0x8d8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x4b8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x4b0(%rbp)
  mov    -0x4b0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L222
  call   <abort@plt>
L222:
  movl   $0x2,-0x8d4(%rbp)
  mov    -0x8d4(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x4a8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x4a0(%rbp)
  mov    -0x4a0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L82
  call   <abort@plt>
L82:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x8d0(%rbp)
  mov    -0x8d0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x498(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x490(%rbp)
  mov    -0x490(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L1067
  call   <abort@plt>
L1067:
  movl   $0x1,-0x8cc(%rbp)
  mov    -0x8cc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x488(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x480(%rbp)
  mov    -0x480(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L599
  call   <abort@plt>
L599:
  movl   $0x1,-0x8c8(%rbp)
  mov    -0x8c8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x478(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x470(%rbp)
  mov    -0x470(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L691
  call   <abort@plt>
L691:
  movl   $0x1,-0x8c4(%rbp)
  mov    -0x8c4(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x468(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x460(%rbp)
  mov    -0x460(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L926
  call   <abort@plt>
L926:
  movl   $0x2,-0x8c0(%rbp)
  mov    -0x8c0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x458(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x450(%rbp)
  mov    -0x450(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L1058
  call   <abort@plt>
L1058:
  movl   $0x2,-0x8bc(%rbp)
  mov    -0x8bc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x448(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x440(%rbp)
  mov    -0x440(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L79
  call   <abort@plt>
L79:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x8b8(%rbp)
  mov    -0x8b8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x438(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x430(%rbp)
  mov    -0x430(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L43
  call   <abort@plt>
L43:
  movl   $0x1,-0x8b4(%rbp)
  mov    -0x8b4(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x428(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x420(%rbp)
  mov    -0x420(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L838
  call   <abort@plt>
L838:
  movl   $0x1,-0x8b0(%rbp)
  mov    -0x8b0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x418(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x410(%rbp)
  mov    -0x410(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L13
  call   <abort@plt>
L13:
  movl   $0x1,-0x8ac(%rbp)
  mov    -0x8ac(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x408(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x400(%rbp)
  mov    -0x400(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L272
  call   <abort@plt>
L272:
  movl   $0x2,-0x8a8(%rbp)
  mov    -0x8a8(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x3f8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x3f0(%rbp)
  mov    -0x3f0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L999
  call   <abort@plt>
L999:
  movl   $0x2,-0x8a4(%rbp)
  mov    -0x8a4(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x3e8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x3e0(%rbp)
  mov    -0x3e0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L550
  call   <abort@plt>
L550:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x8a0(%rbp)
  mov    -0x8a0(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x3d8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x3d0(%rbp)
  mov    -0x3d0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L562
  call   <abort@plt>
L562:
  movl   $0x1,-0x89c(%rbp)
  mov    -0x89c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x3c8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x3c0(%rbp)
  mov    -0x3c0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L959
  call   <abort@plt>
L959:
  movl   $0x1,-0x898(%rbp)
  mov    -0x898(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x3b8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x3b0(%rbp)
  mov    -0x3b0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L537
  call   <abort@plt>
L537:
  movl   $0x1,-0x894(%rbp)
  mov    -0x894(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x3a8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x3a0(%rbp)
  mov    -0x3a0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L1021
  call   <abort@plt>
L1021:
  movl   $0x2,-0x890(%rbp)
  mov    -0x890(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x398(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x390(%rbp)
  mov    -0x390(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L893
  call   <abort@plt>
L893:
  movl   $0x2,-0x88c(%rbp)
  mov    -0x88c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x388(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x380(%rbp)
  mov    -0x380(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L625
  call   <abort@plt>
L625:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x888(%rbp)
  mov    -0x888(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x378(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x370(%rbp)
  mov    -0x370(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L668
  call   <abort@plt>
L668:
  movl   $0x1,-0x884(%rbp)
  mov    -0x884(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x368(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x360(%rbp)
  mov    -0x360(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L202
  call   <abort@plt>
L202:
  movl   $0x1,-0x880(%rbp)
  mov    -0x880(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x358(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x350(%rbp)
  mov    -0x350(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc,%rdx
  cmp    %rdx,%rax
  je     L71
  call   <abort@plt>
L71:
  movl   $0x1,-0x87c(%rbp)
  mov    -0x87c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x348(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x340(%rbp)
  mov    -0x340(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L237
  call   <abort@plt>
L237:
  movl   $0x2,-0x878(%rbp)
  mov    -0x878(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x338(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x330(%rbp)
  mov    -0x330(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L692
  call   <abort@plt>
L692:
  movl   $0x2,-0x874(%rbp)
  mov    -0x874(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x328(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x320(%rbp)
  mov    -0x320(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L931
  call   <abort@plt>
L931:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x870(%rbp)
  mov    -0x870(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x318(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x310(%rbp)
  mov    -0x310(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L781
  call   <abort@plt>
L781:
  movl   $0x1,-0x86c(%rbp)
  mov    -0x86c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x308(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x300(%rbp)
  mov    -0x300(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L908
  call   <abort@plt>
L908:
  movl   $0x1,-0x868(%rbp)
  mov    -0x868(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x2f8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x2f0(%rbp)
  mov    -0x2f0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L658
  call   <abort@plt>
L658:
  movl   $0x1,-0x864(%rbp)
  mov    -0x864(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x2e8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x2e0(%rbp)
  mov    -0x2e0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L430
  call   <abort@plt>
L430:
  movl   $0x2,-0x860(%rbp)
  mov    -0x860(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x2d8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x2d0(%rbp)
  mov    -0x2d0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L296
  call   <abort@plt>
L296:
  movl   $0x2,-0x85c(%rbp)
  mov    -0x85c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x2c8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x2c0(%rbp)
  mov    -0x2c0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L581
  call   <abort@plt>
L581:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x858(%rbp)
  mov    -0x858(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x2b8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x2b0(%rbp)
  mov    -0x2b0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L552
  call   <abort@plt>
L552:
  movl   $0x1,-0x854(%rbp)
  mov    -0x854(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x2a8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x2a0(%rbp)
  mov    -0x2a0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x60,%rdx
  cmp    %rdx,%rax
  je     L441
  call   <abort@plt>
L441:
  movl   $0x1,-0x850(%rbp)
  mov    -0x850(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x298(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x290(%rbp)
  mov    -0x290(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L1012
  call   <abort@plt>
L1012:
  movl   $0x1,-0x84c(%rbp)
  mov    -0x84c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x288(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x280(%rbp)
  mov    -0x280(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L649
  call   <abort@plt>
L649:
  movl   $0x2,-0x848(%rbp)
  mov    -0x848(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x278(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x270(%rbp)
  mov    -0x270(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x60,%rdx
  cmp    %rdx,%rax
  je     L805
  call   <abort@plt>
L805:
  movl   $0x2,-0x844(%rbp)
  mov    -0x844(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x268(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x260(%rbp)
  mov    -0x260(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L769
  call   <abort@plt>
L769:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x840(%rbp)
  mov    -0x840(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x258(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x250(%rbp)
  mov    -0x250(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L654
  call   <abort@plt>
L654:
  movl   $0x1,-0x83c(%rbp)
  mov    -0x83c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x248(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x240(%rbp)
  mov    -0x240(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L131
  call   <abort@plt>
L131:
  movl   $0x1,-0x838(%rbp)
  mov    -0x838(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x238(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x230(%rbp)
  mov    -0x230(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x18,%rdx
  cmp    %rdx,%rax
  je     L762
  call   <abort@plt>
L762:
  movl   $0x1,-0x834(%rbp)
  mov    -0x834(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x228(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x220(%rbp)
  mov    -0x220(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L631
  call   <abort@plt>
L631:
  movl   $0x2,-0x830(%rbp)
  mov    -0x830(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x218(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x210(%rbp)
  mov    -0x210(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L187
  call   <abort@plt>
L187:
  movl   $0x2,-0x82c(%rbp)
  mov    -0x82c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x208(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x200(%rbp)
  mov    -0x200(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L496
  call   <abort@plt>
L496:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  movl   $0x1,-0x828(%rbp)
  mov    -0x828(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x1f8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x1f0(%rbp)
  mov    -0x1f0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L168
  call   <abort@plt>
L168:
  movl   $0x1,-0x824(%rbp)
  mov    -0x824(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x1e8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x1e0(%rbp)
  mov    -0x1e0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x60,%rdx
  cmp    %rdx,%rax
  je     L240
  call   <abort@plt>
L240:
  movl   $0x1,-0x820(%rbp)
  mov    -0x820(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x1d8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x1d0(%rbp)
  mov    -0x1d0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x30,%rdx
  cmp    %rdx,%rax
  je     L1074
  call   <abort@plt>
L1074:
  movl   $0x1,-0x81c(%rbp)
  mov    -0x81c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  neg    %rax
  lock xadd %rax,-0x138(%rbp)
  mov    %rax,-0x1c8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x1c0(%rbp)
  mov    -0x1c0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L821
  call   <abort@plt>
L821:
  movl   $0x2,-0x818(%rbp)
  mov    -0x818(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x1b8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1b0(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x60,%rdx
  cmp    %rdx,%rax
  je     L502
  call   <abort@plt>
L502:
  movl   $0x2,-0x814(%rbp)
  mov    -0x814(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x4,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x138(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x1a8(%rbp)
  mov    -0x138(%rbp),%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x1a0(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L1082
  call   <abort@plt>
L1082:
  lea    -0x130(%rbp),%rax
  mov    %rax,-0x198(%rbp)
  movl   $0x1,-0x810(%rbp)
  mov    -0x810(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x198(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x198(%rbp),%rax
  mov    %rax,-0x188(%rbp)
  mov    -0x188(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x60,%rdx
  cmp    %rdx,%rax
  je     L980
  call   <abort@plt>
L980:
  movl   $0x1,-0x80c(%rbp)
  mov    -0x80c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  lock xadd %rax,-0x198(%rbp)
  mov    %rax,-0x180(%rbp)
  mov    -0x198(%rbp),%rax
  mov    %rax,-0x178(%rbp)
  mov    -0x178(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc0,%rdx
  cmp    %rdx,%rax
  je     L750
  call   <abort@plt>
L750:
  movl   $0x1,-0x808(%rbp)
  mov    -0x808(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x198(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x170(%rbp)
  mov    -0x198(%rbp),%rax
  mov    %rax,-0x168(%rbp)
  mov    -0x168(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0x60,%rdx
  cmp    %rdx,%rax
  je     L103
  call   <abort@plt>
L103:
  movl   $0x1,-0x804(%rbp)
  mov    -0x804(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  neg    %rax
  lock xadd %rax,-0x198(%rbp)
  mov    %rax,-0x160(%rbp)
  mov    -0x198(%rbp),%rax
  mov    %rax,-0x158(%rbp)
  mov    -0x158(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L560
  call   <abort@plt>
L560:
  movl   $0x2,-0x800(%rbp)
  mov    -0x800(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x198(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x150(%rbp)
  mov    -0x198(%rbp),%rax
  mov    %rax,-0x148(%rbp)
  mov    -0x148(%rbp),%rax
  lea    -0x130(%rbp),%rdx
  add    $0xc0,%rdx
  cmp    %rdx,%rax
  je     L871
  call   <abort@plt>
L871:
  movl   $0x2,-0x7fc(%rbp)
  mov    -0x7fc(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  neg    %rax
  mov    %rax,%rdx
  mov    %rdx,%rax
  lock xadd %rax,-0x198(%rbp)
  add    %rdx,%rax
  mov    %rax,-0x140(%rbp)
  mov    -0x198(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  mov    -0x138(%rbp),%rdx
  lea    -0x130(%rbp),%rax
  cmp    %rax,%rdx
  je     L835
  call   <abort@plt>
L835:
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L763
  call   <__stack_chk_fail@plt>
L763:
  leave
  ret
```

assistant: ```c
int main(void) {
  do {
    _Bool a[3][3];
    _Bool(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    char a[3][3];
    char(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    signed char a[3][3];
    signed char(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    unsigned char a[3][3];
    unsigned char(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    signed short a[3][3];
    signed short(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    unsigned short a[3][3];
    unsigned short(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    signed int a[3][3];
    signed int(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    unsigned int a[3][3];
    unsigned int(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    signed long a[3][3];
    signed long(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    unsigned long a[3][3];
    unsigned long(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    signed long long a[3][3];
    signed long long(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    unsigned long long a[3][3];
    unsigned long long(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    float a[3][3];
    float(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    double a[3][3];
    double(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    long double a[3][3];
    long double(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    _Complex float a[3][3];
    _Complex float(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    _Complex double a[3][3];
    _Complex double(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
  do {
    _Complex long double a[3][3];
    _Complex long double(*_Atomic q)[3] = &a[0];
    ++q;
    if (q != &a[1])
      __builtin_abort();
    q++;
    if (q != &a[2])
      __builtin_abort();
    --q;
    if (q != &a[1])
      __builtin_abort();
    q--;
    if (q != &a[0])
      __builtin_abort();
    q += 2;
    if (q != &a[2])
      __builtin_abort();
    q -= 2;
    if (q != &a[0])
      __builtin_abort();
  } while (0);
}
```