// File: xjrueda[P]fixprime/src/FixLoader.cpp
// Function: fprime::FixLoader::parseFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Json::Value FixLoader::parseFile(string fileName) {
        Json::Value root;
        Json::Reader reader;
        std::ifstream stream(fileName, std::ifstream::binary);

        bool parsingSuccessful = reader.parse(stream, root, false);

        if (!parsingSuccessful) {
            // report to the user the failure and their locations in the document.
            std::cout << "Error loading file " << fileName << ": " << reader.getFormattedErrorMessages() << endl;
            std::runtime_error("Error loading file " + fileName);
        } else {
            return root;
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3e0, %rsp            # imm = 0x3E0
movq %rdx, -0x3b8(%rbp)
movq %rdi, -0x3b0(%rbp)
movq %rdi, %rax
movq %rax, -0x3a8(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movb $0x0, -0x19(%rbp)
xorl %esi, %esi
callq 0x997b0
leaq -0x130(%rbp), %rdi
callq 0x9e2d0
jmp 0xc1cc8
movq -0x3b8(%rbp), %rsi
leaq -0x348(%rbp), %rdi
movl $0x4, %edx
callq 0xa2410
jmp 0xc1ce2
movq -0x3b0(%rbp), %rdx
leaq -0x130(%rbp), %rdi
leaq -0x348(%rbp), %rsi
xorl %ecx, %ecx
callq 0xa40a0
movb %al, -0x3b9(%rbp)
jmp 0xc1d06
movb -0x3b9(%rbp), %al
andb $0x1, %al
movb %al, -0x349(%rbp)
testb $0x1, -0x349(%rbp)
jne 0xc1e97
movq 0x71110(%rip), %rdi     # 0x132e38
leaq 0x412d0(%rip), %rsi     # 0x102fff
callq 0x9dba0
movq %rax, -0x3c8(%rbp)
jmp 0xc1d3d
movq -0x3b8(%rbp), %rsi
movq -0x3c8(%rbp), %rdi
callq 0x9cf40
movq %rax, -0x3d0(%rbp)
jmp 0xc1d59
movq -0x3d0(%rbp), %rdi
leaq 0x41832(%rip), %rsi     # 0x103599
callq 0x9dba0
movq %rax, -0x3d8(%rbp)
jmp 0xc1d75
leaq -0x370(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0xa1b30
jmp 0xc1d8a
movq -0x3d8(%rbp), %rdi
leaq -0x370(%rbp), %rsi
callq 0x9cf40
movq %rax, -0x3e0(%rbp)
jmp 0xc1da6
movq -0x3e0(%rbp), %rdi
movq 0x70eac(%rip), %rsi     # 0x132c60
callq 0x9e070
jmp 0xc1dbb
leaq -0x370(%rbp), %rdi
callq 0xa4f00
movq -0x3b8(%rbp), %rdx
leaq 0x4122a(%rip), %rsi     # 0x102fff
leaq -0x3a0(%rbp), %rdi
callq 0x9cf50
jmp 0xc1de3
leaq -0x380(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
callq 0xa2430
jmp 0xc1df8
leaq -0x380(%rbp), %rdi
callq 0xa4f20
leaq -0x3a0(%rbp), %rdi
callq 0xa4f00
jmp 0xc1ebb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x138(%rbp)
movl %eax, -0x13c(%rbp)
jmp 0xc1ef3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x138(%rbp)
movl %eax, -0x13c(%rbp)
jmp 0xc1ec9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x138(%rbp)
movl %eax, -0x13c(%rbp)
jmp 0xc1ebd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x138(%rbp)
movl %eax, -0x13c(%rbp)
leaq -0x370(%rbp), %rdi
callq 0xa4f00
jmp 0xc1ebd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x138(%rbp)
movl %eax, -0x13c(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0xa4f00
jmp 0xc1ebd
movb $0x1, -0x19(%rbp)
leaq -0x348(%rbp), %rdi
callq 0x984b0
leaq -0x130(%rbp), %rdi
callq 0x9f1b0
testb $0x1, -0x19(%rbp)
jne 0xc1ee3
jmp 0xc1ed7
ud2
leaq -0x348(%rbp), %rdi
callq 0x984b0
leaq -0x130(%rbp), %rdi
callq 0x9f1b0
jmp 0xc1ef3
movq -0x3b0(%rbp), %rdi
callq 0x9a180
movq -0x3a8(%rbp), %rax
addq $0x3e0, %rsp            # imm = 0x3E0
popq %rbp
retq
movq -0x3b0(%rbp), %rdi
callq 0x9a180
movq -0x138(%rbp), %rdi
callq 0xa3520
nopl (%rax,%rax)