140744623:	0f 84 3b 05 00 00    	je     0x140744b64
140744629:	8d 4b fe             	lea    -0x2(%rbx),%ecx
14074462c:	83 f9 02             	cmp    $0x2,%ecx
14074462f:	76 08                	jbe    0x140744639
140744631:	8d 4a fe             	lea    -0x2(%rdx),%ecx
140744634:	83 f9 02             	cmp    $0x2,%ecx
140744637:	77 12                	ja     0x14074464b
140744639:	45 84 e4             	test   %r12b,%r12b
14074463c:	0f 84 8b 00 00 00    	je     0x1407446cd
140744642:	83 fa 0e             	cmp    $0xe,%edx
140744645:	0f 85 82 00 00 00    	jne    0x1407446cd
14074464b:	4d 3b f7             	cmp    %r15,%r14
14074464e:	74 6f                	je     0x1407446bf
140744650:	41 b1 01             	mov    $0x1,%r9b
140744653:	45 0f b6 c4          	movzbl %r12b,%r8d
140744657:	49 8b d7             	mov    %r15,%rdx
14074465a:	49 8b ce             	mov    %r14,%rcx
14074465d:	e8 9e ef 00 00       	call   0x140753600
140744662:	84 c0                	test   %al,%al
140744664:	75 59                	jne    0x1407446bf
140744666:	48 8b 45 50          	mov    0x50(%rbp),%rax
14074466a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14074466f:	45 33 c9             	xor    %r9d,%r9d
140744672:	4c 8b 07             	mov    (%rdi),%r8
140744675:	48 8d 15 d4 f6 8d 00 	lea    0x8df6d4(%rip),%rdx        # 0x141023d50
14074467c:	49 8b ce             	mov    %r14,%rcx
14074467f:	e8 3c 5c 04 00       	call   0x14078a2c0
140744684:	4c 89 2e             	mov    %r13,(%rsi)
140744687:	48 8b 0f             	mov    (%rdi),%rcx
14074468a:	48 85 c9             	test   %rcx,%rcx
14074468d:	0f 84 da 04 00 00    	je     0x140744b6d
140744693:	8b 41 10             	mov    0x10(%rcx),%eax
140744696:	ff c8                	dec    %eax
140744698:	89 41 10             	mov    %eax,0x10(%rcx)
14074469b:	85 c0                	test   %eax,%eax
14074469d:	0f 8f ca 04 00 00    	jg     0x140744b6d
1407446a3:	0f 88 40 05 00 00    	js     0x140744be9
1407446a9:	48 8b 01             	mov    (%rcx),%rax
1407446ac:	ba 01 00 00 00       	mov    $0x1,%edx
1407446b1:	48 8b 00             	mov    (%rax),%rax
1407446b4:	ff 15 66 f3 83 00    	call   *0x83f366(%rip)        # 0x140f83a20
1407446ba:	e9 ae 04 00 00       	jmp    0x140744b6d
1407446bf:	48 8b 07             	mov    (%rdi),%rax
1407446c2:	4c 89 2f             	mov    %r13,(%rdi)
1407446c5:	48 89 06             	mov    %rax,(%rsi)
1407446c8:	e9 a0 04 00 00       	jmp    0x140744b6d
1407446cd:	8d 43 fe             	lea    -0x2(%rbx),%eax
1407446d0:	83 f8 02             	cmp    $0x2,%eax
1407446d3:	8d 42 fe             	lea    -0x2(%rdx),%eax
1407446d6:	77 62                	ja     0x14074473a
1407446d8:	83 f8 02             	cmp    $0x2,%eax
1407446db:	0f 86 a8 00 00 00    	jbe    0x140744789
1407446e1:	83 fb 10             	cmp    $0x10,%ebx
1407446e4:	74 0c                	je     0x1407446f2
1407446e6:	83 fa 10             	cmp    $0x10,%edx
1407446e9:	48 8d 15 88 f6 8d 00 	lea    0x8df688(%rip),%rdx        # 0x141023d78
1407446f0:	75 07                	jne    0x1407446f9
1407446f2:	48 8d 15 67 f6 8d 00 	lea    0x8df667(%rip),%rdx        # 0x141023d60
1407446f9:	48 8b 45 50          	mov    0x50(%rbp),%rax
1407446fd:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140744702:	45 33 c9             	xor    %r9d,%r9d
140744705:	4c 8b 07             	mov    (%rdi),%r8
140744708:	49 8b ce             	mov    %r14,%rcx
14074470b:	e8 b0 5b 04 00       	call   0x14078a2c0
140744710:	4c 89 2e             	mov    %r13,(%rsi)
140744713:	48 8b 0f             	mov    (%rdi),%rcx
140744716:	48 85 c9             	test   %rcx,%rcx
140744719:	0f 84 4e 04 00 00    	je     0x140744b6d
14074471f:	8b 41 10             	mov    0x10(%rcx),%eax
140744722:	ff c8                	dec    %eax
140744724:	89 41 10             	mov    %eax,0x10(%rcx)
140744727:	85 c0                	test   %eax,%eax
140744729:	0f 8f 3e 04 00 00    	jg     0x140744b6d
14074472f:	0f 88 72 04 00 00    	js     0x140744ba7
140744735:	e9 6f ff ff ff       	jmp    0x1407446a9
14074473a:	83 f8 02             	cmp    $0x2,%eax
14074473d:	77 a2                	ja     0x1407446e1
14074473f:	83 fb 05             	cmp    $0x5,%ebx
140744742:	75 9d                	jne    0x1407446e1
140744744:	4c 8b 07             	mov    (%rdi),%r8
140744747:	49 8b 40 18          	mov    0x18(%r8),%rax
14074474b:	0f b7 48 1c          	movzwl 0x1c(%rax),%ecx
14074474f:	83 e9 01             	sub    $0x1,%ecx
140744752:	74 25                	je     0x140744779
140744754:	83 e9 01             	sub    $0x1,%ecx
140744757:	74 20                	je     0x140744779
140744759:	83 f9 01             	cmp    $0x1,%ecx
14074475c:	75 88                	jne    0x1407446e6
14074475e:	f2 41 0f 10 48 20    	movsd  0x20(%r8),%xmm1
140744764:	0f 57 c0             	xorps  %xmm0,%xmm0
140744767:	66 0f 2e c8          	ucomisd %xmm0,%xmm1
14074476b:	0f 8a 75 ff ff ff    	jp     0x1407446e6
140744771:	0f 85 6f ff ff ff    	jne    0x1407446e6
140744777:	eb 10                	jmp    0x140744789
140744779:	49 83 78 20 00       	cmpq   $0x0,0x20(%r8)
14074477e:	0f 94 c0             	sete   %al
140744781:	84 c0                	test   %al,%al
140744783:	0f 84 5d ff ff ff    	je     0x1407446e6
140744789:	3b d3                	cmp    %ebx,%edx
14074478b:	75 0e                	jne    0x14074479b
14074478d:	48 8b 07             	mov    (%rdi),%rax
140744790:	4c 89 2f             	mov    %r13,(%rdi)
140744793:	48 89 06             	mov    %rax,(%rsi)
140744796:	e9 d2 03 00 00       	jmp    0x140744b6d
14074479b:	83 fb 05             	cmp    $0x5,%ebx
14074479e:	74 63                	je     0x140744803
1407447a0:	8d 43 fe             	lea    -0x2(%rbx),%eax
1407447a3:	83 f8 02             	cmp    $0x2,%eax
1407447a6:	77 08                	ja     0x1407447b0
1407447a8:	8d 42 fe             	lea    -0x2(%rdx),%eax
1407447ab:	83 f8 02             	cmp    $0x2,%eax
1407447ae:	76 53                	jbe    0x140744803
1407447b0:	8b cb                	mov    %ebx,%ecx
1407447b2:	e8 e9 d1 00 00       	call   0x1407519a0
1407447b7:	3b c3                	cmp    %ebx,%eax
1407447b9:	74 48                	je     0x140744803
1407447bb:	48 8b 45 50          	mov    0x50(%rbp),%rax
1407447bf:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1407447c4:	45 33 c9             	xor    %r9d,%r9d
1407447c7:	4c 8b 07             	mov    (%rdi),%r8
1407447ca:	48 8d 15 cf f5 8d 00 	lea    0x8df5cf(%rip),%rdx        # 0x141023da0
1407447d1:	49 8b ce             	mov    %r14,%rcx
1407447d4:	e8 e7 5a 04 00       	call   0x14078a2c0
1407447d9:	4c 89 2e             	mov    %r13,(%rsi)
1407447dc:	48 8b 0f             	mov    (%rdi),%rcx
1407447df:	48 85 c9             	test   %rcx,%rcx
1407447e2:	0f 84 85 03 00 00    	je     0x140744b6d
1407447e8:	8b 41 10             	mov    0x10(%rcx),%eax
1407447eb:	ff c8                	dec    %eax
1407447ed:	89 41 10             	mov    %eax,0x10(%rcx)
1407447f0:	85 c0                	test   %eax,%eax
1407447f2:	0f 8f 75 03 00 00    	jg     0x140744b6d
1407447f8:	0f 88 b4 03 00 00    	js     0x140744bb2
1407447fe:	e9 a6 fe ff ff       	jmp    0x1407446a9
140744803:	41 0f b7 46 1c       	movzwl 0x1c(%r14),%eax
140744808:	41 0f b7 57 1c       	movzwl 0x1c(%r15),%edx
14074480d:	66 3b c2             	cmp    %dx,%ax
140744810:	75 0e                	jne    0x140744820
140744812:	48 8b 07             	mov    (%rdi),%rax
140744815:	4c 89 2f             	mov    %r13,(%rdi)
140744818:	48 89 06             	mov    %rax,(%rsi)
14074481b:	e9 4d 03 00 00       	jmp    0x140744b6d
140744820:	4c 89 6d e0          	mov    %r13,-0x20(%rbp)
140744824:	8b c8                	mov    %eax,%ecx
140744826:	83 e9 01             	sub    $0x1,%ecx
140744829:	0f 84 58 02 00 00    	je     0x140744a87
14074482f:	83 e9 01             	sub    $0x1,%ecx
140744832:	0f 84 2f 01 00 00    	je     0x140744967
140744838:	83 f9 01             	cmp    $0x1,%ecx
14074483b:	0f 85 b3 03 00 00    	jne    0x140744bf4
140744841:	83 eb 04             	sub    $0x4,%ebx
140744844:	0f 84 f8 00 00 00    	je     0x140744942
14074484a:	2b d9                	sub    %ecx,%ebx
14074484c:	74 7e                	je     0x1407448cc
14074484e:	3b d9                	cmp    %ecx,%ebx
140744850:	0f 85 b2 03 00 00    	jne    0x140744c08
140744856:	48 8b 0f             	mov    (%rdi),%rcx
140744859:	e8 f2 35 ff ff       	call   0x140737e50
14074485e:	0f 28 f0             	movaps %xmm0,%xmm6
140744861:	b9 28 00 00 00       	mov    $0x28,%ecx
140744866:	e8 9d 68 6d 00       	call   0x140e1b108
14074486b:	48 8b d8             	mov    %rax,%rbx
14074486e:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
140744872:	48 85 c0             	test   %rax,%rax
140744875:	74 4d                	je     0x1407448c4
140744877:	b9 06 00 00 00       	mov    $0x6,%ecx
14074487c:	e8 3f b6 00 00       	call   0x14074fec0
140744881:	48 8b 08             	mov    (%rax),%rcx
140744884:	48 89 4d d8          	mov    %rcx,-0x28(%rbp)
140744888:	48 85 c9             	test   %rcx,%rcx
14074488b:	74 1c                	je     0x1407448a9
14074488d:	8b 41 10             	mov    0x10(%rcx),%eax
140744890:	ff c0                	inc    %eax
140744892:	89 41 10             	mov    %eax,0x10(%rcx)
140744895:	83 f8 01             	cmp    $0x1,%eax
140744898:	0f 8e 7e 03 00 00    	jle    0x140744c1c
14074489e:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1407448a3:	0f 84 7b 03 00 00    	je     0x140744c24
1407448a9:	0f 28 d6             	movaps %xmm6,%xmm2
1407448ac:	48 8d 55 d8          	lea    -0x28(%rbp),%rdx
1407448b0:	48 8b cb             	mov    %rbx,%rcx
1407448b3:	e8 98 12 b1 ff       	call   0x140255b50
1407448b8:	48 8d 05 c1 5c 89 00 	lea    0x895cc1(%rip),%rax        # 0x140fda580
1407448bf:	48 89 03             	mov    %rax,(%rbx)
1407448c2:	eb 03                	jmp    0x1407448c7
1407448c4:	49 8b dd             	mov    %r13,%rbx
1407448c7:	e9 7a 02 00 00       	jmp    0x140744b46
1407448cc:	48 8b 0f             	mov    (%rdi),%rcx
1407448cf:	e8 7c 35 ff ff       	call   0x140737e50
1407448d4:	0f 28 f0             	movaps %xmm0,%xmm6
1407448d7:	b9 28 00 00 00       	mov    $0x28,%ecx
1407448dc:	e8 27 68 6d 00       	call   0x140e1b108
1407448e1:	48 8b d8             	mov    %rax,%rbx
1407448e4:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
1407448e8:	48 85 c0             	test   %rax,%rax
1407448eb:	74 4d                	je     0x14074493a
1407448ed:	b9 05 00 00 00       	mov    $0x5,%ecx
1407448f2:	e8 c9 b5 00 00       	call   0x14074fec0
1407448f7:	48 8b 08             	mov    (%rax),%rcx
1407448fa:	48 89 4d d8          	mov    %rcx,-0x28(%rbp)
1407448fe:	48 85 c9             	test   %rcx,%rcx
140744901:	74 1c                	je     0x14074491f
140744903:	8b 41 10             	mov    0x10(%rcx),%eax
140744906:	ff c0                	inc    %eax
140744908:	89 41 10             	mov    %eax,0x10(%rcx)
14074490b:	83 f8 01             	cmp    $0x1,%eax
14074490e:	0f 8e 1b 03 00 00    	jle    0x140744c2f
140744914:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140744919:	0f 84 18 03 00 00    	je     0x140744c37
14074491f:	0f 28 d6             	movaps %xmm6,%xmm2
140744922:	48 8d 55 d8          	lea    -0x28(%rbp),%rdx
140744926:	48 8b cb             	mov    %rbx,%rcx
140744929:	e8 22 12 b1 ff       	call   0x140255b50
14074492e:	48 8d 05 cb 5c 89 00 	lea    0x895ccb(%rip),%rax        # 0x140fda600
140744935:	48 89 03             	mov    %rax,(%rbx)
140744938:	eb 03                	jmp    0x14074493d
14074493a:	49 8b dd             	mov    %r13,%rbx
14074493d:	e9 04 02 00 00       	jmp    0x140744b46
140744942:	48 8b 0f             	mov    (%rdi),%rcx
140744945:	e8 06 35 ff ff       	call   0x140737e50
14074494a:	f2 0f 11 45 d8       	movsd  %xmm0,-0x28(%rbp)
14074494f:	48 8d 55 d8          	lea    -0x28(%rbp),%rdx
140744953:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140744957:	e8 94 ce b0 ff       	call   0x1402517f0
14074495c:	48 8b 18             	mov    (%rax),%rbx
14074495f:	4c 89 28             	mov    %r13,(%rax)
140744962:	e9 df 01 00 00       	jmp    0x140744b46
140744967:	66 ff ca             	dec    %dx
14074496a:	b8 fd ff 00 00       	mov    $0xfffd,%eax
14074496f:	66 85 d0             	test   %dx,%ax
140744972:	75 5a                	jne    0x1407449ce
140744974:	4c 8b 07             	mov    (%rdi),%r8
140744977:	49 8b d6             	mov    %r14,%rdx
14074497a:	49 8b cf             	mov    %r15,%rcx
14074497d:	e8 4e a5 03 00       	call   0x14077eed0
140744982:	84 c0                	test   %al,%al
140744984:	74 48                	je     0x1407449ce
140744986:	48 8b 45 50          	mov    0x50(%rbp),%rax
14074498a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14074498f:	45 33 c9             	xor    %r9d,%r9d
140744992:	4c 8b 07             	mov    (%rdi),%r8
140744995:	48 8d 15 64 f4 8d 00 	lea    0x8df464(%rip),%rdx        # 0x141023e00
14074499c:	49 8b ce             	mov    %r14,%rcx
14074499f:	e8 1c 59 04 00       	call   0x14078a2c0
1407449a4:	4c 89 2e             	mov    %r13,(%rsi)
1407449a7:	48 8b 0f             	mov    (%rdi),%rcx
1407449aa:	48 85 c9             	test   %rcx,%rcx
1407449ad:	0f 84 ba 01 00 00    	je     0x140744b6d
1407449b3:	8b 41 10             	mov    0x10(%rcx),%eax
1407449b6:	ff c8                	dec    %eax
1407449b8:	89 41 10             	mov    %eax,0x10(%rcx)
1407449bb:	85 c0                	test   %eax,%eax
1407449bd:	0f 8f aa 01 00 00    	jg     0x140744b6d
1407449c3:	0f 88 f4 01 00 00    	js     0x140744bbd
1407449c9:	e9 db fc ff ff       	jmp    0x1407446a9
1407449ce:	83 fb 03             	cmp    $0x3,%ebx
1407449d1:	0f 85 6b 02 00 00    	jne    0x140744c42
1407449d7:	48 8b 0f             	mov    (%rdi),%rcx
1407449da:	48 8b 41 18          	mov    0x18(%rcx),%rax
1407449de:	0f b7 50 1c          	movzwl 0x1c(%rax),%edx
1407449e2:	66 83 fa 02          	cmp    $0x2,%dx
1407449e6:	75 06                	jne    0x1407449ee
1407449e8:	4c 8b 41 20          	mov    0x20(%rcx),%r8
1407449ec:	eb 57                	jmp    0x140744a45
1407449ee:	66 83 fa 01          	cmp    $0x1,%dx
1407449f2:	75 06                	jne    0x1407449fa
1407449f4:	4c 8b 41 20          	mov    0x20(%rcx),%r8
1407449f8:	eb 4b                	jmp    0x140744a45
1407449fa:	66 83 fa 03          	cmp    $0x3,%dx
1407449fe:	75 36                	jne    0x140744a36
140744a00:	33 c0                	xor    %eax,%eax
140744a02:	f2 0f 10 41 20       	movsd  0x20(%rcx),%xmm0
140744a07:	f2 0f 10 0d 49 9e 86 	movsd  0x869e49(%rip),%xmm1        # 0x140fae858
140744a0e:	00
140744a0f:	66 0f 2f c1          	comisd %xmm1,%xmm0
140744a13:	72 17                	jb     0x140744a2c
140744a15:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
140744a19:	66 0f 2f c1          	comisd %xmm1,%xmm0
140744a1d:	73 0d                	jae    0x140744a2c
140744a1f:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140744a26:	00 00 80
140744a29:	48 8b c1             	mov    %rcx,%rax
140744a2c:	f2 4c 0f 2c c0       	cvttsd2si %xmm0,%r8
140744a31:	4c 03 c0             	add    %rax,%r8
140744a34:	eb 0f                	jmp    0x140744a45
140744a36:	48 8d 15 83 eb 8d 00 	lea    0x8deb83(%rip),%rdx        # 0x1410235c0
140744a3d:	e8 0e 5a 04 00       	call   0x14078a450
140744a42:	4d 8b c5             	mov    %r13,%r8
140744a45:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
140744a49:	48 8b 0d 28 e4 ce 00 	mov    0xcee428(%rip),%rcx        # 0x141432e78
140744a50:	e8 cb b4 a5 ff       	call   0x14019ff20
140744a55:	48 8b 18             	mov    (%rax),%rbx
140744a58:	48 89 5d e0          	mov    %rbx,-0x20(%rbp)
140744a5c:	4c 89 28             	mov    %r13,(%rax)
140744a5f:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140744a63:	48 85 c9             	test   %rcx,%rcx
140744a66:	0f 84 da 00 00 00    	je     0x140744b46
140744a6c:	8b 41 10             	mov    0x10(%rcx),%eax
140744a6f:	ff c8                	dec    %eax
140744a71:	89 41 10             	mov    %eax,0x10(%rcx)
140744a74:	85 c0                	test   %eax,%eax
140744a76:	0f 8f ca 00 00 00    	jg     0x140744b46
140744a7c:	0f 88 46 01 00 00    	js     0x140744bc8
140744a82:	e9 ad 00 00 00       	jmp    0x140744b34
140744a87:	66 83 ea 02          	sub    $0x2,%dx
140744a8b:	66 83 fa 01          	cmp    $0x1,%dx
140744a8f:	77 5a                	ja     0x140744aeb
140744a91:	4c 8b 07             	mov    (%rdi),%r8
140744a94:	49 8b d6             	mov    %r14,%rdx
140744a97:	49 8b cf             	mov    %r15,%rcx
140744a9a:	e8 31 a4 03 00       	call   0x14077eed0
140744a9f:	84 c0                	test   %al,%al
140744aa1:	74 48                	je     0x140744aeb
140744aa3:	48 8b 45 50          	mov    0x50(%rbp),%rax
140744aa7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140744aac:	45 33 c9             	xor    %r9d,%r9d
140744aaf:	4c 8b 07             	mov    (%rdi),%r8
140744ab2:	48 8d 15 b7 80 8d 00 	lea    0x8d80b7(%rip),%rdx        # 0x14101cb70
140744ab9:	49 8b ce             	mov    %r14,%rcx
140744abc:	e8 ff 57 04 00       	call   0x14078a2c0
140744ac1:	4c 89 2e             	mov    %r13,(%rsi)
140744ac4:	48 8b 0f             	mov    (%rdi),%rcx
140744ac7:	48 85 c9             	test   %rcx,%rcx
140744aca:	0f 84 9d 00 00 00    	je     0x140744b6d
140744ad0:	8b 41 10             	mov    0x10(%rcx),%eax
140744ad3:	ff c8                	dec    %eax
140744ad5:	89 41 10             	mov    %eax,0x10(%rcx)
140744ad8:	85 c0                	test   %eax,%eax
140744ada:	0f 8f 8d 00 00 00    	jg     0x140744b6d
140744ae0:	0f 88 ed 00 00 00    	js     0x140744bd3
140744ae6:	e9 be fb ff ff       	jmp    0x1407446a9
140744aeb:	83 fb 02             	cmp    $0x2,%ebx
140744aee:	0f 85 9f 00 00 00    	jne    0x140744b93
140744af4:	48 8b 0f             	mov    (%rdi),%rcx
140744af7:	e8 d4 33 ff ff       	call   0x140737ed0
140744afc:	4c 8b c0             	mov    %rax,%r8
140744aff:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
140744b03:	48 8b 0d 6e e3 ce 00 	mov    0xcee36e(%rip),%rcx        # 0x141432e78
140744b0a:	e8 61 a4 ac ff       	call   0x14020ef70
140744b0f:	48 8b 18             	mov    (%rax),%rbx
140744b12:	48 89 5d e0          	mov    %rbx,-0x20(%rbp)
140744b16:	4c 89 28             	mov    %r13,(%rax)
140744b19:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
140744b1d:	48 85 c9             	test   %rcx,%rcx
140744b20:	74 24                	je     0x140744b46
140744b22:	8b 41 10             	mov    0x10(%rcx),%eax
140744b25:	ff c8                	dec    %eax
140744b27:	89 41 10             	mov    %eax,0x10(%rcx)
140744b2a:	85 c0                	test   %eax,%eax
140744b2c:	7f 18                	jg     0x140744b46