// File: xjrueda[P]fixprime/src/FixParser.cpp
// Function: fprime::FixParser::parseMessage(fprime::FixParser::FlatMessage)
fprime::Message FixParser::parseMessage(fprime::FixParser::FlatMessage message) {
        fprime::Message fixMessage = protocolPtr->getMessage(message.getMsgType());
        unsigned int position = 0;
        bool result = false;
        result = parseLevel(message.orderedMap, position, fixMessage.getHeader(), 0, false);
        result = parseLevel(message.orderedMap, position, fixMessage.getBody(), 0, false);
        result = parseLevel(message.orderedMap, position, fixMessage.getTrailer(), 0, false);
        return fixMessage;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdx, -0x138(%rbp)
movq %rdi, -0x130(%rbp)
movq %rdi, %rax
movq %rax, -0x148(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0x140(%rbp)
movb $0x0, -0x19(%rbp)
addq $0x8, %rdi
callq 0x9ebd0
movq -0x138(%rbp), %rsi
movq %rax, -0x128(%rbp)
leaq -0x40(%rbp), %rdi
movq %rdi, -0x120(%rbp)
callq 0x97970
movq -0x130(%rbp), %rdi
movq -0x128(%rbp), %rsi
movq -0x120(%rbp), %rdx
callq 0xa0990
jmp 0xc3281
leaq -0x40(%rbp), %rdi
callq 0xa4f00
movq -0x138(%rbp), %rsi
movl $0x0, -0x50(%rbp)
movb $0x0, -0x51(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x9e360
jmp 0xc32aa
movq -0x130(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0x99580
jmp 0xc32bf
movq -0x140(%rbp), %rdi
leaq -0x88(%rbp), %rsi
leaq -0x50(%rbp), %rdx
leaq -0x98(%rbp), %rcx
xorl %r9d, %r9d
movl %r9d, %r8d
callq 0x98090
movb %al, -0x149(%rbp)
jmp 0xc32eb
movb -0x149(%rbp), %al
andb $0x1, %al
movb %al, -0x51(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x997e0
leaq -0x88(%rbp), %rdi
callq 0xa0050
movq -0x138(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x9e360
jmp 0xc3323
movq -0x130(%rbp), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x986a0
jmp 0xc3338
movq -0x140(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
leaq -0x50(%rbp), %rdx
leaq -0xd8(%rbp), %rcx
xorl %r9d, %r9d
movl %r9d, %r8d
callq 0x98090
movb %al, -0x14a(%rbp)
jmp 0xc3364
movb -0x14a(%rbp), %al
andb $0x1, %al
movb %al, -0x51(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x997e0
leaq -0xc8(%rbp), %rdi
callq 0xa0050
movq -0x138(%rbp), %rsi
leaq -0x108(%rbp), %rdi
callq 0x9e360
jmp 0xc339c
movq -0x130(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x99ca0
jmp 0xc33b1
movq -0x140(%rbp), %rdi
leaq -0x108(%rbp), %rsi
leaq -0x50(%rbp), %rdx
leaq -0x118(%rbp), %rcx
xorl %r9d, %r9d
movl %r9d, %r8d
callq 0x98090
movb %al, -0x14b(%rbp)
jmp 0xc33dd
movb -0x14b(%rbp), %al
andb $0x1, %al
movb %al, -0x51(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x997e0
leaq -0x108(%rbp), %rdi
callq 0xa0050
movb $0x1, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
jne 0xc34e9
jmp 0xc34dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0xa4f00
jmp 0xc3505
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xc34f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xc3464
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x997e0
leaq -0x88(%rbp), %rdi
callq 0xa0050
jmp 0xc34f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xc349b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x997e0
leaq -0xc8(%rbp), %rdi
callq 0xa0050
jmp 0xc34f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xc34cf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x997e0
leaq -0x108(%rbp), %rdi
callq 0xa0050
jmp 0xc34f9
movq -0x130(%rbp), %rdi
callq 0x9b5d0
movq -0x148(%rbp), %rax
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movq -0x130(%rbp), %rdi
callq 0x9b5d0
movq -0x48(%rbp), %rdi
callq 0xa3520
nop