404504:	8d 7f 30             	lea    0x30(%edi),%edi
404507:	73 b7                	jae    0x4044c0
404509:	8d 76 04             	lea    0x4(%esi),%esi
40450c:	83 f9 10             	cmp    $0x10,%ecx
40450f:	72 13                	jb     0x404524
404511:	f3 0f 6f 0e          	movdqu (%esi),%xmm1
404515:	83 e9 10             	sub    $0x10,%ecx
404518:	8d 76 10             	lea    0x10(%esi),%esi
40451b:	66 0f 7f 0f          	movdqa %xmm1,(%edi)
40451f:	8d 7f 10             	lea    0x10(%edi),%edi
404522:	eb e8                	jmp    0x40450c
404524:	0f ba e1 02          	bt     $0x2,%ecx
404528:	73 0d                	jae    0x404537
40452a:	8b 06                	mov    (%esi),%eax
40452c:	83 e9 04             	sub    $0x4,%ecx
40452f:	8d 76 04             	lea    0x4(%esi),%esi
404532:	89 07                	mov    %eax,(%edi)
404534:	8d 7f 04             	lea    0x4(%edi),%edi
404537:	0f ba e1 03          	bt     $0x3,%ecx
40453b:	73 11                	jae    0x40454e
40453d:	f3 0f 7e 0e          	movq   (%esi),%xmm1
404541:	83 e9 08             	sub    $0x8,%ecx
404544:	8d 76 08             	lea    0x8(%esi),%esi
404547:	66 0f d6 0f          	movq   %xmm1,(%edi)
40454b:	8d 7f 08             	lea    0x8(%edi),%edi
40454e:	8b 04 8d 94 45 40 00 	mov    0x404594(,%ecx,4),%eax
404555:	ff e0                	jmp    *%eax
404557:	f7 c7 03 00 00 00    	test   $0x3,%edi
40455d:	74 13                	je     0x404572
40455f:	8a 06                	mov    (%esi),%al
404561:	88 07                	mov    %al,(%edi)
404563:	49                   	dec    %ecx
404564:	83 c6 01             	add    $0x1,%esi
404567:	83 c7 01             	add    $0x1,%edi
40456a:	f7 c7 03 00 00 00    	test   $0x3,%edi
404570:	75 ed                	jne    0x40455f
404572:	8b d1                	mov    %ecx,%edx
404574:	83 f9 20             	cmp    $0x20,%ecx
404577:	0f 82 ae 02 00 00    	jb     0x40482b
40457d:	c1 e9 02             	shr    $0x2,%ecx
404580:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
404582:	83 e2 03             	and    $0x3,%edx
404585:	ff 24 95 94 45 40 00 	jmp    *0x404594(,%edx,4)
40458c:	ff 24 8d a4 45 40 00 	jmp    *0x4045a4(,%ecx,4)
404593:	90                   	nop
404594:	a4                   	movsb  %ds:(%esi),%es:(%edi)
404595:	45                   	inc    %ebp
404596:	40                   	inc    %eax
404597:	00 ac 45 40 00 b8 45 	add    %ch,0x45b80040(%ebp,%eax,2)
40459e:	40                   	inc    %eax
40459f:	00 cc                	add    %cl,%ah
4045a1:	45                   	inc    %ebp
4045a2:	40                   	inc    %eax
4045a3:	00 8b 44 24 0c 5e    	add    %cl,0x5e0c2444(%ebx)
4045a9:	5f                   	pop    %edi
4045aa:	c3                   	ret
4045ab:	90                   	nop
4045ac:	8a 06                	mov    (%esi),%al
4045ae:	88 07                	mov    %al,(%edi)
4045b0:	8b 44 24 0c          	mov    0xc(%esp),%eax
4045b4:	5e                   	pop    %esi
4045b5:	5f                   	pop    %edi
4045b6:	c3                   	ret
4045b7:	90                   	nop
4045b8:	8a 06                	mov    (%esi),%al
4045ba:	88 07                	mov    %al,(%edi)
4045bc:	8a 46 01             	mov    0x1(%esi),%al
4045bf:	88 47 01             	mov    %al,0x1(%edi)
4045c2:	8b 44 24 0c          	mov    0xc(%esp),%eax
4045c6:	5e                   	pop    %esi
4045c7:	5f                   	pop    %edi
4045c8:	c3                   	ret
4045c9:	8d 49 00             	lea    0x0(%ecx),%ecx
4045cc:	8a 06                	mov    (%esi),%al
4045ce:	88 07                	mov    %al,(%edi)
4045d0:	8a 46 01             	mov    0x1(%esi),%al
4045d3:	88 47 01             	mov    %al,0x1(%edi)
4045d6:	8a 46 02             	mov    0x2(%esi),%al
4045d9:	88 47 02             	mov    %al,0x2(%edi)
4045dc:	8b 44 24 0c          	mov    0xc(%esp),%eax
4045e0:	5e                   	pop    %esi
4045e1:	5f                   	pop    %edi
4045e2:	c3                   	ret
4045e3:	90                   	nop
4045e4:	8d 34 0e             	lea    (%esi,%ecx,1),%esi
4045e7:	8d 3c 0f             	lea    (%edi,%ecx,1),%edi
4045ea:	83 f9 20             	cmp    $0x20,%ecx
4045ed:	0f 82 51 01 00 00    	jb     0x404744
4045f3:	0f ba 25 b0 10 42 00 	btl    $0x1,0x4210b0
4045fa:	01
4045fb:	0f 82 94 00 00 00    	jb     0x404695
404601:	f7 c7 03 00 00 00    	test   $0x3,%edi
404607:	74 14                	je     0x40461d
404609:	8b d7                	mov    %edi,%edx
40460b:	83 e2 03             	and    $0x3,%edx
40460e:	2b ca                	sub    %edx,%ecx
404610:	8a 46 ff             	mov    -0x1(%esi),%al
404613:	88 47 ff             	mov    %al,-0x1(%edi)
404616:	4e                   	dec    %esi
404617:	4f                   	dec    %edi
404618:	83 ea 01             	sub    $0x1,%edx
40461b:	75 f3                	jne    0x404610
40461d:	83 f9 20             	cmp    $0x20,%ecx
404620:	0f 82 1e 01 00 00    	jb     0x404744
404626:	8b d1                	mov    %ecx,%edx
404628:	c1 e9 02             	shr    $0x2,%ecx
40462b:	83 e2 03             	and    $0x3,%edx
40462e:	83 ee 04             	sub    $0x4,%esi
404631:	83 ef 04             	sub    $0x4,%edi
404634:	fd                   	std
404635:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
404637:	fc                   	cld
404638:	ff 24 95 40 46 40 00 	jmp    *0x404640(,%edx,4)
40463f:	90                   	nop
404640:	50                   	push   %eax
404641:	46                   	inc    %esi
404642:	40                   	inc    %eax
404643:	00 58 46             	add    %bl,0x46(%eax)
404646:	40                   	inc    %eax
404647:	00 68 46             	add    %ch,0x46(%eax)
40464a:	40                   	inc    %eax
40464b:	00 7c 46 40          	add    %bh,0x40(%esi,%eax,2)
40464f:	00 8b 44 24 0c 5e    	add    %cl,0x5e0c2444(%ebx)
404655:	5f                   	pop    %edi
404656:	c3                   	ret
404657:	90                   	nop
404658:	8a 46 03             	mov    0x3(%esi),%al
40465b:	88 47 03             	mov    %al,0x3(%edi)
40465e:	8b 44 24 0c          	mov    0xc(%esp),%eax
404662:	5e                   	pop    %esi
404663:	5f                   	pop    %edi
404664:	c3                   	ret
404665:	8d 49 00             	lea    0x0(%ecx),%ecx
404668:	8a 46 03             	mov    0x3(%esi),%al
40466b:	88 47 03             	mov    %al,0x3(%edi)
40466e:	8a 46 02             	mov    0x2(%esi),%al
404671:	88 47 02             	mov    %al,0x2(%edi)
404674:	8b 44 24 0c          	mov    0xc(%esp),%eax
404678:	5e                   	pop    %esi
404679:	5f                   	pop    %edi
40467a:	c3                   	ret
40467b:	90                   	nop
40467c:	8a 46 03             	mov    0x3(%esi),%al
40467f:	88 47 03             	mov    %al,0x3(%edi)
404682:	8a 46 02             	mov    0x2(%esi),%al
404685:	88 47 02             	mov    %al,0x2(%edi)
404688:	8a 46 01             	mov    0x1(%esi),%al
40468b:	88 47 01             	mov    %al,0x1(%edi)
40468e:	8b 44 24 0c          	mov    0xc(%esp),%eax
404692:	5e                   	pop    %esi
404693:	5f                   	pop    %edi
404694:	c3                   	ret
404695:	f7 c7 0f 00 00 00    	test   $0xf,%edi
40469b:	74 0f                	je     0x4046ac
40469d:	49                   	dec    %ecx
40469e:	4e                   	dec    %esi
40469f:	4f                   	dec    %edi
4046a0:	8a 06                	mov    (%esi),%al
4046a2:	88 07                	mov    %al,(%edi)
4046a4:	f7 c7 0f 00 00 00    	test   $0xf,%edi
4046aa:	75 f1                	jne    0x40469d
4046ac:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4046b2:	72 68                	jb     0x40471c
4046b4:	81 ee 80 00 00 00    	sub    $0x80,%esi
4046ba:	81 ef 80 00 00 00    	sub    $0x80,%edi
4046c0:	f3 0f 6f 06          	movdqu (%esi),%xmm0
4046c4:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
4046c9:	f3 0f 6f 56 20       	movdqu 0x20(%esi),%xmm2
4046ce:	f3 0f 6f 5e 30       	movdqu 0x30(%esi),%xmm3
4046d3:	f3 0f 6f 66 40       	movdqu 0x40(%esi),%xmm4
4046d8:	f3 0f 6f 6e 50       	movdqu 0x50(%esi),%xmm5
4046dd:	f3 0f 6f 76 60       	movdqu 0x60(%esi),%xmm6
4046e2:	f3 0f 6f 7e 70       	movdqu 0x70(%esi),%xmm7
4046e7:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
4046eb:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
4046f0:	f3 0f 7f 57 20       	movdqu %xmm2,0x20(%edi)
4046f5:	f3 0f 7f 5f 30       	movdqu %xmm3,0x30(%edi)
4046fa:	f3 0f 7f 67 40       	movdqu %xmm4,0x40(%edi)
4046ff:	f3 0f 7f 6f 50       	movdqu %xmm5,0x50(%edi)
404704:	f3 0f 7f 77 60       	movdqu %xmm6,0x60(%edi)
404709:	f3 0f 7f 7f 70       	movdqu %xmm7,0x70(%edi)
40470e:	81 e9 80 00 00 00    	sub    $0x80,%ecx
404714:	f7 c1 80 ff ff ff    	test   $0xffffff80,%ecx
40471a:	75 90                	jne    0x4046ac
40471c:	83 f9 20             	cmp    $0x20,%ecx
40471f:	72 23                	jb     0x404744
404721:	83 ee 20             	sub    $0x20,%esi
404724:	83 ef 20             	sub    $0x20,%edi
404727:	f3 0f 6f 06          	movdqu (%esi),%xmm0
40472b:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
404730:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
404734:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
404739:	83 e9 20             	sub    $0x20,%ecx
40473c:	f7 c1 e0 ff ff ff    	test   $0xffffffe0,%ecx
404742:	75 dd                	jne    0x404721
404744:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
40474a:	74 15                	je     0x404761
40474c:	83 ef 04             	sub    $0x4,%edi
40474f:	83 ee 04             	sub    $0x4,%esi
404752:	8b 06                	mov    (%esi),%eax
404754:	89 07                	mov    %eax,(%edi)
404756:	83 e9 04             	sub    $0x4,%ecx
404759:	f7 c1 fc ff ff ff    	test   $0xfffffffc,%ecx
40475f:	75 eb                	jne    0x40474c
404761:	85 c9                	test   %ecx,%ecx
404763:	74 0f                	je     0x404774
404765:	83 ef 01             	sub    $0x1,%edi
404768:	83 ee 01             	sub    $0x1,%esi
40476b:	8a 06                	mov    (%esi),%al
40476d:	88 07                	mov    %al,(%edi)
40476f:	83 e9 01             	sub    $0x1,%ecx
404772:	75 f1                	jne    0x404765
404774:	8b 44 24 0c          	mov    0xc(%esp),%eax
404778:	5e                   	pop    %esi
404779:	5f                   	pop    %edi
40477a:	c3                   	ret
40477b:	eb 03                	jmp    0x404780
40477d:	cc                   	int3
40477e:	cc                   	int3
40477f:	cc                   	int3
404780:	8b c6                	mov    %esi,%eax
404782:	83 e0 0f             	and    $0xf,%eax
404785:	85 c0                	test   %eax,%eax
404787:	0f 85 e3 00 00 00    	jne    0x404870
40478d:	8b d1                	mov    %ecx,%edx
40478f:	83 e1 7f             	and    $0x7f,%ecx
404792:	c1 ea 07             	shr    $0x7,%edx
404795:	74 66                	je     0x4047fd
404797:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40479e:	8b ff                	mov    %edi,%edi
4047a0:	66 0f 6f 06          	movdqa (%esi),%xmm0
4047a4:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
4047a9:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
4047ae:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
4047b3:	66 0f 7f 07          	movdqa %xmm0,(%edi)
4047b7:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
4047bc:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
4047c1:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
4047c6:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
4047cb:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
4047d0:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
4047d5:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
4047da:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
4047df:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
4047e4:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
4047e9:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
4047ee:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
4047f4:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
4047fa:	4a                   	dec    %edx
4047fb:	75 a3                	jne    0x4047a0
4047fd:	85 c9                	test   %ecx,%ecx
4047ff:	74 5f                	je     0x404860
404801:	8b d1                	mov    %ecx,%edx
404803:	c1 ea 05             	shr    $0x5,%edx
404806:	85 d2                	test   %edx,%edx
404808:	74 21                	je     0x40482b
40480a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404810:	f3 0f 6f 06          	movdqu (%esi),%xmm0
404814:	f3 0f 6f 4e 10       	movdqu 0x10(%esi),%xmm1
404819:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
40481d:	f3 0f 7f 4f 10       	movdqu %xmm1,0x10(%edi)
404822:	8d 76 20             	lea    0x20(%esi),%esi
404825:	8d 7f 20             	lea    0x20(%edi),%edi
404828:	4a                   	dec    %edx
404829:	75 e5                	jne    0x404810
40482b:	83 e1 1f             	and    $0x1f,%ecx
40482e:	74 30                	je     0x404860
404830:	8b c1                	mov    %ecx,%eax
404832:	c1 e9 02             	shr    $0x2,%ecx
404835:	74 0f                	je     0x404846
404837:	8b 16                	mov    (%esi),%edx
404839:	89 17                	mov    %edx,(%edi)
40483b:	83 c7 04             	add    $0x4,%edi
40483e:	83 c6 04             	add    $0x4,%esi
404841:	83 e9 01             	sub    $0x1,%ecx
404844:	75 f1                	jne    0x404837
404846:	8b c8                	mov    %eax,%ecx
404848:	83 e1 03             	and    $0x3,%ecx
40484b:	74 13                	je     0x404860
40484d:	8a 06                	mov    (%esi),%al
40484f:	88 07                	mov    %al,(%edi)
404851:	46                   	inc    %esi
404852:	47                   	inc    %edi
404853:	49                   	dec    %ecx
404854:	75 f7                	jne    0x40484d
404856:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40485d:	8d 49 00             	lea    0x0(%ecx),%ecx
404860:	8b 44 24 0c          	mov    0xc(%esp),%eax
404864:	5e                   	pop    %esi
404865:	5f                   	pop    %edi
404866:	c3                   	ret
404867:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40486e:	8b ff                	mov    %edi,%edi
404870:	ba 10 00 00 00       	mov    $0x10,%edx
404875:	2b d0                	sub    %eax,%edx
404877:	2b ca                	sub    %edx,%ecx
404879:	51                   	push   %ecx
40487a:	8b c2                	mov    %edx,%eax
40487c:	8b c8                	mov    %eax,%ecx
40487e:	83 e1 03             	and    $0x3,%ecx
404881:	74 09                	je     0x40488c
404883:	8a 16                	mov    (%esi),%dl
404885:	88 17                	mov    %dl,(%edi)
404887:	46                   	inc    %esi
404888:	47                   	inc    %edi
404889:	49                   	dec    %ecx
40488a:	75 f7                	jne    0x404883
40488c:	c1 e8 02             	shr    $0x2,%eax
40488f:	74 0d                	je     0x40489e
404891:	8b 16                	mov    (%esi),%edx
404893:	89 17                	mov    %edx,(%edi)
404895:	8d 76 04             	lea    0x4(%esi),%esi
404898:	8d 7f 04             	lea    0x4(%edi),%edi
40489b:	48                   	dec    %eax
40489c:	75 f3                	jne    0x404891
40489e:	59                   	pop    %ecx
40489f:	e9 e9 fe ff ff       	jmp    0x40478d
4048a4:	cc                   	int3
4048a5:	cc                   	int3
4048a6:	cc                   	int3
4048a7:	cc                   	int3
4048a8:	cc                   	int3
4048a9:	cc                   	int3
4048aa:	cc                   	int3
4048ab:	cc                   	int3
4048ac:	cc                   	int3
4048ad:	cc                   	int3
4048ae:	cc                   	int3
4048af:	cc                   	int3
4048b0:	6a 08                	push   $0x8
4048b2:	68 e0 fc 41 00       	push   $0x41fce0
4048b7:	e8 e4 f5 ff ff       	call   0x403ea0
4048bc:	8b 45 08             	mov    0x8(%ebp),%eax
4048bf:	85 c0                	test   %eax,%eax
4048c1:	74 7e                	je     0x404941
4048c3:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
4048c9:	75 76                	jne    0x404941
4048cb:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
4048cf:	75 70                	jne    0x404941
4048d1:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
4048d8:	74 12                	je     0x4048ec
4048da:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
4048e1:	74 09                	je     0x4048ec
4048e3:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
4048ea:	75 55                	jne    0x404941
4048ec:	8b 48 1c             	mov    0x1c(%eax),%ecx
4048ef:	85 c9                	test   %ecx,%ecx
4048f1:	74 4e                	je     0x404941
4048f3:	8b 51 04             	mov    0x4(%ecx),%edx
4048f6:	85 d2                	test   %edx,%edx