401c4e:	c7 46 04 40 00 00 00 	movl   $0x40,0x4(%esi)
401c55:	eb 1c                	jmp    0x401c73
401c57:	ff 75 f4             	push   -0xc(%ebp)
401c5a:	6a 00                	push   $0x0
401c5c:	ff d7                	call   *%edi
401c5e:	8b 35 60 40 40 00    	mov    0x404060,%esi
401c64:	50                   	push   %eax
401c65:	ff d6                	call   *%esi
401c67:	85 db                	test   %ebx,%ebx
401c69:	74 08                	je     0x401c73
401c6b:	53                   	push   %ebx
401c6c:	6a 00                	push   $0x0
401c6e:	ff d7                	call   *%edi
401c70:	50                   	push   %eax
401c71:	ff d6                	call   *%esi
401c73:	8b 45 fc             	mov    -0x4(%ebp),%eax
401c76:	5f                   	pop    %edi
401c77:	5e                   	pop    %esi
401c78:	5b                   	pop    %ebx
401c79:	c9                   	leave
401c7a:	c3                   	ret
401c7b:	53                   	push   %ebx
401c7c:	56                   	push   %esi
401c7d:	8b 35 f8 40 40 00    	mov    0x4040f8,%esi
401c83:	33 db                	xor    %ebx,%ebx
401c85:	eb 18                	jmp    0x401c9f
401c87:	ff 15 48 40 40 00    	call   *0x404048
401c8d:	3d c7 04 00 00       	cmp    $0x4c7,%eax
401c92:	75 12                	jne    0x401ca6
401c94:	68 10 27 00 00       	push   $0x2710
401c99:	ff 15 98 40 40 00    	call   *0x404098
401c9f:	57                   	push   %edi
401ca0:	ff d6                	call   *%esi
401ca2:	85 c0                	test   %eax,%eax
401ca4:	74 e1                	je     0x401c87
401ca6:	6a ff                	push   $0xffffffff
401ca8:	ff 77 38             	push   0x38(%edi)
401cab:	ff 15 5c 40 40 00    	call   *0x40405c
401cb1:	ff 77 38             	push   0x38(%edi)
401cb4:	85 c0                	test   %eax,%eax
401cb6:	74 08                	je     0x401cc0
401cb8:	ff 15 4c 40 40 00    	call   *0x40404c
401cbe:	eb 09                	jmp    0x401cc9
401cc0:	ff 15 4c 40 40 00    	call   *0x40404c
401cc6:	33 db                	xor    %ebx,%ebx
401cc8:	43                   	inc    %ebx
401cc9:	5e                   	pop    %esi
401cca:	8b c3                	mov    %ebx,%eax
401ccc:	5b                   	pop    %ebx
401ccd:	c3                   	ret
401cce:	55                   	push   %ebp
401ccf:	8b ec                	mov    %esp,%ebp
401cd1:	83 ec 10             	sub    $0x10,%esp
401cd4:	53                   	push   %ebx
401cd5:	56                   	push   %esi
401cd6:	57                   	push   %edi
401cd7:	33 f6                	xor    %esi,%esi
401cd9:	6a 04                	push   $0x4
401cdb:	33 db                	xor    %ebx,%ebx
401cdd:	5f                   	pop    %edi
401cde:	89 75 f8             	mov    %esi,-0x8(%ebp)
401ce1:	89 75 fc             	mov    %esi,-0x4(%ebp)
401ce4:	89 75 f4             	mov    %esi,-0xc(%ebp)
401ce7:	89 7d f0             	mov    %edi,-0x10(%ebp)
401cea:	39 75 08             	cmp    %esi,0x8(%ebp)
401ced:	0f 84 a7 00 00 00    	je     0x401d9a
401cf3:	39 75 0c             	cmp    %esi,0xc(%ebp)
401cf6:	0f 84 9e 00 00 00    	je     0x401d9a
401cfc:	39 75 10             	cmp    %esi,0x10(%ebp)
401cff:	0f 84 95 00 00 00    	je     0x401d9a
401d05:	68 20 00 00 f0       	push   $0xf0000020
401d0a:	6a 01                	push   $0x1
401d0c:	56                   	push   %esi
401d0d:	56                   	push   %esi
401d0e:	8d 45 f8             	lea    -0x8(%ebp),%eax
401d11:	50                   	push   %eax
401d12:	ff 15 04 40 40 00    	call   *0x404004
401d18:	85 c0                	test   %eax,%eax
401d1a:	74 61                	je     0x401d7d
401d1c:	39 75 f8             	cmp    %esi,-0x8(%ebp)
401d1f:	74 5c                	je     0x401d7d
401d21:	8d 45 fc             	lea    -0x4(%ebp),%eax
401d24:	50                   	push   %eax
401d25:	56                   	push   %esi
401d26:	56                   	push   %esi
401d27:	ff 75 14             	push   0x14(%ebp)
401d2a:	ff 75 f8             	push   -0x8(%ebp)
401d2d:	ff 15 08 40 40 00    	call   *0x404008
401d33:	85 c0                	test   %eax,%eax
401d35:	74 46                	je     0x401d7d
401d37:	39 75 fc             	cmp    %esi,-0x4(%ebp)
401d3a:	74 4f                	je     0x401d8b
401d3c:	56                   	push   %esi
401d3d:	ff 75 0c             	push   0xc(%ebp)
401d40:	ff 75 08             	push   0x8(%ebp)
401d43:	ff 75 fc             	push   -0x4(%ebp)
401d46:	ff 15 10 40 40 00    	call   *0x404010
401d4c:	85 c0                	test   %eax,%eax
401d4e:	74 2d                	je     0x401d7d
401d50:	56                   	push   %esi
401d51:	8d 45 f0             	lea    -0x10(%ebp),%eax
401d54:	50                   	push   %eax
401d55:	8d 45 f4             	lea    -0xc(%ebp),%eax
401d58:	50                   	push   %eax
401d59:	57                   	push   %edi
401d5a:	ff 75 fc             	push   -0x4(%ebp)
401d5d:	8b 3d 00 40 40 00    	mov    0x404000,%edi
401d63:	ff d7                	call   *%edi
401d65:	85 c0                	test   %eax,%eax
401d67:	74 14                	je     0x401d7d
401d69:	56                   	push   %esi
401d6a:	8d 45 f4             	lea    -0xc(%ebp),%eax
401d6d:	50                   	push   %eax
401d6e:	ff 75 10             	push   0x10(%ebp)
401d71:	6a 02                	push   $0x2
401d73:	ff 75 fc             	push   -0x4(%ebp)
401d76:	ff d7                	call   *%edi
401d78:	85 c0                	test   %eax,%eax
401d7a:	74 01                	je     0x401d7d
401d7c:	43                   	inc    %ebx
401d7d:	39 75 fc             	cmp    %esi,-0x4(%ebp)
401d80:	74 09                	je     0x401d8b
401d82:	ff 75 fc             	push   -0x4(%ebp)
401d85:	ff 15 0c 40 40 00    	call   *0x40400c
401d8b:	39 75 f8             	cmp    %esi,-0x8(%ebp)
401d8e:	74 0a                	je     0x401d9a
401d90:	56                   	push   %esi
401d91:	ff 75 f8             	push   -0x8(%ebp)
401d94:	ff 15 40 40 40 00    	call   *0x404040
401d9a:	5f                   	pop    %edi
401d9b:	5e                   	pop    %esi
401d9c:	8b c3                	mov    %ebx,%eax
401d9e:	5b                   	pop    %ebx
401d9f:	c9                   	leave
401da0:	c2 10 00             	ret    $0x10
401da3:	55                   	push   %ebp
401da4:	8b ec                	mov    %esp,%ebp
401da6:	51                   	push   %ecx
401da7:	53                   	push   %ebx
401da8:	56                   	push   %esi
401da9:	8b d8                	mov    %eax,%ebx
401dab:	85 ff                	test   %edi,%edi
401dad:	74 42                	je     0x401df1
401daf:	85 db                	test   %ebx,%ebx
401db1:	74 3e                	je     0x401df1
401db3:	6a 08                	push   $0x8
401db5:	58                   	pop    %eax
401db6:	e8 1b 13 00 00       	call   0x4030d6
401dbb:	8b c4                	mov    %esp,%eax
401dbd:	89 45 fc             	mov    %eax,-0x4(%ebp)
401dc0:	85 c0                	test   %eax,%eax
401dc2:	74 0e                	je     0x401dd2
401dc4:	6a 7f                	push   $0x7f
401dc6:	6a 04                	push   $0x4
401dc8:	ba ac 59 40 00       	mov    $0x4059ac,%edx
401dcd:	e8 8b 0b 00 00       	call   0x40295d
401dd2:	33 f6                	xor    %esi,%esi
401dd4:	0f b6 04 3e          	movzbl (%esi,%edi,1),%eax
401dd8:	50                   	push   %eax
401dd9:	ff 75 fc             	push   -0x4(%ebp)
401ddc:	6a 0a                	push   $0xa
401dde:	53                   	push   %ebx
401ddf:	ff 15 88 41 40 00    	call   *0x404188
401de5:	83 c4 10             	add    $0x10,%esp
401de8:	83 c3 02             	add    $0x2,%ebx
401deb:	46                   	inc    %esi
401dec:	83 fe 0a             	cmp    $0xa,%esi
401def:	72 e3                	jb     0x401dd4
401df1:	8d 65 f4             	lea    -0xc(%ebp),%esp
401df4:	5e                   	pop    %esi
401df5:	5b                   	pop    %ebx
401df6:	c9                   	leave
401df7:	c3                   	ret
401df8:	55                   	push   %ebp
401df9:	8b ec                	mov    %esp,%ebp
401dfb:	51                   	push   %ecx
401dfc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401e00:	83 3d b4 a9 42 00 00 	cmpl   $0x0,0x42a9b4
401e07:	56                   	push   %esi
401e08:	75 5c                	jne    0x401e66
401e0a:	6a 10                	push   $0x10
401e0c:	58                   	pop    %eax
401e0d:	e8 c4 12 00 00       	call   0x4030d6
401e12:	8b c4                	mov    %esp,%eax
401e14:	85 c0                	test   %eax,%eax
401e16:	74 11                	je     0x401e29
401e18:	68 87 00 00 00       	push   $0x87
401e1d:	6a 0c                	push   $0xc
401e1f:	ba 54 56 40 00       	mov    $0x405654,%edx
401e24:	e8 34 0b 00 00       	call   0x40295d
401e29:	50                   	push   %eax
401e2a:	ff 15 80 40 40 00    	call   *0x404080
401e30:	8b f0                	mov    %eax,%esi
401e32:	85 f6                	test   %esi,%esi
401e34:	74 41                	je     0x401e77
401e36:	6a 10                	push   $0x10
401e38:	58                   	pop    %eax
401e39:	e8 98 12 00 00       	call   0x4030d6
401e3e:	8b c4                	mov    %esp,%eax
401e40:	85 c0                	test   %eax,%eax
401e42:	74 11                	je     0x401e55
401e44:	68 96 00 00 00       	push   $0x96
401e49:	6a 0e                	push   $0xe
401e4b:	ba 3c 56 40 00       	mov    $0x40563c,%edx
401e50:	e8 08 0b 00 00       	call   0x40295d
401e55:	50                   	push   %eax
401e56:	56                   	push   %esi
401e57:	ff 15 84 40 40 00    	call   *0x404084
401e5d:	a3 b4 a9 42 00       	mov    %eax,0x42a9b4
401e62:	85 c0                	test   %eax,%eax
401e64:	74 11                	je     0x401e77
401e66:	ff 15 a4 40 40 00    	call   *0x4040a4
401e6c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
401e6f:	51                   	push   %ecx
401e70:	50                   	push   %eax
401e71:	ff 15 b4 a9 42 00    	call   *0x42a9b4
401e77:	8b 45 fc             	mov    -0x4(%ebp),%eax
401e7a:	8d 65 f8             	lea    -0x8(%ebp),%esp
401e7d:	5e                   	pop    %esi
401e7e:	c9                   	leave
401e7f:	c3                   	ret
401e80:	55                   	push   %ebp
401e81:	8b ec                	mov    %esp,%ebp
401e83:	51                   	push   %ecx
401e84:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401e88:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
401e8c:	74 22                	je     0x401eb0
401e8e:	8d 45 fc             	lea    -0x4(%ebp),%eax
401e91:	50                   	push   %eax
401e92:	ff 75 08             	push   0x8(%ebp)
401e95:	ff 15 c4 40 40 00    	call   *0x4040c4
401e9b:	85 c0                	test   %eax,%eax
401e9d:	74 11                	je     0x401eb0
401e9f:	f6 45 fc 02          	testb  $0x2,-0x4(%ebp)
401ea3:	75 0b                	jne    0x401eb0
401ea5:	ff 75 08             	push   0x8(%ebp)
401ea8:	ff 15 78 41 40 00    	call   *0x404178
401eae:	eb 02                	jmp    0x401eb2
401eb0:	33 c0                	xor    %eax,%eax
401eb2:	c9                   	leave
401eb3:	c2 04 00             	ret    $0x4
401eb6:	55                   	push   %ebp
401eb7:	8b ec                	mov    %esp,%ebp
401eb9:	81 ec 10 02 00 00    	sub    $0x210,%esp
401ebf:	53                   	push   %ebx
401ec0:	56                   	push   %esi
401ec1:	57                   	push   %edi
401ec2:	33 db                	xor    %ebx,%ebx
401ec4:	be 03 01 00 00       	mov    $0x103,%esi
401ec9:	56                   	push   %esi
401eca:	8d 85 f1 fd ff ff    	lea    -0x20f(%ebp),%eax
401ed0:	53                   	push   %ebx
401ed1:	50                   	push   %eax
401ed2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401ed5:	88 9d f0 fd ff ff    	mov    %bl,-0x210(%ebp)
401edb:	e8 fc 11 00 00       	call   0x4030dc
401ee0:	56                   	push   %esi
401ee1:	8d 85 f5 fe ff ff    	lea    -0x10b(%ebp),%eax
401ee7:	53                   	push   %ebx
401ee8:	50                   	push   %eax
401ee9:	88 9d f4 fe ff ff    	mov    %bl,-0x10c(%ebp)
401eef:	e8 e8 11 00 00       	call   0x4030dc
401ef4:	83 c4 18             	add    $0x18,%esp
401ef7:	39 5d 08             	cmp    %ebx,0x8(%ebp)
401efa:	0f 84 e8 00 00 00    	je     0x401fe8
401f00:	8d 7e 01             	lea    0x1(%esi),%edi
401f03:	57                   	push   %edi
401f04:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
401f0a:	50                   	push   %eax
401f0b:	68 70 a5 42 00       	push   $0x42a570
401f10:	ff 15 c0 40 40 00    	call   *0x4040c0
401f16:	6a 34                	push   $0x34
401f18:	58                   	pop    %eax
401f19:	e8 b8 11 00 00       	call   0x4030d6
401f1e:	8b c4                	mov    %esp,%eax
401f20:	89 45 f8             	mov    %eax,-0x8(%ebp)
401f23:	3b c3                	cmp    %ebx,%eax
401f25:	74 11                	je     0x401f38
401f27:	68 87 00 00 00       	push   $0x87
401f2c:	6a 31                	push   $0x31
401f2e:	ba 10 52 40 00       	mov    $0x405210,%edx
401f33:	e8 25 0a 00 00       	call   0x40295d
401f38:	8d 4d fc             	lea    -0x4(%ebp),%ecx
401f3b:	51                   	push   %ecx
401f3c:	68 06 02 02 00       	push   $0x20206
401f41:	53                   	push   %ebx
401f42:	50                   	push   %eax
401f43:	be 01 00 00 80       	mov    $0x80000001,%esi
401f48:	56                   	push   %esi
401f49:	ff 15 30 40 40 00    	call   *0x404030
401f4f:	83 f8 02             	cmp    $0x2,%eax
401f52:	75 0e                	jne    0x401f62
401f54:	8d 45 fc             	lea    -0x4(%ebp),%eax
401f57:	50                   	push   %eax
401f58:	ff 75 f8             	push   -0x8(%ebp)
401f5b:	56                   	push   %esi
401f5c:	ff 15 2c 40 40 00    	call   *0x40402c
401f62:	3b c3                	cmp    %ebx,%eax
401f64:	75 74                	jne    0x401fda
401f66:	6a 30                	push   $0x30
401f68:	58                   	pop    %eax
401f69:	e8 68 11 00 00       	call   0x4030d6
401f6e:	8b c4                	mov    %esp,%eax
401f70:	3b c3                	cmp    %ebx,%eax
401f72:	74 11                	je     0x401f85
401f74:	68 86 00 00 00       	push   $0x86
401f79:	6a 2d                	push   $0x2d
401f7b:	ba e0 51 40 00       	mov    $0x4051e0,%edx
401f80:	e8 d8 09 00 00       	call   0x40295d
401f85:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
401f8b:	51                   	push   %ecx
401f8c:	50                   	push   %eax
401f8d:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
401f93:	57                   	push   %edi
401f94:	50                   	push   %eax
401f95:	ff 15 88 41 40 00    	call   *0x404188
401f9b:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
401fa1:	83 c4 10             	add    $0x10,%esp
401fa4:	8d 70 01             	lea    0x1(%eax),%esi
401fa7:	8a 08                	mov    (%eax),%cl
401fa9:	40                   	inc    %eax
401faa:	3a cb                	cmp    %bl,%cl
401fac:	75 f9                	jne    0x401fa7
401fae:	2b c6                	sub    %esi,%eax
401fb0:	40                   	inc    %eax
401fb1:	50                   	push   %eax
401fb2:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
401fb8:	50                   	push   %eax
401fb9:	6a 01                	push   $0x1
401fbb:	53                   	push   %ebx
401fbc:	ff 75 08             	push   0x8(%ebp)
401fbf:	ff 75 fc             	push   -0x4(%ebp)
401fc2:	ff 15 24 40 40 00    	call   *0x404024
401fc8:	85 c0                	test   %eax,%eax
401fca:	75 0e                	jne    0x401fda
401fcc:	ff 75 fc             	push   -0x4(%ebp)
401fcf:	ff 15 38 40 40 00    	call   *0x404038
401fd5:	e8 8a 01 00 00       	call   0x402164
401fda:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
401fdd:	74 09                	je     0x401fe8
401fdf:	ff 75 fc             	push   -0x4(%ebp)
401fe2:	ff 15 3c 40 40 00    	call   *0x40403c
401fe8:	8d a5 e4 fd ff ff    	lea    -0x21c(%ebp),%esp
401fee:	5f                   	pop    %edi
401fef:	5e                   	pop    %esi
401ff0:	5b                   	pop    %ebx
401ff1:	c9                   	leave
401ff2:	c2 04 00             	ret    $0x4
401ff5:	55                   	push   %ebp
401ff6:	8b ec                	mov    %esp,%ebp