40d61c:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
40d623:	89 41 10             	mov    %eax,0x10(%ecx)
40d626:	e9 9a 00 00 00       	jmp    0x40d6c5
40d62b:	83 f8 36             	cmp    $0x36,%eax
40d62e:	75 16                	jne    0x40d646
40d630:	66 83 7a 02 34       	cmpw   $0x34,0x2(%edx)
40d635:	75 0f                	jne    0x40d646
40d637:	8d 42 04             	lea    0x4(%edx),%eax
40d63a:	c7 41 2c 0b 00 00 00 	movl   $0xb,0x2c(%ecx)
40d641:	89 41 10             	mov    %eax,0x10(%ecx)
40d644:	eb 7f                	jmp    0x40d6c5
40d646:	83 f8 64             	cmp    $0x64,%eax
40d649:	74 19                	je     0x40d664
40d64b:	83 f8 69             	cmp    $0x69,%eax
40d64e:	74 14                	je     0x40d664
40d650:	83 f8 6f             	cmp    $0x6f,%eax
40d653:	74 0f                	je     0x40d664
40d655:	83 f8 75             	cmp    $0x75,%eax
40d658:	74 0a                	je     0x40d664
40d65a:	83 f8 78             	cmp    $0x78,%eax
40d65d:	74 05                	je     0x40d664
40d65f:	83 f8 58             	cmp    $0x58,%eax
40d662:	75 61                	jne    0x40d6c5
40d664:	c7 41 2c 09 00 00 00 	movl   $0x9,0x2c(%ecx)
40d66b:	eb 58                	jmp    0x40d6c5
40d66d:	c7 41 2c 05 00 00 00 	movl   $0x5,0x2c(%ecx)
40d674:	eb 4f                	jmp    0x40d6c5
40d676:	6a 6c                	push   $0x6c
40d678:	5a                   	pop    %edx
40d679:	3b c2                	cmp    %edx,%eax
40d67b:	74 2a                	je     0x40d6a7
40d67d:	83 f8 74             	cmp    $0x74,%eax
40d680:	74 1c                	je     0x40d69e
40d682:	83 f8 77             	cmp    $0x77,%eax
40d685:	74 0e                	je     0x40d695
40d687:	83 f8 7a             	cmp    $0x7a,%eax
40d68a:	75 39                	jne    0x40d6c5
40d68c:	c7 41 2c 06 00 00 00 	movl   $0x6,0x2c(%ecx)
40d693:	eb 30                	jmp    0x40d6c5
40d695:	c7 41 2c 0c 00 00 00 	movl   $0xc,0x2c(%ecx)
40d69c:	eb 27                	jmp    0x40d6c5
40d69e:	c7 41 2c 07 00 00 00 	movl   $0x7,0x2c(%ecx)
40d6a5:	eb 1e                	jmp    0x40d6c5
40d6a7:	8b 41 10             	mov    0x10(%ecx),%eax
40d6aa:	66 39 10             	cmp    %dx,(%eax)
40d6ad:	75 0f                	jne    0x40d6be
40d6af:	83 c0 02             	add    $0x2,%eax
40d6b2:	c7 41 2c 04 00 00 00 	movl   $0x4,0x2c(%ecx)
40d6b9:	89 41 10             	mov    %eax,0x10(%ecx)
40d6bc:	eb 07                	jmp    0x40d6c5
40d6be:	c7 41 2c 03 00 00 00 	movl   $0x3,0x2c(%ecx)
40d6c5:	b0 01                	mov    $0x1,%al
40d6c7:	c3                   	ret
40d6c8:	8b ff                	mov    %edi,%edi
40d6ca:	55                   	push   %ebp
40d6cb:	8b ec                	mov    %esp,%ebp
40d6cd:	51                   	push   %ecx
40d6ce:	53                   	push   %ebx
40d6cf:	56                   	push   %esi
40d6d0:	8b f1                	mov    %ecx,%esi
40d6d2:	33 db                	xor    %ebx,%ebx
40d6d4:	43                   	inc    %ebx
40d6d5:	33 c9                	xor    %ecx,%ecx
40d6d7:	0f be 46 31          	movsbl 0x31(%esi),%eax
40d6db:	83 f8 64             	cmp    $0x64,%eax
40d6de:	7f 6c                	jg     0x40d74c
40d6e0:	0f 84 93 00 00 00    	je     0x40d779
40d6e6:	83 f8 58             	cmp    $0x58,%eax
40d6e9:	7f 3e                	jg     0x40d729
40d6eb:	74 37                	je     0x40d724
40d6ed:	83 f8 41             	cmp    $0x41,%eax
40d6f0:	0f 84 93 00 00 00    	je     0x40d789
40d6f6:	83 f8 43             	cmp    $0x43,%eax
40d6f9:	74 3e                	je     0x40d739
40d6fb:	83 f8 44             	cmp    $0x44,%eax
40d6fe:	7e 1d                	jle    0x40d71d
40d700:	83 f8 47             	cmp    $0x47,%eax
40d703:	0f 8e 80 00 00 00    	jle    0x40d789
40d709:	83 f8 53             	cmp    $0x53,%eax
40d70c:	75 0f                	jne    0x40d71d
40d70e:	8b ce                	mov    %esi,%ecx
40d710:	e8 32 14 00 00       	call   0x40eb47
40d715:	84 c0                	test   %al,%al
40d717:	0f 85 9f 00 00 00    	jne    0x40d7bc
40d71d:	32 c0                	xor    %al,%al
40d71f:	e9 cd 01 00 00       	jmp    0x40d8f1
40d724:	53                   	push   %ebx
40d725:	6a 10                	push   $0x10
40d727:	eb 57                	jmp    0x40d780
40d729:	83 e8 5a             	sub    $0x5a,%eax
40d72c:	74 15                	je     0x40d743
40d72e:	83 e8 07             	sub    $0x7,%eax
40d731:	74 56                	je     0x40d789
40d733:	48                   	dec    %eax
40d734:	83 e8 01             	sub    $0x1,%eax
40d737:	75 e4                	jne    0x40d71d
40d739:	51                   	push   %ecx
40d73a:	8b ce                	mov    %esi,%ecx
40d73c:	e8 6f 0c 00 00       	call   0x40e3b0
40d741:	eb d2                	jmp    0x40d715
40d743:	8b ce                	mov    %esi,%ecx
40d745:	e8 17 07 00 00       	call   0x40de61
40d74a:	eb c9                	jmp    0x40d715
40d74c:	83 f8 70             	cmp    $0x70,%eax
40d74f:	7f 4d                	jg     0x40d79e
40d751:	74 3f                	je     0x40d792
40d753:	83 f8 67             	cmp    $0x67,%eax
40d756:	7e 31                	jle    0x40d789
40d758:	83 f8 69             	cmp    $0x69,%eax
40d75b:	74 1c                	je     0x40d779
40d75d:	83 f8 6e             	cmp    $0x6e,%eax
40d760:	74 0e                	je     0x40d770
40d762:	83 f8 6f             	cmp    $0x6f,%eax
40d765:	75 b6                	jne    0x40d71d
40d767:	8b ce                	mov    %esi,%ecx
40d769:	e8 34 13 00 00       	call   0x40eaa2
40d76e:	eb a5                	jmp    0x40d715
40d770:	8b ce                	mov    %esi,%ecx
40d772:	e8 cf 11 00 00       	call   0x40e946
40d777:	eb 9c                	jmp    0x40d715
40d779:	83 4e 20 10          	orl    $0x10,0x20(%esi)
40d77d:	51                   	push   %ecx
40d77e:	6a 0a                	push   $0xa
40d780:	8b ce                	mov    %esi,%ecx
40d782:	e8 e1 0d 00 00       	call   0x40e568
40d787:	eb 8c                	jmp    0x40d715
40d789:	8b ce                	mov    %esi,%ecx
40d78b:	e8 fa 07 00 00       	call   0x40df8a
40d790:	eb 83                	jmp    0x40d715
40d792:	8b ce                	mov    %esi,%ecx
40d794:	e8 66 13 00 00       	call   0x40eaff
40d799:	e9 77 ff ff ff       	jmp    0x40d715
40d79e:	83 e8 73             	sub    $0x73,%eax
40d7a1:	0f 84 67 ff ff ff    	je     0x40d70e
40d7a7:	48                   	dec    %eax
40d7a8:	83 e8 01             	sub    $0x1,%eax
40d7ab:	74 d0                	je     0x40d77d
40d7ad:	83 e8 03             	sub    $0x3,%eax
40d7b0:	0f 85 67 ff ff ff    	jne    0x40d71d
40d7b6:	51                   	push   %ecx
40d7b7:	e9 69 ff ff ff       	jmp    0x40d725
40d7bc:	80 7e 30 00          	cmpb   $0x0,0x30(%esi)
40d7c0:	74 07                	je     0x40d7c9
40d7c2:	8a c3                	mov    %bl,%al
40d7c4:	e9 28 01 00 00       	jmp    0x40d8f1
40d7c9:	8b 56 20             	mov    0x20(%esi),%edx
40d7cc:	33 c0                	xor    %eax,%eax
40d7ce:	57                   	push   %edi
40d7cf:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
40d7d3:	8b f8                	mov    %eax,%edi
40d7d5:	88 45 fe             	mov    %al,-0x2(%ebp)
40d7d8:	8b c2                	mov    %edx,%eax
40d7da:	c1 e8 04             	shr    $0x4,%eax
40d7dd:	84 c3                	test   %al,%bl
40d7df:	74 27                	je     0x40d808
40d7e1:	8b c2                	mov    %edx,%eax
40d7e3:	c1 e8 06             	shr    $0x6,%eax
40d7e6:	84 c3                	test   %al,%bl
40d7e8:	74 06                	je     0x40d7f0
40d7ea:	c6 45 fc 2d          	movb   $0x2d,-0x4(%ebp)
40d7ee:	eb 16                	jmp    0x40d806
40d7f0:	84 d3                	test   %dl,%bl
40d7f2:	74 06                	je     0x40d7fa
40d7f4:	c6 45 fc 2b          	movb   $0x2b,-0x4(%ebp)
40d7f8:	eb 0c                	jmp    0x40d806
40d7fa:	8b c2                	mov    %edx,%eax
40d7fc:	d1 e8                	shr    $1,%eax
40d7fe:	84 c3                	test   %al,%bl
40d800:	74 06                	je     0x40d808
40d802:	c6 45 fc 20          	movb   $0x20,-0x4(%ebp)
40d806:	8b fb                	mov    %ebx,%edi
40d808:	8a 4e 31             	mov    0x31(%esi),%cl
40d80b:	80 f9 78             	cmp    $0x78,%cl
40d80e:	74 05                	je     0x40d815
40d810:	80 f9 58             	cmp    $0x58,%cl
40d813:	75 09                	jne    0x40d81e
40d815:	8b c2                	mov    %edx,%eax
40d817:	c1 e8 05             	shr    $0x5,%eax
40d81a:	84 c3                	test   %al,%bl
40d81c:	75 02                	jne    0x40d820
40d81e:	32 db                	xor    %bl,%bl
40d820:	80 f9 61             	cmp    $0x61,%cl
40d823:	74 09                	je     0x40d82e
40d825:	80 f9 41             	cmp    $0x41,%cl
40d828:	74 04                	je     0x40d82e
40d82a:	32 c0                	xor    %al,%al
40d82c:	eb 02                	jmp    0x40d830
40d82e:	b0 01                	mov    $0x1,%al
40d830:	84 db                	test   %bl,%bl
40d832:	75 04                	jne    0x40d838
40d834:	84 c0                	test   %al,%al
40d836:	74 27                	je     0x40d85f
40d838:	c6 44 3d fc 30       	movb   $0x30,-0x4(%ebp,%edi,1)
40d83d:	80 f9 58             	cmp    $0x58,%cl
40d840:	74 09                	je     0x40d84b
40d842:	80 f9 41             	cmp    $0x41,%cl
40d845:	74 04                	je     0x40d84b
40d847:	32 c0                	xor    %al,%al
40d849:	eb 02                	jmp    0x40d84d
40d84b:	b0 01                	mov    $0x1,%al
40d84d:	84 c0                	test   %al,%al
40d84f:	0f 94 c0             	sete   %al
40d852:	fe c8                	dec    %al
40d854:	24 e0                	and    $0xe0,%al
40d856:	04 78                	add    $0x78,%al
40d858:	88 44 3d fd          	mov    %al,-0x3(%ebp,%edi,1)
40d85c:	83 c7 02             	add    $0x2,%edi
40d85f:	8b 5e 24             	mov    0x24(%esi),%ebx
40d862:	2b 5e 38             	sub    0x38(%esi),%ebx
40d865:	2b df                	sub    %edi,%ebx
40d867:	f6 c2 0c             	test   $0xc,%dl
40d86a:	75 16                	jne    0x40d882
40d86c:	8d 46 18             	lea    0x18(%esi),%eax
40d86f:	50                   	push   %eax
40d870:	53                   	push   %ebx
40d871:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
40d877:	6a 20                	push   $0x20
40d879:	50                   	push   %eax
40d87a:	e8 da ec ff ff       	call   0x40c559
40d87f:	83 c4 10             	add    $0x10,%esp
40d882:	ff 76 0c             	push   0xc(%esi)
40d885:	8d 46 18             	lea    0x18(%esi),%eax
40d888:	50                   	push   %eax
40d889:	57                   	push   %edi
40d88a:	8d 45 fc             	lea    -0x4(%ebp),%eax
40d88d:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
40d893:	50                   	push   %eax
40d894:	e8 b9 17 00 00       	call   0x40f052
40d899:	8b 4e 20             	mov    0x20(%esi),%ecx
40d89c:	8d 7e 18             	lea    0x18(%esi),%edi
40d89f:	8b c1                	mov    %ecx,%eax
40d8a1:	c1 e8 03             	shr    $0x3,%eax
40d8a4:	a8 01                	test   $0x1,%al
40d8a6:	74 1b                	je     0x40d8c3
40d8a8:	c1 e9 02             	shr    $0x2,%ecx
40d8ab:	f6 c1 01             	test   $0x1,%cl
40d8ae:	75 13                	jne    0x40d8c3
40d8b0:	57                   	push   %edi
40d8b1:	53                   	push   %ebx
40d8b2:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
40d8b8:	6a 30                	push   $0x30
40d8ba:	50                   	push   %eax
40d8bb:	e8 99 ec ff ff       	call   0x40c559
40d8c0:	83 c4 10             	add    $0x10,%esp
40d8c3:	6a 00                	push   $0x0
40d8c5:	8b ce                	mov    %esi,%ecx
40d8c7:	e8 ad 15 00 00       	call   0x40ee79
40d8cc:	83 3f 00             	cmpl   $0x0,(%edi)
40d8cf:	7c 1d                	jl     0x40d8ee
40d8d1:	8b 46 20             	mov    0x20(%esi),%eax
40d8d4:	c1 e8 02             	shr    $0x2,%eax
40d8d7:	a8 01                	test   $0x1,%al
40d8d9:	74 13                	je     0x40d8ee
40d8db:	57                   	push   %edi
40d8dc:	53                   	push   %ebx
40d8dd:	8d 86 48 04 00 00    	lea    0x448(%esi),%eax
40d8e3:	6a 20                	push   $0x20
40d8e5:	50                   	push   %eax
40d8e6:	e8 6e ec ff ff       	call   0x40c559
40d8eb:	83 c4 10             	add    $0x10,%esp
40d8ee:	b0 01                	mov    $0x1,%al
40d8f0:	5f                   	pop    %edi
40d8f1:	5e                   	pop    %esi
40d8f2:	5b                   	pop    %ebx
40d8f3:	8b e5                	mov    %ebp,%esp
40d8f5:	5d                   	pop    %ebp
40d8f6:	c3                   	ret
40d8f7:	8b ff                	mov    %edi,%edi
40d8f9:	55                   	push   %ebp
40d8fa:	8b ec                	mov    %esp,%ebp
40d8fc:	51                   	push   %ecx
40d8fd:	53                   	push   %ebx
40d8fe:	56                   	push   %esi
40d8ff:	8b f1                	mov    %ecx,%esi
40d901:	33 db                	xor    %ebx,%ebx
40d903:	43                   	inc    %ebx
40d904:	33 c9                	xor    %ecx,%ecx
40d906:	0f be 46 31          	movsbl 0x31(%esi),%eax
40d90a:	83 f8 64             	cmp    $0x64,%eax
40d90d:	7f 6c                	jg     0x40d97b
40d90f:	0f 84 93 00 00 00    	je     0x40d9a8
40d915:	83 f8 58             	cmp    $0x58,%eax
40d918:	7f 3e                	jg     0x40d958
40d91a:	74 37                	je     0x40d953
40d91c:	83 f8 41             	cmp    $0x41,%eax
40d91f:	0f 84 93 00 00 00    	je     0x40d9b8
40d925:	83 f8 43             	cmp    $0x43,%eax
40d928:	74 3e                	je     0x40d968
40d92a:	83 f8 44             	cmp    $0x44,%eax
40d92d:	7e 1d                	jle    0x40d94c
40d92f:	83 f8 47             	cmp    $0x47,%eax
40d932:	0f 8e 80 00 00 00    	jle    0x40d9b8
40d938:	83 f8 53             	cmp    $0x53,%eax
40d93b:	75 0f                	jne    0x40d94c
40d93d:	8b ce                	mov    %esi,%ecx
40d93f:	e8 76 12 00 00       	call   0x40ebba
40d944:	84 c0                	test   %al,%al
40d946:	0f 85 9f 00 00 00    	jne    0x40d9eb
40d94c:	32 c0                	xor    %al,%al
40d94e:	e9 cd 01 00 00       	jmp    0x40db20
40d953:	53                   	push   %ebx
40d954:	6a 10                	push   $0x10
40d956:	eb 57                	jmp    0x40d9af
40d958:	83 e8 5a             	sub    $0x5a,%eax
40d95b:	74 15                	je     0x40d972
40d95d:	83 e8 07             	sub    $0x7,%eax
40d960:	74 56                	je     0x40d9b8
40d962:	48                   	dec    %eax
40d963:	83 e8 01             	sub    $0x1,%eax
40d966:	75 e4                	jne    0x40d94c
40d968:	51                   	push   %ecx
40d969:	8b ce                	mov    %esi,%ecx
40d96b:	e8 d0 0a 00 00       	call   0x40e440
40d970:	eb d2                	jmp    0x40d944
40d972:	8b ce                	mov    %esi,%ecx
40d974:	e8 4b 05 00 00       	call   0x40dec4
40d979:	eb c9                	jmp    0x40d944
40d97b:	83 f8 70             	cmp    $0x70,%eax
40d97e:	7f 4d                	jg     0x40d9cd
40d980:	74 3f                	je     0x40d9c1
40d982:	83 f8 67             	cmp    $0x67,%eax
40d985:	7e 31                	jle    0x40d9b8
40d987:	83 f8 69             	cmp    $0x69,%eax
40d98a:	74 1c                	je     0x40d9a8
40d98c:	83 f8 6e             	cmp    $0x6e,%eax
40d98f:	74 0e                	je     0x40d99f
40d991:	83 f8 6f             	cmp    $0x6f,%eax
40d994:	75 b6                	jne    0x40d94c
40d996:	8b ce                	mov    %esi,%ecx
40d998:	e8 24 11 00 00       	call   0x40eac1
40d99d:	eb a5                	jmp    0x40d944
40d99f:	8b ce                	mov    %esi,%ecx
40d9a1:	e8 14 10 00 00       	call   0x40e9ba
40d9a6:	eb 9c                	jmp    0x40d944
40d9a8:	83 4e 20 10          	orl    $0x10,0x20(%esi)
40d9ac:	51                   	push   %ecx
40d9ad:	6a 0a                	push   $0xa
40d9af:	8b ce                	mov    %esi,%ecx
40d9b1:	e8 fc 0c 00 00       	call   0x40e6b2
40d9b6:	eb 8c                	jmp    0x40d944
40d9b8:	8b ce                	mov    %esi,%ecx
40d9ba:	e8 25 07 00 00       	call   0x40e0e4
40d9bf:	eb 83                	jmp    0x40d944
40d9c1:	8b ce                	mov    %esi,%ecx
40d9c3:	e8 4f 11 00 00       	call   0x40eb17
40d9c8:	e9 77 ff ff ff       	jmp    0x40d944
40d9cd:	83 e8 73             	sub    $0x73,%eax
40d9d0:	0f 84 67 ff ff ff    	je     0x40d93d
40d9d6:	48                   	dec    %eax
40d9d7:	83 e8 01             	sub    $0x1,%eax