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

```asm
<kernel_dgetrf_pivot_4_vs_lib4>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xa0,%rsp
  mov    %edi,-0x74(%rbp)
  mov    %esi,-0x78(%rbp)
  mov    %rdx,-0x80(%rbp)
  mov    %ecx,-0x84(%rbp)
  mov    %r8,-0x90(%rbp)
  mov    %r9,-0x98(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  cmpl   $0x0,-0x74(%rbp)
  jle    L52
  cmpl   $0x0,-0x78(%rbp)
  jle    L52
  movl   $0x4,-0x68(%rbp)
  mov    -0x74(%rbp),%eax
  sub    $0x4,%eax
  mov    %eax,-0x64(%rbp)
  lea    -0x60(%rbp),%rdi
  lea    -0x70(%rbp),%rsi
  mov    -0x84(%rbp),%ecx
  mov    -0x80(%rbp),%rdx
  mov    -0x74(%rbp),%eax
  mov    %rdi,%r9
  mov    %rsi,%r8
  mov    $0x0,%esi
  mov    %eax,%edi
  mov    $0x0,%eax
  call   <idamax_lib4@plt>
  mov    -0x70(%rbp),%edx
  mov    -0x98(%rbp),%rax
  mov    %edx,(%rax)
  movsd  -0x60(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L305
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L341
L305:
  mov    -0x98(%rbp),%rax
  mov    (%rax),%eax
  test   %eax,%eax
  je     L634
  mov    -0x98(%rbp),%rax
  mov    (%rax),%eax
  cltd
  idivl  -0x68(%rbp)
  imul   -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x98(%rbp),%rax
  mov    (%rax),%eax
  cltd
  idivl  -0x68(%rbp)
  mov    %edx,%eax
  cltq
  add    %rcx,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rax,%rdx
  mov    -0x80(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x4,%edi
  mov    $0x0,%eax
  call   <drowsw_lib@plt>
L634:
  mov    -0x80(%rbp),%rax
  movsd  (%rax),%xmm1
  movsd  D38(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x90(%rbp),%rax
  movsd  %xmm0,(%rax)
  cmpl   $0x3,-0x74(%rbp)
  jle    L412
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x80(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x18,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  movl   $0x0,-0x6c(%rbp)
  jmp    L401
L712:
  mov    -0x40(%rbp),%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x40(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x8,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x10,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x18,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x40(%rbp)
  addl   $0x4,-0x6c(%rbp)
L401:
  mov    -0x64(%rbp),%eax
  sub    $0x3,%eax
  cmp    %eax,-0x6c(%rbp)
  jl     L712
  jmp    L437
L705:
  mov    -0x40(%rbp),%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x40(%rbp),%rax
  movsd  %xmm0,(%rax)
  addq   $0x8,-0x40(%rbp)
  addl   $0x1,-0x6c(%rbp)
L437:
  mov    -0x6c(%rbp),%eax
  cmp    -0x64(%rbp),%eax
  jl     L705
  jmp    L624
L412:
  cmpl   $0x1,-0x74(%rbp)
  jle    L624
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  cmpl   $0x2,-0x74(%rbp)
  jle    L624
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  movsd  -0x60(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  jmp    L624
L341:
  mov    -0x90(%rbp),%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
L624:
  cmpl   $0x1,-0x78(%rbp)
  je     L17
  cmpl   $0x1,-0x74(%rbp)
  je     L17
  cmpl   $0x3,-0x74(%rbp)
  jle    L575
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x58(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  movl   $0x0,-0x6c(%rbp)
  jmp    L265
L386:
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x58(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x40(%rbp)
  addl   $0x4,-0x6c(%rbp)
L265:
  mov    -0x64(%rbp),%eax
  sub    $0x3,%eax
  cmp    %eax,-0x6c(%rbp)
  jl     L386
  jmp    L102
L315:
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addq   $0x8,-0x40(%rbp)
  addl   $0x1,-0x6c(%rbp)
L102:
  mov    -0x6c(%rbp),%eax
  cmp    -0x64(%rbp),%eax
  jl     L315
  jmp    L617
L575:
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x58(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  cmpl   $0x2,-0x74(%rbp)
  jle    L617
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
L617:
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rax,%rdx
  mov    -0x74(%rbp),%eax
  lea    -0x1(%rax),%edi
  lea    -0x58(%rbp),%rsi
  lea    -0x70(%rbp),%rcx
  mov    -0x84(%rbp),%eax
  mov    %rsi,%r9
  mov    %rcx,%r8
  mov    %eax,%ecx
  mov    $0x1,%esi
  mov    $0x0,%eax
  call   <idamax_lib4@plt>
  mov    -0x70(%rbp),%edx
  mov    -0x98(%rbp),%rax
  add    $0x4,%rax
  add    $0x1,%edx
  mov    %edx,(%rax)
  movsd  -0x58(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L126
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L308
L126:
  mov    -0x98(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%eax
  cmp    $0x1,%eax
  je     L721
  mov    -0x98(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%eax
  cltd
  idivl  -0x68(%rbp)
  imul   -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x98(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%eax
  cltd
  idivl  -0x68(%rbp)
  mov    %edx,%eax
  cltq
  add    %rcx,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rax,%rdx
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,%rsi
  mov    $0x4,%edi
  mov    $0x0,%eax
  call   <drowsw_lib@plt>
L721:
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  D38(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  cmpl   $0x3,-0x74(%rbp)
  jle    L733
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  movl   $0x0,-0x6c(%rbp)
  jmp    L393
L422:
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x40(%rbp)
  addl   $0x4,-0x6c(%rbp)
L393:
  mov    -0x64(%rbp),%eax
  sub    $0x3,%eax
  cmp    %eax,-0x6c(%rbp)
  jl     L422
  jmp    L739
L93:
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addq   $0x8,-0x40(%rbp)
  addl   $0x1,-0x6c(%rbp)
L739:
  mov    -0x6c(%rbp),%eax
  cmp    -0x64(%rbp),%eax
  jl     L93
  jmp    L269
L733:
  cmpl   $0x2,-0x74(%rbp)
  jle    L269
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  jmp    L269
L308:
  mov    -0x90(%rbp),%rax
  add    $0x8,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
L269:
  cmpl   $0x2,-0x78(%rbp)
  je     L97
  cmpl   $0x3,-0x74(%rbp)
  jle    L488
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x30(%rbp),%xmm1
  movsd  -0x28(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x30(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x30(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  movl   $0x0,-0x6c(%rbp)
  jmp    L431
L458:
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  (%rax),%xmm1
  mulsd  -0x30(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x58(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x30(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x30(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x30(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x40(%rbp)
  addl   $0x4,-0x6c(%rbp)
L431:
  mov    -0x64(%rbp),%eax
  sub    $0x3,%eax
  cmp    %eax,-0x6c(%rbp)
  jl     L458
  jmp    L58
L201:
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  (%rax),%xmm1
  mulsd  -0x30(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addq   $0x8,-0x40(%rbp)
  addl   $0x1,-0x6c(%rbp)
L58:
  mov    -0x6c(%rbp),%eax
  cmp    -0x64(%rbp),%eax
  jl     L201
  jmp    L593
L488:
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x30(%rbp),%xmm1
  movsd  -0x28(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  cmpl   $0x2,-0x74(%rbp)
  jle    L593
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x30(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
L593:
  cmpl   $0x2,-0x74(%rbp)
  jle    L316
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rax,%rdx
  mov    -0x74(%rbp),%eax
  lea    -0x2(%rax),%edi
  lea    -0x50(%rbp),%rsi
  lea    -0x70(%rbp),%rcx
  mov    -0x84(%rbp),%eax
  mov    %rsi,%r9
  mov    %rcx,%r8
  mov    %eax,%ecx
  mov    $0x2,%esi
  mov    $0x0,%eax
  call   <idamax_lib4@plt>
  mov    -0x70(%rbp),%edx
  mov    -0x98(%rbp),%rax
  add    $0x8,%rax
  add    $0x2,%edx
  mov    %edx,(%rax)
  movsd  -0x50(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L423
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L355
L423:
  mov    -0x98(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cmp    $0x2,%eax
  je     L258
  mov    -0x98(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cltd
  idivl  -0x68(%rbp)
  imul   -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x98(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%eax
  cltd
  idivl  -0x68(%rbp)
  mov    %edx,%eax
  cltq
  add    %rcx,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rax,%rdx
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  mov    %rax,%rsi
  mov    $0x4,%edi
  mov    $0x0,%eax
  call   <drowsw_lib@plt>
L258:
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  D38(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  cmpl   $0x3,-0x74(%rbp)
  jle    L316
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  movl   $0x0,-0x6c(%rbp)
  jmp    L477
L693:
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x40(%rbp)
  addl   $0x4,-0x6c(%rbp)
L477:
  mov    -0x64(%rbp),%eax
  sub    $0x3,%eax
  cmp    %eax,-0x6c(%rbp)
  jl     L693
  jmp    L168
L72:
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addq   $0x8,-0x40(%rbp)
  addl   $0x1,-0x6c(%rbp)
L168:
  mov    -0x6c(%rbp),%eax
  cmp    -0x64(%rbp),%eax
  jl     L72
  jmp    L316
L355:
  mov    -0x90(%rbp),%rax
  add    $0x10,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
L316:
  cmpl   $0x3,-0x78(%rbp)
  jle    L523
  cmpl   $0x3,-0x74(%rbp)
  jle    L507
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x20(%rbp),%xmm1
  movsd  -0x18(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x20(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x80(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x20(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x18(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x68(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  movl   $0x0,-0x6c(%rbp)
  jmp    L727
L550:
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x68(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  (%rax),%xmm1
  mulsd  -0x20(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x58(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x20(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x20(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x20(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x18(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x18(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x18(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x18(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x58(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    $0x1,%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  add    $0x3,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x40(%rbp)
  addl   $0x4,-0x6c(%rbp)
L727:
  mov    -0x64(%rbp),%eax
  sub    $0x3,%eax
  cmp    %eax,-0x6c(%rbp)
  jl     L550
  jmp    L25
L87:
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movsd  (%rax),%xmm1
  mulsd  -0x20(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x18(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  add    %eax,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addq   $0x8,-0x40(%rbp)
  addl   $0x1,-0x6c(%rbp)
L25:
  mov    -0x6c(%rbp),%eax
  cmp    -0x64(%rbp),%eax
  jl     L87
  jmp    L45
L507:
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x80(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x20(%rbp),%xmm1
  movsd  -0x18(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  cmpl   $0x2,-0x74(%rbp)
  jle    L45
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x80(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x20(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x68(%rbp),%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,(%rax)
L45:
  cmpl   $0x3,-0x74(%rbp)
  jle    L217
  mov    -0x68(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rax,%rdx
  mov    -0x74(%rbp),%eax
  lea    -0x3(%rax),%edi
  lea    -0x48(%rbp),%rsi
  lea    -0x70(%rbp),%rcx
  mov    -0x84(%rbp),%eax
  mov    %rsi,%r9
  mov    %rcx,%r8
  mov    %eax,%ecx
  mov    $0x3,%esi
  mov    $0x0,%eax
  call   <idamax_lib4@plt>
  mov    -0x70(%rbp),%edx
  mov    -0x98(%rbp),%rax
  add    $0xc,%rax
  add    $0x3,%edx
  mov    %edx,(%rax)
  movsd  -0x48(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L495
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L116
L495:
  mov    -0x98(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%eax
  cmp    $0x3,%eax
  je     L326
  mov    -0x98(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%eax
  cltd
  idivl  -0x68(%rbp)
  imul   -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x98(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%eax
  cltd
  idivl  -0x68(%rbp)
  mov    %edx,%eax
  cltq
  add    %rcx,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rax,%rdx
  mov    -0x80(%rbp),%rax
  add    $0x18,%rax
  mov    %rax,%rsi
  mov    $0x4,%edi
  mov    $0x0,%eax
  call   <drowsw_lib@plt>
L326:
  mov    -0x68(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  D38(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x90(%rbp),%rax
  add    $0x18,%rax
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  movl   $0x0,-0x6c(%rbp)
  jmp    L40
L211:
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x1,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  add    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x84(%rbp),%eax
  cltq
  shl    $0x3,%rax
  add    %rax,-0x40(%rbp)
  addl   $0x4,-0x6c(%rbp)
L40:
  mov    -0x64(%rbp),%eax
  sub    $0x3,%eax
  cmp    %eax,-0x6c(%rbp)
  jl     L211
  jmp    L188
L683:
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  movsd  -0x48(%rbp),%xmm0
  mov    -0x68(%rbp),%edx
  mov    %edx,%eax
  add    %eax,%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addq   $0x8,-0x40(%rbp)
  addl   $0x1,-0x6c(%rbp)
L188:
  mov    -0x6c(%rbp),%eax
  cmp    -0x64(%rbp),%eax
  jl     L683
  jmp    L217
L116:
  mov    -0x90(%rbp),%rax
  add    $0x18,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  jmp    L217
L52:
  nop
  jmp    L61
L17:
  nop
  jmp    L61
L97:
  nop
  jmp    L61
L523:
  nop
  jmp    L61
L217:
  nop
L61:
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L234
  call   <__stack_chk_fail@plt>
L234:
  leave
  ret
```

