140678c4a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140678c4f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140678c54:	53                   	push   %rbx
140678c55:	56                   	push   %rsi
140678c56:	57                   	push   %rdi
140678c57:	41 54                	push   %r12
140678c59:	41 55                	push   %r13
140678c5b:	41 56                	push   %r14
140678c5d:	41 57                	push   %r15
140678c5f:	48 83 ec 40          	sub    $0x40,%rsp
140678c63:	4d 8b f1             	mov    %r9,%r14
140678c66:	4d 8b c8             	mov    %r8,%r9
140678c69:	48 8b da             	mov    %rdx,%rbx
140678c6c:	4c 8d 69 08          	lea    0x8(%rcx),%r13
140678c70:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140678c75:	48 8b 39             	mov    (%rcx),%rdi
140678c78:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140678c7d:	49 8b 75 00          	mov    0x0(%r13),%rsi
140678c81:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140678c86:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140678c8a:	48 8b c2             	mov    %rdx,%rax
140678c8d:	48 2b c6             	sub    %rsi,%rax
140678c90:	48 c1 f8 03          	sar    $0x3,%rax
140678c94:	4d 85 f6             	test   %r14,%r14
140678c97:	0f 84 5a 01 00 00    	je     0x140678df7
140678c9d:	4c 3b f0             	cmp    %rax,%r14
140678ca0:	0f 86 61 01 00 00    	jbe    0x140678e07
140678ca6:	48 8b c6             	mov    %rsi,%rax
140678ca9:	48 2b c7             	sub    %rdi,%rax
140678cac:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140678cb1:	48 8b c8             	mov    %rax,%rcx
140678cb4:	48 c1 f9 03          	sar    $0x3,%rcx
140678cb8:	49 ba ff ff ff ff ff 	movabs $0x1fffffffffffffff,%r10
140678cbf:	ff ff 1f
140678cc2:	49 8b c2             	mov    %r10,%rax
140678cc5:	48 2b c1             	sub    %rcx,%rax
140678cc8:	4c 3b f0             	cmp    %rax,%r14
140678ccb:	0f 87 d9 01 00 00    	ja     0x140678eaa
140678cd1:	4e 8d 04 31          	lea    (%rcx,%r14,1),%r8
140678cd5:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140678cda:	48 2b d7             	sub    %rdi,%rdx
140678cdd:	48 c1 fa 03          	sar    $0x3,%rdx
140678ce1:	48 8b ca             	mov    %rdx,%rcx
140678ce4:	48 d1 e9             	shr    $1,%rcx
140678ce7:	49 8b c2             	mov    %r10,%rax
140678cea:	48 2b c1             	sub    %rcx,%rax
140678ced:	48 3b d0             	cmp    %rax,%rdx
140678cf0:	0f 87 c0 01 00 00    	ja     0x140678eb6
140678cf6:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140678cfa:	4d 8b f8             	mov    %r8,%r15
140678cfd:	49 3b c0             	cmp    %r8,%rax
140678d00:	4c 0f 43 f8          	cmovae %rax,%r15
140678d04:	4d 3b fa             	cmp    %r10,%r15
140678d07:	0f 87 a9 01 00 00    	ja     0x140678eb6
140678d0d:	4a 8d 0c fd 00 00 00 	lea    0x0(,%r15,8),%rcx
140678d14:	00
140678d15:	4c 89 bc 24 98 00 00 	mov    %r15,0x98(%rsp)
140678d1c:	00
140678d1d:	48 85 c9             	test   %rcx,%rcx
140678d20:	75 0c                	jne    0x140678d2e
140678d22:	33 ff                	xor    %edi,%edi
140678d24:	4c 89 bc 24 98 00 00 	mov    %r15,0x98(%rsp)
140678d2b:	00
140678d2c:	eb 45                	jmp    0x140678d73
140678d2e:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140678d35:	72 2c                	jb     0x140678d63
140678d37:	48 8d 41 27          	lea    0x27(%rcx),%rax
140678d3b:	48 3b c1             	cmp    %rcx,%rax
140678d3e:	0f 86 72 01 00 00    	jbe    0x140678eb6
140678d44:	48 8b c8             	mov    %rax,%rcx
140678d47:	e8 bc 23 7a 00       	call   0x140e1b108
140678d4c:	48 85 c0             	test   %rax,%rax
140678d4f:	0f 84 5b 01 00 00    	je     0x140678eb0
140678d55:	48 8d 78 27          	lea    0x27(%rax),%rdi
140678d59:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
140678d5d:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
140678d61:	eb 08                	jmp    0x140678d6b
140678d63:	e8 a0 23 7a 00       	call   0x140e1b108
140678d68:	48 8b f8             	mov    %rax,%rdi
140678d6b:	4c 8b 8c 24 90 00 00 	mov    0x90(%rsp),%r9
140678d72:	00
140678d73:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
140678d7a:	00
140678d7b:	4c 8b e3             	mov    %rbx,%r12
140678d7e:	4c 2b 64 24 28       	sub    0x28(%rsp),%r12
140678d83:	4d 8b ec             	mov    %r12,%r13
140678d86:	49 c1 fd 03          	sar    $0x3,%r13
140678d8a:	4a 8d 0c ef          	lea    (%rdi,%r13,8),%rcx
140678d8e:	4e 8d 04 f5 00 00 00 	lea    0x0(,%r14,8),%r8
140678d95:	00
140678d96:	49 8b d1             	mov    %r9,%rdx
140678d99:	e8 72 62 86 00       	call   0x140edf010
140678d9e:	49 83 fe 01          	cmp    $0x1,%r14
140678da2:	75 14                	jne    0x140678db8
140678da4:	48 3b de             	cmp    %rsi,%rbx
140678da7:	75 0f                	jne    0x140678db8
140678da9:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140678dae:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140678db3:	48 8b cf             	mov    %rdi,%rcx
140678db6:	eb 21                	jmp    0x140678dd9
140678db8:	4d 8b c4             	mov    %r12,%r8
140678dbb:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140678dc0:	48 8b cf             	mov    %rdi,%rcx
140678dc3:	e8 48 62 86 00       	call   0x140edf010
140678dc8:	4b 8d 04 2e          	lea    (%r14,%r13,1),%rax
140678dcc:	48 8d 0c c7          	lea    (%rdi,%rax,8),%rcx
140678dd0:	48 2b f3             	sub    %rbx,%rsi
140678dd3:	4c 8b c6             	mov    %rsi,%r8
140678dd6:	48 8b d3             	mov    %rbx,%rdx
140678dd9:	e8 32 62 86 00       	call   0x140edf010
140678dde:	90                   	nop
140678ddf:	4d 8b cf             	mov    %r15,%r9
140678de2:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
140678de7:	48 8b d7             	mov    %rdi,%rdx
140678dea:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
140678df1:	00
140678df2:	e8 99 f2 d4 ff       	call   0x1403c8090
140678df7:	48 83 c4 40          	add    $0x40,%rsp
140678dfb:	41 5f                	pop    %r15
140678dfd:	41 5e                	pop    %r14
140678dff:	41 5d                	pop    %r13
140678e01:	41 5c                	pop    %r12
140678e03:	5f                   	pop    %rdi
140678e04:	5e                   	pop    %rsi
140678e05:	5b                   	pop    %rbx
140678e06:	c3                   	ret
140678e07:	4c 8b c6             	mov    %rsi,%r8
140678e0a:	4c 2b c3             	sub    %rbx,%r8
140678e0d:	4d 8b e0             	mov    %r8,%r12
140678e10:	49 c1 fc 03          	sar    $0x3,%r12
140678e14:	4e 8d 3c f5 00 00 00 	lea    0x0(,%r14,8),%r15
140678e1b:	00
140678e1c:	4d 3b f4             	cmp    %r12,%r14
140678e1f:	73 46                	jae    0x140678e67
140678e21:	48 8b fe             	mov    %rsi,%rdi
140678e24:	49 2b ff             	sub    %r15,%rdi
140678e27:	4d 8b c7             	mov    %r15,%r8
140678e2a:	48 8b d7             	mov    %rdi,%rdx
140678e2d:	48 8b ce             	mov    %rsi,%rcx
140678e30:	e8 db 61 86 00       	call   0x140edf010
140678e35:	49 8d 04 37          	lea    (%r15,%rsi,1),%rax
140678e39:	49 89 45 00          	mov    %rax,0x0(%r13)
140678e3d:	48 2b fb             	sub    %rbx,%rdi
140678e40:	48 2b f7             	sub    %rdi,%rsi
140678e43:	4c 8b c7             	mov    %rdi,%r8
140678e46:	48 8b d3             	mov    %rbx,%rdx
140678e49:	48 8b ce             	mov    %rsi,%rcx
140678e4c:	e8 bf 61 86 00       	call   0x140edf010
140678e51:	90                   	nop
140678e52:	4d 8b c7             	mov    %r15,%r8
140678e55:	48 8b 94 24 90 00 00 	mov    0x90(%rsp),%rdx
140678e5c:	00
140678e5d:	48 8b cb             	mov    %rbx,%rcx
140678e60:	e8 ab 61 86 00       	call   0x140edf010
140678e65:	eb 33                	jmp    0x140678e9a
140678e67:	49 8d 3c 1f          	lea    (%r15,%rbx,1),%rdi
140678e6b:	48 89 bc 24 98 00 00 	mov    %rdi,0x98(%rsp)
140678e72:	00
140678e73:	48 8b d3             	mov    %rbx,%rdx
140678e76:	48 8b cf             	mov    %rdi,%rcx
140678e79:	e8 92 61 86 00       	call   0x140edf010
140678e7e:	4a 8d 04 e7          	lea    (%rdi,%r12,8),%rax
140678e82:	49 89 45 00          	mov    %rax,0x0(%r13)
140678e86:	4d 8b c7             	mov    %r15,%r8
140678e89:	48 8b 94 24 90 00 00 	mov    0x90(%rsp),%rdx
140678e90:	00
140678e91:	48 8b cb             	mov    %rbx,%rcx
140678e94:	e8 77 61 86 00       	call   0x140edf010
140678e99:	90                   	nop
140678e9a:	48 83 c4 40          	add    $0x40,%rsp
140678e9e:	41 5f                	pop    %r15
140678ea0:	41 5e                	pop    %r14
140678ea2:	41 5d                	pop    %r13
140678ea4:	41 5c                	pop    %r12
140678ea6:	5f                   	pop    %rdi
140678ea7:	5e                   	pop    %rsi
140678ea8:	5b                   	pop    %rbx
140678ea9:	c3                   	ret
140678eaa:	e8 e1 46 b2 ff       	call   0x14019d590
140678eaf:	cc                   	int3
140678eb0:	e8 ef 12 7b 00       	call   0x140e2a1a4
140678eb5:	cc                   	int3
140678eb6:	e8 d5 42 b2 ff       	call   0x14019d190
140678ebb:	cc                   	int3
140678ebc:	cc                   	int3
140678ebd:	cc                   	int3
140678ebe:	cc                   	int3
140678ebf:	cc                   	int3
140678ec0:	49 3b d0             	cmp    %r8,%rdx
140678ec3:	0f 84 0f 03 00 00    	je     0x1406791d8
140678ec9:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140678ece:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140678ed3:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140678ed8:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140678edd:	57                   	push   %rdi
140678ede:	41 54                	push   %r12
140678ee0:	41 55                	push   %r13
140678ee2:	41 56                	push   %r14
140678ee4:	41 57                	push   %r15
140678ee6:	48 83 ec 50          	sub    $0x50,%rsp
140678eea:	0f 29 74 24 40       	movaps %xmm6,0x40(%rsp)
140678eef:	48 8b e9             	mov    %rcx,%rbp
140678ef2:	4c 8d 41 08          	lea    0x8(%rcx),%r8
140678ef6:	4c 8d 6a 02          	lea    0x2(%rdx),%r13
140678efa:	48 ba aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%rdx
140678f01:	aa aa 0a
140678f04:	49 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r9
140678f0b:	9c f2 cb
140678f0e:	f3 0f 10 35 4e 57 93 	movss  0x93574e(%rip),%xmm6        # 0x140fae664
140678f15:	00
140678f16:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
140678f1d:	01 00 00
140678f20:	45 0f b6 65 fe       	movzbl -0x2(%r13),%r12d
140678f25:	4d 33 e1             	xor    %r9,%r12
140678f28:	4c 0f af e1          	imul   %rcx,%r12
140678f2c:	41 0f b6 45 ff       	movzbl -0x1(%r13),%eax
140678f31:	4c 33 e0             	xor    %rax,%r12
140678f34:	4c 0f af e1          	imul   %rcx,%r12
140678f38:	41 0f b6 45 00       	movzbl 0x0(%r13),%eax
140678f3d:	4c 33 e0             	xor    %rax,%r12
140678f40:	4c 0f af e1          	imul   %rcx,%r12
140678f44:	41 0f b6 45 01       	movzbl 0x1(%r13),%eax
140678f49:	4c 33 e0             	xor    %rax,%r12
140678f4c:	4c 0f af e1          	imul   %rcx,%r12
140678f50:	41 0f b6 45 02       	movzbl 0x2(%r13),%eax
140678f55:	4c 33 e0             	xor    %rax,%r12
140678f58:	4c 0f af e1          	imul   %rcx,%r12
140678f5c:	41 0f b6 45 03       	movzbl 0x3(%r13),%eax
140678f61:	4c 33 e0             	xor    %rax,%r12
140678f64:	4c 0f af e1          	imul   %rcx,%r12
140678f68:	41 0f b6 45 04       	movzbl 0x4(%r13),%eax
140678f6d:	4c 33 e0             	xor    %rax,%r12
140678f70:	4c 0f af e1          	imul   %rcx,%r12
140678f74:	41 0f b6 45 05       	movzbl 0x5(%r13),%eax
140678f79:	4c 33 e0             	xor    %rax,%r12
140678f7c:	4c 0f af e1          	imul   %rcx,%r12
140678f80:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140678f84:	49 23 cc             	and    %r12,%rcx
140678f87:	48 03 c9             	add    %rcx,%rcx
140678f8a:	48 8b 45 18          	mov    0x18(%rbp),%rax
140678f8e:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
140678f93:	4d 8b 38             	mov    (%r8),%r15
140678f96:	49 3b df             	cmp    %r15,%rbx
140678f99:	75 08                	jne    0x140678fa3
140678f9b:	49 8b df             	mov    %r15,%rbx
140678f9e:	4d 8b f7             	mov    %r15,%r14
140678fa1:	eb 2c                	jmp    0x140678fcf
140678fa3:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140678fa7:	49 8b 45 fe          	mov    -0x2(%r13),%rax
140678fab:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140678faf:	0f 84 eb 01 00 00    	je     0x1406791a0
140678fb5:	48 3b d9             	cmp    %rcx,%rbx
140678fb8:	74 0f                	je     0x140678fc9
140678fba:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140678fbe:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140678fc2:	75 f1                	jne    0x140678fb5
140678fc4:	e9 d7 01 00 00       	jmp    0x1406791a0
140678fc9:	4c 8b fb             	mov    %rbx,%r15
140678fcc:	4c 8b f3             	mov    %rbx,%r14
140678fcf:	48 39 55 10          	cmp    %rdx,0x10(%rbp)
140678fd3:	0f 84 00 02 00 00    	je     0x1406791d9
140678fd9:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140678fde:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
140678fe5:	00 00
140678fe7:	b9 18 00 00 00       	mov    $0x18,%ecx
140678fec:	e8 17 21 7a 00       	call   0x140e1b108
140678ff1:	48 8b f0             	mov    %rax,%rsi
140678ff4:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140678ff9:	49 8b 4d fe          	mov    -0x2(%r13),%rcx
140678ffd:	48 89 48 10          	mov    %rcx,0x10(%rax)
140679001:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140679005:	48 83 c1 01          	add    $0x1,%rcx
140679009:	0f 57 c0             	xorps  %xmm0,%xmm0
14067900c:	78 07                	js     0x140679015
14067900e:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140679013:	eb 15                	jmp    0x14067902a
140679015:	48 8b c1             	mov    %rcx,%rax
140679018:	48 d1 e8             	shr    $1,%rax
14067901b:	83 e1 01             	and    $0x1,%ecx
14067901e:	48 0b c1             	or     %rcx,%rax
140679021:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140679026:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14067902a:	48 8b 7d 38          	mov    0x38(%rbp),%rdi
14067902e:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
140679033:	0f 57 d2             	xorps  %xmm2,%xmm2
140679036:	48 85 ff             	test   %rdi,%rdi
140679039:	78 07                	js     0x140679042
14067903b:	f3 48 0f 2a d7       	cvtsi2ss %rdi,%xmm2
140679040:	eb 18                	jmp    0x14067905a
140679042:	48 8b cf             	mov    %rdi,%rcx
140679045:	48 d1 e9             	shr    $1,%rcx
140679048:	48 8b c7             	mov    %rdi,%rax
14067904b:	83 e0 01             	and    $0x1,%eax
14067904e:	48 0b c8             	or     %rax,%rcx
140679051:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140679056:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14067905a:	0f 28 c8             	movaps %xmm0,%xmm1
14067905d:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140679061:	0f 2f cb             	comiss %xmm3,%xmm1
140679064:	0f 86 ba 00 00 00    	jbe    0x140679124
14067906a:	f3 0f 5e c3          	divss  %xmm3,%xmm0
14067906e:	e8 ad 80 7b 00       	call   0x140e31120
140679073:	33 c9                	xor    %ecx,%ecx
140679075:	0f 2f c6             	comiss %xmm6,%xmm0
140679078:	72 16                	jb     0x140679090
14067907a:	f3 0f 5c c6          	subss  %xmm6,%xmm0
14067907e:	0f 2f c6             	comiss %xmm6,%xmm0
140679081:	73 0d                	jae    0x140679090
140679083:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14067908a:	00 00 80
14067908d:	48 8b c8             	mov    %rax,%rcx
140679090:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140679095:	48 03 c1             	add    %rcx,%rax
140679098:	b9 08 00 00 00       	mov    $0x8,%ecx
14067909d:	48 3b c1             	cmp    %rcx,%rax
1406790a0:	48 0f 47 c8          	cmova  %rax,%rcx
1406790a4:	48 3b f9             	cmp    %rcx,%rdi
1406790a7:	73 19                	jae    0x1406790c2
1406790a9:	48 81 ff 00 02 00 00 	cmp    $0x200,%rdi
1406790b0:	73 0d                	jae    0x1406790bf
1406790b2:	48 8d 3c fd 00 00 00 	lea    0x0(,%rdi,8),%rdi
1406790b9:	00
1406790ba:	48 3b f9             	cmp    %rcx,%rdi
1406790bd:	73 03                	jae    0x1406790c2
1406790bf:	48 8b f9             	mov    %rcx,%rdi
1406790c2:	48 8b d7             	mov    %rdi,%rdx
1406790c5:	48 8b cd             	mov    %rbp,%rcx
1406790c8:	e8 93 2a fe ff       	call   0x14065bb60
1406790cd:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
1406790d1:	49 23 cc             	and    %r12,%rcx
1406790d4:	48 03 c9             	add    %rcx,%rcx
1406790d7:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1406790db:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
1406790e0:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
1406790e4:	48 3b c3             	cmp    %rbx,%rax
1406790e7:	75 0b                	jne    0x1406790f4
1406790e9:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1406790f0:	00 00
1406790f2:	eb 23                	jmp    0x140679117
1406790f4:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
1406790f8:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1406790fc:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140679100:	74 12                	je     0x140679114
140679102:	48 8b d8             	mov    %rax,%rbx
140679105:	48 3b c2             	cmp    %rdx,%rax
140679108:	74 57                	je     0x140679161
14067910a:	48 8b 40 08          	mov    0x8(%rax),%rax
14067910e:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140679112:	75 ee                	jne    0x140679102
140679114:	48 8b 18             	mov    (%rax),%rbx