// File: Matlock42[P]Jeopardy/./RapidXml/rapidxml_utils.hpp
// Function: rapidxml::file<char>::file(char const*)
file(const char *filename)
        {
            using namespace std;

            // Open stream
            basic_ifstream<Ch> stream(filename, ios::binary);
            if (!stream)
                throw runtime_error(string("cannot open file ") + filename);
            stream.unsetf(ios::skipws);
            
            // Determine stream size
            stream.seekg(0, ios::end);
            size_t size = stream.tellg();
            stream.seekg(0);   
            
            // Load data and add terminating 0
            m_data.resize(size + 1);
            stream.read(&m_data.front(), static_cast<streamsize>(size));
            m_data[size] = 0;
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2e0, %rsp            # imm = 0x2E0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x2a8(%rbp)
movq %rdi, %rax
movq %rax, -0x2a0(%rbp)
callq 0x6ee0
movq -0x10(%rbp), %rsi
leaq -0x218(%rbp), %rdi
movl $0x4, %edx
callq 0x34e0
jmp 0x58b4
movq -0x218(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x218(%rbp,%rax), %rdi
callq 0x3110
movb %al, -0x2a9(%rbp)
jmp 0x58d4
movb -0x2a9(%rbp), %al
testb $0x1, %al
jne 0x58e3
jmp 0x5a26
movb $0x1, -0x26a(%rbp)
movl $0x10, %edi
callq 0x3120
movq %rax, -0x2c0(%rbp)
leaq -0x269(%rbp), %rdi
movq %rdi, -0x2b8(%rbp)
callq 0x34b0
movq -0x2b8(%rbp), %rdx
leaq 0x69f4(%rip), %rsi      # 0xc310
leaq -0x268(%rbp), %rdi
callq 0x5570
jmp 0x592a
movq -0x10(%rbp), %rdx
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x6f00
jmp 0x5943
movq -0x2c0(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x3420
jmp 0x5958
movq -0x2c0(%rbp), %rdi
movb $0x0, -0x26a(%rbp)
movq 0xc683(%rip), %rsi      # 0x11ff0
movq 0xc644(%rip), %rdx      # 0x11fb8
callq 0x3470
jmp 0x5b70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x5b58
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x5b4c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x59fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
jmp 0x59f2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x220(%rbp)
movl %eax, -0x224(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x3180
leaq -0x268(%rbp), %rdi
callq 0x3180
leaq -0x269(%rbp), %rdi
callq 0x32d0
testb $0x1, -0x26a(%rbp)
jne 0x5a15
jmp 0x5a21
movq -0x2c0(%rbp), %rdi
callq 0x31e0
jmp 0x5b4c
movq -0x218(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x218(%rbp,%rax), %rdi
movl $0x1000, %esi           # imm = 0x1000
callq 0x6f50
jmp 0x5a45
xorl %eax, %eax
movl %eax, %esi
leaq -0x218(%rbp), %rdi
movl $0x2, %edx
callq 0x3370
jmp 0x5a5c
leaq -0x218(%rbp), %rdi
callq 0x3490
movq %rdx, -0x2d0(%rbp)
movq %rax, -0x2c8(%rbp)
jmp 0x5a78
movq -0x2d0(%rbp), %rax
movq -0x2c8(%rbp), %rcx
movq %rcx, -0x288(%rbp)
movq %rax, -0x280(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x6f90
movq %rax, -0x2d8(%rbp)
jmp 0x5aa9
movq -0x2d8(%rbp), %rax
movq %rax, -0x278(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x298(%rbp), %rdi
callq 0x6fb0
jmp 0x5ac9
movq -0x298(%rbp), %rsi
movq -0x290(%rbp), %rdx
leaq -0x218(%rbp), %rdi
callq 0x3340
jmp 0x5ae5
movq -0x2a0(%rbp), %rdi
movq -0x278(%rbp), %rsi
incq %rsi
callq 0x6ff0
jmp 0x5afd
movq -0x2a0(%rbp), %rdi
callq 0x7080
movq %rax, %rsi
movq -0x278(%rbp), %rdx
leaq -0x218(%rbp), %rdi
callq 0x3330
jmp 0x5b21
movq -0x2a0(%rbp), %rdi
movq -0x278(%rbp), %rsi
callq 0x70b0
movb $0x0, (%rax)
leaq -0x218(%rbp), %rdi
callq 0x3090
addq $0x2e0, %rsp            # imm = 0x2E0
popq %rbp
retq
leaq -0x218(%rbp), %rdi
callq 0x3090
movq -0x2a8(%rbp), %rdi
callq 0x63c0
movq -0x220(%rbp), %rdi
callq 0x34a0