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

```asm
<main1>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  sub    $0x420,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movl   $0x0,-0x1414(%rbp)
  jmp    L312
L257:
  mov    -0x1414(%rbp),%eax
  mov    %eax,%edx
  mov    -0x1414(%rbp),%eax
  cltq
  mov    %dx,-0x810(%rbp,%rax,2)
  addl   $0x1,-0x1414(%rbp)
L312:
  cmpl   $0x3ff,-0x1414(%rbp)
  jle    L257
  movl   $0x0,-0x1414(%rbp)
  jmp    L443
L26:
  mov    -0x1414(%rbp),%eax
  lea    0x0(,%rax,8),%edx
  mov    -0x1414(%rbp),%eax
  lea    0x0(,%rax,8),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x1(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x1(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x2(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x2(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x3(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x3(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x4(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x4(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x5(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x5(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x6(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x6(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x7(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  lea    0x7(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  cltq
  movl   $0x7,-0x1410(%rbp,%rax,4)
  addl   $0x1,-0x1414(%rbp)
L443:
  cmpl   $0x7f,-0x1414(%rbp)
  jle    L26
  movl   $0x0,-0x1414(%rbp)
  jmp    L403
L95:
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L436
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x1,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x1,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L436
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x2,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x2,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L436
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x3,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x3,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L436
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x4,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x4,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L436
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x5,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x5,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L436
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x6,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x6,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L436
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x7,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x3,%eax
  add    $0x7,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L436
  mov    -0x1414(%rbp),%eax
  cltq
  mov    -0x1410(%rbp,%rax,4),%eax
  cmp    $0x7,%eax
  je     L268
L436:
  call   <abort@plt>
L268:
  addl   $0x1,-0x1414(%rbp)
L403:
  cmpl   $0x7f,-0x1414(%rbp)
  jle    L95
  movl   $0x0,-0x1414(%rbp)
  jmp    L8
L377:
  mov    -0x1414(%rbp),%eax
  lea    0x0(,%rax,4),%edx
  mov    -0x1414(%rbp),%eax
  lea    0x0(,%rax,4),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  lea    0x1(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  lea    0x1(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  lea    0x2(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  lea    0x2(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  lea    0x3(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  lea    0x3(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  cltq
  movl   $0xc,-0x1410(%rbp,%rax,4)
  addl   $0x1,-0x1414(%rbp)
L8:
  cmpl   $0xff,-0x1414(%rbp)
  jle    L377
  movl   $0x0,-0x1414(%rbp)
  jmp    L117
L55:
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L302
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  add    $0x1,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  add    $0x1,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L302
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  add    $0x2,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  add    $0x2,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L302
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  add    $0x3,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x2,%eax
  add    $0x3,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L302
  mov    -0x1414(%rbp),%eax
  cltq
  mov    -0x1410(%rbp,%rax,4),%eax
  cmp    $0xc,%eax
  je     L261
L302:
  call   <abort@plt>
L261:
  addl   $0x1,-0x1414(%rbp)
L117:
  cmpl   $0xff,-0x1414(%rbp)
  jle    L55
  movl   $0x0,-0x1414(%rbp)
  jmp    L370
L373:
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  mov    %eax,%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  mov    %eax,%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x1(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x1(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x2(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x2(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x3(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x3(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x4(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x4(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x5(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x5(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x6(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x6(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x7(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x7(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x8(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x8(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x9(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0x9(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xa(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xa(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xb(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xb(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xc(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xc(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xd(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xd(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xe(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xe(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xf(%rax),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  lea    0xf(%rax),%ecx
  movslq %edx,%rax
  movzwl -0x810(%rbp,%rax,2),%edx
  movslq %ecx,%rax
  mov    %dx,-0x1010(%rbp,%rax,2)
  mov    -0x1414(%rbp),%eax
  cltq
  movl   $0x15,-0x1410(%rbp,%rax,4)
  addl   $0x1,-0x1414(%rbp)
L370:
  cmpl   $0x3f,-0x1414(%rbp)
  jle    L373
  movl   $0x0,-0x1414(%rbp)
  jmp    L79
L410:
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x1,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x1,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x2,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x2,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x3,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x3,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x4,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x4,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x5,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x5,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x6,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x6,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x7,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x7,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x8,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x8,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x9,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0x9,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xa,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xa,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xb,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xb,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xc,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xc,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xd,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xd,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xe,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xe,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xf,%eax
  cltq
  movzwl -0x1010(%rbp,%rax,2),%edx
  mov    -0x1414(%rbp),%eax
  shl    $0x4,%eax
  add    $0xf,%eax
  cltq
  movzwl -0x810(%rbp,%rax,2),%eax
  cmp    %ax,%dx
  jne    L426
  mov    -0x1414(%rbp),%eax
  cltq
  mov    -0x1410(%rbp,%rax,4),%eax
  cmp    $0x15,%eax
  je     L37
L426:
  call   <abort@plt>
L37:
  addl   $0x1,-0x1414(%rbp)
L79:
  cmpl   $0x3f,-0x1414(%rbp)
  jle    L410
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L251
  call   <__stack_chk_fail@plt>
L251:
  leave
  ret
```

