140013702:	eb 28                	jmp    0x14001372c
140013704:	8b 47 10             	mov    0x10(%rdi),%eax
140013707:	be 02 00 00 00       	mov    $0x2,%esi
14001370c:	3b c6                	cmp    %esi,%eax
14001370e:	7c 14                	jl     0x140013724
140013710:	83 c0 fe             	add    $0xfffffffe,%eax
140013713:	89 47 10             	mov    %eax,0x10(%rdi)
140013716:	48 8b 0f             	mov    (%rdi),%rcx
140013719:	0f b7 01             	movzwl (%rcx),%eax
14001371c:	48 03 ce             	add    %rsi,%rcx
14001371f:	48 89 0f             	mov    %rcx,(%rdi)
140013722:	eb 08                	jmp    0x14001372c
140013724:	48 8b cf             	mov    %rdi,%rcx
140013727:	e8 c4 b2 00 00       	call   0x14001e9f0
14001372c:	48 83 c4 20          	add    $0x20,%rsp
140013730:	41 5c                	pop    %r12
140013732:	5f                   	pop    %rdi
140013733:	5e                   	pop    %rsi
140013734:	5d                   	pop    %rbp
140013735:	5b                   	pop    %rbx
140013736:	c3                   	ret
140013737:	cc                   	int3
140013738:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14001373d:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140013742:	57                   	push   %rdi
140013743:	48 83 ec 20          	sub    $0x20,%rsp
140013747:	48 8b d9             	mov    %rcx,%rbx
14001374a:	48 85 c9             	test   %rcx,%rcx
14001374d:	75 20                	jne    0x14001376f
14001374f:	e8 98 12 00 00       	call   0x1400149ec
140013754:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14001375a:	e8 39 d0 ff ff       	call   0x140010798
14001375f:	b8 ff ff 00 00       	mov    $0xffff,%eax
140013764:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140013769:	48 83 c4 20          	add    $0x20,%rsp
14001376d:	5f                   	pop    %rdi
14001376e:	c3                   	ret
14001376f:	e8 94 d2 ff ff       	call   0x140010a08
140013774:	90                   	nop
140013775:	48 8b cb             	mov    %rbx,%rcx
140013778:	e8 17 fe ff ff       	call   0x140013594
14001377d:	0f b7 f8             	movzwl %ax,%edi
140013780:	48 8b cb             	mov    %rbx,%rcx
140013783:	e8 8c d2 ff ff       	call   0x140010a14
140013788:	0f b7 c7             	movzwl %di,%eax
14001378b:	eb d7                	jmp    0x140013764
14001378d:	cc                   	int3
14001378e:	cc                   	int3
14001378f:	cc                   	int3
140013790:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140013795:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14001379a:	56                   	push   %rsi
14001379b:	57                   	push   %rdi
14001379c:	41 56                	push   %r14
14001379e:	48 83 ec 40          	sub    $0x40,%rsp
1400137a2:	48 8b 05 d7 08 03 00 	mov    0x308d7(%rip),%rax        # 0x140044080
1400137a9:	48 33 c4             	xor    %rsp,%rax
1400137ac:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400137b1:	8b 42 14             	mov    0x14(%rdx),%eax
1400137b4:	48 8b fa             	mov    %rdx,%rdi
1400137b7:	0f b7 f1             	movzwl %cx,%esi
1400137ba:	c1 e8 0c             	shr    $0xc,%eax
1400137bd:	a8 01                	test   $0x1,%al
1400137bf:	74 19                	je     0x1400137da
1400137c1:	83 42 10 fe          	addl   $0xfffffffe,0x10(%rdx)
1400137c5:	0f 88 0a 01 00 00    	js     0x1400138d5
1400137cb:	48 8b 02             	mov    (%rdx),%rax
1400137ce:	66 89 08             	mov    %cx,(%rax)
1400137d1:	48 83 02 02          	addq   $0x2,(%rdx)
1400137d5:	e9 0f 01 00 00       	jmp    0x1400138e9
1400137da:	48 8b cf             	mov    %rdi,%rcx
1400137dd:	e8 6a 9e 00 00       	call   0x14001d64c
1400137e2:	48 8d 2d d7 0a 03 00 	lea    0x30ad7(%rip),%rbp        # 0x1400442c0
1400137e9:	4c 8d 35 a0 34 03 00 	lea    0x334a0(%rip),%r14        # 0x140046c90
1400137f0:	83 f8 ff             	cmp    $0xffffffff,%eax
1400137f3:	74 35                	je     0x14001382a
1400137f5:	48 8b cf             	mov    %rdi,%rcx
1400137f8:	e8 4f 9e 00 00       	call   0x14001d64c
1400137fd:	83 f8 fe             	cmp    $0xfffffffe,%eax
140013800:	74 28                	je     0x14001382a
140013802:	48 8b cf             	mov    %rdi,%rcx
140013805:	e8 42 9e 00 00       	call   0x14001d64c
14001380a:	48 63 d8             	movslq %eax,%rbx
14001380d:	48 8b cf             	mov    %rdi,%rcx
140013810:	48 c1 fb 06          	sar    $0x6,%rbx
140013814:	e8 33 9e 00 00       	call   0x14001d64c
140013819:	83 e0 3f             	and    $0x3f,%eax
14001381c:	48 8d 0c c0          	lea    (%rax,%rax,8),%rcx
140013820:	49 8b 04 de          	mov    (%r14,%rbx,8),%rax
140013824:	48 8d 14 c8          	lea    (%rax,%rcx,8),%rdx
140013828:	eb 03                	jmp    0x14001382d
14001382a:	48 8b d5             	mov    %rbp,%rdx
14001382d:	8a 42 39             	mov    0x39(%rdx),%al
140013830:	fe c8                	dec    %al
140013832:	3c 01                	cmp    $0x1,%al
140013834:	0f 86 92 00 00 00    	jbe    0x1400138cc
14001383a:	48 8b cf             	mov    %rdi,%rcx
14001383d:	e8 0a 9e 00 00       	call   0x14001d64c
140013842:	83 f8 ff             	cmp    $0xffffffff,%eax
140013845:	74 33                	je     0x14001387a
140013847:	48 8b cf             	mov    %rdi,%rcx
14001384a:	e8 fd 9d 00 00       	call   0x14001d64c
14001384f:	83 f8 fe             	cmp    $0xfffffffe,%eax
140013852:	74 26                	je     0x14001387a
140013854:	48 8b cf             	mov    %rdi,%rcx
140013857:	e8 f0 9d 00 00       	call   0x14001d64c
14001385c:	48 63 d8             	movslq %eax,%rbx
14001385f:	48 8b cf             	mov    %rdi,%rcx
140013862:	48 c1 fb 06          	sar    $0x6,%rbx
140013866:	e8 e1 9d 00 00       	call   0x14001d64c
14001386b:	83 e0 3f             	and    $0x3f,%eax
14001386e:	48 8d 0c c0          	lea    (%rax,%rax,8),%rcx
140013872:	49 8b 04 de          	mov    (%r14,%rbx,8),%rax
140013876:	48 8d 2c c8          	lea    (%rax,%rcx,8),%rbp
14001387a:	33 db                	xor    %ebx,%ebx
14001387c:	38 5d 38             	cmp    %bl,0x38(%rbp)
14001387f:	7d 4b                	jge    0x1400138cc
140013881:	44 0f b7 ce          	movzwl %si,%r9d
140013885:	44 8d 43 05          	lea    0x5(%rbx),%r8d
140013889:	48 8d 54 24 24       	lea    0x24(%rsp),%rdx
14001388e:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140013893:	e8 dc 90 00 00       	call   0x14001c974
140013898:	85 c0                	test   %eax,%eax
14001389a:	75 29                	jne    0x1400138c5
14001389c:	39 5c 24 20          	cmp    %ebx,0x20(%rsp)
1400138a0:	7e 47                	jle    0x1400138e9
1400138a2:	48 8d 6c 24 24       	lea    0x24(%rsp),%rbp
1400138a7:	0f be 4d 00          	movsbl 0x0(%rbp),%ecx
1400138ab:	48 8b d7             	mov    %rdi,%rdx
1400138ae:	e8 b1 f1 ff ff       	call   0x140012a64
1400138b3:	83 f8 ff             	cmp    $0xffffffff,%eax
1400138b6:	74 0d                	je     0x1400138c5
1400138b8:	ff c3                	inc    %ebx
1400138ba:	48 ff c5             	inc    %rbp
1400138bd:	3b 5c 24 20          	cmp    0x20(%rsp),%ebx
1400138c1:	7c e4                	jl     0x1400138a7
1400138c3:	eb 24                	jmp    0x1400138e9
1400138c5:	b8 ff ff 00 00       	mov    $0xffff,%eax
1400138ca:	eb 20                	jmp    0x1400138ec
1400138cc:	83 47 10 fe          	addl   $0xfffffffe,0x10(%rdi)
1400138d0:	79 0d                	jns    0x1400138df
1400138d2:	48 8b d7             	mov    %rdi,%rdx
1400138d5:	0f b7 ce             	movzwl %si,%ecx
1400138d8:	e8 2b b9 00 00       	call   0x14001f208
1400138dd:	eb 0d                	jmp    0x1400138ec
1400138df:	48 8b 07             	mov    (%rdi),%rax
1400138e2:	66 89 30             	mov    %si,(%rax)
1400138e5:	48 83 07 02          	addq   $0x2,(%rdi)
1400138e9:	0f b7 c6             	movzwl %si,%eax
1400138ec:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1400138f1:	48 33 cc             	xor    %rsp,%rcx
1400138f4:	e8 77 8c ff ff       	call   0x14000c570
1400138f9:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1400138fe:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140013903:	48 83 c4 40          	add    $0x40,%rsp
140013907:	41 5e                	pop    %r14
140013909:	5f                   	pop    %rdi
14001390a:	5e                   	pop    %rsi
14001390b:	c3                   	ret
14001390c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140013911:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140013916:	57                   	push   %rdi
140013917:	48 83 ec 20          	sub    $0x20,%rsp
14001391b:	48 8b da             	mov    %rdx,%rbx
14001391e:	0f b7 f9             	movzwl %cx,%edi
140013921:	48 85 d2             	test   %rdx,%rdx
140013924:	75 20                	jne    0x140013946
140013926:	e8 c1 10 00 00       	call   0x1400149ec
14001392b:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140013931:	e8 62 ce ff ff       	call   0x140010798
140013936:	b8 ff ff 00 00       	mov    $0xffff,%eax
14001393b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140013940:	48 83 c4 20          	add    $0x20,%rsp
140013944:	5f                   	pop    %rdi
140013945:	c3                   	ret
140013946:	48 8b cb             	mov    %rbx,%rcx
140013949:	e8 ba d0 ff ff       	call   0x140010a08
14001394e:	90                   	nop
14001394f:	48 8b d3             	mov    %rbx,%rdx
140013952:	0f b7 cf             	movzwl %di,%ecx
140013955:	e8 36 fe ff ff       	call   0x140013790
14001395a:	0f b7 f8             	movzwl %ax,%edi
14001395d:	48 8b cb             	mov    %rbx,%rcx
140013960:	e8 af d0 ff ff       	call   0x140010a14
140013965:	0f b7 c7             	movzwl %di,%eax
140013968:	eb d1                	jmp    0x14001393b
14001396a:	cc                   	int3
14001396b:	cc                   	int3
14001396c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140013971:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140013976:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14001397b:	55                   	push   %rbp
14001397c:	41 56                	push   %r14
14001397e:	41 57                	push   %r15
140013980:	48 8b ec             	mov    %rsp,%rbp
140013983:	48 83 ec 40          	sub    $0x40,%rsp
140013987:	48 8b 05 f2 06 03 00 	mov    0x306f2(%rip),%rax        # 0x140044080
14001398e:	48 33 c4             	xor    %rsp,%rax
140013991:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140013995:	44 0f b7 f1          	movzwl %cx,%r14d
140013999:	66 89 4d e8          	mov    %cx,-0x18(%rbp)
14001399d:	0f b7 f1             	movzwl %cx,%esi
1400139a0:	66 41 c1 ee 08       	shr    $0x8,%r14w
1400139a5:	48 8b ca             	mov    %rdx,%rcx
1400139a8:	48 8b da             	mov    %rdx,%rbx
1400139ab:	e8 9c 9c 00 00       	call   0x14001d64c
1400139b0:	83 f8 ff             	cmp    $0xffffffff,%eax
1400139b3:	74 3c                	je     0x1400139f1
1400139b5:	48 8b cb             	mov    %rbx,%rcx
1400139b8:	e8 8f 9c 00 00       	call   0x14001d64c
1400139bd:	83 f8 fe             	cmp    $0xfffffffe,%eax
1400139c0:	74 2f                	je     0x1400139f1
1400139c2:	48 8b cb             	mov    %rbx,%rcx
1400139c5:	e8 82 9c 00 00       	call   0x14001d64c
1400139ca:	48 63 f8             	movslq %eax,%rdi
1400139cd:	4c 8d 3d bc 32 03 00 	lea    0x332bc(%rip),%r15        # 0x140046c90
1400139d4:	48 8b cb             	mov    %rbx,%rcx
1400139d7:	48 c1 ff 06          	sar    $0x6,%rdi
1400139db:	e8 6c 9c 00 00       	call   0x14001d64c
1400139e0:	83 e0 3f             	and    $0x3f,%eax
1400139e3:	48 8d 0c c0          	lea    (%rax,%rax,8),%rcx
1400139e7:	49 8b 04 ff          	mov    (%r15,%rdi,8),%rax
1400139eb:	48 8d 14 c8          	lea    (%rax,%rcx,8),%rdx
1400139ef:	eb 07                	jmp    0x1400139f8
1400139f1:	48 8d 15 c8 08 03 00 	lea    0x308c8(%rip),%rdx        # 0x1400442c0
1400139f8:	8a 42 39             	mov    0x39(%rdx),%al
1400139fb:	33 c9                	xor    %ecx,%ecx
1400139fd:	83 65 e0 00          	andl   $0x0,-0x20(%rbp)
140013a01:	89 4d f0             	mov    %ecx,-0x10(%rbp)
140013a04:	88 4d f4             	mov    %cl,-0xc(%rbp)
140013a07:	84 c0                	test   %al,%al
140013a09:	75 22                	jne    0x140013a2d
140013a0b:	44 8d 41 05          	lea    0x5(%rcx),%r8d
140013a0f:	44 0f b7 ce          	movzwl %si,%r9d
140013a13:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140013a17:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
140013a1b:	e8 54 8f 00 00       	call   0x14001c974
140013a20:	85 c0                	test   %eax,%eax
140013a22:	0f 85 88 00 00 00    	jne    0x140013ab0
140013a28:	8b 55 e0             	mov    -0x20(%rbp),%edx
140013a2b:	eb 10                	jmp    0x140013a3d
140013a2d:	ba 02 00 00 00       	mov    $0x2,%edx
140013a32:	40 88 75 f0          	mov    %sil,-0x10(%rbp)
140013a36:	89 55 e0             	mov    %edx,-0x20(%rbp)
140013a39:	44 88 75 f1          	mov    %r14b,-0xf(%rbp)
140013a3d:	4c 8b 43 08          	mov    0x8(%rbx),%r8
140013a41:	48 63 ca             	movslq %edx,%rcx
140013a44:	4c 03 c1             	add    %rcx,%r8
140013a47:	4c 39 03             	cmp    %r8,(%rbx)
140013a4a:	73 0e                	jae    0x140013a5a
140013a4c:	83 7b 10 00          	cmpl   $0x0,0x10(%rbx)
140013a50:	75 5e                	jne    0x140013ab0
140013a52:	3b 53 20             	cmp    0x20(%rbx),%edx
140013a55:	7f 59                	jg     0x140013ab0
140013a57:	4c 89 03             	mov    %r8,(%rbx)
140013a5a:	8d 42 ff             	lea    -0x1(%rdx),%eax
140013a5d:	4c 63 c0             	movslq %eax,%r8
140013a60:	85 c0                	test   %eax,%eax
140013a62:	78 16                	js     0x140013a7a
140013a64:	48 ff 0b             	decq   (%rbx)
140013a67:	42 8a 44 05 f0       	mov    -0x10(%rbp,%r8,1),%al
140013a6c:	49 83 e8 01          	sub    $0x1,%r8
140013a70:	48 8b 0b             	mov    (%rbx),%rcx
140013a73:	88 01                	mov    %al,(%rcx)
140013a75:	79 ed                	jns    0x140013a64
140013a77:	8b 55 e0             	mov    -0x20(%rbp),%edx
140013a7a:	01 53 10             	add    %edx,0x10(%rbx)
140013a7d:	f0 83 63 14 f7       	lock andl $0xfffffff7,0x14(%rbx)
140013a82:	f0 83 4b 14 01       	lock orl $0x1,0x14(%rbx)
140013a87:	0f b7 45 e8          	movzwl -0x18(%rbp),%eax
140013a8b:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140013a8f:	48 33 cc             	xor    %rsp,%rcx
140013a92:	e8 d9 8a ff ff       	call   0x14000c570
140013a97:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140013a9c:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140013aa1:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
140013aa6:	48 83 c4 40          	add    $0x40,%rsp
140013aaa:	41 5f                	pop    %r15
140013aac:	41 5e                	pop    %r14
140013aae:	5d                   	pop    %rbp
140013aaf:	c3                   	ret
140013ab0:	b8 ff ff 00 00       	mov    $0xffff,%eax
140013ab5:	eb d4                	jmp    0x140013a8b
140013ab7:	cc                   	int3
140013ab8:	48 8b c4             	mov    %rsp,%rax
140013abb:	48 89 58 08          	mov    %rbx,0x8(%rax)
140013abf:	48 89 68 10          	mov    %rbp,0x10(%rax)
140013ac3:	48 89 70 18          	mov    %rsi,0x18(%rax)
140013ac7:	48 89 78 20          	mov    %rdi,0x20(%rax)
140013acb:	41 56                	push   %r14
140013acd:	48 83 ec 20          	sub    $0x20,%rsp
140013ad1:	be ff ff 00 00       	mov    $0xffff,%esi
140013ad6:	48 8b fa             	mov    %rdx,%rdi
140013ad9:	0f b7 e9             	movzwl %cx,%ebp
140013adc:	66 3b ce             	cmp    %si,%cx
140013adf:	0f 84 ee 00 00 00    	je     0x140013bd3
140013ae5:	8b 42 14             	mov    0x14(%rdx),%eax
140013ae8:	8b 52 14             	mov    0x14(%rdx),%edx
140013aeb:	8b 4f 14             	mov    0x14(%rdi),%ecx
140013aee:	a8 01                	test   $0x1,%al
140013af0:	75 17                	jne    0x140013b09
140013af2:	c1 ea 02             	shr    $0x2,%edx
140013af5:	f6 c2 01             	test   $0x1,%dl
140013af8:	0f 84 d5 00 00 00    	je     0x140013bd3
140013afe:	d1 e9                	shr    $1,%ecx
140013b00:	f6 c1 01             	test   $0x1,%cl
140013b03:	0f 85 ca 00 00 00    	jne    0x140013bd3
140013b09:	48 83 7f 08 00       	cmpq   $0x0,0x8(%rdi)
140013b0e:	75 08                	jne    0x140013b18
140013b10:	48 8b cf             	mov    %rdi,%rcx
140013b13:	e8 c0 c4 00 00       	call   0x14001ffd8
140013b18:	8b 47 14             	mov    0x14(%rdi),%eax
140013b1b:	c1 e8 0c             	shr    $0xc,%eax
140013b1e:	a8 01                	test   $0x1,%al
140013b20:	75 63                	jne    0x140013b85
140013b22:	48 8b cf             	mov    %rdi,%rcx
140013b25:	e8 22 9b 00 00       	call   0x14001d64c
140013b2a:	83 f8 ff             	cmp    $0xffffffff,%eax
140013b2d:	74 3c                	je     0x140013b6b
140013b2f:	48 8b cf             	mov    %rdi,%rcx
140013b32:	e8 15 9b 00 00       	call   0x14001d64c
140013b37:	83 f8 fe             	cmp    $0xfffffffe,%eax
140013b3a:	74 2f                	je     0x140013b6b
140013b3c:	48 8b cf             	mov    %rdi,%rcx
140013b3f:	e8 08 9b 00 00       	call   0x14001d64c
140013b44:	48 63 d8             	movslq %eax,%rbx
140013b47:	4c 8d 35 42 31 03 00 	lea    0x33142(%rip),%r14        # 0x140046c90
140013b4e:	48 8b cf             	mov    %rdi,%rcx
140013b51:	48 c1 fb 06          	sar    $0x6,%rbx
140013b55:	e8 f2 9a 00 00       	call   0x14001d64c
140013b5a:	83 e0 3f             	and    $0x3f,%eax
140013b5d:	48 8d 0c c0          	lea    (%rax,%rax,8),%rcx
140013b61:	49 8b 04 de          	mov    (%r14,%rbx,8),%rax
140013b65:	48 8d 14 c8          	lea    (%rax,%rcx,8),%rdx
140013b69:	eb 07                	jmp    0x140013b72
140013b6b:	48 8d 15 4e 07 03 00 	lea    0x3074e(%rip),%rdx        # 0x1400442c0
140013b72:	80 7a 38 00          	cmpb   $0x0,0x38(%rdx)
140013b76:	7d 0d                	jge    0x140013b85
140013b78:	48 8b d7             	mov    %rdi,%rdx
140013b7b:	0f b7 cd             	movzwl %bp,%ecx
140013b7e:	e8 e9 fd ff ff       	call   0x14001396c
140013b83:	eb 51                	jmp    0x140013bd6
140013b85:	48 8b 47 08          	mov    0x8(%rdi),%rax
140013b89:	48 83 c0 02          	add    $0x2,%rax
140013b8d:	48 39 07             	cmp    %rax,(%rdi)
140013b90:	73 0f                	jae    0x140013ba1
140013b92:	83 7f 10 00          	cmpl   $0x0,0x10(%rdi)
140013b96:	75 3b                	jne    0x140013bd3
140013b98:	83 7f 20 02          	cmpl   $0x2,0x20(%rdi)
140013b9c:	72 35                	jb     0x140013bd3