// File: wrighteagle2d[P]wrighteaglebase/Debug/../src/Geometry.cpp
// Function: Circle::Intersection(Circle const&, Vector&, Vector&, double const&) const
int Circle::Intersection(const Circle &C, Vector &v1, Vector &v2,
                         const double &buffer = FLOAT_EPS) const {
  double d, a, b, c, p, q, r;
  double cos_value[2], sin_value[2];
  if (mCenter.Dist(C.Center()) <= buffer &&
      fabs(mRadius - C.Radius()) <= buffer) {
    return -1;
  }

  d = mCenter.Dist(C.Center());
  if (d > mRadius + C.Radius() || d < fabs(mRadius - C.Radius())) {
    return 0;
  }

  a = 2.0 * mRadius * (mCenter.X() - C.Center().X());
  b = 2.0 * mRadius * (mCenter.Y() - C.Center().Y());
  c = C.Radius() * C.Radius() - mRadius * mRadius - mCenter.Dist2(C.Center());
  p = a * a + b * b;
  q = -2.0 * a * c;
  if (fabs(d - mRadius - C.Radius()) <= buffer ||
      fabs(d - fabs(mRadius - C.Radius()) <= buffer)) {
    cos_value[0] = -q / p / 2.0;
    sin_value[0] = sqrt(1 - cos_value[0] * cos_value[0]);

    v1.SetX(mRadius * cos_value[0] + mCenter.X());
    v1.SetY(mRadius * sin_value[0] + mCenter.Y());

    if (fabs(v1.Dist2(C.Center()) - C.Radius() * C.Radius()) >= buffer) {
      v1.SetY(mCenter.Y() - mRadius * sin_value[0]);
    }
    return 1;
  }

  r = c * c - b * b;
  cos_value[0] = (sqrt(q * q - 4.0 * p * r) - q) / p / 2.0;
  cos_value[1] = (-sqrt(q * q - 4.0 * p * r) - q) / p / 2.0;
  sin_value[0] = sqrt(1 - cos_value[0] * cos_value[0]);
  sin_value[1] = sqrt(1 - cos_value[1] * cos_value[1]);

  v1.SetX(mRadius * cos_value[0] + mCenter.X());
  v2.SetX(mRadius * cos_value[1] + mCenter.X());
  v1.SetY(mRadius * sin_value[0] + mCenter.Y());
  v2.SetY(mRadius * sin_value[1] + mCenter.Y());

  if (fabs(v1.Dist2(C.Center()) - C.Radius() * C.Radius()) >= buffer) {
    v1.SetY(mCenter.Y() - mRadius * sin_value[0]);
  }

  if (fabs(v2.Dist2(C.Center()) - C.Radius() * C.Radius()) >= buffer) {
    v2.SetY(mCenter.Y() - mRadius * sin_value[0]);
  }

  if (v1.Dist(v2) <= buffer) {
    if (v1.Y() > 0) {
      v2.SetY(-v2.Y());
    } else {
      v1.SetY(-v1.Y());
    }
  }
  return 2;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x260, %rsp            # imm = 0x260
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49320
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0x1d6d0
movaps %xmm0, %xmm1
movq -0x30(%rbp), %rax
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jb 0x48411
movq -0xf0(%rbp), %rax
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0xf8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd -0xf8(%rbp), %xmm1
subsd (%rax), %xmm1
movaps 0x78c6d(%rip), %xmm0    # 0xc1060
pand %xmm0, %xmm1
movq -0x30(%rbp), %rax
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jb 0x48411
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x48f60
movq -0x18(%rbp), %rdi
callq 0x49320
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0x1d6d0
movq -0xf0(%rbp), %rax
movsd %xmm0, -0x38(%rbp)
movsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x100(%rbp)
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0x108(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd -0x108(%rbp), %xmm1
movsd -0x100(%rbp), %xmm0
addsd (%rax), %xmm1
ucomisd %xmm1, %xmm0
ja 0x484c1
movq -0xf0(%rbp), %rax
movsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x110(%rbp)
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0x118(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd -0x118(%rbp), %xmm0
movsd -0x110(%rbp), %xmm1
subsd (%rax), %xmm0
movaps 0x78ba9(%rip), %xmm2    # 0xc1060
pand %xmm2, %xmm0
ucomisd %xmm1, %xmm0
jbe 0x484cd
movl $0x0, -0x4(%rbp)
jmp 0x48f60
movq -0xf0(%rbp), %rdi
movsd 0x78fd4(%rip), %xmm0    # 0xc14b0
mulsd 0x10(%rdi), %xmm0
movsd %xmm0, -0x148(%rbp)
callq 0x176f0
movsd (%rax), %xmm0
movsd %xmm0, -0x150(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49320
movq %rax, %rdi
callq 0x176f0
movsd -0x150(%rbp), %xmm1
movsd -0x148(%rbp), %xmm0
movq -0xf0(%rbp), %rdi
subsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd 0x78f79(%rip), %xmm0    # 0xc14b0
mulsd 0x10(%rdi), %xmm0
movsd %xmm0, -0x138(%rbp)
callq 0x17700
movsd (%rax), %xmm0
movsd %xmm0, -0x140(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49320
movq %rax, %rdi
callq 0x17700
movsd -0x140(%rbp), %xmm1
movsd -0x138(%rbp), %xmm0
subsd (%rax), %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0x48(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd (%rax), %xmm0
movsd %xmm0, -0x130(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd -0x130(%rbp), %xmm0
movq %rax, %rcx
movq -0xf0(%rbp), %rax
movsd (%rcx), %xmm2
movsd 0x10(%rax), %xmm1
mulsd 0x10(%rax), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x128(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49320
movq -0xf0(%rbp), %rdi
movq %rax, %rsi
callq 0x49040
movq -0xf0(%rbp), %rax
movaps %xmm0, %xmm1
movsd -0x128(%rbp), %xmm0
subsd %xmm1, %xmm0
movsd %xmm0, -0x50(%rbp)
movsd -0x40(%rbp), %xmm0
movsd -0x40(%rbp), %xmm2
movsd -0x48(%rbp), %xmm1
mulsd -0x48(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd 0x789d4(%rip), %xmm0    # 0xc1018
mulsd -0x40(%rbp), %xmm0
mulsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movsd -0x38(%rbp), %xmm0
subsd 0x10(%rax), %xmm0
movsd %xmm0, -0x120(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd -0x120(%rbp), %xmm1
subsd (%rax), %xmm1
movaps 0x789df(%rip), %xmm0    # 0xc1060
pand %xmm0, %xmm1
movq -0x30(%rbp), %rax
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jae 0x4871c
movq -0xf0(%rbp), %rax
movsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x158(%rbp)
movsd 0x10(%rax), %xmm0
movsd %xmm0, -0x160(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd -0x160(%rbp), %xmm1
movsd -0x158(%rbp), %xmm0
movsd (%rax), %xmm2
subsd %xmm2, %xmm1
movaps 0x78980(%rip), %xmm2    # 0xc1060
pand %xmm2, %xmm1
subsd %xmm1, %xmm0
movq -0x30(%rbp), %rax
movsd (%rax), %xmm1
cmplesd %xmm1, %xmm0
movsd 0x78913(%rip), %xmm1    # 0xc1010
pand %xmm1, %xmm0
movaps 0x78958(%rip), %xmm1    # 0xc1060
pand %xmm1, %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x4871c
jp 0x4871c
jmp 0x48968
movsd -0x60(%rbp), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
divsd -0x58(%rbp), %xmm0
movsd 0x78d6b(%rip), %xmm1    # 0xc14b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x80(%rbp), %xmm0
movsd -0x80(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm1, %xmm0
movsd 0x78895(%rip), %xmm1    # 0xc1010
addsd %xmm1, %xmm0
callq 0xa470
movq -0xf0(%rbp), %rdi
movsd %xmm0, -0x90(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x198(%rbp)
movsd 0x10(%rdi), %xmm0
movsd %xmm0, -0x1a8(%rbp)
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x1a0(%rbp)
callq 0x176f0
movsd -0x1a8(%rbp), %xmm0
movsd -0x1a0(%rbp), %xmm2
movq -0x198(%rbp), %rdi
movsd (%rax), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
leaq -0x98(%rbp), %rsi
callq 0x1ee90
movq -0xf0(%rbp), %rdi
movq -0x20(%rbp), %rax
movq %rax, -0x180(%rbp)
movsd 0x10(%rdi), %xmm0
movsd %xmm0, -0x190(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x188(%rbp)
callq 0x17700
movsd -0x190(%rbp), %xmm0
movsd -0x188(%rbp), %xmm2
movq -0x180(%rbp), %rdi
movsd (%rax), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
leaq -0xa0(%rbp), %rsi
callq 0x26210
movq -0x20(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49320
movq -0x178(%rbp), %rdi
movq %rax, %rsi
callq 0x49040
movsd %xmm0, -0x168(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd (%rax), %xmm0
movsd %xmm0, -0x170(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd -0x170(%rbp), %xmm0
movsd -0x168(%rbp), %xmm1
movsd (%rax), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movaps 0x7877e(%rip), %xmm1    # 0xc1060
pand %xmm1, %xmm0
movq -0x30(%rbp), %rax
ucomisd (%rax), %xmm0
jb 0x4895c
movq -0xf0(%rbp), %rdi
movq -0x20(%rbp), %rax
movq %rax, -0x1b0(%rbp)
callq 0x17700
movq -0x1b0(%rbp), %rdi
movq %rax, %rcx
movq -0xf0(%rbp), %rax
movsd (%rcx), %xmm1
movsd 0x10(%rax), %xmm0
movsd -0x90(%rbp), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
leaq -0xa8(%rbp), %rsi
callq 0x26210
movl $0x1, -0x4(%rbp)
jmp 0x48f60
movsd -0x50(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
movsd -0x48(%rbp), %xmm1
mulsd -0x48(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x68(%rbp)
movsd -0x60(%rbp), %xmm0
movsd -0x60(%rbp), %xmm2
movsd 0x798e6(%rip), %xmm1    # 0xc2298
mulsd -0x58(%rbp), %xmm1
mulsd -0x68(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0xa470
subsd -0x60(%rbp), %xmm0
divsd -0x58(%rbp), %xmm0
movsd 0x78abe(%rip), %xmm1    # 0xc14b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x60(%rbp), %xmm0
movsd -0x60(%rbp), %xmm2
movsd 0x7988b(%rip), %xmm1    # 0xc2298
mulsd -0x58(%rbp), %xmm1
mulsd -0x68(%rbp), %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
callq 0xa470
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
subsd -0x60(%rbp), %xmm0
divsd -0x58(%rbp), %xmm0
movsd 0x78a4c(%rip), %xmm1    # 0xc14b0
divsd %xmm1, %xmm0
movsd %xmm0, -0x78(%rbp)
movsd -0x80(%rbp), %xmm0
movsd -0x80(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm1, %xmm0
movsd 0x78576(%rip), %xmm1    # 0xc1010
addsd %xmm1, %xmm0
callq 0xa470
movsd %xmm0, -0x90(%rbp)
movsd -0x78(%rbp), %xmm0
movsd -0x78(%rbp), %xmm1
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm1, %xmm0
movsd 0x78538(%rip), %xmm1    # 0xc1010
addsd %xmm1, %xmm0
callq 0xa470
movq -0xf0(%rbp), %rdi
movsd %xmm0, -0x88(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x218(%rbp)
movsd 0x10(%rdi), %xmm0
movsd %xmm0, -0x228(%rbp)
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x220(%rbp)
callq 0x176f0
movsd -0x228(%rbp), %xmm0
movsd -0x220(%rbp), %xmm2
movq -0x218(%rbp), %rdi
movsd (%rax), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
leaq -0xb0(%rbp), %rsi
callq 0x1ee90
movq -0xf0(%rbp), %rdi
movq -0x28(%rbp), %rax
movq %rax, -0x200(%rbp)
movsd 0x10(%rdi), %xmm0
movsd %xmm0, -0x210(%rbp)
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x208(%rbp)
callq 0x176f0
movsd -0x210(%rbp), %xmm0
movsd -0x208(%rbp), %xmm2
movq -0x200(%rbp), %rdi
movsd (%rax), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
leaq -0xb8(%rbp), %rsi
callq 0x1ee90
movq -0xf0(%rbp), %rdi
movq -0x20(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movsd 0x10(%rdi), %xmm0
movsd %xmm0, -0x1f8(%rbp)
movsd -0x90(%rbp), %xmm0
movsd %xmm0, -0x1f0(%rbp)
callq 0x17700
movsd -0x1f8(%rbp), %xmm0
movsd -0x1f0(%rbp), %xmm2
movq -0x1e8(%rbp), %rdi
movsd (%rax), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
leaq -0xc0(%rbp), %rsi
callq 0x26210
movq -0xf0(%rbp), %rdi
movq -0x28(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movsd 0x10(%rdi), %xmm0
movsd %xmm0, -0x1e0(%rbp)
movsd -0x88(%rbp), %xmm0
movsd %xmm0, -0x1d8(%rbp)
callq 0x17700
movsd -0x1e0(%rbp), %xmm0
movsd -0x1d8(%rbp), %xmm2
movq -0x1d0(%rbp), %rdi
movsd (%rax), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xc8(%rbp)
leaq -0xc8(%rbp), %rsi
callq 0x26210
movq -0x20(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49320
movq -0x1c8(%rbp), %rdi
movq %rax, %rsi
callq 0x49040
movsd %xmm0, -0x1b8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd (%rax), %xmm0
movsd %xmm0, -0x1c0(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd -0x1c0(%rbp), %xmm0
movsd -0x1b8(%rbp), %xmm1
movsd (%rax), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movaps 0x7834e(%rip), %xmm1    # 0xc1060
pand %xmm1, %xmm0
movq -0x30(%rbp), %rax
ucomisd (%rax), %xmm0
jb 0x48d8c
movq -0xf0(%rbp), %rdi
movq -0x20(%rbp), %rax
movq %rax, -0x230(%rbp)
callq 0x17700
movq -0x230(%rbp), %rdi
movq %rax, %rcx
movq -0xf0(%rbp), %rax
movsd (%rcx), %xmm1
movsd 0x10(%rax), %xmm0
movsd -0x90(%rbp), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
leaq -0xd0(%rbp), %rsi
callq 0x26210
movq -0x28(%rbp), %rax
movq %rax, -0x248(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49320
movq -0x248(%rbp), %rdi
movq %rax, %rsi
callq 0x49040
movsd %xmm0, -0x238(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd (%rax), %xmm0
movsd %xmm0, -0x240(%rbp)
movq -0x18(%rbp), %rdi
callq 0x49330
movsd -0x240(%rbp), %xmm0
movsd -0x238(%rbp), %xmm1
movsd (%rax), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movaps 0x78251(%rip), %xmm1    # 0xc1060
pand %xmm1, %xmm0
movq -0x30(%rbp), %rax
ucomisd (%rax), %xmm0
jb 0x48e89
movq -0xf0(%rbp), %rdi
movq -0x28(%rbp), %rax
movq %rax, -0x250(%rbp)
callq 0x17700
movq -0x250(%rbp), %rdi
movq %rax, %rcx
movq -0xf0(%rbp), %rax
movsd (%rcx), %xmm1
movsd 0x10(%rax), %xmm0
movsd -0x90(%rbp), %xmm2
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xd8(%rbp)
leaq -0xd8(%rbp), %rsi
callq 0x26210
movq -0x20(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x1d6d0
movaps %xmm0, %xmm1
movq -0x30(%rbp), %rax
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jb 0x48f59
movq -0x20(%rbp), %rdi
callq 0x17700
movsd (%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0x48f0d
movq -0x28(%rbp), %rax
movq %rax, -0x258(%rbp)
movq -0x28(%rbp), %rdi
callq 0x17700
movq -0x258(%rbp), %rdi
movsd (%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0xe0(%rbp)
leaq -0xe0(%rbp), %rsi
callq 0x26210
jmp 0x48f57
movq -0x20(%rbp), %rax
movq %rax, -0x260(%rbp)
movq -0x20(%rbp), %rdi
callq 0x17700
movq -0x260(%rbp), %rdi
movsd (%rax), %xmm0
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movsd %xmm0, -0xe8(%rbp)
leaq -0xe8(%rbp), %rsi
callq 0x26210
jmp 0x48f59
movl $0x2, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x260, %rsp            # imm = 0x260
popq %rbp
retq
nopl (%rax)