// File: /workspace/github_cpp_makefile_star2_O2/manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::cimg::medcon_path(char const*, bool)
inline const char* medcon_path(const char *const user_path=0, const bool reinit_path=false) {
      static char *s_path = 0;
      cimg::mutex(7);
      if (reinit_path) { delete[] s_path; s_path = 0; }
      if (user_path) {
        if (!s_path) s_path = new char[1024];
        std::memset(s_path,0,1024);
        std::strncpy(s_path,user_path,1023);
      } else if (!s_path) {
        s_path = new char[1024];
        std::memset(s_path,0,1024);
        bool path_found = false;
        std::FILE *file = 0;
#if cimg_OS==2
        const char *const pf_path = programfiles_path();
        if (!path_found) {
          std::strcpy(s_path,".\\medcon.exe");
          if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
        }
        if (!path_found) {
          cimg_snprintf(s_path,sizeof(s_path),"%s\\XMedCon\\bin\\medcon.bat",pf_path);
          if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
        }
        if (!path_found) {
          cimg_snprintf(s_path,sizeof(s_path),"%s\\XMedCon\\bin\\medcon.exe",pf_path);
          if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
        }
        if (!path_found) {
          std::strcpy(s_path,"C:\\XMedCon\\bin\\medcon.exe");
          if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
        }
        if (!path_found) std::strcpy(s_path,"medcon.exe");
#else
        if (!path_found) {
          std::strcpy(s_path,"./medcon");
          if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
        }
        if (!path_found) std::strcpy(s_path,"medcon");
#endif
        winformat_string(s_path);
      }
      cimg::mutex(7,0);
      return s_path;
    }

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %esi, %ebp
movq %rdi, %rbx
pushq $0x7
popq %rdi
pushq $0x1
popq %rsi
callq 0xa419
testl %ebp, %ebp
je 0x29f60
movq 0x68e3a(%rip), %rdi     # 0x92d88
testq %rdi, %rdi
je 0x29f58
callq 0x4670
andq $0x0, 0x68e28(%rip)     # 0x92d88
movq 0x68e21(%rip), %r14     # 0x92d88
testq %rbx, %rbx
je 0x29fa6
testq %r14, %r14
jne 0x29f85
movl $0x400, %edi            # imm = 0x400
callq 0x4040
movq %rax, %r14
movq %rax, 0x68e03(%rip)     # 0x92d88
movl $0x400, %edx            # imm = 0x400
movq %r14, %rdi
xorl %esi, %esi
callq 0x4280
movl $0x3ff, %edx            # imm = 0x3FF
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4240
jmp 0x2a012
testq %r14, %r14
jne 0x2a012
movl $0x400, %edi            # imm = 0x400
callq 0x4040
movq %rax, %rbx
movq %rax, 0x68dc9(%rip)     # 0x92d88
leaq 0x9(%rax), %rdi
movl $0x3f7, %edx            # imm = 0x3F7
xorl %esi, %esi
callq 0x4280
movabsq $0x6e6f6364656d2f2e, %rax # imm = 0x6E6F6364656D2F2E
movq %rax, (%rbx)
movb $0x0, 0x8(%rbx)
leaq 0x367ac(%rip), %rsi     # 0x60793
movq %rbx, %rdi
callq 0x45b0
testq %rax, %rax
je 0x29ffe
movq %rax, %rdi
callq 0x2a2f8
jmp 0x2a012
movq 0x68d83(%rip), %rax     # 0x92d88
movl $0x6e6f63, 0x3(%rax)    # imm = 0x6E6F63
movl $0x6364656d, (%rax)     # imm = 0x6364656D
pushq $0x7
popq %rdi
xorl %esi, %esi
callq 0xa419
movq 0x68d65(%rip), %rax     # 0x92d88
popq %rbx
popq %r14
popq %rbp
retq