140d389a6:	4c 8b 53 50          	mov    0x50(%rbx),%r10
140d389aa:	48 63 43 30          	movslq 0x30(%rbx),%rax
140d389ae:	4c 8b 43 40          	mov    0x40(%rbx),%r8
140d389b2:	4c 8b c8             	mov    %rax,%r9
140d389b5:	4d 85 d2             	test   %r10,%r10
140d389b8:	74 18                	je     0x140d389d2
140d389ba:	48 83 bb 68 01 00 00 	cmpq   $0x0,0x168(%rbx)
140d389c1:	00
140d389c2:	75 0e                	jne    0x140d389d2
140d389c4:	99                   	cltd
140d389c5:	2b c2                	sub    %edx,%eax
140d389c7:	d1 f8                	sar    $1,%eax
140d389c9:	48 63 c8             	movslq %eax,%rcx
140d389cc:	4c 03 c9             	add    %rcx,%r9
140d389cf:	4d 03 c2             	add    %r10,%r8
140d389d2:	49 c1 e9 03          	shr    $0x3,%r9
140d389d6:	48 8b d7             	mov    %rdi,%rdx
140d389d9:	4d 3b c8             	cmp    %r8,%r9
140d389dc:	0f 57 c0             	xorps  %xmm0,%xmm0
140d389df:	4d 0f 47 c1          	cmova  %r9,%r8
140d389e3:	4d 85 c0             	test   %r8,%r8
140d389e6:	78 07                	js     0x140d389ef
140d389e8:	f2 49 0f 2a c0       	cvtsi2sd %r8,%xmm0
140d389ed:	eb 18                	jmp    0x140d38a07
140d389ef:	49 8b c0             	mov    %r8,%rax
140d389f2:	49 8b c8             	mov    %r8,%rcx
140d389f5:	48 d1 e9             	shr    $1,%rcx
140d389f8:	83 e0 01             	and    $0x1,%eax
140d389fb:	48 0b c8             	or     %rax,%rcx
140d389fe:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140d38a03:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140d38a07:	49 3b d0             	cmp    %r8,%rdx
140d38a0a:	72 06                	jb     0x140d38a12
140d38a0c:	66 0f 2f c6          	comisd %xmm6,%xmm0
140d38a10:	76 03                	jbe    0x140d38a15
140d38a12:	0f 57 f6             	xorps  %xmm6,%xmm6
140d38a15:	f2 0f 10 0d 3b 5e 27 	movsd  0x275e3b(%rip),%xmm1        # 0x140fae858
140d38a1c:	00
140d38a1d:	f2 0f 5d c6          	minsd  %xmm6,%xmm0
140d38a21:	33 c0                	xor    %eax,%eax
140d38a23:	f2 0f 59 05 95 11 44 	mulsd  0x441195(%rip),%xmm0        # 0x141179bc0
140d38a2a:	00
140d38a2b:	66 0f 2f c1          	comisd %xmm1,%xmm0
140d38a2f:	72 17                	jb     0x140d38a48
140d38a31:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
140d38a35:	66 0f 2f c1          	comisd %xmm1,%xmm0
140d38a39:	73 0d                	jae    0x140d38a48
140d38a3b:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140d38a42:	00 00 80
140d38a45:	48 8b c1             	mov    %rcx,%rax
140d38a48:	f2 4c 0f 2c c8       	cvttsd2si %xmm0,%r9
140d38a4d:	4c 8b c2             	mov    %rdx,%r8
140d38a50:	48 8b cb             	mov    %rbx,%rcx
140d38a53:	48 8b d6             	mov    %rsi,%rdx
140d38a56:	4c 03 c8             	add    %rax,%r9
140d38a59:	e8 92 14 00 00       	call   0x140d39ef0
140d38a5e:	48 8b 0b             	mov    (%rbx),%rcx
140d38a61:	8b f8                	mov    %eax,%edi
140d38a63:	48 85 c9             	test   %rcx,%rcx
140d38a66:	74 05                	je     0x140d38a6d
140d38a68:	e8 53 aa fa ff       	call   0x140ce34c0
140d38a6d:	8b c7                	mov    %edi,%eax
140d38a6f:	eb 02                	jmp    0x140d38a73
140d38a71:	33 c0                	xor    %eax,%eax
140d38a73:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140d38a78:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140d38a7d:	0f 28 74 24 30       	movaps 0x30(%rsp),%xmm6
140d38a82:	0f 28 7c 24 20       	movaps 0x20(%rsp),%xmm7
140d38a87:	48 83 c4 40          	add    $0x40,%rsp
140d38a8b:	5f                   	pop    %rdi
140d38a8c:	c3                   	ret
140d38a8d:	cc                   	int3
140d38a8e:	cc                   	int3
140d38a8f:	cc                   	int3
140d38a90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d38a95:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140d38a9a:	57                   	push   %rdi
140d38a9b:	b8 40 00 00 00       	mov    $0x40,%eax
140d38aa0:	e8 fb 29 0e 00       	call   0x140e1b4a0
140d38aa5:	48 2b e0             	sub    %rax,%rsp
140d38aa8:	48 63 fa             	movslq %edx,%rdi
140d38aab:	48 8b f1             	mov    %rcx,%rsi
140d38aae:	0f 29 74 24 30       	movaps %xmm6,0x30(%rsp)
140d38ab3:	48 8d 15 e6 0e 00 00 	lea    0xee6(%rip),%rdx        # 0x140d399a0
140d38aba:	48 8d 0d f7 51 76 00 	lea    0x7651f7(%rip),%rcx        # 0x14149dcb8
140d38ac1:	66 0f 6e f7          	movd   %edi,%xmm6
140d38ac5:	f3 0f e6 f6          	cvtdq2pd %xmm6,%xmm6
140d38ac9:	e8 52 a9 fa ff       	call   0x140ce3420
140d38ace:	45 33 c0             	xor    %r8d,%r8d
140d38ad1:	85 c0                	test   %eax,%eax
140d38ad3:	44 0f 45 05 e5 51 76 	cmovne 0x7651e5(%rip),%r8d        # 0x14149dcc0
140d38ada:	00
140d38adb:	45 85 c0             	test   %r8d,%r8d
140d38ade:	0f 84 1e 01 00 00    	je     0x140d38c02
140d38ae4:	48 8b 1d bd 51 76 00 	mov    0x7651bd(%rip),%rbx        # 0x14149dca8
140d38aeb:	48 85 db             	test   %rbx,%rbx
140d38aee:	0f 84 0e 01 00 00    	je     0x140d38c02
140d38af4:	0f 29 7c 24 20       	movaps %xmm7,0x20(%rsp)
140d38af9:	85 ff                	test   %edi,%edi
140d38afb:	0f 88 fd 00 00 00    	js     0x140d38bfe
140d38b01:	0f 57 ff             	xorps  %xmm7,%xmm7
140d38b04:	66 0f 2f fe          	comisd %xmm6,%xmm7
140d38b08:	0f 87 f0 00 00 00    	ja     0x140d38bfe
140d38b0e:	48 8b 0b             	mov    (%rbx),%rcx
140d38b11:	48 85 c9             	test   %rcx,%rcx
140d38b14:	74 05                	je     0x140d38b1b
140d38b16:	e8 e5 a8 fa ff       	call   0x140ce3400
140d38b1b:	4c 8b 53 50          	mov    0x50(%rbx),%r10
140d38b1f:	48 63 43 30          	movslq 0x30(%rbx),%rax
140d38b23:	4c 8b 43 40          	mov    0x40(%rbx),%r8
140d38b27:	4c 8b c8             	mov    %rax,%r9
140d38b2a:	4d 85 d2             	test   %r10,%r10
140d38b2d:	74 18                	je     0x140d38b47
140d38b2f:	48 83 bb 68 01 00 00 	cmpq   $0x0,0x168(%rbx)
140d38b36:	00
140d38b37:	75 0e                	jne    0x140d38b47
140d38b39:	99                   	cltd
140d38b3a:	2b c2                	sub    %edx,%eax
140d38b3c:	d1 f8                	sar    $1,%eax
140d38b3e:	48 63 c8             	movslq %eax,%rcx
140d38b41:	4c 03 c9             	add    %rcx,%r9
140d38b44:	4d 03 c2             	add    %r10,%r8
140d38b47:	49 c1 e9 03          	shr    $0x3,%r9
140d38b4b:	48 8b d7             	mov    %rdi,%rdx
140d38b4e:	4d 3b c8             	cmp    %r8,%r9
140d38b51:	0f 57 c0             	xorps  %xmm0,%xmm0
140d38b54:	4d 0f 47 c1          	cmova  %r9,%r8
140d38b58:	4d 85 c0             	test   %r8,%r8
140d38b5b:	78 07                	js     0x140d38b64
140d38b5d:	f2 49 0f 2a c0       	cvtsi2sd %r8,%xmm0
140d38b62:	eb 18                	jmp    0x140d38b7c
140d38b64:	49 8b c0             	mov    %r8,%rax
140d38b67:	49 8b c8             	mov    %r8,%rcx
140d38b6a:	48 d1 e9             	shr    $1,%rcx
140d38b6d:	83 e0 01             	and    $0x1,%eax
140d38b70:	48 0b c8             	or     %rax,%rcx
140d38b73:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140d38b78:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140d38b7c:	49 3b d0             	cmp    %r8,%rdx
140d38b7f:	72 06                	jb     0x140d38b87
140d38b81:	66 0f 2f c6          	comisd %xmm6,%xmm0
140d38b85:	76 03                	jbe    0x140d38b8a
140d38b87:	0f 57 f6             	xorps  %xmm6,%xmm6
140d38b8a:	f2 0f 10 0d c6 5c 27 	movsd  0x275cc6(%rip),%xmm1        # 0x140fae858
140d38b91:	00
140d38b92:	f2 0f 5d c6          	minsd  %xmm6,%xmm0
140d38b96:	33 c0                	xor    %eax,%eax
140d38b98:	f2 0f 59 05 20 10 44 	mulsd  0x441020(%rip),%xmm0        # 0x141179bc0
140d38b9f:	00
140d38ba0:	66 0f 2f c1          	comisd %xmm1,%xmm0
140d38ba4:	72 17                	jb     0x140d38bbd
140d38ba6:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
140d38baa:	66 0f 2f c1          	comisd %xmm1,%xmm0
140d38bae:	73 0d                	jae    0x140d38bbd
140d38bb0:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140d38bb7:	00 00 80
140d38bba:	48 8b c1             	mov    %rcx,%rax
140d38bbd:	f2 4c 0f 2c c8       	cvttsd2si %xmm0,%r9
140d38bc2:	4c 8b c2             	mov    %rdx,%r8
140d38bc5:	48 8b cb             	mov    %rbx,%rcx
140d38bc8:	48 8b d6             	mov    %rsi,%rdx
140d38bcb:	4c 03 c8             	add    %rax,%r9
140d38bce:	e8 1d 13 00 00       	call   0x140d39ef0
140d38bd3:	48 8b 0b             	mov    (%rbx),%rcx
140d38bd6:	8b f8                	mov    %eax,%edi
140d38bd8:	48 85 c9             	test   %rcx,%rcx
140d38bdb:	74 05                	je     0x140d38be2
140d38bdd:	e8 de a8 fa ff       	call   0x140ce34c0
140d38be2:	8b c7                	mov    %edi,%eax
140d38be4:	0f 28 7c 24 20       	movaps 0x20(%rsp),%xmm7
140d38be9:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140d38bee:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140d38bf3:	0f 28 74 24 30       	movaps 0x30(%rsp),%xmm6
140d38bf8:	48 83 c4 40          	add    $0x40,%rsp
140d38bfc:	5f                   	pop    %rdi
140d38bfd:	c3                   	ret
140d38bfe:	33 c0                	xor    %eax,%eax
140d38c00:	eb e2                	jmp    0x140d38be4
140d38c02:	33 c0                	xor    %eax,%eax
140d38c04:	eb e3                	jmp    0x140d38be9
140d38c06:	cc                   	int3
140d38c07:	cc                   	int3
140d38c08:	cc                   	int3
140d38c09:	cc                   	int3
140d38c0a:	cc                   	int3
140d38c0b:	cc                   	int3
140d38c0c:	cc                   	int3
140d38c0d:	cc                   	int3
140d38c0e:	cc                   	int3
140d38c0f:	cc                   	int3
140d38c10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d38c15:	57                   	push   %rdi
140d38c16:	b8 20 00 00 00       	mov    $0x20,%eax
140d38c1b:	e8 80 28 0e 00       	call   0x140e1b4a0
140d38c20:	48 2b e0             	sub    %rax,%rsp
140d38c23:	48 8d 15 76 0d 00 00 	lea    0xd76(%rip),%rdx        # 0x140d399a0
140d38c2a:	48 8d 0d 87 50 76 00 	lea    0x765087(%rip),%rcx        # 0x14149dcb8
140d38c31:	e8 ea a7 fa ff       	call   0x140ce3420
140d38c36:	33 ff                	xor    %edi,%edi
140d38c38:	85 c0                	test   %eax,%eax
140d38c3a:	8b cf                	mov    %edi,%ecx
140d38c3c:	0f 45 0d 7d 50 76 00 	cmovne 0x76507d(%rip),%ecx        # 0x14149dcc0
140d38c43:	85 c9                	test   %ecx,%ecx
140d38c45:	74 3e                	je     0x140d38c85
140d38c47:	48 8b 1d 5a 50 76 00 	mov    0x76505a(%rip),%rbx        # 0x14149dca8
140d38c4e:	48 85 db             	test   %rbx,%rbx
140d38c51:	74 32                	je     0x140d38c85
140d38c53:	48 8b 0b             	mov    (%rbx),%rcx
140d38c56:	48 85 c9             	test   %rcx,%rcx
140d38c59:	74 05                	je     0x140d38c60
140d38c5b:	e8 a0 a7 fa ff       	call   0x140ce3400
140d38c60:	83 bb 98 00 00 00 01 	cmpl   $0x1,0x98(%rbx)
140d38c67:	48 8b 0b             	mov    (%rbx),%rcx
140d38c6a:	40 0f 94 c7          	sete   %dil
140d38c6e:	48 85 c9             	test   %rcx,%rcx
140d38c71:	74 05                	je     0x140d38c78
140d38c73:	e8 48 a8 fa ff       	call   0x140ce34c0
140d38c78:	8b c7                	mov    %edi,%eax
140d38c7a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140d38c7f:	48 83 c4 20          	add    $0x20,%rsp
140d38c83:	5f                   	pop    %rdi
140d38c84:	c3                   	ret
140d38c85:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140d38c8a:	33 c0                	xor    %eax,%eax
140d38c8c:	48 83 c4 20          	add    $0x20,%rsp
140d38c90:	5f                   	pop    %rdi
140d38c91:	c3                   	ret
140d38c92:	cc                   	int3
140d38c93:	cc                   	int3
140d38c94:	cc                   	int3
140d38c95:	cc                   	int3
140d38c96:	cc                   	int3
140d38c97:	cc                   	int3
140d38c98:	cc                   	int3
140d38c99:	cc                   	int3
140d38c9a:	cc                   	int3
140d38c9b:	cc                   	int3
140d38c9c:	cc                   	int3
140d38c9d:	cc                   	int3
140d38c9e:	cc                   	int3
140d38c9f:	cc                   	int3
140d38ca0:	40 53                	rex push %rbx
140d38ca2:	57                   	push   %rdi
140d38ca3:	41 55                	push   %r13
140d38ca5:	41 56                	push   %r14
140d38ca7:	b8 48 00 00 00       	mov    $0x48,%eax
140d38cac:	e8 ef 27 0e 00       	call   0x140e1b4a0
140d38cb1:	48 2b e0             	sub    %rax,%rsp
140d38cb4:	48 8b 41 28          	mov    0x28(%rcx),%rax
140d38cb8:	33 ff                	xor    %edi,%edi
140d38cba:	48 89 7c 24 70       	mov    %rdi,0x70(%rsp)
140d38cbf:	4d 8b f0             	mov    %r8,%r14
140d38cc2:	4c 8b ea             	mov    %rdx,%r13
140d38cc5:	48 8b d9             	mov    %rcx,%rbx
140d38cc8:	48 85 c0             	test   %rax,%rax
140d38ccb:	75 26                	jne    0x140d38cf3
140d38ccd:	39 79 14             	cmp    %edi,0x14(%rcx)
140d38cd0:	0f 84 bc 01 00 00    	je     0x140d38e92
140d38cd6:	4c 8b 49 68          	mov    0x68(%rcx),%r9
140d38cda:	45 33 c0             	xor    %r8d,%r8d
140d38cdd:	33 c9                	xor    %ecx,%ecx
140d38cdf:	33 d2                	xor    %edx,%edx
140d38ce1:	e8 6a c7 fb ff       	call   0x140cf5450
140d38ce6:	48 89 43 28          	mov    %rax,0x28(%rbx)
140d38cea:	48 85 c0             	test   %rax,%rax
140d38ced:	0f 84 8c 01 00 00    	je     0x140d38e7f
140d38cf3:	48 89 6c 24 78       	mov    %rbp,0x78(%rsp)
140d38cf8:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
140d38cfd:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140d38d02:	48 8b c8             	mov    %rax,%rcx
140d38d05:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140d38d0a:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140d38d0f:	e8 9c bc fb ff       	call   0x140cf49b0
140d38d14:	4c 8b e0             	mov    %rax,%r12
140d38d17:	b8 01 00 00 00       	mov    $0x1,%eax
140d38d1c:	4d 85 f6             	test   %r14,%r14
140d38d1f:	0f 84 43 01 00 00    	je     0x140d38e68
140d38d25:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
140d38d2c:	00 00 00 00
140d38d30:	48 8b 6b 38          	mov    0x38(%rbx),%rbp
140d38d34:	8b f7                	mov    %edi,%esi
140d38d36:	4c 8b 7c 24 70       	mov    0x70(%rsp),%r15
140d38d3b:	4c 3b f5             	cmp    %rbp,%r14
140d38d3e:	4c 89 a4 24 88 00 00 	mov    %r12,0x88(%rsp)
140d38d45:	00
140d38d46:	49 0f 46 ee          	cmovbe %r14,%rbp
140d38d4a:	83 bb 98 00 00 00 01 	cmpl   $0x1,0x98(%rbx)
140d38d51:	74 27                	je     0x140d38d7a
140d38d53:	45 33 c9             	xor    %r9d,%r9d
140d38d56:	45 33 c0             	xor    %r8d,%r8d
140d38d59:	33 d2                	xor    %edx,%edx
140d38d5b:	48 8b cb             	mov    %rbx,%rcx
140d38d5e:	e8 8d 11 00 00       	call   0x140d39ef0
140d38d63:	8b 83 98 00 00 00    	mov    0x98(%rbx),%eax
140d38d69:	83 f8 02             	cmp    $0x2,%eax
140d38d6c:	0f 84 4f 01 00 00    	je     0x140d38ec1
140d38d72:	85 c0                	test   %eax,%eax
140d38d74:	0f 84 25 01 00 00    	je     0x140d38e9f
140d38d7a:	48 3b 6b 38          	cmp    0x38(%rbx),%rbp
140d38d7e:	0f 87 d8 01 00 00    	ja     0x140d38f5c
140d38d84:	4c 3b 63 68          	cmp    0x68(%rbx),%r12
140d38d88:	0f 87 a9 01 00 00    	ja     0x140d38f37
140d38d8e:	e8 ed 2b 4a ff       	call   0x1401db980
140d38d93:	b9 01 00 00 00       	mov    $0x1,%ecx
140d38d98:	39 43 18             	cmp    %eax,0x18(%rbx)
140d38d9b:	74 05                	je     0x140d38da2
140d38d9d:	89 43 18             	mov    %eax,0x18(%rbx)
140d38da0:	8b f1                	mov    %ecx,%esi
140d38da2:	8b 43 74             	mov    0x74(%rbx),%eax
140d38da5:	85 c0                	test   %eax,%eax
140d38da7:	74 06                	je     0x140d38daf
140d38da9:	39 43 70             	cmp    %eax,0x70(%rbx)
140d38dac:	0f 43 f1             	cmovae %ecx,%esi
140d38daf:	48 39 bb 80 00 00 00 	cmp    %rdi,0x80(%rbx)
140d38db6:	7e 21                	jle    0x140d38dd9
140d38db8:	33 c9                	xor    %ecx,%ecx
140d38dba:	e8 f5 ca 10 00       	call   0x140e458b4
140d38dbf:	48 8b 4b 78          	mov    0x78(%rbx),%rcx
140d38dc3:	48 3b c1             	cmp    %rcx,%rax
140d38dc6:	7c 0c                	jl     0x140d38dd4
140d38dc8:	48 2b c1             	sub    %rcx,%rax
140d38dcb:	48 3b 83 80 00 00 00 	cmp    0x80(%rbx),%rax
140d38dd2:	7c 05                	jl     0x140d38dd9
140d38dd4:	be 01 00 00 00       	mov    $0x1,%esi
140d38dd9:	39 bb 88 00 00 00    	cmp    %edi,0x88(%rbx)
140d38ddf:	74 19                	je     0x140d38dfa
140d38de1:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140d38de5:	48 85 c9             	test   %rcx,%rcx
140d38de8:	74 10                	je     0x140d38dfa
140d38dea:	8b 89 8c 00 00 00    	mov    0x8c(%rcx),%ecx
140d38df0:	8b 83 8c 00 00 00    	mov    0x8c(%rbx),%eax
140d38df6:	3b c1                	cmp    %ecx,%eax
140d38df8:	75 04                	jne    0x140d38dfe
140d38dfa:	85 f6                	test   %esi,%esi
140d38dfc:	74 24                	je     0x140d38e22
140d38dfe:	45 33 c9             	xor    %r9d,%r9d
140d38e01:	4d 8b c4             	mov    %r12,%r8
140d38e04:	49 8b d7             	mov    %r15,%rdx
140d38e07:	48 8b cb             	mov    %rbx,%rcx
140d38e0a:	e8 71 08 00 00       	call   0x140d39680
140d38e0f:	85 c0                	test   %eax,%eax
140d38e11:	0f 84 cc 00 00 00    	je     0x140d38ee3
140d38e17:	4c 8b ff             	mov    %rdi,%r15
140d38e1a:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140d38e21:	00
140d38e22:	48 8b 83 50 01 00 00 	mov    0x150(%rbx),%rax
140d38e29:	4d 8b cf             	mov    %r15,%r9
140d38e2c:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
140d38e33:	00
140d38e34:	4c 8b c5             	mov    %rbp,%r8