// File: VanAndelInstitute[P]intent/include/strict_fstream.hpp
// Function: strict_fstream::detail::static_method_holder::check_open(std::basic_ios<char, std::char_traits<char>>*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::_Ios_Openmode)
static void check_open(std::ios * s_p, const std::string& filename, std::ios_base::openmode mode)
    {
        if (s_p->fail())
        {
            throw Exception(std::string("strict_fstream: open('")
                            + filename + "'," + mode_to_string(mode) + "): open failed: "
                            + strerror());
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rdi
callq 0x8030
testb $0x1, %al
jne 0x385c8
jmp 0x3881a
movb $0x1, -0x131(%rbp)
movl $0x28, %edi
callq 0x82f0
movq %rax, -0x148(%rbp)
leaq -0xd9(%rbp), %rdi
movq %rdi, -0x140(%rbp)
callq 0x8980
movq -0x140(%rbp), %rdx
leaq 0x3715f(%rip), %rsi     # 0x6f760
leaq -0xd8(%rbp), %rdi
callq 0x35e90
jmp 0x3860f
movq -0x10(%rbp), %rdx
leaq -0xb8(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x38850
jmp 0x38628
leaq 0x371a8(%rip), %rdx     # 0x6f7d7
leaq -0x98(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x37c20
jmp 0x38644
movl -0x14(%rbp), %esi
leaq -0x110(%rbp), %rdi
callq 0x38a60
jmp 0x38655
leaq -0x78(%rbp), %rdi
leaq -0x98(%rbp), %rsi
leaq -0x110(%rbp), %rdx
callq 0x38990
jmp 0x3866e
leaq 0x37165(%rip), %rdx     # 0x6f7da
leaq -0x58(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x37c20
jmp 0x38684
leaq -0x130(%rbp), %rdi
callq 0x35d00
jmp 0x38692
leaq -0x38(%rbp), %rdi
leaq -0x58(%rbp), %rsi
leaq -0x130(%rbp), %rdx
callq 0x38990
jmp 0x386a8
movq -0x148(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x388a0
jmp 0x386ba
movq -0x148(%rbp), %rdi
movb $0x0, -0x131(%rbp)
leaq 0x552e1(%rip), %rsi     # 0x8d9b0
leaq 0x22a(%rip), %rdx       # 0x38900
callq 0x8920
jmp 0x3882f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x387f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x387e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x387dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x387d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x387c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x387bc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x387b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
jmp 0x387a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe8(%rbp)
movl %eax, -0xec(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x8a98
leaq -0x130(%rbp), %rdi
callq 0x8a98
leaq -0x58(%rbp), %rdi
callq 0x8a98
leaq -0x78(%rbp), %rdi
callq 0x8a98
leaq -0x110(%rbp), %rdi
callq 0x8a98
leaq -0x98(%rbp), %rdi
callq 0x8a98
leaq -0xb8(%rbp), %rdi
callq 0x8a98
leaq -0xd8(%rbp), %rdi
callq 0x8a98
leaq -0xd9(%rbp), %rdi
callq 0x85e0
testb $0x1, -0x131(%rbp)
jne 0x3880c
jmp 0x38818
movq -0x148(%rbp), %rdi
callq 0x8440
jmp 0x38823
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movq -0xe8(%rbp), %rdi
callq 0x8970
nop