408709:	88 47 02             	mov    %al,0x2(%edi)
40870c:	8b 44 24 0c          	mov    0xc(%esp),%eax
408710:	5e                   	pop    %esi
408711:	5f                   	pop    %edi
408712:	c3                   	ret
408713:	90                   	nop
408714:	8d 34 31             	lea    (%ecx,%esi,1),%esi
408717:	8d 3c 39             	lea    (%ecx,%edi,1),%edi
40871a:	83 f9 20             	cmp    $0x20,%ecx
40871d:	0f 82 51 01 00 00    	jb     0x408874
408723:	0f ba 25 30 ba 43 00 	btl    $0x1,0x43ba30
40872a:	01
40872b:	0f 82 94 00 00 00    	jb     0x4087c5
408731:	f7 c7 03 00 00 00    	test   $0x3,%edi
408737:	74 14                	je     0x40874d
408739:	8b d7                	mov    %edi,%edx
40873b:	83 e2 03             	and    $0x3,%edx
40873e:	2b ca                	sub    %edx,%ecx
408740:	8a 46 ff             	mov    -0x1(%esi),%al
408743:	88 47 ff             	mov    %al,-0x1(%edi)
408746:	4e                   	dec    %esi
408747:	4f                   	dec    %edi
408748:	83 ea 01             	sub    $0x1,%edx
40874b:	75 f3                	jne    0x408740
40874d:	83 f9 20             	cmp    $0x20,%ecx
408750:	0f 82 1e 01 00 00    	jb     0x408874
408756:	8b d1                	mov    %ecx,%edx
408758:	c1 e9 02             	shr    $0x2,%ecx
40875b:	83 e2 03             	and    $0x3,%edx
40875e:	83 ee 04             	sub    $0x4,%esi
408761:	83 ef 04             	sub    $0x4,%edi
408764:	fd                   	std
408765:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
408767:	fc                   	cld
408768:	ff 24 95 70 87 40 00 	jmp    *0x408770(,%edx,4)
40876f:	90                   	nop
408770:	80 87 40 00 88 87 40 	addb   $0x40,-0x7877ffc0(%edi)
408777:	00 98 87 40 00 ac    	add    %bl,-0x53ffbf79(%eax)
40877d:	87 40 00             	xchg   %eax,0x0(%eax)
408780:	8b 44 24 0c          	mov    0xc(%esp),%eax
408784:	5e                   	pop    %esi
408785:	5f                   	pop    %edi
408786:	c3                   	ret
408787:	90                   	nop
408788:	8a 46 03             	mov    0x3(%esi),%al
40878b:	88 47 03             	mov    %al,0x3(%edi)
40878e:	8b 44 24 0c          	mov    0xc(%esp),%eax
408792:	5e                   	pop    %esi
408793:	5f                   	pop    %edi
408794:	c3                   	ret
408795:	8d 49 00             	lea    0x0(%ecx),%ecx
408798:	8a 46 03             	mov    0x3(%esi),%al
40879b:	88 47 03             	mov    %al,0x3(%edi)
40879e:	8a 46 02             	mov    0x2(%esi),%al
4087a1:	88 47 02             	mov    %al,0x2(%edi)
4087a4:	8b 44 24 0c          	mov    0xc(%esp),%eax
4087a8:	5e                   	pop    %esi
4087a9:	5f                   	pop    %edi
4087aa:	c3                   	ret
4087ab:	90                   	nop
4087ac:	8a 46 03             	mov    0x3(%esi),%al
4087af:	88 47 03             	mov    %al,0x3(%edi)
4087b2:	8a 46 02             	mov    0x2(%esi),%al
4087b5:	88 47 02             	mov    %al,0x2(%edi)
4087b8:	8a 46 01             	mov    0x1(%esi),%al
4087bb:	88 47 01             	mov    %al,0x1(%edi)
4087be:	8b 44 24 0c          	mov    0xc(%esp),%eax
4087c2:	5e                   	pop    %esi
4087c3:	5f                   	pop    %edi
4087c4:	c3                   	ret
4087c5:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4087cb:	74 0f                	je     0x4087dc
4087cd:	49                   	dec    %ecx
4087ce:	4e                   	dec    %esi
4087cf:	4f                   	dec    %edi
4087d0:	8a 06                	mov    (%esi),%al
4087d2:	88 07                	mov    %al,(%edi)
4087d4:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4087da:	75 f1                	jne    0x4087cd
4087dc:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4087e2:	72 68                	jb     0x40884c
4087e4:	81 ee 80 00 00 00    	sub    $0x80,%esi
4087ea:	81 ef 80 00 00 00    	sub    $0x80,%edi
4087f0:	f3 0f 6f 06          	movdqu (%esi),%xmm0
4087f4:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
4087f9:	f3 0f 6f 56 20       	movdqu 0x20(%esi),%xmm2
4087fe:	f3 0f 6f 5e 30       	movdqu 0x30(%esi),%xmm3
408803:	f3 0f 6f 66 40       	movdqu 0x40(%esi),%xmm4
408808:	f3 0f 6f 6e 50       	movdqu 0x50(%esi),%xmm5
40880d:	f3 0f 6f 76 60       	movdqu 0x60(%esi),%xmm6
408812:	f3 0f 6f 7e 70       	movdqu 0x70(%esi),%xmm7
408817:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40881b:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
408820:	f3 0f 7f 57 20       	movdqu %xmm2,0x20(%edi)
408825:	f3 0f 7f 5f 30       	movdqu %xmm3,0x30(%edi)
40882a:	f3 0f 7f 67 40       	movdqu %xmm4,0x40(%edi)
40882f:	f3 0f 7f 6f 50       	movdqu %xmm5,0x50(%edi)
408834:	f3 0f 7f 77 60       	movdqu %xmm6,0x60(%edi)
408839:	f3 0f 7f 7f 70       	movdqu %xmm7,0x70(%edi)
40883e:	81 e9 80 00 00 00    	sub    $0x80,%ecx
408844:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
40884a:	75 90                	jne    0x4087dc
40884c:	83 f9 20             	cmp    $0x20,%ecx
40884f:	72 23                	jb     0x408874
408851:	83 ee 20             	sub    $0x20,%esi
408854:	83 ef 20             	sub    $0x20,%edi
408857:	f3 0f 6f 06          	movdqu (%esi),%xmm0
40885b:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
408860:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
408864:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
408869:	83 e9 20             	sub    $0x20,%ecx
40886c:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
408872:	75 dd                	jne    0x408851
408874:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
40887a:	74 15                	je     0x408891
40887c:	83 ef 04             	sub    $0x4,%edi
40887f:	83 ee 04             	sub    $0x4,%esi
408882:	8b 06                	mov    (%esi),%eax
408884:	89 07                	mov    %eax,(%edi)
408886:	83 e9 04             	sub    $0x4,%ecx
408889:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
40888f:	75 eb                	jne    0x40887c
408891:	85 c9                	test   %ecx,%ecx
408893:	74 0f                	je     0x4088a4
408895:	83 ef 01             	sub    $0x1,%edi
408898:	83 ee 01             	sub    $0x1,%esi
40889b:	8a 06                	mov    (%esi),%al
40889d:	88 07                	mov    %al,(%edi)
40889f:	83 e9 01             	sub    $0x1,%ecx
4088a2:	75 f1                	jne    0x408895
4088a4:	8b 44 24 0c          	mov    0xc(%esp),%eax
4088a8:	5e                   	pop    %esi
4088a9:	5f                   	pop    %edi
4088aa:	c3                   	ret
4088ab:	eb 03                	jmp    0x4088b0
4088ad:	cc                   	int3
4088ae:	cc                   	int3
4088af:	cc                   	int3
4088b0:	8b c6                	mov    %esi,%eax
4088b2:	83 e0 0f             	and    $0xf,%eax
4088b5:	85 c0                	test   %eax,%eax
4088b7:	0f 85 e3 00 00 00    	jne    0x4089a0
4088bd:	8b d1                	mov    %ecx,%edx
4088bf:	83 e1 7f             	and    $0x7f,%ecx
4088c2:	c1 ea 07             	shr    $0x7,%edx
4088c5:	74 66                	je     0x40892d
4088c7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4088ce:	8b ff                	mov    %edi,%edi
4088d0:	66 0f 6f 06          	movdqa (%esi),%xmm0
4088d4:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
4088d9:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
4088de:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
4088e3:	66 0f 7f 07          	movdqa %xmm0,(%edi)
4088e7:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
4088ec:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
4088f1:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
4088f6:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
4088fb:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
408900:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
408905:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
40890a:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
40890f:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
408914:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
408919:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
40891e:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
408924:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
40892a:	4a                   	dec    %edx
40892b:	75 a3                	jne    0x4088d0
40892d:	85 c9                	test   %ecx,%ecx
40892f:	74 5f                	je     0x408990
408931:	8b d1                	mov    %ecx,%edx
408933:	c1 ea 05             	shr    $0x5,%edx
408936:	85 d2                	test   %edx,%edx
408938:	74 21                	je     0x40895b
40893a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
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)