Ignored vs Assumed Semantics in BDE

BloombergLP::bdldfp::DecimalImpUtil::decompose(int*, unsigned long long*, int*, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType64) - Assumed

0000000000476b80 <BloombergLP::bdldfp::DecimalImpUtil::decompose(int*, unsigned long long*, int*, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType64)>:
M0000000000000000:	pushq	%r15	;  2 bytes
M0000000000000002:	pushq	%r14	;  2 bytes
M0000000000000004:	pushq	%r12	;  2 bytes
M0000000000000006:	pushq	%rbx	;  1 bytes
M0000000000000007:	pushq	%rax	;  1 bytes
M0000000000000008:	movq	%rcx, %rbx	;  3 bytes
M000000000000000b:	movq	%rdx, %r14	;  3 bytes
M000000000000000e:	movq	%rsi, %r15	;  3 bytes
M0000000000000011:	movq	%rdi, %r12	;  3 bytes
M0000000000000014:	movq	%rcx, %rdi	;  3 bytes
M0000000000000017:	callq	0x489c30 <__bid64_class>	;  5 bytes
M000000000000001c:	cltq		;  2 bytes
M000000000000001e:	movl	5284112(,%rax,4), %eax	;  7 bytes
M0000000000000025:	xorl	%ecx, %ecx	;  2 bytes
M0000000000000027:	testq	%rbx, %rbx	;  3 bytes
M000000000000002a:	setns	%cl	;  3 bytes
M000000000000002d:	leal	-1(%rcx,%rcx), %ecx	;  4 bytes
M0000000000000031:	movl	%ecx, (%r12)	;  4 bytes
M0000000000000035:	movabsq	$6917529027641081856, %rcx	; 10 bytes
M000000000000003f:	movq	%rbx, %rdx	;  3 bytes
M0000000000000042:	andq	%rcx, %rdx	;  3 bytes
M0000000000000045:	cmpq	%rcx, %rdx	;  3 bytes
M0000000000000048:	jne	0x476c13 <BloombergLP::bdldfp::DecimalImpUtil::decompose(int*, unsigned long long*, int*, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType64)+0x93>	;  2 bytes
M000000000000004a:	movabsq	$8646911284551352320, %rcx	; 10 bytes
M0000000000000054:	movabsq	$2251799813685247, %rdx	; 10 bytes
M000000000000005e:	andq	%rbx, %rdx	;  3 bytes
M0000000000000061:	movabsq	$9007199254740991, %rsi	; 10 bytes
M000000000000006b:	leaq	1(%rdx,%rsi), %rdx	;  5 bytes
M0000000000000070:	movq	%rbx, %rsi	;  3 bytes
M0000000000000073:	andq	%rcx, %rsi	;  3 bytes
M0000000000000076:	shrq	$51, %rbx	;  4 bytes
M000000000000007a:	andl	$1023, %ebx	;  6 bytes
M0000000000000080:	movq	%rdx, (%r15)	;  3 bytes
M0000000000000083:	cmpq	%rcx, %rsi	;  3 bytes
M0000000000000086:	je	0x476c0e <BloombergLP::bdldfp::DecimalImpUtil::decompose(int*, unsigned long long*, int*, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType64)+0x8e>	;  2 bytes
M0000000000000088:	addl	$4294966898, %ebx	;  6 bytes
M000000000000008e:	movl	%ebx, (%r14)	;  3 bytes
M0000000000000091:	jmp	0x476c39 <BloombergLP::bdldfp::DecimalImpUtil::decompose(int*, unsigned long long*, int*, BloombergLP::bdldfp::DecimalImpUtil_IntelDfp::ValueType64)+0xb9>	;  2 bytes
M0000000000000093:	movq	%rbx, %rcx	;  3 bytes
M0000000000000096:	shrq	$53, %rcx	;  4 bytes
M000000000000009a:	andl	$1023, %ecx	;  6 bytes
M00000000000000a0:	addl	$4294966898, %ecx	;  6 bytes
M00000000000000a6:	movl	%ecx, (%r14)	;  3 bytes
M00000000000000a9:	movabsq	$9007199254740991, %rcx	; 10 bytes
M00000000000000b3:	andq	%rbx, %rcx	;  3 bytes
M00000000000000b6:	movq	%rcx, (%r15)	;  3 bytes
M00000000000000b9:	addq	$8, %rsp	;  4 bytes
M00000000000000bd:	popq	%rbx	;  1 bytes
M00000000000000be:	popq	%r12	;  2 bytes
M00000000000000c0:	popq	%r14	;  2 bytes
M00000000000000c2:	popq	%r15	;  2 bytes
M00000000000000c4:	retq		;  1 bytes
M00000000000000c5:	nopw	%cs:(%rax,%rax)	; 10 bytes
M00000000000000cf:	nop		;  1 bytes