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
527772:	50                   	push   %eax
527773:	e8 18 f1 ff ff       	call   0x526890
527778:	8b c8                	mov    %eax,%ecx
52777a:	83 c4 0c             	add    $0xc,%esp
52777d:	85 c9                	test   %ecx,%ecx
52777f:	74 33                	je     0x5277b4
527781:	8b 46 04             	mov    0x4(%esi),%eax
527784:	51                   	push   %ecx
527785:	53                   	push   %ebx
527786:	ff 75 dc             	push   -0x24(%ebp)
527789:	89 41 1c             	mov    %eax,0x1c(%ecx)
52778c:	e8 ef fd ff ff       	call   0x527580
527791:	8b d8                	mov    %eax,%ebx
527793:	83 c4 0c             	add    $0xc,%esp
527796:	85 db                	test   %ebx,%ebx
527798:	74 1a                	je     0x5277b4
52779a:	8b 0b                	mov    (%ebx),%ecx
52779c:	8b 36                	mov    (%esi),%esi
52779e:	8d 14 89             	lea    (%ecx,%ecx,4),%edx
5277a1:	8b 0c fe             	mov    (%esi,%edi,8),%ecx
5277a4:	8b 75 c8             	mov    -0x38(%ebp),%esi
5277a7:	89 4c 93 f4          	mov    %ecx,-0xc(%ebx,%edx,4)
5277ab:	8b 06                	mov    (%esi),%eax
5277ad:	c7 04 f8 00 00 00 00 	movl   $0x0,(%eax,%edi,8)
5277b4:	8b 55 d4             	mov    -0x2c(%ebp),%edx
5277b7:	47                   	inc    %edi
5277b8:	8b 45 dc             	mov    -0x24(%ebp),%eax
5277bb:	3b 7e 04             	cmp    0x4(%esi),%edi
5277be:	7c b0                	jl     0x527770
5277c0:	8b 45 cc             	mov    -0x34(%ebp),%eax
5277c3:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5277c7:	0f 85 12 ff ff ff    	jne    0x5276df
5277cd:	80 3a 88             	cmpb   $0x88,(%edx)
5277d0:	0f 85 09 ff ff ff    	jne    0x5276df
5277d6:	85 db                	test   %ebx,%ebx
5277d8:	0f 84 01 ff ff ff    	je     0x5276df
5277de:	8b 45 d0             	mov    -0x30(%ebp),%eax
5277e1:	8d 04 80             	lea    (%eax,%eax,4),%eax
5277e4:	8b 4c 83 04          	mov    0x4(%ebx,%eax,4),%ecx
5277e8:	89 51 10             	mov    %edx,0x10(%ecx)
5277eb:	8b 46 04             	mov    0x4(%esi),%eax
5277ee:	89 41 1c             	mov    %eax,0x1c(%ecx)
5277f1:	e9 50 ff ff ff       	jmp    0x527746
5277f6:	cc                   	int3
5277f7:	cc                   	int3
5277f8:	cc                   	int3
5277f9:	cc                   	int3
5277fa:	cc                   	int3
5277fb:	cc                   	int3
5277fc:	cc                   	int3
5277fd:	cc                   	int3
5277fe:	cc                   	int3
5277ff:	cc                   	int3
527800:	55                   	push   %ebp
527801:	8b ec                	mov    %esp,%ebp
527803:	8b 45 0c             	mov    0xc(%ebp),%eax
527806:	85 c0                	test   %eax,%eax
527808:	74 1c                	je     0x527826
52780a:	8b 55 08             	mov    0x8(%ebp),%edx
52780d:	8b 00                	mov    (%eax),%eax
52780f:	8b 0a                	mov    (%edx),%ecx
527811:	3b 41 74             	cmp    0x74(%ecx),%eax
527814:	7e 10                	jle    0x527826
527816:	c7 45 0c fc 90 6b 00 	movl   $0x6b90fc,0xc(%ebp)
52781d:	89 55 08             	mov    %edx,0x8(%ebp)
527820:	5d                   	pop    %ebp
527821:	e9 3a ba ff ff       	jmp    0x523260
527826:	5d                   	pop    %ebp
527827:	c3                   	ret
527828:	cc                   	int3
527829:	cc                   	int3
52782a:	cc                   	int3
52782b:	cc                   	int3
52782c:	cc                   	int3
52782d:	cc                   	int3
52782e:	cc                   	int3
52782f:	cc                   	int3
527830:	55                   	push   %ebp
527831:	8b ec                	mov    %esp,%ebp
527833:	51                   	push   %ecx
527834:	8b 45 08             	mov    0x8(%ebp),%eax
527837:	85 c0                	test   %eax,%eax
527839:	75 09                	jne    0x527844
52783b:	39 45 0c             	cmp    %eax,0xc(%ebp)
52783e:	75 11                	jne    0x527851
527840:	8b e5                	mov    %ebp,%esp
527842:	5d                   	pop    %ebp
527843:	c3                   	ret
527844:	8b 4d 0c             	mov    0xc(%ebp),%ecx
527847:	85 c9                	test   %ecx,%ecx
527849:	74 06                	je     0x527851
52784b:	8b 10                	mov    (%eax),%edx
52784d:	3b 11                	cmp    (%ecx),%edx
52784f:	74 09                	je     0x52785a
527851:	b8 01 00 00 00       	mov    $0x1,%eax
527856:	8b e5                	mov    %ebp,%esp
527858:	5d                   	pop    %ebp
527859:	c3                   	ret
52785a:	53                   	push   %ebx
52785b:	56                   	push   %esi
52785c:	57                   	push   %edi
52785d:	33 ff                	xor    %edi,%edi
52785f:	85 d2                	test   %edx,%edx
527861:	7e 3b                	jle    0x52789e
527863:	8b d0                	mov    %eax,%edx
527865:	8d 58 0c             	lea    0xc(%eax),%ebx
527868:	2b d1                	sub    %ecx,%edx
52786a:	8d 71 04             	lea    0x4(%ecx),%esi
52786d:	89 55 fc             	mov    %edx,-0x4(%ebp)
527870:	8a 03                	mov    (%ebx),%al
527872:	3a 46 08             	cmp    0x8(%esi),%al
527875:	75 30                	jne    0x5278a7
527877:	ff 75 10             	push   0x10(%ebp)
52787a:	ff 36                	push   (%esi)
52787c:	ff 34 32             	push   (%edx,%esi,1)
52787f:	6a 00                	push   $0x0
527881:	e8 4a ec ff ff       	call   0x5264d0
527886:	83 c4 10             	add    $0x10,%esp
527889:	85 c0                	test   %eax,%eax
52788b:	75 13                	jne    0x5278a0
52788d:	8b 45 08             	mov    0x8(%ebp),%eax
527890:	47                   	inc    %edi
527891:	8b 55 fc             	mov    -0x4(%ebp),%edx
527894:	83 c3 14             	add    $0x14,%ebx
527897:	83 c6 14             	add    $0x14,%esi
52789a:	3b 38                	cmp    (%eax),%edi
52789c:	7c d2                	jl     0x527870
52789e:	33 c0                	xor    %eax,%eax
5278a0:	5f                   	pop    %edi
5278a1:	5e                   	pop    %esi
5278a2:	5b                   	pop    %ebx
5278a3:	8b e5                	mov    %ebp,%esp
5278a5:	5d                   	pop    %ebp
5278a6:	c3                   	ret
5278a7:	5f                   	pop    %edi
5278a8:	5e                   	pop    %esi
5278a9:	b8 01 00 00 00       	mov    $0x1,%eax
5278ae:	5b                   	pop    %ebx
5278af:	8b e5                	mov    %ebp,%esp
5278b1:	5d                   	pop    %ebp
5278b2:	c3                   	ret
5278b3:	cc                   	int3
5278b4:	cc                   	int3
5278b5:	cc                   	int3
5278b6:	cc                   	int3
5278b7:	cc                   	int3
5278b8:	cc                   	int3
5278b9:	cc                   	int3
5278ba:	cc                   	int3
5278bb:	cc                   	int3
5278bc:	cc                   	int3
5278bd:	cc                   	int3
5278be:	cc                   	int3
5278bf:	cc                   	int3
5278c0:	55                   	push   %ebp
5278c1:	8b ec                	mov    %esp,%ebp
5278c3:	83 ec 18             	sub    $0x18,%esp
5278c6:	56                   	push   %esi
5278c7:	8b 75 0c             	mov    0xc(%ebp),%esi
5278ca:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5278d1:	85 f6                	test   %esi,%esi
5278d3:	75 07                	jne    0x5278dc
5278d5:	33 c0                	xor    %eax,%eax
5278d7:	5e                   	pop    %esi
5278d8:	8b e5                	mov    %ebp,%esp
5278da:	5d                   	pop    %ebp
5278db:	c3                   	ret
5278dc:	57                   	push   %edi
5278dd:	8b 7d 08             	mov    0x8(%ebp),%edi
5278e0:	85 ff                	test   %edi,%edi
5278e2:	74 28                	je     0x52790c
5278e4:	3b b7 4c 01 00 00    	cmp    0x14c(%edi),%esi
5278ea:	73 20                	jae    0x52790c
5278ec:	3b b7 44 01 00 00    	cmp    0x144(%edi),%esi
5278f2:	72 07                	jb     0x5278fb