52d453:	d1 f8                	sar    $1,%eax
52d455:	c1 e0 08             	shl    $0x8,%eax
52d458:	03 c1                	add    %ecx,%eax
52d45a:	50                   	push   %eax
52d45b:	55                   	push   %ebp
52d45c:	e8 ef 0e 00 00       	call   0x52e350
52d461:	8b 84 24 68 02 00 00 	mov    0x268(%esp),%eax
52d468:	d1 f8                	sar    $1,%eax
52d46a:	56                   	push   %esi
52d46b:	8d 04 40             	lea    (%eax,%eax,2),%eax
52d46e:	c1 e0 06             	shl    $0x6,%eax
52d471:	03 05 a8 e4 68 00    	add    0x68e4a8,%eax
52d477:	50                   	push   %eax
52d478:	55                   	push   %ebp
52d479:	e8 b2 fb ff ff       	call   0x52d030
52d47e:	83 c4 14             	add    $0x14,%esp
52d481:	8d bc 24 68 02 00 00 	lea    0x268(%esp),%edi
52d488:	8d 84 24 d0 04 00 00 	lea    0x4d0(%esp),%eax
52d48f:	eb 2f                	jmp    0x52d4c0
52d491:	8b f0                	mov    %eax,%esi
52d493:	8b 84 24 60 02 00 00 	mov    0x260(%esp),%eax
52d49a:	d1 f8                	sar    $1,%eax
52d49c:	8d 04 40             	lea    (%eax,%eax,2),%eax
52d49f:	c1 e0 06             	shl    $0x6,%eax
52d4a2:	03 05 a8 e4 68 00    	add    0x68e4a8,%eax
52d4a8:	50                   	push   %eax
52d4a9:	55                   	push   %ebp
52d4aa:	e8 31 0e 00 00       	call   0x52e2e0
52d4af:	8d bc 24 70 02 00 00 	lea    0x270(%esp),%edi
52d4b6:	8d 84 24 d0 04 00 00 	lea    0x4d0(%esp),%eax
52d4bd:	83 c4 08             	add    $0x8,%esp
52d4c0:	83 ee 01             	sub    $0x1,%esi
52d4c3:	89 7c 24 14          	mov    %edi,0x14(%esp)
52d4c7:	89 44 24 10          	mov    %eax,0x10(%esp)
52d4cb:	0f 88 89 01 00 00    	js     0x52d65a
52d4d1:	53                   	push   %ebx
52d4d2:	8b 40 fc             	mov    -0x4(%eax),%eax
52d4d5:	8b 5f fc             	mov    -0x4(%edi),%ebx
52d4d8:	89 44 24 10          	mov    %eax,0x10(%esp)
52d4dc:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
52d4e0:	85 f6                	test   %esi,%esi
52d4e2:	74 19                	je     0x52d4fd
52d4e4:	3b f0                	cmp    %eax,%esi
52d4e6:	74 15                	je     0x52d4fd
52d4e8:	3b f3                	cmp    %ebx,%esi
52d4ea:	74 11                	je     0x52d4fd
52d4ec:	6a 01                	push   $0x1
52d4ee:	55                   	push   %ebp
52d4ef:	55                   	push   %ebp
52d4f0:	e8 eb 0e 00 00       	call   0x52e3e0
52d4f5:	83 c4 0c             	add    $0xc,%esp
52d4f8:	e9 4f 01 00 00       	jmp    0x52d64c
52d4fd:	6a 00                	push   $0x0
52d4ff:	55                   	push   %ebp
52d500:	55                   	push   %ebp
52d501:	e8 da 0e 00 00       	call   0x52e3e0
52d506:	83 c4 0c             	add    $0xc,%esp
52d509:	3b 74 24 10          	cmp    0x10(%esp),%esi
52d50d:	0f 85 f6 00 00 00    	jne    0x52d609
52d513:	8b 44 24 14          	mov    0x14(%esp),%eax
52d517:	8b 00                	mov    (%eax),%eax
52d519:	85 c0                	test   %eax,%eax
52d51b:	7e 6e                	jle    0x52d58b
52d51d:	85 f6                	test   %esi,%esi
52d51f:	74 0c                	je     0x52d52d
52d521:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
52d528:	00
52d529:	3b f3                	cmp    %ebx,%esi
52d52b:	75 08                	jne    0x52d535
52d52d:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
52d534:	00
52d535:	d1 f8                	sar    $1,%eax
52d537:	8d 9c 24 58 08 00 00 	lea    0x858(%esp),%ebx
52d53e:	c1 e0 08             	shl    $0x8,%eax
52d541:	8d bd 80 00 00 00    	lea    0x80(%ebp),%edi
52d547:	03 d8                	add    %eax,%ebx
52d549:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
52d54f:	50                   	push   %eax
52d550:	8d 44 24 24          	lea    0x24(%esp),%eax
52d554:	57                   	push   %edi
52d555:	50                   	push   %eax
52d556:	e8 c5 09 03 00       	call   0x55df20
52d55b:	0f 10 44 24 2c       	movups 0x2c(%esp),%xmm0
52d560:	ff 74 24 1c          	push   0x1c(%esp)
52d564:	0f 11 07             	movups %xmm0,(%edi)
52d567:	53                   	push   %ebx
52d568:	0f 10 44 24 44       	movups 0x44(%esp),%xmm0
52d56d:	55                   	push   %ebp
52d56e:	0f 11 47 10          	movups %xmm0,0x10(%edi)
52d572:	0f 10 44 24 58       	movups 0x58(%esp),%xmm0
52d577:	0f 11 47 20          	movups %xmm0,0x20(%edi)
52d57b:	0f 10 44 24 68       	movups 0x68(%esp),%xmm0
52d580:	0f 11 47 30          	movups %xmm0,0x30(%edi)
52d584:	e8 a7 fa ff ff       	call   0x52d030
52d589:	eb 6e                	jmp    0x52d5f9
52d58b:	85 f6                	test   %esi,%esi
52d58d:	74 0c                	je     0x52d59b
52d58f:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
52d596:	00
52d597:	3b f3                	cmp    %ebx,%esi
52d599:	75 08                	jne    0x52d5a3
52d59b:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
52d5a2:	00
52d5a3:	f7 d8                	neg    %eax
52d5a5:	8d 9c 24 58 08 00 00 	lea    0x858(%esp),%ebx
52d5ac:	d1 f8                	sar    $1,%eax
52d5ae:	8d bd 80 00 00 00    	lea    0x80(%ebp),%edi
52d5b4:	c1 e0 08             	shl    $0x8,%eax
52d5b7:	03 d8                	add    %eax,%ebx
52d5b9:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
52d5bf:	50                   	push   %eax
52d5c0:	8d 44 24 24          	lea    0x24(%esp),%eax
52d5c4:	57                   	push   %edi
52d5c5:	50                   	push   %eax
52d5c6:	e8 55 09 03 00       	call   0x55df20
52d5cb:	0f 10 44 24 2c       	movups 0x2c(%esp),%xmm0
52d5d0:	ff 74 24 1c          	push   0x1c(%esp)
52d5d4:	0f 11 07             	movups %xmm0,(%edi)
52d5d7:	53                   	push   %ebx
52d5d8:	0f 10 44 24 44       	movups 0x44(%esp),%xmm0
52d5dd:	55                   	push   %ebp
52d5de:	0f 11 47 10          	movups %xmm0,0x10(%edi)
52d5e2:	0f 10 44 24 58       	movups 0x58(%esp),%xmm0
52d5e7:	0f 11 47 20          	movups %xmm0,0x20(%edi)
52d5eb:	0f 10 44 24 68       	movups 0x68(%esp),%xmm0
52d5f0:	0f 11 47 30          	movups %xmm0,0x30(%edi)
52d5f4:	e8 97 12 00 00       	call   0x52e890
52d5f9:	8b 5c 24 34          	mov    0x34(%esp),%ebx
52d5fd:	83 c4 18             	add    $0x18,%esp
52d600:	83 44 24 14 08       	addl   $0x8,0x14(%esp)
52d605:	8b 7c 24 18          	mov    0x18(%esp),%edi
52d609:	3b f3                	cmp    %ebx,%esi
52d60b:	75 3f                	jne    0x52d64c
52d60d:	8b 07                	mov    (%edi),%eax
52d60f:	56                   	push   %esi
52d610:	85 c0                	test   %eax,%eax
52d612:	7e 17                	jle    0x52d62b
52d614:	d1 f8                	sar    $1,%eax
52d616:	8d 04 40             	lea    (%eax,%eax,2),%eax
52d619:	c1 e0 06             	shl    $0x6,%eax
52d61c:	03 05 a8 e4 68 00    	add    0x68e4a8,%eax
52d622:	50                   	push   %eax
52d623:	55                   	push   %ebp
52d624:	e8 07 fa ff ff       	call   0x52d030
52d629:	eb 17                	jmp    0x52d642
52d62b:	f7 d8                	neg    %eax
52d62d:	d1 f8                	sar    $1,%eax
52d62f:	8d 04 40             	lea    (%eax,%eax,2),%eax
52d632:	c1 e0 06             	shl    $0x6,%eax
52d635:	03 05 a8 e4 68 00    	add    0x68e4a8,%eax
52d63b:	50                   	push   %eax
52d63c:	55                   	push   %ebp
52d63d:	e8 4e 12 00 00       	call   0x52e890
52d642:	83 c4 0c             	add    $0xc,%esp
52d645:	83 c7 08             	add    $0x8,%edi
52d648:	89 7c 24 18          	mov    %edi,0x18(%esp)
52d64c:	83 ee 01             	sub    $0x1,%esi
52d64f:	8b 44 24 14          	mov    0x14(%esp),%eax
52d653:	0f 89 79 fe ff ff    	jns    0x52d4d2
52d659:	5b                   	pop    %ebx
52d65a:	8d 84 24 c4 04 00 00 	lea    0x4c4(%esp),%eax
52d661:	68 90 03 00 00       	push   $0x390
52d666:	50                   	push   %eax
52d667:	e8 74 43 ed ff       	call   0x4019e0
52d66c:	8d 84 24 64 02 00 00 	lea    0x264(%esp),%eax
52d673:	68 68 02 00 00       	push   $0x268
52d678:	50                   	push   %eax
52d679:	e8 62 43 ed ff       	call   0x4019e0
52d67e:	8d 84 24 64 08 00 00 	lea    0x864(%esp),%eax
52d685:	68 00 08 00 00       	push   $0x800
52d68a:	50                   	push   %eax
52d68b:	e8 50 43 ed ff       	call   0x4019e0
52d690:	8b 8c 24 6c 10 00 00 	mov    0x106c(%esp),%ecx
52d697:	83 c4 18             	add    $0x18,%esp
52d69a:	5f                   	pop    %edi
52d69b:	5e                   	pop    %esi
52d69c:	5d                   	pop    %ebp
52d69d:	33 cc                	xor    %esp,%ecx
52d69f:	e8 82 43 0a 00       	call   0x5d1a26
52d6a4:	81 c4 4c 10 00 00    	add    $0x104c,%esp
52d6aa:	c3                   	ret
52d6ab:	cc                   	int3
52d6ac:	cc                   	int3
52d6ad:	cc                   	int3
52d6ae:	cc                   	int3
52d6af:	cc                   	int3
52d6b0:	b8 48 01 00 00       	mov    $0x148,%eax
52d6b5:	e8 f6 40 0a 00       	call   0x5d17b0
52d6ba:	a1 c0 14 69 00       	mov    0x6914c0,%eax
52d6bf:	33 c4                	xor    %esp,%eax
52d6c1:	89 84 24 44 01 00 00 	mov    %eax,0x144(%esp)
52d6c8:	8b 84 24 50 01 00 00 	mov    0x150(%esp),%eax
52d6cf:	53                   	push   %ebx
52d6d0:	55                   	push   %ebp
52d6d1:	8b ac 24 54 01 00 00 	mov    0x154(%esp),%ebp
52d6d8:	0f 10 00             	movups (%eax),%xmm0
52d6db:	56                   	push   %esi
52d6dc:	57                   	push   %edi
52d6dd:	0f 11 84 24 18 01 00 	movups %xmm0,0x118(%esp)
52d6e4:	00
52d6e5:	6a 00                	push   $0x0
52d6e7:	0f 10 40 10          	movups 0x10(%eax),%xmm0
52d6eb:	6a 01                	push   $0x1
52d6ed:	8d 5d 40             	lea    0x40(%ebp),%ebx
52d6f0:	89 6c 24 18          	mov    %ebp,0x18(%esp)
52d6f4:	0f 11 84 24 30 01 00 	movups %xmm0,0x130(%esp)
52d6fb:	00
52d6fc:	0f 10 40 20          	movups 0x20(%eax),%xmm0
52d700:	0f 11 84 24 40 01 00 	movups %xmm0,0x140(%esp)
52d707:	00
52d708:	f3 0f 7e 40 30       	movq   0x30(%eax),%xmm0
52d70d:	8a 40 38             	mov    0x38(%eax),%al
52d710:	0f b6 f8             	movzbl %al,%edi
52d713:	24 7f                	and    $0x7f,%al
52d715:	88 84 24 58 01 00 00 	mov    %al,0x158(%esp)
52d71c:	81 e7 80 00 00 00    	and    $0x80,%edi
52d722:	8d 84 24 20 01 00 00 	lea    0x120(%esp),%eax
52d729:	66 0f d6 84 24 50 01 	movq   %xmm0,0x150(%esp)
52d730:	00 00
52d732:	50                   	push   %eax
52d733:	53                   	push   %ebx
52d734:	e8 b7 fc 02 00       	call   0x55d3f0
52d739:	0f b6 b4 24 60 01 00 	movzbl 0x160(%esp),%esi
52d740:	00
52d741:	53                   	push   %ebx
52d742:	55                   	push   %ebp
52d743:	89 44 24 2c          	mov    %eax,0x2c(%esp)
52d747:	e8 d4 0d 03 00       	call   0x55e520
52d74c:	55                   	push   %ebp
52d74d:	8d 9d 80 00 00 00    	lea    0x80(%ebp),%ebx
52d753:	68 e8 8e 64 00       	push   $0x648ee8
52d758:	53                   	push   %ebx
52d759:	e8 a2 06 03 00       	call   0x55de00
52d75e:	68 a9 98 00 00       	push   $0x98a9
52d763:	ff 74 24 38          	push   0x38(%esp)
52d767:	81 c5 c0 00 00 00    	add    $0xc0,%ebp
52d76d:	55                   	push   %ebp
52d76e:	e8 dd 0a 03 00       	call   0x55e250
52d773:	55                   	push   %ebp
52d774:	68 a8 8e 64 00       	push   $0x648ea8
52d779:	55                   	push   %ebp
52d77a:	e8 81 06 03 00       	call   0x55de00
52d77f:	55                   	push   %ebp
52d780:	68 e8 8e 64 00       	push   $0x648ee8
52d785:	55                   	push   %ebp
52d786:	e8 75 06 03 00       	call   0x55de00
52d78b:	83 c4 48             	add    $0x48,%esp
52d78e:	55                   	push   %ebp
52d78f:	53                   	push   %ebx
52d790:	ff 74 24 18          	push   0x18(%esp)
52d794:	e8 87 07 03 00       	call   0x55df20
52d799:	ff 74 24 1c          	push   0x1c(%esp)
52d79d:	55                   	push   %ebp
52d79e:	e8 ad fe 02 00       	call   0x55d650
52d7a3:	8d 4e ff             	lea    -0x1(%esi),%ecx
52d7a6:	8b 74 24 24          	mov    0x24(%esp),%esi
52d7aa:	c1 e9 1f             	shr    $0x1f,%ecx
52d7ad:	53                   	push   %ebx
52d7ae:	f7 d9                	neg    %ecx
52d7b0:	23 c1                	and    %ecx,%eax
52d7b2:	21 44 24 2c          	and    %eax,0x2c(%esp)
52d7b6:	55                   	push   %ebp
52d7b7:	56                   	push   %esi
52d7b8:	e8 63 07 03 00       	call   0x55df20
52d7bd:	56                   	push   %esi
52d7be:	e8 3d 03 03 00       	call   0x55db00
52d7c3:	8d 4f ff             	lea    -0x1(%edi),%ecx
52d7c6:	8b fe                	mov    %esi,%edi
52d7c8:	c1 e9 1f             	shr    $0x1f,%ecx
52d7cb:	49                   	dec    %ecx
52d7cc:	33 c1                	xor    %ecx,%eax
52d7ce:	50                   	push   %eax
52d7cf:	57                   	push   %edi
52d7d0:	e8 bb 08 00 00       	call   0x52e090
52d7d5:	0f 10 05 e8 8e 64 00 	movups 0x648ee8,%xmm0
52d7dc:	0f 11 03             	movups %xmm0,(%ebx)
52d7df:	0f 10 05 f8 8e 64 00 	movups 0x648ef8,%xmm0
52d7e6:	0f 11 43 10          	movups %xmm0,0x10(%ebx)
52d7ea:	8d 84 24 04 01 00 00 	lea    0x104(%esp),%eax
52d7f1:	0f 10 05 08 8f 64 00 	movups 0x648f08,%xmm0
52d7f8:	57                   	push   %edi
52d7f9:	50                   	push   %eax
52d7fa:	0f 11 43 20          	movups %xmm0,0x20(%ebx)
52d7fe:	0f 10 05 18 8f 64 00 	movups 0x648f18,%xmm0
52d805:	0f 11 43 30          	movups %xmm0,0x30(%ebx)
52d809:	e8 12 0d 03 00       	call   0x55e520
52d80e:	8d 77 40             	lea    0x40(%edi),%esi
52d811:	8d 44 24 4c          	lea    0x4c(%esp),%eax
52d815:	56                   	push   %esi
52d816:	50                   	push   %eax
52d817:	e8 04 0d 03 00       	call   0x55e520
52d81c:	8d 44 24 54          	lea    0x54(%esp),%eax
52d820:	50                   	push   %eax
52d821:	8d 84 24 18 01 00 00 	lea    0x118(%esp),%eax
52d828:	50                   	push   %eax
52d829:	8d 84 24 dc 00 00 00 	lea    0xdc(%esp),%eax
52d830:	50                   	push   %eax
52d831:	e8 1a fb 02 00       	call   0x55d350
52d836:	83 c4 48             	add    $0x48,%esp
52d839:	57                   	push   %edi
52d83a:	56                   	push   %esi
52d83b:	55                   	push   %ebp
52d83c:	e8 0f fb 02 00       	call   0x55d350
52d841:	8d 44 24 64          	lea    0x64(%esp),%eax
52d845:	55                   	push   %ebp
52d846:	50                   	push   %eax
52d847:	e8 d4 0c 03 00       	call   0x55e520
52d84c:	8d 84 24 ac 00 00 00 	lea    0xac(%esp),%eax
52d853:	50                   	push   %eax
52d854:	8d 44 24 70          	lea    0x70(%esp),%eax
52d858:	50                   	push   %eax
52d859:	50                   	push   %eax
52d85a:	e8 a1 05 03 00       	call   0x55de00
52d85f:	8d 84 24 f8 00 00 00 	lea    0xf8(%esp),%eax
52d866:	50                   	push   %eax
52d867:	8d 44 24 3c          	lea    0x3c(%esp),%eax
52d86b:	50                   	push   %eax
52d86c:	55                   	push   %ebp
52d86d:	e8 8e 05 03 00       	call   0x55de00
52d872:	53                   	push   %ebx
52d873:	57                   	push   %edi
52d874:	e8 a7 0c 03 00       	call   0x55e520
52d879:	57                   	push   %edi
52d87a:	57                   	push   %edi
52d87b:	53                   	push   %ebx
52d87c:	e8 cf fa 02 00       	call   0x55d350
52d881:	83 c4 40             	add    $0x40,%esp
52d884:	8d 84 24 98 00 00 00 	lea    0x98(%esp),%eax
52d88b:	50                   	push   %eax
52d88c:	8d 44 24 1c          	lea    0x1c(%esp),%eax
52d890:	53                   	push   %ebx
52d891:	50                   	push   %eax
52d892:	e8 69 05 03 00       	call   0x55de00
52d897:	8d 44 24 64          	lea    0x64(%esp),%eax
52d89b:	50                   	push   %eax
52d89c:	8d 44 24 28          	lea    0x28(%esp),%eax
52d8a0:	50                   	push   %eax
52d8a1:	57                   	push   %edi
52d8a2:	e8 79 06 03 00       	call   0x55df20
52d8a7:	8d 44 24 30          	lea    0x30(%esp),%eax
52d8ab:	50                   	push   %eax
52d8ac:	55                   	push   %ebp
52d8ad:	53                   	push   %ebx
52d8ae:	e8 6d 06 03 00       	call   0x55df20
52d8b3:	8d 84 24 bc 00 00 00 	lea    0xbc(%esp),%eax
52d8ba:	50                   	push   %eax
52d8bb:	55                   	push   %ebp
52d8bc:	56                   	push   %esi
52d8bd:	e8 5e 06 03 00       	call   0x55df20
52d8c2:	8d 84 24 c8 00 00 00 	lea    0xc8(%esp),%eax