tool_calls: name: parse_data
arguments: data_label: D38
data_type: f64

tool: D38: 1

assistant: ```c
void kernel_dgetrf_pivot_4_vs_lib4(int m, int n, double *pA, int sda, double *inv_diag_A, int *ipiv) {
  if (m <= 0 || n <= 0)
    return;
  const int bs = 4;
  int ma = m - 4;
  double tmp0, tmp1, tmp2, tmp3, u_00, u_01, u_02, u_03, u_11, u_12, u_13, u_22, u_23, u_33;
  double *pB;
  int k, idamax;
  idamax_lib4(m - 0, 0, &pA[0 + bs * 0], sda, &idamax, &tmp0);
  ipiv[0] = idamax;
  if (tmp0 != 0.0) {
    if (ipiv[0] != 0)
      drowsw_lib(4, pA + 0, pA + ipiv[0] / bs * bs * sda + ipiv[0] % bs);
    tmp0 = 1.0 / pA[0 + bs * 0];
    inv_diag_A[0] = tmp0;
    if (m >= 4) {
      pA[1 + bs * 0] *= tmp0;
      pA[2 + bs * 0] *= tmp0;
      pA[3 + bs * 0] *= tmp0;
      pB = pA + bs * sda;
      for (k = 0; k < ma - 3; k += 4) {
        pB[0 + bs * 0] *= tmp0;
        pB[1 + bs * 0] *= tmp0;
        pB[2 + bs * 0] *= tmp0;
        pB[3 + bs * 0] *= tmp0;
        pB += bs * sda;
      }
      for (; k < ma; k++) {
        pB[0 + bs * 0] *= tmp0;
        pB += 1;
      }
    } else {
      if (m > 1) {
        pA[1 + bs * 0] *= tmp0;
        if (m > 2)
          pA[2 + bs * 0] *= tmp0;
      }
    }
  } else {
    inv_diag_A[0] = 0.0;
  }
  if (n == 1 || m == 1)
    return;
  if (m >= 4) {
    u_01 = pA[0 + bs * 1];
    tmp1 = pA[1 + bs * 1];
    tmp2 = pA[2 + bs * 1];
    tmp3 = pA[3 + bs * 1];
    tmp1 -= pA[1 + bs * 0] * u_01;
    tmp2 -= pA[2 + bs * 0] * u_01;
    tmp3 -= pA[3 + bs * 0] * u_01;
    pA[1 + bs * 1] = tmp1;
    pA[2 + bs * 1] = tmp2;
    pA[3 + bs * 1] = tmp3;
    pB = pA + bs * sda;
    for (k = 0; k < ma - 3; k += 4) {
      tmp0 = pB[0 + bs * 1];
      tmp1 = pB[1 + bs * 1];
      tmp2 = pB[2 + bs * 1];
      tmp3 = pB[3 + bs * 1];
      tmp0 -= pB[0 + bs * 0] * u_01;
      tmp1 -= pB[1 + bs * 0] * u_01;
      tmp2 -= pB[2 + bs * 0] * u_01;
      tmp3 -= pB[3 + bs * 0] * u_01;
      pB[0 + bs * 1] = tmp0;
      pB[1 + bs * 1] = tmp1;
      pB[2 + bs * 1] = tmp2;
      pB[3 + bs * 1] = tmp3;
      pB += bs * sda;
    }
    for (; k < ma; k++) {
      tmp0 = pB[0 + bs * 1];
      tmp0 -= pB[0 + bs * 0] * u_01;
      pB[0 + bs * 1] = tmp0;
      pB += 1;
    }
  } else {
    u_01 = pA[0 + bs * 1];
    tmp1 = pA[1 + bs * 1];
    tmp1 -= pA[1 + bs * 0] * u_01;
    pA[1 + bs * 1] = tmp1;
    if (m > 2) {
      tmp2 = pA[2 + bs * 1];
      tmp2 -= pA[2 + bs * 0] * u_01;
      pA[2 + bs * 1] = tmp2;
    }
  }
  idamax_lib4(m - 1, 1, &pA[1 + bs * 1], sda, &idamax, &tmp1);
  ipiv[1] = idamax + 1;
  if (tmp1 != 0) {
    if (ipiv[1] != 1)
      drowsw_lib(4, pA + 1, pA + ipiv[1] / bs * bs * sda + ipiv[1] % bs);
    tmp1 = 1.0 / pA[1 + bs * 1];
    inv_diag_A[1] = tmp1;
    if (m >= 4) {
      pA[2 + bs * 1] *= tmp1;
      pA[3 + bs * 1] *= tmp1;
      pB = pA + bs * sda;
      for (k = 0; k < ma - 3; k += 4) {
        pB[0 + bs * 1] *= tmp1;
        pB[1 + bs * 1] *= tmp1;
        pB[2 + bs * 1] *= tmp1;
        pB[3 + bs * 1] *= tmp1;
        pB += bs * sda;
      }
      for (; k < ma; k++) {
        pB[0 + bs * 1] *= tmp1;
        pB += 1;
      }
    } else {
      if (m > 2)
        pA[2 + bs * 1] *= tmp1;
    }
  } else {
    inv_diag_A[1] = 0.0;
  }
  if (n == 2)
    return;
  if (m >= 4) {
    u_02 = pA[0 + bs * 2];
    u_12 = pA[1 + bs * 2];
    u_12 -= pA[1 + bs * 0] * u_02;
    pA[1 + bs * 2] = u_12;
    tmp2 = pA[2 + bs * 2];
    tmp3 = pA[3 + bs * 2];
    tmp2 -= pA[2 + bs * 0] * u_02;
    tmp3 -= pA[3 + bs * 0] * u_02;
    tmp2 -= pA[2 + bs * 1] * u_12;
    tmp3 -= pA[3 + bs * 1] * u_12;
    pA[2 + bs * 2] = tmp2;
    pA[3 + bs * 2] = tmp3;
    pB = pA + bs * sda;
    for (k = 0; k < ma - 3; k += 4) {
      tmp0 = pB[0 + bs * 2];
      tmp1 = pB[1 + bs * 2];
      tmp2 = pB[2 + bs * 2];
      tmp3 = pB[3 + bs * 2];
      tmp0 -= pB[0 + bs * 0] * u_02;
      tmp1 -= pB[1 + bs * 0] * u_02;
      tmp2 -= pB[2 + bs * 0] * u_02;
      tmp3 -= pB[3 + bs * 0] * u_02;
      tmp0 -= pB[0 + bs * 1] * u_12;
      tmp1 -= pB[1 + bs * 1] * u_12;
      tmp2 -= pB[2 + bs * 1] * u_12;
      tmp3 -= pB[3 + bs * 1] * u_12;
      pB[0 + bs * 2] = tmp0;
      pB[1 + bs * 2] = tmp1;
      pB[2 + bs * 2] = tmp2;
      pB[3 + bs * 2] = tmp3;
      pB += bs * sda;
    }
    for (; k < ma; k++) {
      tmp0 = pB[0 + bs * 2];
      tmp0 -= pB[0 + bs * 0] * u_02;
      tmp0 -= pB[0 + bs * 1] * u_12;
      pB[0 + bs * 2] = tmp0;
      pB += 1;
    }
  } else {
    u_02 = pA[0 + bs * 2];
    u_12 = pA[1 + bs * 2];
    u_12 -= pA[1 + bs * 0] * u_02;
    pA[1 + bs * 2] = u_12;
    if (m > 2) {
      tmp2 = pA[2 + bs * 2];
      tmp2 -= pA[2 + bs * 0] * u_02;
      tmp2 -= pA[2 + bs * 1] * u_12;
      pA[2 + bs * 2] = tmp2;
    }
  }
  if (m > 2) {
    idamax_lib4(m - 2, 2, &pA[2 + bs * 2], sda, &idamax, &tmp2);
    ipiv[2] = idamax + 2;
    if (tmp2 != 0) {
      if (ipiv[2] != 2)
        drowsw_lib(4, pA + 2, pA + ipiv[2] / bs * bs * sda + ipiv[2] % bs);
      tmp2 = 1.0 / pA[2 + bs * 2];
      inv_diag_A[2] = tmp2;
      if (m >= 4) {
        pA[3 + bs * 2] *= tmp2;
        pB = pA + bs * sda;
        for (k = 0; k < ma - 3; k += 4) {
          pB[0 + bs * 2] *= tmp2;
          pB[1 + bs * 2] *= tmp2;
          pB[2 + bs * 2] *= tmp2;
          pB[3 + bs * 2] *= tmp2;
          pB += bs * sda;
        }
        for (; k < ma; k++) {
          pB[0 + bs * 2] *= tmp2;
          pB += 1;
        }
      }
    } else {
      inv_diag_A[2] = 0.0;
    }
  }
  if (n < 4)
    return;
  if (m >= 4) {
    u_03 = pA[0 + bs * 3];
    u_13 = pA[1 + bs * 3];
    u_13 -= pA[1 + bs * 0] * u_03;
    pA[1 + bs * 3] = u_13;
    u_23 = pA[2 + bs * 3];
    u_23 -= pA[2 + bs * 0] * u_03;
    u_23 -= pA[2 + bs * 1] * u_13;
    pA[2 + bs * 3] = u_23;
    tmp3 = pA[3 + bs * 3];
    tmp3 -= pA[3 + bs * 0] * u_03;
    tmp3 -= pA[3 + bs * 1] * u_13;
    tmp3 -= pA[3 + bs * 2] * u_23;
    pA[3 + bs * 3] = tmp3;
    pB = pA + bs * sda;
    for (k = 0; k < ma - 3; k += 4) {
      tmp0 = pB[0 + bs * 3];
      tmp1 = pB[1 + bs * 3];
      tmp2 = pB[2 + bs * 3];
      tmp3 = pB[3 + bs * 3];
      tmp0 -= pB[0 + bs * 0] * u_03;
      tmp1 -= pB[1 + bs * 0] * u_03;
      tmp2 -= pB[2 + bs * 0] * u_03;
      tmp3 -= pB[3 + bs * 0] * u_03;
      tmp0 -= pB[0 + bs * 1] * u_13;
      tmp1 -= pB[1 + bs * 1] * u_13;
      tmp2 -= pB[2 + bs * 1] * u_13;
      tmp3 -= pB[3 + bs * 1] * u_13;
      tmp0 -= pB[0 + bs * 2] * u_23;
      tmp1 -= pB[1 + bs * 2] * u_23;
      tmp2 -= pB[2 + bs * 2] * u_23;
      tmp3 -= pB[3 + bs * 2] * u_23;
      pB[0 + bs * 3] = tmp0;
      pB[1 + bs * 3] = tmp1;
      pB[2 + bs * 3] = tmp2;
      pB[3 + bs * 3] = tmp3;
      pB += bs * sda;
    }
    for (; k < ma; k++) {
      tmp0 = pB[0 + bs * 3];
      tmp0 -= pB[0 + bs * 0] * u_03;
      tmp0 -= pB[0 + bs * 1] * u_13;
      tmp0 -= pB[0 + bs * 2] * u_23;
      pB[0 + bs * 3] = tmp0;
      pB += 1;
    }
  } else {
    u_03 = pA[0 + bs * 3];
    u_13 = pA[1 + bs * 3];
    u_13 -= pA[1 + bs * 0] * u_03;
    pA[1 + bs * 3] = u_13;
    if (m > 2) {
      u_23 = pA[2 + bs * 3];
      u_23 -= pA[2 + bs * 0] * u_03;
      u_23 -= pA[2 + bs * 1] * u_13;
      pA[2 + bs * 3] = u_23;
    }
  }
  if (m > 3) {
    idamax_lib4(m - 3, 3, &pA[3 + bs * 3], sda, &idamax, &tmp3);
    ipiv[3] = idamax + 3;
    if (tmp3 != 0) {
      if (ipiv[3] != 3)
        drowsw_lib(4, pA + 3, pA + ipiv[3] / bs * bs * sda + ipiv[3] % bs);
      tmp3 = 1.0 / pA[3 + bs * 3];
      inv_diag_A[3] = tmp3;
      pB = pA + bs * sda;
      for (k = 0; k < ma - 3; k += 4) {
        pB[0 + bs * 3] *= tmp3;
        pB[1 + bs * 3] *= tmp3;
        pB[2 + bs * 3] *= tmp3;
        pB[3 + bs * 3] *= tmp3;
        pB += bs * sda;
      }
      for (; k < ma; k++) {
        pB[0 + bs * 3] *= tmp3;
        pB += 1;
      }
    } else {
      inv_diag_A[3] = 0.0;
    }
  }
  return;
}
```