47827d:	e8 f4 0c 00 00       	call   0x478f76
478282:	eb 05                	jmp    0x478289
478284:	e8 c1 0c 00 00       	call   0x478f4a
478289:	84 c0                	test   %al,%al
47828b:	75 07                	jne    0x478294
47828d:	32 c0                	xor    %al,%al
47828f:	e9 65 02 00 00       	jmp    0x4784f9
478294:	38 5e 2c             	cmp    %bl,0x2c(%esi)
478297:	0f 85 5a 02 00 00    	jne    0x4784f7
47829d:	8b 46 1c             	mov    0x1c(%esi),%eax
4782a0:	33 d2                	xor    %edx,%edx
4782a2:	c1 e8 04             	shr    $0x4,%eax
4782a5:	42                   	inc    %edx
4782a6:	66 89 5d f0          	mov    %bx,-0x10(%ebp)
4782aa:	8b cb                	mov    %ebx,%ecx
4782ac:	88 5d f2             	mov    %bl,-0xe(%ebp)
4782af:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4782b2:	84 c2                	test   %al,%dl
4782b4:	74 32                	je     0x4782e8
4782b6:	8b 46 1c             	mov    0x1c(%esi),%eax
4782b9:	c1 e8 06             	shr    $0x6,%eax
4782bc:	84 c2                	test   %al,%dl
4782be:	74 06                	je     0x4782c6
4782c0:	c6 45 f0 2d          	movb   $0x2d,-0x10(%ebp)
4782c4:	eb 09                	jmp    0x4782cf
4782c6:	84 56 1c             	test   %dl,0x1c(%esi)
4782c9:	74 0b                	je     0x4782d6
4782cb:	c6 45 f0 2b          	movb   $0x2b,-0x10(%ebp)
4782cf:	8b ca                	mov    %edx,%ecx
4782d1:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4782d4:	eb 12                	jmp    0x4782e8
4782d6:	8b 46 1c             	mov    0x1c(%esi),%eax
4782d9:	d1 e8                	shr    $1,%eax
4782db:	84 c2                	test   %al,%dl
4782dd:	74 09                	je     0x4782e8
4782df:	c6 45 f0 20          	movb   $0x20,-0x10(%ebp)
4782e3:	8b ca                	mov    %edx,%ecx
4782e5:	89 55 ec             	mov    %edx,-0x14(%ebp)
4782e8:	8a 56 2d             	mov    0x2d(%esi),%dl
4782eb:	80 fa 78             	cmp    $0x78,%dl
4782ee:	74 05                	je     0x4782f5
4782f0:	80 fa 58             	cmp    $0x58,%dl
4782f3:	75 0c                	jne    0x478301
4782f5:	8b 46 1c             	mov    0x1c(%esi),%eax
4782f8:	c1 e8 05             	shr    $0x5,%eax
4782fb:	b4 01                	mov    $0x1,%ah
4782fd:	a8 01                	test   $0x1,%al
4782ff:	75 02                	jne    0x478303
478301:	8a e3                	mov    %bl,%ah
478303:	80 fa 61             	cmp    $0x61,%dl
478306:	74 07                	je     0x47830f
478308:	8a c3                	mov    %bl,%al
47830a:	80 fa 41             	cmp    $0x41,%dl
47830d:	75 02                	jne    0x478311
47830f:	b0 01                	mov    $0x1,%al
478311:	84 e4                	test   %ah,%ah
478313:	75 04                	jne    0x478319
478315:	84 c0                	test   %al,%al
478317:	74 1f                	je     0x478338
478319:	c6 44 0d f0 30       	movb   $0x30,-0x10(%ebp,%ecx,1)
47831e:	80 fa 58             	cmp    $0x58,%dl
478321:	74 09                	je     0x47832c
478323:	80 fa 41             	cmp    $0x41,%dl
478326:	74 04                	je     0x47832c
478328:	b0 78                	mov    $0x78,%al
47832a:	eb 03                	jmp    0x47832f
47832c:	6a 58                	push   $0x58
47832e:	58                   	pop    %eax
47832f:	88 44 0d f1          	mov    %al,-0xf(%ebp,%ecx,1)
478333:	03 cf                	add    %edi,%ecx
478335:	89 4d ec             	mov    %ecx,-0x14(%ebp)
478338:	8b 56 20             	mov    0x20(%esi),%edx
47833b:	2b d1                	sub    %ecx,%edx
47833d:	2b 56 34             	sub    0x34(%esi),%edx
478340:	f6 46 1c 0c          	testb  $0xc,0x1c(%esi)
478344:	89 55 e4             	mov    %edx,-0x1c(%ebp)
478347:	75 5a                	jne    0x4783a3
478349:	89 5d e8             	mov    %ebx,-0x18(%ebp)
47834c:	85 d2                	test   %edx,%edx
47834e:	7e 53                	jle    0x4783a3
478350:	8b 5e 14             	mov    0x14(%esi),%ebx
478353:	8b 4d e8             	mov    -0x18(%ebp),%ecx
478356:	8b be 48 04 00 00    	mov    0x448(%esi),%edi
47835c:	8b 47 08             	mov    0x8(%edi),%eax
47835f:	3b 47 04             	cmp    0x4(%edi),%eax
478362:	75 11                	jne    0x478375
478364:	80 7f 0c 00          	cmpb   $0x0,0xc(%edi)
478368:	74 03                	je     0x47836d
47836a:	43                   	inc    %ebx
47836b:	eb 03                	jmp    0x478370
47836d:	83 cb ff             	or     $0xffffffff,%ebx
478370:	89 5e 14             	mov    %ebx,0x14(%esi)
478373:	eb 1c                	jmp    0x478391
478375:	8d 43 01             	lea    0x1(%ebx),%eax
478378:	89 46 14             	mov    %eax,0x14(%esi)
47837b:	ff 47 08             	incl   0x8(%edi)
47837e:	8b 86 48 04 00 00    	mov    0x448(%esi),%eax
478384:	8b 00                	mov    (%eax),%eax
478386:	c6 00 20             	movb   $0x20,(%eax)
478389:	8b 86 48 04 00 00    	mov    0x448(%esi),%eax
47838f:	ff 00                	incl   (%eax)
478391:	8b 5e 14             	mov    0x14(%esi),%ebx
478394:	83 fb ff             	cmp    $0xffffffff,%ebx
478397:	74 05                	je     0x47839e
478399:	41                   	inc    %ecx
47839a:	3b ca                	cmp    %edx,%ecx
47839c:	7c b8                	jl     0x478356
47839e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4783a1:	33 db                	xor    %ebx,%ebx
4783a3:	ff 76 08             	push   0x8(%esi)
4783a6:	8d 7e 14             	lea    0x14(%esi),%edi
4783a9:	57                   	push   %edi
4783aa:	51                   	push   %ecx
4783ab:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
4783b1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4783b4:	89 45 e8             	mov    %eax,-0x18(%ebp)
4783b7:	51                   	push   %ecx
4783b8:	8b c8                	mov    %eax,%ecx
4783ba:	e8 f8 0d 00 00       	call   0x4791b7
4783bf:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4783c2:	8d 96 48 04 00 00    	lea    0x448(%esi),%edx
4783c8:	8b c1                	mov    %ecx,%eax
4783ca:	c1 e8 03             	shr    $0x3,%eax
4783cd:	a8 01                	test   $0x1,%al
4783cf:	74 57                	je     0x478428
4783d1:	c1 e9 02             	shr    $0x2,%ecx
4783d4:	f6 c1 01             	test   $0x1,%cl
4783d7:	75 4f                	jne    0x478428
4783d9:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4783dc:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4783df:	85 c9                	test   %ecx,%ecx
4783e1:	7e 45                	jle    0x478428
4783e3:	8b 02                	mov    (%edx),%eax
4783e5:	89 45 ec             	mov    %eax,-0x14(%ebp)
4783e8:	8b d8                	mov    %eax,%ebx
4783ea:	8b 40 08             	mov    0x8(%eax),%eax
4783ed:	3b 43 04             	cmp    0x4(%ebx),%eax
4783f0:	8b c3                	mov    %ebx,%eax
4783f2:	75 12                	jne    0x478406
4783f4:	80 78 0c 00          	cmpb   $0x0,0xc(%eax)
4783f8:	74 05                	je     0x4783ff
4783fa:	8b 07                	mov    (%edi),%eax
4783fc:	40                   	inc    %eax
4783fd:	eb 03                	jmp    0x478402
4783ff:	83 c8 ff             	or     $0xffffffff,%eax
478402:	89 07                	mov    %eax,(%edi)
478404:	eb 10                	jmp    0x478416
478406:	ff 07                	incl   (%edi)
478408:	ff 40 08             	incl   0x8(%eax)
47840b:	8b 02                	mov    (%edx),%eax
47840d:	8b 00                	mov    (%eax),%eax
47840f:	c6 00 30             	movb   $0x30,(%eax)
478412:	8b 02                	mov    (%edx),%eax
478414:	ff 00                	incl   (%eax)
478416:	83 3f ff             	cmpl   $0xffffffff,(%edi)
478419:	74 0b                	je     0x478426
47841b:	8b 45 f0             	mov    -0x10(%ebp),%eax
47841e:	40                   	inc    %eax
47841f:	89 45 f0             	mov    %eax,-0x10(%ebp)
478422:	3b c1                	cmp    %ecx,%eax
478424:	7c bd                	jl     0x4783e3
478426:	33 db                	xor    %ebx,%ebx
478428:	80 7e 38 00          	cmpb   $0x0,0x38(%esi)
47842c:	74 62                	je     0x478490
47842e:	39 5e 34             	cmp    %ebx,0x34(%esi)
478431:	7e 5d                	jle    0x478490
478433:	8b 4e 30             	mov    0x30(%esi),%ecx
478436:	89 5d f0             	mov    %ebx,-0x10(%ebp)
478439:	ff 76 08             	push   0x8(%esi)
47843c:	0f b7 01             	movzwl (%ecx),%eax
47843f:	83 c1 02             	add    $0x2,%ecx
478442:	50                   	push   %eax
478443:	6a 06                	push   $0x6
478445:	8d 45 f4             	lea    -0xc(%ebp),%eax
478448:	89 5d ec             	mov    %ebx,-0x14(%ebp)
47844b:	50                   	push   %eax
47844c:	8d 45 ec             	lea    -0x14(%ebp),%eax
47844f:	89 4d e0             	mov    %ecx,-0x20(%ebp)
478452:	50                   	push   %eax
478453:	e8 3d e0 00 00       	call   0x486495
478458:	83 c4 14             	add    $0x14,%esp
47845b:	85 c0                	test   %eax,%eax
47845d:	75 2c                	jne    0x47848b
47845f:	39 45 ec             	cmp    %eax,-0x14(%ebp)
478462:	74 27                	je     0x47848b
478464:	ff 76 08             	push   0x8(%esi)
478467:	8d 45 f4             	lea    -0xc(%ebp),%eax
47846a:	57                   	push   %edi
47846b:	ff 75 ec             	push   -0x14(%ebp)
47846e:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
478474:	50                   	push   %eax
478475:	e8 3d 0d 00 00       	call   0x4791b7
47847a:	8b 45 f0             	mov    -0x10(%ebp),%eax
47847d:	8b 4d e0             	mov    -0x20(%ebp),%ecx
478480:	40                   	inc    %eax
478481:	89 45 f0             	mov    %eax,-0x10(%ebp)
478484:	3b 46 34             	cmp    0x34(%esi),%eax
478487:	75 b0                	jne    0x478439
478489:	eb 16                	jmp    0x4784a1
47848b:	83 0f ff             	orl    $0xffffffff,(%edi)
47848e:	eb 11                	jmp    0x4784a1
478490:	ff 76 08             	push   0x8(%esi)
478493:	8b ca                	mov    %edx,%ecx
478495:	57                   	push   %edi
478496:	ff 76 34             	push   0x34(%esi)
478499:	ff 76 30             	push   0x30(%esi)
47849c:	e8 16 0d 00 00       	call   0x4791b7
4784a1:	8b 0f                	mov    (%edi),%ecx
4784a3:	85 c9                	test   %ecx,%ecx
4784a5:	78 50                	js     0x4784f7
4784a7:	8b 46 1c             	mov    0x1c(%esi),%eax
4784aa:	c1 e8 02             	shr    $0x2,%eax
4784ad:	a8 01                	test   $0x1,%al
4784af:	74 46                	je     0x4784f7
4784b1:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4784b4:	85 f6                	test   %esi,%esi
4784b6:	7e 3f                	jle    0x4784f7
4784b8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4784bb:	8b 10                	mov    (%eax),%edx
4784bd:	8b 42 08             	mov    0x8(%edx),%eax
4784c0:	3b 42 04             	cmp    0x4(%edx),%eax
4784c3:	75 10                	jne    0x4784d5
4784c5:	80 7a 0c 00          	cmpb   $0x0,0xc(%edx)
4784c9:	74 03                	je     0x4784ce
4784cb:	41                   	inc    %ecx
4784cc:	eb 03                	jmp    0x4784d1
4784ce:	83 c9 ff             	or     $0xffffffff,%ecx
4784d1:	89 0f                	mov    %ecx,(%edi)
4784d3:	eb 16                	jmp    0x4784eb
4784d5:	8d 41 01             	lea    0x1(%ecx),%eax
4784d8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4784db:	89 07                	mov    %eax,(%edi)
4784dd:	ff 42 08             	incl   0x8(%edx)
4784e0:	8b 01                	mov    (%ecx),%eax
4784e2:	8b 00                	mov    (%eax),%eax
4784e4:	c6 00 20             	movb   $0x20,(%eax)
4784e7:	8b 01                	mov    (%ecx),%eax
4784e9:	ff 00                	incl   (%eax)
4784eb:	8b 0f                	mov    (%edi),%ecx
4784ed:	83 f9 ff             	cmp    $0xffffffff,%ecx
4784f0:	74 05                	je     0x4784f7
4784f2:	43                   	inc    %ebx
4784f3:	3b de                	cmp    %esi,%ebx
4784f5:	7c c1                	jl     0x4784b8
4784f7:	b0 01                	mov    $0x1,%al
4784f9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4784fc:	5f                   	pop    %edi
4784fd:	5e                   	pop    %esi
4784fe:	33 cd                	xor    %ebp,%ecx
478500:	5b                   	pop    %ebx
478501:	e8 c4 14 ff ff       	call   0x4699ca
478506:	c9                   	leave
478507:	c3                   	ret
478508:	8b ff                	mov    %edi,%edi
47850a:	55                   	push   %ebp
47850b:	8b ec                	mov    %esp,%ebp
47850d:	83 ec 28             	sub    $0x28,%esp
478510:	a1 14 40 4c 00       	mov    0x4c4014,%eax
478515:	33 c5                	xor    %ebp,%eax
478517:	89 45 fc             	mov    %eax,-0x4(%ebp)
47851a:	53                   	push   %ebx
47851b:	56                   	push   %esi
47851c:	57                   	push   %edi
47851d:	6a 41                	push   $0x41
47851f:	5f                   	pop    %edi
478520:	8b f1                	mov    %ecx,%esi
478522:	89 7d ec             	mov    %edi,-0x14(%ebp)
478525:	6a 02                	push   $0x2
478527:	59                   	pop    %ecx
478528:	33 db                	xor    %ebx,%ebx
47852a:	0f b7 46 2e          	movzwl 0x2e(%esi),%eax
47852e:	6a 58                	push   $0x58
478530:	5a                   	pop    %edx
478531:	83 f8 64             	cmp    $0x64,%eax
478534:	77 6a                	ja     0x4785a0
478536:	0f 84 8c 00 00 00    	je     0x4785c8
47853c:	83 f8 53             	cmp    $0x53,%eax
47853f:	77 2c                	ja     0x47856d
478541:	0f 84 ae 00 00 00    	je     0x4785f5
478547:	2b c7                	sub    %edi,%eax
478549:	74 16                	je     0x478561
47854b:	2b c1                	sub    %ecx,%eax
47854d:	74 33                	je     0x478582
47854f:	2b c1                	sub    %ecx,%eax
478551:	74 0e                	je     0x478561
478553:	83 e8 01             	sub    $0x1,%eax
478556:	74 09                	je     0x478561
478558:	83 e8 01             	sub    $0x1,%eax
47855b:	0f 85 a8 00 00 00    	jne    0x478609
478561:	8b ce                	mov    %esi,%ecx
478563:	e8 3f 06 00 00       	call   0x478ba7
478568:	e9 98 00 00 00       	jmp    0x478605
47856d:	2b c2                	sub    %edx,%eax
47856f:	74 24                	je     0x478595
478571:	2b c1                	sub    %ecx,%eax
478573:	74 17                	je     0x47858c
478575:	83 e8 07             	sub    $0x7,%eax
478578:	74 e7                	je     0x478561
47857a:	2b c1                	sub    %ecx,%eax
47857c:	0f 85 87 00 00 00    	jne    0x478609
478582:	53                   	push   %ebx
478583:	8b ce                	mov    %esi,%ecx
478585:	e8 59 08 00 00       	call   0x478de3
47858a:	eb 79                	jmp    0x478605
47858c:	8b ce                	mov    %esi,%ecx
47858e:	e8 20 04 00 00       	call   0x4789b3
478593:	eb 70                	jmp    0x478605
478595:	6a 01                	push   $0x1
478597:	8b ce                	mov    %esi,%ecx
478599:	e8 59 e4 ff ff       	call   0x4769f7
47859e:	eb 65                	jmp    0x478605
4785a0:	83 f8 6f             	cmp    $0x6f,%eax
4785a3:	77 3a                	ja     0x4785df
4785a5:	74 2f                	je     0x4785d6
4785a7:	83 e8 65             	sub    $0x65,%eax
4785aa:	74 b5                	je     0x478561
4785ac:	83 e8 01             	sub    $0x1,%eax
4785af:	74 b0                	je     0x478561
4785b1:	83 e8 01             	sub    $0x1,%eax
4785b4:	74 ab                	je     0x478561
4785b6:	2b c1                	sub    %ecx,%eax
4785b8:	74 0e                	je     0x4785c8
4785ba:	83 e8 05             	sub    $0x5,%eax
4785bd:	75 4a                	jne    0x478609
4785bf:	8b ce                	mov    %esi,%ecx
4785c1:	e8 c5 08 00 00       	call   0x478e8b
4785c6:	eb 3d                	jmp    0x478605
4785c8:	83 4e 1c 10          	orl    $0x10,0x1c(%esi)
4785cc:	53                   	push   %ebx
4785cd:	8b ce                	mov    %esi,%ecx
4785cf:	e8 04 e1 ff ff       	call   0x4766d8
4785d4:	eb 2f                	jmp    0x478605
4785d6:	8b ce                	mov    %esi,%ecx
4785d8:	e8 50 09 00 00       	call   0x478f2d
4785dd:	eb 26                	jmp    0x478605
4785df:	83 e8 70             	sub    $0x70,%eax
4785e2:	74 1a                	je     0x4785fe
4785e4:	83 e8 03             	sub    $0x3,%eax
4785e7:	74 0c                	je     0x4785f5
4785e9:	2b c1                	sub    %ecx,%eax
4785eb:	74 df                	je     0x4785cc
4785ed:	83 e8 03             	sub    $0x3,%eax
4785f0:	75 17                	jne    0x478609
4785f2:	53                   	push   %ebx
4785f3:	eb a2                	jmp    0x478597
4785f5:	8b ce                	mov    %esi,%ecx
4785f7:	e8 ec 09 00 00       	call   0x478fe8
4785fc:	eb 07                	jmp    0x478605
4785fe:	8b ce                	mov    %esi,%ecx
478600:	e8 5b 09 00 00       	call   0x478f60