14007c470:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
14007c475:	48 8b 69 18          	mov    0x18(%rcx),%rbp
14007c479:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
14007c47e:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14007c483:	4e 8d 3c 32          	lea    (%rdx,%r14,1),%r15
14007c487:	49 8b d7             	mov    %r15,%rdx
14007c48a:	48 83 ca 07          	or     $0x7,%rdx
14007c48e:	48 3b d3             	cmp    %rbx,%rdx
14007c491:	77 3f                	ja     0x14007c4d2
14007c493:	48 8b cd             	mov    %rbp,%rcx
14007c496:	48 8b c3             	mov    %rbx,%rax
14007c499:	48 d1 e9             	shr    $1,%rcx
14007c49c:	48 2b c1             	sub    %rcx,%rax
14007c49f:	48 3b e8             	cmp    %rax,%rbp
14007c4a2:	77 2e                	ja     0x14007c4d2
14007c4a4:	48 8d 04 29          	lea    (%rcx,%rbp,1),%rax
14007c4a8:	48 8b da             	mov    %rdx,%rbx
14007c4ab:	48 3b d0             	cmp    %rax,%rdx
14007c4ae:	48 0f 42 d8          	cmovb  %rax,%rbx
14007c4b2:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14007c4b9:	ff ff 7f
14007c4bc:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
14007c4c0:	48 3b c8             	cmp    %rax,%rcx
14007c4c3:	0f 87 ff 00 00 00    	ja     0x14007c5c8
14007c4c9:	48 03 c9             	add    %rcx,%rcx
14007c4cc:	75 12                	jne    0x14007c4e0
14007c4ce:	33 ff                	xor    %edi,%edi
14007c4d0:	eb 4b                	jmp    0x14007c51d
14007c4d2:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14007c4d9:	ff ff 7f
14007c4dc:	48 8d 0c 00          	lea    (%rax,%rax,1),%rcx
14007c4e0:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
14007c4e7:	72 2c                	jb     0x14007c515
14007c4e9:	48 8d 41 27          	lea    0x27(%rcx),%rax
14007c4ed:	48 3b c1             	cmp    %rcx,%rax
14007c4f0:	0f 86 d2 00 00 00    	jbe    0x14007c5c8
14007c4f6:	48 8b c8             	mov    %rax,%rcx
14007c4f9:	e8 d2 39 23 00       	call   0x1402afed0
14007c4fe:	48 85 c0             	test   %rax,%rax
14007c501:	0f 84 bb 00 00 00    	je     0x14007c5c2
14007c507:	48 8d 78 27          	lea    0x27(%rax),%rdi
14007c50b:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
14007c50f:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
14007c513:	eb 08                	jmp    0x14007c51d
14007c515:	e8 b6 39 23 00       	call   0x1402afed0
14007c51a:	48 8b f8             	mov    %rax,%rdi
14007c51d:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
14007c522:	4e 8d 34 75 02 00 00 	lea    0x2(,%r14,2),%r14
14007c529:	00
14007c52a:	4c 89 7e 10          	mov    %r15,0x10(%rsi)
14007c52e:	49 8b d4             	mov    %r12,%rdx
14007c531:	48 89 5e 18          	mov    %rbx,0x18(%rsi)
14007c535:	48 8b cf             	mov    %rdi,%rcx
14007c538:	4c 8d 04 00          	lea    (%rax,%rax,1),%r8
14007c53c:	4d 8d 3c 38          	lea    (%r8,%rdi,1),%r15
14007c540:	48 83 fd 07          	cmp    $0x7,%rbp
14007c544:	76 49                	jbe    0x14007c58f
14007c546:	48 8b 1e             	mov    (%rsi),%rbx
14007c549:	e8 12 4e 26 00       	call   0x1402e1360
14007c54e:	4d 8b c6             	mov    %r14,%r8
14007c551:	48 8b d3             	mov    %rbx,%rdx
14007c554:	49 8b cf             	mov    %r15,%rcx
14007c557:	e8 04 4e 26 00       	call   0x1402e1360
14007c55c:	48 8d 14 6d 02 00 00 	lea    0x2(,%rbp,2),%rdx
14007c563:	00
14007c564:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14007c56b:	72 18                	jb     0x14007c585
14007c56d:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14007c571:	48 83 c2 27          	add    $0x27,%rdx
14007c575:	48 2b d9             	sub    %rcx,%rbx
14007c578:	48 8d 43 f8          	lea    -0x8(%rbx),%rax
14007c57c:	48 83 f8 1f          	cmp    $0x1f,%rax
14007c580:	77 40                	ja     0x14007c5c2
14007c582:	48 8b d9             	mov    %rcx,%rbx
14007c585:	48 8b cb             	mov    %rbx,%rcx
14007c588:	e8 7f 39 23 00       	call   0x1402aff0c
14007c58d:	eb 13                	jmp    0x14007c5a2
14007c58f:	e8 cc 4d 26 00       	call   0x1402e1360
14007c594:	4d 8b c6             	mov    %r14,%r8
14007c597:	48 8b d6             	mov    %rsi,%rdx
14007c59a:	49 8b cf             	mov    %r15,%rcx
14007c59d:	e8 be 4d 26 00       	call   0x1402e1360
14007c5a2:	48 89 3e             	mov    %rdi,(%rsi)
14007c5a5:	48 8b c6             	mov    %rsi,%rax
14007c5a8:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
14007c5ad:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
14007c5b2:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
14007c5b7:	48 83 c4 28          	add    $0x28,%rsp
14007c5bb:	41 5e                	pop    %r14
14007c5bd:	41 5c                	pop    %r12
14007c5bf:	5e                   	pop    %rsi
14007c5c0:	5b                   	pop    %rbx
14007c5c1:	c3                   	ret
14007c5c2:	e8 5d 9e 23 00       	call   0x1402b6424
14007c5c7:	cc                   	int3
14007c5c8:	e8 f3 e7 ff ff       	call   0x14007adc0
14007c5cd:	cc                   	int3
14007c5ce:	e8 8d e8 ff ff       	call   0x14007ae60
14007c5d3:	cc                   	int3
14007c5d4:	cc                   	int3
14007c5d5:	cc                   	int3
14007c5d6:	cc                   	int3
14007c5d7:	cc                   	int3
14007c5d8:	cc                   	int3
14007c5d9:	cc                   	int3
14007c5da:	cc                   	int3
14007c5db:	cc                   	int3
14007c5dc:	cc                   	int3
14007c5dd:	cc                   	int3
14007c5de:	cc                   	int3
14007c5df:	cc                   	int3
14007c5e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14007c5e5:	57                   	push   %rdi
14007c5e6:	48 83 ec 20          	sub    $0x20,%rsp
14007c5ea:	8b da                	mov    %edx,%ebx
14007c5ec:	48 8b f9             	mov    %rcx,%rdi
14007c5ef:	e8 cc f2 ff ff       	call   0x14007b8c0
14007c5f4:	f6 c3 01             	test   $0x1,%bl
14007c5f7:	74 0d                	je     0x14007c606
14007c5f9:	ba 50 00 00 00       	mov    $0x50,%edx
14007c5fe:	48 8b cf             	mov    %rdi,%rcx
14007c601:	e8 06 39 23 00       	call   0x1402aff0c
14007c606:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14007c60b:	48 8b c7             	mov    %rdi,%rax
14007c60e:	48 83 c4 20          	add    $0x20,%rsp
14007c612:	5f                   	pop    %rdi
14007c613:	c3                   	ret
14007c614:	cc                   	int3
14007c615:	cc                   	int3
14007c616:	cc                   	int3
14007c617:	cc                   	int3
14007c618:	cc                   	int3
14007c619:	cc                   	int3
14007c61a:	cc                   	int3
14007c61b:	cc                   	int3
14007c61c:	cc                   	int3
14007c61d:	cc                   	int3
14007c61e:	cc                   	int3
14007c61f:	cc                   	int3
14007c620:	48 83 ec 28          	sub    $0x28,%rsp
14007c624:	e8 87 04 00 00       	call   0x14007cab0
14007c629:	b0 01                	mov    $0x1,%al
14007c62b:	48 83 c4 28          	add    $0x28,%rsp
14007c62f:	c3                   	ret
14007c630:	40 53                	rex push %rbx
14007c632:	48 83 ec 30          	sub    $0x30,%rsp
14007c636:	48 8b 59 40          	mov    0x40(%rcx),%rbx
14007c63a:	48 85 db             	test   %rbx,%rbx
14007c63d:	74 22                	je     0x14007c661
14007c63f:	83 7b 08 00          	cmpl   $0x0,0x8(%rbx)
14007c643:	74 22                	je     0x14007c667
14007c645:	0f 10 03             	movups (%rbx),%xmm0
14007c648:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14007c64d:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
14007c652:	e8 35 1b 23 00       	call   0x1402ae18c
14007c657:	85 c0                	test   %eax,%eax
14007c659:	75 0c                	jne    0x14007c667
14007c65b:	0f 57 c0             	xorps  %xmm0,%xmm0
14007c65e:	0f 11 03             	movups %xmm0,(%rbx)
14007c661:	48 83 c4 30          	add    $0x30,%rsp
14007c665:	5b                   	pop    %rbx
14007c666:	c3                   	ret
14007c667:	b9 01 00 00 00       	mov    $0x1,%ecx
14007c66c:	e8 d3 1a 23 00       	call   0x1402ae144
14007c671:	cc                   	int3
14007c672:	cc                   	int3
14007c673:	cc                   	int3
14007c674:	cc                   	int3
14007c675:	cc                   	int3
14007c676:	cc                   	int3
14007c677:	cc                   	int3
14007c678:	cc                   	int3
14007c679:	cc                   	int3
14007c67a:	cc                   	int3
14007c67b:	cc                   	int3
14007c67c:	cc                   	int3
14007c67d:	cc                   	int3
14007c67e:	cc                   	int3
14007c67f:	cc                   	int3
14007c680:	40 53                	rex push %rbx
14007c682:	48 83 ec 20          	sub    $0x20,%rsp
14007c686:	48 8b 59 f8          	mov    -0x8(%rcx),%rbx
14007c68a:	48 8d 15 bf b4 32 00 	lea    0x32b4bf(%rip),%rdx        # 0x1403a7b50
14007c691:	48 8d 8b d8 05 00 00 	lea    0x5d8(%rbx),%rcx
14007c698:	e8 33 05 02 00       	call   0x14009cbd0
14007c69d:	83 bb c0 05 00 00 03 	cmpl   $0x3,0x5c0(%rbx)
14007c6a4:	74 35                	je     0x14007c6db
14007c6a6:	8b 8b c8 05 00 00    	mov    0x5c8(%rbx),%ecx
14007c6ac:	85 c9                	test   %ecx,%ecx
14007c6ae:	78 0d                	js     0x14007c6bd
14007c6b0:	8b 83 c4 05 00 00    	mov    0x5c4(%rbx),%eax
14007c6b6:	33 c9                	xor    %ecx,%ecx
14007c6b8:	85 c0                	test   %eax,%eax
14007c6ba:	0f 4f c8             	cmovg  %eax,%ecx
14007c6bd:	89 8b d0 05 00 00    	mov    %ecx,0x5d0(%rbx)
14007c6c3:	45 33 c0             	xor    %r8d,%r8d
14007c6c6:	48 8b 8b 50 05 00 00 	mov    0x550(%rbx),%rcx
14007c6cd:	33 d2                	xor    %edx,%edx
14007c6cf:	48 83 c4 20          	add    $0x20,%rsp
14007c6d3:	5b                   	pop    %rbx
14007c6d4:	48 ff 25 b5 8f 26 00 	rex.W jmp *0x268fb5(%rip)        # 0x1402e5690
14007c6db:	48 83 c4 20          	add    $0x20,%rsp
14007c6df:	5b                   	pop    %rbx
14007c6e0:	c3                   	ret
14007c6e1:	cc                   	int3
14007c6e2:	cc                   	int3
14007c6e3:	cc                   	int3
14007c6e4:	cc                   	int3
14007c6e5:	cc                   	int3
14007c6e6:	cc                   	int3
14007c6e7:	cc                   	int3
14007c6e8:	cc                   	int3
14007c6e9:	cc                   	int3
14007c6ea:	cc                   	int3
14007c6eb:	cc                   	int3
14007c6ec:	cc                   	int3
14007c6ed:	cc                   	int3
14007c6ee:	cc                   	int3
14007c6ef:	cc                   	int3
14007c6f0:	40 53                	rex push %rbx
14007c6f2:	48 83 ec 20          	sub    $0x20,%rsp
14007c6f6:	48 8b 59 f8          	mov    -0x8(%rcx),%rbx
14007c6fa:	48 8d 15 77 b4 32 00 	lea    0x32b477(%rip),%rdx        # 0x1403a7b78
14007c701:	48 8d 8b d8 05 00 00 	lea    0x5d8(%rbx),%rcx
14007c708:	e8 c3 04 02 00       	call   0x14009cbd0
14007c70d:	83 bb c0 05 00 00 03 	cmpl   $0x3,0x5c0(%rbx)
14007c714:	74 39                	je     0x14007c74f
14007c716:	8b 8b c8 05 00 00    	mov    0x5c8(%rbx),%ecx
14007c71c:	83 f9 01             	cmp    $0x1,%ecx
14007c71f:	7c 10                	jl     0x14007c731
14007c721:	8b 83 c4 05 00 00    	mov    0x5c4(%rbx),%eax
14007c727:	b9 01 00 00 00       	mov    $0x1,%ecx
14007c72c:	3b c1                	cmp    %ecx,%eax
14007c72e:	0f 4f c8             	cmovg  %eax,%ecx
14007c731:	89 8b d0 05 00 00    	mov    %ecx,0x5d0(%rbx)
14007c737:	45 33 c0             	xor    %r8d,%r8d
14007c73a:	48 8b 8b 50 05 00 00 	mov    0x550(%rbx),%rcx
14007c741:	33 d2                	xor    %edx,%edx
14007c743:	48 83 c4 20          	add    $0x20,%rsp
14007c747:	5b                   	pop    %rbx
14007c748:	48 ff 25 41 8f 26 00 	rex.W jmp *0x268f41(%rip)        # 0x1402e5690
14007c74f:	48 83 c4 20          	add    $0x20,%rsp
14007c753:	5b                   	pop    %rbx
14007c754:	c3                   	ret
14007c755:	cc                   	int3
14007c756:	cc                   	int3
14007c757:	cc                   	int3
14007c758:	cc                   	int3
14007c759:	cc                   	int3
14007c75a:	cc                   	int3
14007c75b:	cc                   	int3
14007c75c:	cc                   	int3
14007c75d:	cc                   	int3
14007c75e:	cc                   	int3
14007c75f:	cc                   	int3
14007c760:	49 8b 50 60          	mov    0x60(%r8),%rdx
14007c764:	4c 8b c9             	mov    %rcx,%r9
14007c767:	0f 57 c9             	xorps  %xmm1,%xmm1
14007c76a:	48 85 d2             	test   %rdx,%rdx
14007c76d:	78 07                	js     0x14007c776
14007c76f:	f2 48 0f 2a ca       	cvtsi2sd %rdx,%xmm1
14007c774:	eb 15                	jmp    0x14007c78b
14007c776:	48 8b c2             	mov    %rdx,%rax
14007c779:	83 e2 01             	and    $0x1,%edx
14007c77c:	48 d1 e8             	shr    $1,%rax
14007c77f:	48 0b c2             	or     %rdx,%rax
14007c782:	f2 48 0f 2a c8       	cvtsi2sd %rax,%xmm1
14007c787:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
14007c78b:	f2 0f 10 15 45 e5 32 	movsd  0x32e545(%rip),%xmm2        # 0x1403aacd8
14007c792:	00
14007c793:	66 0f 2f ca          	comisd %xmm2,%xmm1
14007c797:	0f 86 84 00 00 00    	jbe    0x14007c821
14007c79d:	49 8b 48 08          	mov    0x8(%r8),%rcx
14007c7a1:	0f 57 c0             	xorps  %xmm0,%xmm0
14007c7a4:	48 85 c9             	test   %rcx,%rcx
14007c7a7:	78 07                	js     0x14007c7b0
14007c7a9:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
14007c7ae:	eb 15                	jmp    0x14007c7c5
14007c7b0:	48 8b c1             	mov    %rcx,%rax
14007c7b3:	83 e1 01             	and    $0x1,%ecx
14007c7b6:	48 d1 e8             	shr    $1,%rax
14007c7b9:	48 0b c1             	or     %rcx,%rax
14007c7bc:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
14007c7c1:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
14007c7c5:	f2 0f 5e c1          	divsd  %xmm1,%xmm0
14007c7c9:	f2 0f 59 05 0f e5 32 	mulsd  0x32e50f(%rip),%xmm0        # 0x1403aace0
14007c7d0:	00
14007c7d1:	66 0f 2f c2          	comisd %xmm2,%xmm0
14007c7d5:	76 4a                	jbe    0x14007c821
14007c7d7:	f2 0f 2c d0          	cvttsd2si %xmm0,%edx
14007c7db:	85 d2                	test   %edx,%edx
14007c7dd:	78 42                	js     0x14007c821
14007c7df:	49 8b 49 f8          	mov    -0x8(%r9),%rcx
14007c7e3:	83 b9 c0 05 00 00 03 	cmpl   $0x3,0x5c0(%rcx)
14007c7ea:	74 35                	je     0x14007c821
14007c7ec:	44 8b 81 c8 05 00 00 	mov    0x5c8(%rcx),%r8d
14007c7f3:	41 3b d0             	cmp    %r8d,%edx
14007c7f6:	7f 0f                	jg     0x14007c807
14007c7f8:	8b 81 c4 05 00 00    	mov    0x5c4(%rcx),%eax
14007c7fe:	44 8b c2             	mov    %edx,%r8d
14007c801:	3b d0                	cmp    %eax,%edx
14007c803:	44 0f 4c c0          	cmovl  %eax,%r8d
14007c807:	44 89 81 d0 05 00 00 	mov    %r8d,0x5d0(%rcx)
14007c80e:	33 d2                	xor    %edx,%edx
14007c810:	48 8b 89 50 05 00 00 	mov    0x550(%rcx),%rcx
14007c817:	45 33 c0             	xor    %r8d,%r8d
14007c81a:	48 ff 25 6f 8e 26 00 	rex.W jmp *0x268e6f(%rip)        # 0x1402e5690
14007c821:	c3                   	ret
14007c822:	cc                   	int3
14007c823:	cc                   	int3
14007c824:	cc                   	int3
14007c825:	cc                   	int3
14007c826:	cc                   	int3
14007c827:	cc                   	int3
14007c828:	cc                   	int3
14007c829:	cc                   	int3
14007c82a:	cc                   	int3
14007c82b:	cc                   	int3
14007c82c:	cc                   	int3
14007c82d:	cc                   	int3
14007c82e:	cc                   	int3
14007c82f:	cc                   	int3
14007c830:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14007c835:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14007c83a:	57                   	push   %rdi
14007c83b:	48 83 ec 20          	sub    $0x20,%rsp
14007c83f:	41 8b 40 78          	mov    0x78(%r8),%eax
14007c843:	49 8b d8             	mov    %r8,%rbx
14007c846:	48 8b f9             	mov    %rcx,%rdi
14007c849:	83 f8 02             	cmp    $0x2,%eax
14007c84c:	0f 85 ed 00 00 00    	jne    0x14007c93f
14007c852:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14007c856:	48 8d 15 43 b4 32 00 	lea    0x32b443(%rip),%rdx        # 0x1403a7ca0
14007c85d:	48 81 c1 d8 05 00 00 	add    $0x5d8,%rcx
14007c864:	e8 67 03 02 00       	call   0x14009cbd0
14007c869:	48 8b 77 f8          	mov    -0x8(%rdi),%rsi
14007c86d:	48 83 eb 80          	sub    $0xffffffffffffff80,%rbx
14007c871:	48 83 7b 18 0f       	cmpq   $0xf,0x18(%rbx)
14007c876:	76 03                	jbe    0x14007c87b
14007c878:	48 8b 1b             	mov    (%rbx),%rbx
14007c87b:	48 8b 8e 40 07 00 00 	mov    0x740(%rsi),%rcx
14007c882:	ba f0 ff ff ff       	mov    $0xfffffff0,%edx
14007c887:	ff 15 ab 8d 26 00    	call   *0x268dab(%rip)        # 0x1402e5638
14007c88d:	48 8b 8e 40 07 00 00 	mov    0x740(%rsi),%rcx
14007c894:	ba f0 ff ff ff       	mov    $0xfffffff0,%edx
14007c899:	0f ba e8 1c          	bts    $0x1c,%eax
14007c89d:	44 8b c0             	mov    %eax,%r8d
14007c8a0:	ff 15 aa 8d 26 00    	call   *0x268daa(%rip)        # 0x1402e5650
14007c8a6:	48 8b 8e 40 07 00 00 	mov    0x740(%rsi),%rcx
14007c8ad:	45 33 c0             	xor    %r8d,%r8d