410355:	5b                   	pop    %ebx
410356:	8b e5                	mov    %ebp,%esp
410358:	5d                   	pop    %ebp
410359:	c2 08 00             	ret    $0x8
41035c:	cc                   	int3
41035d:	cc                   	int3
41035e:	cc                   	int3
41035f:	cc                   	int3
410360:	55                   	push   %ebp
410361:	8b ec                	mov    %esp,%ebp
410363:	83 e4 f0             	and    $0xfffffff0,%esp
410366:	83 ec 48             	sub    $0x48,%esp
410369:	a1 14 50 45 00       	mov    0x455014,%eax
41036e:	33 c4                	xor    %esp,%eax
410370:	89 44 24 44          	mov    %eax,0x44(%esp)
410374:	56                   	push   %esi
410375:	57                   	push   %edi
410376:	8b f9                	mov    %ecx,%edi
410378:	89 54 24 10          	mov    %edx,0x10(%esp)
41037c:	8b c2                	mov    %edx,%eax
41037e:	2b c7                	sub    %edi,%eax
410380:	3d 18 03 00 00       	cmp    $0x318,%eax
410385:	8b 45 0c             	mov    0xc(%ebp),%eax
410388:	0f 8c a2 00 00 00    	jl     0x410430
41038e:	8b 75 08             	mov    0x8(%ebp),%esi
410391:	85 f6                	test   %esi,%esi
410393:	0f 8e b3 00 00 00    	jle    0x41044c
410399:	50                   	push   %eax
41039a:	52                   	push   %edx
41039b:	8b d7                	mov    %edi,%edx
41039d:	8d 4c 24 20          	lea    0x20(%esp),%ecx
4103a1:	e8 6a 05 00 00       	call   0x410910
4103a6:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4103aa:	8b c6                	mov    %esi,%eax
4103ac:	2b 4c 24 24          	sub    0x24(%esp),%ecx
4103b0:	83 c4 08             	add    $0x8,%esp
4103b3:	c1 f8 02             	sar    $0x2,%eax
4103b6:	d1 fe                	sar    $1,%esi
4103b8:	03 f0                	add    %eax,%esi
4103ba:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4103bf:	f7 e9                	imul   %ecx
4103c1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4103c5:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4103ca:	c1 fa 02             	sar    $0x2,%edx
4103cd:	2b cf                	sub    %edi,%ecx
4103cf:	89 75 08             	mov    %esi,0x8(%ebp)
4103d2:	8b f2                	mov    %edx,%esi
4103d4:	c1 ee 1f             	shr    $0x1f,%esi
4103d7:	03 f2                	add    %edx,%esi
4103d9:	f7 e9                	imul   %ecx
4103db:	c1 fa 02             	sar    $0x2,%edx
4103de:	8b c2                	mov    %edx,%eax
4103e0:	c1 e8 1f             	shr    $0x1f,%eax
4103e3:	03 c2                	add    %edx,%eax
4103e5:	3b c6                	cmp    %esi,%eax
4103e7:	8b 45 0c             	mov    0xc(%ebp),%eax
4103ea:	8b 75 08             	mov    0x8(%ebp),%esi
4103ed:	50                   	push   %eax
4103ee:	56                   	push   %esi
4103ef:	7d 15                	jge    0x410406
4103f1:	8b 54 24 20          	mov    0x20(%esp),%edx
4103f5:	8b cf                	mov    %edi,%ecx
4103f7:	e8 64 ff ff ff       	call   0x410360
4103fc:	8b 7c 24 24          	mov    0x24(%esp),%edi
410400:	8b 54 24 18          	mov    0x18(%esp),%edx
410404:	eb 15                	jmp    0x41041b
410406:	8b 54 24 18          	mov    0x18(%esp),%edx
41040a:	8b 4c 24 24          	mov    0x24(%esp),%ecx
41040e:	e8 4d ff ff ff       	call   0x410360
410413:	8b 54 24 20          	mov    0x20(%esp),%edx
410417:	89 54 24 18          	mov    %edx,0x18(%esp)
41041b:	8b c2                	mov    %edx,%eax
41041d:	83 c4 08             	add    $0x8,%esp
410420:	2b c7                	sub    %edi,%eax
410422:	3d 18 03 00 00       	cmp    $0x318,%eax
410427:	8b 45 0c             	mov    0xc(%ebp),%eax
41042a:	0f 8d 61 ff ff ff    	jge    0x410391
410430:	50                   	push   %eax
410431:	8b cf                	mov    %edi,%ecx
410433:	e8 d8 01 00 00       	call   0x410610
410438:	83 c4 04             	add    $0x4,%esp
41043b:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
41043f:	5f                   	pop    %edi
410440:	5e                   	pop    %esi
410441:	33 cc                	xor    %esp,%ecx
410443:	e8 62 97 00 00       	call   0x419baa
410448:	8b e5                	mov    %ebp,%esp
41044a:	5d                   	pop    %ebp
41044b:	c3                   	ret
41044c:	8b ca                	mov    %edx,%ecx
41044e:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
410453:	2b cf                	sub    %edi,%ecx
410455:	f7 e9                	imul   %ecx
410457:	c1 fa 02             	sar    $0x2,%edx
41045a:	8b c2                	mov    %edx,%eax
41045c:	c1 e8 1f             	shr    $0x1f,%eax
41045f:	03 c2                	add    %edx,%eax
410461:	8b c8                	mov    %eax,%ecx
410463:	89 44 24 14          	mov    %eax,0x14(%esp)
410467:	d1 f9                	sar    $1,%ecx
410469:	85 c9                	test   %ecx,%ecx
41046b:	0f 8e 99 00 00 00    	jle    0x41050a
410471:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
410474:	8d 34 c7             	lea    (%edi,%eax,8),%esi
410477:	0f 10 46 e8          	movups -0x18(%esi),%xmm0
41047b:	8d 76 e8             	lea    -0x18(%esi),%esi
41047e:	33 c0                	xor    %eax,%eax
410480:	ff 75 0c             	push   0xc(%ebp)
410483:	0f 11 44 24 24       	movups %xmm0,0x24(%esp)
410488:	49                   	dec    %ecx
410489:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
41048e:	8b d1                	mov    %ecx,%edx
410490:	66 89 06             	mov    %ax,(%esi)
410493:	8d 44 24 24          	lea    0x24(%esp),%eax
410497:	50                   	push   %eax
410498:	ff 74 24 1c          	push   0x1c(%esp)
41049c:	89 4c 24 24          	mov    %ecx,0x24(%esp)
4104a0:	8b cf                	mov    %edi,%ecx
4104a2:	66 0f d6 44 24 3c    	movq   %xmm0,0x3c(%esp)
4104a8:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4104af:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
4104b6:	e8 f5 08 00 00       	call   0x410db0
4104bb:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4104bf:	83 c4 0c             	add    $0xc,%esp
4104c2:	83 f9 08             	cmp    $0x8,%ecx
4104c5:	72 33                	jb     0x4104fa
4104c7:	8b 54 24 20          	mov    0x20(%esp),%edx
4104cb:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4104d2:	8b c2                	mov    %edx,%eax
4104d4:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4104da:	72 14                	jb     0x4104f0
4104dc:	8b 50 fc             	mov    -0x4(%eax),%edx
4104df:	83 c1 23             	add    $0x23,%ecx
4104e2:	2b c2                	sub    %edx,%eax
4104e4:	83 c0 fc             	add    $0xfffffffc,%eax
4104e7:	83 f8 1f             	cmp    $0x1f,%eax
4104ea:	0f 87 0d 01 00 00    	ja     0x4105fd
4104f0:	51                   	push   %ecx
4104f1:	52                   	push   %edx
4104f2:	e8 c1 96 00 00       	call   0x419bb8
4104f7:	83 c4 08             	add    $0x8,%esp
4104fa:	8b 4c 24 18          	mov    0x18(%esp),%ecx
4104fe:	85 c9                	test   %ecx,%ecx
410500:	0f 8f 71 ff ff ff    	jg     0x410477
410506:	8b 44 24 14          	mov    0x14(%esp),%eax
41050a:	83 f8 02             	cmp    $0x2,%eax
41050d:	0f 8c 28 ff ff ff    	jl     0x41043b
410513:	8b 74 24 10          	mov    0x10(%esp),%esi
410517:	b8 ec ff ff ff       	mov    $0xffffffec,%eax
41051c:	2b c7                	sub    %edi,%eax
41051e:	83 c6 e8             	add    $0xffffffe8,%esi
410521:	89 44 24 18          	mov    %eax,0x18(%esp)
410525:	b8 18 00 00 00       	mov    $0x18,%eax
41052a:	2b c7                	sub    %edi,%eax
41052c:	89 44 24 14          	mov    %eax,0x14(%esp)
410530:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
410533:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
410538:	f7 e9                	imul   %ecx
41053a:	c1 fa 02             	sar    $0x2,%edx
41053d:	8b c2                	mov    %edx,%eax
41053f:	c1 e8 1f             	shr    $0x1f,%eax
410542:	03 c2                	add    %edx,%eax
410544:	83 f8 02             	cmp    $0x2,%eax
410547:	0f 8c 95 00 00 00    	jl     0x4105e2
41054d:	0f 10 06             	movups (%esi),%xmm0
410550:	33 c0                	xor    %eax,%eax
410552:	8b ce                	mov    %esi,%ecx
410554:	57                   	push   %edi
410555:	0f 11 44 24 24       	movups %xmm0,0x24(%esp)
41055a:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
41055f:	66 0f d6 44 24 34    	movq   %xmm0,0x34(%esp)
410565:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
41056c:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
410573:	66 89 06             	mov    %ax,(%esi)
410576:	e8 95 46 ff ff       	call   0x404c10
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