140768521:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
140768525:	48 89 45 10          	mov    %rax,0x10(%rbp)
140768529:	89 5d b0             	mov    %ebx,-0x50(%rbp)
14076852c:	48 89 5d b8          	mov    %rbx,-0x48(%rbp)
140768530:	48 89 5d c0          	mov    %rbx,-0x40(%rbp)
140768534:	b9 18 00 00 00       	mov    $0x18,%ecx
140768539:	e8 ca 2b 6b 00       	call   0x140e1b108
14076853e:	48 89 00             	mov    %rax,(%rax)
140768541:	48 89 40 08          	mov    %rax,0x8(%rax)
140768545:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
140768549:	48 89 5d c8          	mov    %rbx,-0x38(%rbp)
14076854d:	0f 57 c0             	xorps  %xmm0,%xmm0
140768550:	66 0f 7f 45 d0       	movdqa %xmm0,-0x30(%rbp)
140768555:	48 c7 45 e0 07 00 00 	movq   $0x7,-0x20(%rbp)
14076855c:	00
14076855d:	48 c7 45 e8 08 00 00 	movq   $0x8,-0x18(%rbp)
140768564:	00
140768565:	c7 45 b0 00 00 80 3f 	movl   $0x3f800000,-0x50(%rbp)
14076856c:	4c 8b c0             	mov    %rax,%r8
14076856f:	ba 10 00 00 00       	mov    $0x10,%edx
140768574:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
140768578:	e8 03 45 c2 ff       	call   0x14038ca80
14076857d:	90                   	nop
14076857e:	89 5d f0             	mov    %ebx,-0x10(%rbp)
140768581:	48 8d 4d a0          	lea    -0x60(%rbp),%rcx
140768585:	e8 16 e2 fe ff       	call   0x1407567a0
14076858a:	90                   	nop
14076858b:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
14076858f:	48 85 c9             	test   %rcx,%rcx
140768592:	74 49                	je     0x1407685dd
140768594:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
140768598:	48 2b c1             	sub    %rcx,%rax
14076859b:	48 c1 f8 03          	sar    $0x3,%rax
14076859f:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
1407685a6:	00
1407685a7:	48 8b c1             	mov    %rcx,%rax
1407685aa:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1407685b1:	72 19                	jb     0x1407685cc
1407685b3:	48 83 c2 27          	add    $0x27,%rdx
1407685b7:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1407685bb:	48 2b c1             	sub    %rcx,%rax
1407685be:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1407685c2:	48 83 f8 1f          	cmp    $0x1f,%rax
1407685c6:	0f 87 97 00 00 00    	ja     0x140768663
1407685cc:	e8 73 2b 6b 00       	call   0x140e1b144
1407685d1:	48 89 5d c8          	mov    %rbx,-0x38(%rbp)
1407685d5:	0f 57 c0             	xorps  %xmm0,%xmm0
1407685d8:	66 0f 7f 45 d0       	movdqa %xmm0,-0x30(%rbp)
1407685dd:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
1407685e1:	48 8b 41 08          	mov    0x8(%rcx),%rax
1407685e5:	48 89 18             	mov    %rbx,(%rax)
1407685e8:	48 8b 09             	mov    (%rcx),%rcx
1407685eb:	48 85 c9             	test   %rcx,%rcx
1407685ee:	74 15                	je     0x140768605
1407685f0:	48 8b 19             	mov    (%rcx),%rbx
1407685f3:	ba 18 00 00 00       	mov    $0x18,%edx
1407685f8:	e8 47 2b 6b 00       	call   0x140e1b144
1407685fd:	48 8b cb             	mov    %rbx,%rcx
140768600:	48 85 db             	test   %rbx,%rbx
140768603:	75 eb                	jne    0x1407685f0
140768605:	ba 18 00 00 00       	mov    $0x18,%edx
14076860a:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
14076860e:	e8 31 2b 6b 00       	call   0x140e1b144
140768613:	48 8d 05 0e 02 8b 00 	lea    0x8b020e(%rip),%rax        # 0x141018828
14076861a:	48 89 45 a0          	mov    %rax,-0x60(%rbp)
14076861e:	48 8b 4d a8          	mov    -0x58(%rbp),%rcx
140768622:	48 85 c9             	test   %rcx,%rcx
140768625:	74 20                	je     0x140768647
140768627:	8b 41 10             	mov    0x10(%rcx),%eax
14076862a:	ff c8                	dec    %eax
14076862c:	89 41 10             	mov    %eax,0x10(%rcx)
14076862f:	85 c0                	test   %eax,%eax
140768631:	7f 14                	jg     0x140768647
140768633:	78 23                	js     0x140768658
140768635:	48 8b 01             	mov    (%rcx),%rax
140768638:	ba 01 00 00 00       	mov    $0x1,%edx
14076863d:	48 8b 00             	mov    (%rax),%rax
140768640:	ff 15 da b3 81 00    	call   *0x81b3da(%rip)        # 0x140f83a20
140768646:	90                   	nop
140768647:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
14076864e:	00
14076864f:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
140768656:	5d                   	pop    %rbp
140768657:	c3                   	ret
140768658:	b9 02 00 00 00       	mov    $0x2,%ecx
14076865d:	e8 9e 20 02 00       	call   0x14078a700
140768662:	90                   	nop
140768663:	e8 3c 1b 6c 00       	call   0x140e2a1a4
140768668:	cc                   	int3
140768669:	cc                   	int3
14076866a:	cc                   	int3
14076866b:	cc                   	int3
14076866c:	cc                   	int3
14076866d:	cc                   	int3
14076866e:	cc                   	int3
14076866f:	cc                   	int3
140768670:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140768675:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14076867a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14076867f:	57                   	push   %rdi
140768680:	41 54                	push   %r12
140768682:	41 55                	push   %r13
140768684:	41 56                	push   %r14
140768686:	41 57                	push   %r15
140768688:	48 83 ec 30          	sub    $0x30,%rsp
14076868c:	49 8b f0             	mov    %r8,%rsi
14076868f:	4c 8b f2             	mov    %rdx,%r14
140768692:	48 8b e9             	mov    %rcx,%rbp
140768695:	45 0f b6 28          	movzbl (%r8),%r13d
140768699:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1407686a0:	9c f2 cb
1407686a3:	4c 33 e8             	xor    %rax,%r13
1407686a6:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
1407686ad:	01 00 00
1407686b0:	4c 0f af e9          	imul   %rcx,%r13
1407686b4:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
1407686b9:	4c 33 e8             	xor    %rax,%r13
1407686bc:	4c 0f af e9          	imul   %rcx,%r13
1407686c0:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
1407686c5:	4c 33 e8             	xor    %rax,%r13
1407686c8:	4c 0f af e9          	imul   %rcx,%r13
1407686cc:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
1407686d1:	4c 33 e8             	xor    %rax,%r13
1407686d4:	4c 0f af e9          	imul   %rcx,%r13
1407686d8:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
1407686dd:	4c 33 e8             	xor    %rax,%r13
1407686e0:	4c 0f af e9          	imul   %rcx,%r13
1407686e4:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
1407686e9:	4c 33 e8             	xor    %rax,%r13
1407686ec:	4c 0f af e9          	imul   %rcx,%r13
1407686f0:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
1407686f5:	4c 33 e8             	xor    %rax,%r13
1407686f8:	4c 0f af e9          	imul   %rcx,%r13
1407686fc:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140768701:	4c 33 e8             	xor    %rax,%r13
140768704:	4c 0f af e9          	imul   %rcx,%r13
140768708:	49 8b cd             	mov    %r13,%rcx
14076870b:	48 23 4d 30          	and    0x30(%rbp),%rcx
14076870f:	48 03 c9             	add    %rcx,%rcx
140768712:	48 8b 45 18          	mov    0x18(%rbp),%rax
140768716:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
14076871b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
14076871f:	4c 8b 22             	mov    (%rdx),%r12
140768722:	49 3b dc             	cmp    %r12,%rbx
140768725:	75 08                	jne    0x14076872f
140768727:	49 8b dc             	mov    %r12,%rbx
14076872a:	4d 8b fc             	mov    %r12,%r15
14076872d:	eb 4e                	jmp    0x14076877d
14076872f:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140768733:	49 8b 00             	mov    (%r8),%rax
140768736:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14076873a:	74 13                	je     0x14076874f
14076873c:	0f 1f 40 00          	nopl   0x0(%rax)
140768740:	48 3b d9             	cmp    %rcx,%rbx
140768743:	74 32                	je     0x140768777
140768745:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140768749:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14076874d:	75 f1                	jne    0x140768740
14076874f:	49 89 1e             	mov    %rbx,(%r14)
140768752:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140768757:	49 8b c6             	mov    %r14,%rax
14076875a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14076875f:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140768764:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140768769:	48 83 c4 30          	add    $0x30,%rsp
14076876d:	41 5f                	pop    %r15
14076876f:	41 5e                	pop    %r14
140768771:	41 5d                	pop    %r13
140768773:	41 5c                	pop    %r12
140768775:	5f                   	pop    %rdi
140768776:	c3                   	ret
140768777:	4c 8b e3             	mov    %rbx,%r12
14076877a:	4c 8b fb             	mov    %rbx,%r15
14076877d:	48 b8 ba e8 a2 8b 2e 	movabs $0x2e8ba2e8ba2e8ba,%rax
140768784:	ba e8 02
140768787:	48 39 45 10          	cmp    %rax,0x10(%rbp)
14076878b:	0f 84 09 02 00 00    	je     0x14076899a
140768791:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140768796:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14076879d:	00 00
14076879f:	b9 58 00 00 00       	mov    $0x58,%ecx
1407687a4:	e8 5f 29 6b 00       	call   0x140e1b108
1407687a9:	48 8b f8             	mov    %rax,%rdi
1407687ac:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1407687b1:	48 8b 0e             	mov    (%rsi),%rcx
1407687b4:	48 89 48 10          	mov    %rcx,0x10(%rax)
1407687b8:	33 c9                	xor    %ecx,%ecx
1407687ba:	48 89 48 20          	mov    %rcx,0x20(%rax)
1407687be:	48 89 48 28          	mov    %rcx,0x28(%rax)
1407687c2:	48 89 48 30          	mov    %rcx,0x30(%rax)
1407687c6:	48 89 48 38          	mov    %rcx,0x38(%rax)
1407687ca:	48 89 48 40          	mov    %rcx,0x40(%rax)
1407687ce:	48 89 48 48          	mov    %rcx,0x48(%rax)
1407687d2:	48 89 48 50          	mov    %rcx,0x50(%rax)
1407687d6:	48 8d 05 7b e5 8b 00 	lea    0x8be57b(%rip),%rax        # 0x141026d58
1407687dd:	48 89 47 18          	mov    %rax,0x18(%rdi)
1407687e1:	0f 57 c0             	xorps  %xmm0,%xmm0
1407687e4:	0f 11 47 20          	movups %xmm0,0x20(%rdi)
1407687e8:	48 89 4f 30          	mov    %rcx,0x30(%rdi)
1407687ec:	48 c7 47 38 0f 00 00 	movq   $0xf,0x38(%rdi)
1407687f3:	00
1407687f4:	88 4f 20             	mov    %cl,0x20(%rdi)
1407687f7:	48 89 4f 40          	mov    %rcx,0x40(%rdi)
1407687fb:	48 89 4f 48          	mov    %rcx,0x48(%rdi)
1407687ff:	48 89 4f 50          	mov    %rcx,0x50(%rdi)
140768803:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140768807:	48 83 c1 01          	add    $0x1,%rcx
14076880b:	0f 57 c0             	xorps  %xmm0,%xmm0
14076880e:	78 07                	js     0x140768817
140768810:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140768815:	eb 15                	jmp    0x14076882c
140768817:	48 8b c1             	mov    %rcx,%rax
14076881a:	48 d1 e8             	shr    $1,%rax
14076881d:	83 e1 01             	and    $0x1,%ecx
140768820:	48 0b c1             	or     %rcx,%rax
140768823:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140768828:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14076882c:	48 8b 75 38          	mov    0x38(%rbp),%rsi
140768830:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
140768835:	0f 57 d2             	xorps  %xmm2,%xmm2
140768838:	48 85 f6             	test   %rsi,%rsi
14076883b:	78 07                	js     0x140768844
14076883d:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
140768842:	eb 18                	jmp    0x14076885c
140768844:	48 8b ce             	mov    %rsi,%rcx
140768847:	48 d1 e9             	shr    $1,%rcx
14076884a:	48 8b c6             	mov    %rsi,%rax
14076884d:	83 e0 01             	and    $0x1,%eax
140768850:	48 0b c8             	or     %rax,%rcx
140768853:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140768858:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14076885c:	0f 28 c8             	movaps %xmm0,%xmm1
14076885f:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140768863:	0f 2f cb             	comiss %xmm3,%xmm1
140768866:	0f 86 c6 00 00 00    	jbe    0x140768932
14076886c:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140768870:	e8 ab 88 6c 00       	call   0x140e31120
140768875:	33 c9                	xor    %ecx,%ecx
140768877:	f3 0f 10 0d e5 5d 84 	movss  0x845de5(%rip),%xmm1        # 0x140fae664
14076887e:	00
14076887f:	0f 2f c1             	comiss %xmm1,%xmm0
140768882:	72 16                	jb     0x14076889a
140768884:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140768888:	0f 2f c1             	comiss %xmm1,%xmm0
14076888b:	73 0d                	jae    0x14076889a
14076888d:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140768894:	00 00 80
140768897:	48 8b c8             	mov    %rax,%rcx
14076889a:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14076889f:	48 03 c1             	add    %rcx,%rax
1407688a2:	b9 08 00 00 00       	mov    $0x8,%ecx
1407688a7:	48 3b c1             	cmp    %rcx,%rax
1407688aa:	48 0f 47 c8          	cmova  %rax,%rcx
1407688ae:	48 3b f1             	cmp    %rcx,%rsi
1407688b1:	73 19                	jae    0x1407688cc
1407688b3:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
1407688ba:	73 0d                	jae    0x1407688c9
1407688bc:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
1407688c3:	00
1407688c4:	48 3b f1             	cmp    %rcx,%rsi
1407688c7:	73 03                	jae    0x1407688cc
1407688c9:	48 8b f1             	mov    %rcx,%rsi
1407688cc:	48 8b d6             	mov    %rsi,%rdx
1407688cf:	48 8b cd             	mov    %rbp,%rcx
1407688d2:	e8 b9 2d ef ff       	call   0x14065b690
1407688d7:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
1407688db:	49 23 cd             	and    %r13,%rcx
1407688de:	48 03 c9             	add    %rcx,%rcx
1407688e1:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1407688e5:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
1407688ea:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
1407688ee:	48 3b c3             	cmp    %rbx,%rax
1407688f1:	75 0b                	jne    0x1407688fe
1407688f3:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1407688fa:	00 00
1407688fc:	eb 27                	jmp    0x140768925
1407688fe:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140768902:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140768906:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14076890a:	74 16                	je     0x140768922
14076890c:	0f 1f 40 00          	nopl   0x0(%rax)
140768910:	48 8b d8             	mov    %rax,%rbx
140768913:	48 3b c2             	cmp    %rdx,%rax
140768916:	74 4e                	je     0x140768966
140768918:	48 8b 40 08          	mov    0x8(%rax),%rax
14076891c:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140768920:	75 ee                	jne    0x140768910
140768922:	48 8b 18             	mov    (%rax),%rbx
140768925:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14076892a:	4c 8b fb             	mov    %rbx,%r15
14076892d:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
140768932:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140768936:	48 ff 45 10          	incq   0x10(%rbp)
14076893a:	4c 89 27             	mov    %r12,(%rdi)
14076893d:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140768941:	48 89 3a             	mov    %rdi,(%rdx)
140768944:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140768948:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
14076894c:	48 8b 45 30          	mov    0x30(%rbp),%rax
140768950:	49 23 c5             	and    %r13,%rax
140768953:	48 03 c0             	add    %rax,%rax
140768956:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
14076895a:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
14076895e:	75 16                	jne    0x140768976
140768960:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140768964:	eb 22                	jmp    0x140768988
140768966:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14076896b:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140768972:	00 00
140768974:	eb b4                	jmp    0x14076892a
140768976:	4d 3b c7             	cmp    %r15,%r8
140768979:	75 06                	jne    0x140768981
14076897b:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14076897f:	eb 0c                	jmp    0x14076898d
140768981:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140768986:	75 05                	jne    0x14076898d
140768988:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
14076898d:	49 89 3e             	mov    %rdi,(%r14)
140768990:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140768995:	e9 bd fd ff ff       	jmp    0x140768757
14076899a:	48 8d 0d ff 5a 84 00 	lea    0x845aff(%rip),%rcx        # 0x140fae4a0
1407689a1:	e8 0e 2a 69 00       	call   0x140dfb3b4
1407689a6:	cc                   	int3
1407689a7:	cc                   	int3
1407689a8:	cc                   	int3
1407689a9:	cc                   	int3
1407689aa:	cc                   	int3
1407689ab:	cc                   	int3
1407689ac:	cc                   	int3
1407689ad:	cc                   	int3
1407689ae:	cc                   	int3
1407689af:	cc                   	int3
1407689b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1407689b5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1407689ba:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1407689bf:	57                   	push   %rdi
1407689c0:	41 54                	push   %r12
1407689c2:	41 55                	push   %r13
1407689c4:	41 56                	push   %r14
1407689c6:	41 57                	push   %r15
1407689c8:	48 83 ec 30          	sub    $0x30,%rsp
1407689cc:	49 8b e8             	mov    %r8,%rbp
1407689cf:	4c 8b fa             	mov    %rdx,%r15
1407689d2:	4c 8b f1             	mov    %rcx,%r14
1407689d5:	41 0f b6 30          	movzbl (%r8),%esi
1407689d9:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1407689e0:	9c f2 cb
1407689e3:	48 33 f0             	xor    %rax,%rsi
1407689e6:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
1407689ed:	01 00 00