4084b0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4084b4:	5e                   	pop    %esi
4084b5:	5f                   	pop    %edi
4084b6:	c3                   	ret
4084b7:	8b c7                	mov    %edi,%eax
4084b9:	33 c6                	xor    %esi,%eax
4084bb:	a9 0f 00 00 00       	test   $0xf,%eax
4084c0:	75 0e                	jne    0x4084d0
4084c2:	0f ba 25 30 ba 43 00 	btl    $0x1,0x43ba30
4084c9:	01
4084ca:	0f 82 e0 03 00 00    	jb     0x4088b0
4084d0:	0f ba 25 4c 96 83 02 	btl    $0x0,0x283964c
4084d7:	00
4084d8:	0f 83 a9 01 00 00    	jae    0x408687
4084de:	f7 c7 03 00 00 00    	test   $0x3,%edi
4084e4:	0f 85 9d 01 00 00    	jne    0x408687
4084ea:	f7 c6 03 00 00 00    	test   $0x3,%esi
4084f0:	0f 85 ac 01 00 00    	jne    0x4086a2
4084f6:	0f ba e7 02          	bt     $0x2,%edi
4084fa:	73 0d                	jae    0x408509
4084fc:	8b 06                	mov    (%esi),%eax
4084fe:	83 e9 04             	sub    $0x4,%ecx
408501:	8d 76 04             	lea    0x4(%esi),%esi
408504:	89 07                	mov    %eax,(%edi)
408506:	8d 7f 04             	lea    0x4(%edi),%edi
408509:	0f ba e7 03          	bt     $0x3,%edi
40850d:	73 11                	jae    0x408520
40850f:	f3 0f 7e 0e          	movq   (%esi),%xmm1
408513:	83 e9 08             	sub    $0x8,%ecx
408516:	8d 76 08             	lea    0x8(%esi),%esi
408519:	66 0f d6 0f          	movq   %xmm1,(%edi)
40851d:	8d 7f 08             	lea    0x8(%edi),%edi
408520:	f7 c6 07 00 00 00    	test   $0x7,%esi
408526:	74 65                	je     0x40858d
408528:	0f ba e6 03          	bt     $0x3,%esi
40852c:	0f 83 b4 00 00 00    	jae    0x4085e6
408532:	66 0f 6f 4e f4       	movdqa -0xc(%esi),%xmm1
408537:	8d 76 f4             	lea    -0xc(%esi),%esi
40853a:	8b ff                	mov    %edi,%edi
40853c:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
408541:	83 e9 30             	sub    $0x30,%ecx
408544:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
408549:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
40854e:	8d 76 30             	lea    0x30(%esi),%esi
408551:	83 f9 30             	cmp    $0x30,%ecx
408554:	66 0f 6f d3          	movdqa %xmm3,%xmm2
408558:	66 0f 3a 0f d9 0c    	palignr $0xc,%xmm1,%xmm3
40855e:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
408562:	66 0f 6f e0          	movdqa %xmm0,%xmm4
408566:	66 0f 3a 0f c2 0c    	palignr $0xc,%xmm2,%xmm0
40856c:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
408571:	66 0f 6f cd          	movdqa %xmm5,%xmm1
408575:	66 0f 3a 0f ec 0c    	palignr $0xc,%xmm4,%xmm5
40857b:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
408580:	8d 7f 30             	lea    0x30(%edi),%edi
408583:	7d b7                	jge    0x40853c
408585:	8d 76 0c             	lea    0xc(%esi),%esi
408588:	e9 af 00 00 00       	jmp    0x40863c
40858d:	66 0f 6f 4e f8       	movdqa -0x8(%esi),%xmm1
408592:	8d 76 f8             	lea    -0x8(%esi),%esi
408595:	8d 49 00             	lea    0x0(%ecx),%ecx
408598:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
40859d:	83 e9 30             	sub    $0x30,%ecx
4085a0:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
4085a5:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
4085aa:	8d 76 30             	lea    0x30(%esi),%esi
4085ad:	83 f9 30             	cmp    $0x30,%ecx
4085b0:	66 0f 6f d3          	movdqa %xmm3,%xmm2
4085b4:	66 0f 3a 0f d9 08    	palignr $0x8,%xmm1,%xmm3
4085ba:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
4085be:	66 0f 6f e0          	movdqa %xmm0,%xmm4
4085c2:	66 0f 3a 0f c2 08    	palignr $0x8,%xmm2,%xmm0
4085c8:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
4085cd:	66 0f 6f cd          	movdqa %xmm5,%xmm1
4085d1:	66 0f 3a 0f ec 08    	palignr $0x8,%xmm4,%xmm5
4085d7:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
4085dc:	8d 7f 30             	lea    0x30(%edi),%edi
4085df:	7d b7                	jge    0x408598
4085e1:	8d 76 08             	lea    0x8(%esi),%esi
4085e4:	eb 56                	jmp    0x40863c
4085e6:	66 0f 6f 4e fc       	movdqa -0x4(%esi),%xmm1
4085eb:	8d 76 fc             	lea    -0x4(%esi),%esi
4085ee:	8b ff                	mov    %edi,%edi
4085f0:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
4085f5:	83 e9 30             	sub    $0x30,%ecx
4085f8:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
4085fd:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
408602:	8d 76 30             	lea    0x30(%esi),%esi
408605:	83 f9 30             	cmp    $0x30,%ecx
408608:	66 0f 6f d3          	movdqa %xmm3,%xmm2
40860c:	66 0f 3a 0f d9 04    	palignr $0x4,%xmm1,%xmm3
408612:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
408616:	66 0f 6f e0          	movdqa %xmm0,%xmm4
40861a:	66 0f 3a 0f c2 04    	palignr $0x4,%xmm2,%xmm0
408620:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
408625:	66 0f 6f cd          	movdqa %xmm5,%xmm1
408629:	66 0f 3a 0f ec 04    	palignr $0x4,%xmm4,%xmm5
40862f:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
408634:	8d 7f 30             	lea    0x30(%edi),%edi
408637:	7d b7                	jge    0x4085f0
408639:	8d 76 04             	lea    0x4(%esi),%esi
40863c:	83 f9 10             	cmp    $0x10,%ecx
40863f:	7c 13                	jl     0x408654
408641:	f3 0f 6f 0e          	movdqu (%esi),%xmm1
408645:	83 e9 10             	sub    $0x10,%ecx
408648:	8d 76 10             	lea    0x10(%esi),%esi
40864b:	66 0f 7f 0f          	movdqa %xmm1,(%edi)
40864f:	8d 7f 10             	lea    0x10(%edi),%edi
408652:	eb e8                	jmp    0x40863c
408654:	0f ba e1 02          	bt     $0x2,%ecx
408658:	73 0d                	jae    0x408667
40865a:	8b 06                	mov    (%esi),%eax
40865c:	83 e9 04             	sub    $0x4,%ecx
40865f:	8d 76 04             	lea    0x4(%esi),%esi
408662:	89 07                	mov    %eax,(%edi)
408664:	8d 7f 04             	lea    0x4(%edi),%edi
408667:	0f ba e1 03          	bt     $0x3,%ecx
40866b:	73 11                	jae    0x40867e
40866d:	f3 0f 7e 0e          	movq   (%esi),%xmm1
408671:	83 e9 08             	sub    $0x8,%ecx
408674:	8d 76 08             	lea    0x8(%esi),%esi
408677:	66 0f d6 0f          	movq   %xmm1,(%edi)
40867b:	8d 7f 08             	lea    0x8(%edi),%edi
40867e:	8b 04 8d c4 86 40 00 	mov    0x4086c4(,%ecx,4),%eax
408685:	ff e0                	jmp    *%eax
408687:	f7 c7 03 00 00 00    	test   $0x3,%edi
40868d:	74 13                	je     0x4086a2
40868f:	8a 06                	mov    (%esi),%al
408691:	88 07                	mov    %al,(%edi)
408693:	49                   	dec    %ecx
408694:	83 c6 01             	add    $0x1,%esi
408697:	83 c7 01             	add    $0x1,%edi
40869a:	f7 c7 03 00 00 00    	test   $0x3,%edi
4086a0:	75 ed                	jne    0x40868f
4086a2:	8b d1                	mov    %ecx,%edx
4086a4:	83 f9 20             	cmp    $0x20,%ecx
4086a7:	0f 82 ae 02 00 00    	jb     0x40895b
4086ad:	c1 e9 02             	shr    $0x2,%ecx
4086b0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4086b2:	83 e2 03             	and    $0x3,%edx
4086b5:	ff 24 95 c4 86 40 00 	jmp    *0x4086c4(,%edx,4)
4086bc:	ff 24 8d d4 86 40 00 	jmp    *0x4086d4(,%ecx,4)
4086c3:	90                   	nop
4086c4:	d4 86                	aam    $0x86
4086c6:	40                   	inc    %eax
4086c7:	00 dc                	add    %bl,%ah
4086c9:	86 40 00             	xchg   %al,0x0(%eax)
4086cc:	e8 86 40 00 fc       	call   0xfc40c757
4086d1:	86 40 00             	xchg   %al,0x0(%eax)
4086d4:	8b 44 24 0c          	mov    0xc(%esp),%eax
4086d8:	5e                   	pop    %esi
4086d9:	5f                   	pop    %edi
4086da:	c3                   	ret
4086db:	90                   	nop
4086dc:	8a 06                	mov    (%esi),%al
4086de:	88 07                	mov    %al,(%edi)
4086e0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4086e4:	5e                   	pop    %esi
4086e5:	5f                   	pop    %edi
4086e6:	c3                   	ret
4086e7:	90                   	nop
4086e8:	8a 06                	mov    (%esi),%al
4086ea:	88 07                	mov    %al,(%edi)
4086ec:	8a 46 01             	mov    0x1(%esi),%al
4086ef:	88 47 01             	mov    %al,0x1(%edi)
4086f2:	8b 44 24 0c          	mov    0xc(%esp),%eax
4086f6:	5e                   	pop    %esi
4086f7:	5f                   	pop    %edi
4086f8:	c3                   	ret
4086f9:	8d 49 00             	lea    0x0(%ecx),%ecx
4086fc:	8a 06                	mov    (%esi),%al
4086fe:	88 07                	mov    %al,(%edi)
408700:	8a 46 01             	mov    0x1(%esi),%al
408703:	88 47 01             	mov    %al,0x1(%edi)
408706:	8a 46 02             	mov    0x2(%esi),%al
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