// File: /workspace/github_cpp_makefile_star2_O2/manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImgDisplay::assign()
CImgDisplay& assign() {
      if (is_empty()) return flush();
      Display *const dpy = cimg::X11_attr().display;
      XLockDisplay(dpy);

      // Remove display window from event thread list.
      unsigned int i;
      for (i = 0; i<cimg::X11_attr().nb_wins && cimg::X11_attr().wins[i]!=this; ++i) {}
      for (; i<cimg::X11_attr().nb_wins-1; ++i) cimg::X11_attr().wins[i] = cimg::X11_attr().wins[i+1];
      --cimg::X11_attr().nb_wins;

      // Destroy window, image, colormap and title.
      if (_is_fullscreen && !_is_closed) _desinit_fullscreen();
      XDestroyWindow(dpy,_window);
      _window = 0;
#ifdef cimg_use_xshm
      if (_shminfo) {
        XShmDetach(dpy,_shminfo);
        XDestroyImage(_image);
        shmdt(_shminfo->shmaddr);
        shmctl(_shminfo->shmid,IPC_RMID,0);
        delete _shminfo;
        _shminfo = 0;
      } else
#endif
        XDestroyImage(_image);
      _data = 0; _image = 0;
      if (cimg::X11_attr().nb_bits==8) XFreeColormap(dpy,_colormap);
      _colormap = 0;
      XSync(dpy,0);

      // Reset display variables.
      delete[] _title;
      _width = _height = _normalization = _window_width = _window_height = 0;
      _window_x = _window_y = 0;
      _is_fullscreen = false;
      _is_closed = true;
      _min = _max = 0;
      _title = 0;
      flush();

      XUnlockDisplay(dpy);
      return *this;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
cmpl $0x0, 0x18(%rdi)
je 0x18580
cmpl $0x0, 0x1c(%rbx)
je 0x18580
callq 0x1a004
movq 0x2068(%rax), %r14
movq %r14, %rdi
callq 0x4270
xorl %r15d, %r15d
callq 0x1a004
movl (%rax), %eax
cmpq %rax, %r15
jae 0x1848a
callq 0x1a004
cmpq %rbx, 0x68(%rax,%r15,8)
je 0x1848a
incq %r15
jmp 0x18457
leaq 0x1(%r15), %r12
movq 0x70(%rax,%r15,8), %r13
callq 0x1a004
movq %r13, 0x68(%rax,%r15,8)
movq %r12, %r15
callq 0x1a004
movl (%rax), %r12d
decl %r12d
callq 0x1a004
cmpq %r12, %r15
jb 0x18474
decl (%rax)
cmpb $0x1, 0x30(%rbx)
jne 0x184b8
cmpb $0x0, 0x460(%rbx)
jne 0x184b8
movq %rbx, %rdi
callq 0x1a074
movq 0x4d0(%rbx), %rsi
movq %r14, %rdi
callq 0x4870
andq $0x0, 0x4d0(%rbx)
movq 0x4e8(%rbx), %rdi
callq *0x60(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x4e8(%rbx)
callq 0x1a004
cmpl $0x8, 0x2070(%rax)
jne 0x18500
movq 0x4e0(%rbx), %rsi
movq %r14, %rdi
callq 0x40a0
andq $0x0, 0x4e0(%rbx)
xorl %ebp, %ebp
movq %r14, %rdi
xorl %esi, %esi
callq 0x4a10
movq 0x38(%rbx), %rdi
testq %rdi, %rdi
je 0x18522
callq 0x4670
movl %ebp, 0x44(%rbx)
movl 0x44(%rbx), %eax
movl %eax, 0x40(%rbx)
movl 0x40(%rbx), %eax
movl %eax, 0x20(%rbx)
movl %eax, 0x1c(%rbx)
movl %eax, 0x18(%rbx)
movl %ebp, 0x450(%rbx)
movl 0x450(%rbx), %eax
movl %eax, 0x44c(%rbx)
movb $0x0, 0x30(%rbx)
movb $0x1, 0x460(%rbx)
andq $0x0, 0x28(%rbx)
andq $0x0, 0x38(%rbx)
movq %rbx, %rdi
callq 0x19fb8
movq %r14, %rdi
callq 0x41f0
movq %rbx, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x19fb8