140a8063e:	76 03                	jbe    0x140a80643
140a80640:	48 8b 0a             	mov    (%rdx),%rcx
140a80643:	4c 8b 42 10          	mov    0x10(%rdx),%r8
140a80647:	4c 03 c1             	add    %rcx,%r8
140a8064a:	49 3b c8             	cmp    %r8,%rcx
140a8064d:	74 27                	je     0x140a80676
140a8064f:	49 8b 51 10          	mov    0x10(%r9),%rdx
140a80653:	49 ba b3 01 00 00 00 	movabs $0x100000001b3,%r10
140a8065a:	01 00 00
140a8065d:	0f 1f 00             	nopl   (%rax)
140a80660:	0f b6 01             	movzbl (%rcx),%eax
140a80663:	48 ff c1             	inc    %rcx
140a80666:	48 33 d0             	xor    %rax,%rdx
140a80669:	49 0f af d2          	imul   %r10,%rdx
140a8066d:	49 89 51 10          	mov    %rdx,0x10(%r9)
140a80671:	49 3b c8             	cmp    %r8,%rcx
140a80674:	75 ea                	jne    0x140a80660
140a80676:	b0 01                	mov    $0x1,%al
140a80678:	c3                   	ret
140a80679:	cc                   	int3
140a8067a:	cc                   	int3
140a8067b:	cc                   	int3
140a8067c:	cc                   	int3
140a8067d:	cc                   	int3
140a8067e:	cc                   	int3
140a8067f:	cc                   	int3
140a80680:	48 8b 41 10          	mov    0x10(%rcx),%rax
140a80684:	4c 8b c2             	mov    %rdx,%r8
140a80687:	48 8b c8             	mov    %rax,%rcx
140a8068a:	48 83 78 18 0f       	cmpq   $0xf,0x18(%rax)
140a8068f:	76 03                	jbe    0x140a80694
140a80691:	48 8b 08             	mov    (%rax),%rcx
140a80694:	4c 8b 48 10          	mov    0x10(%rax),%r9
140a80698:	4c 03 c9             	add    %rcx,%r9
140a8069b:	49 3b c9             	cmp    %r9,%rcx
140a8069e:	74 26                	je     0x140a806c6
140a806a0:	48 8b 52 10          	mov    0x10(%rdx),%rdx
140a806a4:	49 ba b3 01 00 00 00 	movabs $0x100000001b3,%r10
140a806ab:	01 00 00
140a806ae:	66 90                	xchg   %ax,%ax
140a806b0:	0f b6 01             	movzbl (%rcx),%eax
140a806b3:	48 ff c1             	inc    %rcx
140a806b6:	48 33 d0             	xor    %rax,%rdx
140a806b9:	49 0f af d2          	imul   %r10,%rdx
140a806bd:	49 89 50 10          	mov    %rdx,0x10(%r8)
140a806c1:	49 3b c9             	cmp    %r9,%rcx
140a806c4:	75 ea                	jne    0x140a806b0
140a806c6:	b0 01                	mov    $0x1,%al
140a806c8:	c3                   	ret
140a806c9:	cc                   	int3
140a806ca:	cc                   	int3
140a806cb:	cc                   	int3
140a806cc:	cc                   	int3
140a806cd:	cc                   	int3
140a806ce:	cc                   	int3
140a806cf:	cc                   	int3
140a806d0:	4c 8b dc             	mov    %rsp,%r11
140a806d3:	49 89 4b 08          	mov    %rcx,0x8(%r11)
140a806d7:	53                   	push   %rbx
140a806d8:	48 83 ec 40          	sub    $0x40,%rsp
140a806dc:	49 c7 43 e8 00 00 00 	movq   $0x0,-0x18(%r11)
140a806e3:	00
140a806e4:	48 8d 05 4d 97 5f 00 	lea    0x5f974d(%rip),%rax        # 0x141079e38
140a806eb:	49 89 43 e0          	mov    %rax,-0x20(%r11)
140a806ef:	48 8b 02             	mov    (%rdx),%rax
140a806f2:	48 85 c0             	test   %rax,%rax
140a806f5:	74 69                	je     0x140a80760
140a806f7:	4c 8d 40 10          	lea    0x10(%rax),%r8
140a806fb:	49 8d 43 e0          	lea    -0x20(%r11),%rax
140a806ff:	49 89 43 08          	mov    %rax,0x8(%r11)
140a80703:	49 8b 00             	mov    (%r8),%rax
140a80706:	49 89 43 d8          	mov    %rax,-0x28(%r11)
140a8070a:	49 8d 53 d8          	lea    -0x28(%r11),%rdx
140a8070e:	48 b9 2c b6 01 86 4c 	movabs $0xaf63bc4c8601b62c,%rcx
140a80715:	bc 63 af
140a80718:	49 b9 b3 01 00 00 00 	movabs $0x100000001b3,%r9
140a8071f:	01 00 00
140a80722:	0f b6 02             	movzbl (%rdx),%eax
140a80725:	48 33 c8             	xor    %rax,%rcx
140a80728:	49 0f af c9          	imul   %r9,%rcx
140a8072c:	48 ff c2             	inc    %rdx
140a8072f:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
140a80734:	48 8d 44 24 28       	lea    0x28(%rsp),%rax
140a80739:	48 3b d0             	cmp    %rax,%rdx
140a8073c:	75 e4                	jne    0x140a80722
140a8073e:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140a80743:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140a80748:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140a8074d:	49 8b c8             	mov    %r8,%rcx
140a80750:	e8 bb 03 00 00       	call   0x140a80b10
140a80755:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a8075a:	eb 13                	jmp    0x140a8076f
140a8075c:	0f 1f 40 00          	nopl   0x0(%rax)
140a80760:	48 bb df b7 01 86 4c 	movabs $0xaf63bd4c8601b7df,%rbx
140a80767:	bd 63 af
140a8076a:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140a8076f:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140a80774:	e8 d7 6c f8 ff       	call   0x140a07450
140a80779:	90                   	nop
140a8077a:	48 8b c3             	mov    %rbx,%rax
140a8077d:	48 83 c4 40          	add    $0x40,%rsp
140a80781:	5b                   	pop    %rbx
140a80782:	c3                   	ret
140a80783:	cc                   	int3
140a80784:	cc                   	int3
140a80785:	cc                   	int3
140a80786:	cc                   	int3
140a80787:	cc                   	int3
140a80788:	cc                   	int3
140a80789:	cc                   	int3
140a8078a:	cc                   	int3
140a8078b:	cc                   	int3
140a8078c:	cc                   	int3
140a8078d:	cc                   	int3
140a8078e:	cc                   	int3
140a8078f:	cc                   	int3
140a80790:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a80795:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140a8079a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140a8079f:	57                   	push   %rdi
140a807a0:	48 83 ec 20          	sub    $0x20,%rsp
140a807a4:	49 8b d8             	mov    %r8,%rbx
140a807a7:	48 8b f2             	mov    %rdx,%rsi
140a807aa:	48 8b e9             	mov    %rcx,%rbp
140a807ad:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140a807b2:	75 43                	jne    0x140a807f7
140a807b4:	0f 1f 40 00          	nopl   0x0(%rax)
140a807b8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140a807bf:	00
140a807c0:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140a807c4:	48 8b d6             	mov    %rsi,%rdx
140a807c7:	48 8b cd             	mov    %rbp,%rcx
140a807ca:	e8 c1 ff ff ff       	call   0x140a80790
140a807cf:	48 8b fb             	mov    %rbx,%rdi
140a807d2:	48 8b 1b             	mov    (%rbx),%rbx
140a807d5:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
140a807d9:	48 85 c9             	test   %rcx,%rcx
140a807dc:	74 06                	je     0x140a807e4
140a807de:	e8 ed 78 f8 ff       	call   0x140a080d0
140a807e3:	90                   	nop
140a807e4:	ba 30 00 00 00       	mov    $0x30,%edx
140a807e9:	48 8b cf             	mov    %rdi,%rcx
140a807ec:	e8 53 a9 39 00       	call   0x140e1b144
140a807f1:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140a807f5:	74 c9                	je     0x140a807c0
140a807f7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a807fc:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140a80801:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140a80806:	48 83 c4 20          	add    $0x20,%rsp
140a8080a:	5f                   	pop    %rdi
140a8080b:	c3                   	ret
140a8080c:	cc                   	int3
140a8080d:	cc                   	int3
140a8080e:	cc                   	int3
140a8080f:	cc                   	int3
140a80810:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a80815:	55                   	push   %rbp
140a80816:	56                   	push   %rsi
140a80817:	57                   	push   %rdi
140a80818:	41 54                	push   %r12
140a8081a:	41 55                	push   %r13
140a8081c:	41 56                	push   %r14
140a8081e:	41 57                	push   %r15
140a80820:	48 83 ec 30          	sub    $0x30,%rsp
140a80824:	49 8b d8             	mov    %r8,%rbx
140a80827:	4c 8b f2             	mov    %rdx,%r14
140a8082a:	4c 8b e9             	mov    %rcx,%r13
140a8082d:	49 8b d0             	mov    %r8,%rdx
140a80830:	e8 9b fe ff ff       	call   0x140a806d0
140a80835:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140a8083a:	48 8b f0             	mov    %rax,%rsi
140a8083d:	49 23 75 30          	and    0x30(%r13),%rsi
140a80841:	48 03 f6             	add    %rsi,%rsi
140a80844:	49 8b 4d 18          	mov    0x18(%r13),%rcx
140a80848:	48 8b 7c f1 08       	mov    0x8(%rcx,%rsi,8),%rdi
140a8084d:	49 8d 45 08          	lea    0x8(%r13),%rax
140a80851:	48 8b 28             	mov    (%rax),%rbp
140a80854:	48 3b fd             	cmp    %rbp,%rdi
140a80857:	75 08                	jne    0x140a80861
140a80859:	48 8b fd             	mov    %rbp,%rdi
140a8085c:	4c 8b e5             	mov    %rbp,%r12
140a8085f:	eb 57                	jmp    0x140a808b8
140a80861:	48 8b 34 f1          	mov    (%rcx,%rsi,8),%rsi
140a80865:	48 8d 57 10          	lea    0x10(%rdi),%rdx
140a80869:	48 8b cb             	mov    %rbx,%rcx
140a8086c:	e8 df f1 ff ff       	call   0x140a7fa50
140a80871:	85 c0                	test   %eax,%eax
140a80873:	74 19                	je     0x140a8088e
140a80875:	48 3b fe             	cmp    %rsi,%rdi
140a80878:	74 34                	je     0x140a808ae
140a8087a:	48 8b 7f 08          	mov    0x8(%rdi),%rdi
140a8087e:	48 8d 57 10          	lea    0x10(%rdi),%rdx
140a80882:	48 8b cb             	mov    %rbx,%rcx
140a80885:	e8 c6 f1 ff ff       	call   0x140a7fa50
140a8088a:	85 c0                	test   %eax,%eax
140a8088c:	75 e7                	jne    0x140a80875
140a8088e:	49 89 3e             	mov    %rdi,(%r14)
140a80891:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140a80896:	49 8b c6             	mov    %r14,%rax
140a80899:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
140a8089e:	48 83 c4 30          	add    $0x30,%rsp
140a808a2:	41 5f                	pop    %r15
140a808a4:	41 5e                	pop    %r14
140a808a6:	41 5d                	pop    %r13
140a808a8:	41 5c                	pop    %r12
140a808aa:	5f                   	pop    %rdi
140a808ab:	5e                   	pop    %rsi
140a808ac:	5d                   	pop    %rbp
140a808ad:	c3                   	ret
140a808ae:	48 8b ef             	mov    %rdi,%rbp
140a808b1:	4c 8b e7             	mov    %rdi,%r12
140a808b4:	49 8d 45 08          	lea    0x8(%r13),%rax
140a808b8:	48 b9 66 66 66 66 66 	movabs $0x666666666666666,%rcx
140a808bf:	66 66 06
140a808c2:	49 39 4d 10          	cmp    %rcx,0x10(%r13)
140a808c6:	0f 84 2d 02 00 00    	je     0x140a80af9
140a808cc:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140a808d1:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140a808d8:	00 00
140a808da:	b9 28 00 00 00       	mov    $0x28,%ecx
140a808df:	e8 24 a8 39 00       	call   0x140e1b108
140a808e4:	48 8b f0             	mov    %rax,%rsi
140a808e7:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140a808ec:	4c 8d 78 10          	lea    0x10(%rax),%r15
140a808f0:	4c 89 bc 24 80 00 00 	mov    %r15,0x80(%rsp)
140a808f7:	00
140a808f8:	48 8b 03             	mov    (%rbx),%rax
140a808fb:	49 89 07             	mov    %rax,(%r15)
140a808fe:	48 85 c0             	test   %rax,%rax
140a80901:	74 08                	je     0x140a8090b
140a80903:	f0 48 ff 40 08       	lock incq 0x8(%rax)
140a80908:	49 8b fc             	mov    %r12,%rdi
140a8090b:	49 8d 5f 08          	lea    0x8(%r15),%rbx
140a8090f:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
140a80916:	00
140a80917:	33 c0                	xor    %eax,%eax
140a80919:	48 89 03             	mov    %rax,(%rbx)
140a8091c:	48 89 43 08          	mov    %rax,0x8(%rbx)
140a80920:	b9 30 00 00 00       	mov    $0x30,%ecx
140a80925:	e8 de a7 39 00       	call   0x140e1b108
140a8092a:	48 89 00             	mov    %rax,(%rax)
140a8092d:	48 89 40 08          	mov    %rax,0x8(%rax)
140a80931:	48 89 40 10          	mov    %rax,0x10(%rax)
140a80935:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
140a8093b:	48 89 03             	mov    %rax,(%rbx)
140a8093e:	49 8b 4d 10          	mov    0x10(%r13),%rcx
140a80942:	48 83 c1 01          	add    $0x1,%rcx
140a80946:	0f 57 c0             	xorps  %xmm0,%xmm0
140a80949:	78 07                	js     0x140a80952
140a8094b:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140a80950:	eb 15                	jmp    0x140a80967
140a80952:	48 8b c1             	mov    %rcx,%rax
140a80955:	48 d1 e8             	shr    $1,%rax
140a80958:	83 e1 01             	and    $0x1,%ecx
140a8095b:	48 0b c1             	or     %rcx,%rax
140a8095e:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140a80963:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140a80967:	49 8b 5d 38          	mov    0x38(%r13),%rbx
140a8096b:	f3 41 0f 10 5d 00    	movss  0x0(%r13),%xmm3
140a80971:	0f 57 d2             	xorps  %xmm2,%xmm2
140a80974:	48 85 db             	test   %rbx,%rbx
140a80977:	78 07                	js     0x140a80980
140a80979:	f3 48 0f 2a d3       	cvtsi2ss %rbx,%xmm2
140a8097e:	eb 18                	jmp    0x140a80998
140a80980:	48 8b cb             	mov    %rbx,%rcx
140a80983:	48 d1 e9             	shr    $1,%rcx
140a80986:	48 8b c3             	mov    %rbx,%rax
140a80989:	83 e0 01             	and    $0x1,%eax
140a8098c:	48 0b c8             	or     %rax,%rcx
140a8098f:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140a80994:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140a80998:	0f 28 c8             	movaps %xmm0,%xmm1
140a8099b:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140a8099f:	0f 2f cb             	comiss %xmm3,%xmm1
140a809a2:	0f 86 f4 00 00 00    	jbe    0x140a80a9c
140a809a8:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140a809ac:	e8 6f 07 3b 00       	call   0x140e31120
140a809b1:	33 c9                	xor    %ecx,%ecx
140a809b3:	f3 0f 10 0d a9 dc 52 	movss  0x52dca9(%rip),%xmm1        # 0x140fae664
140a809ba:	00
140a809bb:	0f 2f c1             	comiss %xmm1,%xmm0
140a809be:	72 16                	jb     0x140a809d6
140a809c0:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140a809c4:	0f 2f c1             	comiss %xmm1,%xmm0
140a809c7:	73 0d                	jae    0x140a809d6
140a809c9:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140a809d0:	00 00 80
140a809d3:	48 8b c8             	mov    %rax,%rcx
140a809d6:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140a809db:	48 03 c1             	add    %rcx,%rax
140a809de:	b9 08 00 00 00       	mov    $0x8,%ecx
140a809e3:	48 3b c1             	cmp    %rcx,%rax
140a809e6:	48 0f 47 c8          	cmova  %rax,%rcx
140a809ea:	48 3b d9             	cmp    %rcx,%rbx
140a809ed:	73 19                	jae    0x140a80a08
140a809ef:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
140a809f6:	73 0d                	jae    0x140a80a05
140a809f8:	48 8d 1c dd 00 00 00 	lea    0x0(,%rbx,8),%rbx
140a809ff:	00
140a80a00:	48 3b d9             	cmp    %rcx,%rbx
140a80a03:	73 03                	jae    0x140a80a08
140a80a05:	48 8b d9             	mov    %rcx,%rbx
140a80a08:	48 8b d3             	mov    %rbx,%rdx
140a80a0b:	49 8b cd             	mov    %r13,%rcx
140a80a0e:	e8 ed 09 00 00       	call   0x140a81400
140a80a13:	49 8b 6d 30          	mov    0x30(%r13),%rbp
140a80a17:	4c 8b 64 24 70       	mov    0x70(%rsp),%r12
140a80a1c:	49 23 ec             	and    %r12,%rbp
140a80a1f:	48 03 ed             	add    %rbp,%rbp
140a80a22:	49 8b 45 18          	mov    0x18(%r13),%rax
140a80a26:	48 8b 5c e8 08       	mov    0x8(%rax,%rbp,8),%rbx
140a80a2b:	49 8b 7d 08          	mov    0x8(%r13),%rdi
140a80a2f:	48 3b df             	cmp    %rdi,%rbx
140a80a32:	75 13                	jne    0x140a80a47
140a80a34:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140a80a3b:	00 00
140a80a3d:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a80a42:	48 8b ef             	mov    %rdi,%rbp
140a80a45:	eb 5a                	jmp    0x140a80aa1
140a80a47:	48 8b 2c e8          	mov    (%rax,%rbp,8),%rbp
140a80a4b:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140a80a4f:	49 8b cf             	mov    %r15,%rcx
140a80a52:	e8 f9 ef ff ff       	call   0x140a7fa50
140a80a57:	85 c0                	test   %eax,%eax
140a80a59:	74 21                	je     0x140a80a7c
140a80a5b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140a80a60:	48 8b fb             	mov    %rbx,%rdi
140a80a63:	48 3b dd             	cmp    %rbp,%rbx
140a80a66:	74 21                	je     0x140a80a89
140a80a68:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140a80a6c:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140a80a70:	49 8b cf             	mov    %r15,%rcx
140a80a73:	e8 d8 ef ff ff       	call   0x140a7fa50
140a80a78:	85 c0                	test   %eax,%eax
140a80a7a:	75 e4                	jne    0x140a80a60
140a80a7c:	48 8b 3b             	mov    (%rbx),%rdi
140a80a7f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a80a84:	48 8b ef             	mov    %rdi,%rbp
140a80a87:	eb 18                	jmp    0x140a80aa1
140a80a89:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140a80a8e:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140a80a95:	00 00
140a80a97:	48 8b eb             	mov    %rbx,%rbp
140a80a9a:	eb 05                	jmp    0x140a80aa1
140a80a9c:	4c 8b 64 24 70       	mov    0x70(%rsp),%r12
140a80aa1:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140a80aa5:	49 ff 45 10          	incq   0x10(%r13)
140a80aa9:	48 89 2e             	mov    %rbp,(%rsi)
140a80aac:	48 89 56 08          	mov    %rdx,0x8(%rsi)
140a80ab0:	48 89 32             	mov    %rsi,(%rdx)