408940:	f3 0f 6f 06          	movdqu (%esi),%xmm0
408944:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
408949:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40894d:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
408952:	8d 76 20             	lea    0x20(%esi),%esi
408955:	8d 7f 20             	lea    0x20(%edi),%edi
408958:	4a                   	dec    %edx
408959:	75 e5                	jne    0x408940
40895b:	83 e1 1f             	and    $0x1f,%ecx
40895e:	74 30                	je     0x408990
408960:	8b c1                	mov    %ecx,%eax
408962:	c1 e9 02             	shr    $0x2,%ecx
408965:	74 0f                	je     0x408976
408967:	8b 16                	mov    (%esi),%edx
408969:	89 17                	mov    %edx,(%edi)
40896b:	83 c7 04             	add    $0x4,%edi
40896e:	83 c6 04             	add    $0x4,%esi
408971:	83 e9 01             	sub    $0x1,%ecx
408974:	75 f1                	jne    0x408967
408976:	8b c8                	mov    %eax,%ecx
408978:	83 e1 03             	and    $0x3,%ecx
40897b:	74 13                	je     0x408990
40897d:	8a 06                	mov    (%esi),%al
40897f:	88 07                	mov    %al,(%edi)
408981:	46                   	inc    %esi
408982:	47                   	inc    %edi
408983:	49                   	dec    %ecx
408984:	75 f7                	jne    0x40897d
408986:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40898d:	8d 49 00             	lea    0x0(%ecx),%ecx
408990:	8b 44 24 0c          	mov    0xc(%esp),%eax
408994:	5e                   	pop    %esi
408995:	5f                   	pop    %edi
408996:	c3                   	ret
408997:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40899e:	8b ff                	mov    %edi,%edi
4089a0:	ba 10 00 00 00       	mov    $0x10,%edx
4089a5:	2b d0                	sub    %eax,%edx
4089a7:	2b ca                	sub    %edx,%ecx
4089a9:	51                   	push   %ecx
4089aa:	8b c2                	mov    %edx,%eax
4089ac:	8b c8                	mov    %eax,%ecx
4089ae:	83 e1 03             	and    $0x3,%ecx
4089b1:	74 09                	je     0x4089bc
4089b3:	8a 16                	mov    (%esi),%dl
4089b5:	88 17                	mov    %dl,(%edi)
4089b7:	46                   	inc    %esi
4089b8:	47                   	inc    %edi
4089b9:	49                   	dec    %ecx
4089ba:	75 f7                	jne    0x4089b3
4089bc:	c1 e8 02             	shr    $0x2,%eax
4089bf:	74 0d                	je     0x4089ce
4089c1:	8b 16                	mov    (%esi),%edx
4089c3:	89 17                	mov    %edx,(%edi)
4089c5:	8d 76 04             	lea    0x4(%esi),%esi
4089c8:	8d 7f 04             	lea    0x4(%edi),%edi
4089cb:	48                   	dec    %eax
4089cc:	75 f3                	jne    0x4089c1
4089ce:	59                   	pop    %ecx
4089cf:	e9 e9 fe ff ff       	jmp    0x4088bd
4089d4:	cc                   	int3
4089d5:	cc                   	int3
4089d6:	cc                   	int3
4089d7:	cc                   	int3
4089d8:	cc                   	int3
4089d9:	cc                   	int3
4089da:	cc                   	int3
4089db:	cc                   	int3
4089dc:	cc                   	int3
4089dd:	cc                   	int3
4089de:	cc                   	int3
4089df:	cc                   	int3
4089e0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4089e4:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
4089e9:	8b d7                	mov    %edi,%edx
4089eb:	8b 7c 24 04          	mov    0x4(%esp),%edi
4089ef:	85 c9                	test   %ecx,%ecx
4089f1:	0f 84 3c 01 00 00    	je     0x408b33
4089f7:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
4089fd:	83 f9 20             	cmp    $0x20,%ecx
408a00:	0f 8e df 00 00 00    	jle    0x408ae5
408a06:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
408a0c:	0f 8c 8b 00 00 00    	jl     0x408a9d
408a12:	0f ba 25 4c 96 83 02 	btl    $0x1,0x283964c
408a19:	01
408a1a:	73 09                	jae    0x408a25
408a1c:	f3 aa                	rep stos %al,%es:(%edi)
408a1e:	8b 44 24 04          	mov    0x4(%esp),%eax
408a22:	8b fa                	mov    %edx,%edi
408a24:	c3                   	ret
408a25:	0f ba 25 30 ba 43 00 	btl    $0x1,0x43ba30
408a2c:	01
408a2d:	0f 83 b2 00 00 00    	jae    0x408ae5
408a33:	66 0f 6e c0          	movd   %eax,%xmm0
408a37:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
408a3c:	03 cf                	add    %edi,%ecx
408a3e:	0f 11 07             	movups %xmm0,(%edi)
408a41:	83 c7 10             	add    $0x10,%edi
408a44:	83 e7 f0             	and    $0xfffffff0,%edi
408a47:	2b cf                	sub    %edi,%ecx
408a49:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
408a4f:	7e 4c                	jle    0x408a9d
408a51:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408a58:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408a5f:	90                   	nop
408a60:	66 0f 7f 07          	movdqa %xmm0,(%edi)
408a64:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
408a69:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
408a6e:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
408a73:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
408a78:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
408a7d:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
408a82:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
408a87:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
408a8d:	81 e9 80 00 00 00    	sub    $0x80,%ecx
408a93:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
408a99:	75 c5                	jne    0x408a60
408a9b:	eb 13                	jmp    0x408ab0
408a9d:	0f ba 25 30 ba 43 00 	btl    $0x1,0x43ba30
408aa4:	01
408aa5:	73 3e                	jae    0x408ae5
408aa7:	66 0f 6e c0          	movd   %eax,%xmm0
408aab:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
408ab0:	83 f9 20             	cmp    $0x20,%ecx
408ab3:	72 1c                	jb     0x408ad1
408ab5:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
408ab9:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
408abe:	83 c7 20             	add    $0x20,%edi
408ac1:	83 e9 20             	sub    $0x20,%ecx
408ac4:	83 f9 20             	cmp    $0x20,%ecx
408ac7:	73 ec                	jae    0x408ab5
408ac9:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
408acf:	74 62                	je     0x408b33
408ad1:	8d 7c 39 e0          	lea    -0x20(%ecx,%edi,1),%edi
408ad5:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
408ad9:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
408ade:	8b 44 24 04          	mov    0x4(%esp),%eax
408ae2:	8b fa                	mov    %edx,%edi
408ae4:	c3                   	ret
408ae5:	f7 c1 03 00 00 00    	test   $0x3,%ecx
408aeb:	74 0e                	je     0x408afb
408aed:	88 07                	mov    %al,(%edi)
408aef:	47                   	inc    %edi
408af0:	83 e9 01             	sub    $0x1,%ecx
408af3:	f7 c1 03 00 00 00    	test   $0x3,%ecx
408af9:	75 f2                	jne    0x408aed
408afb:	f7 c1 04 00 00 00    	test   $0x4,%ecx
408b01:	74 08                	je     0x408b0b
408b03:	89 07                	mov    %eax,(%edi)
408b05:	83 c7 04             	add    $0x4,%edi
408b08:	83 e9 04             	sub    $0x4,%ecx
408b0b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
408b11:	74 20                	je     0x408b33
408b13:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408b1a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
408b20:	89 07                	mov    %eax,(%edi)
408b22:	89 47 04             	mov    %eax,0x4(%edi)
408b25:	83 c7 08             	add    $0x8,%edi
408b28:	83 e9 08             	sub    $0x8,%ecx
408b2b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
408b31:	75 ed                	jne    0x408b20
408b33:	8b 44 24 04          	mov    0x4(%esp),%eax
408b37:	8b fa                	mov    %edx,%edi
408b39:	c3                   	ret
408b3a:	6a 08                	push   $0x8
408b3c:	68 f0 7e 43 00       	push   $0x437ef0
408b41:	e8 da ea ff ff       	call   0x407620
408b46:	8b 45 08             	mov    0x8(%ebp),%eax
408b49:	85 c0                	test   %eax,%eax
408b4b:	74 7b                	je     0x408bc8
408b4d:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
408b53:	75 73                	jne    0x408bc8
408b55:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
408b59:	75 6d                	jne    0x408bc8
408b5b:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
408b62:	74 12                	je     0x408b76
408b64:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
408b6b:	74 09                	je     0x408b76
408b6d:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
408b74:	75 52                	jne    0x408bc8
408b76:	8b 48 1c             	mov    0x1c(%eax),%ecx
408b79:	85 c9                	test   %ecx,%ecx
408b7b:	74 4b                	je     0x408bc8
408b7d:	8b 51 04             	mov    0x4(%ecx),%edx
408b80:	85 d2                	test   %edx,%edx
408b82:	74 27                	je     0x408bab
408b84:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408b88:	52                   	push   %edx
408b89:	ff 70 18             	push   0x18(%eax)
408b8c:	e8 c7 08 00 00       	call   0x409458
408b91:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
408b98:	eb 2e                	jmp    0x408bc8
408b9a:	33 c0                	xor    %eax,%eax
408b9c:	38 45 0c             	cmp    %al,0xc(%ebp)
408b9f:	0f 95 c0             	setne  %al
408ba2:	c3                   	ret
408ba3:	8b 65 e8             	mov    -0x18(%ebp),%esp
408ba6:	e8 1f ef 00 00       	call   0x417aca
408bab:	f6 01 10             	testb  $0x10,(%ecx)
408bae:	74 18                	je     0x408bc8
408bb0:	8b 40 18             	mov    0x18(%eax),%eax
408bb3:	8b 08                	mov    (%eax),%ecx
408bb5:	85 c9                	test   %ecx,%ecx
408bb7:	74 0f                	je     0x408bc8
408bb9:	8b 01                	mov    (%ecx),%eax
408bbb:	51                   	push   %ecx
408bbc:	8b 70 08             	mov    0x8(%eax),%esi
408bbf:	8b ce                	mov    %esi,%ecx
408bc1:	e8 ab e4 ff ff       	call   0x407071
408bc6:	ff d6                	call   *%esi
408bc8:	e8 99 ea ff ff       	call   0x407666
408bcd:	c3                   	ret
408bce:	55                   	push   %ebp
408bcf:	8b ec                	mov    %esp,%ebp
408bd1:	56                   	push   %esi
408bd2:	ff 75 08             	push   0x8(%ebp)
408bd5:	8b f1                	mov    %ecx,%esi
408bd7:	e8 13 a0 ff ff       	call   0x402bef
408bdc:	c7 06 6c a6 42 00    	movl   $0x42a66c,(%esi)
408be2:	8b c6                	mov    %esi,%eax
408be4:	5e                   	pop    %esi
408be5:	5d                   	pop    %ebp
408be6:	c2 04 00             	ret    $0x4
408be9:	83 61 04 00          	andl   $0x0,0x4(%ecx)
408bed:	8b c1                	mov    %ecx,%eax
408bef:	83 61 08 00          	andl   $0x0,0x8(%ecx)
408bf3:	c7 41 04 74 a6 42 00 	movl   $0x42a674,0x4(%ecx)
408bfa:	c7 01 6c a6 42 00    	movl   $0x42a66c,(%ecx)
408c00:	c3                   	ret
408c01:	8d 41 04             	lea    0x4(%ecx),%eax
408c04:	c7 01 c4 72 42 00    	movl   $0x4272c4,(%ecx)
408c0a:	50                   	push   %eax
408c0b:	e8 e7 f3 ff ff       	call   0x407ff7
408c10:	59                   	pop    %ecx
408c11:	c3                   	ret
408c12:	55                   	push   %ebp
408c13:	8b ec                	mov    %esp,%ebp
408c15:	56                   	push   %esi
408c16:	8b f1                	mov    %ecx,%esi
408c18:	8d 46 04             	lea    0x4(%esi),%eax
408c1b:	c7 06 c4 72 42 00    	movl   $0x4272c4,(%esi)
408c21:	50                   	push   %eax
408c22:	e8 d0 f3 ff ff       	call   0x407ff7
408c27:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
408c2b:	59                   	pop    %ecx
408c2c:	74 0a                	je     0x408c38
408c2e:	6a 0c                	push   $0xc
408c30:	56                   	push   %esi
408c31:	e8 9d dc ff ff       	call   0x4068d3
408c36:	59                   	pop    %ecx
408c37:	59                   	pop    %ecx
408c38:	8b c6                	mov    %esi,%eax
408c3a:	5e                   	pop    %esi
408c3b:	5d                   	pop    %ebp
408c3c:	c2 04 00             	ret    $0x4
408c3f:	6a 38                	push   $0x38
408c41:	68 a8 7e 43 00       	push   $0x437ea8
408c46:	e8 d5 e9 ff ff       	call   0x407620
408c4b:	8b 45 18             	mov    0x18(%ebp),%eax
408c4e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
408c51:	83 65 c4 00          	andl   $0x0,-0x3c(%ebp)
408c55:	8b 5d 0c             	mov    0xc(%ebp),%ebx
408c58:	8b 43 fc             	mov    -0x4(%ebx),%eax
408c5b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
408c5e:	8b 7d 08             	mov    0x8(%ebp),%edi
408c61:	ff 77 18             	push   0x18(%edi)
408c64:	8d 45 b8             	lea    -0x48(%ebp),%eax
408c67:	50                   	push   %eax
408c68:	e8 84 f6 ff ff       	call   0x4082f1
408c6d:	59                   	pop    %ecx
408c6e:	59                   	pop    %ecx
408c6f:	89 45 d0             	mov    %eax,-0x30(%ebp)
408c72:	e8 ff 29 00 00       	call   0x40b676
408c77:	8b 40 10             	mov    0x10(%eax),%eax
408c7a:	89 45 cc             	mov    %eax,-0x34(%ebp)
408c7d:	e8 f4 29 00 00       	call   0x40b676
408c82:	8b 40 14             	mov    0x14(%eax),%eax
408c85:	89 45 c8             	mov    %eax,-0x38(%ebp)
408c88:	e8 e9 29 00 00       	call   0x40b676
408c8d:	89 78 10             	mov    %edi,0x10(%eax)
408c90:	e8 e1 29 00 00       	call   0x40b676
408c95:	8b 4d 10             	mov    0x10(%ebp),%ecx
408c98:	89 48 14             	mov    %ecx,0x14(%eax)
408c9b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408c9f:	33 c0                	xor    %eax,%eax
408ca1:	40                   	inc    %eax
408ca2:	89 45 c0             	mov    %eax,-0x40(%ebp)
408ca5:	89 45 fc             	mov    %eax,-0x4(%ebp)
408ca8:	ff 75 20             	push   0x20(%ebp)
408cab:	ff 75 1c             	push   0x1c(%ebp)
408cae:	ff 75 18             	push   0x18(%ebp)
408cb1:	ff 75 14             	push   0x14(%ebp)
408cb4:	53                   	push   %ebx
408cb5:	e8 ca f3 ff ff       	call   0x408084
408cba:	83 c4 14             	add    $0x14,%esp
408cbd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
408cc0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408cc4:	e9 90 00 00 00       	jmp    0x408d59
408cc9:	ff 75 ec             	push   -0x14(%ebp)
408ccc:	e8 df 01 00 00       	call   0x408eb0
408cd1:	59                   	pop    %ecx
408cd2:	c3                   	ret
408cd3:	8b 65 e8             	mov    -0x18(%ebp),%esp
408cd6:	e8 9b 29 00 00       	call   0x40b676
408cdb:	83 60 20 00          	andl   $0x0,0x20(%eax)
408cdf:	8b 55 14             	mov    0x14(%ebp),%edx
408ce2:	8b 5d 0c             	mov    0xc(%ebp),%ebx
408ce5:	81 7a 04 80 00 00 00 	cmpl   $0x80,0x4(%edx)
408cec:	7f 06                	jg     0x408cf4
408cee:	0f be 43 08          	movsbl 0x8(%ebx),%eax
408cf2:	eb 03                	jmp    0x408cf7
408cf4:	8b 43 08             	mov    0x8(%ebx),%eax
408cf7:	89 45 e0             	mov    %eax,-0x20(%ebp)
408cfa:	8b 7a 10             	mov    0x10(%edx),%edi
408cfd:	33 c9                	xor    %ecx,%ecx
408cff:	89 4d d8             	mov    %ecx,-0x28(%ebp)
408d02:	39 4a 0c             	cmp    %ecx,0xc(%edx)
408d05:	76 3a                	jbe    0x408d41
408d07:	6b d9 14             	imul   $0x14,%ecx,%ebx
408d0a:	89 5d dc             	mov    %ebx,-0x24(%ebp)
408d0d:	3b 44 3b 04          	cmp    0x4(%ebx,%edi,1),%eax
408d11:	8b 5d 0c             	mov    0xc(%ebp),%ebx
408d14:	7e 22                	jle    0x408d38
408d16:	8b 5d dc             	mov    -0x24(%ebp),%ebx
408d19:	3b 44 3b 08          	cmp    0x8(%ebx,%edi,1),%eax
408d1d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
408d20:	7f 16                	jg     0x408d38
408d22:	6b c1 14             	imul   $0x14,%ecx,%eax
408d25:	8b 44 38 04          	mov    0x4(%eax,%edi,1),%eax
408d29:	40                   	inc    %eax
408d2a:	89 45 e0             	mov    %eax,-0x20(%ebp)
408d2d:	8b 4a 08             	mov    0x8(%edx),%ecx
408d30:	8b 04 c1             	mov    (%ecx,%eax,8),%eax
408d33:	89 45 e0             	mov    %eax,-0x20(%ebp)
408d36:	eb 09                	jmp    0x408d41
408d38:	41                   	inc    %ecx
408d39:	89 4d d8             	mov    %ecx,-0x28(%ebp)
408d3c:	3b 4a 0c             	cmp    0xc(%edx),%ecx
408d3f:	72 c6                	jb     0x408d07
408d41:	50                   	push   %eax
408d42:	52                   	push   %edx
408d43:	6a 00                	push   $0x0
408d45:	53                   	push   %ebx
408d46:	e8 49 09 00 00       	call   0x409694
408d4b:	83 c4 10             	add    $0x10,%esp
408d4e:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
408d52:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408d56:	8b 7d 08             	mov    0x8(%ebp),%edi
408d59:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
408d60:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)