1406114e2:	49 2b c8             	sub    %r8,%rcx
1406114e5:	48 f7 e9             	imul   %rcx
1406114e8:	48 c1 fa 05          	sar    $0x5,%rdx
1406114ec:	48 8b c2             	mov    %rdx,%rax
1406114ef:	48 c1 e8 3f          	shr    $0x3f,%rax
1406114f3:	48 03 d0             	add    %rax,%rdx
1406114f6:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
1406114fa:	48 c1 e2 04          	shl    $0x4,%rdx
1406114fe:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140611505:	72 1c                	jb     0x140611523
140611507:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
14061150b:	48 83 c2 27          	add    $0x27,%rdx
14061150f:	4c 2b c1             	sub    %rcx,%r8
140611512:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140611516:	48 83 f8 1f          	cmp    $0x1f,%rax
14061151a:	0f 87 88 00 00 00    	ja     0x1406115a8
140611520:	4c 8b c1             	mov    %rcx,%r8
140611523:	49 8b c8             	mov    %r8,%rcx
140611526:	e8 19 9c 80 00       	call   0x140e1b144
14061152b:	48 89 3e             	mov    %rdi,(%rsi)
14061152e:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140611532:	48 89 7e 10          	mov    %rdi,0x10(%rsi)
140611536:	4d 3b f7             	cmp    %r15,%r14
140611539:	77 73                	ja     0x1406115ae
14061153b:	4b 8d 1c b6          	lea    (%r14,%r14,4),%rbx
14061153f:	48 c1 e3 04          	shl    $0x4,%rbx
140611543:	48 85 db             	test   %rbx,%rbx
140611546:	74 35                	je     0x14061157d
140611548:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
14061154f:	72 21                	jb     0x140611572
140611551:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
140611555:	48 3b cb             	cmp    %rbx,%rcx
140611558:	76 54                	jbe    0x1406115ae
14061155a:	e8 a9 9b 80 00       	call   0x140e1b108
14061155f:	48 85 c0             	test   %rax,%rax
140611562:	74 44                	je     0x1406115a8
140611564:	48 8d 78 27          	lea    0x27(%rax),%rdi
140611568:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
14061156c:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
140611570:	eb 0b                	jmp    0x14061157d
140611572:	48 8b cb             	mov    %rbx,%rcx
140611575:	e8 8e 9b 80 00       	call   0x140e1b108
14061157a:	48 8b f8             	mov    %rax,%rdi
14061157d:	4c 8b 64 24 58       	mov    0x58(%rsp),%r12
140611582:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
140611586:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14061158b:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
140611590:	48 89 3e             	mov    %rdi,(%rsi)
140611593:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140611597:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
14061159c:	48 89 46 10          	mov    %rax,0x10(%rsi)
1406115a0:	48 83 c4 28          	add    $0x28,%rsp
1406115a4:	41 5f                	pop    %r15
1406115a6:	5e                   	pop    %rsi
1406115a7:	c3                   	ret
1406115a8:	e8 f7 8b 81 00       	call   0x140e2a1a4
1406115ad:	cc                   	int3
1406115ae:	e8 dd bb b8 ff       	call   0x14019d190
1406115b3:	cc                   	int3
1406115b4:	e8 d7 bf b8 ff       	call   0x14019d590
1406115b9:	cc                   	int3
1406115ba:	cc                   	int3
1406115bb:	cc                   	int3
1406115bc:	cc                   	int3
1406115bd:	cc                   	int3
1406115be:	cc                   	int3
1406115bf:	cc                   	int3
1406115c0:	40 53                	rex push %rbx
1406115c2:	48 83 ec 20          	sub    $0x20,%rsp
1406115c6:	48 8b d9             	mov    %rcx,%rbx
1406115c9:	48 8b 09             	mov    (%rcx),%rcx
1406115cc:	48 85 c9             	test   %rcx,%rcx
1406115cf:	74 6c                	je     0x14061163d
1406115d1:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1406115d5:	4c 8b c3             	mov    %rbx,%r8
1406115d8:	e8 f3 76 fa ff       	call   0x1405b8cd0
1406115dd:	48 8b 0b             	mov    (%rbx),%rcx
1406115e0:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1406115e7:	aa aa 2a
1406115ea:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1406115ee:	48 2b d1             	sub    %rcx,%rdx
1406115f1:	48 f7 ea             	imul   %rdx
1406115f4:	48 c1 fa 04          	sar    $0x4,%rdx
1406115f8:	48 8b c2             	mov    %rdx,%rax
1406115fb:	48 c1 e8 3f          	shr    $0x3f,%rax
1406115ff:	48 03 d0             	add    %rax,%rdx
140611602:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140611606:	48 c1 e2 05          	shl    $0x5,%rdx
14061160a:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140611611:	72 18                	jb     0x14061162b
140611613:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140611617:	48 83 c2 27          	add    $0x27,%rdx
14061161b:	49 2b c8             	sub    %r8,%rcx
14061161e:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140611622:	48 83 f8 1f          	cmp    $0x1f,%rax
140611626:	77 1b                	ja     0x140611643
140611628:	49 8b c8             	mov    %r8,%rcx
14061162b:	e8 14 9b 80 00       	call   0x140e1b144
140611630:	33 c0                	xor    %eax,%eax
140611632:	48 89 03             	mov    %rax,(%rbx)
140611635:	48 89 43 08          	mov    %rax,0x8(%rbx)
140611639:	48 89 43 10          	mov    %rax,0x10(%rbx)
14061163d:	48 83 c4 20          	add    $0x20,%rsp
140611641:	5b                   	pop    %rbx
140611642:	c3                   	ret
140611643:	e8 5c 8b 81 00       	call   0x140e2a1a4
140611648:	cc                   	int3
140611649:	cc                   	int3
14061164a:	cc                   	int3
14061164b:	cc                   	int3
14061164c:	cc                   	int3
14061164d:	cc                   	int3
14061164e:	cc                   	int3
14061164f:	cc                   	int3
140611650:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140611655:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14061165a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14061165f:	57                   	push   %rdi
140611660:	48 83 ec 20          	sub    $0x20,%rsp
140611664:	48 8b 41 30          	mov    0x30(%rcx),%rax
140611668:	49 8b e9             	mov    %r9,%rbp
14061166b:	49 8b f8             	mov    %r8,%rdi
14061166e:	48 8b da             	mov    %rdx,%rbx
140611671:	48 8b f1             	mov    %rcx,%rsi
140611674:	4c 8b 50 08          	mov    0x8(%rax),%r10
140611678:	4c 2b 10             	sub    (%rax),%r10
14061167b:	49 c1 fa 04          	sar    $0x4,%r10
14061167f:	41 8b c2             	mov    %r10d,%eax
140611682:	48 3b c2             	cmp    %rdx,%rax
140611685:	77 07                	ja     0x14061168e
140611687:	ff c2                	inc    %edx
140611689:	e8 72 fb 12 00       	call   0x140741200
14061168e:	48 8b 46 30          	mov    0x30(%rsi),%rax
140611692:	48 8b cd             	mov    %rbp,%rcx
140611695:	48 c1 e3 04          	shl    $0x4,%rbx
140611699:	48 03 18             	add    (%rax),%rbx
14061169c:	e8 bf 69 10 00       	call   0x140718060
1406116a1:	0f b6 4b 08          	movzbl 0x8(%rbx),%ecx
1406116a5:	84 c0                	test   %al,%al
1406116a7:	75 22                	jne    0x1406116cb
1406116a9:	84 c9                	test   %cl,%cl
1406116ab:	75 04                	jne    0x1406116b1
1406116ad:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
1406116b1:	48 89 3b             	mov    %rdi,(%rbx)
1406116b4:	b0 01                	mov    $0x1,%al
1406116b6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1406116bb:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1406116c0:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1406116c5:	48 83 c4 20          	add    $0x20,%rsp
1406116c9:	5f                   	pop    %rdi
1406116ca:	c3                   	ret
1406116cb:	84 c9                	test   %cl,%cl
1406116cd:	74 27                	je     0x1406116f6
1406116cf:	48 8b 0b             	mov    (%rbx),%rcx
1406116d2:	48 85 c9             	test   %rcx,%rcx
1406116d5:	74 1f                	je     0x1406116f6
1406116d7:	8b 41 10             	mov    0x10(%rcx),%eax
1406116da:	ff c8                	dec    %eax
1406116dc:	89 41 10             	mov    %eax,0x10(%rcx)
1406116df:	85 c0                	test   %eax,%eax
1406116e1:	7f 13                	jg     0x1406116f6
1406116e3:	78 54                	js     0x140611739
1406116e5:	48 8b 01             	mov    (%rcx),%rax
1406116e8:	ba 01 00 00 00       	mov    $0x1,%edx
1406116ed:	48 8b 00             	mov    (%rax),%rax
1406116f0:	ff 15 2a 23 97 00    	call   *0x97232a(%rip)        # 0x140f83a20
1406116f6:	80 7b 08 00          	cmpb   $0x0,0x8(%rbx)
1406116fa:	75 04                	jne    0x140611700
1406116fc:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140611700:	48 89 3b             	mov    %rdi,(%rbx)
140611703:	48 85 ff             	test   %rdi,%rdi
140611706:	75 08                	jne    0x140611710
140611708:	40 88 7b 08          	mov    %dil,0x8(%rbx)
14061170c:	32 c0                	xor    %al,%al
14061170e:	eb a6                	jmp    0x1406116b6
140611710:	8b 47 10             	mov    0x10(%rdi),%eax
140611713:	ff c0                	inc    %eax
140611715:	89 47 10             	mov    %eax,0x10(%rdi)
140611718:	83 f8 01             	cmp    $0x1,%eax
14061171b:	7e 09                	jle    0x140611726
14061171d:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140611722:	74 0a                	je     0x14061172e
140611724:	eb 8e                	jmp    0x1406116b4
140611726:	33 c9                	xor    %ecx,%ecx
140611728:	e8 d3 8f 17 00       	call   0x14078a700
14061172d:	cc                   	int3
14061172e:	b9 01 00 00 00       	mov    $0x1,%ecx
140611733:	e8 c8 8f 17 00       	call   0x14078a700
140611738:	cc                   	int3
140611739:	b9 02 00 00 00       	mov    $0x2,%ecx
14061173e:	e8 bd 8f 17 00       	call   0x14078a700
140611743:	cc                   	int3
140611744:	cc                   	int3
140611745:	cc                   	int3
140611746:	cc                   	int3
140611747:	cc                   	int3
140611748:	cc                   	int3
140611749:	cc                   	int3
14061174a:	cc                   	int3
14061174b:	cc                   	int3
14061174c:	cc                   	int3
14061174d:	cc                   	int3
14061174e:	cc                   	int3
14061174f:	cc                   	int3
140611750:	48 83 ec 28          	sub    $0x28,%rsp
140611754:	48 8b c2             	mov    %rdx,%rax
140611757:	4b 8d 14 80          	lea    (%r8,%r8,4),%rdx
14061175b:	48 c1 e2 04          	shl    $0x4,%rdx
14061175f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140611766:	72 18                	jb     0x140611780
140611768:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
14061176c:	48 83 c2 27          	add    $0x27,%rdx
140611770:	48 2b c1             	sub    %rcx,%rax
140611773:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140611777:	48 83 f8 1f          	cmp    $0x1f,%rax
14061177b:	77 0f                	ja     0x14061178c
14061177d:	48 8b c1             	mov    %rcx,%rax
140611780:	48 8b c8             	mov    %rax,%rcx
140611783:	48 83 c4 28          	add    $0x28,%rsp
140611787:	e9 b8 99 80 00       	jmp    0x140e1b144
14061178c:	e8 13 8a 81 00       	call   0x140e2a1a4
140611791:	cc                   	int3
140611792:	cc                   	int3
140611793:	cc                   	int3
140611794:	cc                   	int3
140611795:	cc                   	int3
140611796:	cc                   	int3
140611797:	cc                   	int3
140611798:	cc                   	int3
140611799:	cc                   	int3
14061179a:	cc                   	int3
14061179b:	cc                   	int3
14061179c:	cc                   	int3
14061179d:	cc                   	int3
14061179e:	cc                   	int3
14061179f:	cc                   	int3
1406117a0:	48 8b 41 08          	mov    0x8(%rcx),%rax
1406117a4:	48 39 01             	cmp    %rax,(%rcx)
1406117a7:	0f 94 c0             	sete   %al
1406117aa:	c3                   	ret
1406117ab:	cc                   	int3
1406117ac:	cc                   	int3
1406117ad:	cc                   	int3
1406117ae:	cc                   	int3
1406117af:	cc                   	int3
1406117b0:	4c 8b 09             	mov    (%rcx),%r9
1406117b3:	49 8b c9             	mov    %r9,%rcx
1406117b6:	49 8b 41 08          	mov    0x8(%r9),%rax
1406117ba:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1406117be:	75 1e                	jne    0x1406117de
1406117c0:	f2 41 0f 10 00       	movsd  (%r8),%xmm0
1406117c5:	66 0f 2f 40 20       	comisd 0x20(%rax),%xmm0
1406117ca:	76 06                	jbe    0x1406117d2
1406117cc:	48 8b 40 10          	mov    0x10(%rax),%rax
1406117d0:	eb 06                	jmp    0x1406117d8
1406117d2:	48 8b c8             	mov    %rax,%rcx
1406117d5:	48 8b 00             	mov    (%rax),%rax
1406117d8:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1406117dc:	74 e7                	je     0x1406117c5
1406117de:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
1406117e2:	75 13                	jne    0x1406117f7
1406117e4:	f2 0f 10 41 20       	movsd  0x20(%rcx),%xmm0
1406117e9:	66 41 0f 2f 00       	comisd (%r8),%xmm0
1406117ee:	77 07                	ja     0x1406117f7
1406117f0:	48 89 0a             	mov    %rcx,(%rdx)
1406117f3:	48 8b c2             	mov    %rdx,%rax
1406117f6:	c3                   	ret
1406117f7:	4c 89 0a             	mov    %r9,(%rdx)
1406117fa:	48 8b c2             	mov    %rdx,%rax
1406117fd:	c3                   	ret
1406117fe:	cc                   	int3
1406117ff:	cc                   	int3
140611800:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140611805:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14061180a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14061180f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140611814:	41 56                	push   %r14
140611816:	48 83 ec 20          	sub    $0x20,%rsp
14061181a:	4c 8b 31             	mov    (%rcx),%r14
14061181d:	49 8b e8             	mov    %r8,%rbp
140611820:	48 8b f2             	mov    %rdx,%rsi
140611823:	49 8b fe             	mov    %r14,%rdi
140611826:	49 8b 5e 08          	mov    0x8(%r14),%rbx
14061182a:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
14061182e:	75 22                	jne    0x140611852
140611830:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140611834:	48 8b d5             	mov    %rbp,%rdx
140611837:	e8 d4 ed bb ff       	call   0x1401d0610
14061183c:	84 c0                	test   %al,%al
14061183e:	79 06                	jns    0x140611846
140611840:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
140611844:	eb 06                	jmp    0x14061184c
140611846:	48 8b fb             	mov    %rbx,%rdi
140611849:	48 8b 1b             	mov    (%rbx),%rbx
14061184c:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140611850:	74 de                	je     0x140611830
140611852:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140611856:	75 15                	jne    0x14061186d
140611858:	48 8d 57 20          	lea    0x20(%rdi),%rdx
14061185c:	48 8b cd             	mov    %rbp,%rcx
14061185f:	e8 ac ed bb ff       	call   0x1401d0610
140611864:	84 c0                	test   %al,%al
140611866:	78 05                	js     0x14061186d
140611868:	48 89 3e             	mov    %rdi,(%rsi)
14061186b:	eb 03                	jmp    0x140611870
14061186d:	4c 89 36             	mov    %r14,(%rsi)
140611870:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140611875:	48 8b c6             	mov    %rsi,%rax
140611878:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14061187d:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140611882:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140611887:	48 83 c4 20          	add    $0x20,%rsp
14061188b:	41 5e                	pop    %r14
14061188d:	c3                   	ret
14061188e:	cc                   	int3
14061188f:	cc                   	int3
140611890:	4c 8b 11             	mov    (%rcx),%r10
140611893:	49 8b ca             	mov    %r10,%rcx
140611896:	49 8b 42 08          	mov    0x8(%r10),%rax
14061189a:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
14061189e:	75 1b                	jne    0x1406118bb
1406118a0:	4d 8b 08             	mov    (%r8),%r9
1406118a3:	4c 39 48 20          	cmp    %r9,0x20(%rax)
1406118a7:	7d 06                	jge    0x1406118af
1406118a9:	48 8b 40 10          	mov    0x10(%rax),%rax
1406118ad:	eb 06                	jmp    0x1406118b5
1406118af:	48 8b c8             	mov    %rax,%rcx
1406118b2:	48 8b 00             	mov    (%rax),%rax
1406118b5:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1406118b9:	74 e8                	je     0x1406118a3
1406118bb:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
1406118bf:	75 10                	jne    0x1406118d1
1406118c1:	48 8b 41 20          	mov    0x20(%rcx),%rax
1406118c5:	49 39 00             	cmp    %rax,(%r8)
1406118c8:	7c 07                	jl     0x1406118d1
1406118ca:	48 89 0a             	mov    %rcx,(%rdx)
1406118cd:	48 8b c2             	mov    %rdx,%rax
1406118d0:	c3                   	ret
1406118d1:	4c 89 12             	mov    %r10,(%rdx)
1406118d4:	48 8b c2             	mov    %rdx,%rax
1406118d7:	c3                   	ret
1406118d8:	cc                   	int3
1406118d9:	cc                   	int3
1406118da:	cc                   	int3
1406118db:	cc                   	int3
1406118dc:	cc                   	int3
1406118dd:	cc                   	int3
1406118de:	cc                   	int3
1406118df:	cc                   	int3
1406118e0:	4c 8b 11             	mov    (%rcx),%r10