// File: /workspace/github_cpp_makefile_star2_O3/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, %r12
testq %rsi, %rsi
je 0x2ab25
movq %rsi, %r15
cmpb $0x2d, (%rsi)
jne 0x2a55f
movzbl 0x1(%r15), %eax
cmpl $0x2e, %eax
je 0x2a553
testl %eax, %eax
jne 0x2a55f
movq 0xfa66(%rip), %rax      # 0x39fc0
movq (%rax), %rdi
jmp 0x2a571
leaq 0x30a2(%rip), %rsi      # 0x2d608
movq %r15, %rdi
callq 0x3350
movq %rax, %rdi
testq %rdi, %rdi
je 0x2ab8f
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 %r15, %rdi
callq 0x3100
leal 0x1(%rax), %edx
subq $0x8, %rsp
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
movq %r15, %rsi
movl $0x1, %ecx
movl $0x1, %r8d
movl $0x1, %r9d
pushq $0x0
callq 0x18d32
addq $0x10, %rsp
movq %rbx, %rdi
callq 0x185c8
leaq 0x30(%rsp), %rdi
movq %rax, %rsi
callq 0x18b78
cmpb $0x0, 0x10(%rsp)
jne 0x2a605
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2a605
callq 0x3380
cmpq $0x0, 0xfceb(%rip)      # 0x3a2f8
je 0x2a67e
movq 0xfce2(%rip), %rcx      # 0x3a2f8
movq 0x48(%rsp), %r8
leaq 0x5c17(%rip), %rdx      # 0x30239
leaq 0x250(%rsp), %rbx
movl $0x400, %esi            # imm = 0x400
movq %rbx, %rdi
xorl %eax, %eax
callq 0x3460
leaq 0x3086(%rip), %rsi      # 0x2d6c6
movq %rbx, %rdi
callq 0x30a0
testq %rax, %rax
je 0x2a715
movq %rax, %rbx
movl 0xfc7a(%rip), %ebp      # 0x3a2d4
movl $0x0, 0xfc70(%rip)      # 0x3a2d4
movq %r12, %rdi
movq %rax, %rsi
xorl %edx, %edx
callq 0x1654c
movq %rbx, %rdi
callq 0x33b0
jmp 0x2a985
movl $0x400, %edi            # imm = 0x400
callq 0x3040
movq %rax, %rbx
movq %rax, 0xfc66(%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, (%rbx)
movw $0x74, 0x8(%rbx)
leaq 0x3007(%rip), %rsi      # 0x2d6c6
movq %rbx, %rdi
callq 0x3350
testq %rax, %rax
je 0x2a9b0
movq 0xf8e9(%rip), %rcx      # 0x39fc0
cmpq %rax, (%rcx)
je 0x2a60f
movq 0xf8b1(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a60f
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a60f
leaq 0x348d(%rip), %rdi      # 0x2db94
movl %eax, %esi
xorl %eax, %eax
callq 0x9db1
jmp 0x2a60f
movq %r15, 0x20(%rsp)
movq %r12, 0x28(%rsp)
leaq 0xfbf2(%rip), %r13      # 0x3a318
leaq 0x50(%rsp), %rbx
xorl %edi, %edi
xorl %esi, %esi
callq 0x99a7
movq %rax, %r15
cmpb $0x1, 0xfb92(%rip)      # 0x3a2d0
jne 0x2a788
movq %rsp, %rdi
xorl %esi, %esi
callq 0x3480
movabsq $0x20c49ba5e353f7cf, %rax # imm = 0x20C49BA5E353F7CF
imulq 0x8(%rsp)
movq %rdx, %rax
shrq $0x3f, %rax
shrq $0x7, %rdx
addl %edx, %eax
imull $0x3e8, (%rsp), %r12d   # imm = 0x3E8
addl %eax, %r12d
callq 0x33f0
addl %eax, %r12d
movl %r12d, %edi
callq 0x3280
movb $0x0, 0xfb48(%rip)      # 0x3a2d0
xorl %r12d, %r12d
callq 0x3080
movslq %eax, %rbp
imulq $0x55555556, %rbp, %rax # imm = 0x55555556
movq %rax, %rcx
shrq $0x3f, %rcx
shrq $0x20, %rax
addl %ecx, %eax
leal (%rax,%rax,2), %r14d
callq 0x3080
subl %r14d, %ebp
je 0x2a7c1
cmpl $0x1, %ebp
jne 0x2a7cd
movl $0x61, %ecx
jmp 0x2a7d2
movl $0x30, %ecx
movl $0xa, %esi
jmp 0x2a7d7
movl $0x41, %ecx
movl $0x1a, %esi
cltd
idivl %esi
addl %ecx, %edx
movb %dl, (%r12,%r13)
incq %r12
cmpq $0x8, %r12
jne 0x2a78b
movl $0x200, %esi            # imm = 0x200
movq %rbx, %rdi
leaq 0x5ad4(%rip), %rdx      # 0x302cc
movq %r15, %rcx
movl $0x2f, %r8d
movq %r13, %r9
xorl %eax, %eax
callq 0x3460
movq %rbx, %rdi
leaq 0x2df3(%rip), %rsi      # 0x2d608
callq 0x3350
testq %rax, %rax
je 0x2a864
movq 0xf79a(%rip), %rcx      # 0x39fc0
cmpq %rax, (%rcx)
je 0x2a72b
movq 0xf762(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a72b
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a72b
leaq 0x333e(%rip), %rdi      # 0x2db94
movl %eax, %esi
xorl %eax, %eax
callq 0x9db1
jmp 0x2a72b
cmpq $0x0, 0xfa8c(%rip)      # 0x3a2f8
movq 0x28(%rsp), %r12
movq 0x20(%rsp), %r13
je 0x2a9c9
movq 0xfa75(%rip), %rbx      # 0x3a2f8
movq 0x48(%rsp), %r14
leaq 0x50(%rsp), %r15
movq %r15, %rdi
callq 0x3100
leal 0x1(%rax), %edx
subq $0x8, %rsp
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x1, %ecx
movl $0x1, %r8d
movl $0x1, %r9d
pushq $0x0
callq 0x18d32
addq $0x10, %rsp
movq %rsp, %rdi
callq 0x185c8
movq 0x18(%rax), %r9
leaq 0x5a04(%rip), %rdx      # 0x302d7
leaq 0x250(%rsp), %rdi
movl $0x400, %esi            # imm = 0x400
movq %rbx, %rcx
movq %r14, %r8
xorl %eax, %eax
callq 0x3460
cmpb $0x0, 0x10(%rsp)
jne 0x2a903
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2a903
callq 0x3380
cmpq $0x0, 0xf9ed(%rip)      # 0x3a2f8
je 0x2aa60
leaq 0x250(%rsp), %rdi
callq 0x3250
leaq 0x2ce3(%rip), %rsi      # 0x2d608
leaq 0x50(%rsp), %rdi
callq 0x3350
testq %rax, %rax
je 0x2abcd
movq 0xf681(%rip), %rcx      # 0x39fc0
cmpq %rax, (%rcx)
je 0x2a96c
movq 0xf64d(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a96c
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a96c
leaq 0x3231(%rip), %rdi      # 0x2db94
movl %eax, %esi
xorl %eax, %eax
callq 0x9db1
leaq 0x50(%rsp), %rdx
movq %r12, %rdi
xorl %esi, %esi
callq 0x1654c
leaq 0x50(%rsp), %rdi
callq 0x34f0
cmpb $0x0, 0x40(%rsp)
jne 0x2a99b
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x2a99b
callq 0x3380
movq %r12, %rax
addq $0x658, %rsp            # imm = 0x658
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0xf941(%rip), %rax      # 0x3a2f8
movabsq $0x747265766e6f63, %rcx # imm = 0x747265766E6F63
movq %rcx, (%rax)
jmp 0x2a60f
movl $0x400, %edi            # imm = 0x400
callq 0x3040
movq %rax, %rbx
movq %rax, 0xf91b(%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, (%rbx)
movw $0x74, 0x8(%rbx)
leaq 0x2cbc(%rip), %rsi      # 0x2d6c6
movq %rbx, %rdi
callq 0x3350
testq %rax, %rax
je 0x2aaf3
movq 0xf59e(%rip), %rcx      # 0x39fc0
cmpq %rax, (%rcx)
je 0x2a87c
movq 0xf566(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a87c
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a87c
leaq 0x3142(%rip), %rdi      # 0x2db94
movl %eax, %esi
xorl %eax, %eax
callq 0x9db1
jmp 0x2a87c
movl $0x400, %edi            # imm = 0x400
callq 0x3040
movq %rax, %rbx
movq %rax, 0xf884(%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, (%rbx)
movw $0x74, 0x8(%rbx)
leaq 0x2c25(%rip), %rsi      # 0x2d6c6
movq %rbx, %rdi
callq 0x3350
testq %rax, %rax
je 0x2ab0c
movq 0xf50b(%rip), %rcx      # 0x39fc0
cmpq %rax, (%rcx)
je 0x2a911
movq 0xf4d3(%rip), %rcx      # 0x39f98
cmpq %rax, (%rcx)
je 0x2a911
movq %rax, %rdi
callq 0x32b0
testl %eax, %eax
je 0x2a911
leaq 0x30af(%rip), %rdi      # 0x2db94
movl %eax, %esi
xorl %eax, %eax
callq 0x9db1
jmp 0x2a911
movq 0xf7fe(%rip), %rax      # 0x3a2f8
movabsq $0x747265766e6f63, %rcx # imm = 0x747265766E6F63
movq %rcx, (%rax)
jmp 0x2a87c
movq 0xf7e5(%rip), %rax      # 0x3a2f8
movabsq $0x747265766e6f63, %rcx # imm = 0x747265766E6F63
movq %rcx, (%rax)
jmp 0x2a911
movl $0x4008, %edi           # imm = 0x4008
callq 0x3110
movq %rax, %r14
movl (%r12), %edx
movl 0x4(%r12), %ecx
movl 0x8(%r12), %r8d
movl 0xc(%r12), %r9d
leaq 0x5903(%rip), %rax      # 0x3044f
leaq 0x29ac(%rip), %r10      # 0x2d4ff
cmpb $0x0, 0x10(%r12)
cmovneq %rax, %r10
subq $0x8, %rsp
leaq 0x2b52(%rip), %r11      # 0x2d6ba
leaq 0x5661(%rip), %rsi      # 0x301d0
movq %r14, %rdi
xorl %eax, %eax
pushq %r11
pushq %r10
pushq 0x18(%r12)
callq 0x6378
addq $0x20, %rsp
leaq 0xf12b(%rip), %rsi      # 0x39cb8
jmp 0x2abbe
movl $0x4008, %edi           # imm = 0x4008
callq 0x3110
movq %rax, %r14
leaq 0x53cc(%rip), %rsi      # 0x2ff6f
leaq 0x2a5e(%rip), %rcx      # 0x2d608
movq %rax, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0x89a6
leaq 0xf112(%rip), %rsi      # 0x39cd0
movq 0xf413(%rip), %rdx      # 0x39fd8
movq %r14, %rdi
callq 0x34b0
leaq 0x2af2(%rip), %rsi      # 0x2d6c6
movq %r13, %rdi
callq 0x8ab7
movq %rax, %rdi
callq 0x9d57
movl $0x4008, %edi           # imm = 0x4008
callq 0x3110
movq %rax, %r14
movl (%r12), %edx
movl 0x4(%r12), %ecx
movl 0x8(%r12), %r8d
movl 0xc(%r12), %r9d
leaq 0x5844(%rip), %rax      # 0x3044f
leaq 0x28ed(%rip), %r10      # 0x2d4ff
cmpb $0x0, 0x10(%r12)
cmovneq %rax, %r10
leaq 0x2a97(%rip), %r11      # 0x2d6ba
leaq 0x561d(%rip), %rsi      # 0x30247
movq %r14, %rdi
xorl %eax, %eax
pushq %r13
pushq %r11
pushq %r10
pushq 0x18(%r12)
callq 0x89a6
addq $0x20, %rsp
leaq 0xf086(%rip), %rsi      # 0x39cd0
movq 0xf387(%rip), %rdx      # 0x39fd8
movq %r14, %rdi
callq 0x34b0
jmp 0x2ad36
movq %rax, %rbx
movq %r14, %rdi
callq 0x31e0
jmp 0x2ad70
movq %rax, %rbx
cmpb $0x0, 0x10(%rsp)
jne 0x2ad70
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad70
callq 0x3380
jmp 0x2ad70
jmp 0x2ad6d
jmp 0x2ac9b
movq %rax, %rbx
movq %r14, %rdi
callq 0x31e0
jmp 0x2ad86
movq %rax, %rdi
callq 0x30f0
movq %rbx, %rdi
callq 0x33b0
movl %ebp, 0xf613(%rip)      # 0x3a2d4
movl $0x4008, %edi           # imm = 0x4008
callq 0x3110
movq %rax, %r14
movl (%r12), %edx
movl 0x4(%r12), %ecx
movl 0x8(%r12), %r8d
movl 0xc(%r12), %r9d
leaq 0x5767(%rip), %rax      # 0x3044f
leaq 0x2810(%rip), %r10      # 0x2d4ff
cmpb $0x0, 0x10(%r12)
cmovneq %rax, %r10
leaq 0x29ba(%rip), %r11      # 0x2d6ba
leaq 0x5540(%rip), %rsi      # 0x30247
movq %r14, %rdi
xorl %eax, %eax
pushq %r15
pushq %r11
pushq %r10
pushq 0x18(%r12)
callq 0x89a6
addq $0x20, %rsp
leaq 0xefa9(%rip), %rsi      # 0x39cd0
movq 0xf2aa(%rip), %rdx      # 0x39fd8
movq %r14, %rdi
callq 0x34b0
movq %rax, %rbx
jmp 0x2ad46
movq %rax, %rbx
movq %r14, %rdi
callq 0x31e0
callq 0x34a0
jmp 0x2ad70
movq %rax, %rdi
callq 0x50a5
jmp 0x2ad6d
movq %rax, %rbx
cmpb $0x0, 0x10(%rsp)
jne 0x2ad86
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad86
jmp 0x2ad81
movq %rax, %rbx
cmpb $0x0, 0x40(%rsp)
jne 0x2ad86
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x2ad86
callq 0x3380
movq %rbx, %rdi
callq 0x34d0