140672afd:	01 00 00
140672b00:	48 0f af f1          	imul   %rcx,%rsi
140672b04:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140672b09:	48 33 f0             	xor    %rax,%rsi
140672b0c:	48 0f af f1          	imul   %rcx,%rsi
140672b10:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140672b15:	48 33 f0             	xor    %rax,%rsi
140672b18:	48 0f af f1          	imul   %rcx,%rsi
140672b1c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140672b21:	48 33 f0             	xor    %rax,%rsi
140672b24:	48 0f af f1          	imul   %rcx,%rsi
140672b28:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
140672b2d:	48 33 f0             	xor    %rax,%rsi
140672b30:	48 0f af f1          	imul   %rcx,%rsi
140672b34:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140672b39:	48 33 f0             	xor    %rax,%rsi
140672b3c:	48 0f af f1          	imul   %rcx,%rsi
140672b40:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140672b45:	48 33 f0             	xor    %rax,%rsi
140672b48:	48 0f af f1          	imul   %rcx,%rsi
140672b4c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140672b51:	48 33 f0             	xor    %rax,%rsi
140672b54:	48 0f af f1          	imul   %rcx,%rsi
140672b58:	48 8b ce             	mov    %rsi,%rcx
140672b5b:	49 23 4e 30          	and    0x30(%r14),%rcx
140672b5f:	48 03 c9             	add    %rcx,%rcx
140672b62:	49 8b 46 18          	mov    0x18(%r14),%rax
140672b66:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
140672b6b:	49 8d 56 08          	lea    0x8(%r14),%rdx
140672b6f:	4c 8b 2a             	mov    (%rdx),%r13
140672b72:	49 3b dd             	cmp    %r13,%rbx
140672b75:	75 08                	jne    0x140672b7f
140672b77:	49 8b dd             	mov    %r13,%rbx
140672b7a:	4d 8b e5             	mov    %r13,%r12
140672b7d:	eb 4e                	jmp    0x140672bcd
140672b7f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140672b83:	49 8b 00             	mov    (%r8),%rax
140672b86:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140672b8a:	74 13                	je     0x140672b9f
140672b8c:	0f 1f 40 00          	nopl   0x0(%rax)
140672b90:	48 3b d9             	cmp    %rcx,%rbx
140672b93:	74 32                	je     0x140672bc7
140672b95:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140672b99:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140672b9d:	75 f1                	jne    0x140672b90
140672b9f:	49 89 1f             	mov    %rbx,(%r15)
140672ba2:	41 c6 47 08 00       	movb   $0x0,0x8(%r15)
140672ba7:	49 8b c7             	mov    %r15,%rax
140672baa:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140672baf:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140672bb4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140672bb9:	48 83 c4 30          	add    $0x30,%rsp
140672bbd:	41 5f                	pop    %r15
140672bbf:	41 5e                	pop    %r14
140672bc1:	41 5d                	pop    %r13
140672bc3:	41 5c                	pop    %r12
140672bc5:	5f                   	pop    %rdi
140672bc6:	c3                   	ret
140672bc7:	4c 8b eb             	mov    %rbx,%r13
140672bca:	4c 8b e3             	mov    %rbx,%r12
140672bcd:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140672bd4:	ff ff 07
140672bd7:	49 39 46 10          	cmp    %rax,0x10(%r14)
140672bdb:	0f 84 c6 01 00 00    	je     0x140672da7
140672be1:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140672be6:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140672bed:	00 00
140672bef:	b9 20 00 00 00       	mov    $0x20,%ecx
140672bf4:	e8 0f 85 7a 00       	call   0x140e1b108
140672bf9:	48 8b f8             	mov    %rax,%rdi
140672bfc:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140672c01:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
140672c05:	48 89 48 10          	mov    %rcx,0x10(%rax)
140672c09:	48 c7 40 18 00 00 00 	movq   $0x0,0x18(%rax)
140672c10:	00
140672c11:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140672c15:	48 83 c1 01          	add    $0x1,%rcx
140672c19:	0f 57 c0             	xorps  %xmm0,%xmm0
140672c1c:	78 07                	js     0x140672c25
140672c1e:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140672c23:	eb 15                	jmp    0x140672c3a
140672c25:	48 8b c1             	mov    %rcx,%rax
140672c28:	48 d1 e8             	shr    $1,%rax
140672c2b:	83 e1 01             	and    $0x1,%ecx
140672c2e:	48 0b c1             	or     %rcx,%rax
140672c31:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140672c36:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140672c3a:	49 8b 6e 38          	mov    0x38(%r14),%rbp
140672c3e:	f3 41 0f 10 1e       	movss  (%r14),%xmm3
140672c43:	0f 57 d2             	xorps  %xmm2,%xmm2
140672c46:	48 85 ed             	test   %rbp,%rbp
140672c49:	78 07                	js     0x140672c52
140672c4b:	f3 48 0f 2a d5       	cvtsi2ss %rbp,%xmm2
140672c50:	eb 18                	jmp    0x140672c6a
140672c52:	48 8b cd             	mov    %rbp,%rcx
140672c55:	48 d1 e9             	shr    $1,%rcx
140672c58:	48 8b c5             	mov    %rbp,%rax
140672c5b:	83 e0 01             	and    $0x1,%eax
140672c5e:	48 0b c8             	or     %rax,%rcx
140672c61:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140672c66:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140672c6a:	0f 28 c8             	movaps %xmm0,%xmm1
140672c6d:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140672c71:	0f 2f cb             	comiss %xmm3,%xmm1
140672c74:	0f 86 c8 00 00 00    	jbe    0x140672d42
140672c7a:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140672c7e:	e8 9d e4 7b 00       	call   0x140e31120
140672c83:	33 c9                	xor    %ecx,%ecx
140672c85:	f3 0f 10 0d d7 b9 93 	movss  0x93b9d7(%rip),%xmm1        # 0x140fae664
140672c8c:	00
140672c8d:	0f 2f c1             	comiss %xmm1,%xmm0
140672c90:	72 16                	jb     0x140672ca8
140672c92:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140672c96:	0f 2f c1             	comiss %xmm1,%xmm0
140672c99:	73 0d                	jae    0x140672ca8
140672c9b:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140672ca2:	00 00 80
140672ca5:	48 8b c8             	mov    %rax,%rcx
140672ca8:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140672cad:	48 03 c1             	add    %rcx,%rax
140672cb0:	b9 08 00 00 00       	mov    $0x8,%ecx
140672cb5:	48 3b c1             	cmp    %rcx,%rax
140672cb8:	48 0f 47 c8          	cmova  %rax,%rcx
140672cbc:	48 3b e9             	cmp    %rcx,%rbp
140672cbf:	73 19                	jae    0x140672cda
140672cc1:	48 81 fd 00 02 00 00 	cmp    $0x200,%rbp
140672cc8:	73 0d                	jae    0x140672cd7
140672cca:	48 8d 2c ed 00 00 00 	lea    0x0(,%rbp,8),%rbp
140672cd1:	00
140672cd2:	48 3b e9             	cmp    %rcx,%rbp
140672cd5:	73 03                	jae    0x140672cda
140672cd7:	48 8b e9             	mov    %rcx,%rbp
140672cda:	48 8b d5             	mov    %rbp,%rdx
140672cdd:	49 8b ce             	mov    %r14,%rcx
140672ce0:	e8 6b 5d 00 00       	call   0x140678a50
140672ce5:	48 8b ce             	mov    %rsi,%rcx
140672ce8:	49 23 4e 30          	and    0x30(%r14),%rcx
140672cec:	48 03 c9             	add    %rcx,%rcx
140672cef:	49 8b 56 18          	mov    0x18(%r14),%rdx
140672cf3:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140672cf8:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140672cfc:	48 3b c3             	cmp    %rbx,%rax
140672cff:	75 0b                	jne    0x140672d0c
140672d01:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140672d08:	00 00
140672d0a:	eb 29                	jmp    0x140672d35
140672d0c:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140672d10:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140672d14:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140672d18:	74 18                	je     0x140672d32
140672d1a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140672d20:	48 8b d8             	mov    %rax,%rbx
140672d23:	48 3b c2             	cmp    %rdx,%rax
140672d26:	74 4b                	je     0x140672d73
140672d28:	48 8b 40 08          	mov    0x8(%rax),%rax
140672d2c:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140672d30:	75 ee                	jne    0x140672d20
140672d32:	48 8b 18             	mov    (%rax),%rbx
140672d35:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140672d3a:	4c 8b e3             	mov    %rbx,%r12
140672d3d:	4c 8b 6c 24 20       	mov    0x20(%rsp),%r13
140672d42:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140672d46:	49 ff 46 10          	incq   0x10(%r14)
140672d4a:	4c 89 2f             	mov    %r13,(%rdi)
140672d4d:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140672d51:	48 89 39             	mov    %rdi,(%rcx)
140672d54:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140672d58:	49 8b 46 18          	mov    0x18(%r14),%rax
140672d5c:	49 23 76 30          	and    0x30(%r14),%rsi
140672d60:	48 03 f6             	add    %rsi,%rsi
140672d63:	48 8b 14 f0          	mov    (%rax,%rsi,8),%rdx
140672d67:	49 3b 56 08          	cmp    0x8(%r14),%rdx
140672d6b:	75 16                	jne    0x140672d83
140672d6d:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
140672d71:	eb 22                	jmp    0x140672d95
140672d73:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140672d78:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140672d7f:	00 00
140672d81:	eb b7                	jmp    0x140672d3a
140672d83:	49 3b d4             	cmp    %r12,%rdx
140672d86:	75 06                	jne    0x140672d8e
140672d88:	48 89 3c f0          	mov    %rdi,(%rax,%rsi,8)
140672d8c:	eb 0c                	jmp    0x140672d9a
140672d8e:	48 39 4c f0 08       	cmp    %rcx,0x8(%rax,%rsi,8)
140672d93:	75 05                	jne    0x140672d9a
140672d95:	48 89 7c f0 08       	mov    %rdi,0x8(%rax,%rsi,8)
140672d9a:	49 89 3f             	mov    %rdi,(%r15)
140672d9d:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140672da2:	e9 00 fe ff ff       	jmp    0x140672ba7
140672da7:	48 8d 0d f2 b6 93 00 	lea    0x93b6f2(%rip),%rcx        # 0x140fae4a0
140672dae:	e8 01 86 78 00       	call   0x140dfb3b4
140672db3:	cc                   	int3
140672db4:	cc                   	int3
140672db5:	cc                   	int3
140672db6:	cc                   	int3
140672db7:	cc                   	int3
140672db8:	cc                   	int3
140672db9:	cc                   	int3
140672dba:	cc                   	int3
140672dbb:	cc                   	int3
140672dbc:	cc                   	int3
140672dbd:	cc                   	int3
140672dbe:	cc                   	int3
140672dbf:	cc                   	int3
140672dc0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140672dc5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140672dca:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140672dcf:	57                   	push   %rdi
140672dd0:	41 54                	push   %r12
140672dd2:	41 55                	push   %r13
140672dd4:	41 56                	push   %r14
140672dd6:	41 57                	push   %r15
140672dd8:	48 83 ec 30          	sub    $0x30,%rsp
140672ddc:	49 8b f0             	mov    %r8,%rsi
140672ddf:	4c 8b f2             	mov    %rdx,%r14
140672de2:	48 8b e9             	mov    %rcx,%rbp
140672de5:	45 0f b6 28          	movzbl (%r8),%r13d
140672de9:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140672df0:	9c f2 cb
140672df3:	4c 33 e8             	xor    %rax,%r13
140672df6:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
140672dfd:	01 00 00
140672e00:	4c 0f af e9          	imul   %rcx,%r13
140672e04:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140672e09:	4c 33 e8             	xor    %rax,%r13
140672e0c:	4c 0f af e9          	imul   %rcx,%r13
140672e10:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140672e15:	4c 33 e8             	xor    %rax,%r13
140672e18:	4c 0f af e9          	imul   %rcx,%r13
140672e1c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140672e21:	4c 33 e8             	xor    %rax,%r13
140672e24:	4c 0f af e9          	imul   %rcx,%r13
140672e28:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
140672e2d:	4c 33 e8             	xor    %rax,%r13
140672e30:	4c 0f af e9          	imul   %rcx,%r13
140672e34:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140672e39:	4c 33 e8             	xor    %rax,%r13
140672e3c:	4c 0f af e9          	imul   %rcx,%r13
140672e40:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140672e45:	4c 33 e8             	xor    %rax,%r13
140672e48:	4c 0f af e9          	imul   %rcx,%r13
140672e4c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140672e51:	4c 33 e8             	xor    %rax,%r13
140672e54:	4c 0f af e9          	imul   %rcx,%r13
140672e58:	49 8b cd             	mov    %r13,%rcx
140672e5b:	48 23 4d 30          	and    0x30(%rbp),%rcx
140672e5f:	48 03 c9             	add    %rcx,%rcx
140672e62:	48 8b 45 18          	mov    0x18(%rbp),%rax
140672e66:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
140672e6b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
140672e6f:	4c 8b 22             	mov    (%rdx),%r12
140672e72:	49 3b dc             	cmp    %r12,%rbx
140672e75:	75 08                	jne    0x140672e7f
140672e77:	49 8b dc             	mov    %r12,%rbx
140672e7a:	4d 8b fc             	mov    %r12,%r15
140672e7d:	eb 4e                	jmp    0x140672ecd
140672e7f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140672e83:	49 8b 00             	mov    (%r8),%rax
140672e86:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140672e8a:	74 13                	je     0x140672e9f
140672e8c:	0f 1f 40 00          	nopl   0x0(%rax)
140672e90:	48 3b d9             	cmp    %rcx,%rbx
140672e93:	74 32                	je     0x140672ec7
140672e95:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140672e99:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140672e9d:	75 f1                	jne    0x140672e90
140672e9f:	49 89 1e             	mov    %rbx,(%r14)
140672ea2:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140672ea7:	49 8b c6             	mov    %r14,%rax
140672eaa:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140672eaf:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140672eb4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140672eb9:	48 83 c4 30          	add    $0x30,%rsp
140672ebd:	41 5f                	pop    %r15
140672ebf:	41 5e                	pop    %r14
140672ec1:	41 5d                	pop    %r13
140672ec3:	41 5c                	pop    %r12
140672ec5:	5f                   	pop    %rdi
140672ec6:	c3                   	ret
140672ec7:	4c 8b e3             	mov    %rbx,%r12
140672eca:	4c 8b fb             	mov    %rbx,%r15
140672ecd:	48 b8 66 66 66 66 66 	movabs $0x666666666666666,%rax
140672ed4:	66 66 06
140672ed7:	48 39 45 10          	cmp    %rax,0x10(%rbp)
140672edb:	0f 84 c9 01 00 00    	je     0x1406730aa
140672ee1:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140672ee6:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140672eed:	00 00
140672eef:	b9 28 00 00 00       	mov    $0x28,%ecx
140672ef4:	e8 0f 82 7a 00       	call   0x140e1b108
140672ef9:	48 8b f8             	mov    %rax,%rdi
140672efc:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140672f01:	48 8b 0e             	mov    (%rsi),%rcx
140672f04:	48 89 48 10          	mov    %rcx,0x10(%rax)
140672f08:	33 c0                	xor    %eax,%eax
140672f0a:	48 89 47 18          	mov    %rax,0x18(%rdi)
140672f0e:	48 89 47 20          	mov    %rax,0x20(%rdi)
140672f12:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140672f16:	48 83 c1 01          	add    $0x1,%rcx
140672f1a:	0f 57 c0             	xorps  %xmm0,%xmm0
140672f1d:	78 07                	js     0x140672f26
140672f1f:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140672f24:	eb 15                	jmp    0x140672f3b
140672f26:	48 8b c1             	mov    %rcx,%rax
140672f29:	48 d1 e8             	shr    $1,%rax
140672f2c:	83 e1 01             	and    $0x1,%ecx
140672f2f:	48 0b c1             	or     %rcx,%rax
140672f32:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140672f37:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140672f3b:	48 8b 75 38          	mov    0x38(%rbp),%rsi
140672f3f:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
140672f44:	0f 57 d2             	xorps  %xmm2,%xmm2
140672f47:	48 85 f6             	test   %rsi,%rsi
140672f4a:	78 07                	js     0x140672f53
140672f4c:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
140672f51:	eb 18                	jmp    0x140672f6b
140672f53:	48 8b ce             	mov    %rsi,%rcx
140672f56:	48 d1 e9             	shr    $1,%rcx
140672f59:	48 8b c6             	mov    %rsi,%rax
140672f5c:	83 e0 01             	and    $0x1,%eax
140672f5f:	48 0b c8             	or     %rax,%rcx
140672f62:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140672f67:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140672f6b:	0f 28 c8             	movaps %xmm0,%xmm1
140672f6e:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140672f72:	0f 2f cb             	comiss %xmm3,%xmm1
140672f75:	0f 86 c7 00 00 00    	jbe    0x140673042
140672f7b:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140672f7f:	e8 9c e1 7b 00       	call   0x140e31120
140672f84:	33 c9                	xor    %ecx,%ecx
140672f86:	f3 0f 10 0d d6 b6 93 	movss  0x93b6d6(%rip),%xmm1        # 0x140fae664
140672f8d:	00
140672f8e:	0f 2f c1             	comiss %xmm1,%xmm0
140672f91:	72 16                	jb     0x140672fa9
140672f93:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140672f97:	0f 2f c1             	comiss %xmm1,%xmm0
140672f9a:	73 0d                	jae    0x140672fa9
140672f9c:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140672fa3:	00 00 80
140672fa6:	48 8b c8             	mov    %rax,%rcx
140672fa9:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140672fae:	48 03 c1             	add    %rcx,%rax
140672fb1:	b9 08 00 00 00       	mov    $0x8,%ecx
140672fb6:	48 3b c1             	cmp    %rcx,%rax
140672fb9:	48 0f 47 c8          	cmova  %rax,%rcx
140672fbd:	48 3b f1             	cmp    %rcx,%rsi
140672fc0:	73 19                	jae    0x140672fdb
140672fc2:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140672fc9:	73 0d                	jae    0x140672fd8
140672fcb:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi