0000000000413df0 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const>:
M0000000000000000: pushq %rbp ; 1 bytes
M0000000000000001: pushq %r15 ; 2 bytes
M0000000000000003: pushq %r14 ; 2 bytes
M0000000000000005: pushq %rbx ; 1 bytes
M0000000000000006: pushq %rax ; 1 bytes
M0000000000000007: movq %rdx, %r15 ; 3 bytes
M000000000000000a: movq %rsi, %r14 ; 3 bytes
M000000000000000d: movq (%rsi), %rdi ; 3 bytes
M0000000000000010: movq (%rdx), %rsi ; 3 bytes
M0000000000000013: callq 0x404470 <strcmp@plt> ; 5 bytes
M0000000000000018: testl %eax, %eax ; 2 bytes
M000000000000001a: je 0x413e13 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x23> ; 2 bytes
M000000000000001c: movl %eax, %ebx ; 2 bytes
M000000000000001e: shrl $31, %ebx ; 3 bytes
M0000000000000021: jmp 0x413e8b <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x9b> ; 2 bytes
M0000000000000023: movl 56(%r14), %eax ; 4 bytes
M0000000000000027: cmpl 56(%r15), %eax ; 4 bytes
M000000000000002b: jne 0x413e88 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x98> ; 2 bytes
M000000000000002d: leaq 8(%r14), %rdi ; 4 bytes
M0000000000000031: leaq 8(%r15), %rsi ; 4 bytes
M0000000000000035: cmpl $3, %eax ; 3 bytes
M0000000000000038: je 0x413e37 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x47> ; 2 bytes
M000000000000003a: cmpl $2, %eax ; 3 bytes
M000000000000003d: jne 0x413e84 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x94> ; 2 bytes
M000000000000003f: movq (%rdi), %rax ; 3 bytes
M0000000000000042: cmpq (%rsi), %rax ; 3 bytes
M0000000000000045: jmp 0x413e88 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x98> ; 2 bytes
M0000000000000047: movq 32(%r14), %rax ; 4 bytes
M000000000000004b: movq 32(%r15), %rcx ; 4 bytes
M000000000000004f: cmpq %rcx, %rax ; 3 bytes
M0000000000000052: setb %bl ; 3 bytes
M0000000000000055: movq %rcx, %rdx ; 3 bytes
M0000000000000058: cmovbq %rax, %rdx ; 4 bytes
M000000000000005c: testq %rdx, %rdx ; 3 bytes
M000000000000005f: je 0x413e8b <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x9b> ; 2 bytes
M0000000000000061: xorl %ebx, %ebx ; 2 bytes
M0000000000000063: cmpq %rcx, %rax ; 3 bytes
M0000000000000066: setb %bpl ; 4 bytes
M000000000000006a: cmpq $23, 40(%r15) ; 5 bytes
M000000000000006f: je 0x413e65 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x75> ; 2 bytes
M0000000000000071: movq 8(%r15), %rsi ; 4 bytes
M0000000000000075: cmpq $23, 40(%r14) ; 5 bytes
M000000000000007a: je 0x413e70 <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x80> ; 2 bytes
M000000000000007c: movq 8(%r14), %rdi ; 4 bytes
M0000000000000080: callq 0x404560 <memcmp@plt> ; 5 bytes
M0000000000000085: xorl %ecx, %ecx ; 2 bytes
M0000000000000087: testl %eax, %eax ; 2 bytes
M0000000000000089: sets %cl ; 3 bytes
M000000000000008c: movb %bpl, %bl ; 3 bytes
M000000000000008f: cmovnel %ecx, %ebx ; 3 bytes
M0000000000000092: jmp 0x413e8b <AttributeComparator::operator()(BloombergLP::ball::Attribute const&, BloombergLP::ball::Attribute const&) const+0x9b> ; 2 bytes
M0000000000000094: movl (%rdi), %eax ; 2 bytes
M0000000000000096: cmpl (%rsi), %eax ; 2 bytes
M0000000000000098: setl %bl ; 3 bytes
M000000000000009b: movl %ebx, %eax ; 2 bytes
M000000000000009d: addq $8, %rsp ; 4 bytes
M00000000000000a1: popq %rbx ; 1 bytes
M00000000000000a2: popq %r14 ; 2 bytes
M00000000000000a4: popq %r15 ; 2 bytes
M00000000000000a6: popq %rbp ; 1 bytes
M00000000000000a7: retq ; 1 bytes
M00000000000000a8: nopl (%rax,%rax) ; 8 bytes