7caaca:	0f 11 86 d4 00 00 00 	movups %xmm0,0xd4(%esi)
7caad1:	0f 11 86 e4 00 00 00 	movups %xmm0,0xe4(%esi)
7caad8:	0f 11 86 f4 00 00 00 	movups %xmm0,0xf4(%esi)
7caadf:	0f 11 86 04 01 00 00 	movups %xmm0,0x104(%esi)
7caae6:	0f 11 86 14 01 00 00 	movups %xmm0,0x114(%esi)
7caaed:	0f 11 86 24 01 00 00 	movups %xmm0,0x124(%esi)
7caaf4:	0f 11 86 34 01 00 00 	movups %xmm0,0x134(%esi)
7caafb:	0f 28 05 90 c2 c2 00 	movaps 0xc2c290,%xmm0
7cab02:	0f 11 86 44 01 00 00 	movups %xmm0,0x144(%esi)
7cab09:	66 0f d6 86 54 01 00 	movq   %xmm0,0x154(%esi)
7cab10:	00
7cab11:	0f 28 05 70 c2 c2 00 	movaps 0xc2c270,%xmm0
7cab18:	c7 86 5c 01 00 00 08 	movl   $0x8080808,0x15c(%esi)
7cab1f:	08 08 08
7cab22:	c7 86 60 01 00 00 08 	movl   $0x8080808,0x160(%esi)
7cab29:	08 08 08
7cab2c:	0f 11 86 64 01 00 00 	movups %xmm0,0x164(%esi)
7cab33:	0f 11 86 74 01 00 00 	movups %xmm0,0x174(%esi)
7cab3a:	8d 86 84 01 00 00    	lea    0x184(%esi),%eax
7cab40:	50                   	push   %eax
7cab41:	8d 4e 44             	lea    0x44(%esi),%ecx
7cab44:	51                   	push   %ecx
7cab45:	6a 09                	push   $0x9
7cab47:	68 20 01 00 00       	push   $0x120
7cab4c:	e8 8f 06 00 00       	call   0x7cb1e0
7cab51:	83 c4 10             	add    $0x10,%esp
7cab54:	85 c0                	test   %eax,%eax
7cab56:	0f 85 74 04 00 00    	jne    0x7cafd0
7cab5c:	8d 86 84 0a 00 00    	lea    0xa84(%esi),%eax
7cab62:	50                   	push   %eax
7cab63:	8d 8e 64 01 00 00    	lea    0x164(%esi),%ecx
7cab69:	51                   	push   %ecx
7cab6a:	6a 06                	push   $0x6
7cab6c:	6a 20                	push   $0x20
7cab6e:	e8 6d 06 00 00       	call   0x7cb1e0
7cab73:	83 c4 10             	add    $0x10,%esp
7cab76:	85 c0                	test   %eax,%eax
7cab78:	0f 85 45 04 00 00    	jne    0x7cafc3
7cab7e:	8b 54 24 28          	mov    0x28(%esp),%edx
7cab82:	eb 10                	jmp    0x7cab94
7cab84:	8b 54 24 28          	mov    0x28(%esp),%edx
7cab88:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
7cab8f:	00
7cab90:	8b 6c 24 10          	mov    0x10(%esp),%ebp
7cab94:	83 fb 10             	cmp    $0x10,%ebx
7cab97:	7d 40                	jge    0x7cabd9
7cab99:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7caba0:	3b fd                	cmp    %ebp,%edi
7caba2:	72 1f                	jb     0x7cabc3
7caba4:	56                   	push   %esi
7caba5:	e8 d6 0f 00 00       	call   0x7cbb80
7cabaa:	83 c4 04             	add    $0x4,%esp
7cabad:	85 c0                	test   %eax,%eax
7cabaf:	0f 85 aa 03 00 00    	jne    0x7caf5f
7cabb5:	8b 6e 28             	mov    0x28(%esi),%ebp
7cabb8:	8b 7e 24             	mov    0x24(%esi),%edi
7cabbb:	8b 54 24 28          	mov    0x28(%esp),%edx
7cabbf:	89 6c 24 10          	mov    %ebp,0x10(%esp)
7cabc3:	0f b6 07             	movzbl (%edi),%eax
7cabc6:	8b cb                	mov    %ebx,%ecx
7cabc8:	d3 e0                	shl    %cl,%eax
7cabca:	83 c3 08             	add    $0x8,%ebx
7cabcd:	0b d0                	or     %eax,%edx
7cabcf:	47                   	inc    %edi
7cabd0:	89 54 24 28          	mov    %edx,0x28(%esp)
7cabd4:	83 fb 10             	cmp    $0x10,%ebx
7cabd7:	7c c7                	jl     0x7caba0
7cabd9:	8b c2                	mov    %edx,%eax
7cabdb:	b9 20 01 00 00       	mov    $0x120,%ecx
7cabe0:	25 ff 01 00 00       	and    $0x1ff,%eax
7cabe5:	0f b7 84 46 84 01 00 	movzwl 0x184(%esi,%eax,2),%eax
7cabec:	00
7cabed:	89 44 24 18          	mov    %eax,0x18(%esp)
7cabf1:	66 3b c1             	cmp    %cx,%ax
7cabf4:	72 40                	jb     0x7cac36
7cabf6:	b9 08 00 00 00       	mov    $0x8,%ecx
7cabfb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
7cac00:	8b c1                	mov    %ecx,%eax
7cac02:	41                   	inc    %ecx
7cac03:	83 f8 10             	cmp    $0x10,%eax
7cac06:	0f 87 90 03 00 00    	ja     0x7caf9c
7cac0c:	8b 44 24 18          	mov    0x18(%esp),%eax
7cac10:	d3 ea                	shr    %cl,%edx
7cac12:	83 e2 01             	and    $0x1,%edx
7cac15:	0f b7 c0             	movzwl %ax,%eax
7cac18:	03 c0                	add    %eax,%eax
7cac1a:	0b d0                	or     %eax,%edx
7cac1c:	0f b7 84 56 84 01 00 	movzwl 0x184(%esi,%edx,2),%eax
7cac23:	00
7cac24:	ba 20 01 00 00       	mov    $0x120,%edx
7cac29:	66 3b c2             	cmp    %dx,%ax
7cac2c:	89 44 24 18          	mov    %eax,0x18(%esp)
7cac30:	8b 54 24 28          	mov    0x28(%esp),%edx
7cac34:	73 ca                	jae    0x7cac00
7cac36:	0f b7 c0             	movzwl %ax,%eax
7cac39:	89 44 24 18          	mov    %eax,0x18(%esp)
7cac3d:	0f b6 4c 30 44       	movzbl 0x44(%eax,%esi,1),%ecx
7cac42:	d3 ea                	shr    %cl,%edx
7cac44:	2b d9                	sub    %ecx,%ebx
7cac46:	89 54 24 28          	mov    %edx,0x28(%esp)
7cac4a:	3d 00 01 00 00       	cmp    $0x100,%eax
7cac4f:	73 40                	jae    0x7cac91
7cac51:	8b 46 0c             	mov    0xc(%esi),%eax
7cac54:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7cac58:	88 8c 30 84 0b 00 00 	mov    %cl,0xb84(%eax,%esi,1)
7cac5f:	ff 46 0c             	incl   0xc(%esi)
7cac62:	81 7e 0c 00 80 00 00 	cmpl   $0x8000,0xc(%esi)
7cac69:	0f 85 25 ff ff ff    	jne    0x7cab94
7cac6f:	8b 46 10             	mov    0x10(%esi),%eax
7cac72:	68 00 80 00 00       	push   $0x8000
7cac77:	56                   	push   %esi
7cac78:	ff d0                	call   *%eax
7cac7a:	83 c4 08             	add    $0x8,%esp
7cac7d:	85 c0                	test   %eax,%eax
7cac7f:	0f 85 f2 02 00 00    	jne    0x7caf77
7cac85:	8b 54 24 28          	mov    0x28(%esp),%edx
7cac89:	89 46 0c             	mov    %eax,0xc(%esi)
7cac8c:	e9 03 ff ff ff       	jmp    0x7cab94
7cac91:	0f 84 70 fd ff ff    	je     0x7caa07
7cac97:	2d 01 01 00 00       	sub    $0x101,%eax
7cac9c:	89 44 24 18          	mov    %eax,0x18(%esp)
7caca0:	83 f8 1d             	cmp    $0x1d,%eax
7caca3:	0f 83 0d 03 00 00    	jae    0x7cafb6
7caca9:	0f b6 80 c0 c1 c2 00 	movzbl 0xc2c1c0(%eax),%eax
7cacb0:	3b d8                	cmp    %eax,%ebx
7cacb2:	7d 43                	jge    0x7cacf7
7cacb4:	3b fd                	cmp    %ebp,%edi
7cacb6:	72 1f                	jb     0x7cacd7
7cacb8:	56                   	push   %esi
7cacb9:	e8 c2 0e 00 00       	call   0x7cbb80
7cacbe:	83 c4 04             	add    $0x4,%esp
7cacc1:	85 c0                	test   %eax,%eax
7cacc3:	0f 85 96 02 00 00    	jne    0x7caf5f
7cacc9:	8b 6e 28             	mov    0x28(%esi),%ebp
7caccc:	8b 7e 24             	mov    0x24(%esi),%edi
7caccf:	8b 54 24 28          	mov    0x28(%esp),%edx
7cacd3:	89 6c 24 10          	mov    %ebp,0x10(%esp)
7cacd7:	0f b6 07             	movzbl (%edi),%eax
7cacda:	8b cb                	mov    %ebx,%ecx
7cacdc:	d3 e0                	shl    %cl,%eax
7cacde:	83 c3 08             	add    $0x8,%ebx
7cace1:	0b d0                	or     %eax,%edx
7cace3:	47                   	inc    %edi
7cace4:	8b 44 24 18          	mov    0x18(%esp),%eax
7cace8:	89 54 24 28          	mov    %edx,0x28(%esp)
7cacec:	0f b6 80 c0 c1 c2 00 	movzbl 0xc2c1c0(%eax),%eax
7cacf3:	3b d8                	cmp    %eax,%ebx
7cacf5:	7c bd                	jl     0x7cacb4
7cacf7:	8b 44 24 18          	mov    0x18(%esp),%eax
7cacfb:	0f b6 88 c0 c1 c2 00 	movzbl 0xc2c1c0(%eax),%ecx
7cad02:	2b d9                	sub    %ecx,%ebx
7cad04:	0f b7 04 4d 24 c1 c2 	movzwl 0xc2c124(,%ecx,2),%eax
7cad0b:	00
7cad0c:	23 c2                	and    %edx,%eax
7cad0e:	d3 ea                	shr    %cl,%edx
7cad10:	89 44 24 14          	mov    %eax,0x14(%esp)
7cad14:	8b 44 24 18          	mov    0x18(%esp),%eax
7cad18:	89 54 24 28          	mov    %edx,0x28(%esp)
7cad1c:	0f b7 04 45 48 c1 c2 	movzwl 0xc2c148(,%eax,2),%eax
7cad23:	00
7cad24:	01 44 24 14          	add    %eax,0x14(%esp)
7cad28:	83 fb 10             	cmp    $0x10,%ebx
7cad2b:	7d 3c                	jge    0x7cad69
7cad2d:	0f 1f 00             	nopl   (%eax)
7cad30:	3b fd                	cmp    %ebp,%edi
7cad32:	72 1f                	jb     0x7cad53
7cad34:	56                   	push   %esi
7cad35:	e8 46 0e 00 00       	call   0x7cbb80
7cad3a:	83 c4 04             	add    $0x4,%esp
7cad3d:	85 c0                	test   %eax,%eax
7cad3f:	0f 85 1a 02 00 00    	jne    0x7caf5f
7cad45:	8b 6e 28             	mov    0x28(%esi),%ebp
7cad48:	8b 7e 24             	mov    0x24(%esi),%edi
7cad4b:	8b 54 24 28          	mov    0x28(%esp),%edx
7cad4f:	89 6c 24 10          	mov    %ebp,0x10(%esp)
7cad53:	0f b6 07             	movzbl (%edi),%eax
7cad56:	8b cb                	mov    %ebx,%ecx
7cad58:	d3 e0                	shl    %cl,%eax
7cad5a:	83 c3 08             	add    $0x8,%ebx
7cad5d:	0b d0                	or     %eax,%edx
7cad5f:	47                   	inc    %edi
7cad60:	89 54 24 28          	mov    %edx,0x28(%esp)
7cad64:	83 fb 10             	cmp    $0x10,%ebx
7cad67:	7c c7                	jl     0x7cad30
7cad69:	8b c2                	mov    %edx,%eax
7cad6b:	83 e0 3f             	and    $0x3f,%eax
7cad6e:	0f b7 84 46 84 0a 00 	movzwl 0xa84(%esi,%eax,2),%eax
7cad75:	00
7cad76:	89 44 24 18          	mov    %eax,0x18(%esp)
7cad7a:	83 f8 20             	cmp    $0x20,%eax
7cad7d:	72 36                	jb     0x7cadb5
7cad7f:	b9 05 00 00 00       	mov    $0x5,%ecx
7cad84:	8b c1                	mov    %ecx,%eax
7cad86:	41                   	inc    %ecx
7cad87:	83 f8 10             	cmp    $0x10,%eax
7cad8a:	0f 87 0c 02 00 00    	ja     0x7caf9c
7cad90:	8b 44 24 18          	mov    0x18(%esp),%eax
7cad94:	d3 ea                	shr    %cl,%edx
7cad96:	0f b7 c0             	movzwl %ax,%eax
7cad99:	83 e2 01             	and    $0x1,%edx
7cad9c:	03 c0                	add    %eax,%eax
7cad9e:	0b d0                	or     %eax,%edx
7cada0:	0f b7 84 56 84 0a 00 	movzwl 0xa84(%esi,%edx,2),%eax
7cada7:	00
7cada8:	8b 54 24 28          	mov    0x28(%esp),%edx
7cadac:	89 44 24 18          	mov    %eax,0x18(%esp)
7cadb0:	83 f8 20             	cmp    $0x20,%eax
7cadb3:	73 cf                	jae    0x7cad84
7cadb5:	0f b7 c0             	movzwl %ax,%eax
7cadb8:	89 44 24 18          	mov    %eax,0x18(%esp)
7cadbc:	0f b6 8c 30 64 01 00 	movzbl 0x164(%eax,%esi,1),%ecx
7cadc3:	00
7cadc4:	d3 ea                	shr    %cl,%edx
7cadc6:	2b d9                	sub    %ecx,%ebx
7cadc8:	89 54 24 28          	mov    %edx,0x28(%esp)
7cadcc:	83 f8 1e             	cmp    $0x1e,%eax
7cadcf:	0f 83 d4 01 00 00    	jae    0x7cafa9
7cadd5:	0f b6 80 e0 c1 c2 00 	movzbl 0xc2c1e0(%eax),%eax
7caddc:	3b d8                	cmp    %eax,%ebx
7cadde:	7d 43                	jge    0x7cae23
7cade0:	3b fd                	cmp    %ebp,%edi
7cade2:	72 1f                	jb     0x7cae03
7cade4:	56                   	push   %esi
7cade5:	e8 96 0d 00 00       	call   0x7cbb80
7cadea:	83 c4 04             	add    $0x4,%esp
7caded:	85 c0                	test   %eax,%eax
7cadef:	0f 85 6a 01 00 00    	jne    0x7caf5f
7cadf5:	8b 6e 28             	mov    0x28(%esi),%ebp
7cadf8:	8b 7e 24             	mov    0x24(%esi),%edi
7cadfb:	8b 54 24 28          	mov    0x28(%esp),%edx
7cadff:	89 6c 24 10          	mov    %ebp,0x10(%esp)
7cae03:	0f b6 07             	movzbl (%edi),%eax
7cae06:	8b cb                	mov    %ebx,%ecx
7cae08:	d3 e0                	shl    %cl,%eax
7cae0a:	83 c3 08             	add    $0x8,%ebx
7cae0d:	0b d0                	or     %eax,%edx
7cae0f:	47                   	inc    %edi
7cae10:	8b 44 24 18          	mov    0x18(%esp),%eax
7cae14:	89 54 24 28          	mov    %edx,0x28(%esp)
7cae18:	0f b6 80 e0 c1 c2 00 	movzbl 0xc2c1e0(%eax),%eax
7cae1f:	3b d8                	cmp    %eax,%ebx
7cae21:	7c bd                	jl     0x7cade0
7cae23:	8b 6c 24 18          	mov    0x18(%esp),%ebp
7cae27:	8b 44 24 28          	mov    0x28(%esp),%eax
7cae2b:	0f b6 8d e0 c1 c2 00 	movzbl 0xc2c1e0(%ebp),%ecx
7cae32:	2b d9                	sub    %ecx,%ebx
7cae34:	0f b7 14 4d 24 c1 c2 	movzwl 0xc2c124(,%ecx,2),%edx
7cae3b:	00
7cae3c:	23 d0                	and    %eax,%edx
7cae3e:	d3 e8                	shr    %cl,%eax
7cae40:	89 44 24 28          	mov    %eax,0x28(%esp)
7cae44:	0f b7 04 6d 84 c1 c2 	movzwl 0xc2c184(,%ebp,2),%eax
7cae4b:	00
7cae4c:	03 d0                	add    %eax,%edx
7cae4e:	8b 44 24 14          	mov    0x14(%esp),%eax
7cae52:	39 56 0c             	cmp    %edx,0xc(%esi)
7cae55:	1b ed                	sbb    %ebp,%ebp
7cae57:	81 e5 00 80 00 00    	and    $0x8000,%ebp
7cae5d:	2b ea                	sub    %edx,%ebp
7cae5f:	03 6e 0c             	add    0xc(%esi),%ebp
7cae62:	83 f8 0c             	cmp    $0xc,%eax
7cae65:	73 5b                	jae    0x7caec2
7cae67:	8b 54 24 28          	mov    0x28(%esp),%edx
7cae6b:	85 c0                	test   %eax,%eax
7cae6d:	0f 84 1d fd ff ff    	je     0x7cab90
7cae73:	8b 4e 0c             	mov    0xc(%esi),%ecx
7cae76:	48                   	dec    %eax
7cae77:	89 44 24 14          	mov    %eax,0x14(%esp)
7cae7b:	8a 84 2e 84 0b 00 00 	mov    0xb84(%esi,%ebp,1),%al
7cae82:	45                   	inc    %ebp
7cae83:	81 e5 ff 7f 00 00    	and    $0x7fff,%ebp
7cae89:	88 84 31 84 0b 00 00 	mov    %al,0xb84(%ecx,%esi,1)
7cae90:	ff 46 0c             	incl   0xc(%esi)
7cae93:	81 7e 0c 00 80 00 00 	cmpl   $0x8000,0xc(%esi)
7cae9a:	75 19                	jne    0x7caeb5
7cae9c:	8b 46 10             	mov    0x10(%esi),%eax
7cae9f:	68 00 80 00 00       	push   $0x8000
7caea4:	56                   	push   %esi
7caea5:	ff d0                	call   *%eax
7caea7:	83 c4 08             	add    $0x8,%esp
7caeaa:	85 c0                	test   %eax,%eax
7caeac:	0f 85 c5 00 00 00    	jne    0x7caf77
7caeb2:	89 46 0c             	mov    %eax,0xc(%esi)
7caeb5:	8b 44 24 14          	mov    0x14(%esp),%eax
7caeb9:	85 c0                	test   %eax,%eax
7caebb:	75 b6                	jne    0x7cae73
7caebd:	e9 c2 fc ff ff       	jmp    0x7cab84
7caec2:	03 c5                	add    %ebp,%eax
7caec4:	b9 00 80 00 00       	mov    $0x8000,%ecx
7caec9:	2b cd                	sub    %ebp,%ecx
7caecb:	3d 00 80 00 00       	cmp    $0x8000,%eax
7caed0:	8b 46 0c             	mov    0xc(%esi),%eax
7caed3:	0f 46 4c 24 14       	cmovbe 0x14(%esp),%ecx
7caed8:	03 c1                	add    %ecx,%eax
7caeda:	3d 00 80 00 00       	cmp    $0x8000,%eax
7caedf:	76 08                	jbe    0x7caee9
7caee1:	b9 00 80 00 00       	mov    $0x8000,%ecx
7caee6:	2b 4e 0c             	sub    0xc(%esi),%ecx
7caee9:	8b 46 0c             	mov    0xc(%esi),%eax
7caeec:	8d 96 84 0b 00 00    	lea    0xb84(%esi),%edx
7caef2:	29 4c 24 14          	sub    %ecx,0x14(%esp)
7caef6:	03 d0                	add    %eax,%edx
7caef8:	03 c1                	add    %ecx,%eax
7caefa:	89 46 0c             	mov    %eax,0xc(%esi)
7caefd:	8d 04 29             	lea    (%ecx,%ebp,1),%eax
7caf00:	89 44 24 18          	mov    %eax,0x18(%esp)
7caf04:	85 c9                	test   %ecx,%ecx
7caf06:	74 1e                	je     0x7caf26
7caf08:	2b ea                	sub    %edx,%ebp
7caf0a:	03 ee                	add    %esi,%ebp
7caf0c:	0f 1f 40 00          	nopl   0x0(%eax)
7caf10:	8a 84 2a 84 0b 00 00 	mov    0xb84(%edx,%ebp,1),%al
7caf17:	8d 52 01             	lea    0x1(%edx),%edx
7caf1a:	88 42 ff             	mov    %al,-0x1(%edx)
7caf1d:	83 e9 01             	sub    $0x1,%ecx
7caf20:	75 ee                	jne    0x7caf10
7caf22:	8b 44 24 18          	mov    0x18(%esp),%eax
7caf26:	33 ed                	xor    %ebp,%ebp
7caf28:	3d 00 80 00 00       	cmp    $0x8000,%eax
7caf2d:	0f 45 e8             	cmovne %eax,%ebp
7caf30:	81 7e 0c 00 80 00 00 	cmpl   $0x8000,0xc(%esi)
7caf37:	75 15                	jne    0x7caf4e
7caf39:	8b 46 10             	mov    0x10(%esi),%eax
7caf3c:	68 00 80 00 00       	push   $0x8000
7caf41:	56                   	push   %esi
7caf42:	ff d0                	call   *%eax
7caf44:	83 c4 08             	add    $0x8,%esp
7caf47:	85 c0                	test   %eax,%eax
7caf49:	75 2c                	jne    0x7caf77
7caf4b:	89 46 0c             	mov    %eax,0xc(%esi)
7caf4e:	8b 44 24 14          	mov    0x14(%esp),%eax
7caf52:	85 c0                	test   %eax,%eax
7caf54:	0f 85 68 ff ff ff    	jne    0x7caec2
7caf5a:	e9 25 fc ff ff       	jmp    0x7cab84
7caf5f:	8b 46 14             	mov    0x14(%esi),%eax
7caf62:	5f                   	pop    %edi
7caf63:	5e                   	pop    %esi
7caf64:	5d                   	pop    %ebp
7caf65:	5b                   	pop    %ebx
7caf66:	83 c4 14             	add    $0x14,%esp
7caf69:	c3                   	ret
7caf6a:	5f                   	pop    %edi
7caf6b:	5e                   	pop    %esi
7caf6c:	5d                   	pop    %ebp
7caf6d:	b8 fc ff ff ff       	mov    $0xfffffffc,%eax
7caf72:	5b                   	pop    %ebx
7caf73:	83 c4 14             	add    $0x14,%esp
7caf76:	c3                   	ret
7caf77:	5f                   	pop    %edi
7caf78:	5e                   	pop    %esi