// File: manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImgList<double>::load_gif_external(char const*)
CImgList<T>& load_gif_external(const char *const filename) {
      if (!filename)
        throw CImgArgumentException(_cimglist_instance
                                    "load_gif_external(): Specified filename is (null).",
                                    cimglist_instance);
      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
      if (!_load_gif_external(filename,false))
        if (!_load_gif_external(filename,true))
          try { assign(CImg<T>().load_other(filename)); } catch (CImgException&) { assign(); }
      if (is_empty())
        throw CImgIOException(_cimglist_instance
                              "load_gif_external(): Failed to open file '%s'.",
                              cimglist_instance,filename);
      return *this;
    }

// Assembly:
subq $0xa8, %rsp
movq %rdi, 0xa0(%rsp)
movq %rsi, 0x98(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x58(%rsp)
cmpq $0x0, 0x98(%rsp)
jne 0x7c66e
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x38(%rsp)
movl (%rax), %ecx
movl %ecx, 0x40(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x44(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x48(%rsp)
callq 0x7c860
movq %rax, 0x50(%rsp)
jmp 0x7c60c
movq 0x50(%rsp), %r9
movq 0x48(%rsp), %r8
movl 0x44(%rsp), %ecx
movl 0x40(%rsp), %edx
movq 0x38(%rsp), %rdi
leaq 0x6d949(%rip), %rsi     # 0xe9f73
xorl %eax, %eax
callq 0x12220
jmp 0x7c633
movq 0x38(%rsp), %rdi
leaq 0x83521(%rip), %rsi     # 0xffb60
leaq -0x6a1e6(%rip), %rdx    # 0x12460
callq 0x5920
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
callq 0x53a0
jmp 0x7c850
movq 0x98(%rsp), %rdi
leaq 0x6cae1(%rip), %rsi     # 0xe915e
callq 0x654a0
movq %rax, %rdi
callq 0x5530
movq 0x58(%rsp), %rdi
movq 0x98(%rsp), %rsi
xorl %edx, %edx
callq 0x7c870
movq %rax, %rdi
callq 0x7cf60
cmpq $0x0, %rax
jne 0x7c78a
movq 0x58(%rsp), %rdi
movq 0x98(%rsp), %rsi
movl $0x1, %edx
callq 0x7c870
movq %rax, %rdi
callq 0x7cf60
cmpq $0x0, %rax
jne 0x7c788
leaq 0x68(%rsp), %rdi
callq 0xb6c0
jmp 0x7c6e5
movq 0x98(%rsp), %rsi
leaq 0x68(%rsp), %rdi
callq 0x65ba0
movq %rax, 0x30(%rsp)
jmp 0x7c6fe
movq 0x30(%rsp), %rsi
movq 0x58(%rsp), %rdi
xorl %edx, %edx
callq 0x7cf70
jmp 0x7c711
leaq 0x68(%rsp), %rdi
callq 0xa540
jmp 0x7c786
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0x7c751
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x68(%rsp), %rdi
callq 0xa540
movl 0x8c(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x7c850
movq 0x90(%rsp), %rdi
callq 0x51e0
movq 0x58(%rsp), %rdi
movq %rax, 0x60(%rsp)
callq 0x5cdc0
callq 0x58d0
jmp 0x7c788
jmp 0x7c78a
movq 0x58(%rsp), %rdi
callq 0x5ce60
testb $0x1, %al
jne 0x7c79d
jmp 0x7c843
movl $0x4008, %edi           # imm = 0x4008
callq 0x5240
movq %rax, %rcx
movq 0x58(%rsp), %rax
movq %rcx, 0x10(%rsp)
movl (%rax), %ecx
movl %ecx, 0x18(%rsp)
movl 0x4(%rax), %ecx
movl %ecx, 0x1c(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x20(%rsp)
callq 0x7c860
movq %rax, 0x28(%rsp)
jmp 0x7c7d6
movq 0x28(%rsp), %r9
movq 0x20(%rsp), %r8
movl 0x1c(%rsp), %ecx
movl 0x18(%rsp), %edx
movq 0x10(%rsp), %rdi
movq 0x98(%rsp), %rsi
movq %rsp, %rax
movq %rsi, (%rax)
leaq 0x6d7c7(%rip), %rsi     # 0xe9fc9
xorl %eax, %eax
callq 0x5c880
jmp 0x7c80b
movq 0x10(%rsp), %rdi
leaq 0x83459(%rip), %rsi     # 0xffc70
leaq -0x1fd5e(%rip), %rdx    # 0x5cac0
callq 0x5920
movq 0x10(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
callq 0x53a0
jmp 0x7c850
movq 0x58(%rsp), %rax
addq $0xa8, %rsp
retq
movq 0x90(%rsp), %rdi
callq 0x5970
nopl (%rax)