140679381:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140679386:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14067938a:	0f 28 c8             	movaps %xmm0,%xmm1
14067938d:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140679391:	0f 2f cb             	comiss %xmm3,%xmm1
140679394:	0f 86 e3 00 00 00    	jbe    0x14067947d
14067939a:	f3 0f 5e c3          	divss  %xmm3,%xmm0
14067939e:	e8 7d 7d 7b 00       	call   0x140e31120
1406793a3:	33 c9                	xor    %ecx,%ecx
1406793a5:	0f 2f c6             	comiss %xmm6,%xmm0
1406793a8:	72 16                	jb     0x1406793c0
1406793aa:	f3 0f 5c c6          	subss  %xmm6,%xmm0
1406793ae:	0f 2f c6             	comiss %xmm6,%xmm0
1406793b1:	73 0d                	jae    0x1406793c0
1406793b3:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1406793ba:	00 00 80
1406793bd:	48 8b c8             	mov    %rax,%rcx
1406793c0:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1406793c5:	48 03 c1             	add    %rcx,%rax
1406793c8:	b9 08 00 00 00       	mov    $0x8,%ecx
1406793cd:	48 3b c1             	cmp    %rcx,%rax
1406793d0:	48 0f 47 c8          	cmova  %rax,%rcx
1406793d4:	48 3b e9             	cmp    %rcx,%rbp
1406793d7:	73 19                	jae    0x1406793f2
1406793d9:	48 81 fd 00 02 00 00 	cmp    $0x200,%rbp
1406793e0:	73 0d                	jae    0x1406793ef
1406793e2:	48 8d 2c ed 00 00 00 	lea    0x0(,%rbp,8),%rbp
1406793e9:	00
1406793ea:	48 3b e9             	cmp    %rcx,%rbp
1406793ed:	73 03                	jae    0x1406793f2
1406793ef:	48 8b e9             	mov    %rcx,%rbp
1406793f2:	48 8b d5             	mov    %rbp,%rdx
1406793f5:	49 8b cf             	mov    %r15,%rcx
1406793f8:	e8 63 27 fe ff       	call   0x14065bb60
1406793fd:	49 8b 4f 30          	mov    0x30(%r15),%rcx
140679401:	4c 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8
140679408:	00
140679409:	49 23 c8             	and    %r8,%rcx
14067940c:	48 03 c9             	add    %rcx,%rcx
14067940f:	49 8b 57 18          	mov    0x18(%r15),%rdx
140679413:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140679418:	49 8b 77 08          	mov    0x8(%r15),%rsi
14067941c:	48 3b c6             	cmp    %rsi,%rax
14067941f:	75 16                	jne    0x140679437
140679421:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140679428:	00 00
14067942a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14067942f:	4c 8b e6             	mov    %rsi,%r12
140679432:	4c 8b ee             	mov    %rsi,%r13
140679435:	eb 4e                	jmp    0x140679485
140679437:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
14067943b:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14067943f:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140679443:	74 12                	je     0x140679457
140679445:	48 8b f0             	mov    %rax,%rsi
140679448:	48 3b c2             	cmp    %rdx,%rax
14067944b:	74 1a                	je     0x140679467
14067944d:	48 8b 40 08          	mov    0x8(%rax),%rax
140679451:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140679455:	75 ee                	jne    0x140679445
140679457:	48 8b 30             	mov    (%rax),%rsi
14067945a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14067945f:	4c 8b e6             	mov    %rsi,%r12
140679462:	4c 8b ee             	mov    %rsi,%r13
140679465:	eb 1e                	jmp    0x140679485
140679467:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14067946c:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140679473:	00 00
140679475:	4c 8b e6             	mov    %rsi,%r12
140679478:	4c 8b e8             	mov    %rax,%r13
14067947b:	eb 08                	jmp    0x140679485
14067947d:	4c 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8
140679484:	00
140679485:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
14067948c:	00 00
14067948e:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140679492:	49 ff 47 10          	incq   0x10(%r15)
140679496:	4d 89 2e             	mov    %r13,(%r14)
140679499:	49 89 56 08          	mov    %rdx,0x8(%r14)
14067949d:	4c 89 32             	mov    %r14,(%rdx)
1406794a0:	4c 89 76 08          	mov    %r14,0x8(%rsi)
1406794a4:	49 8b 4f 18          	mov    0x18(%r15),%rcx
1406794a8:	49 8b 47 30          	mov    0x30(%r15),%rax
1406794ac:	49 23 c0             	and    %r8,%rax
1406794af:	48 03 c0             	add    %rax,%rax
1406794b2:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1406794b6:	4d 3b 47 08          	cmp    0x8(%r15),%r8
1406794ba:	75 06                	jne    0x1406794c2
1406794bc:	4c 89 34 c1          	mov    %r14,(%rcx,%rax,8)
1406794c0:	eb 12                	jmp    0x1406794d4
1406794c2:	4d 3b c4             	cmp    %r12,%r8
1406794c5:	75 06                	jne    0x1406794cd
1406794c7:	4c 89 34 c1          	mov    %r14,(%rcx,%rax,8)
1406794cb:	eb 0c                	jmp    0x1406794d9
1406794cd:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
1406794d2:	75 05                	jne    0x1406794d9
1406794d4:	4c 89 74 c1 08       	mov    %r14,0x8(%rcx,%rax,8)
1406794d9:	49 8d 57 08          	lea    0x8(%r15),%rdx
1406794dd:	49 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%r8
1406794e4:	aa aa 0a
1406794e7:	49 b9 b3 01 00 00 00 	movabs $0x100000001b3,%r9
1406794ee:	01 00 00
1406794f1:	49 ba 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r10
1406794f8:	9c f2 cb
1406794fb:	48 8b 1b             	mov    (%rbx),%rbx
1406794fe:	48 3b df             	cmp    %rdi,%rbx
140679501:	0f 85 49 fd ff ff    	jne    0x140679250
140679507:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
14067950c:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140679510:	49 8b 6b 40          	mov    0x40(%r11),%rbp
140679514:	49 8b 73 48          	mov    0x48(%r11),%rsi
140679518:	0f 28 74 24 40       	movaps 0x40(%rsp),%xmm6
14067951d:	49 8b e3             	mov    %r11,%rsp
140679520:	41 5f                	pop    %r15
140679522:	41 5e                	pop    %r14
140679524:	41 5d                	pop    %r13
140679526:	41 5c                	pop    %r12
140679528:	5f                   	pop    %rdi
140679529:	c3                   	ret
14067952a:	48 8d 0d 6f 4f 93 00 	lea    0x934f6f(%rip),%rcx        # 0x140fae4a0
140679531:	e8 7e 1e 78 00       	call   0x140dfb3b4
140679536:	cc                   	int3
140679537:	cc                   	int3
140679538:	cc                   	int3
140679539:	cc                   	int3
14067953a:	cc                   	int3
14067953b:	cc                   	int3
14067953c:	cc                   	int3
14067953d:	cc                   	int3
14067953e:	cc                   	int3
14067953f:	cc                   	int3
140679540:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140679545:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14067954a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14067954f:	57                   	push   %rdi
140679550:	41 54                	push   %r12
140679552:	41 55                	push   %r13
140679554:	41 56                	push   %r14
140679556:	41 57                	push   %r15
140679558:	48 83 ec 30          	sub    $0x30,%rsp
14067955c:	49 8b f0             	mov    %r8,%rsi
14067955f:	4c 8b f2             	mov    %rdx,%r14
140679562:	48 8b e9             	mov    %rcx,%rbp
140679565:	45 0f b6 28          	movzbl (%r8),%r13d
140679569:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140679570:	9c f2 cb
140679573:	4c 33 e8             	xor    %rax,%r13
140679576:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14067957d:	01 00 00
140679580:	4c 0f af e9          	imul   %rcx,%r13
140679584:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140679589:	4c 33 e8             	xor    %rax,%r13
14067958c:	4c 0f af e9          	imul   %rcx,%r13
140679590:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140679595:	4c 33 e8             	xor    %rax,%r13
140679598:	4c 0f af e9          	imul   %rcx,%r13
14067959c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
1406795a1:	4c 33 e8             	xor    %rax,%r13
1406795a4:	4c 0f af e9          	imul   %rcx,%r13
1406795a8:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
1406795ad:	4c 33 e8             	xor    %rax,%r13
1406795b0:	4c 0f af e9          	imul   %rcx,%r13
1406795b4:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
1406795b9:	4c 33 e8             	xor    %rax,%r13
1406795bc:	4c 0f af e9          	imul   %rcx,%r13
1406795c0:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
1406795c5:	4c 33 e8             	xor    %rax,%r13
1406795c8:	4c 0f af e9          	imul   %rcx,%r13
1406795cc:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
1406795d1:	4c 33 e8             	xor    %rax,%r13
1406795d4:	4c 0f af e9          	imul   %rcx,%r13
1406795d8:	49 8b cd             	mov    %r13,%rcx
1406795db:	48 23 4d 30          	and    0x30(%rbp),%rcx
1406795df:	48 03 c9             	add    %rcx,%rcx
1406795e2:	48 8b 45 18          	mov    0x18(%rbp),%rax
1406795e6:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
1406795eb:	48 8d 55 08          	lea    0x8(%rbp),%rdx
1406795ef:	4c 8b 22             	mov    (%rdx),%r12
1406795f2:	49 3b dc             	cmp    %r12,%rbx
1406795f5:	75 08                	jne    0x1406795ff
1406795f7:	49 8b dc             	mov    %r12,%rbx
1406795fa:	4d 8b fc             	mov    %r12,%r15
1406795fd:	eb 4e                	jmp    0x14067964d
1406795ff:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140679603:	49 8b 00             	mov    (%r8),%rax
140679606:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14067960a:	74 13                	je     0x14067961f
14067960c:	0f 1f 40 00          	nopl   0x0(%rax)
140679610:	48 3b d9             	cmp    %rcx,%rbx
140679613:	74 32                	je     0x140679647
140679615:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140679619:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14067961d:	75 f1                	jne    0x140679610
14067961f:	49 89 1e             	mov    %rbx,(%r14)
140679622:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140679627:	49 8b c6             	mov    %r14,%rax
14067962a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14067962f:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140679634:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140679639:	48 83 c4 30          	add    $0x30,%rsp
14067963d:	41 5f                	pop    %r15
14067963f:	41 5e                	pop    %r14
140679641:	41 5d                	pop    %r13
140679643:	41 5c                	pop    %r12
140679645:	5f                   	pop    %rdi
140679646:	c3                   	ret
140679647:	4c 8b e3             	mov    %rbx,%r12
14067964a:	4c 8b fb             	mov    %rbx,%r15
14067964d:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140679654:	ff ff 07
140679657:	48 39 45 10          	cmp    %rax,0x10(%rbp)
14067965b:	0f 84 c9 01 00 00    	je     0x14067982a
140679661:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140679666:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14067966d:	00 00
14067966f:	b9 20 00 00 00       	mov    $0x20,%ecx
140679674:	e8 8f 1a 7a 00       	call   0x140e1b108
140679679:	48 8b f8             	mov    %rax,%rdi
14067967c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140679681:	48 8b 0e             	mov    (%rsi),%rcx
140679684:	48 89 48 10          	mov    %rcx,0x10(%rax)
140679688:	48 c7 40 18 00 00 00 	movq   $0x0,0x18(%rax)
14067968f:	00
140679690:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140679694:	48 83 c1 01          	add    $0x1,%rcx
140679698:	0f 57 c0             	xorps  %xmm0,%xmm0
14067969b:	78 07                	js     0x1406796a4
14067969d:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1406796a2:	eb 15                	jmp    0x1406796b9
1406796a4:	48 8b c1             	mov    %rcx,%rax
1406796a7:	48 d1 e8             	shr    $1,%rax
1406796aa:	83 e1 01             	and    $0x1,%ecx
1406796ad:	48 0b c1             	or     %rcx,%rax
1406796b0:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1406796b5:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1406796b9:	48 8b 75 38          	mov    0x38(%rbp),%rsi
1406796bd:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1406796c2:	0f 57 d2             	xorps  %xmm2,%xmm2
1406796c5:	48 85 f6             	test   %rsi,%rsi
1406796c8:	78 07                	js     0x1406796d1
1406796ca:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
1406796cf:	eb 18                	jmp    0x1406796e9
1406796d1:	48 8b ce             	mov    %rsi,%rcx
1406796d4:	48 d1 e9             	shr    $1,%rcx
1406796d7:	48 8b c6             	mov    %rsi,%rax
1406796da:	83 e0 01             	and    $0x1,%eax
1406796dd:	48 0b c8             	or     %rax,%rcx
1406796e0:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1406796e5:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1406796e9:	0f 28 c8             	movaps %xmm0,%xmm1
1406796ec:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1406796f0:	0f 2f cb             	comiss %xmm3,%xmm1
1406796f3:	0f 86 c9 00 00 00    	jbe    0x1406797c2
1406796f9:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1406796fd:	e8 1e 7a 7b 00       	call   0x140e31120
140679702:	33 c9                	xor    %ecx,%ecx
140679704:	f3 0f 10 0d 58 4f 93 	movss  0x934f58(%rip),%xmm1        # 0x140fae664
14067970b:	00
14067970c:	0f 2f c1             	comiss %xmm1,%xmm0
14067970f:	72 16                	jb     0x140679727
140679711:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140679715:	0f 2f c1             	comiss %xmm1,%xmm0
140679718:	73 0d                	jae    0x140679727
14067971a:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140679721:	00 00 80
140679724:	48 8b c8             	mov    %rax,%rcx
140679727:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14067972c:	48 03 c1             	add    %rcx,%rax
14067972f:	b9 08 00 00 00       	mov    $0x8,%ecx
140679734:	48 3b c1             	cmp    %rcx,%rax
140679737:	48 0f 47 c8          	cmova  %rax,%rcx
14067973b:	48 3b f1             	cmp    %rcx,%rsi
14067973e:	73 19                	jae    0x140679759
140679740:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140679747:	73 0d                	jae    0x140679756
140679749:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
140679750:	00
140679751:	48 3b f1             	cmp    %rcx,%rsi
140679754:	73 03                	jae    0x140679759
140679756:	48 8b f1             	mov    %rcx,%rsi
140679759:	48 8b d6             	mov    %rsi,%rdx
14067975c:	48 8b cd             	mov    %rbp,%rcx
14067975f:	e8 2c 1f fe ff       	call   0x14065b690
140679764:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140679768:	49 23 cd             	and    %r13,%rcx
14067976b:	48 03 c9             	add    %rcx,%rcx
14067976e:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140679772:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140679777:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
14067977b:	48 3b c3             	cmp    %rbx,%rax
14067977e:	75 0b                	jne    0x14067978b
140679780:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140679787:	00 00
140679789:	eb 2a                	jmp    0x1406797b5
14067978b:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
14067978f:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140679793:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140679797:	74 19                	je     0x1406797b2
140679799:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1406797a0:	48 8b d8             	mov    %rax,%rbx
1406797a3:	48 3b c2             	cmp    %rdx,%rax
1406797a6:	74 4e                	je     0x1406797f6
1406797a8:	48 8b 40 08          	mov    0x8(%rax),%rax
1406797ac:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1406797b0:	75 ee                	jne    0x1406797a0
1406797b2:	48 8b 18             	mov    (%rax),%rbx
1406797b5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1406797ba:	4c 8b fb             	mov    %rbx,%r15
1406797bd:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
1406797c2:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1406797c6:	48 ff 45 10          	incq   0x10(%rbp)
1406797ca:	4c 89 27             	mov    %r12,(%rdi)
1406797cd:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1406797d1:	48 89 3a             	mov    %rdi,(%rdx)
1406797d4:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1406797d8:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1406797dc:	48 8b 45 30          	mov    0x30(%rbp),%rax
1406797e0:	49 23 c5             	and    %r13,%rax
1406797e3:	48 03 c0             	add    %rax,%rax
1406797e6:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1406797ea:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
1406797ee:	75 16                	jne    0x140679806
1406797f0:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1406797f4:	eb 22                	jmp    0x140679818
1406797f6:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1406797fb:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140679802:	00 00
140679804:	eb b4                	jmp    0x1406797ba
140679806:	4d 3b c7             	cmp    %r15,%r8
140679809:	75 06                	jne    0x140679811
14067980b:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14067980f:	eb 0c                	jmp    0x14067981d
140679811:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140679816:	75 05                	jne    0x14067981d
140679818:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
14067981d:	49 89 3e             	mov    %rdi,(%r14)
140679820:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140679825:	e9 fd fd ff ff       	jmp    0x140679627
14067982a:	48 8d 0d 6f 4c 93 00 	lea    0x934c6f(%rip),%rcx        # 0x140fae4a0
140679831:	e8 7e 1b 78 00       	call   0x140dfb3b4
140679836:	cc                   	int3
140679837:	cc                   	int3
140679838:	cc                   	int3
140679839:	cc                   	int3
14067983a:	cc                   	int3
14067983b:	cc                   	int3
14067983c:	cc                   	int3
14067983d:	cc                   	int3
14067983e:	cc                   	int3
14067983f:	cc                   	int3