// File: /workspace/github_cpp_makefile_star2_O1/kallaballa[P]PixelStencil/./CImg.h
// Function: cimg_library::CImg<unsigned char>::load_imagemagick_external(char const*)
CImg<T>& load_imagemagick_external(const char *const filename) {
      if (!filename)
        throw CImgArgumentException(_cimg_instance
                                    "load_imagemagick_external(): Specified filename is (null).",
                                    cimg_instance);
      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
      char command[1024] = { 0 }, filetmp[512] = { 0 };
      std::FILE *file = 0;
      const CImg<charT> s_filename = CImg<charT>::string(filename)._system_strescape();
#if cimg_OS==1
      cimg_snprintf(command,sizeof(command),"%s \"%s\" pnm:-",
                    cimg::imagemagick_path(),s_filename.data());
      file = popen(command,"r");
      if (file) {
        const unsigned int omode = cimg::exception_mode();
        cimg::exception_mode() = 0;
        try { load_pnm(file); } catch (...) {
          pclose(file);
          cimg::exception_mode() = omode;
          throw CImgIOException(_cimg_instance
                                "load_imagemagick_external(): Failed to load file '%s' with external command 'convert'.",
                                cimg_instance,
                                filename);
        }
        pclose(file);
        return *this;
      }
#endif
      do {
        cimg_snprintf(filetmp,sizeof(filetmp),"%s%c%s.pnm",cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
        if ((file=std::fopen(filetmp,"rb"))!=0) cimg::fclose(file);
      } while (file);
      cimg_snprintf(command,sizeof(command),"%s \"%s\" \"%s\"",
                    cimg::imagemagick_path(),s_filename.data(),CImg<charT>::string(filetmp)._system_strescape().data());
      cimg::system(command,cimg::imagemagick_path());
      if (!(file = std::fopen(filetmp,"rb"))) {
        cimg::fclose(cimg::fopen(filename,"r"));
        throw CImgIOException(_cimg_instance
                              "load_imagemagick_external(): Failed to load file '%s' with external command 'convert'.",
                              cimg_instance,
                              filename);

      } else cimg::fclose(file);
      load_pnm(filetmp);
      std::remove(filetmp);
      return *this;
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x658, %rsp            # imm = 0x658
movq %rdi, %r13
testq %rsi, %rsi
je 0x2ab1b
movq %rsi, %r14
cmpb $0x2d, (%rsi)
jne 0x2a621
movzbl 0x1(%r14), %eax
cmpl $0x2e, %eax
je 0x2a615
testl %eax, %eax
jne 0x2a621
movq 0xf9a4(%rip), %rax      # 0x39fc0
movq (%rax), %rdi
jmp 0x2a633
leaq 0x2f60(%rip), %rsi      # 0x2d588
movq %r14, %rdi
callq 0x3350
movq %rax, %rdi
testq %rdi, %rdi
je 0x2ab8d
callq 0x32b0
leaq 0x250(%rsp), %rdi
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x3150
leaq 0x50(%rsp), %rdi
movl $0x200, %edx            # imm = 0x200
xorl %esi, %esi
callq 0x3150
movq %r14, %rdi
callq 0x3100
leal 0x1(%rax), %edx
subq $0x8, %rsp
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %ecx
movl $0x1, %r8d
movl $0x1, %r9d
pushq $0x0
callq 0x184de
addq $0x10, %rsp
movq %rbx, %rdi
callq 0x17d84
leaq 0x30(%rsp), %rdi
movq %rax, %rsi
callq 0x18324
cmpb $0x0, 0x10(%rsp)
jne 0x2a6c7
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2a6c7
callq 0x3380
cmpq $0x0, 0xfc29(%rip)      # 0x3a2f8
je 0x2a740
movq 0xfc20(%rip), %rcx      # 0x3a2f8
movq 0x48(%rsp), %r8
leaq 0x5ad5(%rip), %rdx      # 0x301b9
leaq 0x250(%rsp), %rbx
movl $0x400, %esi            # imm = 0x400
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3460
leaq 0x2f44(%rip), %rsi      # 0x2d646
movq %rbx, %rdi
callq 0x30a0
testq %rax, %rax
je 0x2a7d8
movq %rax, %r15
movl 0xfbb8(%rip), %ebx      # 0x3a2d4
movl $0x0, 0xfbae(%rip)      # 0x3a2d4
movq %r13, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x15d80
movq %r15, %rdi
callq 0x33b0
jmp 0x2a987
movl $0x400, %edi            # imm = 0x400
callq 0x3040
movq %rax, %r15
movq %rax, 0xfba4(%rip)      # 0x3a2f8
movq %rax, %rdi
addq $0xa, %rdi
movl $0x3f6, %edx            # imm = 0x3F6
xorl %esi, %esi
callq 0x3150
movabsq $0x7265766e6f632f2e, %rax # imm = 0x7265766E6F632F2E
movq %rax, (%r15)
movw $0x74, 0x8(%r15)
leaq 0x2ec4(%rip), %rsi      # 0x2d646
movq %r15, %rdi
callq 0x3350
testq %rax, %rax
je 0x2a9b2
movq 0xf826(%rip), %rcx      # 0x39fc0
cmpq %rax, (%rcx)
je 0x2a6d1
movq 0xf7ee(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a6d1
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a6d1
leaq 0x334a(%rip), %rdi      # 0x2db14
movl %eax, %esi
xorl %eax, %eax
callq 0x9991
jmp 0x2a6d1
movq %r14, 0x20(%rsp)
movq %r13, 0x28(%rsp)
leaq 0x5a63(%rip), %r15      # 0x3024c
leaq 0x50(%rsp), %r12
leaq 0x2d93(%rip), %r13      # 0x2d588
movq 0xf7c4(%rip), %r14      # 0x39fc0
leaq 0x3311(%rip), %rbp      # 0x2db14
xorl %edi, %edi
xorl %esi, %esi
callq 0x956b
movq %rax, %rbx
callq 0x9a8e
movl $0x200, %esi            # imm = 0x200
movq %r12, %rdi
movq %r15, %rdx
movq %rbx, %rcx
movl $0x2f, %r8d
movq %rax, %r9
xorl %eax, %eax
callq 0x3460
movq %r12, %rdi
movq %r13, %rsi
callq 0x3350
testq %rax, %rax
je 0x2a86d
cmpq %rax, (%r14)
je 0x2a803
movq 0xf74a(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a803
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a803
movq %rbp, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x9991
jmp 0x2a803
cmpq $0x0, 0xfa83(%rip)      # 0x3a2f8
movq 0x28(%rsp), %r13
movq 0x20(%rsp), %rbp
je 0x2a9cb
movq 0xfa6c(%rip), %r15      # 0x3a2f8
movq 0x48(%rsp), %r12
leaq 0x50(%rsp), %rbx
movq %rbx, %rdi
callq 0x3100
leal 0x1(%rax), %edx
subq $0x8, %rsp
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
movl $0x1, %ecx
movl $0x1, %r8d
movl $0x1, %r9d
pushq $0x0
callq 0x184de
addq $0x10, %rsp
movq %rsp, %rdi
callq 0x17d84
movq 0x18(%rax), %r9
leaq 0x597b(%rip), %rdx      # 0x30257
leaq 0x250(%rsp), %rdi
movl $0x400, %esi            # imm = 0x400
movq %r15, %rcx
movq %r12, %r8
xorl %eax, %eax
callq 0x3460
cmpb $0x0, 0x10(%rsp)
jne 0x2a90c
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2a90c
callq 0x3380
cmpq $0x0, 0xf9e4(%rip)      # 0x3a2f8
je 0x2aa5c
leaq 0x250(%rsp), %rdi
callq 0x3250
leaq 0x2c5a(%rip), %rsi      # 0x2d588
leaq 0x50(%rsp), %rdi
callq 0x3350
testq %rax, %rax
je 0x2abcb
cmpq %rax, (%r14)
je 0x2a96e
movq 0xf64b(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a96e
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a96e
leaq 0x31af(%rip), %rdi      # 0x2db14
movl %eax, %esi
xorl %eax, %eax
callq 0x9991
leaq 0x50(%rsp), %rdx
movq %r13, %rdi
xorl %esi, %esi
callq 0x15d80
leaq 0x50(%rsp), %rdi
callq 0x34f0
cmpb $0x0, 0x40(%rsp)
jne 0x2a99d
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x2a99d
callq 0x3380
movq %r13, %rax
addq $0x658, %rsp            # imm = 0x658
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0xf93f(%rip), %rax      # 0x3a2f8
movabsq $0x747265766e6f63, %rcx # imm = 0x747265766E6F63
movq %rcx, (%rax)
jmp 0x2a6d1
movl $0x400, %edi            # imm = 0x400
callq 0x3040
movq %rax, %r15
movq %rax, 0xf919(%rip)      # 0x3a2f8
movq %rax, %rdi
addq $0xa, %rdi
movl $0x3f6, %edx            # imm = 0x3F6
xorl %esi, %esi
callq 0x3150
movabsq $0x7265766e6f632f2e, %rax # imm = 0x7265766E6F632F2E
movq %rax, (%r15)
movw $0x74, 0x8(%r15)
leaq 0x2c39(%rip), %rsi      # 0x2d646
movq %r15, %rdi
callq 0x3350
testq %rax, %rax
je 0x2aae9
cmpq %rax, (%r14)
je 0x2a885
movq 0xf56a(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a885
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a885
leaq 0x30c6(%rip), %rdi      # 0x2db14
movl %eax, %esi
xorl %eax, %eax
callq 0x9991
jmp 0x2a885
movl $0x400, %edi            # imm = 0x400
callq 0x3040
movq %rax, %r15
movq %rax, 0xf888(%rip)      # 0x3a2f8
movq %rax, %rdi
addq $0xa, %rdi
movl $0x3f6, %edx            # imm = 0x3F6
xorl %esi, %esi
callq 0x3150
movabsq $0x7265766e6f632f2e, %rax # imm = 0x7265766E6F632F2E
movq %rax, (%r15)
movw $0x74, 0x8(%r15)
leaq 0x2ba8(%rip), %rsi      # 0x2d646
movq %r15, %rdi
callq 0x3350
testq %rax, %rax
je 0x2ab02
cmpq %rax, (%r14)
je 0x2a91a
movq 0xf4dd(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a91a
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a91a
leaq 0x3039(%rip), %rdi      # 0x2db14
movl %eax, %esi
xorl %eax, %eax
callq 0x9991
jmp 0x2a91a
movq 0xf808(%rip), %rax      # 0x3a2f8
movabsq $0x747265766e6f63, %rcx # imm = 0x747265766E6F63
movq %rcx, (%rax)
jmp 0x2a885
movq 0xf7ef(%rip), %rax      # 0x3a2f8
movabsq $0x747265766e6f63, %rcx # imm = 0x747265766E6F63
movq %rcx, (%rax)
jmp 0x2a91a
movl $0x4008, %edi           # imm = 0x4008
callq 0x3110
movq %rax, %r14
movl (%r13), %edx
movl 0x4(%r13), %ecx
movl 0x8(%r13), %r8d
movl 0xc(%r13), %r9d
leaq 0x5890(%rip), %rax      # 0x303cf
leaq 0x2939(%rip), %r10      # 0x2d47f
cmpb $0x0, 0x10(%r13)
cmovneq %rax, %r10
subq $0x8, %rsp
leaq 0x2ae0(%rip), %r11      # 0x2d63a
leaq 0x55ef(%rip), %rsi      # 0x30150
movq %r14, %rdi
xorl %eax, %eax
pushq %r11
pushq %r10
pushq 0x18(%r13)
callq 0x641a
addq $0x20, %rsp
leaq 0xf112(%rip), %rsi      # 0x39c90
movq 0xf453(%rip), %rdx      # 0x39fd8
movq %r14, %rdi
callq 0x34b0
movl $0x4008, %edi           # imm = 0x4008
callq 0x3110
movq %rax, %r15
leaq 0x534e(%rip), %rsi      # 0x2feef
leaq 0x29e0(%rip), %rcx      # 0x2d588
movq %rax, %rdi
movq %r14, %rdx
xorl %eax, %eax
callq 0x8558
leaq 0xf0ec(%rip), %rsi      # 0x39ca8
movq 0xf415(%rip), %rdx      # 0x39fd8
movq %r15, %rdi
callq 0x34b0
leaq 0x2a74(%rip), %rsi      # 0x2d646
movq %rbp, %rdi
callq 0x8669
movq %rax, %rdi
callq 0x9940
movl $0x4008, %edi           # imm = 0x4008
callq 0x3110
movq %rax, %r15
movl (%r13), %edx
movl 0x4(%r13), %ecx
movl 0x8(%r13), %r8d
movl 0xc(%r13), %r9d
leaq 0x57c9(%rip), %rax      # 0x303cf
leaq 0x2872(%rip), %r10      # 0x2d47f
cmpb $0x0, 0x10(%r13)
cmovneq %rax, %r10
leaq 0x2a1d(%rip), %r11      # 0x2d63a
leaq 0x55a3(%rip), %rsi      # 0x301c7
movq %r15, %rdi
xorl %eax, %eax
pushq %rbp
pushq %r11
pushq %r10
pushq 0x18(%r13)
callq 0x8558
addq $0x20, %rsp
leaq 0xf066(%rip), %rsi      # 0x39ca8
movq 0xf38f(%rip), %rdx      # 0x39fd8
movq %r15, %rdi
callq 0x34b0
jmp 0x2ad2f
movq %rax, %rbx
movq %r15, %rdi
callq 0x31e0
jmp 0x2ad69
movq %rax, %rbx
cmpb $0x0, 0x10(%rsp)
jne 0x2ad69
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad69
callq 0x3380
jmp 0x2ad69
jmp 0x2ad66
movq %rax, %rbx
movq %r15, %rdi
jmp 0x2ac9f
movq %rax, %rbx
movq %r14, %rdi
callq 0x31e0
jmp 0x2ad7f
movq %rax, %rdi
callq 0x30f0
movq %r15, %rdi
callq 0x33b0
movl %ebx, 0xf615(%rip)      # 0x3a2d4
movl $0x4008, %edi           # imm = 0x4008
callq 0x3110
movq %rax, %r15
movl (%r13), %edx
movl 0x4(%r13), %ecx
movl 0x8(%r13), %r8d
movl 0xc(%r13), %r9d
leaq 0x56ec(%rip), %rax      # 0x303cf
leaq 0x2795(%rip), %r10      # 0x2d47f
cmpb $0x0, 0x10(%r13)
cmovneq %rax, %r10
leaq 0x2940(%rip), %r11      # 0x2d63a
leaq 0x54c6(%rip), %rsi      # 0x301c7
movq %r15, %rdi
xorl %eax, %eax
pushq %r14
pushq %r11
pushq %r10
pushq 0x18(%r13)
callq 0x8558
addq $0x20, %rsp
leaq 0xef88(%rip), %rsi      # 0x39ca8
movq 0xf2b1(%rip), %rdx      # 0x39fd8
movq %r15, %rdi
callq 0x34b0
movq %rax, %rbx
jmp 0x2ad3f
movq %rax, %rbx
movq %r15, %rdi
callq 0x31e0
callq 0x34a0
jmp 0x2ad69
movq %rax, %rdi
callq 0x50b4
jmp 0x2ad66
movq %rax, %rbx
cmpb $0x0, 0x10(%rsp)
jne 0x2ad7f
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad7f
jmp 0x2ad7a
movq %rax, %rbx
cmpb $0x0, 0x40(%rsp)
jne 0x2ad7f
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad7f
callq 0x3380
movq %rbx, %rdi
callq 0x34d0
nop