// File: xjrueda[P]fixprime/include/Session.h
// Function: fprime::Session::outboundProcessor(std::shared_ptr<SocketConnector>)
void outboundProcessor(SocketPtr socketPtr) {
            setObRunning(true);
            while (obpRunning) {
                unique_lock<mutex> lock(outboundLock);
                while (outboundQueue.empty() && obpRunning) {
                    outboundCondition.wait(lock);
                }
                if (obpRunning) {
                    string rawMsg = outboundQueue.front();
                    outboundQueue.pop();
                    lock.unlock();
                    try {
                        *socketPtr << rawMsg;
                    } catch (SocketException& se) {
                        cout << "Error trying to send: " << se.description() << endl;
                        cout.flush();
                    }

                }
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rsi, -0x88(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x80(%rbp)
movl $0x1, %esi
callq 0x980c0
movq -0x80(%rbp), %rax
testb $0x1, 0x1da(%rax)
je 0xa894c
movq -0x80(%rbp), %rsi
addq $0x2b8, %rsi            # imm = 0x2B8
leaq -0x20(%rbp), %rdi
callq 0xa3cc0
movq -0x80(%rbp), %rdi
addq $0x268, %rdi            # imm = 0x268
callq 0x9d6d0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x89(%rbp)
jne 0xa8792
jmp 0xa87a2
movq -0x80(%rbp), %rax
movb 0x1da(%rax), %al
movb %al, -0x89(%rbp)
movb -0x89(%rbp), %al
testb $0x1, %al
jne 0xa87ae
jmp 0xa87c4
movq -0x80(%rbp), %rdi
addq $0x238, %rdi            # imm = 0x238
leaq -0x20(%rbp), %rsi
callq 0x98820
jmp 0xa8771
movq -0x80(%rbp), %rax
testb $0x1, 0x1da(%rax)
je 0xa8933
movq -0x80(%rbp), %rdi
addq $0x268, %rdi            # imm = 0x268
callq 0xa0600
movq %rax, %rsi
leaq -0x40(%rbp), %rdi
callq 0x998d0
jmp 0xa87f3
movq -0x80(%rbp), %rdi
addq $0x268, %rdi            # imm = 0x268
callq 0x9e9f0
leaq -0x20(%rbp), %rdi
callq 0x970e0
jmp 0xa880e
movq -0x88(%rbp), %rdi
callq 0x9da50
movq %rax, %rdi
leaq -0x40(%rbp), %rsi
callq 0x9c200
jmp 0xa8828
jmp 0xa88f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xa8941
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xa8928
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xa8928
movq -0x48(%rbp), %rdi
callq 0x99540
movq %rax, -0x58(%rbp)
movq 0x8a5b9(%rip), %rdi     # 0x132e38
leaq 0x598b5(%rip), %rsi     # 0x10213b
callq 0x9dba0
movq %rax, -0x98(%rbp)
jmp 0xa8894
movq -0x58(%rbp), %rsi
leaq -0x78(%rbp), %rdi
callq 0x9f600
jmp 0xa88a3
movq -0x98(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x9cf40
movq %rax, -0xa0(%rbp)
jmp 0xa88bc
movq -0xa0(%rbp), %rdi
movq 0x8a396(%rip), %rsi     # 0x132c60
callq 0x9e070
jmp 0xa88d1
leaq -0x78(%rbp), %rdi
callq 0xa4f00
movq 0x8a557(%rip), %rdi     # 0x132e38
callq 0x9b6d0
jmp 0xa88e8
callq 0xa2520
jmp 0xa88ef
jmp 0xa88f1
leaq -0x40(%rbp), %rdi
callq 0xa4f00
jmp 0xa8933
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xa891f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xa4f00
callq 0xa2520
jmp 0xa8926
jmp 0xa8928
leaq -0x40(%rbp), %rdi
callq 0xa4f00
jmp 0xa8941
leaq -0x20(%rbp), %rdi
callq 0x98ee0
jmp 0xa874c
leaq -0x20(%rbp), %rdi
callq 0x98ee0
jmp 0xa8955
addq $0xa0, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0xa3520
movq %rax, %rdi
callq 0xa6900
nopw %cs:(%rax,%rax)