000000000040f320 <BloombergLP::test::ChoiceA::makeSelection(int)>:
M0000000000000000: pushq %r14 ; 2 bytes
M0000000000000002: pushq %rbx ; 1 bytes
M0000000000000003: pushq %rax ; 1 bytes
M0000000000000004: movq %rdi, %r14 ; 3 bytes
M0000000000000007: cmpl $-1, %esi ; 3 bytes
M000000000000000a: je 0x40f384 <BloombergLP::test::ChoiceA::makeSelection(int)+0x64> ; 2 bytes
M000000000000000c: cmpl $1, %esi ; 3 bytes
M000000000000000f: je 0x40f35f <BloombergLP::test::ChoiceA::makeSelection(int)+0x3f> ; 2 bytes
M0000000000000011: movl $4294967295, %ebx ; 5 bytes
M0000000000000016: testl %esi, %esi ; 2 bytes
M0000000000000018: jne 0x40f424 <BloombergLP::test::ChoiceA::makeSelection(int)+0x104> ; 6 bytes
M000000000000001e: movl 48(%r14), %eax ; 4 bytes
M0000000000000022: cmpl $1, %eax ; 3 bytes
M0000000000000025: je 0x40f3fe <BloombergLP::test::ChoiceA::makeSelection(int)+0xde> ; 6 bytes
M000000000000002b: testl %eax, %eax ; 2 bytes
M000000000000002d: jne 0x40f41a <BloombergLP::test::ChoiceA::makeSelection(int)+0xfa> ; 6 bytes
M0000000000000033: movl $0, (%r14) ; 7 bytes
M000000000000003a: jmp 0x40f422 <BloombergLP::test::ChoiceA::makeSelection(int)+0x102> ; 5 bytes
M000000000000003f: movl 48(%r14), %eax ; 4 bytes
M0000000000000043: testl %eax, %eax ; 2 bytes
M0000000000000045: je 0x40f3b7 <BloombergLP::test::ChoiceA::makeSelection(int)+0x97> ; 2 bytes
M0000000000000047: cmpl $1, %eax ; 3 bytes
M000000000000004a: jne 0x40f3b7 <BloombergLP::test::ChoiceA::makeSelection(int)+0x97> ; 2 bytes
M000000000000004c: xorl %ebx, %ebx ; 2 bytes
M000000000000004e: movq %r14, %rdi ; 3 bytes
M0000000000000051: xorl %esi, %esi ; 2 bytes
M0000000000000053: movq $-1, %rdx ; 7 bytes
M000000000000005a: callq 0x4160e0 <bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> >::erase(unsigned long, unsigned long)> ; 5 bytes
M000000000000005f: jmp 0x40f424 <BloombergLP::test::ChoiceA::makeSelection(int)+0x104> ; 5 bytes
M0000000000000064: movl 48(%r14), %eax ; 4 bytes
M0000000000000068: testl %eax, %eax ; 2 bytes
M000000000000006a: je 0x40f3ad <BloombergLP::test::ChoiceA::makeSelection(int)+0x8d> ; 2 bytes
M000000000000006c: cmpl $1, %eax ; 3 bytes
M000000000000006f: jne 0x40f3ad <BloombergLP::test::ChoiceA::makeSelection(int)+0x8d> ; 2 bytes
M0000000000000071: cmpq $23, 32(%r14) ; 5 bytes
M0000000000000076: je 0x40f3a5 <BloombergLP::test::ChoiceA::makeSelection(int)+0x85> ; 2 bytes
M0000000000000078: movq (%r14), %rsi ; 3 bytes
M000000000000007b: movq 40(%r14), %rdi ; 4 bytes
M000000000000007f: movq (%rdi), %rax ; 3 bytes
M0000000000000082: callq *24(%rax) ; 3 bytes
M0000000000000085: movq $-1, 24(%r14) ; 8 bytes
M000000000000008d: movl $4294967295, 48(%r14) ; 8 bytes
M0000000000000095: jmp 0x40f422 <BloombergLP::test::ChoiceA::makeSelection(int)+0x102> ; 2 bytes
M0000000000000097: movl $4294967295, 48(%r14) ; 8 bytes
M000000000000009f: movq 56(%r14), %rax ; 4 bytes
M00000000000000a3: testq %rax, %rax ; 3 bytes
M00000000000000a6: jne 0x40f3d9 <BloombergLP::test::ChoiceA::makeSelection(int)+0xb9> ; 2 bytes
M00000000000000a8: movq 2364273(%rip), %rax # 650740 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M00000000000000af: testq %rax, %rax ; 3 bytes
M00000000000000b2: jne 0x40f3d9 <BloombergLP::test::ChoiceA::makeSelection(int)+0xb9> ; 2 bytes
M00000000000000b4: callq 0x411f30 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M00000000000000b9: movq $0, (%r14) ; 7 bytes
M00000000000000c0: movaps 164745(%rip), %xmm0 # 437770 <__dso_handle+0x8> ; 7 bytes
M00000000000000c7: movups %xmm0, 24(%r14) ; 5 bytes
M00000000000000cc: movq %rax, 40(%r14) ; 4 bytes
M00000000000000d0: movb $0, (%r14) ; 4 bytes
M00000000000000d4: movl $1, 48(%r14) ; 8 bytes
M00000000000000dc: jmp 0x40f422 <BloombergLP::test::ChoiceA::makeSelection(int)+0x102> ; 2 bytes
M00000000000000de: cmpq $23, 32(%r14) ; 5 bytes
M00000000000000e3: je 0x40f412 <BloombergLP::test::ChoiceA::makeSelection(int)+0xf2> ; 2 bytes
M00000000000000e5: movq (%r14), %rsi ; 3 bytes
M00000000000000e8: movq 40(%r14), %rdi ; 4 bytes
M00000000000000ec: movq (%rdi), %rax ; 3 bytes
M00000000000000ef: callq *24(%rax) ; 3 bytes
M00000000000000f2: movq $-1, 24(%r14) ; 8 bytes
M00000000000000fa: movl $0, 48(%r14) ; 8 bytes
M0000000000000102: xorl %ebx, %ebx ; 2 bytes
M0000000000000104: movl %ebx, %eax ; 2 bytes
M0000000000000106: addq $8, %rsp ; 4 bytes
M000000000000010a: popq %rbx ; 1 bytes
M000000000000010b: popq %r14 ; 2 bytes
M000000000000010d: retq ; 1 bytes
M000000000000010e: movq %rax, %rdi ; 3 bytes
M0000000000000111: callq 0x40f610 <__clang_call_terminate> ; 5 bytes
M0000000000000116: movq %rax, %rdi ; 3 bytes
M0000000000000119: callq 0x40f610 <__clang_call_terminate> ; 5 bytes
M000000000000011e: nop ; 2 bytes