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
4087ca:	83 e8 05             	sub    $0x5,%eax
4087cd:	75 4a                	jne    0x408819
4087cf:	8b ce                	mov    %esi,%ecx
4087d1:	e8 69 05 00 00       	call   0x408d3f
4087d6:	eb 3d                	jmp    0x408815
4087d8:	83 4e 1c 10          	orl    $0x10,0x1c(%esi)
4087dc:	53                   	push   %ebx
4087dd:	8b ce                	mov    %esi,%ecx
4087df:	e8 59 f2 ff ff       	call   0x407a3d
4087e4:	eb 2f                	jmp    0x408815
4087e6:	8b ce                	mov    %esi,%ecx
4087e8:	e8 d7 05 00 00       	call   0x408dc4
4087ed:	eb 26                	jmp    0x408815
4087ef:	83 e8 70             	sub    $0x70,%eax
4087f2:	74 1a                	je     0x40880e
4087f4:	83 e8 03             	sub    $0x3,%eax
4087f7:	74 0c                	je     0x408805
4087f9:	2b c1                	sub    %ecx,%eax
4087fb:	74 df                	je     0x4087dc
4087fd:	83 e8 03             	sub    $0x3,%eax
408800:	75 17                	jne    0x408819
408802:	53                   	push   %ebx
408803:	eb a2                	jmp    0x4087a7
408805:	8b ce                	mov    %esi,%ecx
408807:	e8 eb 05 00 00       	call   0x408df7
40880c:	eb 07                	jmp    0x408815
40880e:	8b ce                	mov    %esi,%ecx
408810:	e8 cc 05 00 00       	call   0x408de1
408815:	84 c0                	test   %al,%al
408817:	75 07                	jne    0x408820
408819:	32 c0                	xor    %al,%al
40881b:	e9 34 02 00 00       	jmp    0x408a54
408820:	38 5e 2c             	cmp    %bl,0x2c(%esi)
408823:	0f 85 29 02 00 00    	jne    0x408a52
408829:	8b 56 1c             	mov    0x1c(%esi),%edx
40882c:	33 c9                	xor    %ecx,%ecx
40882e:	8b c2                	mov    %edx,%eax
408830:	66 89 5d f4          	mov    %bx,-0xc(%ebp)
408834:	57                   	push   %edi
408835:	c1 e8 04             	shr    $0x4,%eax
408838:	41                   	inc    %ecx
408839:	88 5d f6             	mov    %bl,-0xa(%ebp)
40883c:	8b fb                	mov    %ebx,%edi
40883e:	89 7d f0             	mov    %edi,-0x10(%ebp)
408841:	84 c1                	test   %al,%cl
408843:	74 2f                	je     0x408874
408845:	8b c2                	mov    %edx,%eax
408847:	c1 e8 06             	shr    $0x6,%eax
40884a:	84 c1                	test   %al,%cl
40884c:	74 06                	je     0x408854
40884e:	c6 45 f4 2d          	movb   $0x2d,-0xc(%ebp)
408852:	eb 08                	jmp    0x40885c
408854:	84 d1                	test   %dl,%cl
408856:	74 0b                	je     0x408863
408858:	c6 45 f4 2b          	movb   $0x2b,-0xc(%ebp)
40885c:	8b f9                	mov    %ecx,%edi
40885e:	89 7d f0             	mov    %edi,-0x10(%ebp)
408861:	eb 11                	jmp    0x408874
408863:	8b c2                	mov    %edx,%eax
408865:	d1 e8                	shr    $1,%eax
408867:	84 c1                	test   %al,%cl
408869:	74 09                	je     0x408874
40886b:	c6 45 f4 20          	movb   $0x20,-0xc(%ebp)
40886f:	8b f9                	mov    %ecx,%edi
408871:	89 4d f0             	mov    %ecx,-0x10(%ebp)
408874:	8a 4e 2d             	mov    0x2d(%esi),%cl
408877:	80 f9 78             	cmp    $0x78,%cl
40887a:	74 05                	je     0x408881
40887c:	80 f9 58             	cmp    $0x58,%cl
40887f:	75 0b                	jne    0x40888c
408881:	8b c2                	mov    %edx,%eax
408883:	c1 e8 05             	shr    $0x5,%eax
408886:	b4 01                	mov    $0x1,%ah
408888:	a8 01                	test   $0x1,%al
40888a:	75 02                	jne    0x40888e
40888c:	8a e3                	mov    %bl,%ah
40888e:	80 f9 61             	cmp    $0x61,%cl
408891:	74 07                	je     0x40889a
408893:	8a c3                	mov    %bl,%al
408895:	80 f9 41             	cmp    $0x41,%cl
408898:	75 02                	jne    0x40889c
40889a:	b0 01                	mov    $0x1,%al
40889c:	84 e4                	test   %ah,%ah
40889e:	75 04                	jne    0x4088a4
4088a0:	84 c0                	test   %al,%al
4088a2:	74 20                	je     0x4088c4
4088a4:	c6 44 3d f4 30       	movb   $0x30,-0xc(%ebp,%edi,1)
4088a9:	80 f9 58             	cmp    $0x58,%cl
4088ac:	74 09                	je     0x4088b7
4088ae:	80 f9 41             	cmp    $0x41,%cl
4088b1:	74 04                	je     0x4088b7
4088b3:	b0 78                	mov    $0x78,%al
4088b5:	eb 03                	jmp    0x4088ba
4088b7:	6a 58                	push   $0x58
4088b9:	58                   	pop    %eax
4088ba:	88 44 3d f5          	mov    %al,-0xb(%ebp,%edi,1)
4088be:	83 c7 02             	add    $0x2,%edi
4088c1:	89 7d f0             	mov    %edi,-0x10(%ebp)
4088c4:	8b 46 20             	mov    0x20(%esi),%eax
4088c7:	2b c7                	sub    %edi,%eax
4088c9:	2b 46 34             	sub    0x34(%esi),%eax
4088cc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4088cf:	f6 c2 0c             	test   $0xc,%dl
4088d2:	75 4c                	jne    0x408920
4088d4:	8b 4e 08             	mov    0x8(%esi),%ecx
4088d7:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4088da:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4088dd:	85 c0                	test   %eax,%eax
4088df:	7e 3f                	jle    0x408920
4088e1:	8b 7d e4             	mov    -0x1c(%ebp),%edi
4088e4:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
4088ea:	51                   	push   %ecx
4088eb:	6a 20                	push   $0x20
4088ed:	8b c8                	mov    %eax,%ecx
4088ef:	e8 7c 06 00 00       	call   0x408f70
4088f4:	84 c0                	test   %al,%al
4088f6:	74 24                	je     0x40891c
4088f8:	8b 4e 14             	mov    0x14(%esi),%ecx
4088fb:	8d 41 01             	lea    0x1(%ecx),%eax
4088fe:	89 46 14             	mov    %eax,0x14(%esi)
408901:	83 f9 fe             	cmp    $0xfffffffe,%ecx
408904:	74 1a                	je     0x408920
408906:	8b 45 ec             	mov    -0x14(%ebp),%eax
408909:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40890c:	40                   	inc    %eax
40890d:	89 45 ec             	mov    %eax,-0x14(%ebp)
408910:	3b c7                	cmp    %edi,%eax
408912:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
408918:	7c d0                	jl     0x4088ea
40891a:	eb 04                	jmp    0x408920
40891c:	83 4e 14 ff          	orl    $0xffffffff,0x14(%esi)
408920:	ff 76 08             	push   0x8(%esi)
408923:	8d 7e 14             	lea    0x14(%esi),%edi
408926:	57                   	push   %edi
408927:	ff 75 f0             	push   -0x10(%ebp)
40892a:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
408930:	8d 4d f4             	lea    -0xc(%ebp),%ecx
408933:	89 45 e0             	mov    %eax,-0x20(%ebp)
408936:	51                   	push   %ecx
408937:	8b c8                	mov    %eax,%ecx
408939:	e8 6c 06 00 00       	call   0x408faa
40893e:	8b 4e 1c             	mov    0x1c(%esi),%ecx
408941:	8b c1                	mov    %ecx,%eax
408943:	c1 e8 03             	shr    $0x3,%eax
408946:	a8 01                	test   $0x1,%al
408948:	74 48                	je     0x408992
40894a:	c1 e9 02             	shr    $0x2,%ecx
40894d:	f6 c1 01             	test   $0x1,%cl
408950:	75 40                	jne    0x408992
408952:	8b 46 08             	mov    0x8(%esi),%eax
408955:	89 45 e8             	mov    %eax,-0x18(%ebp)
408958:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40895b:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
40895e:	7e 32                	jle    0x408992
408960:	50                   	push   %eax
408961:	6a 30                	push   $0x30
408963:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
408969:	e8 02 06 00 00       	call   0x408f70
40896e:	84 c0                	test   %al,%al
408970:	74 1d                	je     0x40898f
408972:	8b 0f                	mov    (%edi),%ecx
408974:	8d 41 01             	lea    0x1(%ecx),%eax
408977:	89 07                	mov    %eax,(%edi)
408979:	83 f9 fe             	cmp    $0xfffffffe,%ecx
40897c:	74 14                	je     0x408992
40897e:	8b 45 ec             	mov    -0x14(%ebp),%eax
408981:	40                   	inc    %eax
408982:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
408985:	89 45 ec             	mov    %eax,-0x14(%ebp)
408988:	8b 45 e8             	mov    -0x18(%ebp),%eax
40898b:	7c d3                	jl     0x408960
40898d:	eb 03                	jmp    0x408992
40898f:	83 0f ff             	orl    $0xffffffff,(%edi)
408992:	38 5e 38             	cmp    %bl,0x38(%esi)
408995:	74 62                	je     0x4089f9