530419:	83 ff fd             	cmp    $0xfffffffd,%edi
53041c:	7d 93                	jge    0x5303b1
53041e:	68 ae 00 00 00       	push   $0xae
530423:	68 6c 91 64 00       	push   $0x64916c
530428:	68 88 00 00 00       	push   $0x88
53042d:	68 98 00 00 00       	push   $0x98
530432:	6a 04                	push   $0x4
530434:	e8 47 8b fa ff       	call   0x4d8f80
530439:	83 c4 14             	add    $0x14,%esp
53043c:	e9 eb 01 00 00       	jmp    0x53062c
530441:	8b e9                	mov    %ecx,%ebp
530443:	2b 6c 24 38          	sub    0x38(%esp),%ebp
530447:	8d 45 fe             	lea    -0x2(%ebp),%eax
53044a:	83 ff fd             	cmp    $0xfffffffd,%edi
53044d:	75 3f                	jne    0x53048e
53044f:	8b f8                	mov    %eax,%edi
530451:	85 ff                	test   %edi,%edi
530453:	7e 59                	jle    0x5304ae
530455:	68 c5 00 00 00       	push   $0xc5
53045a:	68 6c 91 64 00       	push   $0x64916c
53045f:	57                   	push   %edi
530460:	e8 eb 02 fb ff       	call   0x4e0750
530465:	8b d8                	mov    %eax,%ebx
530467:	83 c4 0c             	add    $0xc,%esp
53046a:	85 db                	test   %ebx,%ebx
53046c:	75 2e                	jne    0x53049c
53046e:	68 c8 00 00 00       	push   $0xc8
530473:	68 6c 91 64 00       	push   $0x64916c
530478:	6a 41                	push   $0x41
53047a:	68 98 00 00 00       	push   $0x98
53047f:	6a 04                	push   $0x4
530481:	e8 fa 8a fa ff       	call   0x4d8f80
530486:	83 c4 14             	add    $0x14,%esp
530489:	e9 9e 01 00 00       	jmp    0x53062c
53048e:	3b f8                	cmp    %eax,%edi
530490:	7e bf                	jle    0x530451
530492:	68 c1 00 00 00       	push   $0xc1
530497:	e9 56 ff ff ff       	jmp    0x5303f2
53049c:	57                   	push   %edi
53049d:	53                   	push   %ebx
53049e:	e8 ad 0d fb ff       	call   0x4e1250
5304a3:	83 c4 08             	add    $0x8,%esp
5304a6:	85 c0                	test   %eax,%eax
5304a8:	0f 8e 7e 01 00 00    	jle    0x53062c
5304ae:	e8 5d ac fe ff       	call   0x51b110
5304b3:	89 44 24 10          	mov    %eax,0x10(%esp)
5304b7:	85 c0                	test   %eax,%eax
5304b9:	0f 84 6d 01 00 00    	je     0x53062c
5304bf:	6a 00                	push   $0x0
5304c1:	ff 74 24 38          	push   0x38(%esp)
5304c5:	50                   	push   %eax
5304c6:	e8 55 a7 fe ff       	call   0x51ac20
5304cb:	83 c4 0c             	add    $0xc,%esp
5304ce:	85 c0                	test   %eax,%eax
5304d0:	0f 84 56 01 00 00    	je     0x53062c
5304d6:	6a 08                	push   $0x8
5304d8:	68 64 91 64 00       	push   $0x649164
5304dd:	ff 74 24 18          	push   0x18(%esp)
5304e1:	e8 ea a8 fe ff       	call   0x51add0
5304e6:	83 c4 0c             	add    $0xc,%esp
5304e9:	85 c0                	test   %eax,%eax
5304eb:	0f 84 3b 01 00 00    	je     0x53062c
5304f1:	ff 74 24 38          	push   0x38(%esp)
5304f5:	ff 74 24 34          	push   0x34(%esp)
5304f9:	ff 74 24 18          	push   0x18(%esp)
5304fd:	e8 ce a8 fe ff       	call   0x51add0
530502:	83 c4 0c             	add    $0xc,%esp
530505:	85 c0                	test   %eax,%eax
530507:	0f 84 1f 01 00 00    	je     0x53062c
53050d:	85 ff                	test   %edi,%edi
53050f:	74 16                	je     0x530527
530511:	57                   	push   %edi
530512:	53                   	push   %ebx
530513:	ff 74 24 18          	push   0x18(%esp)
530517:	e8 b4 a8 fe ff       	call   0x51add0
53051c:	83 c4 0c             	add    $0xc,%esp
53051f:	85 c0                	test   %eax,%eax
530521:	0f 84 05 01 00 00    	je     0x53062c
530527:	8d 45 ff             	lea    -0x1(%ebp),%eax
53052a:	6a 00                	push   $0x0
53052c:	03 c6                	add    %esi,%eax
53052e:	50                   	push   %eax
53052f:	ff 74 24 18          	push   0x18(%esp)
530533:	e8 48 a6 fe ff       	call   0x51ab80
530538:	83 c4 0c             	add    $0xc,%esp
53053b:	85 c0                	test   %eax,%eax
53053d:	0f 84 e9 00 00 00    	je     0x53062c
530543:	ff 74 24 20          	push   0x20(%esp)
530547:	8d 4d ff             	lea    -0x1(%ebp),%ecx
53054a:	ff 74 24 3c          	push   0x3c(%esp)
53054e:	8d 04 31             	lea    (%ecx,%esi,1),%eax
530551:	50                   	push   %eax
530552:	51                   	push   %ecx
530553:	56                   	push   %esi
530554:	e8 17 f5 fc ff       	call   0x4ffa70
530559:	83 c4 14             	add    $0x14,%esp
53055c:	85 c0                	test   %eax,%eax
53055e:	0f 85 c8 00 00 00    	jne    0x53062c
530564:	2b ef                	sub    %edi,%ebp
530566:	80 74 2e fe 01       	xorb   $0x1,-0x2(%esi,%ebp,1)
53056b:	8d 0c 2e             	lea    (%esi,%ebp,1),%ecx
53056e:	8d 41 fe             	lea    -0x2(%ecx),%eax
530571:	49                   	dec    %ecx
530572:	85 ff                	test   %edi,%edi
530574:	0f 8e 89 00 00 00    	jle    0x530603
53057a:	33 d2                	xor    %edx,%edx
53057c:	83 ff 40             	cmp    $0x40,%edi
53057f:	72 74                	jb     0x5305f5
530581:	8d 2c 38             	lea    (%eax,%edi,1),%ebp
530584:	8d 47 ff             	lea    -0x1(%edi),%eax
530587:	03 c3                	add    %ebx,%eax
530589:	3b c8                	cmp    %eax,%ecx
53058b:	77 04                	ja     0x530591
53058d:	3b eb                	cmp    %ebx,%ebp
53058f:	73 64                	jae    0x5305f5
530591:	8b c7                	mov    %edi,%eax
530593:	25 3f 00 00 80       	and    $0x8000003f,%eax
530598:	79 05                	jns    0x53059f
53059a:	48                   	dec    %eax
53059b:	83 c8 c0             	or     $0xffffffc0,%eax
53059e:	40                   	inc    %eax
53059f:	8b ef                	mov    %edi,%ebp
5305a1:	2b e8                	sub    %eax,%ebp
5305a3:	8d 43 20             	lea    0x20(%ebx),%eax
5305a6:	0f 10 01             	movups (%ecx),%xmm0
5305a9:	83 c2 40             	add    $0x40,%edx
5305ac:	8d 40 40             	lea    0x40(%eax),%eax
5305af:	0f 10 48 a0          	movups -0x60(%eax),%xmm1
5305b3:	66 0f ef c8          	pxor   %xmm0,%xmm1
5305b7:	0f 11 09             	movups %xmm1,(%ecx)
5305ba:	0f 10 41 10          	movups 0x10(%ecx),%xmm0
5305be:	0f 10 48 b0          	movups -0x50(%eax),%xmm1
5305c2:	66 0f ef c8          	pxor   %xmm0,%xmm1
5305c6:	0f 10 40 c0          	movups -0x40(%eax),%xmm0
5305ca:	0f 11 49 10          	movups %xmm1,0x10(%ecx)
5305ce:	0f 10 49 20          	movups 0x20(%ecx),%xmm1
5305d2:	66 0f ef c8          	pxor   %xmm0,%xmm1
5305d6:	0f 11 49 20          	movups %xmm1,0x20(%ecx)
5305da:	0f 10 41 30          	movups 0x30(%ecx),%xmm0
5305de:	0f 10 48 d0          	movups -0x30(%eax),%xmm1
5305e2:	66 0f ef c8          	pxor   %xmm0,%xmm1
5305e6:	0f 11 49 30          	movups %xmm1,0x30(%ecx)
5305ea:	83 c1 40             	add    $0x40,%ecx
5305ed:	3b d5                	cmp    %ebp,%edx
5305ef:	7c b5                	jl     0x5305a6
5305f1:	3b d7                	cmp    %edi,%edx
5305f3:	7d 0e                	jge    0x530603
5305f5:	8a 04 1a             	mov    (%edx,%ebx,1),%al
5305f8:	8d 49 01             	lea    0x1(%ecx),%ecx
5305fb:	30 41 ff             	xor    %al,-0x1(%ecx)
5305fe:	42                   	inc    %edx
5305ff:	3b d7                	cmp    %edi,%edx
530601:	7c f2                	jl     0x5305f5
530603:	8b 44 24 14          	mov    0x14(%esp),%eax
530607:	85 c0                	test   %eax,%eax
530609:	74 10                	je     0x53061b
53060b:	b9 08 00 00 00       	mov    $0x8,%ecx
530610:	2b c8                	sub    %eax,%ecx
530612:	b8 ff 00 00 00       	mov    $0xff,%eax
530617:	d3 f8                	sar    %cl,%eax
530619:	20 06                	and    %al,(%esi)
53061b:	8b 44 24 18          	mov    0x18(%esp),%eax
53061f:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
530626:	00
530627:	c6 44 30 ff bc       	movb   $0xbc,-0x1(%eax,%esi,1)
53062c:	ff 74 24 10          	push   0x10(%esp)
530630:	e8 bb aa fe ff       	call   0x51b0f0
530635:	68 f7 00 00 00       	push   $0xf7
53063a:	68 6c 91 64 00       	push   $0x64916c
53063f:	57                   	push   %edi
530640:	53                   	push   %ebx
530641:	e8 fa 01 fb ff       	call   0x4e0840
530646:	8b 44 24 30          	mov    0x30(%esp),%eax
53064a:	83 c4 14             	add    $0x14,%esp
53064d:	5f                   	pop    %edi
53064e:	5e                   	pop    %esi
53064f:	5d                   	pop    %ebp
530650:	5b                   	pop    %ebx
530651:	83 c4 14             	add    $0x14,%esp
530654:	c3                   	ret
530655:	cc                   	int3
530656:	cc                   	int3
530657:	cc                   	int3
530658:	cc                   	int3
530659:	cc                   	int3
53065a:	cc                   	int3
53065b:	cc                   	int3
53065c:	cc                   	int3
53065d:	cc                   	int3
53065e:	cc                   	int3
53065f:	cc                   	int3
530660:	b8 6c 00 00 00       	mov    $0x6c,%eax
530665:	e8 46 11 0a 00       	call   0x5d17b0
53066a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
53066f:	33 c4                	xor    %esp,%eax
530671:	89 44 24 68          	mov    %eax,0x68(%esp)
530675:	8b 84 24 80 00 00 00 	mov    0x80(%esp),%eax
53067c:	53                   	push   %ebx
53067d:	8b 5c 24 7c          	mov    0x7c(%esp),%ebx
530681:	89 44 24 08          	mov    %eax,0x8(%esp)
530685:	8b 44 24 74          	mov    0x74(%esp),%eax
530689:	55                   	push   %ebp
53068a:	89 44 24 08          	mov    %eax,0x8(%esp)
53068e:	33 ed                	xor    %ebp,%ebp
530690:	8b 44 24 7c          	mov    0x7c(%esp),%eax
530694:	56                   	push   %esi
530695:	8b b4 24 88 00 00 00 	mov    0x88(%esp),%esi
53069c:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
5306a0:	89 44 24 30          	mov    %eax,0x30(%esp)
5306a4:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
5306ab:	00
5306ac:	e8 5f aa fe ff       	call   0x51b110
5306b1:	89 44 24 14          	mov    %eax,0x14(%esp)
5306b5:	85 c0                	test   %eax,%eax
5306b7:	0f 84 be 03 00 00    	je     0x530a7b
5306bd:	85 f6                	test   %esi,%esi
5306bf:	8b c3                	mov    %ebx,%eax
5306c1:	57                   	push   %edi
5306c2:	0f 45 c6             	cmovne %esi,%eax
5306c5:	53                   	push   %ebx
5306c6:	89 44 24 24          	mov    %eax,0x24(%esp)
5306ca:	e8 f1 01 fc ff       	call   0x4f08c0
5306cf:	8b f8                	mov    %eax,%edi
5306d1:	83 c4 04             	add    $0x4,%esp
5306d4:	89 7c 24 28          	mov    %edi,0x28(%esp)
5306d8:	85 ff                	test   %edi,%edi
5306da:	0f 88 9a 03 00 00    	js     0x530a7a
5306e0:	8b 9c 24 94 00 00 00 	mov    0x94(%esp),%ebx
5306e7:	83 fb ff             	cmp    $0xffffffff,%ebx
5306ea:	75 5b                	jne    0x530747
5306ec:	8b df                	mov    %edi,%ebx
5306ee:	89 9c 24 94 00 00 00 	mov    %ebx,0x94(%esp)
5306f5:	8b 44 24 10          	mov    0x10(%esp),%eax
5306f9:	ff 70 10             	push   0x10(%eax)
5306fc:	e8 1f 97 fa ff       	call   0x4d9e20
530701:	ff 74 24 14          	push   0x14(%esp)
530705:	8d 70 ff             	lea    -0x1(%eax),%esi
530708:	83 e6 07             	and    $0x7,%esi
53070b:	89 74 24 34          	mov    %esi,0x34(%esp)
53070f:	e8 bc a4 fa ff       	call   0x4dabd0
530714:	8b d0                	mov    %eax,%edx
530716:	8b ce                	mov    %esi,%ecx
530718:	b8 ff 00 00 00       	mov    $0xff,%eax
53071d:	83 c4 08             	add    $0x8,%esp
530720:	d3 e0                	shl    %cl,%eax
530722:	8b 4c 24 14          	mov    0x14(%esp),%ecx
530726:	84 01                	test   %al,(%ecx)
530728:	74 29                	je     0x530753
53072a:	6a 46                	push   $0x46
53072c:	68 6c 91 64 00       	push   $0x64916c
530731:	68 85 00 00 00       	push   $0x85
530736:	6a 7e                	push   $0x7e
530738:	6a 04                	push   $0x4
53073a:	e8 41 88 fa ff       	call   0x4d8f80
53073f:	83 c4 14             	add    $0x14,%esp
530742:	e9 33 03 00 00       	jmp    0x530a7a
530747:	83 fb fd             	cmp    $0xfffffffd,%ebx
53074a:	7d a9                	jge    0x5306f5
53074c:	6a 3f                	push   $0x3f
53074e:	e9 0c 02 00 00       	jmp    0x53095f
530753:	85 f6                	test   %esi,%esi
530755:	75 01                	jne    0x530758
530757:	4a                   	dec    %edx
530758:	8b c1                	mov    %ecx,%eax
53075a:	85 f6                	test   %esi,%esi
53075c:	8d 48 01             	lea    0x1(%eax),%ecx
53075f:	0f 45 c8             	cmovne %eax,%ecx
530762:	8d 47 02             	lea    0x2(%edi),%eax
530765:	89 4c 24 24          	mov    %ecx,0x24(%esp)
530769:	3b d0                	cmp    %eax,%edx
53076b:	7d 04                	jge    0x530771
53076d:	6a 4e                	push   $0x4e
53076f:	eb 3d                	jmp    0x5307ae
530771:	8b f2                	mov    %edx,%esi
530773:	2b f7                	sub    %edi,%esi
530775:	8d 46 fe             	lea    -0x2(%esi),%eax
530778:	83 fb fd             	cmp    $0xfffffffd,%ebx
53077b:	75 2b                	jne    0x5307a8
53077d:	89 84 24 94 00 00 00 	mov    %eax,0x94(%esp)
530784:	80 7c 11 ff bc       	cmpb   $0xbc,-0x1(%ecx,%edx,1)
530789:	74 3b                	je     0x5307c6
53078b:	6a 58                	push   $0x58
53078d:	68 6c 91 64 00       	push   $0x64916c
530792:	68 86 00 00 00       	push   $0x86
530797:	6a 7e                	push   $0x7e
530799:	6a 04                	push   $0x4
53079b:	e8 e0 87 fa ff       	call   0x4d8f80
5307a0:	83 c4 14             	add    $0x14,%esp
5307a3:	e9 d2 02 00 00       	jmp    0x530a7a
5307a8:	3b d8                	cmp    %eax,%ebx
5307aa:	7e d8                	jle    0x530784
5307ac:	6a 54                	push   $0x54
5307ae:	68 6c 91 64 00       	push   $0x64916c
5307b3:	6a 6d                	push   $0x6d
5307b5:	6a 7e                	push   $0x7e
5307b7:	6a 04                	push   $0x4
5307b9:	e8 c2 87 fa ff       	call   0x4d8f80
5307be:	83 c4 14             	add    $0x14,%esp
5307c1:	e9 b4 02 00 00       	jmp    0x530a7a
5307c6:	4e                   	dec    %esi
5307c7:	6a 5d                	push   $0x5d
5307c9:	68 6c 91 64 00       	push   $0x64916c
5307ce:	56                   	push   %esi
5307cf:	89 74 24 20          	mov    %esi,0x20(%esp)
5307d3:	8d 1c 31             	lea    (%ecx,%esi,1),%ebx
5307d6:	e8 75 ff fa ff       	call   0x4e0750
5307db:	8b e8                	mov    %eax,%ebp
5307dd:	83 c4 0c             	add    $0xc,%esp
5307e0:	85 ed                	test   %ebp,%ebp
5307e2:	75 1a                	jne    0x5307fe
5307e4:	6a 5f                	push   $0x5f
5307e6:	68 6c 91 64 00       	push   $0x64916c
5307eb:	6a 41                	push   $0x41
5307ed:	6a 7e                	push   $0x7e
5307ef:	6a 04                	push   $0x4
5307f1:	e8 8a 87 fa ff       	call   0x4d8f80
5307f6:	83 c4 14             	add    $0x14,%esp
5307f9:	e9 7c 02 00 00       	jmp    0x530a7a
5307fe:	ff 74 24 20          	push   0x20(%esp)
530802:	57                   	push   %edi
530803:	53                   	push   %ebx
530804:	56                   	push   %esi
530805:	55                   	push   %ebp
530806:	e8 65 f2 fc ff       	call   0x4ffa70
53080b:	83 c4 14             	add    $0x14,%esp
53080e:	85 c0                	test   %eax,%eax
530810:	0f 88 64 02 00 00    	js     0x530a7a
530816:	33 c9                	xor    %ecx,%ecx
530818:	89 4c 24 10          	mov    %ecx,0x10(%esp)
53081c:	85 f6                	test   %esi,%esi
53081e:	0f 8e ca 00 00 00    	jle    0x5308ee
530824:	8b 54 24 24          	mov    0x24(%esp),%edx
530828:	83 fe 40             	cmp    $0x40,%esi
53082b:	0f 82 9e 00 00 00    	jb     0x5308cf
530831:	8d 42 ff             	lea    -0x1(%edx),%eax
530834:	89 4c 24 10          	mov    %ecx,0x10(%esp)
530838:	03 c6                	add    %esi,%eax
53083a:	3b e8                	cmp    %eax,%ebp
53083c:	77 0d                	ja     0x53084b
53083e:	8d 45 ff             	lea    -0x1(%ebp),%eax
530841:	03 c6                	add    %esi,%eax
530843:	3b c2                	cmp    %edx,%eax
530845:	0f 83 84 00 00 00    	jae    0x5308cf
53084b:	8b c6                	mov    %esi,%eax
53084d:	25 3f 00 00 80       	and    $0x8000003f,%eax
530852:	79 05                	jns    0x530859
530854:	48                   	dec    %eax
530855:	83 c8 c0             	or     $0xffffffc0,%eax
530858:	40                   	inc    %eax
530859:	89 74 24 10          	mov    %esi,0x10(%esp)