0000000000405d20 <usageExample2>:
M0000000000000000: pushq %rbp ; 1 bytes
M0000000000000001: pushq %r15 ; 2 bytes
M0000000000000003: pushq %r14 ; 2 bytes
M0000000000000005: pushq %r13 ; 2 bytes
M0000000000000007: pushq %r12 ; 2 bytes
M0000000000000009: pushq %rbx ; 1 bytes
M000000000000000a: subq $488, %rsp ; 7 bytes
M0000000000000011: movq (%rdi), %rbx ; 3 bytes
M0000000000000014: movl $4502035, %esi ; 5 bytes
M0000000000000019: movq %rbx, %rdi ; 3 bytes
M000000000000001c: movl $128, %edx ; 5 bytes
M0000000000000021: movl $96, %ecx ; 5 bytes
M0000000000000026: movl $64, %r8d ; 6 bytes
M000000000000002c: movl $32, %r9d ; 6 bytes
M0000000000000032: callq 0x415900 <BloombergLP::ball::CategoryManager::addCategory(char const*, int, int, int, int)> ; 5 bytes
M0000000000000037: movq %rax, %r14 ; 3 bytes
M000000000000003a: callq 0x414ca0 <BloombergLP::ball::AttributeContext::getContext()> ; 5 bytes
M000000000000003f: movq %rax, %r15 ; 3 bytes
M0000000000000042: movq %rax, %rdi ; 3 bytes
M0000000000000045: movq %r14, %rsi ; 3 bytes
M0000000000000048: callq 0x414eb0 <BloombergLP::ball::AttributeContext::hasRelevantActiveRules(BloombergLP::ball::Category const*) const> ; 5 bytes
M000000000000004d: movzbl %al, %edi ; 3 bytes
M0000000000000050: movl $4502046, %esi ; 5 bytes
M0000000000000055: movl $366, %edx ; 5 bytes
M000000000000005a: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M000000000000005f: movl $0, 16(%rsp) ; 8 bytes
M0000000000000067: leaq 16(%rsp), %rsi ; 5 bytes
M000000000000006c: movq %r15, %rdi ; 3 bytes
M000000000000006f: movq %r14, %rdx ; 3 bytes
M0000000000000072: callq 0x414ff0 <BloombergLP::ball::AttributeContext::determineThresholdLevels(BloombergLP::ball::ThresholdAggregate*, BloombergLP::ball::Category const*) const> ; 5 bytes
M0000000000000077: xorl %edi, %edi ; 2 bytes
M0000000000000079: cmpb $-128, 16(%rsp) ; 5 bytes
M000000000000007e: setne %dil ; 4 bytes
M0000000000000082: movl $4502085, %esi ; 5 bytes
M0000000000000087: movl $374, %edx ; 5 bytes
M000000000000008c: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M0000000000000091: xorl %edi, %edi ; 2 bytes
M0000000000000093: cmpb $96, 17(%rsp) ; 5 bytes
M0000000000000098: setne %dil ; 4 bytes
M000000000000009c: movl $4502126, %esi ; 5 bytes
M00000000000000a1: movl $375, %edx ; 5 bytes
M00000000000000a6: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000000ab: xorl %edi, %edi ; 2 bytes
M00000000000000ad: cmpb $64, 18(%rsp) ; 5 bytes
M00000000000000b2: setne %dil ; 4 bytes
M00000000000000b6: movl $4502164, %esi ; 5 bytes
M00000000000000bb: movl $376, %edx ; 5 bytes
M00000000000000c0: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000000c5: xorl %edi, %edi ; 2 bytes
M00000000000000c7: cmpb $32, 19(%rsp) ; 5 bytes
M00000000000000cc: setne %dil ; 4 bytes
M00000000000000d0: movl $4502205, %esi ; 5 bytes
M00000000000000d5: movl $377, %edx ; 5 bytes
M00000000000000da: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000000df: movq $4502249, 208(%rsp) ; 12 bytes
M00000000000000eb: movq $3, 216(%rsp) ; 12 bytes
M00000000000000f7: movq $0, (%rsp) ; 8 bytes
M00000000000000ff: leaq 336(%rsp), %rbp ; 8 bytes
M0000000000000107: leaq 208(%rsp), %rsi ; 8 bytes
M000000000000010f: movq %rbp, %rdi ; 3 bytes
M0000000000000112: movl $120, %edx ; 5 bytes
M0000000000000117: movl $110, %ecx ; 5 bytes
M000000000000011c: movl $70, %r8d ; 6 bytes
M0000000000000122: movl $40, %r9d ; 6 bytes
M0000000000000128: callq 0x4126d0 <BloombergLP::ball::Rule::Rule(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, int, int, int, int, BloombergLP::bslma::Allocator*)> ; 5 bytes
M000000000000012d: movq %rbx, %rdi ; 3 bytes
M0000000000000130: movq %rbp, %rsi ; 3 bytes
M0000000000000133: callq 0x415f10 <BloombergLP::ball::CategoryManager::addRule(BloombergLP::ball::Rule const&)> ; 5 bytes
M0000000000000138: movq %r15, %rdi ; 3 bytes
M000000000000013b: movq %r14, %rsi ; 3 bytes
M000000000000013e: callq 0x414eb0 <BloombergLP::ball::AttributeContext::hasRelevantActiveRules(BloombergLP::ball::Category const*) const> ; 5 bytes
M0000000000000143: xorb $1, %al ; 2 bytes
M0000000000000145: movzbl %al, %edi ; 3 bytes
M0000000000000148: movl $4502047, %esi ; 5 bytes
M000000000000014d: movl $397, %edx ; 5 bytes
M0000000000000152: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M0000000000000157: movl $0, 12(%rsp) ; 8 bytes
M000000000000015f: leaq 12(%rsp), %rsi ; 5 bytes
M0000000000000164: movq %r15, %rdi ; 3 bytes
M0000000000000167: movq %r14, %rdx ; 3 bytes
M000000000000016a: callq 0x414ff0 <BloombergLP::ball::AttributeContext::determineThresholdLevels(BloombergLP::ball::ThresholdAggregate*, BloombergLP::ball::Category const*) const> ; 5 bytes
M000000000000016f: xorl %edi, %edi ; 2 bytes
M0000000000000171: cmpb $-128, 12(%rsp) ; 5 bytes
M0000000000000176: setne %dil ; 4 bytes
M000000000000017a: movl $4502253, %esi ; 5 bytes
M000000000000017f: movl $406, %edx ; 5 bytes
M0000000000000184: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M0000000000000189: xorl %edi, %edi ; 2 bytes
M000000000000018b: cmpb $110, 13(%rsp) ; 5 bytes
M0000000000000190: setne %dil ; 4 bytes
M0000000000000194: movl $4502290, %esi ; 5 bytes
M0000000000000199: movl $407, %edx ; 5 bytes
M000000000000019e: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000001a3: xorl %edi, %edi ; 2 bytes
M00000000000001a5: cmpb $70, 14(%rsp) ; 5 bytes
M00000000000001aa: setne %dil ; 4 bytes
M00000000000001ae: movl $4502325, %esi ; 5 bytes
M00000000000001b3: movl $408, %edx ; 5 bytes
M00000000000001b8: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000001bd: xorl %edi, %edi ; 2 bytes
M00000000000001bf: cmpb $40, 15(%rsp) ; 5 bytes
M00000000000001c4: setne %dil ; 4 bytes
M00000000000001c8: movl $4502362, %esi ; 5 bytes
M00000000000001cd: movl $409, %edx ; 5 bytes
M00000000000001d2: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000001d7: leaq 336(%rsp), %rsi ; 8 bytes
M00000000000001df: movq %rbx, %rdi ; 3 bytes
M00000000000001e2: callq 0x4160c0 <BloombergLP::ball::CategoryManager::removeRule(BloombergLP::ball::Rule const&)> ; 5 bytes
M00000000000001e7: movq $4502402, 24(%rsp) ; 9 bytes
M00000000000001f0: movq $4, 32(%rsp) ; 9 bytes
M00000000000001f9: movq 2508896(%rip), %rax # 66a780 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M0000000000000200: testq %rax, %rax ; 3 bytes
M0000000000000203: jne 0x405f2a <usageExample2+0x20a> ; 2 bytes
M0000000000000205: callq 0x421bc0 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M000000000000020a: movq %rax, 104(%rsp) ; 5 bytes
M000000000000020f: leaq 208(%rsp), %rdi ; 8 bytes
M0000000000000217: leaq 24(%rsp), %rsi ; 5 bytes
M000000000000021c: leaq 104(%rsp), %rcx ; 5 bytes
M0000000000000221: movl $3938908, %edx ; 5 bytes
M0000000000000226: callq 0x412820 <BloombergLP::ball::ManagedAttribute::ManagedAttribute(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, int, bsl::allocator<char> const&)> ; 5 bytes
M000000000000022b: movl $4294967295, 480(%rsp) ; 11 bytes
M0000000000000236: movb $0, 24(%rsp) ; 5 bytes
M000000000000023b: leaq 392(%rsp), %rdi ; 8 bytes
M0000000000000243: leaq 24(%rsp), %rsi ; 5 bytes
M0000000000000248: leaq 208(%rsp), %rdx ; 8 bytes
M0000000000000250: callq 0x412e60 <BloombergLP::bslstl::HashTable<BloombergLP::bslstl::UnorderedSetKeyConfiguration<BloombergLP::ball::ManagedAttribute>, BloombergLP::ball::ManagedAttributeSet::AttributeHash, bsl::equal_to<BloombergLP::ball::ManagedAttribute>, bsl::allocator<BloombergLP::ball::ManagedAttribute> >::insertIfMissing(bool*, BloombergLP::ball::ManagedAttribute const&)> ; 5 bytes
M0000000000000255: leaq 336(%rsp), %rsi ; 8 bytes
M000000000000025d: movq %rbx, %rdi ; 3 bytes
M0000000000000260: callq 0x415f10 <BloombergLP::ball::CategoryManager::addRule(BloombergLP::ball::Rule const&)> ; 5 bytes
M0000000000000265: movq %r15, %rdi ; 3 bytes
M0000000000000268: movq %r14, %rsi ; 3 bytes
M000000000000026b: callq 0x414eb0 <BloombergLP::ball::AttributeContext::hasRelevantActiveRules(BloombergLP::ball::Category const*) const> ; 5 bytes
M0000000000000270: movzbl %al, %edi ; 3 bytes
M0000000000000273: movl $4502046, %esi ; 5 bytes
M0000000000000278: movl $437, %edx ; 5 bytes
M000000000000027d: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M0000000000000282: leaq 12(%rsp), %rsi ; 5 bytes
M0000000000000287: movq %r15, %rdi ; 3 bytes
M000000000000028a: movq %r14, %rdx ; 3 bytes
M000000000000028d: callq 0x414ff0 <BloombergLP::ball::AttributeContext::determineThresholdLevels(BloombergLP::ball::ThresholdAggregate*, BloombergLP::ball::Category const*) const> ; 5 bytes
M0000000000000292: movb 12(%rsp), %al ; 4 bytes
M0000000000000296: cmpb 16(%rsp), %al ; 4 bytes
M000000000000029a: jne 0x405fdd <usageExample2+0x2bd> ; 2 bytes
M000000000000029c: movb 13(%rsp), %al ; 4 bytes
M00000000000002a0: cmpb 17(%rsp), %al ; 4 bytes
M00000000000002a4: jne 0x405fdd <usageExample2+0x2bd> ; 2 bytes
M00000000000002a6: movb 14(%rsp), %al ; 4 bytes
M00000000000002aa: cmpb 18(%rsp), %al ; 4 bytes
M00000000000002ae: jne 0x405fdd <usageExample2+0x2bd> ; 2 bytes
M00000000000002b0: movb 15(%rsp), %al ; 4 bytes
M00000000000002b4: cmpb 19(%rsp), %al ; 4 bytes
M00000000000002b8: sete %al ; 3 bytes
M00000000000002bb: jmp 0x405fdf <usageExample2+0x2bf> ; 2 bytes
M00000000000002bd: xorl %eax, %eax ; 2 bytes
M00000000000002bf: xorb $1, %al ; 2 bytes
M00000000000002c1: movzbl %al, %edi ; 3 bytes
M00000000000002c4: movl $4502407, %esi ; 5 bytes
M00000000000002c9: movl $443, %edx ; 5 bytes
M00000000000002ce: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000002d3: movq $4501584, 104(%rsp) ; 9 bytes
M00000000000002dc: movq 2508669(%rip), %rax # 66a780 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M00000000000002e3: testq %rax, %rax ; 3 bytes
M00000000000002e6: jne 0x40600d <usageExample2+0x2ed> ; 2 bytes
M00000000000002e8: callq 0x421bc0 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M00000000000002ed: movq %rax, 112(%rsp) ; 5 bytes
M00000000000002f2: xorps %xmm0, %xmm0 ; 3 bytes
M00000000000002f5: movups %xmm0, 120(%rsp) ; 5 bytes
M00000000000002fa: movl $1, 136(%rsp) ; 11 bytes
M0000000000000305: leaq 144(%rsp), %rax ; 8 bytes
M000000000000030d: movl $0, 168(%rsp) ; 11 bytes
M0000000000000318: movq %rax, 160(%rsp) ; 8 bytes
M0000000000000320: movq $0, 152(%rsp) ; 12 bytes
M000000000000032c: movq 2508589(%rip), %rax # 66a780 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M0000000000000333: testq %rax, %rax ; 3 bytes
M0000000000000336: jne 0x40605d <usageExample2+0x33d> ; 2 bytes
M0000000000000338: callq 0x421bc0 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M000000000000033d: movq $4502402, 24(%rsp) ; 9 bytes
M0000000000000346: movl $0, 80(%rsp) ; 8 bytes
M000000000000034e: testq %rax, %rax ; 3 bytes
M0000000000000351: jne 0x406083 <usageExample2+0x363> ; 2 bytes
M0000000000000353: movq 2508550(%rip), %rax # 66a780 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M000000000000035a: testq %rax, %rax ; 3 bytes
M000000000000035d: je 0x4064d4 <usageExample2+0x7b4> ; 6 bytes
M0000000000000363: leaq 32(%rsp), %rbx ; 5 bytes
M0000000000000368: movq %rax, 88(%rsp) ; 5 bytes
M000000000000036d: movl $4294967295, %eax ; 5 bytes
M0000000000000372: movq %rax, 96(%rsp) ; 5 bytes
M0000000000000377: movl $3938908, (%rbx) ; 6 bytes
M000000000000037d: movl $1, 80(%rsp) ; 8 bytes
M0000000000000385: leaq 112(%rsp), %r13 ; 5 bytes
M000000000000038a: leaq 144(%rsp), %rbp ; 8 bytes
M0000000000000392: movq 152(%rsp), %rax ; 8 bytes
M000000000000039a: testq %rax, %rax ; 3 bytes
M000000000000039d: movq %r14, 176(%rsp) ; 8 bytes
M00000000000003a5: je 0x406134 <usageExample2+0x414> ; 2 bytes
M00000000000003a7: movq %rbp, %r12 ; 3 bytes
M00000000000003aa: xorl %ebp, %ebp ; 2 bytes
M00000000000003ac: leaq 24(%rsp), %r14 ; 5 bytes
M00000000000003b1: nopw %cs:(%rax,%rax) ; 10 bytes
M00000000000003bb: nopl (%rax,%rax) ; 5 bytes
M00000000000003c0: movq %rax, %rbx ; 3 bytes
M00000000000003c3: leaq 24(%rax), %rdx ; 4 bytes
M00000000000003c7: movq %r13, %rdi ; 3 bytes
M00000000000003ca: movq %r14, %rsi ; 3 bytes
M00000000000003cd: callq 0x413df0 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const> ; 5 bytes
M00000000000003d2: testb %al, %al ; 2 bytes
M00000000000003d4: cmoveq %rbx, %rbp ; 4 bytes
M00000000000003d8: xorb $1, %al ; 2 bytes
M00000000000003da: movzbl %al, %ecx ; 3 bytes
M00000000000003dd: movq 8(%rbx,%rcx,8), %rax ; 5 bytes
M00000000000003e2: testq %rax, %rax ; 3 bytes
M00000000000003e5: jne 0x4060e0 <usageExample2+0x3c0> ; 2 bytes
M00000000000003e7: leal -1(%rcx,%rcx), %eax ; 4 bytes
M00000000000003eb: movl %eax, 20(%rsp) ; 4 bytes
M00000000000003ef: testq %rbp, %rbp ; 3 bytes
M00000000000003f2: je 0x406141 <usageExample2+0x421> ; 2 bytes
M00000000000003f4: addq $24, %rbp ; 4 bytes
M00000000000003f8: leaq 24(%rsp), %rdx ; 5 bytes
M00000000000003fd: movq %r13, %rdi ; 3 bytes
M0000000000000400: movq %rbp, %rsi ; 3 bytes
M0000000000000403: callq 0x413df0 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const> ; 5 bytes
M0000000000000408: movq %r12, %rbp ; 3 bytes
M000000000000040b: testb %al, %al ; 2 bytes
M000000000000040d: jne 0x406144 <usageExample2+0x424> ; 2 bytes
M000000000000040f: jmp 0x406322 <usageExample2+0x602> ; 5 bytes
M0000000000000414: movl $4294967295, 20(%rsp) ; 8 bytes
M000000000000041c: movq %rbp, %rbx ; 3 bytes
M000000000000041f: jmp 0x406144 <usageExample2+0x424> ; 2 bytes
M0000000000000421: movq %r12, %rbp ; 3 bytes
M0000000000000424: movq 128(%rsp), %r12 ; 8 bytes
M000000000000042c: testq %r12, %r12 ; 3 bytes
M000000000000042f: jne 0x406276 <usageExample2+0x556> ; 6 bytes
M0000000000000435: movslq 136(%rsp), %rax ; 8 bytes
M000000000000043d: imulq $104, %rax, %r14 ; 4 bytes
M0000000000000441: leaq 23(%r14), %rsi ; 4 bytes
M0000000000000445: andq $-16, %rsi ; 4 bytes
M0000000000000449: movq 112(%rsp), %rdi ; 5 bytes
M000000000000044e: movq (%rdi), %rax ; 3 bytes
M0000000000000451: callq *16(%rax) ; 3 bytes
M0000000000000454: movq %rax, %rcx ; 3 bytes
M0000000000000457: movq 120(%rsp), %rax ; 5 bytes
M000000000000045c: movq %rax, (%rcx) ; 3 bytes
M000000000000045f: movq %rcx, 120(%rsp) ; 5 bytes
M0000000000000464: leaq 8(%rcx), %r12 ; 4 bytes
M0000000000000468: leaq -96(%rcx,%r14), %rsi ; 5 bytes
M000000000000046d: cmpq %r12, %rsi ; 3 bytes
M0000000000000470: jbe 0x40624e <usageExample2+0x52e> ; 6 bytes
M0000000000000476: addq $-105, %r14 ; 4 bytes
M000000000000047a: movabsq $5675921253449092805, %rdx ; 10 bytes
M0000000000000484: movq %r14, %rax ; 3 bytes
M0000000000000487: mulq %rdx ; 3 bytes
M000000000000048a: shrl $5, %edx ; 3 bytes
M000000000000048d: incl %edx ; 2 bytes
M000000000000048f: andq $7, %rdx ; 4 bytes
M0000000000000493: je 0x40650c <usageExample2+0x7ec> ; 6 bytes
M0000000000000499: addq $112, %rcx ; 4 bytes
M000000000000049d: negq %rdx ; 3 bytes
M00000000000004a0: movq %rcx, -104(%rcx) ; 4 bytes
M00000000000004a4: addq $104, %rcx ; 4 bytes
M00000000000004a8: incq %rdx ; 3 bytes
M00000000000004ab: jne 0x4061c0 <usageExample2+0x4a0> ; 2 bytes
M00000000000004ad: addq $-104, %rcx ; 4 bytes
M00000000000004b1: cmpq $728, %r14 ; 7 bytes
M00000000000004b8: jb 0x40624e <usageExample2+0x52e> ; 2 bytes
M00000000000004ba: nopw (%rax,%rax) ; 6 bytes
M00000000000004c0: leaq 104(%rcx), %rax ; 4 bytes
M00000000000004c4: movq %rax, (%rcx) ; 3 bytes
M00000000000004c7: leaq 208(%rcx), %rax ; 7 bytes
M00000000000004ce: movq %rax, 104(%rcx) ; 4 bytes
M00000000000004d2: leaq 312(%rcx), %rax ; 7 bytes
M00000000000004d9: movq %rax, 208(%rcx) ; 7 bytes
M00000000000004e0: leaq 416(%rcx), %rax ; 7 bytes
M00000000000004e7: movq %rax, 312(%rcx) ; 7 bytes
M00000000000004ee: leaq 520(%rcx), %rax ; 7 bytes
M00000000000004f5: movq %rax, 416(%rcx) ; 7 bytes
M00000000000004fc: leaq 624(%rcx), %rax ; 7 bytes
M0000000000000503: movq %rax, 520(%rcx) ; 7 bytes
M000000000000050a: leaq 728(%rcx), %rax ; 7 bytes
M0000000000000511: movq %rax, 624(%rcx) ; 7 bytes
M0000000000000518: leaq 832(%rcx), %rax ; 7 bytes
M000000000000051f: movq %rax, 728(%rcx) ; 7 bytes
M0000000000000526: movq %rax, %rcx ; 3 bytes
M0000000000000529: cmpq %rsi, %rax ; 3 bytes
M000000000000052c: jb 0x4061e0 <usageExample2+0x4c0> ; 2 bytes
M000000000000052e: movq 128(%rsp), %rax ; 8 bytes
M0000000000000536: movq %rax, (%rsi) ; 3 bytes
M0000000000000539: movq %r12, 128(%rsp) ; 8 bytes
M0000000000000541: movl 136(%rsp), %eax ; 7 bytes
M0000000000000548: cmpl $31, %eax ; 3 bytes
M000000000000054b: jg 0x406276 <usageExample2+0x556> ; 2 bytes
M000000000000054d: addl %eax, %eax ; 2 bytes
M000000000000054f: movl %eax, 136(%rsp) ; 7 bytes
M0000000000000556: movq (%r12), %rax ; 4 bytes
M000000000000055a: movq %rax, 128(%rsp) ; 8 bytes
M0000000000000562: movq 112(%rsp), %rax ; 5 bytes
M0000000000000567: testq %rax, %rax ; 3 bytes
M000000000000056a: jne 0x40629d <usageExample2+0x57d> ; 2 bytes
M000000000000056c: movq 2508013(%rip), %rax # 66a780 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M0000000000000573: testq %rax, %rax ; 3 bytes
M0000000000000576: jne 0x40629d <usageExample2+0x57d> ; 2 bytes
M0000000000000578: callq 0x421bc0 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M000000000000057d: movq 24(%rsp), %rcx ; 5 bytes
M0000000000000582: movq %rcx, 24(%r12) ; 5 bytes
M0000000000000587: movl 80(%rsp), %ecx ; 4 bytes
M000000000000058b: movl %ecx, 80(%r12) ; 5 bytes
M0000000000000590: testq %rax, %rax ; 3 bytes
M0000000000000593: jne 0x4062cb <usageExample2+0x5ab> ; 2 bytes
M0000000000000595: movq 2507972(%rip), %rax # 66a780 <BloombergLP::bslma::Default::s_defaultAllocator> ; 7 bytes
M000000000000059c: testq %rax, %rax ; 3 bytes
M000000000000059f: jne 0x4062cb <usageExample2+0x5ab> ; 2 bytes
M00000000000005a1: callq 0x421bc0 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M00000000000005a6: movl 80(%r12), %ecx ; 5 bytes
M00000000000005ab: movq %rax, 88(%r12) ; 5 bytes
M00000000000005b0: testl %ecx, %ecx ; 2 bytes
M00000000000005b2: je 0x4062fb <usageExample2+0x5db> ; 2 bytes
M00000000000005b4: leaq 32(%rsp), %rdi ; 5 bytes
M00000000000005b9: leaq 32(%r12), %rcx ; 5 bytes
M00000000000005be: movq %rcx, 192(%rsp) ; 8 bytes
M00000000000005c6: movq %rax, 200(%rsp) ; 8 bytes
M00000000000005ce: leaq 192(%rsp), %rsi ; 8 bytes
M00000000000005d6: callq 0x413670 <bsl::enable_if<(Variant_ReturnValueHelper<BloombergLP::bdlb::Variant_CopyConstructVisitor>::value) == (0), void>::type BloombergLP::bdlb::VariantImp<BloombergLP::bslmf::TypeList<int, long long, bsl::basic_string<char, std::__1::char_traits<char>, bsl::allocator<char> > > >::apply<BloombergLP::bdlb::Variant_CopyConstructVisitor>(BloombergLP::bdlb::Variant_CopyConstructVisitor&) const> ; 5 bytes
M00000000000005db: movl 96(%rsp), %eax ; 4 bytes
M00000000000005df: movl %eax, 96(%r12) ; 5 bytes
M00000000000005e4: movl 100(%rsp), %eax ; 4 bytes
M00000000000005e8: movl %eax, 100(%r12) ; 5 bytes
M00000000000005ed: movl 20(%rsp), %edx ; 4 bytes
M00000000000005f1: shrl $31, %edx ; 3 bytes
M00000000000005f4: movq %rbp, %rdi ; 3 bytes
M00000000000005f7: movq %rbx, %rsi ; 3 bytes
M00000000000005fa: movq %r12, %rcx ; 3 bytes
M00000000000005fd: callq 0x420490 <BloombergLP::bslalg::RbTreeUtil::insertAt(BloombergLP::bslalg::RbTreeAnchor*, BloombergLP::bslalg::RbTreeNode*, bool, BloombergLP::bslalg::RbTreeNode*)> ; 5 bytes
M0000000000000602: cmpl $3, 80(%rsp) ; 5 bytes
M0000000000000607: jne 0x406341 <usageExample2+0x621> ; 2 bytes
M0000000000000609: cmpq $23, 64(%rsp) ; 6 bytes
M000000000000060f: je 0x406341 <usageExample2+0x621> ; 2 bytes
M0000000000000611: movq 32(%rsp), %rsi ; 5 bytes
M0000000000000616: movq 72(%rsp), %rdi ; 5 bytes
M000000000000061b: movq (%rdi), %rax ; 3 bytes
M000000000000061e: callq *24(%rax) ; 3 bytes
M0000000000000621: movq $0, 32(%r15) ; 8 bytes
M0000000000000629: movq $-1, 40(%r15) ; 8 bytes
M0000000000000631: leaq 24(%rsp), %rdi ; 5 bytes
M0000000000000636: leaq 104(%rsp), %rdx ; 5 bytes
M000000000000063b: movq %r15, %rsi ; 3 bytes
M000000000000063e: callq 0x414610 <BloombergLP::ball::AttributeContainerList::pushFront(BloombergLP::ball::AttributeContainer const*)> ; 5 bytes
M0000000000000643: movq 176(%rsp), %rbx ; 8 bytes
M000000000000064b: movq %r15, %rdi ; 3 bytes
M000000000000064e: movq %rbx, %rsi ; 3 bytes
M0000000000000651: callq 0x414eb0 <BloombergLP::ball::AttributeContext::hasRelevantActiveRules(BloombergLP::ball::Category const*) const> ; 5 bytes
M0000000000000656: xorb $1, %al ; 2 bytes
M0000000000000658: movzbl %al, %edi ; 3 bytes
M000000000000065b: movl $4502047, %esi ; 5 bytes
M0000000000000660: movl $462, %edx ; 5 bytes
M0000000000000665: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M000000000000066a: leaq 12(%rsp), %rsi ; 5 bytes
M000000000000066f: movq %r15, %rdi ; 3 bytes
M0000000000000672: movq %rbx, %rdx ; 3 bytes
M0000000000000675: callq 0x414ff0 <BloombergLP::ball::AttributeContext::determineThresholdLevels(BloombergLP::ball::ThresholdAggregate*, BloombergLP::ball::Category const*) const> ; 5 bytes
M000000000000067a: xorl %edi, %edi ; 2 bytes
M000000000000067c: cmpb $-128, 12(%rsp) ; 5 bytes
M0000000000000681: setne %dil ; 4 bytes
M0000000000000685: movl $4502253, %esi ; 5 bytes
M000000000000068a: movl $468, %edx ; 5 bytes
M000000000000068f: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M0000000000000694: xorl %edi, %edi ; 2 bytes
M0000000000000696: cmpb $110, 13(%rsp) ; 5 bytes
M000000000000069b: setne %dil ; 4 bytes
M000000000000069f: movl $4502290, %esi ; 5 bytes
M00000000000006a4: movl $469, %edx ; 5 bytes
M00000000000006a9: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000006ae: xorl %edi, %edi ; 2 bytes
M00000000000006b0: cmpb $70, 14(%rsp) ; 5 bytes
M00000000000006b5: setne %dil ; 4 bytes
M00000000000006b9: movl $4502325, %esi ; 5 bytes
M00000000000006be: movl $470, %edx ; 5 bytes
M00000000000006c3: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000006c8: xorl %edi, %edi ; 2 bytes
M00000000000006ca: cmpb $40, 15(%rsp) ; 5 bytes
M00000000000006cf: setne %dil ; 4 bytes
M00000000000006d3: movl $4502362, %esi ; 5 bytes
M00000000000006d8: movl $471, %edx ; 5 bytes
M00000000000006dd: callq 0x405860 <aSsErT(int, char const*, int)> ; 5 bytes
M00000000000006e2: movq 24(%rsp), %rax ; 5 bytes
M00000000000006e7: movq %rax, 184(%rsp) ; 8 bytes
M00000000000006ef: movq $0, 32(%r15) ; 8 bytes
M00000000000006f7: movq $-1, 40(%r15) ; 8 bytes
M00000000000006ff: leaq 184(%rsp), %rsi ; 8 bytes
M0000000000000707: movq %r15, %rdi ; 3 bytes
M000000000000070a: callq 0x414680 <BloombergLP::ball::AttributeContainerList::remove(BloombergLP::ball::AttributeContainerListIterator const&)> ; 5 bytes
M000000000000070f: movq $4501584, 104(%rsp) ; 9 bytes
M0000000000000718: movq %r13, %rdi ; 3 bytes
M000000000000071b: callq 0x4125d0 <bsl::set<BloombergLP::ball::Attribute, AttributeComparator, bsl::allocator<BloombergLP::ball::Attribute> >::~set()> ; 5 bytes
M0000000000000720: leaq 104(%rsp), %rdi ; 5 bytes
M0000000000000725: callq 0x414410 <BloombergLP::ball::AttributeContainer::~AttributeContainer()> ; 5 bytes
M000000000000072a: movl 312(%rsp), %eax ; 7 bytes
M0000000000000731: testl %eax, %eax ; 2 bytes
M0000000000000733: je 0x406492 <usageExample2+0x772> ; 2 bytes
M0000000000000735: cmpl $3, %eax ; 3 bytes
M0000000000000738: jne 0x406487 <usageExample2+0x767> ; 2 bytes
M000000000000073a: cmpq $23, 296(%rsp) ; 9 bytes
M0000000000000743: je 0x40647b <usageExample2+0x75b> ; 2 bytes
M0000000000000745: movq 264(%rsp), %rsi ; 8 bytes
M000000000000074d: movq 304(%rsp), %rdi ; 8 bytes
M0000000000000755: movq (%rdi), %rax ; 3 bytes
M0000000000000758: callq *24(%rax) ; 3 bytes
M000000000000075b: movq $-1, 288(%rsp) ; 12 bytes
M0000000000000767: movl $0, 312(%rsp) ; 11 bytes
M0000000000000772: cmpq $23, 240(%rsp) ; 9 bytes
M000000000000077b: je 0x4064b3 <usageExample2+0x793> ; 2 bytes
M000000000000077d: movq 208(%rsp), %rsi ; 8 bytes
M0000000000000785: movq 248(%rsp), %rdi ; 8 bytes
M000000000000078d: movq (%rdi), %rax ; 3 bytes
M0000000000000790: callq *24(%rax) ; 3 bytes
M0000000000000793: leaq 336(%rsp), %rdi ; 8 bytes
M000000000000079b: callq 0x412990 <BloombergLP::ball::Rule::~Rule()> ; 5 bytes
M00000000000007a0: xorl %eax, %eax ; 2 bytes
M00000000000007a2: addq $488, %rsp ; 7 bytes
M00000000000007a9: popq %rbx ; 1 bytes
M00000000000007aa: popq %r12 ; 2 bytes
M00000000000007ac: popq %r13 ; 2 bytes
M00000000000007ae: popq %r14 ; 2 bytes
M00000000000007b0: popq %r15 ; 2 bytes
M00000000000007b2: popq %rbp ; 1 bytes
M00000000000007b3: retq ; 1 bytes
M00000000000007b4: callq 0x421bc0 <BloombergLP::bslma::Default::determineAndReturnDefaultAllocator()> ; 5 bytes
M00000000000007b9: movl 80(%rsp), %ecx ; 4 bytes
M00000000000007bd: leaq 32(%rsp), %rbx ; 5 bytes
M00000000000007c2: movq %rax, 88(%rsp) ; 5 bytes
M00000000000007c7: movl $4294967295, %eax ; 5 bytes
M00000000000007cc: movq %rax, 96(%rsp) ; 5 bytes
M00000000000007d1: cmpl $3, %ecx ; 3 bytes
M00000000000007d4: je 0x406521 <usageExample2+0x801> ; 2 bytes
M00000000000007d6: cmpl $1, %ecx ; 3 bytes
M00000000000007d9: jne 0x406097 <usageExample2+0x377> ; 6 bytes
M00000000000007df: movl $3938908, 32(%rsp) ; 8 bytes
M00000000000007e7: jmp 0x4060a5 <usageExample2+0x385> ; 5 bytes
M00000000000007ec: movq %r12, %rcx ; 3 bytes
M00000000000007ef: cmpq $728, %r14 ; 7 bytes
M00000000000007f6: jae 0x4061e0 <usageExample2+0x4c0> ; 6 bytes
M00000000000007fc: jmp 0x40624e <usageExample2+0x52e> ; 5 bytes
M0000000000000801: cmpq $23, 64(%rsp) ; 6 bytes
M0000000000000807: je 0x406539 <usageExample2+0x819> ; 2 bytes
M0000000000000809: movq 32(%rsp), %rsi ; 5 bytes
M000000000000080e: movq 72(%rsp), %rdi ; 5 bytes
M0000000000000813: movq (%rdi), %rax ; 3 bytes
M0000000000000816: callq *24(%rax) ; 3 bytes
M0000000000000819: movq $-1, 56(%rsp) ; 9 bytes
M0000000000000822: jmp 0x406097 <usageExample2+0x377> ; 5 bytes
M0000000000000827: movq %rax, %rdi ; 3 bytes
M000000000000082a: callq 0x412c80 <__clang_call_terminate> ; 5 bytes
M000000000000082f: movq %rax, %rdi ; 3 bytes
M0000000000000832: callq 0x412c80 <__clang_call_terminate> ; 5 bytes
M0000000000000837: movq %rax, %rdi ; 3 bytes
M000000000000083a: callq 0x412c80 <__clang_call_terminate> ; 5 bytes
M000000000000083f: movq %rax, %rbx ; 3 bytes
M0000000000000842: jmp 0x4065dd <usageExample2+0x8bd> ; 2 bytes
M0000000000000844: movq %rax, %rdi ; 3 bytes
M0000000000000847: callq 0x412c80 <__clang_call_terminate> ; 5 bytes
M000000000000084c: jmp 0x40659a <usageExample2+0x87a> ; 2 bytes
M000000000000084e: movq %rax, %rbx ; 3 bytes
M0000000000000851: movq 128(%rsp), %rax ; 8 bytes
M0000000000000859: movq %rax, (%r12) ; 4 bytes
M000000000000085d: movq %r12, 128(%rsp) ; 8 bytes
M0000000000000865: jmp 0x4065a2 <usageExample2+0x882> ; 2 bytes
M0000000000000867: jmp 0x406592 <usageExample2+0x872> ; 2 bytes
M0000000000000869: jmp 0x40659f <usageExample2+0x87f> ; 2 bytes
M000000000000086b: jmp 0x406592 <usageExample2+0x872> ; 2 bytes
M000000000000086d: movq %rax, %rbx ; 3 bytes
M0000000000000870: jmp 0x4065e7 <usageExample2+0x8c7> ; 2 bytes
M0000000000000872: movq %rax, %rbx ; 3 bytes
M0000000000000875: jmp 0x406650 <usageExample2+0x930> ; 5 bytes
M000000000000087a: movq %rax, %rbx ; 3 bytes
M000000000000087d: jmp 0x4065ca <usageExample2+0x8aa> ; 2 bytes
M000000000000087f: movq %rax, %rbx ; 3 bytes
M0000000000000882: cmpl $3, 80(%rsp) ; 5 bytes
M0000000000000887: jne 0x4065ca <usageExample2+0x8aa> ; 2 bytes
M0000000000000889: cmpq $23, 64(%rsp) ; 6 bytes
M000000000000088f: je 0x4065c1 <usageExample2+0x8a1> ; 2 bytes
M0000000000000891: movq 32(%rsp), %rsi ; 5 bytes
M0000000000000896: movq 72(%rsp), %rdi ; 5 bytes
M000000000000089b: movq (%rdi), %rax ; 3 bytes
M000000000000089e: callq *24(%rax) ; 3 bytes
M00000000000008a1: movq $-1, 56(%rsp) ; 9 bytes
M00000000000008aa: movq $4501584, 104(%rsp) ; 9 bytes
M00000000000008b3: leaq 112(%rsp), %rdi ; 5 bytes
M00000000000008b8: callq 0x4125d0 <bsl::set<BloombergLP::ball::Attribute, AttributeComparator, bsl::allocator<BloombergLP::ball::Attribute> >::~set()> ; 5 bytes
M00000000000008bd: leaq 104(%rsp), %rdi ; 5 bytes
M00000000000008c2: callq 0x414410 <BloombergLP::ball::AttributeContainer::~AttributeContainer()> ; 5 bytes
M00000000000008c7: movl 312(%rsp), %eax ; 7 bytes
M00000000000008ce: testl %eax, %eax ; 2 bytes
M00000000000008d0: je 0x40662f <usageExample2+0x90f> ; 2 bytes
M00000000000008d2: cmpl $3, %eax ; 3 bytes
M00000000000008d5: jne 0x406624 <usageExample2+0x904> ; 2 bytes
M00000000000008d7: cmpq $23, 296(%rsp) ; 9 bytes
M00000000000008e0: je 0x406618 <usageExample2+0x8f8> ; 2 bytes
M00000000000008e2: movq 264(%rsp), %rsi ; 8 bytes
M00000000000008ea: movq 304(%rsp), %rdi ; 8 bytes
M00000000000008f2: movq (%rdi), %rax ; 3 bytes
M00000000000008f5: callq *24(%rax) ; 3 bytes
M00000000000008f8: movq $-1, 288(%rsp) ; 12 bytes
M0000000000000904: movl $0, 312(%rsp) ; 11 bytes
M000000000000090f: cmpq $23, 240(%rsp) ; 9 bytes
M0000000000000918: je 0x406650 <usageExample2+0x930> ; 2 bytes
M000000000000091a: movq 208(%rsp), %rsi ; 8 bytes
M0000000000000922: movq 248(%rsp), %rdi ; 8 bytes
M000000000000092a: movq (%rdi), %rax ; 3 bytes
M000000000000092d: callq *24(%rax) ; 3 bytes
M0000000000000930: leaq 336(%rsp), %rdi ; 8 bytes
M0000000000000938: callq 0x412990 <BloombergLP::ball::Rule::~Rule()> ; 5 bytes
M000000000000093d: movq %rbx, %rdi ; 3 bytes
M0000000000000940: callq 0x4046c0 <_Unwind_Resume@plt> ; 5 bytes
M0000000000000945: movq %rax, %rdi ; 3 bytes
M0000000000000948: callq 0x412c80 <__clang_call_terminate> ; 5 bytes
M000000000000094d: movq %rax, %rdi ; 3 bytes
M0000000000000950: callq 0x412c80 <__clang_call_terminate> ; 5 bytes
M0000000000000955: movq %rax, %rdi ; 3 bytes
M0000000000000958: callq 0x412c80 <__clang_call_terminate> ; 5 bytes
M000000000000095d: nopl (%rax) ; 3 bytes