401ea0:	84 c0                	test   %al,%al
401ea2:	75 f5                	jne    0x401e99
401ea4:	5f                   	pop    %edi
401ea5:	8b c6                	mov    %esi,%eax
401ea7:	5e                   	pop    %esi
401ea8:	c3                   	ret
401ea9:	83 3d ac 2e de 02 00 	cmpl   $0x0,0x2de2eac
401eb0:	75 05                	jne    0x401eb7
401eb2:	e8 ce 2e 00 00       	call   0x404d85
401eb7:	56                   	push   %esi
401eb8:	8b 35 80 06 43 00    	mov    0x430680,%esi
401ebe:	57                   	push   %edi
401ebf:	33 ff                	xor    %edi,%edi
401ec1:	85 f6                	test   %esi,%esi
401ec3:	75 18                	jne    0x401edd
401ec5:	83 c8 ff             	or     $0xffffffff,%eax
401ec8:	e9 a0 00 00 00       	jmp    0x401f6d
401ecd:	3c 3d                	cmp    $0x3d,%al
401ecf:	74 01                	je     0x401ed2
401ed1:	47                   	inc    %edi
401ed2:	56                   	push   %esi
401ed3:	e8 b8 25 00 00       	call   0x404490
401ed8:	59                   	pop    %ecx
401ed9:	8d 74 06 01          	lea    0x1(%esi,%eax,1),%esi
401edd:	8a 06                	mov    (%esi),%al
401edf:	84 c0                	test   %al,%al
401ee1:	75 ea                	jne    0x401ecd
401ee3:	6a 04                	push   $0x4
401ee5:	47                   	inc    %edi
401ee6:	57                   	push   %edi
401ee7:	e8 8a 2f 00 00       	call   0x404e76
401eec:	8b f8                	mov    %eax,%edi
401eee:	59                   	pop    %ecx
401eef:	59                   	pop    %ecx
401ef0:	89 3d c8 09 43 00    	mov    %edi,0x4309c8
401ef6:	85 ff                	test   %edi,%edi
401ef8:	74 cb                	je     0x401ec5
401efa:	8b 35 80 06 43 00    	mov    0x430680,%esi
401f00:	53                   	push   %ebx
401f01:	eb 42                	jmp    0x401f45
401f03:	56                   	push   %esi
401f04:	e8 87 25 00 00       	call   0x404490
401f09:	8b d8                	mov    %eax,%ebx
401f0b:	43                   	inc    %ebx
401f0c:	80 3e 3d             	cmpb   $0x3d,(%esi)
401f0f:	59                   	pop    %ecx
401f10:	74 31                	je     0x401f43
401f12:	6a 01                	push   $0x1
401f14:	53                   	push   %ebx
401f15:	e8 5c 2f 00 00       	call   0x404e76
401f1a:	59                   	pop    %ecx
401f1b:	59                   	pop    %ecx
401f1c:	89 07                	mov    %eax,(%edi)
401f1e:	85 c0                	test   %eax,%eax
401f20:	74 4e                	je     0x401f70
401f22:	56                   	push   %esi
401f23:	53                   	push   %ebx
401f24:	50                   	push   %eax
401f25:	e8 f1 25 00 00       	call   0x40451b
401f2a:	83 c4 0c             	add    $0xc,%esp
401f2d:	85 c0                	test   %eax,%eax
401f2f:	74 0f                	je     0x401f40
401f31:	33 c0                	xor    %eax,%eax
401f33:	50                   	push   %eax
401f34:	50                   	push   %eax
401f35:	50                   	push   %eax
401f36:	50                   	push   %eax
401f37:	50                   	push   %eax
401f38:	e8 dc 1b 00 00       	call   0x403b19
401f3d:	83 c4 14             	add    $0x14,%esp
401f40:	83 c7 04             	add    $0x4,%edi
401f43:	03 f3                	add    %ebx,%esi
401f45:	80 3e 00             	cmpb   $0x0,(%esi)
401f48:	75 b9                	jne    0x401f03
401f4a:	ff 35 80 06 43 00    	push   0x430680
401f50:	e8 4e 2e 00 00       	call   0x404da3
401f55:	83 25 80 06 43 00 00 	andl   $0x0,0x430680
401f5c:	83 27 00             	andl   $0x0,(%edi)
401f5f:	c7 05 a0 2e de 02 01 	movl   $0x1,0x2de2ea0
401f66:	00 00 00
401f69:	33 c0                	xor    %eax,%eax
401f6b:	59                   	pop    %ecx
401f6c:	5b                   	pop    %ebx
401f6d:	5f                   	pop    %edi
401f6e:	5e                   	pop    %esi
401f6f:	c3                   	ret
401f70:	ff 35 c8 09 43 00    	push   0x4309c8
401f76:	e8 28 2e 00 00       	call   0x404da3
401f7b:	83 25 c8 09 43 00 00 	andl   $0x0,0x4309c8
401f82:	83 c8 ff             	or     $0xffffffff,%eax
401f85:	eb e4                	jmp    0x401f6b
401f87:	8b ff                	mov    %edi,%edi
401f89:	55                   	push   %ebp
401f8a:	8b ec                	mov    %esp,%ebp
401f8c:	51                   	push   %ecx
401f8d:	8b 4d 10             	mov    0x10(%ebp),%ecx
401f90:	53                   	push   %ebx
401f91:	33 c0                	xor    %eax,%eax
401f93:	56                   	push   %esi
401f94:	89 07                	mov    %eax,(%edi)
401f96:	8b f2                	mov    %edx,%esi
401f98:	8b 55 0c             	mov    0xc(%ebp),%edx
401f9b:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
401fa1:	39 45 08             	cmp    %eax,0x8(%ebp)
401fa4:	74 09                	je     0x401faf
401fa6:	8b 5d 08             	mov    0x8(%ebp),%ebx
401fa9:	83 45 08 04          	addl   $0x4,0x8(%ebp)
401fad:	89 13                	mov    %edx,(%ebx)
401faf:	89 45 fc             	mov    %eax,-0x4(%ebp)
401fb2:	80 3e 22             	cmpb   $0x22,(%esi)
401fb5:	75 10                	jne    0x401fc7
401fb7:	33 c0                	xor    %eax,%eax
401fb9:	39 45 fc             	cmp    %eax,-0x4(%ebp)
401fbc:	b3 22                	mov    $0x22,%bl
401fbe:	0f 94 c0             	sete   %al
401fc1:	46                   	inc    %esi
401fc2:	89 45 fc             	mov    %eax,-0x4(%ebp)
401fc5:	eb 3c                	jmp    0x402003
401fc7:	ff 07                	incl   (%edi)
401fc9:	85 d2                	test   %edx,%edx
401fcb:	74 08                	je     0x401fd5
401fcd:	8a 06                	mov    (%esi),%al
401fcf:	88 02                	mov    %al,(%edx)
401fd1:	42                   	inc    %edx
401fd2:	89 55 0c             	mov    %edx,0xc(%ebp)
401fd5:	8a 1e                	mov    (%esi),%bl
401fd7:	0f b6 c3             	movzbl %bl,%eax
401fda:	50                   	push   %eax
401fdb:	46                   	inc    %esi
401fdc:	e8 c7 26 00 00       	call   0x4046a8
401fe1:	59                   	pop    %ecx
401fe2:	85 c0                	test   %eax,%eax
401fe4:	74 13                	je     0x401ff9
401fe6:	ff 07                	incl   (%edi)
401fe8:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
401fec:	74 0a                	je     0x401ff8
401fee:	8b 4d 0c             	mov    0xc(%ebp),%ecx
401ff1:	8a 06                	mov    (%esi),%al
401ff3:	ff 45 0c             	incl   0xc(%ebp)
401ff6:	88 01                	mov    %al,(%ecx)
401ff8:	46                   	inc    %esi
401ff9:	8b 55 0c             	mov    0xc(%ebp),%edx
401ffc:	8b 4d 10             	mov    0x10(%ebp),%ecx
401fff:	84 db                	test   %bl,%bl
402001:	74 32                	je     0x402035
402003:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
402007:	75 a9                	jne    0x401fb2
402009:	80 fb 20             	cmp    $0x20,%bl
40200c:	74 05                	je     0x402013
40200e:	80 fb 09             	cmp    $0x9,%bl
402011:	75 9f                	jne    0x401fb2
402013:	85 d2                	test   %edx,%edx
402015:	74 04                	je     0x40201b
402017:	c6 42 ff 00          	movb   $0x0,-0x1(%edx)
40201b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40201f:	80 3e 00             	cmpb   $0x0,(%esi)
402022:	0f 84 e9 00 00 00    	je     0x402111
402028:	8a 06                	mov    (%esi),%al
40202a:	3c 20                	cmp    $0x20,%al
40202c:	74 04                	je     0x402032
40202e:	3c 09                	cmp    $0x9,%al
402030:	75 06                	jne    0x402038
402032:	46                   	inc    %esi
402033:	eb f3                	jmp    0x402028
402035:	4e                   	dec    %esi
402036:	eb e3                	jmp    0x40201b
402038:	80 3e 00             	cmpb   $0x0,(%esi)
40203b:	0f 84 d0 00 00 00    	je     0x402111
402041:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
402045:	74 09                	je     0x402050
402047:	8b 45 08             	mov    0x8(%ebp),%eax
40204a:	83 45 08 04          	addl   $0x4,0x8(%ebp)
40204e:	89 10                	mov    %edx,(%eax)
402050:	ff 01                	incl   (%ecx)
402052:	33 db                	xor    %ebx,%ebx
402054:	43                   	inc    %ebx
402055:	33 c9                	xor    %ecx,%ecx
402057:	eb 02                	jmp    0x40205b
402059:	46                   	inc    %esi
40205a:	41                   	inc    %ecx
40205b:	80 3e 5c             	cmpb   $0x5c,(%esi)
40205e:	74 f9                	je     0x402059
402060:	80 3e 22             	cmpb   $0x22,(%esi)
402063:	75 26                	jne    0x40208b
402065:	f6 c1 01             	test   $0x1,%cl
402068:	75 1f                	jne    0x402089
40206a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40206e:	74 0c                	je     0x40207c
402070:	8d 46 01             	lea    0x1(%esi),%eax
402073:	80 38 22             	cmpb   $0x22,(%eax)
402076:	75 04                	jne    0x40207c
402078:	8b f0                	mov    %eax,%esi
40207a:	eb 0d                	jmp    0x402089
40207c:	33 c0                	xor    %eax,%eax
40207e:	33 db                	xor    %ebx,%ebx
402080:	39 45 fc             	cmp    %eax,-0x4(%ebp)
402083:	0f 94 c0             	sete   %al
402086:	89 45 fc             	mov    %eax,-0x4(%ebp)
402089:	d1 e9                	shr    $1,%ecx
40208b:	85 c9                	test   %ecx,%ecx
40208d:	74 12                	je     0x4020a1
40208f:	49                   	dec    %ecx
402090:	85 d2                	test   %edx,%edx
402092:	74 04                	je     0x402098
402094:	c6 02 5c             	movb   $0x5c,(%edx)
402097:	42                   	inc    %edx
402098:	ff 07                	incl   (%edi)
40209a:	85 c9                	test   %ecx,%ecx
40209c:	75 f1                	jne    0x40208f
40209e:	89 55 0c             	mov    %edx,0xc(%ebp)
4020a1:	8a 06                	mov    (%esi),%al
4020a3:	84 c0                	test   %al,%al
4020a5:	74 55                	je     0x4020fc
4020a7:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4020ab:	75 08                	jne    0x4020b5
4020ad:	3c 20                	cmp    $0x20,%al
4020af:	74 4b                	je     0x4020fc
4020b1:	3c 09                	cmp    $0x9,%al
4020b3:	74 47                	je     0x4020fc
4020b5:	85 db                	test   %ebx,%ebx
4020b7:	74 3d                	je     0x4020f6
4020b9:	0f be c0             	movsbl %al,%eax
4020bc:	50                   	push   %eax
4020bd:	85 d2                	test   %edx,%edx
4020bf:	74 23                	je     0x4020e4
4020c1:	e8 e2 25 00 00       	call   0x4046a8
4020c6:	59                   	pop    %ecx
4020c7:	85 c0                	test   %eax,%eax
4020c9:	74 0d                	je     0x4020d8
4020cb:	8a 06                	mov    (%esi),%al
4020cd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4020d0:	ff 45 0c             	incl   0xc(%ebp)
4020d3:	88 01                	mov    %al,(%ecx)
4020d5:	46                   	inc    %esi
4020d6:	ff 07                	incl   (%edi)
4020d8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4020db:	8a 06                	mov    (%esi),%al
4020dd:	ff 45 0c             	incl   0xc(%ebp)
4020e0:	88 01                	mov    %al,(%ecx)
4020e2:	eb 0d                	jmp    0x4020f1
4020e4:	e8 bf 25 00 00       	call   0x4046a8
4020e9:	59                   	pop    %ecx
4020ea:	85 c0                	test   %eax,%eax
4020ec:	74 03                	je     0x4020f1
4020ee:	46                   	inc    %esi
4020ef:	ff 07                	incl   (%edi)
4020f1:	ff 07                	incl   (%edi)
4020f3:	8b 55 0c             	mov    0xc(%ebp),%edx
4020f6:	46                   	inc    %esi
4020f7:	e9 56 ff ff ff       	jmp    0x402052
4020fc:	85 d2                	test   %edx,%edx
4020fe:	74 07                	je     0x402107
402100:	c6 02 00             	movb   $0x0,(%edx)
402103:	42                   	inc    %edx
402104:	89 55 0c             	mov    %edx,0xc(%ebp)
402107:	ff 07                	incl   (%edi)
402109:	8b 4d 10             	mov    0x10(%ebp),%ecx
40210c:	e9 0e ff ff ff       	jmp    0x40201f
402111:	8b 45 08             	mov    0x8(%ebp),%eax
402114:	5e                   	pop    %esi
402115:	5b                   	pop    %ebx
402116:	85 c0                	test   %eax,%eax
402118:	74 03                	je     0x40211d
40211a:	83 20 00             	andl   $0x0,(%eax)
40211d:	ff 01                	incl   (%ecx)
40211f:	c9                   	leave
402120:	c3                   	ret
402121:	8b ff                	mov    %edi,%edi
402123:	55                   	push   %ebp
402124:	8b ec                	mov    %esp,%ebp
402126:	83 ec 0c             	sub    $0xc,%esp
402129:	53                   	push   %ebx
40212a:	33 db                	xor    %ebx,%ebx
40212c:	56                   	push   %esi
40212d:	57                   	push   %edi
40212e:	39 1d ac 2e de 02    	cmp    %ebx,0x2de2eac
402134:	75 05                	jne    0x40213b
402136:	e8 4a 2c 00 00       	call   0x404d85
40213b:	68 04 01 00 00       	push   $0x104
402140:	be 08 0d 43 00       	mov    $0x430d08,%esi
402145:	56                   	push   %esi
402146:	53                   	push   %ebx
402147:	88 1d 0c 0e 43 00    	mov    %bl,0x430e0c
40214d:	ff 15 88 d0 41 00    	call   *0x41d088
402153:	a1 c0 2e de 02       	mov    0x2de2ec0,%eax
402158:	89 35 d8 09 43 00    	mov    %esi,0x4309d8
40215e:	3b c3                	cmp    %ebx,%eax
402160:	74 07                	je     0x402169
402162:	89 45 fc             	mov    %eax,-0x4(%ebp)
402165:	38 18                	cmp    %bl,(%eax)
402167:	75 03                	jne    0x40216c
402169:	89 75 fc             	mov    %esi,-0x4(%ebp)
40216c:	8b 55 fc             	mov    -0x4(%ebp),%edx
40216f:	8d 45 f8             	lea    -0x8(%ebp),%eax
402172:	50                   	push   %eax
402173:	53                   	push   %ebx
402174:	53                   	push   %ebx
402175:	8d 7d f4             	lea    -0xc(%ebp),%edi
402178:	e8 0a fe ff ff       	call   0x401f87
40217d:	8b 45 f8             	mov    -0x8(%ebp),%eax
402180:	83 c4 0c             	add    $0xc,%esp
402183:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
402188:	73 4a                	jae    0x4021d4
40218a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40218d:	83 f9 ff             	cmp    $0xffffffff,%ecx
402190:	73 42                	jae    0x4021d4
402192:	8b f8                	mov    %eax,%edi
402194:	c1 e7 02             	shl    $0x2,%edi
402197:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
40219a:	3b c1                	cmp    %ecx,%eax
40219c:	72 36                	jb     0x4021d4
40219e:	50                   	push   %eax
40219f:	e8 8d 2c 00 00       	call   0x404e31
4021a4:	8b f0                	mov    %eax,%esi
4021a6:	59                   	pop    %ecx
4021a7:	3b f3                	cmp    %ebx,%esi
4021a9:	74 29                	je     0x4021d4
4021ab:	8b 55 fc             	mov    -0x4(%ebp),%edx
4021ae:	8d 45 f8             	lea    -0x8(%ebp),%eax
4021b1:	50                   	push   %eax
4021b2:	03 fe                	add    %esi,%edi
4021b4:	57                   	push   %edi
4021b5:	56                   	push   %esi
4021b6:	8d 7d f4             	lea    -0xc(%ebp),%edi
4021b9:	e8 c9 fd ff ff       	call   0x401f87
4021be:	8b 45 f8             	mov    -0x8(%ebp),%eax
4021c1:	83 c4 0c             	add    $0xc,%esp
4021c4:	48                   	dec    %eax
4021c5:	a3 bc 09 43 00       	mov    %eax,0x4309bc
4021ca:	89 35 c0 09 43 00    	mov    %esi,0x4309c0
4021d0:	33 c0                	xor    %eax,%eax
4021d2:	eb 03                	jmp    0x4021d7
4021d4:	83 c8 ff             	or     $0xffffffff,%eax
4021d7:	5f                   	pop    %edi
4021d8:	5e                   	pop    %esi
4021d9:	5b                   	pop    %ebx
4021da:	c9                   	leave
4021db:	c3                   	ret
4021dc:	8b ff                	mov    %edi,%edi
4021de:	55                   	push   %ebp
4021df:	8b ec                	mov    %esp,%ebp
4021e1:	a1 10 0e 43 00       	mov    0x430e10,%eax
4021e6:	83 ec 0c             	sub    $0xc,%esp
4021e9:	53                   	push   %ebx
4021ea:	56                   	push   %esi
4021eb:	8b 35 9c d0 41 00    	mov    0x41d09c,%esi
4021f1:	57                   	push   %edi
4021f2:	33 db                	xor    %ebx,%ebx
4021f4:	33 ff                	xor    %edi,%edi
4021f6:	3b c3                	cmp    %ebx,%eax