4054da:	f7 c6 03 00 00 00    	test   $0x3,%esi
4054e0:	0f 85 ac 01 00 00    	jne    0x405692
4054e6:	0f ba e7 02          	bt     $0x2,%edi
4054ea:	73 0d                	jae    0x4054f9
4054ec:	8b 06                	mov    (%esi),%eax
4054ee:	83 e9 04             	sub    $0x4,%ecx
4054f1:	8d 76 04             	lea    0x4(%esi),%esi
4054f4:	89 07                	mov    %eax,(%edi)
4054f6:	8d 7f 04             	lea    0x4(%edi),%edi
4054f9:	0f ba e7 03          	bt     $0x3,%edi
4054fd:	73 11                	jae    0x405510
4054ff:	f3 0f 7e 0e          	movq   (%esi),%xmm1
405503:	83 e9 08             	sub    $0x8,%ecx
405506:	8d 76 08             	lea    0x8(%esi),%esi
405509:	66 0f d6 0f          	movq   %xmm1,(%edi)
40550d:	8d 7f 08             	lea    0x8(%edi),%edi
405510:	f7 c6 07 00 00 00    	test   $0x7,%esi
405516:	74 65                	je     0x40557d
405518:	0f ba e6 03          	bt     $0x3,%esi
40551c:	0f 83 b4 00 00 00    	jae    0x4055d6
405522:	66 0f 6f 4e f4       	movdqa -0xc(%esi),%xmm1
405527:	8d 76 f4             	lea    -0xc(%esi),%esi
40552a:	8b ff                	mov    %edi,%edi
40552c:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
405531:	83 e9 30             	sub    $0x30,%ecx
405534:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
405539:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
40553e:	8d 76 30             	lea    0x30(%esi),%esi
405541:	83 f9 30             	cmp    $0x30,%ecx
405544:	66 0f 6f d3          	movdqa %xmm3,%xmm2
405548:	66 0f 3a 0f d9 0c    	palignr $0xc,%xmm1,%xmm3
40554e:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
405552:	66 0f 6f e0          	movdqa %xmm0,%xmm4
405556:	66 0f 3a 0f c2 0c    	palignr $0xc,%xmm2,%xmm0
40555c:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
405561:	66 0f 6f cd          	movdqa %xmm5,%xmm1
405565:	66 0f 3a 0f ec 0c    	palignr $0xc,%xmm4,%xmm5
40556b:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
405570:	8d 7f 30             	lea    0x30(%edi),%edi
405573:	73 b7                	jae    0x40552c
405575:	8d 76 0c             	lea    0xc(%esi),%esi
405578:	e9 af 00 00 00       	jmp    0x40562c
40557d:	66 0f 6f 4e f8       	movdqa -0x8(%esi),%xmm1
405582:	8d 76 f8             	lea    -0x8(%esi),%esi
405585:	8d 49 00             	lea    0x0(%ecx),%ecx
405588:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
40558d:	83 e9 30             	sub    $0x30,%ecx
405590:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
405595:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
40559a:	8d 76 30             	lea    0x30(%esi),%esi
40559d:	83 f9 30             	cmp    $0x30,%ecx
4055a0:	66 0f 6f d3          	movdqa %xmm3,%xmm2
4055a4:	66 0f 3a 0f d9 08    	palignr $0x8,%xmm1,%xmm3
4055aa:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
4055ae:	66 0f 6f e0          	movdqa %xmm0,%xmm4
4055b2:	66 0f 3a 0f c2 08    	palignr $0x8,%xmm2,%xmm0
4055b8:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
4055bd:	66 0f 6f cd          	movdqa %xmm5,%xmm1
4055c1:	66 0f 3a 0f ec 08    	palignr $0x8,%xmm4,%xmm5
4055c7:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
4055cc:	8d 7f 30             	lea    0x30(%edi),%edi
4055cf:	73 b7                	jae    0x405588
4055d1:	8d 76 08             	lea    0x8(%esi),%esi
4055d4:	eb 56                	jmp    0x40562c
4055d6:	66 0f 6f 4e fc       	movdqa -0x4(%esi),%xmm1
4055db:	8d 76 fc             	lea    -0x4(%esi),%esi
4055de:	8b ff                	mov    %edi,%edi
4055e0:	66 0f 6f 5e 10       	movdqa 0x10(%esi),%xmm3
4055e5:	83 e9 30             	sub    $0x30,%ecx
4055e8:	66 0f 6f 46 20       	movdqa 0x20(%esi),%xmm0
4055ed:	66 0f 6f 6e 30       	movdqa 0x30(%esi),%xmm5
4055f2:	8d 76 30             	lea    0x30(%esi),%esi
4055f5:	83 f9 30             	cmp    $0x30,%ecx
4055f8:	66 0f 6f d3          	movdqa %xmm3,%xmm2
4055fc:	66 0f 3a 0f d9 04    	palignr $0x4,%xmm1,%xmm3
405602:	66 0f 7f 1f          	movdqa %xmm3,(%edi)
405606:	66 0f 6f e0          	movdqa %xmm0,%xmm4
40560a:	66 0f 3a 0f c2 04    	palignr $0x4,%xmm2,%xmm0
405610:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
405615:	66 0f 6f cd          	movdqa %xmm5,%xmm1
405619:	66 0f 3a 0f ec 04    	palignr $0x4,%xmm4,%xmm5
40561f:	66 0f 7f 6f 20       	movdqa %xmm5,0x20(%edi)
405624:	8d 7f 30             	lea    0x30(%edi),%edi
405627:	73 b7                	jae    0x4055e0
405629:	8d 76 04             	lea    0x4(%esi),%esi
40562c:	83 f9 10             	cmp    $0x10,%ecx
40562f:	72 13                	jb     0x405644
405631:	f3 0f 6f 0e          	movdqu (%esi),%xmm1
405635:	83 e9 10             	sub    $0x10,%ecx
405638:	8d 76 10             	lea    0x10(%esi),%esi
40563b:	66 0f 7f 0f          	movdqa %xmm1,(%edi)
40563f:	8d 7f 10             	lea    0x10(%edi),%edi
405642:	eb e8                	jmp    0x40562c
405644:	0f ba e1 02          	bt     $0x2,%ecx
405648:	73 0d                	jae    0x405657
40564a:	8b 06                	mov    (%esi),%eax
40564c:	83 e9 04             	sub    $0x4,%ecx
40564f:	8d 76 04             	lea    0x4(%esi),%esi
405652:	89 07                	mov    %eax,(%edi)
405654:	8d 7f 04             	lea    0x4(%edi),%edi
405657:	0f ba e1 03          	bt     $0x3,%ecx
40565b:	73 11                	jae    0x40566e
40565d:	f3 0f 7e 0e          	movq   (%esi),%xmm1
405661:	83 e9 08             	sub    $0x8,%ecx
405664:	8d 76 08             	lea    0x8(%esi),%esi
405667:	66 0f d6 0f          	movq   %xmm1,(%edi)
40566b:	8d 7f 08             	lea    0x8(%edi),%edi
40566e:	8b 04 8d b4 56 40 00 	mov    0x4056b4(,%ecx,4),%eax
405675:	ff e0                	jmp    *%eax
405677:	f7 c7 03 00 00 00    	test   $0x3,%edi
40567d:	74 13                	je     0x405692
40567f:	8a 06                	mov    (%esi),%al
405681:	88 07                	mov    %al,(%edi)
405683:	49                   	dec    %ecx
405684:	83 c6 01             	add    $0x1,%esi
405687:	83 c7 01             	add    $0x1,%edi
40568a:	f7 c7 03 00 00 00    	test   $0x3,%edi
405690:	75 ed                	jne    0x40567f
405692:	8b d1                	mov    %ecx,%edx
405694:	83 f9 20             	cmp    $0x20,%ecx
405697:	0f 82 ae 02 00 00    	jb     0x40594b
40569d:	c1 e9 02             	shr    $0x2,%ecx
4056a0:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4056a2:	83 e2 03             	and    $0x3,%edx
4056a5:	ff 24 95 b4 56 40 00 	jmp    *0x4056b4(,%edx,4)
4056ac:	ff 24 8d c4 56 40 00 	jmp    *0x4056c4(,%ecx,4)
4056b3:	90                   	nop
4056b4:	c4 56 40             	les    0x40(%esi),%edx
4056b7:	00 cc                	add    %cl,%ah
4056b9:	56                   	push   %esi
4056ba:	40                   	inc    %eax
4056bb:	00 d8                	add    %bl,%al
4056bd:	56                   	push   %esi
4056be:	40                   	inc    %eax
4056bf:	00 ec                	add    %ch,%ah
4056c1:	56                   	push   %esi
4056c2:	40                   	inc    %eax
4056c3:	00 8b 44 24 0c 5e    	add    %cl,0x5e0c2444(%ebx)
4056c9:	5f                   	pop    %edi
4056ca:	c3                   	ret
4056cb:	90                   	nop
4056cc:	8a 06                	mov    (%esi),%al
4056ce:	88 07                	mov    %al,(%edi)
4056d0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4056d4:	5e                   	pop    %esi
4056d5:	5f                   	pop    %edi
4056d6:	c3                   	ret
4056d7:	90                   	nop
4056d8:	8a 06                	mov    (%esi),%al
4056da:	88 07                	mov    %al,(%edi)
4056dc:	8a 46 01             	mov    0x1(%esi),%al
4056df:	88 47 01             	mov    %al,0x1(%edi)
4056e2:	8b 44 24 0c          	mov    0xc(%esp),%eax
4056e6:	5e                   	pop    %esi
4056e7:	5f                   	pop    %edi
4056e8:	c3                   	ret
4056e9:	8d 49 00             	lea    0x0(%ecx),%ecx
4056ec:	8a 06                	mov    (%esi),%al
4056ee:	88 07                	mov    %al,(%edi)
4056f0:	8a 46 01             	mov    0x1(%esi),%al
4056f3:	88 47 01             	mov    %al,0x1(%edi)
4056f6:	8a 46 02             	mov    0x2(%esi),%al
4056f9:	88 47 02             	mov    %al,0x2(%edi)
4056fc:	8b 44 24 0c          	mov    0xc(%esp),%eax
405700:	5e                   	pop    %esi
405701:	5f                   	pop    %edi
405702:	c3                   	ret
405703:	90                   	nop
405704:	8d 34 0e             	lea    (%esi,%ecx,1),%esi
405707:	8d 3c 0f             	lea    (%edi,%ecx,1),%edi
40570a:	83 f9 20             	cmp    $0x20,%ecx
40570d:	0f 82 51 01 00 00    	jb     0x405864
405713:	0f ba 25 10 60 41 00 	btl    $0x1,0x416010
40571a:	01
40571b:	0f 82 94 00 00 00    	jb     0x4057b5
405721:	f7 c7 03 00 00 00    	test   $0x3,%edi
405727:	74 14                	je     0x40573d
405729:	8b d7                	mov    %edi,%edx
40572b:	83 e2 03             	and    $0x3,%edx
40572e:	2b ca                	sub    %edx,%ecx
405730:	8a 46 ff             	mov    -0x1(%esi),%al
405733:	88 47 ff             	mov    %al,-0x1(%edi)
405736:	4e                   	dec    %esi
405737:	4f                   	dec    %edi
405738:	83 ea 01             	sub    $0x1,%edx
40573b:	75 f3                	jne    0x405730
40573d:	83 f9 20             	cmp    $0x20,%ecx
405740:	0f 82 1e 01 00 00    	jb     0x405864
405746:	8b d1                	mov    %ecx,%edx
405748:	c1 e9 02             	shr    $0x2,%ecx
40574b:	83 e2 03             	and    $0x3,%edx
40574e:	83 ee 04             	sub    $0x4,%esi
405751:	83 ef 04             	sub    $0x4,%edi
405754:	fd                   	std
405755:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
405757:	fc                   	cld
405758:	ff 24 95 60 57 40 00 	jmp    *0x405760(,%edx,4)
40575f:	90                   	nop
405760:	70 57                	jo     0x4057b9
405762:	40                   	inc    %eax
405763:	00 78 57             	add    %bh,0x57(%eax)
405766:	40                   	inc    %eax
405767:	00 88 57 40 00 9c    	add    %cl,-0x63ffbfa9(%eax)
40576d:	57                   	push   %edi
40576e:	40                   	inc    %eax
40576f:	00 8b 44 24 0c 5e    	add    %cl,0x5e0c2444(%ebx)
405775:	5f                   	pop    %edi
405776:	c3                   	ret
405777:	90                   	nop
405778:	8a 46 03             	mov    0x3(%esi),%al
40577b:	88 47 03             	mov    %al,0x3(%edi)
40577e:	8b 44 24 0c          	mov    0xc(%esp),%eax
405782:	5e                   	pop    %esi
405783:	5f                   	pop    %edi
405784:	c3                   	ret
405785:	8d 49 00             	lea    0x0(%ecx),%ecx
405788:	8a 46 03             	mov    0x3(%esi),%al
40578b:	88 47 03             	mov    %al,0x3(%edi)
40578e:	8a 46 02             	mov    0x2(%esi),%al
405791:	88 47 02             	mov    %al,0x2(%edi)
405794:	8b 44 24 0c          	mov    0xc(%esp),%eax
405798:	5e                   	pop    %esi
405799:	5f                   	pop    %edi
40579a:	c3                   	ret
40579b:	90                   	nop
40579c:	8a 46 03             	mov    0x3(%esi),%al
40579f:	88 47 03             	mov    %al,0x3(%edi)
4057a2:	8a 46 02             	mov    0x2(%esi),%al
4057a5:	88 47 02             	mov    %al,0x2(%edi)
4057a8:	8a 46 01             	mov    0x1(%esi),%al
4057ab:	88 47 01             	mov    %al,0x1(%edi)
4057ae:	8b 44 24 0c          	mov    0xc(%esp),%eax
4057b2:	5e                   	pop    %esi
4057b3:	5f                   	pop    %edi
4057b4:	c3                   	ret
4057b5:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4057bb:	74 0f                	je     0x4057cc
4057bd:	49                   	dec    %ecx
4057be:	4e                   	dec    %esi
4057bf:	4f                   	dec    %edi
4057c0:	8a 06                	mov    (%esi),%al
4057c2:	88 07                	mov    %al,(%edi)
4057c4:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4057ca:	75 f1                	jne    0x4057bd
4057cc:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4057d2:	72 68                	jb     0x40583c
4057d4:	81 ee 80 00 00 00    	sub    $0x80,%esi
4057da:	81 ef 80 00 00 00    	sub    $0x80,%edi
4057e0:	f3 0f 6f 06          	movdqu (%esi),%xmm0
4057e4:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
4057e9:	f3 0f 6f 56 20       	movdqu 0x20(%esi),%xmm2
4057ee:	f3 0f 6f 5e 30       	movdqu 0x30(%esi),%xmm3
4057f3:	f3 0f 6f 66 40       	movdqu 0x40(%esi),%xmm4
4057f8:	f3 0f 6f 6e 50       	movdqu 0x50(%esi),%xmm5
4057fd:	f3 0f 6f 76 60       	movdqu 0x60(%esi),%xmm6
405802:	f3 0f 6f 7e 70       	movdqu 0x70(%esi),%xmm7
405807:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40580b:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
405810:	f3 0f 7f 57 20       	movdqu %xmm2,0x20(%edi)
405815:	f3 0f 7f 5f 30       	movdqu %xmm3,0x30(%edi)
40581a:	f3 0f 7f 67 40       	movdqu %xmm4,0x40(%edi)
40581f:	f3 0f 7f 6f 50       	movdqu %xmm5,0x50(%edi)
405824:	f3 0f 7f 77 60       	movdqu %xmm6,0x60(%edi)
405829:	f3 0f 7f 7f 70       	movdqu %xmm7,0x70(%edi)
40582e:	81 e9 80 00 00 00    	sub    $0x80,%ecx
405834:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
40583a:	75 90                	jne    0x4057cc
40583c:	83 f9 20             	cmp    $0x20,%ecx
40583f:	72 23                	jb     0x405864
405841:	83 ee 20             	sub    $0x20,%esi
405844:	83 ef 20             	sub    $0x20,%edi
405847:	f3 0f 6f 06          	movdqu (%esi),%xmm0
40584b:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
405850:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
405854:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
405859:	83 e9 20             	sub    $0x20,%ecx
40585c:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
405862:	75 dd                	jne    0x405841
405864:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
40586a:	74 15                	je     0x405881
40586c:	83 ef 04             	sub    $0x4,%edi
40586f:	83 ee 04             	sub    $0x4,%esi
405872:	8b 06                	mov    (%esi),%eax
405874:	89 07                	mov    %eax,(%edi)
405876:	83 e9 04             	sub    $0x4,%ecx
405879:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
40587f:	75 eb                	jne    0x40586c
405881:	85 c9                	test   %ecx,%ecx
405883:	74 0f                	je     0x405894
405885:	83 ef 01             	sub    $0x1,%edi
405888:	83 ee 01             	sub    $0x1,%esi
40588b:	8a 06                	mov    (%esi),%al
40588d:	88 07                	mov    %al,(%edi)
40588f:	83 e9 01             	sub    $0x1,%ecx
405892:	75 f1                	jne    0x405885
405894:	8b 44 24 0c          	mov    0xc(%esp),%eax
405898:	5e                   	pop    %esi
405899:	5f                   	pop    %edi
40589a:	c3                   	ret
40589b:	eb 03                	jmp    0x4058a0
40589d:	cc                   	int3
40589e:	cc                   	int3
40589f:	cc                   	int3
4058a0:	8b c6                	mov    %esi,%eax
4058a2:	83 e0 0f             	and    $0xf,%eax
4058a5:	85 c0                	test   %eax,%eax
4058a7:	0f 85 e3 00 00 00    	jne    0x405990
4058ad:	8b d1                	mov    %ecx,%edx
4058af:	83 e1 7f             	and    $0x7f,%ecx
4058b2:	c1 ea 07             	shr    $0x7,%edx
4058b5:	74 66                	je     0x40591d
4058b7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4058be:	8b ff                	mov    %edi,%edi
4058c0:	66 0f 6f 06          	movdqa (%esi),%xmm0
4058c4:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
4058c9:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
4058ce:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
4058d3:	66 0f 7f 07          	movdqa %xmm0,(%edi)
4058d7:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
4058dc:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
4058e1:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
4058e6:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
4058eb:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
4058f0:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
4058f5:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
4058fa:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
4058ff:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
405904:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
405909:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
40590e:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
405914:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
40591a:	4a                   	dec    %edx
40591b:	75 a3                	jne    0x4058c0
40591d:	85 c9                	test   %ecx,%ecx
40591f:	74 5f                	je     0x405980
405921:	8b d1                	mov    %ecx,%edx
405923:	c1 ea 05             	shr    $0x5,%edx
405926:	85 d2                	test   %edx,%edx
405928:	74 21                	je     0x40594b
40592a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
405930:	f3 0f 6f 06          	movdqu (%esi),%xmm0
405934:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
405939:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40593d:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
405942:	8d 76 20             	lea    0x20(%esi),%esi
405945:	8d 7f 20             	lea    0x20(%edi),%edi
405948:	4a                   	dec    %edx
405949:	75 e5                	jne    0x405930
40594b:	83 e1 1f             	and    $0x1f,%ecx
40594e:	74 30                	je     0x405980