1400f063a:	3b df                	cmp    %edi,%ebx
1400f063c:	0f 87 29 01 00 00    	ja     0x1400f076b
1400f0642:	3b 7e 20             	cmp    0x20(%rsi),%edi
1400f0645:	73 52                	jae    0x1400f0699
1400f0647:	48 8b 4d 28          	mov    0x28(%rbp),%rcx
1400f064b:	48 85 c9             	test   %rcx,%rcx
1400f064e:	75 20                	jne    0x1400f0670
1400f0650:	b9 20 00 00 00       	mov    $0x20,%ecx
1400f0655:	e8 96 5c 09 00       	call   0x1401862f0
1400f065a:	0f 57 c0             	xorps  %xmm0,%xmm0
1400f065d:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1400f0662:	48 8b c8             	mov    %rax,%rcx
1400f0665:	0f 11 00             	movups %xmm0,(%rax)
1400f0668:	0f 11 40 10          	movups %xmm0,0x10(%rax)
1400f066c:	48 89 45 28          	mov    %rax,0x28(%rbp)
1400f0670:	8b d3                	mov    %ebx,%edx
1400f0672:	8b c3                	mov    %ebx,%eax
1400f0674:	48 c1 ea 03          	shr    $0x3,%rdx
1400f0678:	83 e0 07             	and    $0x7,%eax
1400f067b:	48 03 d1             	add    %rcx,%rdx
1400f067e:	ff c3                	inc    %ebx
1400f0680:	0f b6 0a             	movzbl (%rdx),%ecx
1400f0683:	0f ab c1             	bts    %eax,%ecx
1400f0686:	88 0a                	mov    %cl,(%rdx)
1400f0688:	3b df                	cmp    %edi,%ebx
1400f068a:	76 b6                	jbe    0x1400f0642
1400f068c:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1400f0691:	48 83 c4 20          	add    $0x20,%rsp
1400f0695:	5f                   	pop    %rdi
1400f0696:	5e                   	pop    %rsi
1400f0697:	5d                   	pop    %rbp
1400f0698:	c3                   	ret
1400f0699:	3b fb                	cmp    %ebx,%edi
1400f069b:	0f 82 ca 00 00 00    	jb     0x1400f076b
1400f06a1:	8b c7                	mov    %edi,%eax
1400f06a3:	2b c3                	sub    %ebx,%eax
1400f06a5:	3b 46 24             	cmp    0x24(%rsi),%eax
1400f06a8:	73 24                	jae    0x1400f06ce
1400f06aa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1400f06b0:	0f b7 d3             	movzwl %bx,%edx
1400f06b3:	48 8b ce             	mov    %rsi,%rcx
1400f06b6:	e8 b5 01 00 00       	call   0x1400f0870
1400f06bb:	ff c3                	inc    %ebx
1400f06bd:	3b df                	cmp    %edi,%ebx
1400f06bf:	76 ef                	jbe    0x1400f06b0
1400f06c1:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1400f06c6:	48 83 c4 20          	add    $0x20,%rsp
1400f06ca:	5f                   	pop    %rdi
1400f06cb:	5e                   	pop    %rsi
1400f06cc:	5d                   	pop    %rbp
1400f06cd:	c3                   	ret
1400f06ce:	48 8b 75 38          	mov    0x38(%rbp),%rsi
1400f06d2:	48 85 f6             	test   %rsi,%rsi
1400f06d5:	75 1d                	jne    0x1400f06f4
1400f06d7:	8d 4e 10             	lea    0x10(%rsi),%ecx
1400f06da:	e8 11 5c 09 00       	call   0x1401862f0
1400f06df:	33 c9                	xor    %ecx,%ecx
1400f06e1:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1400f06e6:	48 8b f0             	mov    %rax,%rsi
1400f06e9:	48 89 08             	mov    %rcx,(%rax)
1400f06ec:	48 89 48 08          	mov    %rcx,0x8(%rax)
1400f06f0:	48 89 45 38          	mov    %rax,0x38(%rbp)
1400f06f4:	8b 46 04             	mov    0x4(%rsi),%eax
1400f06f7:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
1400f06fc:	39 06                	cmp    %eax,(%rsi)
1400f06fe:	77 22                	ja     0x1400f0722
1400f0700:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1400f0704:	44 8d 70 10          	lea    0x10(%rax),%r14d
1400f0708:	41 8b d6             	mov    %r14d,%edx
1400f070b:	48 03 d2             	add    %rdx,%rdx
1400f070e:	e8 25 0e 0a 00       	call   0x140191538
1400f0713:	48 85 c0             	test   %rax,%rax
1400f0716:	74 66                	je     0x1400f077e
1400f0718:	48 89 46 08          	mov    %rax,0x8(%rsi)
1400f071c:	8b 46 04             	mov    0x4(%rsi),%eax
1400f071f:	44 89 36             	mov    %r14d,(%rsi)
1400f0722:	8b c8                	mov    %eax,%ecx
1400f0724:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400f0728:	66 89 1c 48          	mov    %bx,(%rax,%rcx,2)
1400f072c:	ff 46 04             	incl   0x4(%rsi)
1400f072f:	48 8b 5d 38          	mov    0x38(%rbp),%rbx
1400f0733:	8b 43 04             	mov    0x4(%rbx),%eax
1400f0736:	39 03                	cmp    %eax,(%rbx)
1400f0738:	77 1f                	ja     0x1400f0759
1400f073a:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400f073e:	8d 70 10             	lea    0x10(%rax),%esi
1400f0741:	8b d6                	mov    %esi,%edx
1400f0743:	48 03 d2             	add    %rdx,%rdx
1400f0746:	e8 ed 0d 0a 00       	call   0x140191538
1400f074b:	48 85 c0             	test   %rax,%rax
1400f074e:	74 28                	je     0x1400f0778
1400f0750:	48 89 43 08          	mov    %rax,0x8(%rbx)
1400f0754:	8b 43 04             	mov    0x4(%rbx),%eax
1400f0757:	89 33                	mov    %esi,(%rbx)
1400f0759:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
1400f075e:	8b c8                	mov    %eax,%ecx
1400f0760:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400f0764:	66 89 3c 48          	mov    %di,(%rax,%rcx,2)
1400f0768:	ff 43 04             	incl   0x4(%rbx)
1400f076b:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1400f0770:	48 83 c4 20          	add    $0x20,%rsp
1400f0774:	5f                   	pop    %rdi
1400f0775:	5e                   	pop    %rsi
1400f0776:	5d                   	pop    %rbp
1400f0777:	c3                   	ret
1400f0778:	e8 a3 64 07 00       	call   0x140166c20
1400f077d:	cc                   	int3
1400f077e:	e8 9d 64 07 00       	call   0x140166c20
1400f0783:	cc                   	int3
1400f0784:	cc                   	int3
1400f0785:	cc                   	int3
1400f0786:	cc                   	int3
1400f0787:	cc                   	int3
1400f0788:	cc                   	int3
1400f0789:	cc                   	int3
1400f078a:	cc                   	int3
1400f078b:	cc                   	int3
1400f078c:	cc                   	int3
1400f078d:	cc                   	int3
1400f078e:	cc                   	int3
1400f078f:	cc                   	int3
1400f0790:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400f0795:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1400f079a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400f079f:	57                   	push   %rdi
1400f07a0:	41 56                	push   %r14
1400f07a2:	41 57                	push   %r15
1400f07a4:	48 83 ec 20          	sub    $0x20,%rsp
1400f07a8:	48 8b 71 08          	mov    0x8(%rcx),%rsi
1400f07ac:	33 db                	xor    %ebx,%ebx
1400f07ae:	8b fb                	mov    %ebx,%edi
1400f07b0:	45 0f b6 f8          	movzbl %r8b,%r15d
1400f07b4:	0f b7 ea             	movzwl %dx,%ebp
1400f07b7:	4c 8b f1             	mov    %rcx,%r14
1400f07ba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1400f07c0:	49 8b 4e 18          	mov    0x18(%r14),%rcx
1400f07c4:	66 83 fd ff          	cmp    $0xffff,%bp
1400f07c8:	74 13                	je     0x1400f07dd
1400f07ca:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400f07ce:	44 0f b7 c3          	movzwl %bx,%r8d
1400f07d2:	0f b7 d5             	movzwl %bp,%edx
1400f07d5:	48 8b 01             	mov    (%rcx),%rax
1400f07d8:	ff 50 20             	call   *0x20(%rax)
1400f07db:	eb 1f                	jmp    0x1400f07fc
1400f07dd:	66 83 fb 5f          	cmp    $0x5f,%bx
1400f07e1:	74 17                	je     0x1400f07fa
1400f07e3:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400f07e7:	ba 07 01 00 00       	mov    $0x107,%edx
1400f07ec:	44 0f b7 c3          	movzwl %bx,%r8d
1400f07f0:	48 8b 01             	mov    (%rcx),%rax
1400f07f3:	ff 50 20             	call   *0x20(%rax)
1400f07f6:	84 c0                	test   %al,%al
1400f07f8:	74 02                	je     0x1400f07fc
1400f07fa:	b0 01                	mov    $0x1,%al
1400f07fc:	41 3a c7             	cmp    %r15b,%al
1400f07ff:	74 40                	je     0x1400f0841
1400f0801:	48 8b 4e 28          	mov    0x28(%rsi),%rcx
1400f0805:	48 85 c9             	test   %rcx,%rcx
1400f0808:	75 20                	jne    0x1400f082a
1400f080a:	b9 20 00 00 00       	mov    $0x20,%ecx
1400f080f:	e8 dc 5a 09 00       	call   0x1401862f0
1400f0814:	0f 57 c0             	xorps  %xmm0,%xmm0
1400f0817:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1400f081c:	48 8b c8             	mov    %rax,%rcx
1400f081f:	0f 11 00             	movups %xmm0,(%rax)
1400f0822:	0f 11 40 10          	movups %xmm0,0x10(%rax)
1400f0826:	48 89 46 28          	mov    %rax,0x28(%rsi)
1400f082a:	48 8b d7             	mov    %rdi,%rdx
1400f082d:	8b c3                	mov    %ebx,%eax
1400f082f:	48 c1 ea 03          	shr    $0x3,%rdx
1400f0833:	83 e0 07             	and    $0x7,%eax
1400f0836:	48 03 d1             	add    %rcx,%rdx
1400f0839:	0f b6 0a             	movzbl (%rdx),%ecx
1400f083c:	0f ab c1             	bts    %eax,%ecx
1400f083f:	88 0a                	mov    %cl,(%rdx)
1400f0841:	ff c3                	inc    %ebx
1400f0843:	48 ff c7             	inc    %rdi
1400f0846:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
1400f084c:	0f 82 6e ff ff ff    	jb     0x1400f07c0
1400f0852:	66 09 6e 40          	or     %bp,0x40(%rsi)
1400f0856:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
1400f085b:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
1400f0860:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
1400f0865:	48 83 c4 20          	add    $0x20,%rsp
1400f0869:	41 5f                	pop    %r15
1400f086b:	41 5e                	pop    %r14
1400f086d:	5f                   	pop    %rdi
1400f086e:	c3                   	ret
1400f086f:	cc                   	int3
1400f0870:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400f0875:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400f087a:	57                   	push   %rdi
1400f087b:	48 83 ec 20          	sub    $0x20,%rsp
1400f087f:	f7 41 10 00 01 00 00 	testl  $0x100,0x10(%rcx)
1400f0886:	0f b7 f2             	movzwl %dx,%esi
1400f0889:	48 8b d9             	mov    %rcx,%rbx
1400f088c:	74 11                	je     0x1400f089f
1400f088e:	48 8b 41 18          	mov    0x18(%rcx),%rax
1400f0892:	48 8b 48 08          	mov    0x8(%rax),%rcx
1400f0896:	48 8b 01             	mov    (%rcx),%rax
1400f0899:	ff 50 40             	call   *0x40(%rax)
1400f089c:	0f b7 f0             	movzwl %ax,%esi
1400f089f:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
1400f08a3:	48 8b 5f 30          	mov    0x30(%rdi),%rbx
1400f08a7:	48 85 db             	test   %rbx,%rbx
1400f08aa:	75 1d                	jne    0x1400f08c9
1400f08ac:	8d 4b 10             	lea    0x10(%rbx),%ecx
1400f08af:	e8 3c 5a 09 00       	call   0x1401862f0
1400f08b4:	33 c9                	xor    %ecx,%ecx
1400f08b6:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400f08bb:	48 8b d8             	mov    %rax,%rbx
1400f08be:	48 89 08             	mov    %rcx,(%rax)
1400f08c1:	48 89 48 08          	mov    %rcx,0x8(%rax)
1400f08c5:	48 89 47 30          	mov    %rax,0x30(%rdi)
1400f08c9:	8b 43 04             	mov    0x4(%rbx),%eax
1400f08cc:	39 03                	cmp    %eax,(%rbx)
1400f08ce:	77 1f                	ja     0x1400f08ef
1400f08d0:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400f08d4:	8d 78 10             	lea    0x10(%rax),%edi
1400f08d7:	8b d7                	mov    %edi,%edx
1400f08d9:	48 03 d2             	add    %rdx,%rdx
1400f08dc:	e8 57 0c 0a 00       	call   0x140191538
1400f08e1:	48 85 c0             	test   %rax,%rax
1400f08e4:	74 26                	je     0x1400f090c
1400f08e6:	48 89 43 08          	mov    %rax,0x8(%rbx)
1400f08ea:	8b 43 04             	mov    0x4(%rbx),%eax
1400f08ed:	89 3b                	mov    %edi,(%rbx)
1400f08ef:	8b c8                	mov    %eax,%ecx
1400f08f1:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400f08f5:	66 89 34 48          	mov    %si,(%rax,%rcx,2)
1400f08f9:	ff 43 04             	incl   0x4(%rbx)
1400f08fc:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400f0901:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400f0906:	48 83 c4 20          	add    $0x20,%rsp
1400f090a:	5f                   	pop    %rdi
1400f090b:	c3                   	ret
1400f090c:	e8 0f 63 07 00       	call   0x140166c20
1400f0911:	cc                   	int3
1400f0912:	cc                   	int3
1400f0913:	cc                   	int3
1400f0914:	cc                   	int3
1400f0915:	cc                   	int3
1400f0916:	cc                   	int3
1400f0917:	cc                   	int3
1400f0918:	cc                   	int3
1400f0919:	cc                   	int3
1400f091a:	cc                   	int3
1400f091b:	cc                   	int3
1400f091c:	cc                   	int3
1400f091d:	cc                   	int3
1400f091e:	cc                   	int3
1400f091f:	cc                   	int3
1400f0920:	48 8b c4             	mov    %rsp,%rax
1400f0923:	44 88 48 20          	mov    %r9b,0x20(%rax)
1400f0927:	48 89 50 10          	mov    %rdx,0x10(%rax)
1400f092b:	41 57                	push   %r15
1400f092d:	48 83 ec 60          	sub    $0x60,%rsp
1400f0931:	48 89 68 f0          	mov    %rbp,-0x10(%rax)
1400f0935:	4c 8d 15 34 ac 14 00 	lea    0x14ac34(%rip),%r10        # 0x14023b570
1400f093c:	45 33 ff             	xor    %r15d,%r15d
1400f093f:	4c 89 60 d8          	mov    %r12,-0x28(%rax)
1400f0943:	45 8b e7             	mov    %r15d,%r12d
1400f0946:	4c 89 68 d0          	mov    %r13,-0x30(%rax)
1400f094a:	4c 39 25 27 ac 14 00 	cmp    %r12,0x14ac27(%rip)        # 0x14023b578
1400f0951:	49 8b e8             	mov    %r8,%rbp
1400f0954:	4c 8b e9             	mov    %rcx,%r13
1400f0957:	0f 84 9a 00 00 00    	je     0x1400f09f7
1400f095d:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400f0961:	4c 2b c2             	sub    %rdx,%r8
1400f0964:	48 89 70 e8          	mov    %rsi,-0x18(%rax)
1400f0968:	41 8b cf             	mov    %r15d,%ecx
1400f096b:	49 d1 f8             	sar    $1,%r8
1400f096e:	48 89 78 e0          	mov    %rdi,-0x20(%rax)
1400f0972:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
1400f0977:	4c 89 70 c8          	mov    %r14,-0x38(%rax)
1400f097b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400f0980:	42 8b 44 11 10       	mov    0x10(%rcx,%r10,1),%eax
1400f0985:	4c 3b c0             	cmp    %rax,%r8
1400f0988:	0f 85 b8 00 00 00    	jne    0x1400f0a46
1400f098e:	4e 8b 74 11 08       	mov    0x8(%rcx,%r10,1),%r14
1400f0993:	48 8b da             	mov    %rdx,%rbx
1400f0996:	48 3b d5             	cmp    %rbp,%rdx
1400f0999:	74 3f                	je     0x1400f09da
1400f099b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400f09a0:	49 8b 4d 08          	mov    0x8(%r13),%rcx
1400f09a4:	41 0f b7 16          	movzwl (%r14),%edx
1400f09a8:	0f b7 33             	movzwl (%rbx),%esi
1400f09ab:	48 8b 01             	mov    (%rcx),%rax
1400f09ae:	ff 50 40             	call   *0x40(%rax)
1400f09b1:	49 8b 4d 08          	mov    0x8(%r13),%rcx
1400f09b5:	0f b7 d6             	movzwl %si,%edx
1400f09b8:	0f b7 f8             	movzwl %ax,%edi
1400f09bb:	48 8b 01             	mov    (%rcx),%rax
1400f09be:	ff 50 40             	call   *0x40(%rax)
1400f09c1:	66 3b c7             	cmp    %di,%ax
1400f09c4:	75 6f                	jne    0x1400f0a35
1400f09c6:	48 83 c3 02          	add    $0x2,%rbx
1400f09ca:	49 83 c6 02          	add    $0x2,%r14
1400f09ce:	48 3b dd             	cmp    %rbp,%rbx
1400f09d1:	75 cd                	jne    0x1400f09a0
1400f09d3:	4c 8d 15 96 ab 14 00 	lea    0x14ab96(%rip),%r10        # 0x14023b570
1400f09da:	44 0f b6 8c 24 88 00 	movzbl 0x88(%rsp),%r9d
1400f09e1:	00 00
1400f09e3:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
1400f09e8:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400f09ed:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1400f09f2:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
1400f09f7:	4c 8b 6c 24 38       	mov    0x38(%rsp),%r13
1400f09fc:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1400f0a01:	41 8b c4             	mov    %r12d,%eax
1400f0a04:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
1400f0a09:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
1400f0a0d:	4d 39 7c ca 08       	cmp    %r15,0x8(%r10,%rcx,8)
1400f0a12:	74 06                	je     0x1400f0a1a
1400f0a14:	45 0f b7 7c ca 14    	movzwl 0x14(%r10,%rcx,8),%r15d
1400f0a1a:	45 84 c9             	test   %r9b,%r9b
1400f0a1d:	74 0b                	je     0x1400f0a2a
1400f0a1f:	41 f6 c7 03          	test   $0x3,%r15b
1400f0a23:	74 05                	je     0x1400f0a2a
1400f0a25:	66 41 83 cf 03       	or     $0x3,%r15w
1400f0a2a:	41 0f b7 c7          	movzwl %r15w,%eax
1400f0a2e:	48 83 c4 60          	add    $0x60,%rsp
1400f0a32:	41 5f                	pop    %r15
1400f0a34:	c3                   	ret
1400f0a35:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
1400f0a3a:	4c 8d 15 2f ab 14 00 	lea    0x14ab2f(%rip),%r10        # 0x14023b570
1400f0a41:	4c 8b 44 24 20       	mov    0x20(%rsp),%r8
1400f0a46:	41 ff c4             	inc    %r12d
1400f0a49:	4b 8d 0c 64          	lea    (%r12,%r12,2),%rcx
1400f0a4d:	48 8d 0c cd 00 00 00 	lea    0x0(,%rcx,8),%rcx
1400f0a54:	00
1400f0a55:	4e 39 7c 11 08       	cmp    %r15,0x8(%rcx,%r10,1)
1400f0a5a:	0f 85 20 ff ff ff    	jne    0x1400f0980
1400f0a60:	e9 75 ff ff ff       	jmp    0x1400f09da
1400f0a65:	cc                   	int3
1400f0a66:	cc                   	int3
1400f0a67:	cc                   	int3
1400f0a68:	cc                   	int3
1400f0a69:	cc                   	int3
1400f0a6a:	cc                   	int3
1400f0a6b:	cc                   	int3
1400f0a6c:	cc                   	int3
1400f0a6d:	cc                   	int3
1400f0a6e:	cc                   	int3
1400f0a6f:	cc                   	int3
1400f0a70:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400f0a75:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1400f0a7a:	56                   	push   %rsi
1400f0a7b:	57                   	push   %rdi
1400f0a7c:	41 56                	push   %r14