52849b:	8b 45 98             	mov    -0x68(%ebp),%eax
52849e:	89 75 a4             	mov    %esi,-0x5c(%ebp)
5284a1:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5284a4:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5284a7:	8b 48 0c             	mov    0xc(%eax),%ecx
5284aa:	8a 19                	mov    (%ecx),%bl
5284ac:	8a c3                	mov    %bl,%al
5284ae:	3c ad                	cmp    $0xad,%al
5284b0:	75 03                	jne    0x5284b5
5284b2:	8a 41 02             	mov    0x2(%ecx),%al
5284b5:	3c ae                	cmp    $0xae,%al
5284b7:	75 07                	jne    0x5284c0
5284b9:	8b 51 14             	mov    0x14(%ecx),%edx
5284bc:	8b 02                	mov    (%edx),%eax
5284be:	eb 0c                	jmp    0x5284cc
5284c0:	3c 88                	cmp    $0x88,%al
5284c2:	75 25                	jne    0x5284e9
5284c4:	8b 51 14             	mov    0x14(%ecx),%edx
5284c7:	8b 42 1c             	mov    0x1c(%edx),%eax
5284ca:	8b 00                	mov    (%eax),%eax
5284cc:	83 f8 01             	cmp    $0x1,%eax
5284cf:	7e 18                	jle    0x5284e9
5284d1:	80 fb 88             	cmp    $0x88,%bl
5284d4:	74 0c                	je     0x5284e2
5284d6:	80 79 02 88          	cmpb   $0x88,0x2(%ecx)
5284da:	74 06                	je     0x5284e2
5284dc:	8b 4c 16 04          	mov    0x4(%esi,%edx,1),%ecx
5284e0:	eb 07                	jmp    0x5284e9
5284e2:	8b 42 1c             	mov    0x1c(%edx),%eax
5284e5:	8b 4c 30 04          	mov    0x4(%eax,%esi,1),%ecx
5284e9:	f7 41 04 00 01 00 00 	testl  $0x100,0x4(%ecx)
5284f0:	8b 45 a8             	mov    -0x58(%ebp),%eax
5284f3:	8b 74 30 04          	mov    0x4(%eax,%esi,1),%esi
5284f7:	74 06                	je     0x5284ff
5284f9:	51                   	push   %ecx
5284fa:	ff 75 dc             	push   -0x24(%ebp)
5284fd:	eb 29                	jmp    0x528528
5284ff:	85 f6                	test   %esi,%esi
528501:	74 0f                	je     0x528512
528503:	f7 46 04 00 01 00 00 	testl  $0x100,0x4(%esi)
52850a:	74 06                	je     0x528512
52850c:	56                   	push   %esi
52850d:	ff 75 dc             	push   -0x24(%ebp)
528510:	eb 16                	jmp    0x528528
528512:	8b 5d dc             	mov    -0x24(%ebp),%ebx
528515:	51                   	push   %ecx
528516:	53                   	push   %ebx
528517:	e8 c4 dd ff ff       	call   0x5262e0
52851c:	83 c4 08             	add    $0x8,%esp
52851f:	89 45 c8             	mov    %eax,-0x38(%ebp)
528522:	85 c0                	test   %eax,%eax
528524:	75 0d                	jne    0x528533
528526:	56                   	push   %esi
528527:	53                   	push   %ebx
528528:	e8 b3 dd ff ff       	call   0x5262e0
52852d:	83 c4 08             	add    $0x8,%esp
528530:	89 45 c8             	mov    %eax,-0x38(%ebp)
528533:	0f b7 4e 20          	movzwl 0x20(%esi),%ecx
528537:	33 ff                	xor    %edi,%edi
528539:	8b 75 bc             	mov    -0x44(%ebp),%esi
52853c:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
52853f:	8b 5e 04             	mov    0x4(%esi),%ebx
528542:	66 39 0b             	cmp    %cx,(%ebx)
528545:	75 3b                	jne    0x528582
528547:	85 c0                	test   %eax,%eax
528549:	74 43                	je     0x52858e
52854b:	8b 10                	mov    (%eax),%edx
52854d:	8b 46 20             	mov    0x20(%esi),%eax
528550:	8b 34 b8             	mov    (%eax,%edi,4),%esi
528553:	2b f2                	sub    %edx,%esi
528555:	0f b6 02             	movzbl (%edx),%eax
528558:	0f b6 0c 16          	movzbl (%esi,%edx,1),%ecx
52855c:	3b c1                	cmp    %ecx,%eax
52855e:	75 07                	jne    0x528567
528560:	85 c0                	test   %eax,%eax
528562:	74 2a                	je     0x52858e
528564:	42                   	inc    %edx
528565:	eb ee                	jmp    0x528555
528567:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
52856e:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
528575:	2b c1                	sub    %ecx,%eax
528577:	75 03                	jne    0x52857c
528579:	42                   	inc    %edx
52857a:	eb d9                	jmp    0x528555
52857c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
52857f:	8b 75 bc             	mov    -0x44(%ebp),%esi
528582:	8b 45 c8             	mov    -0x38(%ebp),%eax
528585:	47                   	inc    %edi
528586:	83 c3 02             	add    $0x2,%ebx
528589:	3b 7d d8             	cmp    -0x28(%ebp),%edi
52858c:	7c b4                	jl     0x528542
52858e:	8b 5d d8             	mov    -0x28(%ebp),%ebx
528591:	3b fb                	cmp    %ebx,%edi
528593:	74 50                	je     0x5285e5
528595:	33 d2                	xor    %edx,%edx
528597:	8b c7                	mov    %edi,%eax
528599:	0f ab c2             	bts    %eax,%edx
52859c:	33 f6                	xor    %esi,%esi
52859e:	83 f8 20             	cmp    $0x20,%eax
5285a1:	0f 43 f2             	cmovae %edx,%esi
5285a4:	33 d6                	xor    %esi,%edx
5285a6:	83 f8 40             	cmp    $0x40,%eax
5285a9:	8b ca                	mov    %edx,%ecx
5285ab:	0f 43 f2             	cmovae %edx,%esi
5285ae:	23 4d b4             	and    -0x4c(%ebp),%ecx
5285b1:	8b c6                	mov    %esi,%eax
5285b3:	23 45 c0             	and    -0x40(%ebp),%eax
5285b6:	0b c8                	or     %eax,%ecx
5285b8:	75 2b                	jne    0x5285e5
5285ba:	09 55 b4             	or     %edx,-0x4c(%ebp)
5285bd:	09 75 c0             	or     %esi,-0x40(%ebp)
5285c0:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5285c3:	85 c9                	test   %ecx,%ecx
5285c5:	74 06                	je     0x5285cd
5285c7:	8b 45 b8             	mov    -0x48(%ebp),%eax
5285ca:	89 3c 81             	mov    %edi,(%ecx,%eax,4)
5285cd:	8b 7d b8             	mov    -0x48(%ebp),%edi
5285d0:	8b 75 a4             	mov    -0x5c(%ebp),%esi
5285d3:	47                   	inc    %edi
5285d4:	83 c6 14             	add    $0x14,%esi
5285d7:	89 7d b8             	mov    %edi,-0x48(%ebp)
5285da:	89 75 a4             	mov    %esi,-0x5c(%ebp)
5285dd:	3b fb                	cmp    %ebx,%edi
5285df:	0f 8c bf fe ff ff    	jl     0x5284a4
5285e5:	8b 5d bc             	mov    -0x44(%ebp),%ebx
5285e8:	8b 55 d8             	mov    -0x28(%ebp),%edx
5285eb:	8b 75 c0             	mov    -0x40(%ebp),%esi
5285ee:	8b 7d cc             	mov    -0x34(%ebp),%edi
5285f1:	8b c2                	mov    %edx,%eax
5285f3:	33 c9                	xor    %ecx,%ecx
5285f5:	33 d2                	xor    %edx,%edx
5285f7:	0f ab c1             	bts    %eax,%ecx
5285fa:	83 f8 20             	cmp    $0x20,%eax
5285fd:	0f 43 d1             	cmovae %ecx,%edx
528600:	33 ca                	xor    %edx,%ecx
528602:	83 f8 40             	cmp    $0x40,%eax
528605:	0f 43 d1             	cmovae %ecx,%edx
528608:	83 c1 ff             	add    $0xffffffff,%ecx
52860b:	83 d2 ff             	adc    $0xffffffff,%edx
52860e:	39 4d b4             	cmp    %ecx,-0x4c(%ebp)
528611:	0f 85 64 01 00 00    	jne    0x52877b
528617:	3b f2                	cmp    %edx,%esi
528619:	0f 85 5c 01 00 00    	jne    0x52877b
52861f:	8b 7d d0             	mov    -0x30(%ebp),%edi
528622:	8b 77 6c             	mov    0x6c(%edi),%esi
528625:	39 77 70             	cmp    %esi,0x70(%edi)
528628:	7f 20                	jg     0x52864a
52862a:	6a 00                	push   $0x0
52862c:	6a 00                	push   $0x0
52862e:	6a 00                	push   $0x0
528630:	6a 11                	push   $0x11
528632:	57                   	push   %edi
528633:	e8 c8 de fd ff       	call   0x506500
528638:	83 c4 14             	add    $0x14,%esp
52863b:	8b f0                	mov    %eax,%esi
52863d:	eb 3e                	jmp    0x52867d
52863f:	8b 45 98             	mov    -0x68(%ebp),%eax
528642:	8b 75 9c             	mov    -0x64(%ebp),%esi
528645:	89 45 b4             	mov    %eax,-0x4c(%ebp)
528648:	eb a7                	jmp    0x5285f1
52864a:	8d 46 01             	lea    0x1(%esi),%eax
52864d:	89 47 6c             	mov    %eax,0x6c(%edi)
528650:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
528653:	8b 47 68             	mov    0x68(%edi),%eax
528656:	c7 04 88 11 00 00 00 	movl   $0x11,(%eax,%ecx,4)
52865d:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
528664:	00
528665:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
52866c:	00
52866d:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
528674:	00
528675:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52867c:	00
52867d:	ff 33                	push   (%ebx)
52867f:	68 58 91 6b 00       	push   $0x6b9158
528684:	6a 00                	push   $0x0
528686:	ff 75 dc             	push   -0x24(%ebp)
528689:	e8 52 15 02 00       	call   0x549be0
52868e:	8b 4f 6c             	mov    0x6c(%edi),%ecx
528691:	83 c4 10             	add    $0x10,%esp
528694:	8b 53 2c             	mov    0x2c(%ebx),%edx
528697:	39 4f 70             	cmp    %ecx,0x70(%edi)
52869a:	7f 14                	jg     0x5286b0
52869c:	ff 75 b0             	push   -0x50(%ebp)
52869f:	52                   	push   %edx
5286a0:	ff 75 c4             	push   -0x3c(%ebp)
5286a3:	6a 60                	push   $0x60
5286a5:	57                   	push   %edi
5286a6:	e8 55 de fd ff       	call   0x506500
5286ab:	83 c4 14             	add    $0x14,%esp
5286ae:	eb 2d                	jmp    0x5286dd
5286b0:	8d 41 01             	lea    0x1(%ecx),%eax
5286b3:	89 47 6c             	mov    %eax,0x6c(%edi)
5286b6:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
5286b9:	8b 47 68             	mov    0x68(%edi),%eax
5286bc:	8b 7d c4             	mov    -0x3c(%ebp),%edi
5286bf:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
5286c3:	8b 55 b0             	mov    -0x50(%ebp),%edx
5286c6:	c7 04 88 60 00 00 00 	movl   $0x60,(%eax,%ecx,4)
5286cd:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
5286d1:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
5286d5:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
5286dc:	00
5286dd:	8b 45 dc             	mov    -0x24(%ebp),%eax
5286e0:	53                   	push   %ebx
5286e1:	50                   	push   %eax
5286e2:	8b 78 08             	mov    0x8(%eax),%edi
5286e5:	e8 16 76 00 00       	call   0x52fd00
5286ea:	8b d0                	mov    %eax,%edx
5286ec:	83 c4 08             	add    $0x8,%esp
5286ef:	85 d2                	test   %edx,%edx
5286f1:	74 28                	je     0x52871b
5286f3:	8b 07                	mov    (%edi),%eax
5286f5:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
5286f9:	74 0e                	je     0x528709
5286fb:	52                   	push   %edx
5286fc:	6a f7                	push   $0xfffffff7
5286fe:	50                   	push   %eax
5286ff:	e8 ac b5 fd ff       	call   0x503cb0
528704:	83 c4 0c             	add    $0xc,%esp
528707:	eb 12                	jmp    0x52871b
528709:	8b 47 6c             	mov    0x6c(%edi),%eax
52870c:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52870f:	8b 47 68             	mov    0x68(%edi),%eax
528712:	c6 44 88 ed f7       	movb   $0xf7,-0x13(%eax,%ecx,4)
528717:	89 54 88 fc          	mov    %edx,-0x4(%eax,%ecx,4)
52871b:	8b 43 1c             	mov    0x1c(%ebx),%eax
52871e:	8b 55 ac             	mov    -0x54(%ebp),%edx
528721:	0f b6 38             	movzbl (%eax),%edi
528724:	83 c7 03             	add    $0x3,%edi
528727:	89 7d cc             	mov    %edi,-0x34(%ebp)
52872a:	85 d2                	test   %edx,%edx
52872c:	74 22                	je     0x528750
52872e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
528731:	8b 41 2c             	mov    0x2c(%ecx),%eax
528734:	40                   	inc    %eax
528735:	83 7d d8 01          	cmpl   $0x1,-0x28(%ebp)
528739:	89 41 2c             	mov    %eax,0x2c(%ecx)
52873c:	89 02                	mov    %eax,(%edx)
52873e:	75 10                	jne    0x528750
528740:	50                   	push   %eax
528741:	ff 75 c4             	push   -0x3c(%ebp)
528744:	8b 45 d0             	mov    -0x30(%ebp),%eax
528747:	50                   	push   %eax
528748:	e8 53 41 01 00       	call   0x53c8a0
52874d:	83 c4 0c             	add    $0xc,%esp
528750:	8b 45 d0             	mov    -0x30(%ebp),%eax
528753:	8b 50 6c             	mov    0x6c(%eax),%edx
528756:	85 f6                	test   %esi,%esi
528758:	79 03                	jns    0x52875d
52875a:	8d 72 ff             	lea    -0x1(%edx),%esi
52875d:	8b 00                	mov    (%eax),%eax
52875f:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
528763:	74 07                	je     0x52876c
528765:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52876a:	eb 0c                	jmp    0x528778
52876c:	8b 45 d0             	mov    -0x30(%ebp),%eax
52876f:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
528772:	8b 40 68             	mov    0x68(%eax),%eax
528775:	8d 04 88             	lea    (%eax,%ecx,4),%eax
528778:	89 50 08             	mov    %edx,0x8(%eax)
52877b:	8b 55 d8             	mov    -0x28(%ebp),%edx
52877e:	8b 5b 14             	mov    0x14(%ebx),%ebx
528781:	89 5d bc             	mov    %ebx,-0x44(%ebp)
528784:	85 db                	test   %ebx,%ebx
528786:	0f 85 a8 fc ff ff    	jne    0x528434
52878c:	85 ff                	test   %edi,%edi
52878e:	0f 85 bc 00 00 00    	jne    0x528850
528794:	8b 5d dc             	mov    -0x24(%ebp),%ebx
528797:	ba 01 00 00 00       	mov    $0x1,%edx
52879c:	f6 45 10 01          	testb  $0x1,0x10(%ebp)
5287a0:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5287a3:	74 55                	je     0x5287fa
5287a5:	f7 41 04 00 08 00 00 	testl  $0x800,0x4(%ecx)
5287ac:	75 4c                	jne    0x5287fa
5287ae:	8b 71 0c             	mov    0xc(%ecx),%esi
5287b1:	8d 45 e0             	lea    -0x20(%ebp),%eax
5287b4:	51                   	push   %ecx
5287b5:	50                   	push   %eax
5287b6:	c7 41 0c 00 00 00 00 	movl   $0x0,0xc(%ecx)
5287bd:	66 89 55 f4          	mov    %dx,-0xc(%ebp)
5287c1:	c7 45 e4 c0 12 50 00 	movl   $0x5012c0,-0x1c(%ebp)
5287c8:	c7 45 e8 f0 c7 53 00 	movl   $0x53c7f0,-0x18(%ebp)
5287cf:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5287d6:	e8 d5 77 03 00       	call   0x55ffb0
5287db:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5287de:	83 c4 08             	add    $0x8,%esp
5287e1:	66 83 7d f4 00       	cmpw   $0x0,-0xc(%ebp)
5287e6:	89 71 0c             	mov    %esi,0xc(%ecx)
5287e9:	74 08                	je     0x5287f3
5287eb:	8b 41 14             	mov    0x14(%ecx),%eax
5287ee:	83 38 02             	cmpl   $0x2,(%eax)
5287f1:	7f 07                	jg     0x5287fa
5287f3:	bf 05 00 00 00       	mov    $0x5,%edi
5287f8:	eb 59                	jmp    0x528853
5287fa:	8b bb 84 00 00 00    	mov    0x84(%ebx),%edi
528800:	33 f6                	xor    %esi,%esi
528802:	f6 45 10 04          	testb  $0x4,0x10(%ebp)
528806:	b8 02 00 00 00       	mov    $0x2,%eax
52880b:	89 45 cc             	mov    %eax,-0x34(%ebp)
52880e:	74 08                	je     0x528818
528810:	89 b3 84 00 00 00    	mov    %esi,0x84(%ebx)
528816:	eb 0f                	jmp    0x528827
528818:	8b 45 ac             	mov    -0x54(%ebp),%eax
52881b:	85 c0                	test   %eax,%eax
52881d:	74 08                	je     0x528827
52881f:	ff 43 2c             	incl   0x2c(%ebx)
528822:	8b 73 2c             	mov    0x2c(%ebx),%esi
528825:	89 30                	mov    %esi,(%eax)
528827:	ff 75 c4             	push   -0x3c(%ebp)
52882a:	51                   	push   %ecx
52882b:	53                   	push   %ebx
52882c:	e8 df 5f ff ff       	call   0x51e810
528831:	83 c4 0c             	add    $0xc,%esp
528834:	85 f6                	test   %esi,%esi
528836:	74 0f                	je     0x528847
528838:	56                   	push   %esi
528839:	ff 75 c4             	push   -0x3c(%ebp)
52883c:	ff 75 d0             	push   -0x30(%ebp)
52883f:	e8 5c 40 01 00       	call   0x53c8a0
528844:	83 c4 0c             	add    $0xc,%esp
528847:	89 bb 84 00 00 00    	mov    %edi,0x84(%ebx)
52884d:	8b 7d cc             	mov    -0x34(%ebp),%edi
528850:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
528853:	8b 5d a0             	mov    -0x60(%ebp),%ebx
528856:	85 db                	test   %ebx,%ebx
528858:	0f 84 9b 00 00 00    	je     0x5288f9
52885e:	83 ff 03             	cmp    $0x3,%edi
528861:	0f 84 92 00 00 00    	je     0x5288f9
528867:	83 ff 04             	cmp    $0x4,%edi
52886a:	0f 84 89 00 00 00    	je     0x5288f9
528870:	8b 49 0c             	mov    0xc(%ecx),%ecx
528873:	8a 01                	mov    (%ecx),%al
528875:	3c ad                	cmp    $0xad,%al
528877:	75 03                	jne    0x52887c
528879:	8a 41 02             	mov    0x2(%ecx),%al
52887c:	3c ae                	cmp    $0xae,%al
52887e:	75 07                	jne    0x528887
528880:	8b 41 14             	mov    0x14(%ecx),%eax
528883:	8b 10                	mov    (%eax),%edx
528885:	eb 13                	jmp    0x52889a
528887:	3c 88                	cmp    $0x88,%al
528889:	75 0a                	jne    0x528895
52888b:	8b 41 14             	mov    0x14(%ecx),%eax
52888e:	8b 40 1c             	mov    0x1c(%eax),%eax
528891:	8b 10                	mov    (%eax),%edx
528893:	eb 05                	jmp    0x52889a
528895:	ba 01 00 00 00       	mov    $0x1,%edx
52889a:	33 c9                	xor    %ecx,%ecx
52889c:	85 d2                	test   %edx,%edx