assistant: ```c
int main1() {
  int i;
  unsigned short out[128 * 8];
  unsigned short in[128 * 8];
  unsigned int ia[128 * 2];
  for (i = 0; i < 128 * 8; i++) {
    in[i] = i;
    asm volatile("" ::: "memory");
  }
  for (i = 0; i < 128; i++) {
    out[i * 8] = in[i * 8];
    out[i * 8 + 1] = in[i * 8 + 1];
    out[i * 8 + 2] = in[i * 8 + 2];
    out[i * 8 + 3] = in[i * 8 + 3];
    out[i * 8 + 4] = in[i * 8 + 4];
    out[i * 8 + 5] = in[i * 8 + 5];
    out[i * 8 + 6] = in[i * 8 + 6];
    out[i * 8 + 7] = in[i * 8 + 7];
    ia[i] = 7;
  }
  for (i = 0; i < 128; i++) {
    if (out[i * 8] != in[i * 8] || out[i * 8 + 1] != in[i * 8 + 1] || out[i * 8 + 2] != in[i * 8 + 2] || out[i * 8 + 3] != in[i * 8 + 3] || out[i * 8 + 4] != in[i * 8 + 4] || out[i * 8 + 5] != in[i * 8 + 5] || out[i * 8 + 6] != in[i * 8 + 6] || out[i * 8 + 7] != in[i * 8 + 7] || ia[i] != 7)
      abort();
  }
  for (i = 0; i < 128 * 2; i++) {
    out[i * 4] = in[i * 4];
    out[i * 4 + 1] = in[i * 4 + 1];
    out[i * 4 + 2] = in[i * 4 + 2];
    out[i * 4 + 3] = in[i * 4 + 3];
    ia[i] = 12;
  }
  for (i = 0; i < 128 * 2; i++) {
    if (out[i * 4] != in[i * 4] || out[i * 4 + 1] != in[i * 4 + 1] || out[i * 4 + 2] != in[i * 4 + 2] || out[i * 4 + 3] != in[i * 4 + 3] || ia[i] != 12)
      abort();
  }
  for (i = 0; i < 128 / 2; i++) {
    out[i * 16] = in[i * 16];
    out[i * 16 + 1] = in[i * 16 + 1];
    out[i * 16 + 2] = in[i * 16 + 2];
    out[i * 16 + 3] = in[i * 16 + 3];
    out[i * 16 + 4] = in[i * 16 + 4];
    out[i * 16 + 5] = in[i * 16 + 5];
    out[i * 16 + 6] = in[i * 16 + 6];
    out[i * 16 + 7] = in[i * 16 + 7];
    out[i * 16 + 8] = in[i * 16 + 8];
    out[i * 16 + 9] = in[i * 16 + 9];
    out[i * 16 + 10] = in[i * 16 + 10];
    out[i * 16 + 11] = in[i * 16 + 11];
    out[i * 16 + 12] = in[i * 16 + 12];
    out[i * 16 + 13] = in[i * 16 + 13];
    out[i * 16 + 14] = in[i * 16 + 14];
    out[i * 16 + 15] = in[i * 16 + 15];
    ia[i] = 21;
  }
  for (i = 0; i < 128 / 2; i++) {
    if (out[i * 16] != in[i * 16] || out[i * 16 + 1] != in[i * 16 + 1] || out[i * 16 + 2] != in[i * 16 + 2] || out[i * 16 + 3] != in[i * 16 + 3] || out[i * 16 + 4] != in[i * 16 + 4] || out[i * 16 + 5] != in[i * 16 + 5] || out[i * 16 + 6] != in[i * 16 + 6] || out[i * 16 + 7] != in[i * 16 + 7] || out[i * 16 + 8] != in[i * 16 + 8] || out[i * 16 + 9] != in[i * 16 + 9] || out[i * 16 + 10] != in[i * 16 + 10] || out[i * 16 + 11] != in[i * 16 + 11] || out[i * 16 + 12] != in[i * 16 + 12] || out[i * 16 + 13] != in[i * 16 + 13] || out[i * 16 + 14] != in[i * 16 + 14] || out[i * 16 + 15] != in[i * 16 + 15] || ia[i] != 21)
      abort();
  }
  return 0;
}
```