140d5ed4a:	4d 85 c0             	test   %r8,%r8
140d5ed4d:	75 09                	jne    0x140d5ed58
140d5ed4f:	48 8d 45 ff          	lea    -0x1(%rbp),%rax
140d5ed53:	e9 31 01 00 00       	jmp    0x140d5ee89
140d5ed58:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
140d5ed5d:	48 8b ce             	mov    %rsi,%rcx
140d5ed60:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
140d5ed65:	e8 36 75 f7 ff       	call   0x140cd62a0
140d5ed6a:	4c 8b c3             	mov    %rbx,%r8
140d5ed6d:	41 b9 40 00 00 00    	mov    $0x40,%r9d
140d5ed73:	4c 2b c6             	sub    %rsi,%r8
140d5ed76:	44 8b d0             	mov    %eax,%r10d
140d5ed79:	48 3b de             	cmp    %rsi,%rbx
140d5ed7c:	4c 0f 42 c3          	cmovb  %rbx,%r8
140d5ed80:	44 2b c8             	sub    %eax,%r9d
140d5ed83:	74 21                	je     0x140d5eda6
140d5ed85:	49 63 d1             	movslq %r9d,%rdx
140d5ed88:	48 8b c7             	mov    %rdi,%rax
140d5ed8b:	48 8b ca             	mov    %rdx,%rcx
140d5ed8e:	48 d3 e6             	shl    %cl,%rsi
140d5ed91:	41 8b c9             	mov    %r9d,%ecx
140d5ed94:	49 d3 e0             	shl    %cl,%r8
140d5ed97:	41 8b ca             	mov    %r10d,%ecx
140d5ed9a:	48 d3 e8             	shr    %cl,%rax
140d5ed9d:	48 8b ca             	mov    %rdx,%rcx
140d5eda0:	4c 0b c0             	or     %rax,%r8
140d5eda3:	48 d3 e7             	shl    %cl,%rdi
140d5eda6:	4c 8b de             	mov    %rsi,%r11
140d5eda9:	8b de                	mov    %esi,%ebx
140d5edab:	49 c1 eb 20          	shr    $0x20,%r11
140d5edaf:	41 bc ff ff ff ff    	mov    $0xffffffff,%r12d
140d5edb5:	49 bf 00 00 00 00 ff 	movabs $0xffffffff00000000,%r15
140d5edbc:	ff ff ff
140d5edbf:	90                   	nop
140d5edc0:	49 8b c0             	mov    %r8,%rax
140d5edc3:	48 c1 e8 20          	shr    $0x20,%rax
140d5edc7:	49 3b c3             	cmp    %r11,%rax
140d5edca:	75 05                	jne    0x140d5edd1
140d5edcc:	4d 8b d4             	mov    %r12,%r10
140d5edcf:	eb 0b                	jmp    0x140d5eddc
140d5edd1:	33 d2                	xor    %edx,%edx
140d5edd3:	49 8b c0             	mov    %r8,%rax
140d5edd6:	49 f7 f3             	div    %r11
140d5edd9:	4c 8b d0             	mov    %rax,%r10
140d5eddc:	4d 8b ca             	mov    %r10,%r9
140d5eddf:	49 8b d2             	mov    %r10,%rdx
140d5ede2:	4d 0f af cb          	imul   %r11,%r9
140d5ede6:	48 0f af d3          	imul   %rbx,%rdx
140d5edea:	49 8b c8             	mov    %r8,%rcx
140d5eded:	49 2b c9             	sub    %r9,%rcx
140d5edf0:	49 85 cf             	test   %rcx,%r15
140d5edf3:	75 2b                	jne    0x140d5ee20
140d5edf5:	48 8b c7             	mov    %rdi,%rax
140d5edf8:	48 c1 e8 20          	shr    $0x20,%rax
140d5edfc:	0f 1f 40 00          	nopl   0x0(%rax)
140d5ee00:	48 c1 e1 20          	shl    $0x20,%rcx
140d5ee04:	48 0b c8             	or     %rax,%rcx
140d5ee07:	48 3b d1             	cmp    %rcx,%rdx
140d5ee0a:	76 14                	jbe    0x140d5ee20
140d5ee0c:	4d 2b cb             	sub    %r11,%r9
140d5ee0f:	49 8b c8             	mov    %r8,%rcx
140d5ee12:	49 2b c9             	sub    %r9,%rcx
140d5ee15:	49 ff ca             	dec    %r10
140d5ee18:	48 2b d3             	sub    %rbx,%rdx
140d5ee1b:	49 85 cf             	test   %rcx,%r15
140d5ee1e:	74 e0                	je     0x140d5ee00
140d5ee20:	48 8b ca             	mov    %rdx,%rcx
140d5ee23:	49 8d 42 ff          	lea    -0x1(%r10),%rax
140d5ee27:	48 c1 e9 20          	shr    $0x20,%rcx
140d5ee2b:	49 03 c9             	add    %r9,%rcx
140d5ee2e:	48 c1 e2 20          	shl    $0x20,%rdx
140d5ee32:	48 3b fa             	cmp    %rdx,%rdi
140d5ee35:	4c 8d 49 01          	lea    0x1(%rcx),%r9
140d5ee39:	4c 0f 43 c9          	cmovae %rcx,%r9
140d5ee3d:	48 2b fa             	sub    %rdx,%rdi
140d5ee40:	4d 3b c1             	cmp    %r9,%r8
140d5ee43:	49 0f 43 c2          	cmovae %r10,%rax
140d5ee47:	41 83 ee 01          	sub    $0x1,%r14d
140d5ee4b:	74 2f                	je     0x140d5ee7c
140d5ee4d:	48 8b e8             	mov    %rax,%rbp
140d5ee50:	49 8d 04 30          	lea    (%r8,%rsi,1),%rax
140d5ee54:	48 c1 e5 20          	shl    $0x20,%rbp
140d5ee58:	4d 3b c1             	cmp    %r9,%r8
140d5ee5b:	49 0f 43 c0          	cmovae %r8,%rax
140d5ee5f:	4c 8b c0             	mov    %rax,%r8
140d5ee62:	48 8b c7             	mov    %rdi,%rax
140d5ee65:	4d 2b c1             	sub    %r9,%r8
140d5ee68:	48 c1 e8 20          	shr    $0x20,%rax
140d5ee6c:	49 c1 e0 20          	shl    $0x20,%r8
140d5ee70:	4c 0b c0             	or     %rax,%r8
140d5ee73:	48 c1 e7 20          	shl    $0x20,%rdi
140d5ee77:	e9 44 ff ff ff       	jmp    0x140d5edc0
140d5ee7c:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
140d5ee81:	48 0b c5             	or     %rbp,%rax
140d5ee84:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
140d5ee89:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140d5ee8e:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140d5ee93:	48 83 c4 20          	add    $0x20,%rsp
140d5ee97:	41 5e                	pop    %r14
140d5ee99:	5f                   	pop    %rdi
140d5ee9a:	5e                   	pop    %rsi
140d5ee9b:	c3                   	ret
140d5ee9c:	cc                   	int3
140d5ee9d:	cc                   	int3
140d5ee9e:	cc                   	int3
140d5ee9f:	cc                   	int3
140d5eea0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d5eea5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140d5eeaa:	57                   	push   %rdi
140d5eeab:	b8 10 00 00 00       	mov    $0x10,%eax
140d5eeb0:	e8 eb c5 0b 00       	call   0x140e1b4a0
140d5eeb5:	48 2b e0             	sub    %rax,%rsp
140d5eeb8:	45 33 d2             	xor    %r10d,%r10d
140d5eebb:	49 8b f1             	mov    %r9,%rsi
140d5eebe:	41 8b d8             	mov    %r8d,%ebx
140d5eec1:	48 8b fa             	mov    %rdx,%rdi
140d5eec4:	4c 8b d9             	mov    %rcx,%r11
140d5eec7:	45 85 c0             	test   %r8d,%r8d
140d5eeca:	7f 12                	jg     0x140d5eede
140d5eecc:	33 c0                	xor    %eax,%eax
140d5eece:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
140d5eed3:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
140d5eed8:	48 83 c4 10          	add    $0x10,%rsp
140d5eedc:	5f                   	pop    %rdi
140d5eedd:	c3                   	ret
140d5eede:	f7 c3 fc ff ff ff    	test   $0xfffffffc,%ebx
140d5eee4:	0f 84 b6 00 00 00    	je     0x140d5efa0
140d5eeea:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140d5eef0:	48 8b 07             	mov    (%rdi),%rax
140d5eef3:	4d 8b 03             	mov    (%r11),%r8
140d5eef6:	49 8b 4b 08          	mov    0x8(%r11),%rcx
140d5eefa:	4d 03 c2             	add    %r10,%r8
140d5eefd:	48 f7 e6             	mul    %rsi
140d5ef00:	4d 3b c2             	cmp    %r10,%r8
140d5ef03:	4c 8b ca             	mov    %rdx,%r9
140d5ef06:	49 83 d1 00          	adc    $0x0,%r9
140d5ef0a:	4c 03 c0             	add    %rax,%r8
140d5ef0d:	4c 3b c0             	cmp    %rax,%r8
140d5ef10:	4d 89 03             	mov    %r8,(%r11)
140d5ef13:	48 8b 47 08          	mov    0x8(%rdi),%rax
140d5ef17:	49 83 d1 00          	adc    $0x0,%r9
140d5ef1b:	49 03 c9             	add    %r9,%rcx
140d5ef1e:	48 f7 e6             	mul    %rsi
140d5ef21:	49 3b c9             	cmp    %r9,%rcx
140d5ef24:	4c 8b d2             	mov    %rdx,%r10
140d5ef27:	49 83 d2 00          	adc    $0x0,%r10
140d5ef2b:	48 03 c8             	add    %rax,%rcx
140d5ef2e:	48 3b c8             	cmp    %rax,%rcx
140d5ef31:	49 89 4b 08          	mov    %rcx,0x8(%r11)
140d5ef35:	48 8b 47 10          	mov    0x10(%rdi),%rax
140d5ef39:	49 8b 4b 10          	mov    0x10(%r11),%rcx
140d5ef3d:	49 83 d2 00          	adc    $0x0,%r10
140d5ef41:	48 f7 e6             	mul    %rsi
140d5ef44:	49 03 ca             	add    %r10,%rcx
140d5ef47:	49 3b ca             	cmp    %r10,%rcx
140d5ef4a:	4c 8b ca             	mov    %rdx,%r9
140d5ef4d:	49 83 d1 00          	adc    $0x0,%r9
140d5ef51:	48 03 c8             	add    %rax,%rcx
140d5ef54:	48 3b c8             	cmp    %rax,%rcx
140d5ef57:	49 89 4b 10          	mov    %rcx,0x10(%r11)
140d5ef5b:	48 8b 47 18          	mov    0x18(%rdi),%rax
140d5ef5f:	49 83 d1 00          	adc    $0x0,%r9
140d5ef63:	48 f7 e6             	mul    %rsi
140d5ef66:	4c 8b d2             	mov    %rdx,%r10
140d5ef69:	49 8b 53 18          	mov    0x18(%r11),%rdx
140d5ef6d:	49 03 d1             	add    %r9,%rdx
140d5ef70:	49 3b d1             	cmp    %r9,%rdx
140d5ef73:	49 83 d2 00          	adc    $0x0,%r10
140d5ef77:	48 03 d0             	add    %rax,%rdx
140d5ef7a:	48 3b d0             	cmp    %rax,%rdx
140d5ef7d:	49 89 53 18          	mov    %rdx,0x18(%r11)
140d5ef81:	49 83 d2 00          	adc    $0x0,%r10
140d5ef85:	48 83 c7 20          	add    $0x20,%rdi
140d5ef89:	49 83 c3 20          	add    $0x20,%r11
140d5ef8d:	83 eb 04             	sub    $0x4,%ebx
140d5ef90:	f7 c3 fc ff ff ff    	test   $0xfffffffc,%ebx
140d5ef96:	0f 85 54 ff ff ff    	jne    0x140d5eef0
140d5ef9c:	85 db                	test   %ebx,%ebx
140d5ef9e:	74 3e                	je     0x140d5efde
140d5efa0:	49 2b fb             	sub    %r11,%rdi
140d5efa3:	0f 1f 40 00          	nopl   0x0(%rax)
140d5efa7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140d5efae:	00 00
140d5efb0:	4a 8b 04 1f          	mov    (%rdi,%r11,1),%rax
140d5efb4:	4d 8b 03             	mov    (%r11),%r8
140d5efb7:	4d 8d 5b 08          	lea    0x8(%r11),%r11
140d5efbb:	4d 03 c2             	add    %r10,%r8
140d5efbe:	48 f7 e6             	mul    %rsi
140d5efc1:	4d 3b c2             	cmp    %r10,%r8
140d5efc4:	4c 8b d2             	mov    %rdx,%r10
140d5efc7:	49 83 d2 00          	adc    $0x0,%r10
140d5efcb:	4c 03 c0             	add    %rax,%r8
140d5efce:	4c 3b c0             	cmp    %rax,%r8
140d5efd1:	4d 89 43 f8          	mov    %r8,-0x8(%r11)
140d5efd5:	49 83 d2 00          	adc    $0x0,%r10
140d5efd9:	83 eb 01             	sub    $0x1,%ebx
140d5efdc:	75 d2                	jne    0x140d5efb0
140d5efde:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
140d5efe3:	49 8b c2             	mov    %r10,%rax
140d5efe6:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
140d5efeb:	48 83 c4 10          	add    $0x10,%rsp
140d5efef:	5f                   	pop    %rdi
140d5eff0:	c3                   	ret
140d5eff1:	cc                   	int3
140d5eff2:	cc                   	int3
140d5eff3:	cc                   	int3
140d5eff4:	cc                   	int3
140d5eff5:	cc                   	int3
140d5eff6:	cc                   	int3
140d5eff7:	cc                   	int3
140d5eff8:	cc                   	int3
140d5eff9:	cc                   	int3
140d5effa:	cc                   	int3
140d5effb:	cc                   	int3
140d5effc:	cc                   	int3
140d5effd:	cc                   	int3
140d5effe:	cc                   	int3
140d5efff:	cc                   	int3
140d5f000:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d5f005:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140d5f00a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140d5f00f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140d5f014:	41 54                	push   %r12
140d5f016:	41 55                	push   %r13
140d5f018:	41 56                	push   %r14
140d5f01a:	41 57                	push   %r15
140d5f01c:	49 8b 00             	mov    (%r8),%rax
140d5f01f:	4d 8b e0             	mov    %r8,%r12
140d5f022:	4c 8b fa             	mov    %rdx,%r15
140d5f025:	4c 8b e9             	mov    %rcx,%r13
140d5f028:	48 f7 22             	mulq   (%rdx)
140d5f02b:	48 89 01             	mov    %rax,(%rcx)
140d5f02e:	4c 8b c2             	mov    %rdx,%r8
140d5f031:	49 8b 44 24 08       	mov    0x8(%r12),%rax
140d5f036:	49 f7 27             	mulq   (%r15)
140d5f039:	4c 03 c0             	add    %rax,%r8
140d5f03c:	48 8b da             	mov    %rdx,%rbx
140d5f03f:	4c 3b c0             	cmp    %rax,%r8
140d5f042:	49 8b 04 24          	mov    (%r12),%rax
140d5f046:	48 83 d3 00          	adc    $0x0,%rbx
140d5f04a:	49 f7 67 08          	mulq   0x8(%r15)
140d5f04e:	4c 03 c0             	add    %rax,%r8
140d5f051:	4c 3b c0             	cmp    %rax,%r8
140d5f054:	4d 89 45 08          	mov    %r8,0x8(%r13)
140d5f058:	49 8b 04 24          	mov    (%r12),%rax
140d5f05c:	48 83 d2 00          	adc    $0x0,%rdx
140d5f060:	45 33 f6             	xor    %r14d,%r14d
140d5f063:	48 03 da             	add    %rdx,%rbx
140d5f066:	41 8b ce             	mov    %r14d,%ecx
140d5f069:	48 3b da             	cmp    %rdx,%rbx
140d5f06c:	45 8b c6             	mov    %r14d,%r8d
140d5f06f:	0f 92 c1             	setb   %cl
140d5f072:	49 f7 67 10          	mulq   0x10(%r15)
140d5f076:	48 03 d8             	add    %rax,%rbx
140d5f079:	4c 8b da             	mov    %rdx,%r11
140d5f07c:	48 3b d8             	cmp    %rax,%rbx
140d5f07f:	49 8b 44 24 08       	mov    0x8(%r12),%rax
140d5f084:	4d 13 de             	adc    %r14,%r11
140d5f087:	49 f7 67 08          	mulq   0x8(%r15)
140d5f08b:	4d 8d 14 0b          	lea    (%r11,%rcx,1),%r10
140d5f08f:	48 03 d8             	add    %rax,%rbx
140d5f092:	4c 8b ca             	mov    %rdx,%r9
140d5f095:	48 3b d8             	cmp    %rax,%rbx
140d5f098:	49 8b 44 24 10       	mov    0x10(%r12),%rax
140d5f09d:	4d 13 ce             	adc    %r14,%r9
140d5f0a0:	49 f7 27             	mulq   (%r15)
140d5f0a3:	4b 8d 0c 11          	lea    (%r9,%r10,1),%rcx
140d5f0a7:	48 03 d8             	add    %rax,%rbx
140d5f0aa:	48 3b d8             	cmp    %rax,%rbx
140d5f0ad:	49 89 5d 10          	mov    %rbx,0x10(%r13)
140d5f0b1:	49 8b 44 24 18       	mov    0x18(%r12),%rax
140d5f0b6:	49 13 d6             	adc    %r14,%rdx
140d5f0b9:	4d 3b d3             	cmp    %r11,%r10
140d5f0bc:	41 0f 92 c0          	setb   %r8b
140d5f0c0:	49 3b c9             	cmp    %r9,%rcx
140d5f0c3:	48 8d 2c 0a          	lea    (%rdx,%rcx,1),%rbp
140d5f0c7:	4d 13 c6             	adc    %r14,%r8
140d5f0ca:	48 3b ea             	cmp    %rdx,%rbp
140d5f0cd:	4d 13 c6             	adc    %r14,%r8
140d5f0d0:	49 f7 27             	mulq   (%r15)
140d5f0d3:	48 03 e8             	add    %rax,%rbp
140d5f0d6:	48 8b fa             	mov    %rdx,%rdi
140d5f0d9:	48 3b e8             	cmp    %rax,%rbp
140d5f0dc:	49 8b 44 24 10       	mov    0x10(%r12),%rax
140d5f0e1:	49 13 fe             	adc    %r14,%rdi
140d5f0e4:	49 f7 67 08          	mulq   0x8(%r15)
140d5f0e8:	4a 8d 1c 07          	lea    (%rdi,%r8,1),%rbx
140d5f0ec:	45 8b c6             	mov    %r14d,%r8d
140d5f0ef:	48 03 e8             	add    %rax,%rbp
140d5f0f2:	4c 8b da             	mov    %rdx,%r11
140d5f0f5:	48 3b e8             	cmp    %rax,%rbp
140d5f0f8:	49 8b 44 24 08       	mov    0x8(%r12),%rax
140d5f0fd:	4d 13 de             	adc    %r14,%r11
140d5f100:	49 f7 67 10          	mulq   0x10(%r15)
140d5f104:	4d 8d 0c 1b          	lea    (%r11,%rbx,1),%r9
140d5f108:	48 03 e8             	add    %rax,%rbp
140d5f10b:	4c 8b d2             	mov    %rdx,%r10
140d5f10e:	48 3b e8             	cmp    %rax,%rbp
140d5f111:	49 8b 04 24          	mov    (%r12),%rax
140d5f115:	4d 13 d6             	adc    %r14,%r10
140d5f118:	49 f7 67 18          	mulq   0x18(%r15)
140d5f11c:	4b 8d 0c 0a          	lea    (%r10,%r9,1),%rcx
140d5f120:	48 03 e8             	add    %rax,%rbp
140d5f123:	48 3b e8             	cmp    %rax,%rbp
140d5f126:	49 13 d6             	adc    %r14,%rdx
140d5f129:	4d 3b cb             	cmp    %r11,%r9
140d5f12c:	48 8d 34 0a          	lea    (%rdx,%rcx,1),%rsi
140d5f130:	41 0f 92 c0          	setb   %r8b
140d5f134:	49 89 6d 18          	mov    %rbp,0x18(%r13)
140d5f138:	49 8b 44 24 08       	mov    0x8(%r12),%rax
140d5f13d:	48 3b df             	cmp    %rdi,%rbx
140d5f140:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
140d5f145:	4d 13 c6             	adc    %r14,%r8
140d5f148:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140d5f14d:	49 3b ca             	cmp    %r10,%rcx
140d5f150:	4d 13 c6             	adc    %r14,%r8
140d5f153:	48 3b f2             	cmp    %rdx,%rsi
140d5f156:	4d 13 c6             	adc    %r14,%r8
140d5f159:	49 f7 67 18          	mulq   0x18(%r15)
140d5f15d:	48 03 f0             	add    %rax,%rsi
140d5f160:	4c 8b da             	mov    %rdx,%r11
140d5f163:	48 3b f0             	cmp    %rax,%rsi
140d5f166:	49 8b 44 24 10       	mov    0x10(%r12),%rax
140d5f16b:	4d 13 de             	adc    %r14,%r11
140d5f16e:	49 f7 67 10          	mulq   0x10(%r15)
140d5f172:	4f 8d 14 03          	lea    (%r11,%r8,1),%r10
140d5f176:	45 8b c6             	mov    %r14d,%r8d
140d5f179:	48 03 f0             	add    %rax,%rsi
140d5f17c:	4c 8b ca             	mov    %rdx,%r9
140d5f17f:	48 3b f0             	cmp    %rax,%rsi
140d5f182:	49 8b 44 24 18       	mov    0x18(%r12),%rax
140d5f187:	4d 13 ce             	adc    %r14,%r9
140d5f18a:	49 f7 67 08          	mulq   0x8(%r15)
140d5f18e:	4b 8d 0c 11          	lea    (%r9,%r10,1),%rcx
140d5f192:	48 03 f0             	add    %rax,%rsi
140d5f195:	48 3b f0             	cmp    %rax,%rsi
140d5f198:	49 89 75 20          	mov    %rsi,0x20(%r13)
140d5f19c:	49 8b 44 24 18       	mov    0x18(%r12),%rax
140d5f1a1:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140d5f1a6:	49 13 d6             	adc    %r14,%rdx
140d5f1a9:	49 3b c9             	cmp    %r9,%rcx
140d5f1ac:	41 0f 92 c0          	setb   %r8b
140d5f1b0:	4d 3b d3             	cmp    %r11,%r10
140d5f1b3:	48 8d 1c 0a          	lea    (%rdx,%rcx,1),%rbx
140d5f1b7:	4d 13 c6             	adc    %r14,%r8
140d5f1ba:	48 3b da             	cmp    %rdx,%rbx
140d5f1bd:	4d 13 c6             	adc    %r14,%r8
140d5f1c0:	49 f7 67 10          	mulq   0x10(%r15)
140d5f1c4:	48 03 d8             	add    %rax,%rbx
140d5f1c7:	4c 8b ca             	mov    %rdx,%r9