// File: xjrueda[P]fixprime/include/Session.h
// Function: fprime::Session::getLength(int&, unsigned long&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
bool getLength(int& length, std::string::size_type& pos,
                const std::string& buffer) throw ( RawMessageException) {
            if (!buffer.size()) return false;

            std::string::size_type startPos = buffer.find("\0019=", 0);
            if (startPos == std::string::npos) return false;
            startPos += 3;
            std::string::size_type endPos = buffer.find("\001", startPos);
            if (endPos == std::string::npos) return false;

            std::string strLength(buffer, startPos, endPos - startPos);

            try {
                length = boost::lexical_cast<int>(strLength);
                if (length < 0) throw RawMessageException();
            } catch (exception&) {
                throw RawMessageException();
            }

            pos = endPos + 1;
            return true;
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x9b8b0
cmpq $0x0, %rax
jne 0xad1b3
movb $0x0, -0x1(%rbp)
jmp 0xad379
movq -0x28(%rbp), %rdi
leaq 0x54fa1(%rip), %rsi     # 0x10215f
xorl %eax, %eax
movl %eax, %edx
callq 0xa4c70
movq %rax, -0x30(%rbp)
cmpq $-0x1, -0x30(%rbp)
jne 0xad1db
movb $0x0, -0x1(%rbp)
jmp 0xad379
movq -0x30(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
movq -0x30(%rbp), %rdx
leaq 0x54f67(%rip), %rsi     # 0x10215d
callq 0xa4c70
movq %rax, -0x38(%rbp)
cmpq $-0x1, -0x38(%rbp)
jne 0xad20f
movb $0x0, -0x1(%rbp)
jmp 0xad379
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x38(%rbp), %rcx
subq %rdx, %rcx
leaq -0x58(%rbp), %rdi
callq 0xa0410
jmp 0xad229
leaq -0x58(%rbp), %rdi
callq 0x9e680
movl %eax, -0x74(%rbp)
jmp 0xad237
movl -0x74(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x18(%rbp), %rax
cmpl $0x0, (%rax)
jge 0xad312
movl $0x28, %edi
callq 0x99e80
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x80(%rbp)
callq 0x9b210
jmp 0xad268
movq -0x80(%rbp), %rdi
movq 0x85c55(%rip), %rsi     # 0x132ec8
movq 0x85c3e(%rip), %rdx     # 0x132eb8
callq 0xa2fe0
jmp 0xad398
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xad36a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xad2b8
movq -0x80(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
callq 0x9b9c0
movl -0x64(%rbp), %eax
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0xad361
movq -0x60(%rbp), %rdi
callq 0x99540
movq %rax, -0x70(%rbp)
movl $0x28, %edi
callq 0x99e80
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x88(%rbp)
callq 0x9b210
jmp 0xad2f3
movq -0x88(%rbp), %rdi
movq 0x85bc7(%rip), %rsi     # 0x132ec8
movq 0x85bb0(%rip), %rdx     # 0x132eb8
callq 0xa2fe0
jmp 0xad398
jmp 0xad343
movq -0x88(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
callq 0x9b9c0
jmp 0xad33a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
callq 0xa2520
jmp 0xad341
jmp 0xad361
movq -0x38(%rbp), %rcx
addq $0x1, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movb $0x1, -0x1(%rbp)
leaq -0x58(%rbp), %rdi
callq 0xa4f00
jmp 0xad379
leaq -0x58(%rbp), %rdi
callq 0xa4f00
cmpl $0x0, -0x64(%rbp)
jge 0xad387
movq -0x60(%rbp), %rdi
callq 0x9fb00
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x90, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0xa3520
movq %rax, %rdi
callq 0xa6900
nopl (%rax,%rax)