52a47d:	e8 1e 73 ff ff       	call   0x5217a0
52a482:	8b fd                	mov    %ebp,%edi
52a484:	8d b3 10 15 64 00    	lea    0x641510(%ebx),%esi
52a48a:	83 f7 06             	xor    $0x6,%edi
52a48d:	4f                   	dec    %edi
52a48e:	c1 ef 1f             	shr    $0x1f,%edi
52a491:	57                   	push   %edi
52a492:	56                   	push   %esi
52a493:	ff 74 24 3c          	push   0x3c(%esp)
52a497:	e8 04 73 ff ff       	call   0x5217a0
52a49c:	57                   	push   %edi
52a49d:	8d 46 28             	lea    0x28(%esi),%eax
52a4a0:	50                   	push   %eax
52a4a1:	8b 44 24 48          	mov    0x48(%esp),%eax
52a4a5:	83 c0 28             	add    $0x28,%eax
52a4a8:	50                   	push   %eax
52a4a9:	e8 f2 72 ff ff       	call   0x5217a0
52a4ae:	57                   	push   %edi
52a4af:	8d 46 50             	lea    0x50(%esi),%eax
52a4b2:	50                   	push   %eax
52a4b3:	8b 44 24 54          	mov    0x54(%esp),%eax
52a4b7:	83 c0 50             	add    $0x50,%eax
52a4ba:	50                   	push   %eax
52a4bb:	e8 e0 72 ff ff       	call   0x5217a0
52a4c0:	8b fd                	mov    %ebp,%edi
52a4c2:	8d b3 88 15 64 00    	lea    0x641588(%ebx),%esi
52a4c8:	83 c4 48             	add    $0x48,%esp
52a4cb:	83 f7 07             	xor    $0x7,%edi
52a4ce:	4f                   	dec    %edi
52a4cf:	c1 ef 1f             	shr    $0x1f,%edi
52a4d2:	57                   	push   %edi
52a4d3:	56                   	push   %esi
52a4d4:	ff 74 24 18          	push   0x18(%esp)
52a4d8:	e8 c3 72 ff ff       	call   0x5217a0
52a4dd:	57                   	push   %edi
52a4de:	8d 46 28             	lea    0x28(%esi),%eax
52a4e1:	50                   	push   %eax
52a4e2:	8b 44 24 24          	mov    0x24(%esp),%eax
52a4e6:	83 c0 28             	add    $0x28,%eax
52a4e9:	50                   	push   %eax
52a4ea:	e8 b1 72 ff ff       	call   0x5217a0
52a4ef:	57                   	push   %edi
52a4f0:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
52a4f4:	8d 46 50             	lea    0x50(%esi),%eax
52a4f7:	50                   	push   %eax
52a4f8:	83 c7 50             	add    $0x50,%edi
52a4fb:	57                   	push   %edi
52a4fc:	e8 9f 72 ff ff       	call   0x5217a0
52a501:	83 f5 08             	xor    $0x8,%ebp
52a504:	8d b3 00 16 64 00    	lea    0x641600(%ebx),%esi
52a50a:	4d                   	dec    %ebp
52a50b:	c1 ed 1f             	shr    $0x1f,%ebp
52a50e:	55                   	push   %ebp
52a50f:	56                   	push   %esi
52a510:	ff 74 24 3c          	push   0x3c(%esp)
52a514:	e8 87 72 ff ff       	call   0x5217a0
52a519:	8b 5c 24 40          	mov    0x40(%esp),%ebx
52a51d:	8d 46 28             	lea    0x28(%esi),%eax
52a520:	55                   	push   %ebp
52a521:	50                   	push   %eax
52a522:	83 c3 28             	add    $0x28,%ebx
52a525:	53                   	push   %ebx
52a526:	e8 75 72 ff ff       	call   0x5217a0
52a52b:	55                   	push   %ebp
52a52c:	8d 46 50             	lea    0x50(%esi),%eax
52a52f:	50                   	push   %eax
52a530:	57                   	push   %edi
52a531:	e8 6a 72 ff ff       	call   0x5217a0
52a536:	8b 4c 24 58          	mov    0x58(%esp),%ecx
52a53a:	83 c4 48             	add    $0x48,%esp
52a53d:	0f 10 03             	movups (%ebx),%xmm0
52a540:	8b 07                	mov    (%edi),%eax
52a542:	f7 d8                	neg    %eax
52a544:	89 44 24 68          	mov    %eax,0x68(%esp)
52a548:	8b 41 54             	mov    0x54(%ecx),%eax
52a54b:	0f 11 44 24 18       	movups %xmm0,0x18(%esp)
52a550:	f7 d8                	neg    %eax
52a552:	0f 10 43 10          	movups 0x10(%ebx),%xmm0
52a556:	89 44 24 6c          	mov    %eax,0x6c(%esp)
52a55a:	8b 41 58             	mov    0x58(%ecx),%eax
52a55d:	0f 11 44 24 28       	movups %xmm0,0x28(%esp)
52a562:	f7 d8                	neg    %eax
52a564:	f3 0f 7e 43 20       	movq   0x20(%ebx),%xmm0
52a569:	66 0f d6 44 24 38    	movq   %xmm0,0x38(%esp)
52a56f:	0f 10 01             	movups (%ecx),%xmm0
52a572:	89 44 24 70          	mov    %eax,0x70(%esp)
52a576:	8b 41 5c             	mov    0x5c(%ecx),%eax
52a579:	f7 d8                	neg    %eax
52a57b:	0f 11 44 24 40       	movups %xmm0,0x40(%esp)
52a580:	89 44 24 74          	mov    %eax,0x74(%esp)
52a584:	0f 10 41 10          	movups 0x10(%ecx),%xmm0
52a588:	8b 41 60             	mov    0x60(%ecx),%eax
52a58b:	f7 d8                	neg    %eax
52a58d:	0f 11 44 24 50       	movups %xmm0,0x50(%esp)
52a592:	89 44 24 78          	mov    %eax,0x78(%esp)
52a596:	f3 0f 7e 41 20       	movq   0x20(%ecx),%xmm0
52a59b:	8b 41 64             	mov    0x64(%ecx),%eax
52a59e:	66 0f d6 44 24 60    	movq   %xmm0,0x60(%esp)
52a5a4:	f7 d8                	neg    %eax
52a5a6:	89 44 24 7c          	mov    %eax,0x7c(%esp)
52a5aa:	8b 41 68             	mov    0x68(%ecx),%eax
52a5ad:	f7 d8                	neg    %eax
52a5af:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
52a5b6:	8b 41 6c             	mov    0x6c(%ecx),%eax
52a5b9:	f7 d8                	neg    %eax
52a5bb:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
52a5c2:	8b 41 70             	mov    0x70(%ecx),%eax
52a5c5:	f7 d8                	neg    %eax
52a5c7:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
52a5ce:	8b 41 74             	mov    0x74(%ecx),%eax
52a5d1:	f7 d8                	neg    %eax
52a5d3:	89 84 24 8c 00 00 00 	mov    %eax,0x8c(%esp)
52a5da:	8b 44 24 14          	mov    0x14(%esp),%eax
52a5de:	0f b6 f0             	movzbl %al,%esi
52a5e1:	8d 44 24 18          	lea    0x18(%esp),%eax
52a5e5:	56                   	push   %esi
52a5e6:	50                   	push   %eax
52a5e7:	51                   	push   %ecx
52a5e8:	e8 b3 71 ff ff       	call   0x5217a0
52a5ed:	56                   	push   %esi
52a5ee:	8d 44 24 50          	lea    0x50(%esp),%eax
52a5f2:	50                   	push   %eax
52a5f3:	53                   	push   %ebx
52a5f4:	e8 a7 71 ff ff       	call   0x5217a0
52a5f9:	56                   	push   %esi
52a5fa:	8d 84 24 84 00 00 00 	lea    0x84(%esp),%eax
52a601:	50                   	push   %eax
52a602:	57                   	push   %edi
52a603:	e8 98 71 ff ff       	call   0x5217a0
52a608:	8b 8c 24 b4 00 00 00 	mov    0xb4(%esp),%ecx
52a60f:	83 c4 24             	add    $0x24,%esp
52a612:	5f                   	pop    %edi
52a613:	5e                   	pop    %esi
52a614:	5d                   	pop    %ebp
52a615:	5b                   	pop    %ebx
52a616:	33 cc                	xor    %esp,%ecx
52a618:	e8 09 74 0a 00       	call   0x5d1a26
52a61d:	81 c4 84 00 00 00    	add    $0x84,%esp
52a623:	c3                   	ret
52a624:	cc                   	int3
52a625:	cc                   	int3
52a626:	cc                   	int3
52a627:	cc                   	int3
52a628:	cc                   	int3
52a629:	cc                   	int3
52a62a:	cc                   	int3
52a62b:	cc                   	int3
52a62c:	cc                   	int3
52a62d:	cc                   	int3
52a62e:	cc                   	int3
52a62f:	cc                   	int3
52a630:	b8 cc 00 00 00       	mov    $0xcc,%eax
52a635:	e8 76 71 0a 00       	call   0x5d17b0
52a63a:	53                   	push   %ebx
52a63b:	55                   	push   %ebp
52a63c:	56                   	push   %esi
52a63d:	8b b4 24 dc 00 00 00 	mov    0xdc(%esp),%esi
52a644:	57                   	push   %edi
52a645:	0f b6 46 31          	movzbl 0x31(%esi),%eax
52a649:	24 7f                	and    $0x7f,%al
52a64b:	0f b6 c0             	movzbl %al,%eax
52a64e:	99                   	cltd
52a64f:	8b d8                	mov    %eax,%ebx
52a651:	8b ca                	mov    %edx,%ecx
52a653:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
52a657:	0f b6 46 30          	movzbl 0x30(%esi),%eax
52a65b:	99                   	cltd
52a65c:	c1 e3 08             	shl    $0x8,%ebx
52a65f:	0b ca                	or     %edx,%ecx
52a661:	0b d8                	or     %eax,%ebx
52a663:	0f b6 46 2f          	movzbl 0x2f(%esi),%eax
52a667:	0f a4 d9 06          	shld   $0x6,%ebx,%ecx
52a66b:	c0 e8 02             	shr    $0x2,%al
52a66e:	0f b6 c0             	movzbl %al,%eax
52a671:	99                   	cltd
52a672:	c1 e3 06             	shl    $0x6,%ebx
52a675:	0b ca                	or     %edx,%ecx
52a677:	0b d8                	or     %eax,%ebx
52a679:	89 4c 24 28          	mov    %ecx,0x28(%esp)
52a67d:	0f b6 46 34          	movzbl 0x34(%esi),%eax
52a681:	24 0f                	and    $0xf,%al
52a683:	89 5c 24 40          	mov    %ebx,0x40(%esp)
52a687:	0f b6 c0             	movzbl %al,%eax
52a68a:	99                   	cltd
52a68b:	8b d8                	mov    %eax,%ebx
52a68d:	8b ca                	mov    %edx,%ecx
52a68f:	0f b6 46 33          	movzbl 0x33(%esi),%eax
52a693:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
52a697:	99                   	cltd
52a698:	c1 e3 08             	shl    $0x8,%ebx
52a69b:	0b ca                	or     %edx,%ecx
52a69d:	0b d8                	or     %eax,%ebx
52a69f:	0f b6 46 32          	movzbl 0x32(%esi),%eax
52a6a3:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
52a6a7:	99                   	cltd
52a6a8:	c1 e3 08             	shl    $0x8,%ebx
52a6ab:	0b ca                	or     %edx,%ecx
52a6ad:	0b d8                	or     %eax,%ebx
52a6af:	0f b6 46 31          	movzbl 0x31(%esi),%eax
52a6b3:	0f a4 d9 01          	shld   $0x1,%ebx,%ecx
52a6b7:	c0 e8 07             	shr    $0x7,%al
52a6ba:	0f b6 c0             	movzbl %al,%eax
52a6bd:	03 db                	add    %ebx,%ebx
52a6bf:	99                   	cltd
52a6c0:	0b d8                	or     %eax,%ebx
52a6c2:	0b ca                	or     %edx,%ecx
52a6c4:	0f b6 46 37          	movzbl 0x37(%esi),%eax
52a6c8:	24 01                	and    $0x1,%al
52a6ca:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%esp)
52a6d1:	0f b6 c0             	movzbl %al,%eax
52a6d4:	99                   	cltd
52a6d5:	8b d8                	mov    %eax,%ebx
52a6d7:	89 4c 24 64          	mov    %ecx,0x64(%esp)
52a6db:	0f b6 46 36          	movzbl 0x36(%esi),%eax
52a6df:	8b ca                	mov    %edx,%ecx
52a6e1:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
52a6e5:	99                   	cltd
52a6e6:	c1 e3 08             	shl    $0x8,%ebx
52a6e9:	0b ca                	or     %edx,%ecx
52a6eb:	0b d8                	or     %eax,%ebx
52a6ed:	0f b6 46 35          	movzbl 0x35(%esi),%eax
52a6f1:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
52a6f5:	99                   	cltd
52a6f6:	c1 e3 08             	shl    $0x8,%ebx
52a6f9:	0b ca                	or     %edx,%ecx
52a6fb:	0b d8                	or     %eax,%ebx
52a6fd:	0f b6 46 34          	movzbl 0x34(%esi),%eax
52a701:	0f a4 d9 04          	shld   $0x4,%ebx,%ecx
52a705:	c1 e3 04             	shl    $0x4,%ebx
52a708:	c0 e8 04             	shr    $0x4,%al
52a70b:	0f b6 c0             	movzbl %al,%eax
52a70e:	99                   	cltd
52a70f:	0b d8                	or     %eax,%ebx
52a711:	0b ca                	or     %edx,%ecx
52a713:	0f b6 46 39          	movzbl 0x39(%esi),%eax
52a717:	24 3f                	and    $0x3f,%al
52a719:	89 5c 24 70          	mov    %ebx,0x70(%esp)
52a71d:	0f b6 c0             	movzbl %al,%eax
52a720:	99                   	cltd
52a721:	8b e8                	mov    %eax,%ebp
52a723:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
52a727:	0f b6 46 38          	movzbl 0x38(%esi),%eax
52a72b:	8b da                	mov    %edx,%ebx
52a72d:	99                   	cltd
52a72e:	0f a4 eb 08          	shld   $0x8,%ebp,%ebx
52a732:	0b da                	or     %edx,%ebx
52a734:	c1 e5 08             	shl    $0x8,%ebp
52a737:	0b e8                	or     %eax,%ebp
52a739:	0f b6 46 37          	movzbl 0x37(%esi),%eax
52a73d:	d0 e8                	shr    $1,%al
52a73f:	0f b6 c0             	movzbl %al,%eax
52a742:	99                   	cltd
52a743:	0f a4 eb 07          	shld   $0x7,%ebp,%ebx
52a747:	0b da                	or     %edx,%ebx
52a749:	c1 e5 07             	shl    $0x7,%ebp
52a74c:	0b e8                	or     %eax,%ebp
52a74e:	89 9c 24 9c 00 00 00 	mov    %ebx,0x9c(%esp)
52a755:	0f b6 46 3c          	movzbl 0x3c(%esi),%eax
52a759:	24 07                	and    $0x7,%al
52a75b:	89 ac 24 80 00 00 00 	mov    %ebp,0x80(%esp)
52a762:	0f b6 c0             	movzbl %al,%eax
52a765:	99                   	cltd
52a766:	8b c8                	mov    %eax,%ecx
52a768:	8b fa                	mov    %edx,%edi
52a76a:	0f b6 46 3b          	movzbl 0x3b(%esi),%eax
52a76e:	0f a4 cf 08          	shld   $0x8,%ecx,%edi
52a772:	99                   	cltd
52a773:	0b fa                	or     %edx,%edi
52a775:	c1 e1 08             	shl    $0x8,%ecx
52a778:	0b c8                	or     %eax,%ecx
52a77a:	0f b6 46 3a          	movzbl 0x3a(%esi),%eax
52a77e:	99                   	cltd
52a77f:	8b f0                	mov    %eax,%esi
52a781:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52a788:	0f a4 cf 0a          	shld   $0xa,%ecx,%edi
52a78c:	0f a4 f2 02          	shld   $0x2,%esi,%edx
52a790:	c1 e1 0a             	shl    $0xa,%ecx
52a793:	c1 e6 02             	shl    $0x2,%esi
52a796:	89 4c 24 7c          	mov    %ecx,0x7c(%esp)
52a79a:	8a 48 39             	mov    0x39(%eax),%cl
52a79d:	c0 e9 06             	shr    $0x6,%cl
52a7a0:	0f b6 c1             	movzbl %cl,%eax
52a7a3:	8b 8c 24 e0 00 00 00 	mov    0xe0(%esp),%ecx
52a7aa:	99                   	cltd
52a7ab:	0b f0                	or     %eax,%esi
52a7ad:	89 7c 24 3c          	mov    %edi,0x3c(%esp)
52a7b1:	81 e6 ff ff 1f 00    	and    $0x1fffff,%esi
52a7b7:	09 74 24 7c          	or     %esi,0x7c(%esp)
52a7bb:	0f b6 41 3f          	movzbl 0x3f(%ecx),%eax
52a7bf:	99                   	cltd
52a7c0:	8b f0                	mov    %eax,%esi
52a7c2:	8b fa                	mov    %edx,%edi
52a7c4:	0f b6 41 3e          	movzbl 0x3e(%ecx),%eax
52a7c8:	0f a4 f7 08          	shld   $0x8,%esi,%edi
52a7cc:	99                   	cltd
52a7cd:	c1 e6 08             	shl    $0x8,%esi
52a7d0:	0b fa                	or     %edx,%edi
52a7d2:	0b f0                	or     %eax,%esi
52a7d4:	0f b6 41 3d          	movzbl 0x3d(%ecx),%eax
52a7d8:	0f a4 f7 08          	shld   $0x8,%esi,%edi
52a7dc:	99                   	cltd
52a7dd:	c1 e6 08             	shl    $0x8,%esi
52a7e0:	0b fa                	or     %edx,%edi
52a7e2:	0b f0                	or     %eax,%esi
52a7e4:	0f b6 41 3c          	movzbl 0x3c(%ecx),%eax
52a7e8:	c0 e8 03             	shr    $0x3,%al
52a7eb:	0f a4 f7 05          	shld   $0x5,%esi,%edi
52a7ef:	0f b6 c0             	movzbl %al,%eax
52a7f2:	c1 e6 05             	shl    $0x5,%esi
52a7f5:	99                   	cltd
52a7f6:	0b f0                	or     %eax,%esi
52a7f8:	0b fa                	or     %edx,%edi
52a7fa:	89 74 24 68          	mov    %esi,0x68(%esp)
52a7fe:	0f b6 41 2c          	movzbl 0x2c(%ecx),%eax
52a802:	99                   	cltd
52a803:	8b c8                	mov    %eax,%ecx
52a805:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52a80c:	0f a4 ca 10          	shld   $0x10,%ecx,%edx
52a810:	6a 00                	push   $0x0
52a812:	c1 e1 10             	shl    $0x10,%ecx
52a815:	0f b6 40 2a          	movzbl 0x2a(%eax),%eax
52a819:	99                   	cltd
52a81a:	0b c8                	or     %eax,%ecx
52a81c:	8b 84 24 e4 00 00 00 	mov    0xe4(%esp),%eax
52a823:	81 e1 ff ff 1f 00    	and    $0x1fffff,%ecx
52a829:	89 8c 24 94 00 00 00 	mov    %ecx,0x94(%esp)
52a830:	33 c9                	xor    %ecx,%ecx
52a832:	68 7d 6f 0a 00       	push   $0xa6f7d
52a837:	0f b6 40 2b          	movzbl 0x2b(%eax),%eax
52a83b:	99                   	cltd
52a83c:	0f a4 c2 08          	shld   $0x8,%eax,%edx
52a840:	57                   	push   %edi
52a841:	c1 e0 08             	shl    $0x8,%eax
52a844:	0b ca                	or     %edx,%ecx
52a846:	09 84 24 9c 00 00 00 	or     %eax,0x9c(%esp)
52a84d:	56                   	push   %esi
52a84e:	89 4c 24 6c          	mov    %ecx,0x6c(%esp)
52a852:	e8 29 76 0a 00       	call   0x5d1e80
52a857:	29 84 24 90 00 00 00 	sub    %eax,0x90(%esp)
52a85e:	8b 84 24 e0 00 00 00 	mov    0xe0(%esp),%eax
52a865:	19 54 24 5c          	sbb    %edx,0x5c(%esp)
52a869:	6a 00                	push   $0x0
52a86b:	68 7d 6f 0a 00       	push   $0xa6f7d
52a870:	0f b6 40 27          	movzbl 0x27(%eax),%eax
52a874:	24 07                	and    $0x7,%al
52a876:	0f b6 c0             	movzbl %al,%eax
52a879:	99                   	cltd
52a87a:	8b ca                	mov    %edx,%ecx
52a87c:	0f a4 c1 08          	shld   $0x8,%eax,%ecx
52a880:	53                   	push   %ebx