140198a87:	45 3b d4             	cmp    %r12d,%r10d
140198a8a:	0f 83 f8 00 00 00    	jae    0x140198b88
140198a90:	41 8b c2             	mov    %r10d,%eax
140198a93:	48 6b f8 34          	imul   $0x34,%rax,%rdi
140198a97:	4c 89 74 24 70       	mov    %r14,0x70(%rsp)
140198a9c:	48 03 fb             	add    %rbx,%rdi
140198a9f:	4c 6b f0 cc          	imul   $0xffffffffffffffcc,%rax,%r14
140198aa3:	b8 01 00 00 00       	mov    $0x1,%eax
140198aa8:	66 41 0f 6e ca       	movd   %r10d,%xmm1
140198aad:	44 3b d8             	cmp    %eax,%r11d
140198ab0:	0f 86 b2 00 00 00    	jbe    0x140198b68
140198ab6:	83 fe 10             	cmp    $0x10,%esi
140198ab9:	0f 82 87 00 00 00    	jb     0x140198b46
140198abf:	8b ce                	mov    %esi,%ecx
140198ac1:	4c 8d 4b 04          	lea    0x4(%rbx),%r9
140198ac5:	48 8d 14 8b          	lea    (%rbx,%rcx,4),%rdx
140198ac9:	4c 8d 04 8f          	lea    (%rdi,%rcx,4),%r8
140198acd:	48 8d 4f 04          	lea    0x4(%rdi),%rcx
140198ad1:	48 3b ca             	cmp    %rdx,%rcx
140198ad4:	77 05                	ja     0x140198adb
140198ad6:	4d 3b c1             	cmp    %r9,%r8
140198ad9:	73 6b                	jae    0x140198b46
140198adb:	8b ce                	mov    %esi,%ecx
140198add:	45 8b c3             	mov    %r11d,%r8d
140198ae0:	83 e1 0f             	and    $0xf,%ecx
140198ae3:	44 2b c1             	sub    %ecx,%r8d
140198ae6:	41 b9 09 00 00 00    	mov    $0x9,%r9d
140198aec:	0f 1f 40 00          	nopl   0x0(%rax)
140198af0:	8b c8                	mov    %eax,%ecx
140198af2:	83 c0 10             	add    $0x10,%eax
140198af5:	f3 0f 6f 04 8b       	movdqu (%rbx,%rcx,4),%xmm0
140198afa:	66 0f d2 c1          	psrld  %xmm1,%xmm0
140198afe:	f3 0f 7f 04 8f       	movdqu %xmm0,(%rdi,%rcx,4)
140198b03:	41 8d 49 fc          	lea    -0x4(%r9),%ecx
140198b07:	f3 0f 6f 04 8b       	movdqu (%rbx,%rcx,4),%xmm0
140198b0c:	66 0f d2 c1          	psrld  %xmm1,%xmm0
140198b10:	f3 0f 7f 04 8f       	movdqu %xmm0,(%rdi,%rcx,4)
140198b15:	41 8b c9             	mov    %r9d,%ecx
140198b18:	f3 0f 6f 04 8b       	movdqu (%rbx,%rcx,4),%xmm0
140198b1d:	66 0f d2 c1          	psrld  %xmm1,%xmm0
140198b21:	f3 0f 7f 04 8f       	movdqu %xmm0,(%rdi,%rcx,4)
140198b26:	41 8d 49 04          	lea    0x4(%r9),%ecx
140198b2a:	41 83 c1 10          	add    $0x10,%r9d
140198b2e:	f3 0f 6f 04 8b       	movdqu (%rbx,%rcx,4),%xmm0
140198b33:	66 0f d2 c1          	psrld  %xmm1,%xmm0
140198b37:	f3 0f 7f 04 8f       	movdqu %xmm0,(%rdi,%rcx,4)
140198b3c:	41 3b c0             	cmp    %r8d,%eax
140198b3f:	72 af                	jb     0x140198af0
140198b41:	41 3b c3             	cmp    %r11d,%eax
140198b44:	73 22                	jae    0x140198b68
140198b46:	8b c8                	mov    %eax,%ecx
140198b48:	4c 8d 04 8f          	lea    (%rdi,%rcx,4),%r8
140198b4c:	0f 1f 40 00          	nopl   0x0(%rax)
140198b50:	43 8b 14 06          	mov    (%r14,%r8,1),%edx
140198b54:	4d 8d 40 04          	lea    0x4(%r8),%r8
140198b58:	41 8b ca             	mov    %r10d,%ecx
140198b5b:	ff c0                	inc    %eax
140198b5d:	d3 ea                	shr    %cl,%edx
140198b5f:	41 89 50 fc          	mov    %edx,-0x4(%r8)
140198b63:	41 3b c3             	cmp    %r11d,%eax
140198b66:	72 e8                	jb     0x140198b50
140198b68:	41 ff c2             	inc    %r10d
140198b6b:	48 83 c7 34          	add    $0x34,%rdi
140198b6f:	49 83 ee 34          	sub    $0x34,%r14
140198b73:	45 3b d4             	cmp    %r12d,%r10d
140198b76:	0f 82 27 ff ff ff    	jb     0x140198aa3
140198b7c:	4c 8b 74 24 70       	mov    0x70(%rsp),%r14
140198b81:	8b ac 24 d0 00 00 00 	mov    0xd0(%rsp),%ebp
140198b88:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140198b8d:	8d 45 01             	lea    0x1(%rbp),%eax
140198b90:	89 44 24 30          	mov    %eax,0x30(%rsp)
140198b94:	4c 8d 83 e0 02 00 00 	lea    0x2e0(%rbx),%r8
140198b9b:	89 74 24 28          	mov    %esi,0x28(%rsp)
140198b9f:	4d 8b cd             	mov    %r13,%r9
140198ba2:	41 8b d7             	mov    %r15d,%edx
140198ba5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140198baa:	e8 f1 ed ff ff       	call   0x1401979a0
140198baf:	48 8b 8c 24 b0 00 00 	mov    0xb0(%rsp),%rcx
140198bb6:	00
140198bb7:	4c 8b a4 24 80 00 00 	mov    0x80(%rsp),%r12
140198bbe:	00
140198bbf:	48 8b b4 24 90 00 00 	mov    0x90(%rsp),%rsi
140198bc6:	00
140198bc7:	44 88 bc 24 ca 00 00 	mov    %r15b,0xca(%rsp)
140198bce:	00
140198bcf:	c6 84 24 c9 00 00 00 	movb   $0x1,0xc9(%rsp)
140198bd6:	01
140198bd7:	8b 84 24 c8 00 00 00 	mov    0xc8(%rsp),%eax
140198bde:	89 01                	mov    %eax,(%rcx)
140198be0:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140198be5:	eb 07                	jmp    0x140198bee
140198be7:	48 c7 c0 d4 ff ff ff 	mov    $0xffffffffffffffd4,%rax
140198bee:	48 8b bc 24 88 00 00 	mov    0x88(%rsp),%rdi
140198bf5:	00
140198bf6:	48 8b ac 24 b8 00 00 	mov    0xb8(%rsp),%rbp
140198bfd:	00
140198bfe:	4c 8b 6c 24 78       	mov    0x78(%rsp),%r13
140198c03:	48 81 c4 98 00 00 00 	add    $0x98,%rsp
140198c0a:	41 5f                	pop    %r15
140198c0c:	5b                   	pop    %rbx
140198c0d:	c3                   	ret
140198c0e:	cc                   	int3
140198c0f:	cc                   	int3
140198c10:	83 b9 e0 75 00 00 00 	cmpl   $0x0,0x75e0(%rcx)
140198c17:	4c 8b d2             	mov    %rdx,%r10
140198c1a:	74 08                	je     0x140198c24
140198c1c:	8b 81 f8 74 00 00    	mov    0x74f8(%rcx),%eax
140198c22:	eb 05                	jmp    0x140198c29
140198c24:	b8 00 00 02 00       	mov    $0x20000,%eax
140198c29:	83 7c 24 28 00       	cmpl   $0x0,0x28(%rsp)
140198c2e:	8b d0                	mov    %eax,%edx
140198c30:	75 2f                	jne    0x140198c61
140198c32:	49 8d 41 40          	lea    0x40(%r9),%rax
140198c36:	48 03 c2             	add    %rdx,%rax
140198c39:	4c 3b c0             	cmp    %rax,%r8
140198c3c:	76 23                	jbe    0x140198c61
140198c3e:	49 8d 42 20          	lea    0x20(%r10),%rax
140198c42:	c7 81 a0 76 00 00 01 	movl   $0x1,0x76a0(%rcx)
140198c49:	00 00 00
140198c4c:	48 03 c2             	add    %rdx,%rax
140198c4f:	48 89 81 90 76 00 00 	mov    %rax,0x7690(%rcx)
140198c56:	49 03 c1             	add    %r9,%rax
140198c59:	48 89 81 98 76 00 00 	mov    %rax,0x7698(%rcx)
140198c60:	c3                   	ret
140198c61:	49 81 f9 00 00 01 00 	cmp    $0x10000,%r9
140198c68:	77 23                	ja     0x140198c8d
140198c6a:	48 8d 81 a4 76 00 00 	lea    0x76a4(%rcx),%rax
140198c71:	c7 81 a0 76 00 00 00 	movl   $0x0,0x76a0(%rcx)
140198c78:	00 00 00
140198c7b:	48 89 81 90 76 00 00 	mov    %rax,0x7690(%rcx)
140198c82:	49 03 c1             	add    %r9,%rax
140198c85:	48 89 81 98 76 00 00 	mov    %rax,0x7698(%rcx)
140198c8c:	c3                   	ret
140198c8d:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140198c92:	49 8b d2             	mov    %r10,%rdx
140198c95:	49 2b d1             	sub    %r9,%rdx
140198c98:	49 03 d0             	add    %r8,%rdx
140198c9b:	83 7c 24 38 00       	cmpl   $0x0,0x38(%rsp)
140198ca0:	74 13                	je     0x140198cb5
140198ca2:	48 81 c2 e0 ff 00 00 	add    $0xffe0,%rdx
140198ca9:	49 8d 81 00 00 ff ff 	lea    -0x10000(%r9),%rax
140198cb0:	48 03 c2             	add    %rdx,%rax
140198cb3:	eb 04                	jmp    0x140198cb9
140198cb5:	4b 8d 04 02          	lea    (%r10,%r8,1),%rax
140198cb9:	48 89 91 90 76 00 00 	mov    %rdx,0x7690(%rcx)
140198cc0:	48 89 81 98 76 00 00 	mov    %rax,0x7698(%rcx)
140198cc7:	c7 81 a0 76 00 00 02 	movl   $0x2,0x76a0(%rcx)
140198cce:	00 00 00
140198cd1:	c3                   	ret
140198cd2:	cc                   	int3
140198cd3:	cc                   	int3
140198cd4:	cc                   	int3
140198cd5:	cc                   	int3
140198cd6:	cc                   	int3
140198cd7:	cc                   	int3
140198cd8:	cc                   	int3
140198cd9:	cc                   	int3
140198cda:	cc                   	int3
140198cdb:	cc                   	int3
140198cdc:	cc                   	int3
140198cdd:	cc                   	int3
140198cde:	cc                   	int3
140198cdf:	cc                   	int3
140198ce0:	e9 0b 00 00 00       	jmp    0x140198cf0
140198ce5:	cc                   	int3
140198ce6:	cc                   	int3
140198ce7:	cc                   	int3
140198ce8:	cc                   	int3
140198ce9:	cc                   	int3
140198cea:	cc                   	int3
140198ceb:	cc                   	int3
140198cec:	cc                   	int3
140198ced:	cc                   	int3
140198cee:	cc                   	int3
140198cef:	cc                   	int3
140198cf0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140198cf5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140198cfa:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140198cff:	56                   	push   %rsi
140198d00:	57                   	push   %rdi
140198d01:	41 54                	push   %r12
140198d03:	41 55                	push   %r13
140198d05:	41 56                	push   %r14
140198d07:	41 57                	push   %r15
140198d09:	8b 44 24 60          	mov    0x60(%rsp),%eax
140198d0d:	45 8d 78 01          	lea    0x1(%r8),%r15d
140198d11:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140198d16:	bf 01 00 00 00       	mov    $0x1,%edi
140198d1b:	4c 8b f1             	mov    %rcx,%r14
140198d1e:	89 7c 24 38          	mov    %edi,0x38(%rsp)
140198d22:	44 8b ef             	mov    %edi,%r13d
140198d25:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
140198d29:	8b c8                	mov    %eax,%ecx
140198d2b:	8b df                	mov    %edi,%ebx
140198d2d:	41 d3 e5             	shl    %cl,%r13d
140198d30:	4c 8d 4d 6a          	lea    0x6a(%rbp),%r9
140198d34:	45 33 e4             	xor    %r12d,%r12d
140198d37:	8d 48 ff             	lea    -0x1(%rax),%ecx
140198d3a:	66 d3 e3             	shl    %cl,%bx
140198d3d:	48 8b f2             	mov    %rdx,%rsi
140198d40:	44 8b d7             	mov    %edi,%r10d
140198d43:	41 8b fc             	mov    %r12d,%edi
140198d46:	45 8d 45 ff          	lea    -0x1(%r13),%r8d
140198d4a:	41 8b d0             	mov    %r8d,%edx
140198d4d:	45 85 ff             	test   %r15d,%r15d
140198d50:	74 46                	je     0x140198d98
140198d52:	4c 8b de             	mov    %rsi,%r11
140198d55:	48 8b cd             	mov    %rbp,%rcx
140198d58:	4c 2b dd             	sub    %rbp,%r11
140198d5b:	45 8b c2             	mov    %r10d,%r8d
140198d5e:	66 90                	xchg   %ax,%ax
140198d60:	42 0f b7 04 19       	movzwl (%rcx,%r11,1),%eax
140198d65:	66 83 f8 ff          	cmp    $0xffff,%ax
140198d69:	75 0f                	jne    0x140198d7a
140198d6b:	8b c2                	mov    %edx,%eax
140198d6d:	ff ca                	dec    %edx
140198d6f:	41 89 7c c6 0c       	mov    %edi,0xc(%r14,%rax,8)
140198d74:	41 0f b7 c0          	movzwl %r8w,%eax
140198d78:	eb 0c                	jmp    0x140198d86
140198d7a:	66 3b c3             	cmp    %bx,%ax
140198d7d:	45 0f 4d d4          	cmovge %r12d,%r10d
140198d81:	44 89 54 24 38       	mov    %r10d,0x38(%rsp)
140198d86:	66 89 01             	mov    %ax,(%rcx)
140198d89:	ff c7                	inc    %edi
140198d8b:	48 83 c1 02          	add    $0x2,%rcx
140198d8f:	41 3b ff             	cmp    %r15d,%edi
140198d92:	72 cc                	jb     0x140198d60
140198d94:	45 8d 45 ff          	lea    -0x1(%r13),%r8d
140198d98:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140198d9d:	41 8b fd             	mov    %r13d,%edi
140198da0:	d1 ef                	shr    $1,%edi
140198da2:	41 8b cd             	mov    %r13d,%ecx
140198da5:	83 c7 03             	add    $0x3,%edi
140198da8:	c1 e9 03             	shr    $0x3,%ecx
140198dab:	03 f9                	add    %ecx,%edi
140198dad:	49 89 06             	mov    %rax,(%r14)
140198db0:	41 3b d0             	cmp    %r8d,%edx
140198db3:	0f 85 22 01 00 00    	jne    0x140198edb
140198db9:	45 8b d8             	mov    %r8d,%r11d
140198dbc:	4d 8b d4             	mov    %r12,%r10
140198dbf:	8b ef                	mov    %edi,%ebp
140198dc1:	49 8b d4             	mov    %r12,%rdx
140198dc4:	45 85 ff             	test   %r15d,%r15d
140198dc7:	74 50                	je     0x140198e19
140198dc9:	41 8b df             	mov    %r15d,%ebx
140198dcc:	49 bf 01 01 01 01 01 	movabs $0x101010101010101,%r15
140198dd3:	01 01 01
140198dd6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140198ddd:	00 00 00
140198de0:	48 0f bf 06          	movswq (%rsi),%rax
140198de4:	4b 89 14 11          	mov    %rdx,(%r9,%r10,1)
140198de8:	4c 8b c0             	mov    %rax,%r8
140198deb:	48 83 f8 08          	cmp    $0x8,%rax
140198def:	7e 18                	jle    0x140198e09
140198df1:	48 8d 48 f7          	lea    -0x9(%rax),%rcx
140198df5:	48 8b c2             	mov    %rdx,%rax
140198df8:	48 c1 e9 03          	shr    $0x3,%rcx
140198dfc:	49 8d 79 08          	lea    0x8(%r9),%rdi
140198e00:	49 03 fa             	add    %r10,%rdi
140198e03:	48 ff c1             	inc    %rcx
140198e06:	f3 48 ab             	rep stos %rax,%es:(%rdi)
140198e09:	4d 03 d0             	add    %r8,%r10
140198e0c:	48 83 c6 02          	add    $0x2,%rsi
140198e10:	49 03 d7             	add    %r15,%rdx
140198e13:	48 83 eb 01          	sub    $0x1,%rbx
140198e17:	75 c7                	jne    0x140198de0
140198e19:	41 8b fd             	mov    %r13d,%edi
140198e1c:	49 8b d4             	mov    %r12,%rdx
140198e1f:	45 85 ed             	test   %r13d,%r13d
140198e22:	74 3d                	je     0x140198e61
140198e24:	48 ff cf             	dec    %rdi
140198e27:	48 d1 ef             	shr    $1,%rdi
140198e2a:	48 ff c7             	inc    %rdi
140198e2d:	0f 1f 00             	nopl   (%rax)
140198e30:	41 0f b6 09          	movzbl (%r9),%ecx
140198e34:	4d 8d 49 02          	lea    0x2(%r9),%r9
140198e38:	48 8b c2             	mov    %rdx,%rax
140198e3b:	49 23 c3             	and    %r11,%rax
140198e3e:	41 89 4c c6 0c       	mov    %ecx,0xc(%r14,%rax,8)
140198e43:	48 8d 0c 2a          	lea    (%rdx,%rbp,1),%rcx
140198e47:	41 0f b6 41 ff       	movzbl -0x1(%r9),%eax
140198e4c:	48 8d 14 6a          	lea    (%rdx,%rbp,2),%rdx
140198e50:	49 23 cb             	and    %r11,%rcx
140198e53:	49 23 d3             	and    %r11,%rdx
140198e56:	41 89 44 ce 0c       	mov    %eax,0xc(%r14,%rcx,8)
140198e5b:	48 83 ef 01          	sub    $0x1,%rdi
140198e5f:	75 cf                	jne    0x140198e30
140198e61:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140198e66:	45 85 ed             	test   %r13d,%r13d
140198e69:	74 5b                	je     0x140198ec6
140198e6b:	4c 8b 4c 24 58       	mov    0x58(%rsp),%r9
140198e70:	4d 8d 46 0c          	lea    0xc(%r14),%r8
140198e74:	44 8b 54 24 60       	mov    0x60(%rsp),%r10d
140198e79:	4c 8b 5c 24 50       	mov    0x50(%rsp),%r11
140198e7e:	66 90                	xchg   %ax,%ax
140198e80:	41 8b 38             	mov    (%r8),%edi
140198e83:	4d 8d 40 08          	lea    0x8(%r8),%r8
140198e87:	41 0f b6 ca          	movzbl %r10b,%ecx
140198e8b:	41 ff c4             	inc    %r12d
140198e8e:	0f b7 54 7d 00       	movzwl 0x0(%rbp,%rdi,2),%edx
140198e93:	8d 42 01             	lea    0x1(%rdx),%eax
140198e96:	66 89 44 7d 00       	mov    %ax,0x0(%rbp,%rdi,2)
140198e9b:	0f bd c2             	bsr    %edx,%eax
140198e9e:	2a c8                	sub    %al,%cl
140198ea0:	41 88 48 f7          	mov    %cl,-0x9(%r8)
140198ea4:	66 d3 e2             	shl    %cl,%dx
140198ea7:	66 41 2b d5          	sub    %r13w,%dx
140198eab:	66 41 89 50 f4       	mov    %dx,-0xc(%r8)
140198eb0:	42 0f b6 04 0f       	movzbl (%rdi,%r9,1),%eax
140198eb5:	41 88 40 f6          	mov    %al,-0xa(%r8)
140198eb9:	41 8b 04 bb          	mov    (%r11,%rdi,4),%eax
140198ebd:	41 89 40 f8          	mov    %eax,-0x8(%r8)
140198ec1:	45 3b e5             	cmp    %r13d,%r12d
140198ec4:	72 ba                	jb     0x140198e80
140198ec6:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140198ecb:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140198ed0:	41 5f                	pop    %r15
140198ed2:	41 5e                	pop    %r14
140198ed4:	41 5d                	pop    %r13
140198ed6:	41 5c                	pop    %r12
140198ed8:	5f                   	pop    %rdi
140198ed9:	5e                   	pop    %rsi
140198eda:	c3                   	ret
140198edb:	41 8b c4             	mov    %r12d,%eax
140198ede:	45 8b d4             	mov    %r12d,%r10d
140198ee1:	45 85 ff             	test   %r15d,%r15d
140198ee4:	74 80                	je     0x140198e66
140198ee6:	0f bf 0e             	movswl (%rsi),%ecx
140198ee9:	85 c9                	test   %ecx,%ecx
140198eeb:	7e 22                	jle    0x140198f0f
140198eed:	44 8b c9             	mov    %ecx,%r9d
140198ef0:	8b c8                	mov    %eax,%ecx
140198ef2:	03 c7                	add    %edi,%eax
140198ef4:	41 23 c0             	and    %r8d,%eax
140198ef7:	45 89 54 ce 0c       	mov    %r10d,0xc(%r14,%rcx,8)
140198efc:	3b c2                	cmp    %edx,%eax
140198efe:	76 09                	jbe    0x140198f09
140198f00:	03 c7                	add    %edi,%eax
140198f02:	41 23 c0             	and    %r8d,%eax
140198f05:	3b c2                	cmp    %edx,%eax
140198f07:	77 f7                	ja     0x140198f00
140198f09:	49 83 e9 01          	sub    $0x1,%r9
140198f0d:	75 e1                	jne    0x140198ef0
140198f0f:	41 ff c2             	inc    %r10d
140198f12:	48 83 c6 02          	add    $0x2,%rsi
140198f16:	45 3b d7             	cmp    %r15d,%r10d
140198f19:	72 cb                	jb     0x140198ee6
140198f1b:	e9 46 ff ff ff       	jmp    0x140198e66
140198f20:	4c 8b 89 c0 74 00 00 	mov    0x74c0(%rcx),%r9
140198f27:	49 3b d1             	cmp    %r9,%rdx