52741f:	cc                   	int3
527420:	55                   	push   %ebp
527421:	8b ec                	mov    %esp,%ebp
527423:	83 ec 08             	sub    $0x8,%esp
527426:	a1 d4 89 72 00       	mov    0x7289d4,%eax
52742b:	33 c5                	xor    %ebp,%eax
52742d:	89 45 fc             	mov    %eax,-0x4(%ebp)
527430:	8b 45 08             	mov    0x8(%ebp),%eax
527433:	56                   	push   %esi
527434:	33 f6                	xor    %esi,%esi
527436:	57                   	push   %edi
527437:	8b 7d 0c             	mov    0xc(%ebp),%edi
52743a:	85 c0                	test   %eax,%eax
52743c:	75 10                	jne    0x52744e
52743e:	5f                   	pop    %edi
52743f:	5e                   	pop    %esi
527440:	8b 4d fc             	mov    -0x4(%ebp),%ecx
527443:	33 cd                	xor    %ebp,%ecx
527445:	e8 90 a0 0b 00       	call   0x5e14da
52744a:	8b e5                	mov    %ebp,%esp
52744c:	5d                   	pop    %ebp
52744d:	c3                   	ret
52744e:	f7 40 04 00 04 00 00 	testl  $0x400,0x4(%eax)
527455:	74 1a                	je     0x527471
527457:	8b 40 08             	mov    0x8(%eax),%eax
52745a:	89 07                	mov    %eax,(%edi)
52745c:	b8 01 00 00 00       	mov    $0x1,%eax
527461:	5f                   	pop    %edi
527462:	5e                   	pop    %esi
527463:	8b 4d fc             	mov    -0x4(%ebp),%ecx
527466:	33 cd                	xor    %ebp,%ecx
527468:	e8 6d a0 0b 00       	call   0x5e14da
52746d:	8b e5                	mov    %ebp,%esp
52746f:	5d                   	pop    %ebp
527470:	c3                   	ret
527471:	0f b6 08             	movzbl (%eax),%ecx
527474:	81 e9 aa 00 00 00    	sub    $0xaa,%ecx
52747a:	74 23                	je     0x52749f
52747c:	83 e9 01             	sub    $0x1,%ecx
52747f:	75 3d                	jne    0x5274be
527481:	57                   	push   %edi
527482:	ff 70 0c             	push   0xc(%eax)
527485:	e8 96 ff ff ff       	call   0x527420
52748a:	83 c4 08             	add    $0x8,%esp
52748d:	8b f0                	mov    %eax,%esi
52748f:	5f                   	pop    %edi
527490:	5e                   	pop    %esi
527491:	8b 4d fc             	mov    -0x4(%ebp),%ecx
527494:	33 cd                	xor    %ebp,%ecx
527496:	e8 3f a0 0b 00       	call   0x5e14da
52749b:	8b e5                	mov    %ebp,%esp
52749d:	5d                   	pop    %ebp
52749e:	c3                   	ret
52749f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
5274a2:	51                   	push   %ecx
5274a3:	ff 70 0c             	push   0xc(%eax)
5274a6:	e8 75 ff ff ff       	call   0x527420
5274ab:	83 c4 08             	add    $0x8,%esp
5274ae:	85 c0                	test   %eax,%eax
5274b0:	74 0c                	je     0x5274be
5274b2:	8b 45 f8             	mov    -0x8(%ebp),%eax
5274b5:	be 01 00 00 00       	mov    $0x1,%esi
5274ba:	f7 d8                	neg    %eax
5274bc:	89 07                	mov    %eax,(%edi)
5274be:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5274c1:	8b c6                	mov    %esi,%eax
5274c3:	5f                   	pop    %edi
5274c4:	33 cd                	xor    %ebp,%ecx
5274c6:	5e                   	pop    %esi
5274c7:	e8 0e a0 0b 00       	call   0x5e14da
5274cc:	8b e5                	mov    %ebp,%esp
5274ce:	5d                   	pop    %ebp
5274cf:	c3                   	ret
5274d0:	55                   	push   %ebp
5274d1:	8b ec                	mov    %esp,%ebp
5274d3:	83 ec 20             	sub    $0x20,%esp
5274d6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5274db:	33 c5                	xor    %ebp,%eax
5274dd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5274e0:	8b 4d 08             	mov    0x8(%ebp),%ecx
5274e3:	ba 03 00 00 00       	mov    $0x3,%edx
5274e8:	8b 45 0c             	mov    0xc(%ebp),%eax
5274eb:	66 89 55 f4          	mov    %dx,-0xc(%ebp)
5274ef:	c7 45 e4 c0 12 50 00 	movl   $0x5012c0,-0x1c(%ebp)
5274f6:	c7 45 e8 f0 c7 53 00 	movl   $0x53c7f0,-0x18(%ebp)
5274fd:	89 45 f8             	mov    %eax,-0x8(%ebp)
527500:	85 c9                	test   %ecx,%ecx
527502:	74 11                	je     0x527515
527504:	51                   	push   %ecx
527505:	8d 45 e0             	lea    -0x20(%ebp),%eax
527508:	50                   	push   %eax
527509:	e8 a2 8a 03 00       	call   0x55ffb0
52750e:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
527512:	83 c4 08             	add    $0x8,%esp
527515:	8b 4d fc             	mov    -0x4(%ebp),%ecx
527518:	33 cd                	xor    %ebp,%ecx
52751a:	e8 bb 9f 0b 00       	call   0x5e14da
52751f:	8b e5                	mov    %ebp,%esp
527521:	5d                   	pop    %ebp
527522:	c3                   	ret
527523:	cc                   	int3
527524:	cc                   	int3
527525:	cc                   	int3
527526:	cc                   	int3
527527:	cc                   	int3
527528:	cc                   	int3
527529:	cc                   	int3
52752a:	cc                   	int3
52752b:	cc                   	int3
52752c:	cc                   	int3
52752d:	cc                   	int3
52752e:	cc                   	int3
52752f:	cc                   	int3
527530:	55                   	push   %ebp
527531:	8b ec                	mov    %esp,%ebp
527533:	8b 4d 08             	mov    0x8(%ebp),%ecx
527536:	8a 01                	mov    (%ecx),%al
527538:	3c ad                	cmp    $0xad,%al
52753a:	75 03                	jne    0x52753f
52753c:	8a 41 02             	mov    0x2(%ecx),%al
52753f:	3c ae                	cmp    $0xae,%al
527541:	75 0f                	jne    0x527552
527543:	8b 41 14             	mov    0x14(%ecx),%eax
527546:	8b 08                	mov    (%eax),%ecx
527548:	33 c0                	xor    %eax,%eax
52754a:	83 f9 01             	cmp    $0x1,%ecx
52754d:	0f 9f c0             	setg   %al
527550:	5d                   	pop    %ebp
527551:	c3                   	ret
527552:	3c 88                	cmp    $0x88,%al
527554:	75 12                	jne    0x527568
527556:	8b 41 14             	mov    0x14(%ecx),%eax
527559:	8b 40 1c             	mov    0x1c(%eax),%eax
52755c:	8b 08                	mov    (%eax),%ecx
52755e:	33 c0                	xor    %eax,%eax
527560:	83 f9 01             	cmp    $0x1,%ecx
527563:	0f 9f c0             	setg   %al
527566:	5d                   	pop    %ebp
527567:	c3                   	ret
527568:	b9 01 00 00 00       	mov    $0x1,%ecx
52756d:	33 c0                	xor    %eax,%eax
52756f:	3b c9                	cmp    %ecx,%ecx
527571:	0f 9f c0             	setg   %al
527574:	5d                   	pop    %ebp
527575:	c3                   	ret
527576:	cc                   	int3
527577:	cc                   	int3
527578:	cc                   	int3
527579:	cc                   	int3
52757a:	cc                   	int3
52757b:	cc                   	int3
52757c:	cc                   	int3
52757d:	cc                   	int3
52757e:	cc                   	int3
52757f:	cc                   	int3
527580:	55                   	push   %ebp
527581:	8b ec                	mov    %esp,%ebp
527583:	8b 45 08             	mov    0x8(%ebp),%eax
527586:	53                   	push   %ebx
527587:	57                   	push   %edi
527588:	8b 7d 0c             	mov    0xc(%ebp),%edi
52758b:	8b 18                	mov    (%eax),%ebx
52758d:	85 ff                	test   %edi,%edi
52758f:	75 1a                	jne    0x5275ab
527591:	57                   	push   %edi
527592:	6a 18                	push   $0x18
527594:	53                   	push   %ebx
527595:	e8 46 9e ff ff       	call   0x5213e0
52759a:	8b f8                	mov    %eax,%edi
52759c:	83 c4 0c             	add    $0xc,%esp
52759f:	85 ff                	test   %edi,%edi
5275a1:	74 4c                	je     0x5275ef
5275a3:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5275a9:	eb 6b                	jmp    0x527616
5275ab:	8b 07                	mov    (%edi),%eax
5275ad:	8d 48 ff             	lea    -0x1(%eax),%ecx
5275b0:	85 c8                	test   %ecx,%eax
5275b2:	75 62                	jne    0x527616
5275b4:	b9 02 00 00 00       	mov    $0x2,%ecx
5275b9:	f7 e9                	imul   %ecx
5275bb:	56                   	push   %esi
5275bc:	83 c0 ff             	add    $0xffffffff,%eax
5275bf:	8b c8                	mov    %eax,%ecx
5275c1:	83 d2 ff             	adc    $0xffffffff,%edx
5275c4:	8b f2                	mov    %edx,%esi
5275c6:	0f a4 ce 02          	shld   $0x2,%ecx,%esi
5275ca:	c1 e1 02             	shl    $0x2,%ecx
5275cd:	03 c1                	add    %ecx,%eax
5275cf:	13 d6                	adc    %esi,%edx
5275d1:	0f a4 c2 02          	shld   $0x2,%eax,%edx
5275d5:	c1 e0 02             	shl    $0x2,%eax
5275d8:	83 c0 18             	add    $0x18,%eax
5275db:	83 d2 00             	adc    $0x0,%edx
5275de:	52                   	push   %edx
5275df:	50                   	push   %eax
5275e0:	57                   	push   %edi
5275e1:	53                   	push   %ebx
5275e2:	e8 79 9f ff ff       	call   0x521560
5275e7:	83 c4 10             	add    $0x10,%esp
5275ea:	5e                   	pop    %esi
5275eb:	85 c0                	test   %eax,%eax
5275ed:	75 25                	jne    0x527614
5275ef:	8b 45 10             	mov    0x10(%ebp),%eax
5275f2:	85 c0                	test   %eax,%eax
5275f4:	74 0a                	je     0x527600
5275f6:	50                   	push   %eax
5275f7:	53                   	push   %ebx
5275f8:	e8 b3 f1 ff ff       	call   0x5267b0
5275fd:	83 c4 08             	add    $0x8,%esp
527600:	85 ff                	test   %edi,%edi
527602:	74 0a                	je     0x52760e
527604:	57                   	push   %edi
527605:	53                   	push   %ebx
527606:	e8 f5 99 fd ff       	call   0x501000
52760b:	83 c4 08             	add    $0x8,%esp
52760e:	5f                   	pop    %edi
52760f:	33 c0                	xor    %eax,%eax
527611:	5b                   	pop    %ebx
527612:	5d                   	pop    %ebp
527613:	c3                   	ret
527614:	8b f8                	mov    %eax,%edi
527616:	8b 0f                	mov    (%edi),%ecx
527618:	0f 57 c0             	xorps  %xmm0,%xmm0
52761b:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
52761e:	8d 14 87             	lea    (%edi,%eax,4),%edx
527621:	8d 41 01             	lea    0x1(%ecx),%eax
527624:	89 07                	mov    %eax,(%edi)
527626:	8b 45 10             	mov    0x10(%ebp),%eax
527629:	0f 11 42 08          	movups %xmm0,0x8(%edx)
52762d:	89 42 04             	mov    %eax,0x4(%edx)
527630:	8b c7                	mov    %edi,%eax
527632:	5f                   	pop    %edi
527633:	5b                   	pop    %ebx
527634:	5d                   	pop    %ebp
527635:	c3                   	ret
527636:	cc                   	int3
527637:	cc                   	int3
527638:	cc                   	int3
527639:	cc                   	int3
52763a:	cc                   	int3
52763b:	cc                   	int3
52763c:	cc                   	int3
52763d:	cc                   	int3
52763e:	cc                   	int3
52763f:	cc                   	int3
527640:	55                   	push   %ebp
527641:	8b ec                	mov    %esp,%ebp
527643:	83 ec 38             	sub    $0x38,%esp
527646:	a1 d4 89 72 00       	mov    0x7289d4,%eax
52764b:	33 c5                	xor    %ebp,%eax
52764d:	89 45 fc             	mov    %eax,-0x4(%ebp)
527650:	8b 45 08             	mov    0x8(%ebp),%eax
527653:	8b 55 14             	mov    0x14(%ebp),%edx
527656:	53                   	push   %ebx
527657:	8b 5d 0c             	mov    0xc(%ebp),%ebx
52765a:	8b 08                	mov    (%eax),%ecx
52765c:	89 45 dc             	mov    %eax,-0x24(%ebp)
52765f:	89 55 d4             	mov    %edx,-0x2c(%ebp)
527662:	89 4d cc             	mov    %ecx,-0x34(%ebp)
527665:	56                   	push   %esi
527666:	8b 75 10             	mov    0x10(%ebp),%esi
527669:	89 75 c8             	mov    %esi,-0x38(%ebp)
52766c:	57                   	push   %edi
52766d:	85 db                	test   %ebx,%ebx
52766f:	74 07                	je     0x527678
527671:	8b 0b                	mov    (%ebx),%ecx
527673:	89 4d d0             	mov    %ecx,-0x30(%ebp)
527676:	eb 07                	jmp    0x52767f
527678:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
52767f:	85 f6                	test   %esi,%esi
527681:	74 5f                	je     0x5276e2
527683:	85 d2                	test   %edx,%edx
527685:	0f 84 bb 00 00 00    	je     0x527746
52768b:	8a 0a                	mov    (%edx),%cl
52768d:	80 f9 88             	cmp    $0x88,%cl
527690:	0f 84 cf 00 00 00    	je     0x527765
527696:	80 f9 ad             	cmp    $0xad,%cl
527699:	75 03                	jne    0x52769e
52769b:	8a 4a 02             	mov    0x2(%edx),%cl
52769e:	80 f9 ae             	cmp    $0xae,%cl
5276a1:	75 0a                	jne    0x5276ad
5276a3:	8b 42 14             	mov    0x14(%edx),%eax
5276a6:	8b 08                	mov    (%eax),%ecx
5276a8:	8b 45 dc             	mov    -0x24(%ebp),%eax
5276ab:	eb 17                	jmp    0x5276c4
5276ad:	80 f9 88             	cmp    $0x88,%cl
5276b0:	75 0d                	jne    0x5276bf
5276b2:	8b 42 14             	mov    0x14(%edx),%eax
5276b5:	8b 40 1c             	mov    0x1c(%eax),%eax
5276b8:	8b 08                	mov    (%eax),%ecx
5276ba:	8b 45 dc             	mov    -0x24(%ebp),%eax
5276bd:	eb 05                	jmp    0x5276c4
5276bf:	b9 01 00 00 00       	mov    $0x1,%ecx
5276c4:	8b 7e 04             	mov    0x4(%esi),%edi
5276c7:	3b f9                	cmp    %ecx,%edi
5276c9:	0f 84 96 00 00 00    	je     0x527765
5276cf:	51                   	push   %ecx
5276d0:	57                   	push   %edi
5276d1:	68 dc 90 6b 00       	push   $0x6b90dc
5276d6:	50                   	push   %eax
5276d7:	e8 84 bb ff ff       	call   0x523260
5276dc:	83 c4 10             	add    $0x10,%esp
5276df:	8b 45 dc             	mov    -0x24(%ebp),%eax
5276e2:	8b 7d d4             	mov    -0x2c(%ebp),%edi
5276e5:	85 ff                	test   %edi,%edi
5276e7:	74 5d                	je     0x527746
5276e9:	8a 88 c8 00 00 00    	mov    0xc8(%eax),%cl
5276ef:	88 4d db             	mov    %cl,-0x25(%ebp)
5276f2:	80 f9 02             	cmp    $0x2,%cl
5276f5:	72 44                	jb     0x52773b
5276f7:	0f 57 c0             	xorps  %xmm0,%xmm0
5276fa:	c6 80 c8 00 00 00 03 	movb   $0x3,0xc8(%eax)
527701:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
527705:	89 45 e0             	mov    %eax,-0x20(%ebp)
527708:	8d 45 e0             	lea    -0x20(%ebp),%eax
52770b:	57                   	push   %edi
52770c:	50                   	push   %eax
52770d:	66 0f d6 45 f0       	movq   %xmm0,-0x10(%ebp)
527712:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
527719:	c7 45 e4 90 31 51 00 	movl   $0x513190,-0x1c(%ebp)
527720:	c7 45 e8 c0 31 51 00 	movl   $0x5131c0,-0x18(%ebp)
527727:	e8 84 88 03 00       	call   0x55ffb0
52772c:	8b 45 dc             	mov    -0x24(%ebp),%eax
52772f:	83 c4 08             	add    $0x8,%esp
527732:	8a 4d db             	mov    -0x25(%ebp),%cl
527735:	88 88 c8 00 00 00    	mov    %cl,0xc8(%eax)
52773b:	57                   	push   %edi
52773c:	ff 30                	push   (%eax)
52773e:	e8 6d f0 ff ff       	call   0x5267b0
527743:	83 c4 08             	add    $0x8,%esp
527746:	56                   	push   %esi
527747:	ff 75 cc             	push   -0x34(%ebp)
52774a:	e8 11 66 00 00       	call   0x52dd60
52774f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
527752:	83 c4 08             	add    $0x8,%esp
527755:	8b c3                	mov    %ebx,%eax
527757:	33 cd                	xor    %ebp,%ecx
527759:	5f                   	pop    %edi
52775a:	5e                   	pop    %esi
52775b:	5b                   	pop    %ebx
52775c:	e8 79 9d 0b 00       	call   0x5e14da
527761:	8b e5                	mov    %ebp,%esp
527763:	5d                   	pop    %ebp
527764:	c3                   	ret
527765:	33 ff                	xor    %edi,%edi
527767:	39 7e 04             	cmp    %edi,0x4(%esi)
52776a:	7e 54                	jle    0x5277c0
52776c:	0f 1f 40 00          	nopl   0x0(%eax)
527770:	57                   	push   %edi
527771:	52                   	push   %edx