42f43b:	90                   	nop
42f43c:	8a 46 03             	mov    0x3(%esi),%al
42f43f:	88 47 03             	mov    %al,0x3(%edi)
42f442:	8a 46 02             	mov    0x2(%esi),%al
42f445:	88 47 02             	mov    %al,0x2(%edi)
42f448:	8a 46 01             	mov    0x1(%esi),%al
42f44b:	88 47 01             	mov    %al,0x1(%edi)
42f44e:	8b 44 24 0c          	mov    0xc(%esp),%eax
42f452:	5e                   	pop    %esi
42f453:	5f                   	pop    %edi
42f454:	c3                   	ret
42f455:	f7 c7 0f 00 00 00    	test   $0xf,%edi
42f45b:	74 0f                	je     0x42f46c
42f45d:	49                   	dec    %ecx
42f45e:	4e                   	dec    %esi
42f45f:	4f                   	dec    %edi
42f460:	8a 06                	mov    (%esi),%al
42f462:	88 07                	mov    %al,(%edi)
42f464:	f7 c7 0f 00 00 00    	test   $0xf,%edi
42f46a:	75 f1                	jne    0x42f45d
42f46c:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
42f472:	72 68                	jb     0x42f4dc
42f474:	81 ee 80 00 00 00    	sub    $0x80,%esi
42f47a:	81 ef 80 00 00 00    	sub    $0x80,%edi
42f480:	f3 0f 6f 06          	movdqu (%esi),%xmm0
42f484:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
42f489:	f3 0f 6f 56 20       	movdqu 0x20(%esi),%xmm2
42f48e:	f3 0f 6f 5e 30       	movdqu 0x30(%esi),%xmm3
42f493:	f3 0f 6f 66 40       	movdqu 0x40(%esi),%xmm4
42f498:	f3 0f 6f 6e 50       	movdqu 0x50(%esi),%xmm5
42f49d:	f3 0f 6f 76 60       	movdqu 0x60(%esi),%xmm6
42f4a2:	f3 0f 6f 7e 70       	movdqu 0x70(%esi),%xmm7
42f4a7:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
42f4ab:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
42f4b0:	f3 0f 7f 57 20       	movdqu %xmm2,0x20(%edi)
42f4b5:	f3 0f 7f 5f 30       	movdqu %xmm3,0x30(%edi)
42f4ba:	f3 0f 7f 67 40       	movdqu %xmm4,0x40(%edi)
42f4bf:	f3 0f 7f 6f 50       	movdqu %xmm5,0x50(%edi)
42f4c4:	f3 0f 7f 77 60       	movdqu %xmm6,0x60(%edi)
42f4c9:	f3 0f 7f 7f 70       	movdqu %xmm7,0x70(%edi)
42f4ce:	81 e9 80 00 00 00    	sub    $0x80,%ecx
42f4d4:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
42f4da:	75 90                	jne    0x42f46c
42f4dc:	83 f9 20             	cmp    $0x20,%ecx
42f4df:	72 23                	jb     0x42f504
42f4e1:	83 ee 20             	sub    $0x20,%esi
42f4e4:	83 ef 20             	sub    $0x20,%edi
42f4e7:	f3 0f 6f 06          	movdqu (%esi),%xmm0
42f4eb:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
42f4f0:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
42f4f4:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
42f4f9:	83 e9 20             	sub    $0x20,%ecx
42f4fc:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
42f502:	75 dd                	jne    0x42f4e1
42f504:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
42f50a:	74 15                	je     0x42f521
42f50c:	83 ef 04             	sub    $0x4,%edi
42f50f:	83 ee 04             	sub    $0x4,%esi
42f512:	8b 06                	mov    (%esi),%eax
42f514:	89 07                	mov    %eax,(%edi)
42f516:	83 e9 04             	sub    $0x4,%ecx
42f519:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
42f51f:	75 eb                	jne    0x42f50c
42f521:	85 c9                	test   %ecx,%ecx
42f523:	74 0f                	je     0x42f534
42f525:	83 ef 01             	sub    $0x1,%edi
42f528:	83 ee 01             	sub    $0x1,%esi
42f52b:	8a 06                	mov    (%esi),%al
42f52d:	88 07                	mov    %al,(%edi)
42f52f:	83 e9 01             	sub    $0x1,%ecx
42f532:	75 f1                	jne    0x42f525
42f534:	8b 44 24 0c          	mov    0xc(%esp),%eax
42f538:	5e                   	pop    %esi
42f539:	5f                   	pop    %edi
42f53a:	c3                   	ret
42f53b:	eb 03                	jmp    0x42f540
42f53d:	cc                   	int3
42f53e:	cc                   	int3
42f53f:	cc                   	int3
42f540:	8b c6                	mov    %esi,%eax
42f542:	83 e0 0f             	and    $0xf,%eax
42f545:	85 c0                	test   %eax,%eax
42f547:	0f 85 e3 00 00 00    	jne    0x42f630
42f54d:	8b d1                	mov    %ecx,%edx
42f54f:	83 e1 7f             	and    $0x7f,%ecx
42f552:	c1 ea 07             	shr    $0x7,%edx
42f555:	74 66                	je     0x42f5bd
42f557:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42f55e:	8b ff                	mov    %edi,%edi
42f560:	66 0f 6f 06          	movdqa (%esi),%xmm0
42f564:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
42f569:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
42f56e:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
42f573:	66 0f 7f 07          	movdqa %xmm0,(%edi)
42f577:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
42f57c:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
42f581:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
42f586:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
42f58b:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
42f590:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
42f595:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
42f59a:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
42f59f:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
42f5a4:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
42f5a9:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
42f5ae:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
42f5b4:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
42f5ba:	4a                   	dec    %edx
42f5bb:	75 a3                	jne    0x42f560
42f5bd:	85 c9                	test   %ecx,%ecx
42f5bf:	74 5f                	je     0x42f620
42f5c1:	8b d1                	mov    %ecx,%edx
42f5c3:	c1 ea 05             	shr    $0x5,%edx
42f5c6:	85 d2                	test   %edx,%edx
42f5c8:	74 21                	je     0x42f5eb
42f5ca:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
42f5d0:	f3 0f 6f 06          	movdqu (%esi),%xmm0
42f5d4:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
42f5d9:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
42f5dd:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
42f5e2:	8d 76 20             	lea    0x20(%esi),%esi
42f5e5:	8d 7f 20             	lea    0x20(%edi),%edi
42f5e8:	4a                   	dec    %edx
42f5e9:	75 e5                	jne    0x42f5d0
42f5eb:	83 e1 1f             	and    $0x1f,%ecx
42f5ee:	74 30                	je     0x42f620
42f5f0:	8b c1                	mov    %ecx,%eax
42f5f2:	c1 e9 02             	shr    $0x2,%ecx
42f5f5:	74 0f                	je     0x42f606
42f5f7:	8b 16                	mov    (%esi),%edx
42f5f9:	89 17                	mov    %edx,(%edi)
42f5fb:	83 c7 04             	add    $0x4,%edi
42f5fe:	83 c6 04             	add    $0x4,%esi
42f601:	83 e9 01             	sub    $0x1,%ecx
42f604:	75 f1                	jne    0x42f5f7
42f606:	8b c8                	mov    %eax,%ecx
42f608:	83 e1 03             	and    $0x3,%ecx
42f60b:	74 13                	je     0x42f620
42f60d:	8a 06                	mov    (%esi),%al
42f60f:	88 07                	mov    %al,(%edi)
42f611:	46                   	inc    %esi
42f612:	47                   	inc    %edi
42f613:	49                   	dec    %ecx
42f614:	75 f7                	jne    0x42f60d
42f616:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42f61d:	8d 49 00             	lea    0x0(%ecx),%ecx
42f620:	8b 44 24 0c          	mov    0xc(%esp),%eax
42f624:	5e                   	pop    %esi
42f625:	5f                   	pop    %edi
42f626:	c3                   	ret
42f627:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42f62e:	8b ff                	mov    %edi,%edi
42f630:	ba 10 00 00 00       	mov    $0x10,%edx
42f635:	2b d0                	sub    %eax,%edx
42f637:	2b ca                	sub    %edx,%ecx
42f639:	51                   	push   %ecx
42f63a:	8b c2                	mov    %edx,%eax
42f63c:	8b c8                	mov    %eax,%ecx
42f63e:	83 e1 03             	and    $0x3,%ecx
42f641:	74 09                	je     0x42f64c
42f643:	8a 16                	mov    (%esi),%dl
42f645:	88 17                	mov    %dl,(%edi)
42f647:	46                   	inc    %esi
42f648:	47                   	inc    %edi
42f649:	49                   	dec    %ecx
42f64a:	75 f7                	jne    0x42f643
42f64c:	c1 e8 02             	shr    $0x2,%eax
42f64f:	74 0d                	je     0x42f65e
42f651:	8b 16                	mov    (%esi),%edx
42f653:	89 17                	mov    %edx,(%edi)
42f655:	8d 76 04             	lea    0x4(%esi),%esi
42f658:	8d 7f 04             	lea    0x4(%edi),%edi
42f65b:	48                   	dec    %eax
42f65c:	75 f3                	jne    0x42f651
42f65e:	59                   	pop    %ecx
42f65f:	e9 e9 fe ff ff       	jmp    0x42f54d
42f664:	cc                   	int3
42f665:	cc                   	int3
42f666:	cc                   	int3
42f667:	cc                   	int3
42f668:	cc                   	int3
42f669:	cc                   	int3
42f66a:	cc                   	int3
42f66b:	cc                   	int3
42f66c:	cc                   	int3
42f66d:	cc                   	int3
42f66e:	cc                   	int3
42f66f:	cc                   	int3
42f670:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
42f674:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
42f679:	8b d7                	mov    %edi,%edx
42f67b:	8b 7c 24 04          	mov    0x4(%esp),%edi
42f67f:	85 c9                	test   %ecx,%ecx
42f681:	0f 84 3c 01 00 00    	je     0x42f7c3
42f687:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
42f68d:	83 f9 20             	cmp    $0x20,%ecx
42f690:	0f 8e df 00 00 00    	jle    0x42f775
42f696:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
42f69c:	0f 8c 8b 00 00 00    	jl     0x42f72d
42f6a2:	0f ba 25 20 ae 46 00 	btl    $0x1,0x46ae20
42f6a9:	01
42f6aa:	73 09                	jae    0x42f6b5
42f6ac:	f3 aa                	rep stos %al,%es:(%edi)
42f6ae:	8b 44 24 04          	mov    0x4(%esp),%eax
42f6b2:	8b fa                	mov    %edx,%edi
42f6b4:	c3                   	ret
42f6b5:	0f ba 25 20 a0 46 00 	btl    $0x1,0x46a020
42f6bc:	01
42f6bd:	0f 83 b2 00 00 00    	jae    0x42f775
42f6c3:	66 0f 6e c0          	movd   %eax,%xmm0
42f6c7:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
42f6cc:	03 cf                	add    %edi,%ecx
42f6ce:	0f 11 07             	movups %xmm0,(%edi)
42f6d1:	83 c7 10             	add    $0x10,%edi
42f6d4:	83 e7 f0             	and    $0xfffffff0,%edi
42f6d7:	2b cf                	sub    %edi,%ecx
42f6d9:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
42f6df:	7e 4c                	jle    0x42f72d
42f6e1:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42f6e8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42f6ef:	90                   	nop
42f6f0:	66 0f 7f 07          	movdqa %xmm0,(%edi)
42f6f4:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
42f6f9:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
42f6fe:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
42f703:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
42f708:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
42f70d:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
42f712:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
42f717:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
42f71d:	81 e9 80 00 00 00    	sub    $0x80,%ecx
42f723:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
42f729:	75 c5                	jne    0x42f6f0
42f72b:	eb 13                	jmp    0x42f740
42f72d:	0f ba 25 20 a0 46 00 	btl    $0x1,0x46a020
42f734:	01
42f735:	73 3e                	jae    0x42f775
42f737:	66 0f 6e c0          	movd   %eax,%xmm0
42f73b:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
42f740:	83 f9 20             	cmp    $0x20,%ecx
42f743:	72 1c                	jb     0x42f761
42f745:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
42f749:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
42f74e:	83 c7 20             	add    $0x20,%edi
42f751:	83 e9 20             	sub    $0x20,%ecx
42f754:	83 f9 20             	cmp    $0x20,%ecx
42f757:	73 ec                	jae    0x42f745
42f759:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
42f75f:	74 62                	je     0x42f7c3
42f761:	8d 7c 39 e0          	lea    -0x20(%ecx,%edi,1),%edi
42f765:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
42f769:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
42f76e:	8b 44 24 04          	mov    0x4(%esp),%eax
42f772:	8b fa                	mov    %edx,%edi
42f774:	c3                   	ret
42f775:	f7 c1 03 00 00 00    	test   $0x3,%ecx
42f77b:	74 0e                	je     0x42f78b
42f77d:	88 07                	mov    %al,(%edi)
42f77f:	47                   	inc    %edi
42f780:	83 e9 01             	sub    $0x1,%ecx
42f783:	f7 c1 03 00 00 00    	test   $0x3,%ecx
42f789:	75 f2                	jne    0x42f77d
42f78b:	f7 c1 04 00 00 00    	test   $0x4,%ecx
42f791:	74 08                	je     0x42f79b
42f793:	89 07                	mov    %eax,(%edi)
42f795:	83 c7 04             	add    $0x4,%edi
42f798:	83 e9 04             	sub    $0x4,%ecx
42f79b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
42f7a1:	74 20                	je     0x42f7c3
42f7a3:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42f7aa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
42f7b0:	89 07                	mov    %eax,(%edi)
42f7b2:	89 47 04             	mov    %eax,0x4(%edi)
42f7b5:	83 c7 08             	add    $0x8,%edi
42f7b8:	83 e9 08             	sub    $0x8,%ecx
42f7bb:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
42f7c1:	75 ed                	jne    0x42f7b0
42f7c3:	8b 44 24 04          	mov    0x4(%esp),%eax
42f7c7:	8b fa                	mov    %edx,%edi
42f7c9:	c3                   	ret
42f7ca:	53                   	push   %ebx
42f7cb:	8b dc                	mov    %esp,%ebx
42f7cd:	51                   	push   %ecx
42f7ce:	51                   	push   %ecx
42f7cf:	83 e4 f0             	and    $0xfffffff0,%esp
42f7d2:	83 c4 04             	add    $0x4,%esp
42f7d5:	55                   	push   %ebp
42f7d6:	8b 6b 04             	mov    0x4(%ebx),%ebp
42f7d9:	89 6c 24 04          	mov    %ebp,0x4(%esp)
42f7dd:	8b ec                	mov    %esp,%ebp
42f7df:	8b 4b 08             	mov    0x8(%ebx),%ecx
42f7e2:	83 ec 20             	sub    $0x20,%esp
42f7e5:	83 3d 1c ae 46 00 01 	cmpl   $0x1,0x46ae1c
42f7ec:	66 8b 53 0c          	mov    0xc(%ebx),%dx
42f7f0:	7c 46                	jl     0x42f838
42f7f2:	0f b7 c2             	movzwl %dx,%eax
42f7f5:	66 0f 6e c0          	movd   %eax,%xmm0
42f7f9:	f2 0f 70 c0 00       	pshuflw $0x0,%xmm0,%xmm0
42f7fe:	66 0f 70 d0 00       	pshufd $0x0,%xmm0,%xmm2
42f803:	8b c1                	mov    %ecx,%eax
42f805:	25 ff 0f 00 00       	and    $0xfff,%eax
42f80a:	3d f0 0f 00 00       	cmp    $0xff0,%eax
42f80f:	77 3c                	ja     0x42f84d
42f811:	0f 10 01             	movups (%ecx),%xmm0
42f814:	66 0f ef c9          	pxor   %xmm1,%xmm1
42f818:	66 0f 75 c8          	pcmpeqw %xmm0,%xmm1
42f81c:	66 0f 75 c2          	pcmpeqw %xmm2,%xmm0
42f820:	66 0f eb c8          	por    %xmm0,%xmm1
42f824:	66 0f d7 c1          	pmovmskb %xmm1,%eax
42f828:	85 c0                	test   %eax,%eax
42f82a:	75 35                	jne    0x42f861
42f82c:	6a 10                	push   $0x10
42f82e:	eb 2c                	jmp    0x42f85c
42f830:	66 3b c2             	cmp    %dx,%ax
42f833:	74 0b                	je     0x42f840
42f835:	83 c1 02             	add    $0x2,%ecx
42f838:	0f b7 01             	movzwl (%ecx),%eax
42f83b:	66 85 c0             	test   %ax,%ax
42f83e:	75 f0                	jne    0x42f830
42f840:	33 c0                	xor    %eax,%eax
42f842:	66 39 11             	cmp    %dx,(%ecx)
42f845:	0f 95 c0             	setne  %al
42f848:	48                   	dec    %eax
42f849:	23 c1                	and    %ecx,%eax
42f84b:	eb 24                	jmp    0x42f871
42f84d:	0f b7 01             	movzwl (%ecx),%eax
42f850:	66 3b c2             	cmp    %dx,%ax
42f853:	74 1a                	je     0x42f86f
42f855:	66 85 c0             	test   %ax,%ax
42f858:	74 11                	je     0x42f86b
42f85a:	6a 02                	push   $0x2
42f85c:	58                   	pop    %eax
42f85d:	03 c8                	add    %eax,%ecx
42f85f:	eb a2                	jmp    0x42f803
42f861:	0f bc c0             	bsf    %eax,%eax
42f864:	89 45 fc             	mov    %eax,-0x4(%ebp)
42f867:	03 c8                	add    %eax,%ecx
42f869:	eb d5                	jmp    0x42f840
42f86b:	33 c0                	xor    %eax,%eax
42f86d:	eb 02                	jmp    0x42f871
42f86f:	8b c1                	mov    %ecx,%eax
42f871:	8b e5                	mov    %ebp,%esp
42f873:	5d                   	pop    %ebp
42f874:	8b e3                	mov    %ebx,%esp
42f876:	5b                   	pop    %ebx
42f877:	c3                   	ret
42f878:	55                   	push   %ebp
42f879:	8b ec                	mov    %esp,%ebp
42f87b:	56                   	push   %esi
42f87c:	33 f6                	xor    %esi,%esi