401cb7:	59                   	pop    %ecx
401cb8:	83 f8 01             	cmp    $0x1,%eax
401cbb:	74 15                	je     0x401cd2
401cbd:	6a 03                	push   $0x3
401cbf:	e8 bf 28 00 00       	call   0x404583
401cc4:	59                   	pop    %ecx
401cc5:	85 c0                	test   %eax,%eax
401cc7:	75 1f                	jne    0x401ce8
401cc9:	83 3d 00 f0 41 00 01 	cmpl   $0x1,0x41f000
401cd0:	75 16                	jne    0x401ce8
401cd2:	68 fc 00 00 00       	push   $0xfc
401cd7:	e8 29 fe ff ff       	call   0x401b05
401cdc:	68 ff 00 00 00       	push   $0xff
401ce1:	e8 1f fe ff ff       	call   0x401b05
401ce6:	59                   	pop    %ecx
401ce7:	59                   	pop    %ecx
401ce8:	c3                   	ret
401ce9:	c3                   	ret
401cea:	8b ff                	mov    %edi,%edi
401cec:	55                   	push   %ebp
401ced:	8b ec                	mov    %esp,%ebp
401cef:	51                   	push   %ecx
401cf0:	51                   	push   %ecx
401cf1:	56                   	push   %esi
401cf2:	e8 0a 0b 00 00       	call   0x402801
401cf7:	8b f0                	mov    %eax,%esi
401cf9:	85 f6                	test   %esi,%esi
401cfb:	0f 84 46 01 00 00    	je     0x401e47
401d01:	8b 56 5c             	mov    0x5c(%esi),%edx
401d04:	a1 dc f0 41 00       	mov    0x41f0dc,%eax
401d09:	57                   	push   %edi
401d0a:	8b 7d 08             	mov    0x8(%ebp),%edi
401d0d:	8b ca                	mov    %edx,%ecx
401d0f:	53                   	push   %ebx
401d10:	39 39                	cmp    %edi,(%ecx)
401d12:	74 0e                	je     0x401d22
401d14:	8b d8                	mov    %eax,%ebx
401d16:	6b db 0c             	imul   $0xc,%ebx,%ebx
401d19:	83 c1 0c             	add    $0xc,%ecx
401d1c:	03 da                	add    %edx,%ebx
401d1e:	3b cb                	cmp    %ebx,%ecx
401d20:	72 ee                	jb     0x401d10
401d22:	6b c0 0c             	imul   $0xc,%eax,%eax
401d25:	03 c2                	add    %edx,%eax
401d27:	3b c8                	cmp    %eax,%ecx
401d29:	73 08                	jae    0x401d33
401d2b:	39 39                	cmp    %edi,(%ecx)
401d2d:	75 04                	jne    0x401d33
401d2f:	8b c1                	mov    %ecx,%eax
401d31:	eb 02                	jmp    0x401d35
401d33:	33 c0                	xor    %eax,%eax
401d35:	85 c0                	test   %eax,%eax
401d37:	74 0a                	je     0x401d43
401d39:	8b 58 08             	mov    0x8(%eax),%ebx
401d3c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401d3f:	85 db                	test   %ebx,%ebx
401d41:	75 07                	jne    0x401d4a
401d43:	33 c0                	xor    %eax,%eax
401d45:	e9 fb 00 00 00       	jmp    0x401e45
401d4a:	83 fb 05             	cmp    $0x5,%ebx
401d4d:	75 0c                	jne    0x401d5b
401d4f:	83 60 08 00          	andl   $0x0,0x8(%eax)
401d53:	33 c0                	xor    %eax,%eax
401d55:	40                   	inc    %eax
401d56:	e9 ea 00 00 00       	jmp    0x401e45
401d5b:	83 fb 01             	cmp    $0x1,%ebx
401d5e:	0f 84 de 00 00 00    	je     0x401e42
401d64:	8b 4e 60             	mov    0x60(%esi),%ecx
401d67:	89 4d f8             	mov    %ecx,-0x8(%ebp)
401d6a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
401d6d:	89 4e 60             	mov    %ecx,0x60(%esi)
401d70:	8b 48 04             	mov    0x4(%eax),%ecx
401d73:	83 f9 08             	cmp    $0x8,%ecx
401d76:	0f 85 b8 00 00 00    	jne    0x401e34
401d7c:	8b 0d d0 f0 41 00    	mov    0x41f0d0,%ecx
401d82:	8b 3d d4 f0 41 00    	mov    0x41f0d4,%edi
401d88:	8b d1                	mov    %ecx,%edx
401d8a:	03 f9                	add    %ecx,%edi
401d8c:	3b d7                	cmp    %edi,%edx
401d8e:	7d 24                	jge    0x401db4
401d90:	6b c9 0c             	imul   $0xc,%ecx,%ecx
401d93:	8b 7e 5c             	mov    0x5c(%esi),%edi
401d96:	83 64 39 08 00       	andl   $0x0,0x8(%ecx,%edi,1)
401d9b:	8b 3d d0 f0 41 00    	mov    0x41f0d0,%edi
401da1:	8b 1d d4 f0 41 00    	mov    0x41f0d4,%ebx
401da7:	42                   	inc    %edx
401da8:	03 df                	add    %edi,%ebx
401daa:	83 c1 0c             	add    $0xc,%ecx
401dad:	3b d3                	cmp    %ebx,%edx
401daf:	7c e2                	jl     0x401d93
401db1:	8b 5d fc             	mov    -0x4(%ebp),%ebx
401db4:	8b 00                	mov    (%eax),%eax
401db6:	8b 7e 64             	mov    0x64(%esi),%edi
401db9:	3d 8e 00 00 c0       	cmp    $0xc000008e,%eax
401dbe:	75 09                	jne    0x401dc9
401dc0:	c7 46 64 83 00 00 00 	movl   $0x83,0x64(%esi)
401dc7:	eb 5e                	jmp    0x401e27
401dc9:	3d 90 00 00 c0       	cmp    $0xc0000090,%eax
401dce:	75 09                	jne    0x401dd9
401dd0:	c7 46 64 81 00 00 00 	movl   $0x81,0x64(%esi)
401dd7:	eb 4e                	jmp    0x401e27
401dd9:	3d 91 00 00 c0       	cmp    $0xc0000091,%eax
401dde:	75 09                	jne    0x401de9
401de0:	c7 46 64 84 00 00 00 	movl   $0x84,0x64(%esi)
401de7:	eb 3e                	jmp    0x401e27
401de9:	3d 93 00 00 c0       	cmp    $0xc0000093,%eax
401dee:	75 09                	jne    0x401df9
401df0:	c7 46 64 85 00 00 00 	movl   $0x85,0x64(%esi)
401df7:	eb 2e                	jmp    0x401e27
401df9:	3d 8d 00 00 c0       	cmp    $0xc000008d,%eax
401dfe:	75 09                	jne    0x401e09
401e00:	c7 46 64 82 00 00 00 	movl   $0x82,0x64(%esi)
401e07:	eb 1e                	jmp    0x401e27
401e09:	3d 8f 00 00 c0       	cmp    $0xc000008f,%eax
401e0e:	75 09                	jne    0x401e19
401e10:	c7 46 64 86 00 00 00 	movl   $0x86,0x64(%esi)
401e17:	eb 0e                	jmp    0x401e27
401e19:	3d 92 00 00 c0       	cmp    $0xc0000092,%eax
401e1e:	75 07                	jne    0x401e27
401e20:	c7 46 64 8a 00 00 00 	movl   $0x8a,0x64(%esi)
401e27:	ff 76 64             	push   0x64(%esi)
401e2a:	6a 08                	push   $0x8
401e2c:	ff d3                	call   *%ebx
401e2e:	59                   	pop    %ecx
401e2f:	89 7e 64             	mov    %edi,0x64(%esi)
401e32:	eb 07                	jmp    0x401e3b
401e34:	83 60 08 00          	andl   $0x0,0x8(%eax)
401e38:	51                   	push   %ecx
401e39:	ff d3                	call   *%ebx
401e3b:	8b 45 f8             	mov    -0x8(%ebp),%eax
401e3e:	59                   	pop    %ecx
401e3f:	89 46 60             	mov    %eax,0x60(%esi)
401e42:	83 c8 ff             	or     $0xffffffff,%eax
401e45:	5b                   	pop    %ebx
401e46:	5f                   	pop    %edi
401e47:	5e                   	pop    %esi
401e48:	c9                   	leave
401e49:	c3                   	ret
401e4a:	8b ff                	mov    %edi,%edi
401e4c:	56                   	push   %esi
401e4d:	57                   	push   %edi
401e4e:	33 ff                	xor    %edi,%edi
401e50:	39 3d ac 2e de 02    	cmp    %edi,0x2de2eac
401e56:	75 05                	jne    0x401e5d
401e58:	e8 28 2f 00 00       	call   0x404d85
401e5d:	8b 35 c0 2e de 02    	mov    0x2de2ec0,%esi
401e63:	85 f6                	test   %esi,%esi
401e65:	75 05                	jne    0x401e6c
401e67:	be 10 d9 41 00       	mov    $0x41d910,%esi
401e6c:	8a 06                	mov    (%esi),%al
401e6e:	3c 20                	cmp    $0x20,%al
401e70:	77 08                	ja     0x401e7a
401e72:	84 c0                	test   %al,%al
401e74:	74 2e                	je     0x401ea4
401e76:	85 ff                	test   %edi,%edi
401e78:	74 24                	je     0x401e9e
401e7a:	3c 22                	cmp    $0x22,%al
401e7c:	75 09                	jne    0x401e87
401e7e:	33 c9                	xor    %ecx,%ecx
401e80:	85 ff                	test   %edi,%edi
401e82:	0f 94 c1             	sete   %cl
401e85:	8b f9                	mov    %ecx,%edi
401e87:	0f b6 c0             	movzbl %al,%eax
401e8a:	50                   	push   %eax
401e8b:	e8 18 28 00 00       	call   0x4046a8
401e90:	59                   	pop    %ecx
401e91:	85 c0                	test   %eax,%eax
401e93:	74 01                	je     0x401e96
401e95:	46                   	inc    %esi
401e96:	46                   	inc    %esi
401e97:	eb d3                	jmp    0x401e6c
401e99:	3c 20                	cmp    $0x20,%al
401e9b:	77 07                	ja     0x401ea4
401e9d:	46                   	inc    %esi
401e9e:	8a 06                	mov    (%esi),%al
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