// File: ArashPartow[P]exprtk-extras/./exprtk.hpp
// Function: exprtk::rtl::io::file::details::file_descriptor::open()
bool open()
         {
            if (e_read == mode)
            {
               std::ifstream* stream = new std::ifstream(file_name.c_str(),std::ios::binary);

               if (!(*stream))
               {
                  file_name.clear();
                  delete stream;

                  return false;
               }

               stream_ptr = stream;

               return true;
            }
            else if (e_write == mode)
            {
               std::ofstream* stream = new std::ofstream(file_name.c_str(),std::ios::binary);

               if (!(*stream))
               {
                  file_name.clear();
                  delete stream;

                  return false;
               }

               stream_ptr = stream;

               return true;
            }
            else if (e_rdwrt == mode)
            {
               std::fstream* stream = new std::fstream(file_name.c_str(),std::ios::binary);

               if (!(*stream))
               {
                  file_name.clear();
                  delete stream;

                  return false;
               }

               stream_ptr = stream;

               return true;
            }

            return false;
         }

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x78(%rsp)
movq 0x78(%rsp), %rcx
movq %rcx, 0x48(%rsp)
movl $0x1, %eax
cmpl 0x8(%rcx), %eax
jne 0x2627fd
movl $0x208, %edi            # imm = 0x208
callq 0x119190
movq 0x48(%rsp), %rdi
movq %rax, 0x40(%rsp)
movq %rax, 0x38(%rsp)
addq $0x10, %rdi
callq 0x119120
movq 0x40(%rsp), %rdi
movq %rax, %rsi
movl $0x4, %edx
callq 0x119080
jmp 0x26276a
movq 0x38(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
callq 0x119060
testb $0x1, %al
jne 0x26278b
jmp 0x2627e3
movq 0x48(%rsp), %rdi
addq $0x10, %rdi
callq 0x1194b0
movq 0x70(%rsp), %rax
movq %rax, 0x30(%rsp)
cmpq $0x0, %rax
je 0x2627b4
movq 0x30(%rsp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movb $0x0, 0x87(%rsp)
jmp 0x2629b6
movq 0x38(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
movl $0x208, %esi            # imm = 0x208
callq 0x119130
jmp 0x2629c7
movq 0x48(%rsp), %rax
movq 0x70(%rsp), %rcx
movq %rcx, (%rax)
movb $0x1, 0x87(%rsp)
jmp 0x2629b6
movq 0x48(%rsp), %rcx
movl $0x2, %eax
cmpl 0x8(%rcx), %eax
jne 0x2628d9
movl $0x200, %edi            # imm = 0x200
callq 0x119190
movq 0x48(%rsp), %rdi
movq %rax, 0x28(%rsp)
movq %rax, 0x20(%rsp)
addq $0x10, %rdi
callq 0x119120
movq 0x28(%rsp), %rdi
movq %rax, %rsi
movl $0x4, %edx
callq 0x1192d0
jmp 0x262846
movq 0x20(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
callq 0x119060
testb $0x1, %al
jne 0x262867
jmp 0x2628bf
movq 0x48(%rsp), %rdi
addq $0x10, %rdi
callq 0x1194b0
movq 0x58(%rsp), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, %rax
je 0x262890
movq 0x18(%rsp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movb $0x0, 0x87(%rsp)
jmp 0x2629b6
movq 0x20(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
movl $0x200, %esi            # imm = 0x200
callq 0x119130
jmp 0x2629c7
movq 0x48(%rsp), %rax
movq 0x58(%rsp), %rcx
movq %rcx, (%rax)
movb $0x1, 0x87(%rsp)
jmp 0x2629b6
movq 0x48(%rsp), %rcx
movl $0x4, %eax
cmpl 0x8(%rcx), %eax
jne 0x2629aa
movl $0x210, %edi            # imm = 0x210
callq 0x119190
movq 0x48(%rsp), %rdi
movq %rax, 0x10(%rsp)
movq %rax, 0x8(%rsp)
addq $0x10, %rdi
callq 0x119120
movq 0x10(%rsp), %rdi
movq %rax, %rsi
movl $0x4, %edx
callq 0x119290
jmp 0x262922
movq 0x8(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
callq 0x119060
testb $0x1, %al
jne 0x262943
jmp 0x262993
movq 0x48(%rsp), %rdi
addq $0x10, %rdi
callq 0x1194b0
movq 0x50(%rsp), %rax
movq %rax, (%rsp)
cmpq $0x0, %rax
je 0x26296a
movq (%rsp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movb $0x0, 0x87(%rsp)
jmp 0x2629b6
movq 0x8(%rsp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
movl $0x210, %esi            # imm = 0x210
callq 0x119130
jmp 0x2629c7
movq 0x48(%rsp), %rax
movq 0x50(%rsp), %rcx
movq %rcx, (%rax)
movb $0x1, 0x87(%rsp)
jmp 0x2629b6
jmp 0x2629ac
jmp 0x2629ae
movb $0x0, 0x87(%rsp)
movb 0x87(%rsp), %al
andb $0x1, %al
addq $0x88, %rsp
retq
movq 0x68(%rsp), %rdi
callq 0x119570
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)