1406578aa:	4d 8b fc             	mov    %r12,%r15
1406578ad:	eb 4d                	jmp    0x1406578fc
1406578af:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
1406578b3:	41 8b 00             	mov    (%r8),%eax
1406578b6:	3b 43 10             	cmp    0x10(%rbx),%eax
1406578b9:	74 13                	je     0x1406578ce
1406578bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1406578c0:	48 3b d9             	cmp    %rcx,%rbx
1406578c3:	74 31                	je     0x1406578f6
1406578c5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1406578c9:	3b 43 10             	cmp    0x10(%rbx),%eax
1406578cc:	75 f2                	jne    0x1406578c0
1406578ce:	49 89 1e             	mov    %rbx,(%r14)
1406578d1:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
1406578d6:	49 8b c6             	mov    %r14,%rax
1406578d9:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1406578de:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1406578e3:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1406578e8:	48 83 c4 30          	add    $0x30,%rsp
1406578ec:	41 5f                	pop    %r15
1406578ee:	41 5e                	pop    %r14
1406578f0:	41 5d                	pop    %r13
1406578f2:	41 5c                	pop    %r12
1406578f4:	5f                   	pop    %rdi
1406578f5:	c3                   	ret
1406578f6:	4c 8b e3             	mov    %rbx,%r12
1406578f9:	4c 8b fb             	mov    %rbx,%r15
1406578fc:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140657903:	ff ff 07
140657906:	48 39 45 10          	cmp    %rax,0x10(%rbp)
14065790a:	0f 84 bd 01 00 00    	je     0x140657acd
140657910:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140657915:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14065791c:	00 00
14065791e:	b9 20 00 00 00       	mov    $0x20,%ecx
140657923:	e8 e0 37 7c 00       	call   0x140e1b108
140657928:	48 8b f8             	mov    %rax,%rdi
14065792b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140657930:	8b 0e                	mov    (%rsi),%ecx
140657932:	89 48 10             	mov    %ecx,0x10(%rax)
140657935:	48 c7 40 18 00 00 00 	movq   $0x0,0x18(%rax)
14065793c:	00
14065793d:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140657941:	48 83 c1 01          	add    $0x1,%rcx
140657945:	0f 57 c0             	xorps  %xmm0,%xmm0
140657948:	78 07                	js     0x140657951
14065794a:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
14065794f:	eb 15                	jmp    0x140657966
140657951:	48 8b c1             	mov    %rcx,%rax
140657954:	48 d1 e8             	shr    $1,%rax
140657957:	83 e1 01             	and    $0x1,%ecx
14065795a:	48 0b c1             	or     %rcx,%rax
14065795d:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140657962:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140657966:	48 8b 75 38          	mov    0x38(%rbp),%rsi
14065796a:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
14065796f:	0f 57 d2             	xorps  %xmm2,%xmm2
140657972:	48 85 f6             	test   %rsi,%rsi
140657975:	78 07                	js     0x14065797e
140657977:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
14065797c:	eb 18                	jmp    0x140657996
14065797e:	48 8b ce             	mov    %rsi,%rcx
140657981:	48 d1 e9             	shr    $1,%rcx
140657984:	48 8b c6             	mov    %rsi,%rax
140657987:	83 e0 01             	and    $0x1,%eax
14065798a:	48 0b c8             	or     %rax,%rcx
14065798d:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140657992:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140657996:	0f 28 c8             	movaps %xmm0,%xmm1
140657999:	f3 0f 5e ca          	divss  %xmm2,%xmm1
14065799d:	0f 2f cb             	comiss %xmm3,%xmm1
1406579a0:	0f 86 bf 00 00 00    	jbe    0x140657a65
1406579a6:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1406579aa:	e8 71 97 7d 00       	call   0x140e31120
1406579af:	33 c9                	xor    %ecx,%ecx
1406579b1:	f3 0f 10 0d ab 6c 95 	movss  0x956cab(%rip),%xmm1        # 0x140fae664
1406579b8:	00
1406579b9:	0f 2f c1             	comiss %xmm1,%xmm0
1406579bc:	72 16                	jb     0x1406579d4
1406579be:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1406579c2:	0f 2f c1             	comiss %xmm1,%xmm0
1406579c5:	73 0d                	jae    0x1406579d4
1406579c7:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1406579ce:	00 00 80
1406579d1:	48 8b c8             	mov    %rax,%rcx
1406579d4:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1406579d9:	48 03 c1             	add    %rcx,%rax
1406579dc:	b9 08 00 00 00       	mov    $0x8,%ecx
1406579e1:	48 3b c1             	cmp    %rcx,%rax
1406579e4:	48 0f 47 c8          	cmova  %rax,%rcx
1406579e8:	48 3b f1             	cmp    %rcx,%rsi
1406579eb:	73 19                	jae    0x140657a06
1406579ed:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
1406579f4:	73 0d                	jae    0x140657a03
1406579f6:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
1406579fd:	00
1406579fe:	48 3b f1             	cmp    %rcx,%rsi
140657a01:	73 03                	jae    0x140657a06
140657a03:	48 8b f1             	mov    %rcx,%rsi
140657a06:	48 8b d6             	mov    %rsi,%rdx
140657a09:	48 8b cd             	mov    %rbp,%rcx
140657a0c:	e8 cf 39 00 00       	call   0x14065b3e0
140657a11:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140657a15:	49 23 cd             	and    %r13,%rcx
140657a18:	48 03 c9             	add    %rcx,%rcx
140657a1b:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140657a1f:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140657a24:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
140657a28:	48 3b c3             	cmp    %rbx,%rax
140657a2b:	75 0b                	jne    0x140657a38
140657a2d:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140657a34:	00 00
140657a36:	eb 20                	jmp    0x140657a58
140657a38:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140657a3c:	8b 4f 10             	mov    0x10(%rdi),%ecx
140657a3f:	3b 48 10             	cmp    0x10(%rax),%ecx
140657a42:	74 11                	je     0x140657a55
140657a44:	48 8b d8             	mov    %rax,%rbx
140657a47:	48 3b c2             	cmp    %rdx,%rax
140657a4a:	74 4d                	je     0x140657a99
140657a4c:	48 8b 40 08          	mov    0x8(%rax),%rax
140657a50:	3b 48 10             	cmp    0x10(%rax),%ecx
140657a53:	75 ef                	jne    0x140657a44
140657a55:	48 8b 18             	mov    (%rax),%rbx
140657a58:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140657a5d:	4c 8b fb             	mov    %rbx,%r15
140657a60:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
140657a65:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140657a69:	48 ff 45 10          	incq   0x10(%rbp)
140657a6d:	4c 89 27             	mov    %r12,(%rdi)
140657a70:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140657a74:	48 89 3a             	mov    %rdi,(%rdx)
140657a77:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140657a7b:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140657a7f:	48 8b 45 30          	mov    0x30(%rbp),%rax
140657a83:	49 23 c5             	and    %r13,%rax
140657a86:	48 03 c0             	add    %rax,%rax
140657a89:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140657a8d:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
140657a91:	75 16                	jne    0x140657aa9
140657a93:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140657a97:	eb 22                	jmp    0x140657abb
140657a99:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140657a9e:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140657aa5:	00 00
140657aa7:	eb b4                	jmp    0x140657a5d
140657aa9:	4d 3b c7             	cmp    %r15,%r8
140657aac:	75 06                	jne    0x140657ab4
140657aae:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140657ab2:	eb 0c                	jmp    0x140657ac0
140657ab4:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140657ab9:	75 05                	jne    0x140657ac0
140657abb:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
140657ac0:	49 89 3e             	mov    %rdi,(%r14)
140657ac3:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140657ac8:	e9 09 fe ff ff       	jmp    0x1406578d6
140657acd:	48 8d 0d cc 69 95 00 	lea    0x9569cc(%rip),%rcx        # 0x140fae4a0
140657ad4:	e8 db 38 7a 00       	call   0x140dfb3b4
140657ad9:	cc                   	int3
140657ada:	cc                   	int3
140657adb:	cc                   	int3
140657adc:	cc                   	int3
140657add:	cc                   	int3
140657ade:	cc                   	int3
140657adf:	cc                   	int3
140657ae0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140657ae5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140657aea:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140657aef:	57                   	push   %rdi
140657af0:	41 54                	push   %r12
140657af2:	41 55                	push   %r13
140657af4:	41 56                	push   %r14
140657af6:	41 57                	push   %r15
140657af8:	48 83 ec 30          	sub    $0x30,%rsp
140657afc:	49 8b f0             	mov    %r8,%rsi
140657aff:	4c 8b f2             	mov    %rdx,%r14
140657b02:	48 8b e9             	mov    %rcx,%rbp
140657b05:	45 0f b6 28          	movzbl (%r8),%r13d
140657b09:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140657b10:	9c f2 cb
140657b13:	4c 33 e8             	xor    %rax,%r13
140657b16:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
140657b1d:	01 00 00
140657b20:	4c 0f af e9          	imul   %rcx,%r13
140657b24:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140657b29:	4c 33 e8             	xor    %rax,%r13
140657b2c:	4c 0f af e9          	imul   %rcx,%r13
140657b30:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140657b35:	4c 33 e8             	xor    %rax,%r13
140657b38:	4c 0f af e9          	imul   %rcx,%r13
140657b3c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140657b41:	4c 33 e8             	xor    %rax,%r13
140657b44:	4c 0f af e9          	imul   %rcx,%r13
140657b48:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
140657b4d:	4c 33 e8             	xor    %rax,%r13
140657b50:	4c 0f af e9          	imul   %rcx,%r13
140657b54:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140657b59:	4c 33 e8             	xor    %rax,%r13
140657b5c:	4c 0f af e9          	imul   %rcx,%r13
140657b60:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140657b65:	4c 33 e8             	xor    %rax,%r13
140657b68:	4c 0f af e9          	imul   %rcx,%r13
140657b6c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140657b71:	4c 33 e8             	xor    %rax,%r13
140657b74:	4c 0f af e9          	imul   %rcx,%r13
140657b78:	49 8b cd             	mov    %r13,%rcx
140657b7b:	48 23 4d 30          	and    0x30(%rbp),%rcx
140657b7f:	48 03 c9             	add    %rcx,%rcx
140657b82:	48 8b 45 18          	mov    0x18(%rbp),%rax
140657b86:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
140657b8b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
140657b8f:	4c 8b 22             	mov    (%rdx),%r12
140657b92:	49 3b dc             	cmp    %r12,%rbx
140657b95:	75 08                	jne    0x140657b9f
140657b97:	49 8b dc             	mov    %r12,%rbx
140657b9a:	4d 8b fc             	mov    %r12,%r15
140657b9d:	eb 4e                	jmp    0x140657bed
140657b9f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140657ba3:	49 8b 00             	mov    (%r8),%rax
140657ba6:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140657baa:	74 13                	je     0x140657bbf
140657bac:	0f 1f 40 00          	nopl   0x0(%rax)
140657bb0:	48 3b d9             	cmp    %rcx,%rbx
140657bb3:	74 32                	je     0x140657be7
140657bb5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140657bb9:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140657bbd:	75 f1                	jne    0x140657bb0
140657bbf:	49 89 1e             	mov    %rbx,(%r14)
140657bc2:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140657bc7:	49 8b c6             	mov    %r14,%rax
140657bca:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140657bcf:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140657bd4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140657bd9:	48 83 c4 30          	add    $0x30,%rsp
140657bdd:	41 5f                	pop    %r15
140657bdf:	41 5e                	pop    %r14
140657be1:	41 5d                	pop    %r13
140657be3:	41 5c                	pop    %r12
140657be5:	5f                   	pop    %rdi
140657be6:	c3                   	ret
140657be7:	4c 8b e3             	mov    %rbx,%r12
140657bea:	4c 8b fb             	mov    %rbx,%r15
140657bed:	48 b8 ba e8 a2 8b 2e 	movabs $0x2e8ba2e8ba2e8ba,%rax
140657bf4:	ba e8 02
140657bf7:	48 39 45 10          	cmp    %rax,0x10(%rbp)
140657bfb:	0f 84 c9 01 00 00    	je     0x140657dca
140657c01:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140657c06:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140657c0d:	00 00
140657c0f:	b9 58 00 00 00       	mov    $0x58,%ecx
140657c14:	e8 ef 34 7c 00       	call   0x140e1b108
140657c19:	48 8b f8             	mov    %rax,%rdi
140657c1c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140657c21:	48 8b 0e             	mov    (%rsi),%rcx
140657c24:	48 89 48 10          	mov    %rcx,0x10(%rax)
140657c28:	48 8d 48 18          	lea    0x18(%rax),%rcx
140657c2c:	e8 4f cd bf ff       	call   0x140254980
140657c31:	90                   	nop
140657c32:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140657c36:	48 83 c1 01          	add    $0x1,%rcx
140657c3a:	0f 57 c0             	xorps  %xmm0,%xmm0
140657c3d:	78 07                	js     0x140657c46
140657c3f:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140657c44:	eb 15                	jmp    0x140657c5b
140657c46:	48 8b c1             	mov    %rcx,%rax
140657c49:	48 d1 e8             	shr    $1,%rax
140657c4c:	83 e1 01             	and    $0x1,%ecx
140657c4f:	48 0b c1             	or     %rcx,%rax
140657c52:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140657c57:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140657c5b:	48 8b 75 38          	mov    0x38(%rbp),%rsi
140657c5f:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
140657c64:	0f 57 d2             	xorps  %xmm2,%xmm2
140657c67:	48 85 f6             	test   %rsi,%rsi
140657c6a:	78 07                	js     0x140657c73
140657c6c:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
140657c71:	eb 18                	jmp    0x140657c8b
140657c73:	48 8b ce             	mov    %rsi,%rcx
140657c76:	48 d1 e9             	shr    $1,%rcx
140657c79:	48 8b c6             	mov    %rsi,%rax
140657c7c:	83 e0 01             	and    $0x1,%eax
140657c7f:	48 0b c8             	or     %rax,%rcx
140657c82:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140657c87:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140657c8b:	0f 28 c8             	movaps %xmm0,%xmm1
140657c8e:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140657c92:	0f 2f cb             	comiss %xmm3,%xmm1
140657c95:	0f 86 c7 00 00 00    	jbe    0x140657d62
140657c9b:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140657c9f:	e8 7c 94 7d 00       	call   0x140e31120
140657ca4:	33 c9                	xor    %ecx,%ecx
140657ca6:	f3 0f 10 0d b6 69 95 	movss  0x9569b6(%rip),%xmm1        # 0x140fae664
140657cad:	00
140657cae:	0f 2f c1             	comiss %xmm1,%xmm0
140657cb1:	72 16                	jb     0x140657cc9
140657cb3:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140657cb7:	0f 2f c1             	comiss %xmm1,%xmm0
140657cba:	73 0d                	jae    0x140657cc9
140657cbc:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140657cc3:	00 00 80
140657cc6:	48 8b c8             	mov    %rax,%rcx
140657cc9:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140657cce:	48 03 c1             	add    %rcx,%rax
140657cd1:	b9 08 00 00 00       	mov    $0x8,%ecx
140657cd6:	48 3b c1             	cmp    %rcx,%rax
140657cd9:	48 0f 47 c8          	cmova  %rax,%rcx
140657cdd:	48 3b f1             	cmp    %rcx,%rsi
140657ce0:	73 19                	jae    0x140657cfb
140657ce2:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140657ce9:	73 0d                	jae    0x140657cf8
140657ceb:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
140657cf2:	00
140657cf3:	48 3b f1             	cmp    %rcx,%rsi
140657cf6:	73 03                	jae    0x140657cfb
140657cf8:	48 8b f1             	mov    %rcx,%rsi
140657cfb:	48 8b d6             	mov    %rsi,%rdx
140657cfe:	48 8b cd             	mov    %rbp,%rcx
140657d01:	e8 7a 3b 00 00       	call   0x14065b880
140657d06:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140657d0a:	49 23 cd             	and    %r13,%rcx
140657d0d:	48 03 c9             	add    %rcx,%rcx
140657d10:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140657d14:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140657d19:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
140657d1d:	48 3b c3             	cmp    %rbx,%rax
140657d20:	75 0b                	jne    0x140657d2d
140657d22:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140657d29:	00 00
140657d2b:	eb 28                	jmp    0x140657d55
140657d2d:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140657d31:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140657d35:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140657d39:	74 17                	je     0x140657d52
140657d3b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140657d40:	48 8b d8             	mov    %rax,%rbx
140657d43:	48 3b c2             	cmp    %rdx,%rax
140657d46:	74 4e                	je     0x140657d96
140657d48:	48 8b 40 08          	mov    0x8(%rax),%rax
140657d4c:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140657d50:	75 ee                	jne    0x140657d40
140657d52:	48 8b 18             	mov    (%rax),%rbx
140657d55:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140657d5a:	4c 8b fb             	mov    %rbx,%r15
140657d5d:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
140657d62:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140657d66:	48 ff 45 10          	incq   0x10(%rbp)
140657d6a:	4c 89 27             	mov    %r12,(%rdi)
140657d6d:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140657d71:	48 89 3a             	mov    %rdi,(%rdx)
140657d74:	48 89 7b 08          	mov    %rdi,0x8(%rbx)