140145620:	48 85 c0             	test   %rax,%rax
140145623:	74 02                	je     0x140145627
140145625:	ff d0                	call   *%rax
140145627:	48 89 1e             	mov    %rbx,(%rsi)
14014562a:	48 8b c6             	mov    %rsi,%rax
14014562d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140145632:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140145637:	48 83 c4 30          	add    $0x30,%rsp
14014563b:	5f                   	pop    %rdi
14014563c:	c3                   	ret
14014563d:	cc                   	int3
14014563e:	cc                   	int3
14014563f:	cc                   	int3
140145640:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140145645:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14014564a:	56                   	push   %rsi
14014564b:	57                   	push   %rdi
14014564c:	41 54                	push   %r12
14014564e:	41 56                	push   %r14
140145650:	41 57                	push   %r15
140145652:	48 83 ec 50          	sub    $0x50,%rsp
140145656:	49 8b d8             	mov    %r8,%rbx
140145659:	4c 8b fa             	mov    %rdx,%r15
14014565c:	4c 8b f1             	mov    %rcx,%r14
14014565f:	48 8b 39             	mov    (%rcx),%rdi
140145662:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140145667:	45 33 e4             	xor    %r12d,%r12d
14014566a:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
14014566f:	41 8d 4c 24 50       	lea    0x50(%r12),%ecx
140145674:	e8 77 0c 04 00       	call   0x1401862f0
140145679:	48 8b e8             	mov    %rax,%rbp
14014567c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140145681:	48 8d 70 20          	lea    0x20(%rax),%rsi
140145685:	48 89 b4 24 80 00 00 	mov    %rsi,0x80(%rsp)
14014568c:	00
14014568d:	48 8b d3             	mov    %rbx,%rdx
140145690:	48 8b ce             	mov    %rsi,%rcx
140145693:	e8 38 05 00 00       	call   0x140145bd0
140145698:	90                   	nop
140145699:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
14014569d:	48 8d 53 18          	lea    0x18(%rbx),%rdx
1401456a1:	e8 2a 05 00 00       	call   0x140145bd0
1401456a6:	90                   	nop
1401456a7:	48 89 7d 00          	mov    %rdi,0x0(%rbp)
1401456ab:	48 89 7d 08          	mov    %rdi,0x8(%rbp)
1401456af:	48 89 7d 10          	mov    %rdi,0x10(%rbp)
1401456b3:	66 44 89 65 18       	mov    %r12w,0x18(%rbp)
1401456b8:	49 8b 1e             	mov    (%r14),%rbx
1401456bb:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1401456bf:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1401456c4:	44 89 64 24 38       	mov    %r12d,0x38(%rsp)
1401456c9:	44 38 63 19          	cmp    %r12b,0x19(%rbx)
1401456cd:	75 67                	jne    0x140145736
1401456cf:	90                   	nop
1401456d0:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1401456d5:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1401456d9:	48 85 c9             	test   %rcx,%rcx
1401456dc:	74 07                	je     0x1401456e5
1401456de:	48 83 79 08 00       	cmpq   $0x0,0x8(%rcx)
1401456e3:	75 10                	jne    0x1401456f5
1401456e5:	48 8b 53 28          	mov    0x28(%rbx),%rdx
1401456e9:	48 85 d2             	test   %rdx,%rdx
1401456ec:	74 39                	je     0x140145727
1401456ee:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
1401456f3:	74 32                	je     0x140145727
1401456f5:	48 85 c9             	test   %rcx,%rcx
1401456f8:	74 20                	je     0x14014571a
1401456fa:	48 83 79 08 00       	cmpq   $0x0,0x8(%rcx)
1401456ff:	74 19                	je     0x14014571a
140145701:	48 8b 53 28          	mov    0x28(%rbx),%rdx
140145705:	48 85 d2             	test   %rdx,%rdx
140145708:	74 1d                	je     0x140145727
14014570a:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
14014570f:	74 16                	je     0x140145727
140145711:	e8 76 40 ff ff       	call   0x14013978c
140145716:	85 c0                	test   %eax,%eax
140145718:	79 0d                	jns    0x140145727
14014571a:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140145721:	00
140145722:	48 8b 1b             	mov    (%rbx),%rbx
140145725:	eb 09                	jmp    0x140145730
140145727:	44 89 64 24 38       	mov    %r12d,0x38(%rsp)
14014572c:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
140145730:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140145734:	74 9a                	je     0x1401456d0
140145736:	48 b8 33 33 33 33 33 	movabs $0x333333333333333,%rax
14014573d:	33 33 03
140145740:	49 39 46 08          	cmp    %rax,0x8(%r14)
140145744:	74 3e                	je     0x140145784
140145746:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
14014574b:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
140145750:	4c 8b c5             	mov    %rbp,%r8
140145753:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140145758:	49 8b ce             	mov    %r14,%rcx
14014575b:	e8 10 07 00 00       	call   0x140145e70
140145760:	49 89 07             	mov    %rax,(%r15)
140145763:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140145768:	49 8b c7             	mov    %r15,%rax
14014576b:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
140145770:	49 8b 5b 38          	mov    0x38(%r11),%rbx
140145774:	49 8b 6b 40          	mov    0x40(%r11),%rbp
140145778:	49 8b e3             	mov    %r11,%rsp
14014577b:	41 5f                	pop    %r15
14014577d:	41 5e                	pop    %r14
14014577f:	41 5c                	pop    %r12
140145781:	5f                   	pop    %rdi
140145782:	5e                   	pop    %rsi
140145783:	c3                   	ret
140145784:	e8 07 08 f8 ff       	call   0x1400c5f90
140145789:	90                   	nop
14014578a:	cc                   	int3
14014578b:	cc                   	int3
14014578c:	cc                   	int3
14014578d:	cc                   	int3
14014578e:	cc                   	int3
14014578f:	cc                   	int3
140145790:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140145795:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14014579a:	56                   	push   %rsi
14014579b:	57                   	push   %rdi
14014579c:	41 54                	push   %r12
14014579e:	41 56                	push   %r14
1401457a0:	41 57                	push   %r15
1401457a2:	48 83 ec 50          	sub    $0x50,%rsp
1401457a6:	49 8b e8             	mov    %r8,%rbp
1401457a9:	4c 8b f2             	mov    %rdx,%r14
1401457ac:	4c 8b f9             	mov    %rcx,%r15
1401457af:	48 8b 39             	mov    (%rcx),%rdi
1401457b2:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
1401457b6:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1401457bb:	45 33 e4             	xor    %r12d,%r12d
1401457be:	44 89 64 24 38       	mov    %r12d,0x38(%rsp)
1401457c3:	44 38 63 19          	cmp    %r12b,0x19(%rbx)
1401457c7:	75 6c                	jne    0x140145835
1401457c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401457d0:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1401457d5:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
1401457d9:	48 85 c9             	test   %rcx,%rcx
1401457dc:	74 06                	je     0x1401457e4
1401457de:	4c 39 61 08          	cmp    %r12,0x8(%rcx)
1401457e2:	75 0f                	jne    0x1401457f3
1401457e4:	48 8b 55 08          	mov    0x8(%rbp),%rdx
1401457e8:	48 85 d2             	test   %rdx,%rdx
1401457eb:	74 34                	je     0x140145821
1401457ed:	4c 39 62 08          	cmp    %r12,0x8(%rdx)
1401457f1:	74 2e                	je     0x140145821
1401457f3:	48 85 c9             	test   %rcx,%rcx
1401457f6:	74 1e                	je     0x140145816
1401457f8:	4c 39 61 08          	cmp    %r12,0x8(%rcx)
1401457fc:	74 18                	je     0x140145816
1401457fe:	48 8b 55 08          	mov    0x8(%rbp),%rdx
140145802:	48 85 d2             	test   %rdx,%rdx
140145805:	74 1a                	je     0x140145821
140145807:	4c 39 62 08          	cmp    %r12,0x8(%rdx)
14014580b:	74 14                	je     0x140145821
14014580d:	e8 7a 3f ff ff       	call   0x14013978c
140145812:	85 c0                	test   %eax,%eax
140145814:	79 0b                	jns    0x140145821
140145816:	44 89 64 24 38       	mov    %r12d,0x38(%rsp)
14014581b:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
14014581f:	eb 0e                	jmp    0x14014582f
140145821:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140145828:	00
140145829:	48 8b fb             	mov    %rbx,%rdi
14014582c:	48 8b 1b             	mov    (%rbx),%rbx
14014582f:	44 38 63 19          	cmp    %r12b,0x19(%rbx)
140145833:	74 9b                	je     0x1401457d0
140145835:	44 38 67 19          	cmp    %r12b,0x19(%rdi)
140145839:	75 1f                	jne    0x14014585a
14014583b:	4c 8d 47 20          	lea    0x20(%rdi),%r8
14014583f:	48 8b d5             	mov    %rbp,%rdx
140145842:	49 8b cf             	mov    %r15,%rcx
140145845:	e8 a6 05 00 00       	call   0x140145df0
14014584a:	84 c0                	test   %al,%al
14014584c:	75 0c                	jne    0x14014585a
14014584e:	49 89 3e             	mov    %rdi,(%r14)
140145851:	45 88 66 08          	mov    %r12b,0x8(%r14)
140145855:	e9 8c 00 00 00       	jmp    0x1401458e6
14014585a:	48 b8 33 33 33 33 33 	movabs $0x333333333333333,%rax
140145861:	33 33 03
140145864:	49 39 47 08          	cmp    %rax,0x8(%r15)
140145868:	0f 84 94 00 00 00    	je     0x140145902
14014586e:	49 8b 37             	mov    (%r15),%rsi
140145871:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140145876:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
14014587b:	b9 50 00 00 00       	mov    $0x50,%ecx
140145880:	e8 6b 0a 04 00       	call   0x1401862f0
140145885:	48 8b f8             	mov    %rax,%rdi
140145888:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14014588d:	48 8d 58 20          	lea    0x20(%rax),%rbx
140145891:	48 89 9c 24 80 00 00 	mov    %rbx,0x80(%rsp)
140145898:	00
140145899:	48 8b d5             	mov    %rbp,%rdx
14014589c:	48 8b cb             	mov    %rbx,%rcx
14014589f:	e8 2c 03 00 00       	call   0x140145bd0
1401458a4:	90                   	nop
1401458a5:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
1401458a9:	48 8d 55 18          	lea    0x18(%rbp),%rdx
1401458ad:	e8 1e 03 00 00       	call   0x140145bd0
1401458b2:	90                   	nop
1401458b3:	48 89 37             	mov    %rsi,(%rdi)
1401458b6:	48 89 77 08          	mov    %rsi,0x8(%rdi)
1401458ba:	48 89 77 10          	mov    %rsi,0x10(%rdi)
1401458be:	66 c7 47 18 00 00    	movw   $0x0,0x18(%rdi)
1401458c4:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
1401458c9:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
1401458ce:	4c 8b c7             	mov    %rdi,%r8
1401458d1:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1401458d6:	49 8b cf             	mov    %r15,%rcx
1401458d9:	e8 92 05 00 00       	call   0x140145e70
1401458de:	49 89 06             	mov    %rax,(%r14)
1401458e1:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1401458e6:	49 8b c6             	mov    %r14,%rax
1401458e9:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
1401458ee:	49 8b 5b 38          	mov    0x38(%r11),%rbx
1401458f2:	49 8b 6b 40          	mov    0x40(%r11),%rbp
1401458f6:	49 8b e3             	mov    %r11,%rsp
1401458f9:	41 5f                	pop    %r15
1401458fb:	41 5e                	pop    %r14
1401458fd:	41 5c                	pop    %r12
1401458ff:	5f                   	pop    %rdi
140145900:	5e                   	pop    %rsi
140145901:	c3                   	ret
140145902:	e8 89 06 f8 ff       	call   0x1400c5f90
140145907:	cc                   	int3
140145908:	cc                   	int3
140145909:	cc                   	int3
14014590a:	cc                   	int3
14014590b:	cc                   	int3
14014590c:	cc                   	int3
14014590d:	cc                   	int3
14014590e:	cc                   	int3
14014590f:	cc                   	int3
140145910:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140145915:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14014591a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14014591f:	57                   	push   %rdi
140145920:	41 54                	push   %r12
140145922:	41 55                	push   %r13
140145924:	41 56                	push   %r14
140145926:	41 57                	push   %r15
140145928:	48 83 ec 40          	sub    $0x40,%rsp
14014592c:	49 8b e8             	mov    %r8,%rbp
14014592f:	48 8b fa             	mov    %rdx,%rdi
140145932:	4c 8b f1             	mov    %rcx,%r14
140145935:	4c 8b 11             	mov    (%rcx),%r10
140145938:	4c 8b ca             	mov    %rdx,%r9
14014593b:	4d 2b ca             	sub    %r10,%r9
14014593e:	49 bb ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r11
140145945:	aa aa 2a
140145948:	49 8b c3             	mov    %r11,%rax
14014594b:	49 f7 e9             	imul   %r9
14014594e:	48 8b da             	mov    %rdx,%rbx
140145951:	48 c1 fb 02          	sar    $0x2,%rbx
140145955:	48 8b c3             	mov    %rbx,%rax
140145958:	48 c1 e8 3f          	shr    $0x3f,%rax
14014595c:	48 03 d8             	add    %rax,%rbx
14014595f:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140145963:	49 2b ca             	sub    %r10,%rcx
140145966:	49 8b c3             	mov    %r11,%rax
140145969:	48 f7 e9             	imul   %rcx
14014596c:	48 c1 fa 02          	sar    $0x2,%rdx
140145970:	48 8b c2             	mov    %rdx,%rax
140145973:	48 c1 e8 3f          	shr    $0x3f,%rax
140145977:	48 03 d0             	add    %rax,%rdx
14014597a:	49 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%r8
140145981:	aa aa 0a
140145984:	49 3b d0             	cmp    %r8,%rdx
140145987:	0f 84 d7 01 00 00    	je     0x140145b64
14014598d:	4c 8d 62 01          	lea    0x1(%rdx),%r12
140145991:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140145995:	49 2b ca             	sub    %r10,%rcx
140145998:	49 8b c3             	mov    %r11,%rax
14014599b:	48 f7 e9             	imul   %rcx
14014599e:	48 c1 fa 02          	sar    $0x2,%rdx
1401459a2:	48 8b c2             	mov    %rdx,%rax
1401459a5:	48 c1 e8 3f          	shr    $0x3f,%rax
1401459a9:	48 03 d0             	add    %rax,%rdx
1401459ac:	48 8b ca             	mov    %rdx,%rcx
1401459af:	48 d1 e9             	shr    $1,%rcx
1401459b2:	49 8b c0             	mov    %r8,%rax
1401459b5:	48 2b c1             	sub    %rcx,%rax
1401459b8:	48 3b d0             	cmp    %rax,%rdx
1401459bb:	0f 87 9d 01 00 00    	ja     0x140145b5e
1401459c1:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
1401459c5:	49 8b cc             	mov    %r12,%rcx
1401459c8:	49 3b c4             	cmp    %r12,%rax
1401459cb:	48 0f 43 c8          	cmovae %rax,%rcx
1401459cf:	49 3b c8             	cmp    %r8,%rcx
1401459d2:	0f 87 86 01 00 00    	ja     0x140145b5e
1401459d8:	48 8d 04 49          	lea    (%rcx,%rcx,2),%rax
1401459dc:	4c 8d 3c c5 00 00 00 	lea    0x0(,%rax,8),%r15
1401459e3:	00
1401459e4:	49 81 ff 00 10 00 00 	cmp    $0x1000,%r15
1401459eb:	72 29                	jb     0x140145a16
1401459ed:	49 8d 4f 27          	lea    0x27(%r15),%rcx
1401459f1:	49 3b cf             	cmp    %r15,%rcx
1401459f4:	0f 86 64 01 00 00    	jbe    0x140145b5e
1401459fa:	e8 f1 08 04 00       	call   0x1401862f0
1401459ff:	48 85 c0             	test   %rax,%rax
140145a02:	0f 84 50 01 00 00    	je     0x140145b58
140145a08:	48 8d 70 27          	lea    0x27(%rax),%rsi
140145a0c:	48 83 e6 e0          	and    $0xffffffffffffffe0,%rsi
140145a10:	48 89 46 f8          	mov    %rax,-0x8(%rsi)
140145a14:	eb 14                	jmp    0x140145a2a
140145a16:	4d 85 ff             	test   %r15,%r15
140145a19:	74 0d                	je     0x140145a28
140145a1b:	49 8b cf             	mov    %r15,%rcx
140145a1e:	e8 cd 08 04 00       	call   0x1401862f0
140145a23:	48 8b f0             	mov    %rax,%rsi
140145a26:	eb 02                	jmp    0x140145a2a
140145a28:	33 f6                	xor    %esi,%esi
140145a2a:	48 8d 04 5b          	lea    (%rbx,%rbx,2),%rax
140145a2e:	4c 8d 2c c6          	lea    (%rsi,%rax,8),%r13
140145a32:	48 8b d5             	mov    %rbp,%rdx
140145a35:	49 8b cd             	mov    %r13,%rcx
140145a38:	e8 93 01 00 00       	call   0x140145bd0
140145a3d:	49 8b 6e 08          	mov    0x8(%r14),%rbp
140145a41:	49 8b 1e             	mov    (%r14),%rbx
140145a44:	48 3b fd             	cmp    %rbp,%rdi
140145a47:	75 36                	jne    0x140145a7f
140145a49:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140145a4e:	48 8b fe             	mov    %rsi,%rdi
140145a51:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140145a56:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140145a5b:	48 3b dd             	cmp    %rbp,%rbx
140145a5e:	74 1d                	je     0x140145a7d
140145a60:	48 8b d3             	mov    %rbx,%rdx
140145a63:	48 8b cf             	mov    %rdi,%rcx
140145a66:	e8 65 01 00 00       	call   0x140145bd0
140145a6b:	48 83 c7 18          	add    $0x18,%rdi
140145a6f:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140145a74:	48 83 c3 18          	add    $0x18,%rbx
140145a78:	48 3b dd             	cmp    %rbp,%rbx
140145a7b:	75 e3                	jne    0x140145a60
140145a7d:	eb 24                	jmp    0x140145aa3
140145a7f:	4d 8b ce             	mov    %r14,%r9
140145a82:	4c 8b c6             	mov    %rsi,%r8
140145a85:	48 8b d7             	mov    %rdi,%rdx
140145a88:	48 8b cb             	mov    %rbx,%rcx
140145a8b:	e8 e0 00 00 00       	call   0x140145b70
140145a90:	4d 8d 45 18          	lea    0x18(%r13),%r8
140145a94:	4d 8b ce             	mov    %r14,%r9
140145a97:	49 8b 56 08          	mov    0x8(%r14),%rdx
140145a9b:	48 8b cf             	mov    %rdi,%rcx
140145a9e:	e8 cd 00 00 00       	call   0x140145b70
140145aa3:	49 8b 1e             	mov    (%r14),%rbx
140145aa6:	48 85 db             	test   %rbx,%rbx
140145aa9:	74 73                	je     0x140145b1e
140145aab:	49 8b 7e 08          	mov    0x8(%r14),%rdi