40450e:	57                   	push   %edi
40450f:	0f 57 c0             	xorps  %xmm0,%xmm0
404512:	8d 4c 24 10          	lea    0x10(%esp),%ecx
404516:	33 ff                	xor    %edi,%edi
404518:	8d 46 10             	lea    0x10(%esi),%eax
40451b:	89 7c 24 14          	mov    %edi,0x14(%esp)
40451f:	50                   	push   %eax
404520:	0f b7 46 0c          	movzwl 0xc(%esi),%eax
404524:	50                   	push   %eax
404525:	ff 76 08             	push   0x8(%esi)
404528:	8d 46 04             	lea    0x4(%esi),%eax
40452b:	50                   	push   %eax
40452c:	0f 11 44 24 28       	movups %xmm0,0x28(%esp)
404531:	e8 58 f0 ff ff       	call   0x40358e
404536:	8b c8                	mov    %eax,%ecx
404538:	e8 30 f0 ff ff       	call   0x40356d
40453d:	8b c8                	mov    %eax,%ecx
40453f:	e8 c8 ef ff ff       	call   0x40350c
404544:	8b c8                	mov    %eax,%ecx
404546:	e8 43 f0 ff ff       	call   0x40358e
40454b:	39 7e 1c             	cmp    %edi,0x1c(%esi)
40454e:	76 70                	jbe    0x4045c0
404550:	8d 5e 14             	lea    0x14(%esi),%ebx
404553:	57                   	push   %edi
404554:	8d 44 24 2c          	lea    0x2c(%esp),%eax
404558:	8b cb                	mov    %ebx,%ecx
40455a:	50                   	push   %eax
40455b:	e8 02 d3 ff ff       	call   0x401862
404560:	50                   	push   %eax
404561:	8d 4c 24 14          	lea    0x14(%esp),%ecx
404565:	e8 24 f0 ff ff       	call   0x40358e
40456a:	8b 4c 24 28          	mov    0x28(%esp),%ecx
40456e:	e8 ba 14 00 00       	call   0x405a2d
404573:	57                   	push   %edi
404574:	8d 44 24 2c          	lea    0x2c(%esp),%eax
404578:	8b cb                	mov    %ebx,%ecx
40457a:	50                   	push   %eax
40457b:	e8 e2 d2 ff ff       	call   0x401862
404580:	8d 4c 24 10          	lea    0x10(%esp),%ecx
404584:	ff 70 10             	push   0x10(%eax)
404587:	e8 e1 ef ff ff       	call   0x40356d
40458c:	8b 4c 24 28          	mov    0x28(%esp),%ecx
404590:	e8 98 14 00 00       	call   0x405a2d
404595:	57                   	push   %edi
404596:	8d 44 24 2c          	lea    0x2c(%esp),%eax
40459a:	8b cb                	mov    %ebx,%ecx
40459c:	50                   	push   %eax
40459d:	e8 c0 d2 ff ff       	call   0x401862
4045a2:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4045a6:	ff 70 0c             	push   0xc(%eax)
4045a9:	ff 70 08             	push   0x8(%eax)
4045ac:	e8 93 ef ff ff       	call   0x403544
4045b1:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4045b5:	e8 73 14 00 00       	call   0x405a2d
4045ba:	47                   	inc    %edi
4045bb:	3b 7e 1c             	cmp    0x1c(%esi),%edi
4045be:	72 93                	jb     0x404553
4045c0:	ff 75 08             	push   0x8(%ebp)
4045c3:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4045c7:	e8 da ee ff ff       	call   0x4034a6
4045cc:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4045d0:	e8 bd ee ff ff       	call   0x403492
4045d5:	8b 45 08             	mov    0x8(%ebp),%eax
4045d8:	5f                   	pop    %edi
4045d9:	5e                   	pop    %esi
4045da:	5b                   	pop    %ebx
4045db:	8b e5                	mov    %ebp,%esp
4045dd:	5d                   	pop    %ebp
4045de:	c2 04 00             	ret    $0x4
4045e1:	56                   	push   %esi
4045e2:	8b f1                	mov    %ecx,%esi
4045e4:	c7 06 d4 27 41 00    	movl   $0x4127d4,(%esi)
4045ea:	8b 4e 14             	mov    0x14(%esi),%ecx
4045ed:	85 c9                	test   %ecx,%ecx
4045ef:	74 06                	je     0x4045f7
4045f1:	51                   	push   %ecx
4045f2:	e8 7e d4 ff ff       	call   0x401a75
4045f7:	33 c0                	xor    %eax,%eax
4045f9:	8d 4e 04             	lea    0x4(%esi),%ecx
4045fc:	89 46 14             	mov    %eax,0x14(%esi)
4045ff:	89 46 1c             	mov    %eax,0x1c(%esi)
404602:	89 46 18             	mov    %eax,0x18(%esi)
404605:	5e                   	pop    %esi
404606:	e9 b6 d6 ff ff       	jmp    0x401cc1
40460b:	55                   	push   %ebp
40460c:	8b ec                	mov    %esp,%ebp
40460e:	56                   	push   %esi
40460f:	57                   	push   %edi
404610:	8b f9                	mov    %ecx,%edi
404612:	8d 45 08             	lea    0x8(%ebp),%eax
404615:	50                   	push   %eax
404616:	8d 4f 04             	lea    0x4(%edi),%ecx
404619:	c7 07 d4 27 41 00    	movl   $0x4127d4,(%edi)
40461f:	e8 36 ee ff ff       	call   0x40345a
404624:	8b 45 0c             	mov    0xc(%ebp),%eax
404627:	8d 4f 10             	lea    0x10(%edi),%ecx
40462a:	89 47 08             	mov    %eax,0x8(%edi)
40462d:	66 8b 45 10          	mov    0x10(%ebp),%ax
404631:	66 89 47 0c          	mov    %ax,0xc(%edi)
404635:	8d 45 14             	lea    0x14(%ebp),%eax
404638:	50                   	push   %eax
404639:	e8 1c ee ff ff       	call   0x40345a
40463e:	8d 45 18             	lea    0x18(%ebp),%eax
404641:	50                   	push   %eax
404642:	8d 4f 14             	lea    0x14(%edi),%ecx
404645:	e8 b7 cc ff ff       	call   0x401301
40464a:	8b 4d 14             	mov    0x14(%ebp),%ecx
40464d:	e8 db 13 00 00       	call   0x405a2d
404652:	8b 4d 08             	mov    0x8(%ebp),%ecx
404655:	83 65 14 00          	andl   $0x0,0x14(%ebp)
404659:	e8 cf 13 00 00       	call   0x405a2d
40465e:	83 65 08 00          	andl   $0x0,0x8(%ebp)
404662:	8b 4d 18             	mov    0x18(%ebp),%ecx
404665:	85 c9                	test   %ecx,%ecx
404667:	74 06                	je     0x40466f
404669:	51                   	push   %ecx
40466a:	e8 06 d4 ff ff       	call   0x401a75
40466f:	8b c7                	mov    %edi,%eax
404671:	5f                   	pop    %edi
404672:	5e                   	pop    %esi
404673:	5d                   	pop    %ebp
404674:	c2 20 00             	ret    $0x20
404677:	56                   	push   %esi
404678:	8b f1                	mov    %ecx,%esi
40467a:	c7 06 dc 27 41 00    	movl   $0x4127dc,(%esi)
404680:	8b 4e 04             	mov    0x4(%esi),%ecx
404683:	e8 a5 13 00 00       	call   0x405a2d
404688:	83 66 04 00          	andl   $0x0,0x4(%esi)
40468c:	5e                   	pop    %esi
40468d:	c3                   	ret
40468e:	55                   	push   %ebp
40468f:	8b ec                	mov    %esp,%ebp
404691:	83 ec 18             	sub    $0x18,%esp
404694:	ff 75 08             	push   0x8(%ebp)
404697:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
40469b:	0f 57 c0             	xorps  %xmm0,%xmm0
40469e:	ff 71 08             	push   0x8(%ecx)
4046a1:	83 c1 04             	add    $0x4,%ecx
4046a4:	c7 45 e8 0f 00 00 00 	movl   $0xf,-0x18(%ebp)
4046ab:	51                   	push   %ecx
4046ac:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4046af:	0f 11 45 f0          	movups %xmm0,-0x10(%ebp)
4046b3:	e8 d6 ee ff ff       	call   0x40358e
4046b8:	8b c8                	mov    %eax,%ecx
4046ba:	e8 ae ee ff ff       	call   0x40356d
4046bf:	8b c8                	mov    %eax,%ecx
4046c1:	e8 e0 ed ff ff       	call   0x4034a6
4046c6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4046c9:	e8 c4 ed ff ff       	call   0x403492
4046ce:	8b 45 08             	mov    0x8(%ebp),%eax
4046d1:	c9                   	leave
4046d2:	c2 04 00             	ret    $0x4
4046d5:	55                   	push   %ebp
4046d6:	8b ec                	mov    %esp,%ebp
4046d8:	51                   	push   %ecx
4046d9:	56                   	push   %esi
4046da:	57                   	push   %edi
4046db:	8b f9                	mov    %ecx,%edi
4046dd:	8d 45 fc             	lea    -0x4(%ebp),%eax
4046e0:	50                   	push   %eax
4046e1:	8d 4d 08             	lea    0x8(%ebp),%ecx
4046e4:	c7 07 dc 27 41 00    	movl   $0x4127dc,(%edi)
4046ea:	83 67 04 00          	andl   $0x0,0x4(%edi)
4046ee:	e8 d7 e7 ff ff       	call   0x402eca
4046f3:	50                   	push   %eax
4046f4:	8d 4f 04             	lea    0x4(%edi),%ecx
4046f7:	e8 68 eb ff ff       	call   0x403264
4046fc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4046ff:	e8 29 13 00 00       	call   0x405a2d
404704:	8b 4d 08             	mov    0x8(%ebp),%ecx
404707:	83 67 08 00          	andl   $0x0,0x8(%edi)
40470b:	e8 1d 13 00 00       	call   0x405a2d
404710:	8b c7                	mov    %edi,%eax
404712:	5f                   	pop    %edi
404713:	5e                   	pop    %esi
404714:	c9                   	leave
404715:	c2 08 00             	ret    $0x8
404718:	55                   	push   %ebp
404719:	8b ec                	mov    %esp,%ebp
40471b:	83 ec 18             	sub    $0x18,%esp
40471e:	8b 41 04             	mov    0x4(%ecx),%eax
404721:	0f 57 c0             	xorps  %xmm0,%xmm0
404724:	ff 75 08             	push   0x8(%ebp)
404727:	50                   	push   %eax
404728:	8b 48 04             	mov    0x4(%eax),%ecx
40472b:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
40472f:	51                   	push   %ecx
404730:	8d 4d e8             	lea    -0x18(%ebp),%ecx
404733:	c7 45 e8 13 00 00 00 	movl   $0x13,-0x18(%ebp)
40473a:	0f 11 45 f0          	movups %xmm0,-0x10(%ebp)
40473e:	e8 2a ee ff ff       	call   0x40356d
404743:	8b c8                	mov    %eax,%ecx
404745:	e8 dd ed ff ff       	call   0x403527
40474a:	8b c8                	mov    %eax,%ecx
40474c:	e8 55 ed ff ff       	call   0x4034a6
404751:	8d 4d e8             	lea    -0x18(%ebp),%ecx
404754:	e8 39 ed ff ff       	call   0x403492
404759:	8b 45 08             	mov    0x8(%ebp),%eax
40475c:	c9                   	leave
40475d:	c2 04 00             	ret    $0x4
404760:	c7 01 e4 27 41 00    	movl   $0x4127e4,(%ecx)
404766:	c3                   	ret
404767:	55                   	push   %ebp
404768:	8b ec                	mov    %esp,%ebp
40476a:	8b 45 08             	mov    0x8(%ebp),%eax
40476d:	89 41 04             	mov    %eax,0x4(%ecx)
404770:	8b c1                	mov    %ecx,%eax
404772:	c7 01 e4 27 41 00    	movl   $0x4127e4,(%ecx)
404778:	5d                   	pop    %ebp
404779:	c2 04 00             	ret    $0x4
40477c:	55                   	push   %ebp
40477d:	8b ec                	mov    %esp,%ebp
40477f:	83 ec 18             	sub    $0x18,%esp
404782:	ff 75 08             	push   0x8(%ebp)
404785:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
404789:	8d 41 0c             	lea    0xc(%ecx),%eax
40478c:	50                   	push   %eax
40478d:	8d 41 08             	lea    0x8(%ecx),%eax
404790:	c7 45 e8 1d 00 00 00 	movl   $0x1d,-0x18(%ebp)
404797:	50                   	push   %eax
404798:	ff 71 04             	push   0x4(%ecx)
40479b:	0f 57 c0             	xorps  %xmm0,%xmm0
40479e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4047a1:	0f 11 45 f0          	movups %xmm0,-0x10(%ebp)
4047a5:	e8 c3 ed ff ff       	call   0x40356d
4047aa:	8b c8                	mov    %eax,%ecx
4047ac:	e8 dd ed ff ff       	call   0x40358e
4047b1:	8b c8                	mov    %eax,%ecx
4047b3:	e8 d6 ed ff ff       	call   0x40358e
4047b8:	8b c8                	mov    %eax,%ecx
4047ba:	e8 e7 ec ff ff       	call   0x4034a6
4047bf:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4047c2:	e8 cb ec ff ff       	call   0x403492
4047c7:	8b 45 08             	mov    0x8(%ebp),%eax
4047ca:	c9                   	leave
4047cb:	c2 04 00             	ret    $0x4
4047ce:	56                   	push   %esi
4047cf:	8b f1                	mov    %ecx,%esi
4047d1:	c7 06 ec 27 41 00    	movl   $0x4127ec,(%esi)
4047d7:	8b 4e 0c             	mov    0xc(%esi),%ecx
4047da:	e8 4e 12 00 00       	call   0x405a2d
4047df:	83 66 0c 00          	andl   $0x0,0xc(%esi)
4047e3:	8b 4e 08             	mov    0x8(%esi),%ecx
4047e6:	e8 42 12 00 00       	call   0x405a2d
4047eb:	83 66 08 00          	andl   $0x0,0x8(%esi)
4047ef:	5e                   	pop    %esi
4047f0:	c3                   	ret
4047f1:	55                   	push   %ebp
4047f2:	8b ec                	mov    %esp,%ebp
4047f4:	8b 45 08             	mov    0x8(%ebp),%eax
4047f7:	56                   	push   %esi
4047f8:	ff 75 0c             	push   0xc(%ebp)
4047fb:	8b f1                	mov    %ecx,%esi
4047fd:	8d 4e 08             	lea    0x8(%esi),%ecx
404800:	c7 06 ec 27 41 00    	movl   $0x4127ec,(%esi)
404806:	89 46 04             	mov    %eax,0x4(%esi)
404809:	e8 4c ec ff ff       	call   0x40345a
40480e:	ff 75 10             	push   0x10(%ebp)
404811:	8d 4e 0c             	lea    0xc(%esi),%ecx
404814:	e8 41 ec ff ff       	call   0x40345a
404819:	8b c6                	mov    %esi,%eax
40481b:	5e                   	pop    %esi
40481c:	5d                   	pop    %ebp
40481d:	c2 0c 00             	ret    $0xc
404820:	56                   	push   %esi
404821:	8b f1                	mov    %ecx,%esi
404823:	8b 8e 34 02 00 00    	mov    0x234(%esi),%ecx
404829:	c7 06 f4 27 41 00    	movl   $0x4127f4,(%esi)
40482f:	e8 f9 11 00 00       	call   0x405a2d
404834:	8d 8e e4 01 00 00    	lea    0x1e4(%esi),%ecx
40483a:	e8 5f 0f 00 00       	call   0x40579e
40483f:	8d 4e 04             	lea    0x4(%esi),%ecx
404842:	5e                   	pop    %esi
404843:	e9 c5 08 00 00       	jmp    0x40510d
404848:	83 25 74 65 41 00 00 	andl   $0x0,0x416574
40484f:	56                   	push   %esi
404850:	8b f1                	mov    %ecx,%esi
404852:	b9 50 65 41 00       	mov    $0x416550,%ecx
404857:	e8 5e 84 00 00       	call   0x40ccba
40485c:	e8 c4 b8 00 00       	call   0x410125
404861:	8d 4e 04             	lea    0x4(%esi),%ecx
404864:	5e                   	pop    %esi
404865:	e9 cf 08 00 00       	jmp    0x405139
40486a:	55                   	push   %ebp
40486b:	8b ec                	mov    %esp,%ebp
40486d:	83 e4 f8             	and    $0xfffffff8,%esp
404870:	51                   	push   %ecx
404871:	56                   	push   %esi
404872:	8b 75 0c             	mov    0xc(%ebp),%esi
404875:	85 f6                	test   %esi,%esi
404877:	0f 84 f2 01 00 00    	je     0x404a6f
40487d:	8b 45 08             	mov    0x8(%ebp),%eax
404880:	83 f8 1e             	cmp    $0x1e,%eax
404883:	0f 8f 0d 01 00 00    	jg     0x404996
404889:	0f 84 fc 00 00 00    	je     0x40498b
40488f:	83 f8 0e             	cmp    $0xe,%eax
404892:	0f 8f 87 00 00 00    	jg     0x40491f
404898:	74 79                	je     0x404913
40489a:	83 e8 00             	sub    $0x0,%eax
40489d:	74 63                	je     0x404902
40489f:	6a 02                	push   $0x2
4048a1:	5a                   	pop    %edx
4048a2:	2b c2                	sub    %edx,%eax
4048a4:	74 52                	je     0x4048f8
4048a6:	2b c2                	sub    %edx,%eax
4048a8:	74 44                	je     0x4048ee
4048aa:	2b c2                	sub    %edx,%eax
4048ac:	74 34                	je     0x4048e2
4048ae:	2b c2                	sub    %edx,%eax
4048b0:	74 24                	je     0x4048d6
4048b2:	2b c2                	sub    %edx,%eax
4048b4:	74 14                	je     0x4048ca
4048b6:	2b c2                	sub    %edx,%eax
4048b8:	0f 85 a9 01 00 00    	jne    0x404a67
4048be:	8b d6                	mov    %esi,%edx
4048c0:	e8 7e e0 ff ff       	call   0x402943
4048c5:	e9 9d 01 00 00       	jmp    0x404a67
4048ca:	8b d6                	mov    %esi,%edx
4048cc:	e8 c7 e0 ff ff       	call   0x402998
4048d1:	e9 91 01 00 00       	jmp    0x404a67
4048d6:	8b d6                	mov    %esi,%edx
4048d8:	e8 45 e1 ff ff       	call   0x402a22
4048dd:	e9 85 01 00 00       	jmp    0x404a67
4048e2:	8b d6                	mov    %esi,%edx
4048e4:	e8 48 e1 ff ff       	call   0x402a31
4048e9:	e9 79 01 00 00       	jmp    0x404a67
4048ee:	e8 91 e1 ff ff       	call   0x402a84
4048f3:	e9 6f 01 00 00       	jmp    0x404a67
4048f8:	e8 ce e1 ff ff       	call   0x402acb
4048fd:	e9 65 01 00 00       	jmp    0x404a67
404902:	51                   	push   %ecx
404903:	8d 91 e4 01 00 00    	lea    0x1e4(%ecx),%edx
404909:	e8 1b e2 ff ff       	call   0x402b29
40490e:	e9 53 01 00 00       	jmp    0x404a66
404913:	8b d6                	mov    %esi,%edx
404915:	e8 98 df ff ff       	call   0x4028b2
40491a:	e9 48 01 00 00       	jmp    0x404a67
40491f:	83 e8 10             	sub    $0x10,%eax
404922:	74 5b                	je     0x40497f
404924:	6a 02                	push   $0x2
404926:	5a                   	pop    %edx
404927:	2b c2                	sub    %edx,%eax
404929:	74 4a                	je     0x404975
40492b:	2b c2                	sub    %edx,%eax
40492d:	74 38                	je     0x404967
40492f:	2b c2                	sub    %edx,%eax
404931:	74 2a                	je     0x40495d
404933:	2b c2                	sub    %edx,%eax
404935:	74 1c                	je     0x404953
404937:	2b c2                	sub    %edx,%eax