41057b:	ff 75 0c             	push   0xc(%ebp)
41057e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
410582:	8d 44 24 24          	lea    0x24(%esp),%eax
410586:	50                   	push   %eax
410587:	83 c1 14             	add    $0x14,%ecx
41058a:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
41058f:	03 ce                	add    %esi,%ecx
410591:	f7 e9                	imul   %ecx
410593:	8b cf                	mov    %edi,%ecx
410595:	c1 fa 02             	sar    $0x2,%edx
410598:	8b c2                	mov    %edx,%eax
41059a:	c1 e8 1f             	shr    $0x1f,%eax
41059d:	03 c2                	add    %edx,%eax
41059f:	33 d2                	xor    %edx,%edx
4105a1:	50                   	push   %eax
4105a2:	e8 09 08 00 00       	call   0x410db0
4105a7:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4105ab:	83 c4 0c             	add    $0xc,%esp
4105ae:	83 f9 08             	cmp    $0x8,%ecx
4105b1:	72 2f                	jb     0x4105e2
4105b3:	8b 54 24 20          	mov    0x20(%esp),%edx
4105b7:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4105be:	8b c2                	mov    %edx,%eax
4105c0:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4105c6:	72 10                	jb     0x4105d8
4105c8:	8b 50 fc             	mov    -0x4(%eax),%edx
4105cb:	83 c1 23             	add    $0x23,%ecx
4105ce:	2b c2                	sub    %edx,%eax
4105d0:	83 c0 fc             	add    $0xfffffffc,%eax
4105d3:	83 f8 1f             	cmp    $0x1f,%eax
4105d6:	77 25                	ja     0x4105fd
4105d8:	51                   	push   %ecx
4105d9:	52                   	push   %edx
4105da:	e8 d9 95 00 00       	call   0x419bb8
4105df:	83 c4 08             	add    $0x8,%esp
4105e2:	8b 44 24 14          	mov    0x14(%esp),%eax
4105e6:	83 ee 18             	sub    $0x18,%esi
4105e9:	03 c6                	add    %esi,%eax
4105eb:	83 f8 30             	cmp    $0x30,%eax
4105ee:	0f 8c 47 fe ff ff    	jl     0x41043b
4105f4:	8b 44 24 14          	mov    0x14(%esp),%eax
4105f8:	e9 33 ff ff ff       	jmp    0x410530
4105fd:	e8 91 f3 00 00       	call   0x41f993
410602:	cc                   	int3
410603:	cc                   	int3
410604:	cc                   	int3
410605:	cc                   	int3
410606:	cc                   	int3
410607:	cc                   	int3
410608:	cc                   	int3
410609:	cc                   	int3
41060a:	cc                   	int3
41060b:	cc                   	int3
41060c:	cc                   	int3
41060d:	cc                   	int3
41060e:	cc                   	int3
41060f:	cc                   	int3
410610:	55                   	push   %ebp
410611:	8b ec                	mov    %esp,%ebp
410613:	83 ec 50             	sub    $0x50,%esp
410616:	a1 14 50 45 00       	mov    0x455014,%eax
41061b:	33 c5                	xor    %ebp,%eax
41061d:	89 45 f8             	mov    %eax,-0x8(%ebp)
410620:	8b c2                	mov    %edx,%eax
410622:	8b d1                	mov    %ecx,%edx
410624:	89 45 cc             	mov    %eax,-0x34(%ebp)
410627:	89 55 dc             	mov    %edx,-0x24(%ebp)
41062a:	53                   	push   %ebx
41062b:	56                   	push   %esi
41062c:	57                   	push   %edi
41062d:	3b d0                	cmp    %eax,%edx
41062f:	0f 84 b9 02 00 00    	je     0x4108ee
410635:	8d 5a 18             	lea    0x18(%edx),%ebx
410638:	3b d8                	cmp    %eax,%ebx
41063a:	0f 84 ae 02 00 00    	je     0x4108ee
410640:	0f 10 03             	movups (%ebx),%xmm0
410643:	8d 73 14             	lea    0x14(%ebx),%esi
410646:	33 c0                	xor    %eax,%eax
410648:	f3 0f 7e 4b 10       	movq   0x10(%ebx),%xmm1
41064d:	8b fb                	mov    %ebx,%edi
41064f:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
410656:	c7 06 07 00 00 00    	movl   $0x7,(%esi)
41065c:	66 89 03             	mov    %ax,(%ebx)
41065f:	8b 42 14             	mov    0x14(%edx),%eax
410662:	66 0f d6 4d c4       	movq   %xmm1,-0x3c(%ebp)
410667:	66 0f d6 4d f0       	movq   %xmm1,-0x10(%ebp)
41066c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
41066f:	0f 11 45 b4          	movups %xmm0,-0x4c(%ebp)
410673:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
410677:	83 f8 08             	cmp    $0x8,%eax
41067a:	72 04                	jb     0x410680
41067c:	8b 02                	mov    (%edx),%eax
41067e:	eb 02                	jmp    0x410682
410680:	8b c2                	mov    %edx,%eax
410682:	ff 72 10             	push   0x10(%edx)
410685:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
410689:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41068c:	8b 55 f0             	mov    -0x10(%ebp),%edx
41068f:	66 0f 7e 45 d8       	movd   %xmm0,-0x28(%ebp)
410694:	0f 43 4d d8          	cmovae -0x28(%ebp),%ecx
410698:	50                   	push   %eax
410699:	e8 e2 49 ff ff       	call   0x405080
41069e:	83 c4 08             	add    $0x8,%esp
4106a1:	85 c0                	test   %eax,%eax
4106a3:	0f 89 0a 01 00 00    	jns    0x4107b3
4106a9:	8b 55 dc             	mov    -0x24(%ebp),%edx
4106ac:	8d 4b 18             	lea    0x18(%ebx),%ecx
4106af:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4106b2:	8b f9                	mov    %ecx,%edi
4106b4:	3b d3                	cmp    %ebx,%edx
4106b6:	0f 84 94 00 00 00    	je     0x410750
4106bc:	0f 1f 40 00          	nopl   0x0(%eax)
4106c0:	8b c6                	mov    %esi,%eax
4106c2:	83 ef 18             	sub    $0x18,%edi
4106c5:	83 ee 18             	sub    $0x18,%esi
4106c8:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4106cb:	8d 5e ec             	lea    -0x14(%esi),%ebx
4106ce:	3b fb                	cmp    %ebx,%edi
4106d0:	74 6e                	je     0x410740
4106d2:	8b 08                	mov    (%eax),%ecx
4106d4:	83 f9 08             	cmp    $0x8,%ecx
4106d7:	72 37                	jb     0x410710
4106d9:	8b 07                	mov    (%edi),%eax
4106db:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4106e2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4106e8:	72 16                	jb     0x410700
4106ea:	8b 50 fc             	mov    -0x4(%eax),%edx
4106ed:	83 c1 23             	add    $0x23,%ecx
4106f0:	2b c2                	sub    %edx,%eax
4106f2:	83 c0 fc             	add    $0xfffffffc,%eax
4106f5:	83 f8 1f             	cmp    $0x1f,%eax
4106f8:	0f 87 01 02 00 00    	ja     0x4108ff
4106fe:	8b c2                	mov    %edx,%eax
410700:	51                   	push   %ecx
410701:	50                   	push   %eax
410702:	e8 b1 94 00 00       	call   0x419bb8
410707:	8b 45 d4             	mov    -0x2c(%ebp),%eax
41070a:	83 c4 08             	add    $0x8,%esp
41070d:	8b 55 dc             	mov    -0x24(%ebp),%edx
410710:	c7 00 07 00 00 00    	movl   $0x7,(%eax)
410716:	33 c0                	xor    %eax,%eax
410718:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
41071f:	66 89 07             	mov    %ax,(%edi)
410722:	0f 10 46 ec          	movups -0x14(%esi),%xmm0
410726:	0f 11 07             	movups %xmm0,(%edi)
410729:	f3 0f 7e 46 fc       	movq   -0x4(%esi),%xmm0
41072e:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
410733:	89 46 fc             	mov    %eax,-0x4(%esi)
410736:	c7 06 07 00 00 00    	movl   $0x7,(%esi)
41073c:	66 89 46 ec          	mov    %ax,-0x14(%esi)
410740:	3b d3                	cmp    %ebx,%edx
410742:	0f 85 78 ff ff ff    	jne    0x4106c0
410748:	8b 42 14             	mov    0x14(%edx),%eax
41074b:	8b 4d d0             	mov    -0x30(%ebp),%ecx
41074e:	eb 03                	jmp    0x410753
410750:	8b 45 d4             	mov    -0x2c(%ebp),%eax
410753:	8d 75 e0             	lea    -0x20(%ebp),%esi
410756:	3b d6                	cmp    %esi,%edx
410758:	74 52                	je     0x4107ac
41075a:	83 f8 08             	cmp    $0x8,%eax
41075d:	72 34                	jb     0x410793
41075f:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
410766:	8b 02                	mov    (%edx),%eax
410768:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41076e:	72 16                	jb     0x410786
410770:	8b 50 fc             	mov    -0x4(%eax),%edx
410773:	83 c1 23             	add    $0x23,%ecx
410776:	2b c2                	sub    %edx,%eax
410778:	83 c0 fc             	add    $0xfffffffc,%eax
41077b:	83 f8 1f             	cmp    $0x1f,%eax
41077e:	0f 87 7b 01 00 00    	ja     0x4108ff
410784:	8b c2                	mov    %edx,%eax
410786:	51                   	push   %ecx
410787:	50                   	push   %eax
410788:	e8 2b 94 00 00       	call   0x419bb8
41078d:	8b 55 dc             	mov    -0x24(%ebp),%edx
410790:	83 c4 08             	add    $0x8,%esp
410793:	0f 10 45 b4          	movups -0x4c(%ebp),%xmm0
410797:	8b 5d d0             	mov    -0x30(%ebp),%ebx
41079a:	0f 11 02             	movups %xmm0,(%edx)
41079d:	f3 0f 7e 45 c4       	movq   -0x3c(%ebp),%xmm0
4107a2:	66 0f d6 42 10       	movq   %xmm0,0x10(%edx)
4107a7:	e9 33 01 00 00       	jmp    0x4108df
4107ac:	8b d9                	mov    %ecx,%ebx
4107ae:	e9 f6 00 00 00       	jmp    0x4108a9
4107b3:	8b f3                	mov    %ebx,%esi
4107b5:	83 ee 18             	sub    $0x18,%esi
4107b8:	8b c6                	mov    %esi,%eax
4107ba:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4107be:	72 02                	jb     0x4107c2
4107c0:	8b 06                	mov    (%esi),%eax
4107c2:	83 7d f4 08          	cmpl   $0x8,-0xc(%ebp)
4107c6:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4107c9:	ff 76 10             	push   0x10(%esi)
4107cc:	0f 43 4d d8          	cmovae -0x28(%ebp),%ecx
4107d0:	8b 55 f0             	mov    -0x10(%ebp),%edx
4107d3:	50                   	push   %eax
4107d4:	e8 a7 48 ff ff       	call   0x405080
4107d9:	83 c4 08             	add    $0x8,%esp
4107dc:	85 c0                	test   %eax,%eax
4107de:	79 74                	jns    0x410854
4107e0:	3b fe                	cmp    %esi,%edi
4107e2:	74 69                	je     0x41084d
4107e4:	8b 4f 14             	mov    0x14(%edi),%ecx
4107e7:	83 f9 08             	cmp    $0x8,%ecx
4107ea:	72 31                	jb     0x41081d
4107ec:	8b 07                	mov    (%edi),%eax
4107ee:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4107f5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4107fb:	72 16                	jb     0x410813
4107fd:	8b 50 fc             	mov    -0x4(%eax),%edx
410800:	83 c1 23             	add    $0x23,%ecx
410803:	2b c2                	sub    %edx,%eax
410805:	83 c0 fc             	add    $0xfffffffc,%eax
410808:	83 f8 1f             	cmp    $0x1f,%eax
41080b:	0f 87 ee 00 00 00    	ja     0x4108ff
410811:	8b c2                	mov    %edx,%eax
410813:	51                   	push   %ecx
410814:	50                   	push   %eax
410815:	e8 9e 93 00 00       	call   0x419bb8
41081a:	83 c4 08             	add    $0x8,%esp
41081d:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
410824:	33 c0                	xor    %eax,%eax
410826:	c7 47 14 07 00 00 00 	movl   $0x7,0x14(%edi)
41082d:	66 89 07             	mov    %ax,(%edi)
410830:	0f 10 06             	movups (%esi),%xmm0
410833:	0f 11 07             	movups %xmm0,(%edi)
410836:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
41083b:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
410840:	89 46 10             	mov    %eax,0x10(%esi)
410843:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
41084a:	66 89 06             	mov    %ax,(%esi)
41084d:	8b fe                	mov    %esi,%edi
41084f:	e9 61 ff ff ff       	jmp    0x4107b5
410854:	8d 45 e0             	lea    -0x20(%ebp),%eax
410857:	3b f8                	cmp    %eax,%edi
410859:	74 4b                	je     0x4108a6
41085b:	8b 4f 14             	mov    0x14(%edi),%ecx
41085e:	83 f9 08             	cmp    $0x8,%ecx
410861:	72 2d                	jb     0x410890
410863:	8b 07                	mov    (%edi),%eax
410865:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41086c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
410872:	72 12                	jb     0x410886
410874:	8b 50 fc             	mov    -0x4(%eax),%edx
410877:	83 c1 23             	add    $0x23,%ecx
41087a:	2b c2                	sub    %edx,%eax
41087c:	83 c0 fc             	add    $0xfffffffc,%eax
41087f:	83 f8 1f             	cmp    $0x1f,%eax
410882:	77 7b                	ja     0x4108ff
410884:	8b c2                	mov    %edx,%eax
410886:	51                   	push   %ecx
410887:	50                   	push   %eax
410888:	e8 2b 93 00 00       	call   0x419bb8
41088d:	83 c4 08             	add    $0x8,%esp
410890:	0f 10 45 b4          	movups -0x4c(%ebp),%xmm0
410894:	83 c3 18             	add    $0x18,%ebx
410897:	0f 11 07             	movups %xmm0,(%edi)
41089a:	f3 0f 7e 45 c4       	movq   -0x3c(%ebp),%xmm0
41089f:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
4108a4:	eb 39                	jmp    0x4108df
4108a6:	83 c3 18             	add    $0x18,%ebx
4108a9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4108ac:	83 f8 08             	cmp    $0x8,%eax
4108af:	72 2e                	jb     0x4108df
4108b1:	8b 55 d8             	mov    -0x28(%ebp),%edx
4108b4:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
4108bb:	8b c2                	mov    %edx,%eax
4108bd:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4108c3:	72 10                	jb     0x4108d5
4108c5:	8b 50 fc             	mov    -0x4(%eax),%edx
4108c8:	83 c1 23             	add    $0x23,%ecx
4108cb:	2b c2                	sub    %edx,%eax
4108cd:	83 c0 fc             	add    $0xfffffffc,%eax
4108d0:	83 f8 1f             	cmp    $0x1f,%eax
4108d3:	77 2a                	ja     0x4108ff
4108d5:	51                   	push   %ecx
4108d6:	52                   	push   %edx
4108d7:	e8 dc 92 00 00       	call   0x419bb8
4108dc:	83 c4 08             	add    $0x8,%esp
4108df:	8b 45 cc             	mov    -0x34(%ebp),%eax
4108e2:	3b d8                	cmp    %eax,%ebx
4108e4:	74 08                	je     0x4108ee
4108e6:	8b 55 dc             	mov    -0x24(%ebp),%edx
4108e9:	e9 52 fd ff ff       	jmp    0x410640
4108ee:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4108f1:	5f                   	pop    %edi
4108f2:	5e                   	pop    %esi
4108f3:	33 cd                	xor    %ebp,%ecx
4108f5:	5b                   	pop    %ebx
4108f6:	e8 af 92 00 00       	call   0x419baa
4108fb:	8b e5                	mov    %ebp,%esp
4108fd:	5d                   	pop    %ebp
4108fe:	c3                   	ret
4108ff:	e8 8f f0 00 00       	call   0x41f993
410904:	cc                   	int3
410905:	cc                   	int3
410906:	cc                   	int3
410907:	cc                   	int3
410908:	cc                   	int3
410909:	cc                   	int3
41090a:	cc                   	int3
41090b:	cc                   	int3
41090c:	cc                   	int3
41090d:	cc                   	int3
41090e:	cc                   	int3
41090f:	cc                   	int3
410910:	55                   	push   %ebp
410911:	8b ec                	mov    %esp,%ebp
410913:	83 ec 18             	sub    $0x18,%esp
410916:	8a 45 0c             	mov    0xc(%ebp),%al
410919:	88 45 fc             	mov    %al,-0x4(%ebp)
41091c:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
410921:	53                   	push   %ebx
410922:	8b 5d 08             	mov    0x8(%ebp),%ebx
410925:	89 4d e8             	mov    %ecx,-0x18(%ebp)
410928:	8b cb                	mov    %ebx,%ecx
41092a:	56                   	push   %esi
41092b:	8b f2                	mov    %edx,%esi
41092d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
410930:	2b ce                	sub    %esi,%ecx
410932:	89 75 f4             	mov    %esi,-0xc(%ebp)
410935:	f7 e9                	imul   %ecx
410937:	57                   	push   %edi
410938:	c1 fa 02             	sar    $0x2,%edx
41093b:	8d 7b e8             	lea    -0x18(%ebx),%edi
41093e:	8b 5d f4             	mov    -0xc(%ebp),%ebx
410941:	8b c2                	mov    %edx,%eax
410943:	c1 e8 1f             	shr    $0x1f,%eax
410946:	8b cf                	mov    %edi,%ecx
410948:	03 c2                	add    %edx,%eax
41094a:	2b cb                	sub    %ebx,%ecx
41094c:	d1 f8                	sar    $1,%eax
41094e:	8d 04 40             	lea    (%eax,%eax,2),%eax
410951:	8d 34 c6             	lea    (%esi,%eax,8),%esi
410954:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
410959:	f7 e9                	imul   %ecx
41095b:	c1 fa 02             	sar    $0x2,%edx
41095e:	8b c2                	mov    %edx,%eax
410960:	c1 e8 1f             	shr    $0x1f,%eax
410963:	03 c2                	add    %edx,%eax
410965:	83 f8 28             	cmp    $0x28,%eax
410968:	7e 67                	jle    0x4109d1
41096a:	8b 7d fc             	mov    -0x4(%ebp),%edi
41096d:	40                   	inc    %eax
41096e:	c1 f8 03             	sar    $0x3,%eax
410971:	57                   	push   %edi
410972:	8d 1c 40             	lea    (%eax,%eax,2),%ebx
410975:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
410978:	c1 e3 03             	shl    $0x3,%ebx