40ddd5:	8b d1                	mov    %ecx,%edx
40ddd7:	03 f9                	add    %ecx,%edi
40ddd9:	3b d7                	cmp    %edi,%edx
40dddb:	7d 24                	jge    0x40de01
40dddd:	6b c9 0c             	imul   $0xc,%ecx,%ecx
40dde0:	8b 7e 5c             	mov    0x5c(%esi),%edi
40dde3:	83 64 39 08 00       	andl   $0x0,0x8(%ecx,%edi,1)
40dde8:	8b 3d e0 cb 41 00    	mov    0x41cbe0,%edi
40ddee:	8b 1d e4 cb 41 00    	mov    0x41cbe4,%ebx
40ddf4:	42                   	inc    %edx
40ddf5:	03 df                	add    %edi,%ebx
40ddf7:	83 c1 0c             	add    $0xc,%ecx
40ddfa:	3b d3                	cmp    %ebx,%edx
40ddfc:	7c e2                	jl     0x40dde0
40ddfe:	8b 5d fc             	mov    -0x4(%ebp),%ebx
40de01:	8b 00                	mov    (%eax),%eax
40de03:	3d 8e 00 00 c0       	cmp    $0xc000008e,%eax
40de08:	8b 7e 64             	mov    0x64(%esi),%edi
40de0b:	75 09                	jne    0x40de16
40de0d:	c7 46 64 83 00 00 00 	movl   $0x83,0x64(%esi)
40de14:	eb 5e                	jmp    0x40de74
40de16:	3d 90 00 00 c0       	cmp    $0xc0000090,%eax
40de1b:	75 09                	jne    0x40de26
40de1d:	c7 46 64 81 00 00 00 	movl   $0x81,0x64(%esi)
40de24:	eb 4e                	jmp    0x40de74
40de26:	3d 91 00 00 c0       	cmp    $0xc0000091,%eax
40de2b:	75 09                	jne    0x40de36
40de2d:	c7 46 64 84 00 00 00 	movl   $0x84,0x64(%esi)
40de34:	eb 3e                	jmp    0x40de74
40de36:	3d 93 00 00 c0       	cmp    $0xc0000093,%eax
40de3b:	75 09                	jne    0x40de46
40de3d:	c7 46 64 85 00 00 00 	movl   $0x85,0x64(%esi)
40de44:	eb 2e                	jmp    0x40de74
40de46:	3d 8d 00 00 c0       	cmp    $0xc000008d,%eax
40de4b:	75 09                	jne    0x40de56
40de4d:	c7 46 64 82 00 00 00 	movl   $0x82,0x64(%esi)
40de54:	eb 1e                	jmp    0x40de74
40de56:	3d 8f 00 00 c0       	cmp    $0xc000008f,%eax
40de5b:	75 09                	jne    0x40de66
40de5d:	c7 46 64 86 00 00 00 	movl   $0x86,0x64(%esi)
40de64:	eb 0e                	jmp    0x40de74
40de66:	3d 92 00 00 c0       	cmp    $0xc0000092,%eax
40de6b:	75 07                	jne    0x40de74
40de6d:	c7 46 64 8a 00 00 00 	movl   $0x8a,0x64(%esi)
40de74:	ff 76 64             	push   0x64(%esi)
40de77:	6a 08                	push   $0x8
40de79:	ff d3                	call   *%ebx
40de7b:	59                   	pop    %ecx
40de7c:	89 7e 64             	mov    %edi,0x64(%esi)
40de7f:	eb 07                	jmp    0x40de88
40de81:	83 60 08 00          	andl   $0x0,0x8(%eax)
40de85:	51                   	push   %ecx
40de86:	ff d3                	call   *%ebx
40de88:	8b 45 f8             	mov    -0x8(%ebp),%eax
40de8b:	59                   	pop    %ecx
40de8c:	89 46 60             	mov    %eax,0x60(%esi)
40de8f:	83 c8 ff             	or     $0xffffffff,%eax
40de92:	5b                   	pop    %ebx
40de93:	5f                   	pop    %edi
40de94:	5e                   	pop    %esi
40de95:	c9                   	leave
40de96:	c3                   	ret
40de97:	56                   	push   %esi
40de98:	57                   	push   %edi
40de99:	33 ff                	xor    %edi,%edi
40de9b:	39 3d cc e5 41 00    	cmp    %edi,0x41e5cc
40dea1:	75 05                	jne    0x40dea8
40dea3:	e8 88 25 00 00       	call   0x410430
40dea8:	8b 35 04 f6 41 00    	mov    0x41f604,%esi
40deae:	85 f6                	test   %esi,%esi
40deb0:	75 05                	jne    0x40deb7
40deb2:	be 0e 76 41 00       	mov    $0x41760e,%esi
40deb7:	8a 06                	mov    (%esi),%al
40deb9:	3c 20                	cmp    $0x20,%al
40debb:	77 08                	ja     0x40dec5
40debd:	84 c0                	test   %al,%al
40debf:	74 2e                	je     0x40deef
40dec1:	85 ff                	test   %edi,%edi
40dec3:	74 24                	je     0x40dee9
40dec5:	3c 22                	cmp    $0x22,%al
40dec7:	75 09                	jne    0x40ded2
40dec9:	33 c9                	xor    %ecx,%ecx
40decb:	85 ff                	test   %edi,%edi
40decd:	0f 94 c1             	sete   %cl
40ded0:	8b f9                	mov    %ecx,%edi
40ded2:	0f b6 c0             	movzbl %al,%eax
40ded5:	50                   	push   %eax
40ded6:	e8 d2 66 00 00       	call   0x4145ad
40dedb:	85 c0                	test   %eax,%eax
40dedd:	59                   	pop    %ecx
40dede:	74 01                	je     0x40dee1
40dee0:	46                   	inc    %esi
40dee1:	46                   	inc    %esi
40dee2:	eb d3                	jmp    0x40deb7
40dee4:	3c 20                	cmp    $0x20,%al
40dee6:	77 07                	ja     0x40deef
40dee8:	46                   	inc    %esi
40dee9:	8a 06                	mov    (%esi),%al
40deeb:	84 c0                	test   %al,%al
40deed:	75 f5                	jne    0x40dee4
40deef:	5f                   	pop    %edi
40def0:	8b c6                	mov    %esi,%eax
40def2:	5e                   	pop    %esi
40def3:	c3                   	ret
40def4:	53                   	push   %ebx
40def5:	33 db                	xor    %ebx,%ebx
40def7:	39 1d cc e5 41 00    	cmp    %ebx,0x41e5cc
40defd:	56                   	push   %esi
40defe:	57                   	push   %edi
40deff:	75 05                	jne    0x40df06
40df01:	e8 2a 25 00 00       	call   0x410430
40df06:	8b 35 e8 d9 41 00    	mov    0x41d9e8,%esi
40df0c:	33 ff                	xor    %edi,%edi
40df0e:	3b f3                	cmp    %ebx,%esi
40df10:	75 18                	jne    0x40df2a
40df12:	83 c8 ff             	or     $0xffffffff,%eax
40df15:	e9 9b 00 00 00       	jmp    0x40dfb5
40df1a:	3c 3d                	cmp    $0x3d,%al
40df1c:	74 01                	je     0x40df1f
40df1e:	47                   	inc    %edi
40df1f:	56                   	push   %esi
40df20:	e8 3b 88 ff ff       	call   0x406760
40df25:	59                   	pop    %ecx
40df26:	8d 74 06 01          	lea    0x1(%esi,%eax,1),%esi
40df2a:	8a 06                	mov    (%esi),%al
40df2c:	3a c3                	cmp    %bl,%al
40df2e:	75 ea                	jne    0x40df1a
40df30:	6a 04                	push   $0x4
40df32:	47                   	inc    %edi
40df33:	57                   	push   %edi
40df34:	e8 f3 b3 ff ff       	call   0x40932c
40df39:	8b f8                	mov    %eax,%edi
40df3b:	3b fb                	cmp    %ebx,%edi
40df3d:	59                   	pop    %ecx
40df3e:	59                   	pop    %ecx
40df3f:	89 3d d8 de 41 00    	mov    %edi,0x41ded8
40df45:	74 cb                	je     0x40df12
40df47:	8b 35 e8 d9 41 00    	mov    0x41d9e8,%esi
40df4d:	55                   	push   %ebp
40df4e:	eb 40                	jmp    0x40df90
40df50:	56                   	push   %esi
40df51:	e8 0a 88 ff ff       	call   0x406760
40df56:	8b e8                	mov    %eax,%ebp
40df58:	45                   	inc    %ebp
40df59:	80 3e 3d             	cmpb   $0x3d,(%esi)
40df5c:	59                   	pop    %ecx
40df5d:	74 2f                	je     0x40df8e
40df5f:	6a 01                	push   $0x1
40df61:	55                   	push   %ebp
40df62:	e8 c5 b3 ff ff       	call   0x40932c
40df67:	3b c3                	cmp    %ebx,%eax
40df69:	59                   	pop    %ecx
40df6a:	59                   	pop    %ecx
40df6b:	89 07                	mov    %eax,(%edi)
40df6d:	74 4a                	je     0x40dfb9
40df6f:	56                   	push   %esi
40df70:	55                   	push   %ebp
40df71:	50                   	push   %eax
40df72:	e8 24 cd ff ff       	call   0x40ac9b
40df77:	83 c4 0c             	add    $0xc,%esp
40df7a:	85 c0                	test   %eax,%eax
40df7c:	74 0d                	je     0x40df8b
40df7e:	53                   	push   %ebx
40df7f:	53                   	push   %ebx
40df80:	53                   	push   %ebx
40df81:	53                   	push   %ebx
40df82:	53                   	push   %ebx
40df83:	e8 cc 95 ff ff       	call   0x407554
40df88:	83 c4 14             	add    $0x14,%esp
40df8b:	83 c7 04             	add    $0x4,%edi
40df8e:	03 f5                	add    %ebp,%esi
40df90:	38 1e                	cmp    %bl,(%esi)
40df92:	75 bc                	jne    0x40df50
40df94:	ff 35 e8 d9 41 00    	push   0x41d9e8
40df9a:	e8 b4 84 ff ff       	call   0x406453
40df9f:	89 1d e8 d9 41 00    	mov    %ebx,0x41d9e8
40dfa5:	89 1f                	mov    %ebx,(%edi)
40dfa7:	c7 05 c0 e5 41 00 01 	movl   $0x1,0x41e5c0
40dfae:	00 00 00
40dfb1:	33 c0                	xor    %eax,%eax
40dfb3:	59                   	pop    %ecx
40dfb4:	5d                   	pop    %ebp
40dfb5:	5f                   	pop    %edi
40dfb6:	5e                   	pop    %esi
40dfb7:	5b                   	pop    %ebx
40dfb8:	c3                   	ret
40dfb9:	ff 35 d8 de 41 00    	push   0x41ded8
40dfbf:	e8 8f 84 ff ff       	call   0x406453
40dfc4:	89 1d d8 de 41 00    	mov    %ebx,0x41ded8
40dfca:	83 c8 ff             	or     $0xffffffff,%eax
40dfcd:	eb e4                	jmp    0x40dfb3
40dfcf:	55                   	push   %ebp
40dfd0:	8b ec                	mov    %esp,%ebp
40dfd2:	51                   	push   %ecx
40dfd3:	8b 4d 10             	mov    0x10(%ebp),%ecx
40dfd6:	53                   	push   %ebx
40dfd7:	33 c0                	xor    %eax,%eax
40dfd9:	39 45 08             	cmp    %eax,0x8(%ebp)
40dfdc:	56                   	push   %esi
40dfdd:	89 07                	mov    %eax,(%edi)
40dfdf:	8b f2                	mov    %edx,%esi
40dfe1:	8b 55 0c             	mov    0xc(%ebp),%edx
40dfe4:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
40dfea:	74 09                	je     0x40dff5
40dfec:	8b 5d 08             	mov    0x8(%ebp),%ebx
40dfef:	83 45 08 04          	addl   $0x4,0x8(%ebp)
40dff3:	89 13                	mov    %edx,(%ebx)
40dff5:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dff8:	80 3e 22             	cmpb   $0x22,(%esi)
40dffb:	75 10                	jne    0x40e00d
40dffd:	33 c0                	xor    %eax,%eax
40dfff:	39 45 fc             	cmp    %eax,-0x4(%ebp)
40e002:	b3 22                	mov    $0x22,%bl
40e004:	0f 94 c0             	sete   %al
40e007:	46                   	inc    %esi
40e008:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e00b:	eb 3c                	jmp    0x40e049
40e00d:	ff 07                	incl   (%edi)
40e00f:	85 d2                	test   %edx,%edx
40e011:	74 08                	je     0x40e01b
40e013:	8a 06                	mov    (%esi),%al
40e015:	88 02                	mov    %al,(%edx)
40e017:	42                   	inc    %edx
40e018:	89 55 0c             	mov    %edx,0xc(%ebp)
40e01b:	8a 1e                	mov    (%esi),%bl
40e01d:	0f b6 c3             	movzbl %bl,%eax
40e020:	50                   	push   %eax
40e021:	46                   	inc    %esi
40e022:	e8 86 65 00 00       	call   0x4145ad
40e027:	85 c0                	test   %eax,%eax
40e029:	59                   	pop    %ecx
40e02a:	74 13                	je     0x40e03f
40e02c:	ff 07                	incl   (%edi)
40e02e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40e032:	74 0a                	je     0x40e03e
40e034:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e037:	8a 06                	mov    (%esi),%al
40e039:	ff 45 0c             	incl   0xc(%ebp)
40e03c:	88 01                	mov    %al,(%ecx)
40e03e:	46                   	inc    %esi
40e03f:	84 db                	test   %bl,%bl
40e041:	8b 55 0c             	mov    0xc(%ebp),%edx
40e044:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e047:	74 32                	je     0x40e07b
40e049:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40e04d:	75 a9                	jne    0x40dff8
40e04f:	80 fb 20             	cmp    $0x20,%bl
40e052:	74 05                	je     0x40e059
40e054:	80 fb 09             	cmp    $0x9,%bl
40e057:	75 9f                	jne    0x40dff8
40e059:	85 d2                	test   %edx,%edx
40e05b:	74 04                	je     0x40e061
40e05d:	c6 42 ff 00          	movb   $0x0,-0x1(%edx)
40e061:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40e065:	80 3e 00             	cmpb   $0x0,(%esi)
40e068:	0f 84 e9 00 00 00    	je     0x40e157
40e06e:	8a 06                	mov    (%esi),%al
40e070:	3c 20                	cmp    $0x20,%al
40e072:	74 04                	je     0x40e078
40e074:	3c 09                	cmp    $0x9,%al
40e076:	75 06                	jne    0x40e07e
40e078:	46                   	inc    %esi
40e079:	eb f3                	jmp    0x40e06e
40e07b:	4e                   	dec    %esi
40e07c:	eb e3                	jmp    0x40e061
40e07e:	80 3e 00             	cmpb   $0x0,(%esi)
40e081:	0f 84 d0 00 00 00    	je     0x40e157
40e087:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40e08b:	74 09                	je     0x40e096
40e08d:	8b 45 08             	mov    0x8(%ebp),%eax
40e090:	83 45 08 04          	addl   $0x4,0x8(%ebp)
40e094:	89 10                	mov    %edx,(%eax)
40e096:	ff 01                	incl   (%ecx)
40e098:	33 db                	xor    %ebx,%ebx
40e09a:	43                   	inc    %ebx
40e09b:	33 c9                	xor    %ecx,%ecx
40e09d:	eb 02                	jmp    0x40e0a1
40e09f:	46                   	inc    %esi
40e0a0:	41                   	inc    %ecx
40e0a1:	80 3e 5c             	cmpb   $0x5c,(%esi)
40e0a4:	74 f9                	je     0x40e09f
40e0a6:	80 3e 22             	cmpb   $0x22,(%esi)
40e0a9:	75 26                	jne    0x40e0d1
40e0ab:	f6 c1 01             	test   $0x1,%cl
40e0ae:	75 1f                	jne    0x40e0cf
40e0b0:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40e0b4:	74 0c                	je     0x40e0c2
40e0b6:	8d 46 01             	lea    0x1(%esi),%eax
40e0b9:	80 38 22             	cmpb   $0x22,(%eax)
40e0bc:	75 04                	jne    0x40e0c2
40e0be:	8b f0                	mov    %eax,%esi
40e0c0:	eb 0d                	jmp    0x40e0cf
40e0c2:	33 c0                	xor    %eax,%eax
40e0c4:	33 db                	xor    %ebx,%ebx
40e0c6:	39 45 fc             	cmp    %eax,-0x4(%ebp)
40e0c9:	0f 94 c0             	sete   %al
40e0cc:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e0cf:	d1 e9                	shr    $1,%ecx
40e0d1:	85 c9                	test   %ecx,%ecx
40e0d3:	74 12                	je     0x40e0e7
40e0d5:	49                   	dec    %ecx
40e0d6:	85 d2                	test   %edx,%edx
40e0d8:	74 04                	je     0x40e0de
40e0da:	c6 02 5c             	movb   $0x5c,(%edx)
40e0dd:	42                   	inc    %edx
40e0de:	ff 07                	incl   (%edi)
40e0e0:	85 c9                	test   %ecx,%ecx
40e0e2:	75 f1                	jne    0x40e0d5
40e0e4:	89 55 0c             	mov    %edx,0xc(%ebp)
40e0e7:	8a 06                	mov    (%esi),%al
40e0e9:	84 c0                	test   %al,%al
40e0eb:	74 55                	je     0x40e142
40e0ed:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40e0f1:	75 08                	jne    0x40e0fb
40e0f3:	3c 20                	cmp    $0x20,%al
40e0f5:	74 4b                	je     0x40e142
40e0f7:	3c 09                	cmp    $0x9,%al
40e0f9:	74 47                	je     0x40e142
40e0fb:	85 db                	test   %ebx,%ebx
40e0fd:	74 3d                	je     0x40e13c
40e0ff:	85 d2                	test   %edx,%edx
40e101:	0f be c0             	movsbl %al,%eax
40e104:	50                   	push   %eax
40e105:	74 23                	je     0x40e12a
40e107:	e8 a1 64 00 00       	call   0x4145ad
40e10c:	85 c0                	test   %eax,%eax
40e10e:	59                   	pop    %ecx
40e10f:	74 0d                	je     0x40e11e
40e111:	8a 06                	mov    (%esi),%al
40e113:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e116:	ff 45 0c             	incl   0xc(%ebp)
40e119:	88 01                	mov    %al,(%ecx)
40e11b:	46                   	inc    %esi
40e11c:	ff 07                	incl   (%edi)
40e11e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40e121:	8a 06                	mov    (%esi),%al
40e123:	ff 45 0c             	incl   0xc(%ebp)
40e126:	88 01                	mov    %al,(%ecx)
40e128:	eb 0d                	jmp    0x40e137
40e12a:	e8 7e 64 00 00       	call   0x4145ad
40e12f:	85 c0                	test   %eax,%eax
40e131:	59                   	pop    %ecx
40e132:	74 03                	je     0x40e137
40e134:	46                   	inc    %esi
40e135:	ff 07                	incl   (%edi)
40e137:	ff 07                	incl   (%edi)
40e139:	8b 55 0c             	mov    0xc(%ebp),%edx
40e13c:	46                   	inc    %esi
40e13d:	e9 56 ff ff ff       	jmp    0x40e098
40e142:	85 d2                	test   %edx,%edx