140b095d7:	48 8b d0             	mov    %rax,%rdx
140b095da:	48 8b ce             	mov    %rsi,%rcx
140b095dd:	e8 9e fe ff ff       	call   0x140b09480
140b095e2:	48 8d 05 07 9f 4d 00 	lea    0x4d9f07(%rip),%rax        # 0x140fe34f0
140b095e9:	48 89 06             	mov    %rax,(%rsi)
140b095ec:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
140b095f0:	48 85 c9             	test   %rcx,%rcx
140b095f3:	74 10                	je     0x140b09605
140b095f5:	48 83 29 01          	subq   $0x1,(%rcx)
140b095f9:	75 0a                	jne    0x140b09605
140b095fb:	ba 18 00 00 00       	mov    $0x18,%edx
140b09600:	e8 3f 1b 31 00       	call   0x140e1b144
140b09605:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
140b09609:	e8 52 ed 68 ff       	call   0x140198360
140b0960e:	80 7f 48 00          	cmpb   $0x0,0x48(%rdi)
140b09612:	74 09                	je     0x140b0961d
140b09614:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140b09618:	e8 e3 3e 69 ff       	call   0x14019d500
140b0961d:	48 8b cf             	mov    %rdi,%rcx
140b09620:	e8 7b a4 88 ff       	call   0x140393aa0
140b09625:	48 8b c6             	mov    %rsi,%rax
140b09628:	4c 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%r11
140b0962f:	00
140b09630:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140b09634:	49 8b 73 28          	mov    0x28(%r11),%rsi
140b09638:	49 8b e3             	mov    %r11,%rsp
140b0963b:	5f                   	pop    %rdi
140b0963c:	c3                   	ret
140b0963d:	cc                   	int3
140b0963e:	cc                   	int3
140b0963f:	cc                   	int3
140b09640:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140b09645:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140b0964a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140b0964f:	55                   	push   %rbp
140b09650:	56                   	push   %rsi
140b09651:	57                   	push   %rdi
140b09652:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
140b09659:	48 8b f2             	mov    %rdx,%rsi
140b0965c:	48 8b d9             	mov    %rcx,%rbx
140b0965f:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140b09664:	e8 f7 57 01 00       	call   0x140b1ee60
140b09669:	48 8b e8             	mov    %rax,%rbp
140b0966c:	48 89 84 24 d0 00 00 	mov    %rax,0xd0(%rsp)
140b09673:	00
140b09674:	48 8d 05 55 9e 4d 00 	lea    0x4d9e55(%rip),%rax        # 0x140fe34d0
140b0967b:	48 89 03             	mov    %rax,(%rbx)
140b0967e:	48 8b d5             	mov    %rbp,%rdx
140b09681:	48 8d 8c 24 c0 00 00 	lea    0xc0(%rsp),%rcx
140b09688:	00
140b09689:	e8 62 fe 00 00       	call   0x140b194f0
140b0968e:	48 8b 08             	mov    (%rax),%rcx
140b09691:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140b09698:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140b0969c:	48 8b 08             	mov    (%rax),%rcx
140b0969f:	48 85 c9             	test   %rcx,%rcx
140b096a2:	74 1a                	je     0x140b096be
140b096a4:	48 83 69 08 01       	subq   $0x1,0x8(%rcx)
140b096a9:	75 13                	jne    0x140b096be
140b096ab:	48 8b 01             	mov    (%rcx),%rax
140b096ae:	ba 01 00 00 00       	mov    $0x1,%edx
140b096b3:	48 8b 40 28          	mov    0x28(%rax),%rax
140b096b7:	ff 15 63 a3 47 00    	call   *0x47a363(%rip)        # 0x140f83a20
140b096bd:	90                   	nop
140b096be:	48 8b 4d 68          	mov    0x68(%rbp),%rcx
140b096c2:	48 85 c9             	test   %rcx,%rcx
140b096c5:	74 10                	je     0x140b096d7
140b096c7:	48 83 29 01          	subq   $0x1,(%rcx)
140b096cb:	75 0a                	jne    0x140b096d7
140b096cd:	ba 18 00 00 00       	mov    $0x18,%edx
140b096d2:	e8 6d 1a 31 00       	call   0x140e1b144
140b096d7:	48 8d 4d 50          	lea    0x50(%rbp),%rcx
140b096db:	e8 80 ec 68 ff       	call   0x140198360
140b096e0:	80 7d 48 00          	cmpb   $0x0,0x48(%rbp)
140b096e4:	74 09                	je     0x140b096ef
140b096e6:	48 8d 4d 18          	lea    0x18(%rbp),%rcx
140b096ea:	e8 11 3e 69 ff       	call   0x14019d500
140b096ef:	48 8b cd             	mov    %rbp,%rcx
140b096f2:	e8 a9 a3 88 ff       	call   0x140393aa0
140b096f7:	48 8d 05 e2 9d 4d 00 	lea    0x4d9de2(%rip),%rax        # 0x140fe34e0
140b096fe:	48 89 03             	mov    %rax,(%rbx)
140b09701:	c6 83 a0 00 00 00 00 	movb   $0x0,0xa0(%rbx)
140b09708:	c6 83 38 01 00 00 00 	movb   $0x0,0x138(%rbx)
140b0970f:	c6 83 d0 01 00 00 00 	movb   $0x0,0x1d0(%rbx)
140b09716:	48 c7 83 d8 01 00 00 	movq   $0x0,0x1d8(%rbx)
140b0971d:	00 00 00 00
140b09721:	48 8b 4e 68          	mov    0x68(%rsi),%rcx
140b09725:	48 85 c9             	test   %rcx,%rcx
140b09728:	74 10                	je     0x140b0973a
140b0972a:	48 83 29 01          	subq   $0x1,(%rcx)
140b0972e:	75 0a                	jne    0x140b0973a
140b09730:	ba 18 00 00 00       	mov    $0x18,%edx
140b09735:	e8 0a 1a 31 00       	call   0x140e1b144
140b0973a:	48 8d 4e 50          	lea    0x50(%rsi),%rcx
140b0973e:	e8 1d ec 68 ff       	call   0x140198360
140b09743:	80 7e 48 00          	cmpb   $0x0,0x48(%rsi)
140b09747:	74 09                	je     0x140b09752
140b09749:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
140b0974d:	e8 ae 3d 69 ff       	call   0x14019d500
140b09752:	48 8b ce             	mov    %rsi,%rcx
140b09755:	e8 46 a3 88 ff       	call   0x140393aa0
140b0975a:	48 8b c3             	mov    %rbx,%rax
140b0975d:	48 8b 9c 24 d8 00 00 	mov    0xd8(%rsp),%rbx
140b09764:	00
140b09765:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
140b0976c:	5f                   	pop    %rdi
140b0976d:	5e                   	pop    %rsi
140b0976e:	5d                   	pop    %rbp
140b0976f:	c3                   	ret
140b09770:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140b09775:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140b0977a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140b0977f:	57                   	push   %rdi
140b09780:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
140b09787:	48 8b fa             	mov    %rdx,%rdi
140b0978a:	48 8b f1             	mov    %rcx,%rsi
140b0978d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140b09792:	e8 c9 56 01 00       	call   0x140b1ee60
140b09797:	48 8b d0             	mov    %rax,%rdx
140b0979a:	48 8b ce             	mov    %rsi,%rcx
140b0979d:	e8 9e fe ff ff       	call   0x140b09640
140b097a2:	48 8d 05 47 9d 4d 00 	lea    0x4d9d47(%rip),%rax        # 0x140fe34f0
140b097a9:	48 89 06             	mov    %rax,(%rsi)
140b097ac:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
140b097b0:	48 85 c9             	test   %rcx,%rcx
140b097b3:	74 10                	je     0x140b097c5
140b097b5:	48 83 29 01          	subq   $0x1,(%rcx)
140b097b9:	75 0a                	jne    0x140b097c5
140b097bb:	ba 18 00 00 00       	mov    $0x18,%edx
140b097c0:	e8 7f 19 31 00       	call   0x140e1b144
140b097c5:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
140b097c9:	e8 92 eb 68 ff       	call   0x140198360
140b097ce:	80 7f 48 00          	cmpb   $0x0,0x48(%rdi)
140b097d2:	74 09                	je     0x140b097dd
140b097d4:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140b097d8:	e8 23 3d 69 ff       	call   0x14019d500
140b097dd:	48 8b cf             	mov    %rdi,%rcx
140b097e0:	e8 bb a2 88 ff       	call   0x140393aa0
140b097e5:	48 8b c6             	mov    %rsi,%rax
140b097e8:	4c 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%r11
140b097ef:	00
140b097f0:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140b097f4:	49 8b 73 28          	mov    0x28(%r11),%rsi
140b097f8:	49 8b e3             	mov    %r11,%rsp
140b097fb:	5f                   	pop    %rdi
140b097fc:	c3                   	ret
140b097fd:	cc                   	int3
140b097fe:	cc                   	int3
140b097ff:	cc                   	int3
140b09800:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140b09805:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140b0980a:	53                   	push   %rbx
140b0980b:	55                   	push   %rbp
140b0980c:	56                   	push   %rsi
140b0980d:	57                   	push   %rdi
140b0980e:	41 56                	push   %r14
140b09810:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
140b09817:	48 8b fa             	mov    %rdx,%rdi
140b0981a:	4c 8b f1             	mov    %rcx,%r14
140b0981d:	4c 8b 42 10          	mov    0x10(%rdx),%r8
140b09821:	33 ed                	xor    %ebp,%ebp
140b09823:	48 89 6a 10          	mov    %rbp,0x10(%rdx)
140b09827:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140b0982b:	48 89 6a 08          	mov    %rbp,0x8(%rdx)
140b0982f:	48 8b 02             	mov    (%rdx),%rax
140b09832:	48 89 2a             	mov    %rbp,(%rdx)
140b09835:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140b0983a:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140b0983f:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140b09844:	48 83 c2 18          	add    $0x18,%rdx
140b09848:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140b0984d:	e8 be 91 88 ff       	call   0x140392a10
140b09852:	48 8b 47 68          	mov    0x68(%rdi),%rax
140b09856:	48 89 6f 68          	mov    %rbp,0x68(%rdi)
140b0985a:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140b09861:	00
140b09862:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
140b09867:	48 89 84 24 e0 00 00 	mov    %rax,0xe0(%rsp)
140b0986e:	00
140b0986f:	48 8d 05 5a 9c 4d 00 	lea    0x4d9c5a(%rip),%rax        # 0x140fe34d0
140b09876:	49 89 06             	mov    %rax,(%r14)
140b09879:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140b0987e:	48 8d 8c 24 d0 00 00 	lea    0xd0(%rsp),%rcx
140b09885:	00
140b09886:	e8 95 fd 00 00       	call   0x140b19620
140b0988b:	48 8b 08             	mov    (%rax),%rcx
140b0988e:	48 89 28             	mov    %rbp,(%rax)
140b09891:	49 89 4e 08          	mov    %rcx,0x8(%r14)
140b09895:	48 8b 08             	mov    (%rax),%rcx
140b09898:	48 85 c9             	test   %rcx,%rcx
140b0989b:	74 1a                	je     0x140b098b7
140b0989d:	48 83 69 08 01       	subq   $0x1,0x8(%rcx)
140b098a2:	75 13                	jne    0x140b098b7
140b098a4:	48 8b 01             	mov    (%rcx),%rax
140b098a7:	ba 01 00 00 00       	mov    $0x1,%edx
140b098ac:	48 8b 40 28          	mov    0x28(%rax),%rax
140b098b0:	ff 15 6a a1 47 00    	call   *0x47a16a(%rip)        # 0x140f83a20
140b098b6:	90                   	nop
140b098b7:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
140b098be:	00
140b098bf:	48 85 c9             	test   %rcx,%rcx
140b098c2:	74 10                	je     0x140b098d4
140b098c4:	48 83 29 01          	subq   $0x1,(%rcx)
140b098c8:	75 0a                	jne    0x140b098d4
140b098ca:	ba 18 00 00 00       	mov    $0x18,%edx
140b098cf:	e8 70 18 31 00       	call   0x140e1b144
140b098d4:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140b098d9:	e8 82 ea 68 ff       	call   0x140198360
140b098de:	80 7c 24 68 00       	cmpb   $0x0,0x68(%rsp)
140b098e3:	74 0a                	je     0x140b098ef
140b098e5:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140b098ea:	e8 11 3c 69 ff       	call   0x14019d500
140b098ef:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140b098f4:	e8 a7 a1 88 ff       	call   0x140393aa0
140b098f9:	48 8d 05 e0 9b 4d 00 	lea    0x4d9be0(%rip),%rax        # 0x140fe34e0
140b09900:	49 89 06             	mov    %rax,(%r14)
140b09903:	41 c6 86 a0 00 00 00 	movb   $0x0,0xa0(%r14)
140b0990a:	00
140b0990b:	41 c6 86 38 01 00 00 	movb   $0x0,0x138(%r14)
140b09912:	00
140b09913:	41 c6 86 d0 01 00 00 	movb   $0x0,0x1d0(%r14)
140b0991a:	00
140b0991b:	49 89 ae d8 01 00 00 	mov    %rbp,0x1d8(%r14)
140b09922:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
140b09926:	48 85 c9             	test   %rcx,%rcx
140b09929:	74 10                	je     0x140b0993b
140b0992b:	48 83 29 01          	subq   $0x1,(%rcx)
140b0992f:	75 0a                	jne    0x140b0993b
140b09931:	ba 18 00 00 00       	mov    $0x18,%edx
140b09936:	e8 09 18 31 00       	call   0x140e1b144
140b0993b:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
140b0993f:	e8 1c ea 68 ff       	call   0x140198360
140b09944:	80 7f 48 00          	cmpb   $0x0,0x48(%rdi)
140b09948:	74 09                	je     0x140b09953
140b0994a:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140b0994e:	e8 ad 3b 69 ff       	call   0x14019d500
140b09953:	48 8b 1f             	mov    (%rdi),%rbx
140b09956:	48 85 db             	test   %rbx,%rbx
140b09959:	74 7b                	je     0x140b099d6
140b0995b:	48 8b 77 08          	mov    0x8(%rdi),%rsi
140b0995f:	48 3b de             	cmp    %rsi,%rbx
140b09962:	74 11                	je     0x140b09975
140b09964:	48 8b cb             	mov    %rbx,%rcx
140b09967:	e8 84 9a 88 ff       	call   0x1403933f0
140b0996c:	48 83 c3 28          	add    $0x28,%rbx
140b09970:	48 3b de             	cmp    %rsi,%rbx
140b09973:	75 ef                	jne    0x140b09964
140b09975:	4c 8b 07             	mov    (%rdi),%r8
140b09978:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140b0997c:	49 2b c8             	sub    %r8,%rcx
140b0997f:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140b09986:	66 66 66
140b09989:	48 f7 e9             	imul   %rcx
140b0998c:	48 c1 fa 04          	sar    $0x4,%rdx
140b09990:	48 8b c2             	mov    %rdx,%rax
140b09993:	48 c1 e8 3f          	shr    $0x3f,%rax
140b09997:	48 03 d0             	add    %rax,%rdx
140b0999a:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140b0999e:	48 c1 e2 03          	shl    $0x3,%rdx
140b099a2:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140b099a9:	72 18                	jb     0x140b099c3
140b099ab:	48 83 c2 27          	add    $0x27,%rdx
140b099af:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140b099b3:	4c 2b c1             	sub    %rcx,%r8
140b099b6:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140b099ba:	48 83 f8 1f          	cmp    $0x1f,%rax
140b099be:	77 27                	ja     0x140b099e7
140b099c0:	4c 8b c1             	mov    %rcx,%r8
140b099c3:	49 8b c8             	mov    %r8,%rcx
140b099c6:	e8 79 17 31 00       	call   0x140e1b144
140b099cb:	48 89 2f             	mov    %rbp,(%rdi)
140b099ce:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140b099d2:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
140b099d6:	49 8b c6             	mov    %r14,%rax
140b099d9:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
140b099e0:	41 5e                	pop    %r14
140b099e2:	5f                   	pop    %rdi
140b099e3:	5e                   	pop    %rsi
140b099e4:	5d                   	pop    %rbp
140b099e5:	5b                   	pop    %rbx
140b099e6:	c3                   	ret
140b099e7:	e8 b8 07 32 00       	call   0x140e2a1a4
140b099ec:	cc                   	int3
140b099ed:	cc                   	int3
140b099ee:	cc                   	int3
140b099ef:	cc                   	int3
140b099f0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140b099f5:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140b099fa:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140b099ff:	56                   	push   %rsi
140b09a00:	57                   	push   %rdi
140b09a01:	41 56                	push   %r14
140b09a03:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
140b09a0a:	48 8b fa             	mov    %rdx,%rdi
140b09a0d:	4c 8b f1             	mov    %rcx,%r14
140b09a10:	4c 8b 42 10          	mov    0x10(%rdx),%r8
140b09a14:	33 ed                	xor    %ebp,%ebp
140b09a16:	48 89 6a 10          	mov    %rbp,0x10(%rdx)
140b09a1a:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140b09a1e:	48 89 6a 08          	mov    %rbp,0x8(%rdx)
140b09a22:	48 8b 02             	mov    (%rdx),%rax
140b09a25:	48 89 2a             	mov    %rbp,(%rdx)
140b09a28:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140b09a2d:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140b09a32:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140b09a37:	48 83 c2 18          	add    $0x18,%rdx
140b09a3b:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140b09a40:	e8 cb 8f 88 ff       	call   0x140392a10
140b09a45:	48 8b 47 68          	mov    0x68(%rdi),%rax
140b09a49:	48 89 6f 68          	mov    %rbp,0x68(%rdi)
140b09a4d:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140b09a54:	00
140b09a55:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140b09a5a:	49 8b ce             	mov    %r14,%rcx
140b09a5d:	e8 9e fd ff ff       	call   0x140b09800
140b09a62:	48 8d 05 87 9a 4d 00 	lea    0x4d9a87(%rip),%rax        # 0x140fe34f0
140b09a69:	49 89 06             	mov    %rax,(%r14)
140b09a6c:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
140b09a70:	48 85 c9             	test   %rcx,%rcx
140b09a73:	74 10                	je     0x140b09a85
140b09a75:	48 83 29 01          	subq   $0x1,(%rcx)
140b09a79:	75 0a                	jne    0x140b09a85
140b09a7b:	ba 18 00 00 00       	mov    $0x18,%edx
140b09a80:	e8 bf 16 31 00       	call   0x140e1b144
140b09a85:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
140b09a89:	e8 d2 e8 68 ff       	call   0x140198360
140b09a8e:	80 7f 48 00          	cmpb   $0x0,0x48(%rdi)
140b09a92:	74 09                	je     0x140b09a9d
140b09a94:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140b09a98:	e8 63 3a 69 ff       	call   0x14019d500
140b09a9d:	48 8b 1f             	mov    (%rdi),%rbx
140b09aa0:	48 85 db             	test   %rbx,%rbx
140b09aa3:	74 7d                	je     0x140b09b22
140b09aa5:	48 8b 77 08          	mov    0x8(%rdi),%rsi
140b09aa9:	48 3b de             	cmp    %rsi,%rbx
140b09aac:	74 13                	je     0x140b09ac1
140b09aae:	66 90                	xchg   %ax,%ax
140b09ab0:	48 8b cb             	mov    %rbx,%rcx
140b09ab3:	e8 38 99 88 ff       	call   0x1403933f0
140b09ab8:	48 83 c3 28          	add    $0x28,%rbx
140b09abc:	48 3b de             	cmp    %rsi,%rbx
140b09abf:	75 ef                	jne    0x140b09ab0
140b09ac1:	4c 8b 07             	mov    (%rdi),%r8
140b09ac4:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140b09ac8:	49 2b c8             	sub    %r8,%rcx
140b09acb:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140b09ad2:	66 66 66
140b09ad5:	48 f7 e9             	imul   %rcx
140b09ad8:	48 c1 fa 04          	sar    $0x4,%rdx
140b09adc:	48 8b c2             	mov    %rdx,%rax