140a57770:	48 8b 06             	mov    (%rsi),%rax
140a57773:	66 44 89 0c 48       	mov    %r9w,(%rax,%rcx,2)
140a57778:	66 44 89 64 48 02    	mov    %r12w,0x2(%rax,%rcx,2)
140a5777e:	eb 11                	jmp    0x140a57791
140a57780:	44 0f b6 c3          	movzbl %bl,%r8d
140a57784:	ba 01 00 00 00       	mov    $0x1,%edx
140a57789:	48 8b ce             	mov    %rsi,%rcx
140a5778c:	e8 7f ea ff ff       	call   0x140a56210
140a57791:	48 ff c5             	inc    %rbp
140a57794:	49 3b ee             	cmp    %r14,%rbp
140a57797:	72 97                	jb     0x140a57730
140a57799:	b0 01                	mov    $0x1,%al
140a5779b:	e9 6c ff ff ff       	jmp    0x140a5770c
140a577a0:	48 8d 0d 39 79 62 00 	lea    0x627939(%rip),%rcx        # 0x14107f0e0
140a577a7:	e8 54 f7 73 ff       	call   0x140196f00
140a577ac:	48 8d 0d 2d 79 62 00 	lea    0x62792d(%rip),%rcx        # 0x14107f0e0
140a577b3:	e8 c8 ad f6 ff       	call   0x1409c2580
140a577b8:	cc                   	int3
140a577b9:	cc                   	int3
140a577ba:	cc                   	int3
140a577bb:	cc                   	int3
140a577bc:	cc                   	int3
140a577bd:	cc                   	int3
140a577be:	cc                   	int3
140a577bf:	cc                   	int3
140a577c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a577c5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a577ca:	56                   	push   %rsi
140a577cb:	57                   	push   %rdi
140a577cc:	41 54                	push   %r12
140a577ce:	41 56                	push   %r14
140a577d0:	41 57                	push   %r15
140a577d2:	48 83 ec 20          	sub    $0x20,%rsp
140a577d6:	48 8b f2             	mov    %rdx,%rsi
140a577d9:	48 8b f9             	mov    %rcx,%rdi
140a577dc:	45 33 e4             	xor    %r12d,%r12d
140a577df:	4c 89 62 10          	mov    %r12,0x10(%rdx)
140a577e3:	48 8b c2             	mov    %rdx,%rax
140a577e6:	48 83 7a 18 03       	cmpq   $0x3,0x18(%rdx)
140a577eb:	76 03                	jbe    0x140a577f0
140a577ed:	48 8b 02             	mov    (%rdx),%rax
140a577f0:	44 89 20             	mov    %r12d,(%rax)
140a577f3:	45 8b f4             	mov    %r12d,%r14d
140a577f6:	32 db                	xor    %bl,%bl
140a577f8:	41 8b ec             	mov    %r12d,%ebp
140a577fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140a57800:	48 8b 47 10          	mov    0x10(%rdi),%rax
140a57804:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a57808:	48 3b 4f 18          	cmp    0x18(%rdi),%rcx
140a5780c:	77 0f                	ja     0x140a5781d
140a5780e:	0f b6 18             	movzbl (%rax),%ebx
140a57811:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140a57815:	b0 01                	mov    $0x1,%al
140a57817:	4c 8d 7f 08          	lea    0x8(%rdi),%r15
140a5781b:	eb 2f                	jmp    0x140a5784c
140a5781d:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a57823:	b2 18                	mov    $0x18,%dl
140a57825:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a5782a:	e8 b1 f7 fa ff       	call   0x140a06fe0
140a5782f:	4c 8d 7f 08          	lea    0x8(%rdi),%r15
140a57833:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140a57838:	49 8b cf             	mov    %r15,%rcx
140a5783b:	e8 b0 74 f6 ff       	call   0x1409becf0
140a57840:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a57845:	e8 a6 79 f6 ff       	call   0x1409bf1f0
140a5784a:	32 c0                	xor    %al,%al
140a5784c:	84 c0                	test   %al,%al
140a5784e:	74 4a                	je     0x140a5789a
140a57850:	8b c3                	mov    %ebx,%eax
140a57852:	83 e0 7f             	and    $0x7f,%eax
140a57855:	8b cd                	mov    %ebp,%ecx
140a57857:	d3 e0                	shl    %cl,%eax
140a57859:	44 0b f0             	or     %eax,%r14d
140a5785c:	83 c5 07             	add    $0x7,%ebp
140a5785f:	84 db                	test   %bl,%bl
140a57861:	78 9d                	js     0x140a57800
140a57863:	48 8b 47 10          	mov    0x10(%rdi),%rax
140a57867:	4a 8d 14 b0          	lea    (%rax,%r14,4),%rdx
140a5786b:	48 3b 57 18          	cmp    0x18(%rdi),%rdx
140a5786f:	76 42                	jbe    0x140a578b3
140a57871:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a57877:	b2 18                	mov    $0x18,%dl
140a57879:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a5787e:	e8 5d f7 fa ff       	call   0x140a06fe0
140a57883:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140a57888:	49 8b cf             	mov    %r15,%rcx
140a5788b:	e8 60 74 f6 ff       	call   0x1409becf0
140a57890:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a57895:	e8 56 79 f6 ff       	call   0x1409bf1f0
140a5789a:	32 c0                	xor    %al,%al
140a5789c:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140a578a1:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140a578a6:	48 83 c4 20          	add    $0x20,%rsp
140a578aa:	41 5f                	pop    %r15
140a578ac:	41 5e                	pop    %r14
140a578ae:	41 5c                	pop    %r12
140a578b0:	5f                   	pop    %rdi
140a578b1:	5e                   	pop    %rsi
140a578b2:	c3                   	ret
140a578b3:	49 8b ec             	mov    %r12,%rbp
140a578b6:	4d 85 f6             	test   %r14,%r14
140a578b9:	74 69                	je     0x140a57924
140a578bb:	0f b6 5c 24 50       	movzbl 0x50(%rsp),%ebx
140a578c0:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140a578c4:	44 8b 09             	mov    (%rcx),%r9d
140a578c7:	48 8b 47 18          	mov    0x18(%rdi),%rax
140a578cb:	48 2b c1             	sub    %rcx,%rax
140a578ce:	48 83 f8 04          	cmp    $0x4,%rax
140a578d2:	72 57                	jb     0x140a5792b
140a578d4:	48 8d 41 04          	lea    0x4(%rcx),%rax
140a578d8:	48 89 47 10          	mov    %rax,0x10(%rdi)
140a578dc:	41 0f c9             	bswap  %r9d
140a578df:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a578e3:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140a578e7:	48 3b ca             	cmp    %rdx,%rcx
140a578ea:	73 1f                	jae    0x140a5790b
140a578ec:	48 8d 41 01          	lea    0x1(%rcx),%rax
140a578f0:	48 89 46 10          	mov    %rax,0x10(%rsi)
140a578f4:	48 8b c6             	mov    %rsi,%rax
140a578f7:	48 83 fa 03          	cmp    $0x3,%rdx
140a578fb:	76 03                	jbe    0x140a57900
140a578fd:	48 8b 06             	mov    (%rsi),%rax
140a57900:	44 89 0c 88          	mov    %r9d,(%rax,%rcx,4)
140a57904:	44 89 64 88 04       	mov    %r12d,0x4(%rax,%rcx,4)
140a57909:	eb 11                	jmp    0x140a5791c
140a5790b:	44 0f b6 c3          	movzbl %bl,%r8d
140a5790f:	ba 01 00 00 00       	mov    $0x1,%edx
140a57914:	48 8b ce             	mov    %rsi,%rcx
140a57917:	e8 84 ea ff ff       	call   0x140a563a0
140a5791c:	48 ff c5             	inc    %rbp
140a5791f:	49 3b ee             	cmp    %r14,%rbp
140a57922:	72 9c                	jb     0x140a578c0
140a57924:	b0 01                	mov    $0x1,%al
140a57926:	e9 71 ff ff ff       	jmp    0x140a5789c
140a5792b:	48 8d 0d ae 77 62 00 	lea    0x6277ae(%rip),%rcx        # 0x14107f0e0
140a57932:	e8 c9 f5 73 ff       	call   0x140196f00
140a57937:	48 8d 0d a2 77 62 00 	lea    0x6277a2(%rip),%rcx        # 0x14107f0e0
140a5793e:	e8 3d ac f6 ff       	call   0x1409c2580
140a57943:	cc                   	int3
140a57944:	cc                   	int3
140a57945:	cc                   	int3
140a57946:	cc                   	int3
140a57947:	cc                   	int3
140a57948:	cc                   	int3
140a57949:	cc                   	int3
140a5794a:	cc                   	int3
140a5794b:	cc                   	int3
140a5794c:	cc                   	int3
140a5794d:	cc                   	int3
140a5794e:	cc                   	int3
140a5794f:	cc                   	int3
140a57950:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a57955:	57                   	push   %rdi
140a57956:	48 83 ec 20          	sub    $0x20,%rsp
140a5795a:	48 8b fa             	mov    %rdx,%rdi
140a5795d:	48 8b d9             	mov    %rcx,%rbx
140a57960:	48 c7 44 24 40 00 00 	movq   $0x0,0x40(%rsp)
140a57967:	00 00
140a57969:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a5796d:	48 8d 41 08          	lea    0x8(%rcx),%rax
140a57971:	48 3b 43 18          	cmp    0x18(%rbx),%rax
140a57975:	76 33                	jbe    0x140a579aa
140a57977:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a5797d:	b2 18                	mov    $0x18,%dl
140a5797f:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a57984:	e8 57 f6 fa ff       	call   0x140a06fe0
140a57989:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a5798d:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140a57992:	e8 59 73 f6 ff       	call   0x1409becf0
140a57997:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a5799c:	e8 4f 78 f6 ff       	call   0x1409bf1f0
140a579a1:	32 c0                	xor    %al,%al
140a579a3:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
140a579a8:	eb 0a                	jmp    0x140a579b4
140a579aa:	48 8b 09             	mov    (%rcx),%rcx
140a579ad:	48 83 43 10 08       	addq   $0x8,0x10(%rbx)
140a579b2:	b0 01                	mov    $0x1,%al
140a579b4:	84 c0                	test   %al,%al
140a579b6:	74 13                	je     0x140a579cb
140a579b8:	48 0f c9             	bswap  %rcx
140a579bb:	48 89 0f             	mov    %rcx,(%rdi)
140a579be:	b0 01                	mov    $0x1,%al
140a579c0:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a579c5:	48 83 c4 20          	add    $0x20,%rsp
140a579c9:	5f                   	pop    %rdi
140a579ca:	c3                   	ret
140a579cb:	32 c0                	xor    %al,%al
140a579cd:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a579d2:	48 83 c4 20          	add    $0x20,%rsp
140a579d6:	5f                   	pop    %rdi
140a579d7:	c3                   	ret
140a579d8:	cc                   	int3
140a579d9:	cc                   	int3
140a579da:	cc                   	int3
140a579db:	cc                   	int3
140a579dc:	cc                   	int3
140a579dd:	cc                   	int3
140a579de:	cc                   	int3
140a579df:	cc                   	int3
140a579e0:	48 83 ec 28          	sub    $0x28,%rsp
140a579e4:	e8 97 f0 ff ff       	call   0x140a56a80
140a579e9:	90                   	nop
140a579ea:	48 83 c4 28          	add    $0x28,%rsp
140a579ee:	c3                   	ret
140a579ef:	cc                   	int3
140a579f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a579f5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140a579fa:	57                   	push   %rdi
140a579fb:	48 83 ec 20          	sub    $0x20,%rsp
140a579ff:	48 8b f2             	mov    %rdx,%rsi
140a57a02:	48 8b d9             	mov    %rcx,%rbx
140a57a05:	40 32 ff             	xor    %dil,%dil
140a57a08:	48 8b 41 10          	mov    0x10(%rcx),%rax
140a57a0c:	48 8d 48 01          	lea    0x1(%rax),%rcx
140a57a10:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140a57a14:	77 0b                	ja     0x140a57a21
140a57a16:	0f b6 38             	movzbl (%rax),%edi
140a57a19:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140a57a1d:	b0 01                	mov    $0x1,%al
140a57a1f:	eb 2c                	jmp    0x140a57a4d
140a57a21:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
140a57a27:	b2 18                	mov    $0x18,%dl
140a57a29:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a57a2e:	e8 ad f5 fa ff       	call   0x140a06fe0
140a57a33:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140a57a37:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140a57a3c:	e8 af 72 f6 ff       	call   0x1409becf0
140a57a41:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a57a46:	e8 a5 77 f6 ff       	call   0x1409bf1f0
140a57a4b:	32 c0                	xor    %al,%al
140a57a4d:	84 c0                	test   %al,%al
140a57a4f:	75 10                	jne    0x140a57a61
140a57a51:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a57a56:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140a57a5b:	48 83 c4 20          	add    $0x20,%rsp
140a57a5f:	5f                   	pop    %rdi
140a57a60:	c3                   	ret
140a57a61:	40 84 ff             	test   %dil,%dil
140a57a64:	0f 95 c0             	setne  %al
140a57a67:	88 06                	mov    %al,(%rsi)
140a57a69:	b0 01                	mov    $0x1,%al
140a57a6b:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140a57a70:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140a57a75:	48 83 c4 20          	add    $0x20,%rsp
140a57a79:	5f                   	pop    %rdi
140a57a7a:	c3                   	ret
140a57a7b:	cc                   	int3
140a57a7c:	cc                   	int3
140a57a7d:	cc                   	int3
140a57a7e:	cc                   	int3
140a57a7f:	cc                   	int3
140a57a80:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140a57a85:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a57a8a:	53                   	push   %rbx
140a57a8b:	56                   	push   %rsi
140a57a8c:	57                   	push   %rdi
140a57a8d:	41 54                	push   %r12
140a57a8f:	41 55                	push   %r13
140a57a91:	41 56                	push   %r14
140a57a93:	41 57                	push   %r15
140a57a95:	48 83 ec 20          	sub    $0x20,%rsp
140a57a99:	4c 8b fa             	mov    %rdx,%r15
140a57a9c:	48 8b f1             	mov    %rcx,%rsi
140a57a9f:	4c 8b 09             	mov    (%rcx),%r9
140a57aa2:	4c 8b e2             	mov    %rdx,%r12
140a57aa5:	4d 2b e1             	sub    %r9,%r12
140a57aa8:	48 8b 41 08          	mov    0x8(%rcx),%rax
140a57aac:	49 2b c1             	sub    %r9,%rax
140a57aaf:	48 bb ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rbx
140a57ab6:	ff ff 7f
140a57ab9:	48 3b c3             	cmp    %rbx,%rax
140a57abc:	0f 84 00 01 00 00    	je     0x140a57bc2
140a57ac2:	4c 8d 68 01          	lea    0x1(%rax),%r13
140a57ac6:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140a57aca:	49 2b c9             	sub    %r9,%rcx
140a57acd:	48 8b d1             	mov    %rcx,%rdx
140a57ad0:	48 d1 ea             	shr    $1,%rdx
140a57ad3:	48 8b c3             	mov    %rbx,%rax
140a57ad6:	48 2b c2             	sub    %rdx,%rax
140a57ad9:	48 3b c8             	cmp    %rax,%rcx
140a57adc:	76 30                	jbe    0x140a57b0e
140a57ade:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
140a57ae3:	48 b9 26 00 00 00 00 	movabs $0x8000000000000026,%rcx
140a57aea:	00 00 80
140a57aed:	e8 16 36 3c 00       	call   0x140e1b108
140a57af2:	48 85 c0             	test   %rax,%rax
140a57af5:	0f 84 d3 00 00 00    	je     0x140a57bce
140a57afb:	48 8d 78 27          	lea    0x27(%rax),%rdi
140a57aff:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
140a57b03:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
140a57b07:	48 89 7c 24 78       	mov    %rdi,0x78(%rsp)
140a57b0c:	eb 4e                	jmp    0x140a57b5c
140a57b0e:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140a57b12:	49 8b dd             	mov    %r13,%rbx
140a57b15:	49 3b c5             	cmp    %r13,%rax
140a57b18:	48 0f 43 d8          	cmovae %rax,%rbx
140a57b1c:	48 85 db             	test   %rbx,%rbx
140a57b1f:	75 09                	jne    0x140a57b2a
140a57b21:	33 ff                	xor    %edi,%edi
140a57b23:	48 89 7c 24 78       	mov    %rdi,0x78(%rsp)
140a57b28:	eb 2d                	jmp    0x140a57b57
140a57b2a:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
140a57b31:	72 14                	jb     0x140a57b47
140a57b33:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
140a57b37:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
140a57b3c:	48 3b cb             	cmp    %rbx,%rcx
140a57b3f:	0f 86 83 00 00 00    	jbe    0x140a57bc8
140a57b45:	eb a6                	jmp    0x140a57aed
140a57b47:	48 8b cb             	mov    %rbx,%rcx
140a57b4a:	e8 b9 35 3c 00       	call   0x140e1b108
140a57b4f:	48 8b f8             	mov    %rax,%rdi
140a57b52:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140a57b57:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
140a57b5c:	4e 8d 34 27          	lea    (%rdi,%r12,1),%r14
140a57b60:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
140a57b65:	0f b6 09             	movzbl (%rcx),%ecx
140a57b68:	41 88 0e             	mov    %cl,(%r14)
140a57b6b:	4c 8b 46 08          	mov    0x8(%rsi),%r8
140a57b6f:	48 8b 16             	mov    (%rsi),%rdx
140a57b72:	48 8b cf             	mov    %rdi,%rcx
140a57b75:	4d 3b f8             	cmp    %r8,%r15
140a57b78:	75 05                	jne    0x140a57b7f
140a57b7a:	4c 2b c2             	sub    %rdx,%r8
140a57b7d:	eb 19                	jmp    0x140a57b98
140a57b7f:	4d 8b c7             	mov    %r15,%r8
140a57b82:	4c 2b c2             	sub    %rdx,%r8
140a57b85:	e8 86 74 48 00       	call   0x140edf010
140a57b8a:	49 8d 4e 01          	lea    0x1(%r14),%rcx
140a57b8e:	4c 8b 46 08          	mov    0x8(%rsi),%r8
140a57b92:	4d 2b c7             	sub    %r15,%r8
140a57b95:	49 8b d7             	mov    %r15,%rdx
140a57b98:	e8 73 74 48 00       	call   0x140edf010
140a57b9d:	90                   	nop
140a57b9e:	4c 8b cb             	mov    %rbx,%r9
140a57ba1:	4d 8b c5             	mov    %r13,%r8
140a57ba4:	48 8b d7             	mov    %rdi,%rdx
140a57ba7:	48 8b ce             	mov    %rsi,%rcx
140a57baa:	e8 31 94 ad ff       	call   0x140530fe0
140a57baf:	49 8b c6             	mov    %r14,%rax
140a57bb2:	48 83 c4 20          	add    $0x20,%rsp
140a57bb6:	41 5f                	pop    %r15
140a57bb8:	41 5e                	pop    %r14
140a57bba:	41 5d                	pop    %r13
140a57bbc:	41 5c                	pop    %r12
140a57bbe:	5f                   	pop    %rdi
140a57bbf:	5e                   	pop    %rsi
140a57bc0:	5b                   	pop    %rbx
140a57bc1:	c3                   	ret
140a57bc2:	e8 c9 59 74 ff       	call   0x14019d590
140a57bc7:	cc                   	int3