4083bf:	0f b6 c0             	movzbl %al,%eax
4083c2:	83 f8 07             	cmp    $0x7,%eax
4083c5:	77 96                	ja     0x40835d
4083c7:	ff 24 85 a7 85 40 00 	jmp    *0x4085a7(,%eax,4)
4083ce:	8b 7e 08             	mov    0x8(%esi),%edi
4083d1:	88 5e 38             	mov    %bl,0x38(%esi)
4083d4:	89 7d f8             	mov    %edi,-0x8(%ebp)
4083d7:	38 5f 14             	cmp    %bl,0x14(%edi)
4083da:	75 0d                	jne    0x4083e9
4083dc:	8b cf                	mov    %edi,%ecx
4083de:	e8 bd 0a 00 00       	call   0x408ea0
4083e3:	8b 46 08             	mov    0x8(%esi),%eax
4083e6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4083e9:	8a 46 2d             	mov    0x2d(%esi),%al
4083ec:	89 45 ec             	mov    %eax,-0x14(%ebp)
4083ef:	88 45 f4             	mov    %al,-0xc(%ebp)
4083f2:	0f be c0             	movsbl %al,%eax
4083f5:	68 00 80 00 00       	push   $0x8000
4083fa:	50                   	push   %eax
4083fb:	8b 47 0c             	mov    0xc(%edi),%eax
4083fe:	ff 30                	push   (%eax)
408400:	e8 50 0c 00 00       	call   0x409055
408405:	83 c4 0c             	add    $0xc,%esp
408408:	8d 7e 14             	lea    0x14(%esi),%edi
40840b:	85 c0                	test   %eax,%eax
40840d:	74 29                	je     0x408438
40840f:	ff 75 f8             	push   -0x8(%ebp)
408412:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
408418:	57                   	push   %edi
408419:	ff 75 ec             	push   -0x14(%ebp)
40841c:	e8 2d 0b 00 00       	call   0x408f4e
408421:	8b 46 0c             	mov    0xc(%esi),%eax
408424:	8a 08                	mov    (%eax),%cl
408426:	40                   	inc    %eax
408427:	89 46 0c             	mov    %eax,0xc(%esi)
40842a:	88 4e 2d             	mov    %cl,0x2d(%esi)
40842d:	84 c9                	test   %cl,%cl
40842f:	0f 84 24 01 00 00    	je     0x408559
408435:	88 4d f4             	mov    %cl,-0xc(%ebp)
408438:	ff 76 08             	push   0x8(%esi)
40843b:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
408441:	57                   	push   %edi
408442:	ff 75 f4             	push   -0xc(%ebp)
408445:	e8 04 0b 00 00       	call   0x408f4e
40844a:	e9 d0 00 00 00       	jmp    0x40851f
40844f:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
408453:	89 5e 20             	mov    %ebx,0x20(%esi)
408456:	88 5e 2c             	mov    %bl,0x2c(%esi)
408459:	89 5e 1c             	mov    %ebx,0x1c(%esi)
40845c:	89 5e 28             	mov    %ebx,0x28(%esi)
40845f:	88 5e 38             	mov    %bl,0x38(%esi)
408462:	e9 b8 00 00 00       	jmp    0x40851f
408467:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
40846b:	83 e8 20             	sub    $0x20,%eax
40846e:	74 37                	je     0x4084a7
408470:	83 e8 03             	sub    $0x3,%eax
408473:	74 2c                	je     0x4084a1
408475:	83 e8 08             	sub    $0x8,%eax
408478:	74 21                	je     0x40849b
40847a:	48                   	dec    %eax
40847b:	83 e8 01             	sub    $0x1,%eax
40847e:	74 12                	je     0x408492
408480:	83 e8 03             	sub    $0x3,%eax
408483:	0f 85 96 00 00 00    	jne    0x40851f
408489:	83 4e 1c 08          	orl    $0x8,0x1c(%esi)
40848d:	e9 8d 00 00 00       	jmp    0x40851f
408492:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
408496:	e9 84 00 00 00       	jmp    0x40851f
40849b:	83 4e 1c 01          	orl    $0x1,0x1c(%esi)
40849f:	eb 7e                	jmp    0x40851f
4084a1:	83 4e 1c 20          	orl    $0x20,0x1c(%esi)
4084a5:	eb 78                	jmp    0x40851f
4084a7:	83 4e 1c 02          	orl    $0x2,0x1c(%esi)
4084ab:	eb 72                	jmp    0x40851f
4084ad:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
4084b1:	74 0d                	je     0x4084c0
4084b3:	8d 46 20             	lea    0x20(%esi),%eax
4084b6:	50                   	push   %eax
4084b7:	8b ce                	mov    %esi,%ecx
4084b9:	e8 e1 fd ff ff       	call   0x40829f
4084be:	eb 57                	jmp    0x408517
4084c0:	8b 4e 10             	mov    0x10(%esi),%ecx
4084c3:	8d 41 04             	lea    0x4(%ecx),%eax
4084c6:	89 46 10             	mov    %eax,0x10(%esi)
4084c9:	8b 01                	mov    (%ecx),%eax
4084cb:	89 46 20             	mov    %eax,0x20(%esi)
4084ce:	85 c0                	test   %eax,%eax
4084d0:	79 09                	jns    0x4084db
4084d2:	83 4e 1c 04          	orl    $0x4,0x1c(%esi)
4084d6:	f7 d8                	neg    %eax
4084d8:	89 46 20             	mov    %eax,0x20(%esi)
4084db:	b0 01                	mov    $0x1,%al
4084dd:	eb 38                	jmp    0x408517
4084df:	89 5e 24             	mov    %ebx,0x24(%esi)
4084e2:	eb 3b                	jmp    0x40851f
4084e4:	80 7d ff 2a          	cmpb   $0x2a,-0x1(%ebp)
4084e8:	74 05                	je     0x4084ef
4084ea:	8d 46 24             	lea    0x24(%esi),%eax
4084ed:	eb c7                	jmp    0x4084b6
4084ef:	8b 4e 10             	mov    0x10(%esi),%ecx
4084f2:	8d 41 04             	lea    0x4(%ecx),%eax
4084f5:	89 46 10             	mov    %eax,0x10(%esi)
4084f8:	8b 01                	mov    (%ecx),%eax
4084fa:	89 46 24             	mov    %eax,0x24(%esi)
4084fd:	85 c0                	test   %eax,%eax
4084ff:	79 da                	jns    0x4084db
408501:	83 4e 24 ff          	orl    $0xffffffff,0x24(%esi)
408505:	eb d4                	jmp    0x4084db
408507:	8b ce                	mov    %esi,%ecx
408509:	e8 b9 00 00 00       	call   0x4085c7
40850e:	eb 07                	jmp    0x408517
408510:	8b ce                	mov    %esi,%ecx
408512:	e8 09 02 00 00       	call   0x408720
408517:	84 c0                	test   %al,%al
408519:	0f 84 3e fe ff ff    	je     0x40835d
40851f:	8b 46 0c             	mov    0xc(%esi),%eax
408522:	8a 10                	mov    (%eax),%dl
408524:	8d 48 01             	lea    0x1(%eax),%ecx
408527:	89 4e 0c             	mov    %ecx,0xc(%esi)
40852a:	8d 46 14             	lea    0x14(%esi),%eax
40852d:	88 55 ff             	mov    %dl,-0x1(%ebp)
408530:	88 56 2d             	mov    %dl,0x2d(%esi)
408533:	88 55 f0             	mov    %dl,-0x10(%ebp)
408536:	84 d2                	test   %dl,%dl
408538:	0f 85 5f fe ff ff    	jne    0x40839d
40853e:	ff 86 50 04 00 00    	incl   0x450(%esi)
408544:	83 be 50 04 00 00 02 	cmpl   $0x2,0x450(%esi)
40854b:	0f 85 2c fe ff ff    	jne    0x40837d
408551:	8b 46 14             	mov    0x14(%esi),%eax
408554:	e9 07 fe ff ff       	jmp    0x408360
408559:	8b 46 08             	mov    0x8(%esi),%eax
40855c:	6a 16                	push   $0x16
40855e:	5f                   	pop    %edi
40855f:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
408563:	89 78 18             	mov    %edi,0x18(%eax)
408566:	ff 76 08             	push   0x8(%esi)
408569:	53                   	push   %ebx
40856a:	53                   	push   %ebx
40856b:	53                   	push   %ebx
40856c:	53                   	push   %ebx
40856d:	53                   	push   %ebx
40856e:	e8 d9 ee ff ff       	call   0x40744c
408573:	8b 46 08             	mov    0x8(%esi),%eax
408576:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
40857a:	89 78 18             	mov    %edi,0x18(%eax)
40857d:	ff 76 08             	push   0x8(%esi)
408580:	53                   	push   %ebx
408581:	53                   	push   %ebx
408582:	53                   	push   %ebx
408583:	53                   	push   %ebx
408584:	53                   	push   %ebx
408585:	e8 c2 ee ff ff       	call   0x40744c
40858a:	83 c4 30             	add    $0x30,%esp
40858d:	e9 cb fd ff ff       	jmp    0x40835d
408592:	8b 4e 08             	mov    0x8(%esi),%ecx
408595:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
408599:	c7 41 18 16 00 00 00 	movl   $0x16,0x18(%ecx)
4085a0:	e9 a8 fd ff ff       	jmp    0x40834d
4085a5:	8b ff                	mov    %edi,%edi
4085a7:	ce                   	into
4085a8:	83 40 00 4f          	addl   $0x4f,0x0(%eax)
4085ac:	84 40 00             	test   %al,0x0(%eax)
4085af:	67 84 40 00          	test   %al,0x0(%bx,%si)
4085b3:	ad                   	lods   %ds:(%esi),%eax
4085b4:	84 40 00             	test   %al,0x0(%eax)
4085b7:	df 84 40 00 e4 84 40 	filds  0x4084e400(%eax,%eax,2)
4085be:	00 07                	add    %al,(%edi)
4085c0:	85 40 00             	test   %eax,0x0(%eax)
4085c3:	10 85 40 00 8a 41    	adc    %al,0x418a0040(%ebp)
4085c9:	2d 3c 46 75 17       	sub    $0x1775463c,%eax
4085ce:	8b 01                	mov    (%ecx),%eax
4085d0:	83 e0 08             	and    $0x8,%eax
4085d3:	83 c8 00             	or     $0x0,%eax
4085d6:	0f 85 41 01 00 00    	jne    0x40871d
4085dc:	c6 41 18 07          	movb   $0x7,0x18(%ecx)
4085e0:	e9 3b 01 00 00       	jmp    0x408720
4085e5:	33 d2                	xor    %edx,%edx
4085e7:	3c 4e                	cmp    $0x4e,%al
4085e9:	75 34                	jne    0x40861f
4085eb:	8b 01                	mov    (%ecx),%eax
4085ed:	83 e0 08             	and    $0x8,%eax
4085f0:	0b c2                	or     %edx,%eax
4085f2:	0f 85 25 01 00 00    	jne    0x40871d
4085f8:	c6 41 18 08          	movb   $0x8,0x18(%ecx)
4085fc:	8b 41 08             	mov    0x8(%ecx),%eax
4085ff:	83 c0 18             	add    $0x18,%eax
408602:	c6 40 04 01          	movb   $0x1,0x4(%eax)
408606:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40860c:	ff 71 08             	push   0x8(%ecx)
40860f:	52                   	push   %edx
408610:	52                   	push   %edx
408611:	52                   	push   %edx
408612:	52                   	push   %edx
408613:	52                   	push   %edx
408614:	e8 33 ee ff ff       	call   0x40744c
408619:	83 c4 18             	add    $0x18,%esp
40861c:	32 c0                	xor    %al,%al
40861e:	c3                   	ret
40861f:	39 51 28             	cmp    %edx,0x28(%ecx)
408622:	75 d8                	jne    0x4085fc
408624:	3c 6a                	cmp    $0x6a,%al
408626:	0f 8f b0 00 00 00    	jg     0x4086dc
40862c:	0f 84 a1 00 00 00    	je     0x4086d3
408632:	3c 49                	cmp    $0x49,%al
408634:	74 43                	je     0x408679
408636:	3c 4c                	cmp    $0x4c,%al
408638:	74 33                	je     0x40866d
40863a:	3c 54                	cmp    $0x54,%al
40863c:	74 23                	je     0x408661
40863e:	3c 68                	cmp    $0x68,%al
408640:	0f 85 d7 00 00 00    	jne    0x40871d
408646:	8b 41 0c             	mov    0xc(%ecx),%eax
408649:	80 38 68             	cmpb   $0x68,(%eax)
40864c:	75 0c                	jne    0x40865a
40864e:	40                   	inc    %eax
40864f:	89 41 0c             	mov    %eax,0xc(%ecx)
408652:	33 c0                	xor    %eax,%eax
408654:	40                   	inc    %eax
408655:	e9 c0 00 00 00       	jmp    0x40871a
40865a:	6a 02                	push   $0x2
40865c:	e9 b8 00 00 00       	jmp    0x408719
408661:	c7 41 28 0d 00 00 00 	movl   $0xd,0x28(%ecx)
408668:	e9 b0 00 00 00       	jmp    0x40871d
40866d:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
408674:	e9 a4 00 00 00       	jmp    0x40871d
408679:	56                   	push   %esi
40867a:	8b 71 0c             	mov    0xc(%ecx),%esi
40867d:	8a 06                	mov    (%esi),%al
40867f:	3c 33                	cmp    $0x33,%al
408681:	75 15                	jne    0x408698
408683:	80 7e 01 32          	cmpb   $0x32,0x1(%esi)
408687:	75 0f                	jne    0x408698
408689:	8d 46 02             	lea    0x2(%esi),%eax
40868c:	c7 41 28 0a 00 00 00 	movl   $0xa,0x28(%ecx)
408693:	89 41 0c             	mov    %eax,0xc(%ecx)
408696:	eb 38                	jmp    0x4086d0
408698:	3c 36                	cmp    $0x36,%al
40869a:	75 15                	jne    0x4086b1
40869c:	80 7e 01 34          	cmpb   $0x34,0x1(%esi)
4086a0:	75 2e                	jne    0x4086d0
4086a2:	8d 46 02             	lea    0x2(%esi),%eax
4086a5:	c7 41 28 0b 00 00 00 	movl   $0xb,0x28(%ecx)
4086ac:	89 41 0c             	mov    %eax,0xc(%ecx)
4086af:	eb 1f                	jmp    0x4086d0
4086b1:	3c 64                	cmp    $0x64,%al
4086b3:	74 14                	je     0x4086c9
4086b5:	3c 69                	cmp    $0x69,%al
4086b7:	74 10                	je     0x4086c9
4086b9:	3c 6f                	cmp    $0x6f,%al
4086bb:	74 0c                	je     0x4086c9
4086bd:	3c 75                	cmp    $0x75,%al
4086bf:	74 08                	je     0x4086c9
4086c1:	3c 78                	cmp    $0x78,%al
4086c3:	74 04                	je     0x4086c9
4086c5:	3c 58                	cmp    $0x58,%al
4086c7:	75 07                	jne    0x4086d0
4086c9:	c7 41 28 09 00 00 00 	movl   $0x9,0x28(%ecx)
4086d0:	5e                   	pop    %esi
4086d1:	eb 4a                	jmp    0x40871d
4086d3:	c7 41 28 05 00 00 00 	movl   $0x5,0x28(%ecx)
4086da:	eb 41                	jmp    0x40871d
4086dc:	3c 6c                	cmp    $0x6c,%al
4086de:	74 27                	je     0x408707
4086e0:	3c 74                	cmp    $0x74,%al
4086e2:	74 1a                	je     0x4086fe
4086e4:	3c 77                	cmp    $0x77,%al
4086e6:	74 0d                	je     0x4086f5
4086e8:	3c 7a                	cmp    $0x7a,%al
4086ea:	75 31                	jne    0x40871d
4086ec:	c7 41 28 06 00 00 00 	movl   $0x6,0x28(%ecx)
4086f3:	eb 28                	jmp    0x40871d
4086f5:	c7 41 28 0c 00 00 00 	movl   $0xc,0x28(%ecx)
4086fc:	eb 1f                	jmp    0x40871d
4086fe:	c7 41 28 07 00 00 00 	movl   $0x7,0x28(%ecx)
408705:	eb 16                	jmp    0x40871d
408707:	8b 41 0c             	mov    0xc(%ecx),%eax
40870a:	80 38 6c             	cmpb   $0x6c,(%eax)
40870d:	75 08                	jne    0x408717
40870f:	40                   	inc    %eax
408710:	89 41 0c             	mov    %eax,0xc(%ecx)
408713:	6a 04                	push   $0x4
408715:	eb 02                	jmp    0x408719
408717:	6a 03                	push   $0x3
408719:	58                   	pop    %eax
40871a:	89 41 28             	mov    %eax,0x28(%ecx)
40871d:	b0 01                	mov    $0x1,%al
40871f:	c3                   	ret
408720:	8b ff                	mov    %edi,%edi
408722:	55                   	push   %ebp
408723:	8b ec                	mov    %esp,%ebp
408725:	83 ec 20             	sub    $0x20,%esp
408728:	a1 c0 10 42 00       	mov    0x4210c0,%eax
40872d:	33 c5                	xor    %ebp,%eax
40872f:	89 45 fc             	mov    %eax,-0x4(%ebp)
408732:	53                   	push   %ebx
408733:	56                   	push   %esi
408734:	8b f1                	mov    %ecx,%esi
408736:	33 db                	xor    %ebx,%ebx
408738:	6a 02                	push   $0x2
40873a:	59                   	pop    %ecx
40873b:	0f be 46 2d          	movsbl 0x2d(%esi),%eax
40873f:	83 f8 64             	cmp    $0x64,%eax
408742:	7f 6c                	jg     0x4087b0
408744:	0f 84 8e 00 00 00    	je     0x4087d8
40874a:	83 f8 53             	cmp    $0x53,%eax
40874d:	7f 2d                	jg     0x40877c
40874f:	0f 84 b0 00 00 00    	je     0x408805
408755:	83 e8 41             	sub    $0x41,%eax
408758:	74 16                	je     0x408770
40875a:	2b c1                	sub    %ecx,%eax
40875c:	74 34                	je     0x408792
40875e:	2b c1                	sub    %ecx,%eax
408760:	74 0e                	je     0x408770
408762:	83 e8 01             	sub    $0x1,%eax
408765:	74 09                	je     0x408770
408767:	83 e8 01             	sub    $0x1,%eax
40876a:	0f 85 a9 00 00 00    	jne    0x408819
408770:	8b ce                	mov    %esi,%ecx
408772:	e8 a2 03 00 00       	call   0x408b19
408777:	e9 99 00 00 00       	jmp    0x408815
40877c:	83 e8 58             	sub    $0x58,%eax
40877f:	74 24                	je     0x4087a5
408781:	2b c1                	sub    %ecx,%eax
408783:	74 17                	je     0x40879c
408785:	83 e8 07             	sub    $0x7,%eax
408788:	74 e6                	je     0x408770
40878a:	2b c1                	sub    %ecx,%eax
40878c:	0f 85 87 00 00 00    	jne    0x408819
408792:	53                   	push   %ebx
408793:	8b ce                	mov    %esi,%ecx
408795:	e8 10 05 00 00       	call   0x408caa
40879a:	eb 79                	jmp    0x408815
40879c:	8b ce                	mov    %esi,%ecx
40879e:	e8 13 03 00 00       	call   0x408ab6
4087a3:	eb 70                	jmp    0x408815
4087a5:	6a 01                	push   $0x1
4087a7:	8b ce                	mov    %esi,%ecx
4087a9:	e8 1c f4 ff ff       	call   0x407bca
4087ae:	eb 65                	jmp    0x408815
4087b0:	83 f8 6f             	cmp    $0x6f,%eax
4087b3:	7f 3a                	jg     0x4087ef
4087b5:	74 2f                	je     0x4087e6
4087b7:	83 e8 65             	sub    $0x65,%eax
4087ba:	74 b4                	je     0x408770
4087bc:	83 e8 01             	sub    $0x1,%eax
4087bf:	74 af                	je     0x408770
4087c1:	83 e8 01             	sub    $0x1,%eax
4087c4:	74 aa                	je     0x408770
4087c6:	2b c1                	sub    %ecx,%eax
4087c8:	74 0e                	je     0x4087d8