409afc:	8d 45 fa             	lea    -0x6(%ebp),%eax
409aff:	83 e9 05             	sub    $0x5,%ecx
409b02:	50                   	push   %eax
409b03:	89 4d e8             	mov    %ecx,-0x18(%ebp)
409b06:	e8 55 e8 00 00       	call   0x418360
409b0b:	8b 85 58 fd ff ff    	mov    -0x2a8(%ebp),%eax
409b11:	83 c4 14             	add    $0x14,%esp
409b14:	6a 0a                	push   $0xa
409b16:	8d 4d f4             	lea    -0xc(%ebp),%ecx
409b19:	51                   	push   %ecx
409b1a:	50                   	push   %eax
409b1b:	50                   	push   %eax
409b1c:	e8 5f e7 00 00       	call   0x418280
409b21:	83 c4 08             	add    $0x8,%esp
409b24:	50                   	push   %eax
409b25:	e8 36 e8 00 00       	call   0x418360
409b2a:	53                   	push   %ebx
409b2b:	8d 95 50 fd ff ff    	lea    -0x2b0(%ebp),%edx
409b31:	52                   	push   %edx
409b32:	8b 16                	mov    (%esi),%edx
409b34:	8d 45 80             	lea    -0x80(%ebp),%eax
409b37:	50                   	push   %eax
409b38:	8d 8d 4c fd ff ff    	lea    -0x2b4(%ebp),%ecx
409b3e:	51                   	push   %ecx
409b3f:	52                   	push   %edx
409b40:	56                   	push   %esi
409b41:	e8 7a 30 00 00       	call   0x40cbc0
409b46:	83 c4 24             	add    $0x24,%esp
409b49:	85 c0                	test   %eax,%eax
409b4b:	0f 84 27 ff ff ff    	je     0x409a78
409b51:	8b 4d 80             	mov    -0x80(%ebp),%ecx
409b54:	8b 95 58 fd ff ff    	mov    -0x2a8(%ebp),%edx
409b5a:	8b 85 50 fd ff ff    	mov    -0x2b0(%ebp),%eax
409b60:	51                   	push   %ecx
409b61:	52                   	push   %edx
409b62:	50                   	push   %eax
409b63:	e8 f8 e7 00 00       	call   0x418360
409b68:	8b 8d 58 fd ff ff    	mov    -0x2a8(%ebp),%ecx
409b6e:	51                   	push   %ecx
409b6f:	56                   	push   %esi
409b70:	e8 cb e7 00 00       	call   0x418340
409b75:	8b 95 54 fd ff ff    	mov    -0x2ac(%ebp),%edx
409b7b:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
409b81:	52                   	push   %edx
409b82:	50                   	push   %eax
409b83:	56                   	push   %esi
409b84:	e8 37 cd 00 00       	call   0x4168c0
409b89:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
409b8f:	6a 40                	push   $0x40
409b91:	53                   	push   %ebx
409b92:	6a 01                	push   $0x1
409b94:	8d 4d 80             	lea    -0x80(%ebp),%ecx
409b97:	51                   	push   %ecx
409b98:	8b 8d 4c fd ff ff    	mov    -0x2b4(%ebp),%ecx
409b9e:	53                   	push   %ebx
409b9f:	53                   	push   %ebx
409ba0:	53                   	push   %ebx
409ba1:	8d 95 54 fd ff ff    	lea    -0x2ac(%ebp),%edx
409ba7:	52                   	push   %edx
409ba8:	50                   	push   %eax
409ba9:	51                   	push   %ecx
409baa:	56                   	push   %esi
409bab:	e8 c0 cc 00 00       	call   0x416870
409bb0:	83 c4 4c             	add    $0x4c,%esp
409bb3:	85 c0                	test   %eax,%eax
409bb5:	78 2f                	js     0x409be6
409bb7:	8b 95 d8 fc ff ff    	mov    -0x328(%ebp),%edx
409bbd:	8b 85 a8 fa ff ff    	mov    -0x558(%ebp),%eax
409bc3:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409bc6:	52                   	push   %edx
409bc7:	50                   	push   %eax
409bc8:	51                   	push   %ecx
409bc9:	e8 92 e7 00 00       	call   0x418360
409bce:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
409bd4:	53                   	push   %ebx
409bd5:	52                   	push   %edx
409bd6:	56                   	push   %esi
409bd7:	e8 a4 ca 00 00       	call   0x416680
409bdc:	53                   	push   %ebx
409bdd:	56                   	push   %esi
409bde:	e8 2d d3 00 00       	call   0x416f10
409be3:	83 c4 20             	add    $0x20,%esp
409be6:	5e                   	pop    %esi
409be7:	5b                   	pop    %ebx
409be8:	8b e5                	mov    %ebp,%esp
409bea:	5d                   	pop    %ebp
409beb:	c3                   	ret
409bec:	1a b1 b4 85 55 8b    	sbb    -0x74aa7a4c(%ecx),%dh
409bf2:	ec                   	in     (%dx),%al
409bf3:	83 ec 18             	sub    $0x18,%esp
409bf6:	53                   	push   %ebx
409bf7:	8b 5d 18             	mov    0x18(%ebp),%ebx
409bfa:	56                   	push   %esi
409bfb:	33 f6                	xor    %esi,%esi
409bfd:	57                   	push   %edi
409bfe:	8b 7d 10             	mov    0x10(%ebp),%edi
409c01:	8b 87 40 02 00 00    	mov    0x240(%edi),%eax
409c07:	89 75 fc             	mov    %esi,-0x4(%ebp)
409c0a:	89 75 f8             	mov    %esi,-0x8(%ebp)
409c0d:	89 75 e8             	mov    %esi,-0x18(%ebp)
409c10:	89 75 ec             	mov    %esi,-0x14(%ebp)
409c13:	89 45 f0             	mov    %eax,-0x10(%ebp)
409c16:	83 fb 02             	cmp    $0x2,%ebx
409c19:	74 05                	je     0x409c20
409c1b:	83 fb 06             	cmp    $0x6,%ebx
409c1e:	75 36                	jne    0x409c56
409c20:	68 00 00 10 00       	push   $0x100000
409c25:	68 00 20 00 00       	push   $0x2000
409c2a:	e8 11 e3 ff ff       	call   0x407f40
409c2f:	8b f0                	mov    %eax,%esi
409c31:	83 c4 08             	add    $0x8,%esp
409c34:	f7 c6 ff 0f 00 00    	test   $0xfff,%esi
409c3a:	74 0d                	je     0x409c49
409c3c:	8d 64 24 00          	lea    0x0(%esp),%esp
409c40:	46                   	inc    %esi
409c41:	f7 c6 ff 0f 00 00    	test   $0xfff,%esi
409c47:	75 f7                	jne    0x409c40
409c49:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409c4c:	8d 94 31 00 00 08 00 	lea    0x80000(%ecx,%esi,1),%edx
409c53:	89 55 f0             	mov    %edx,-0x10(%ebp)
409c56:	8b 87 40 02 00 00    	mov    0x240(%edi),%eax
409c5c:	53                   	push   %ebx
409c5d:	8b 5d 08             	mov    0x8(%ebp),%ebx
409c60:	03 c6                	add    %esi,%eax
409c62:	8d 4d fc             	lea    -0x4(%ebp),%ecx
409c65:	51                   	push   %ecx
409c66:	8b 0b                	mov    (%ebx),%ecx
409c68:	8d 55 e8             	lea    -0x18(%ebp),%edx
409c6b:	52                   	push   %edx
409c6c:	89 45 e8             	mov    %eax,-0x18(%ebp)
409c6f:	8d 45 f4             	lea    -0xc(%ebp),%eax
409c72:	50                   	push   %eax
409c73:	51                   	push   %ecx
409c74:	53                   	push   %ebx
409c75:	e8 46 2f 00 00       	call   0x40cbc0
409c7a:	83 c4 18             	add    $0x18,%esp
409c7d:	85 c0                	test   %eax,%eax
409c7f:	74 45                	je     0x409cc6
409c81:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409c84:	6a 40                	push   $0x40
409c86:	6a 00                	push   $0x0
409c88:	6a 01                	push   $0x1
409c8a:	8d 55 f0             	lea    -0x10(%ebp),%edx
409c8d:	52                   	push   %edx
409c8e:	8b 11                	mov    (%ecx),%edx
409c90:	6a 00                	push   $0x0
409c92:	6a 00                	push   $0x0
409c94:	6a 00                	push   $0x0
409c96:	8d 45 f8             	lea    -0x8(%ebp),%eax
409c99:	50                   	push   %eax
409c9a:	8b 45 f4             	mov    -0xc(%ebp),%eax
409c9d:	52                   	push   %edx
409c9e:	50                   	push   %eax
409c9f:	53                   	push   %ebx
409ca0:	e8 cb cb 00 00       	call   0x416870
409ca5:	83 c4 2c             	add    $0x2c,%esp
409ca8:	85 c0                	test   %eax,%eax
409caa:	79 23                	jns    0x409ccf
409cac:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409caf:	8b 13                	mov    (%ebx),%edx
409cb1:	51                   	push   %ecx
409cb2:	52                   	push   %edx
409cb3:	53                   	push   %ebx
409cb4:	e8 07 cc 00 00       	call   0x4168c0
409cb9:	8b 45 f4             	mov    -0xc(%ebp),%eax
409cbc:	50                   	push   %eax
409cbd:	53                   	push   %ebx
409cbe:	e8 2d d0 00 00       	call   0x416cf0
409cc3:	83 c4 14             	add    $0x14,%esp
409cc6:	5f                   	pop    %edi
409cc7:	5e                   	pop    %esi
409cc8:	33 c0                	xor    %eax,%eax
409cca:	5b                   	pop    %ebx
409ccb:	8b e5                	mov    %ebp,%esp
409ccd:	5d                   	pop    %ebp
409cce:	c3                   	ret
409ccf:	8b 45 fc             	mov    -0x4(%ebp),%eax
409cd2:	33 ff                	xor    %edi,%edi
409cd4:	8b d8                	mov    %eax,%ebx
409cd6:	85 f6                	test   %esi,%esi
409cd8:	74 1a                	je     0x409cf4
409cda:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
409ce0:	50                   	push   %eax
409ce1:	e8 8a ec 00 00       	call   0x418970
409ce6:	88 04 1f             	mov    %al,(%edi,%ebx,1)
409ce9:	47                   	inc    %edi
409cea:	83 c4 04             	add    $0x4,%esp
409ced:	3b fe                	cmp    %esi,%edi
409cef:	72 ef                	jb     0x409ce0
409cf1:	8b 45 fc             	mov    -0x4(%ebp),%eax
409cf4:	8b 7d 10             	mov    0x10(%ebp),%edi
409cf7:	8b 8f 40 02 00 00    	mov    0x240(%edi),%ecx
409cfd:	8b 55 14             	mov    0x14(%ebp),%edx
409d00:	01 75 f8             	add    %esi,-0x8(%ebp)
409d03:	51                   	push   %ecx
409d04:	03 c6                	add    %esi,%eax
409d06:	52                   	push   %edx
409d07:	50                   	push   %eax
409d08:	89 45 fc             	mov    %eax,-0x4(%ebp)
409d0b:	e8 50 e6 00 00       	call   0x418360
409d10:	83 c4 0c             	add    $0xc,%esp
409d13:	83 7d 18 06          	cmpl   $0x6,0x18(%ebp)
409d17:	75 20                	jne    0x409d39
409d19:	8b 45 f4             	mov    -0xc(%ebp),%eax
409d1c:	8b 4d 08             	mov    0x8(%ebp),%ecx
409d1f:	50                   	push   %eax
409d20:	51                   	push   %ecx
409d21:	e8 ca cf 00 00       	call   0x416cf0
409d26:	8b 55 f8             	mov    -0x8(%ebp),%edx
409d29:	8b 45 fc             	mov    -0x4(%ebp),%eax
409d2c:	83 c4 08             	add    $0x8,%esp
409d2f:	89 57 1c             	mov    %edx,0x1c(%edi)
409d32:	5f                   	pop    %edi
409d33:	5e                   	pop    %esi
409d34:	5b                   	pop    %ebx
409d35:	8b e5                	mov    %ebp,%esp
409d37:	5d                   	pop    %ebp
409d38:	c3                   	ret
409d39:	8b 45 fc             	mov    -0x4(%ebp),%eax
409d3c:	2b c6                	sub    %esi,%eax
409d3e:	8b 75 08             	mov    0x8(%ebp),%esi
409d41:	8b 0e                	mov    (%esi),%ecx
409d43:	50                   	push   %eax
409d44:	51                   	push   %ecx
409d45:	56                   	push   %esi
409d46:	e8 75 cb 00 00       	call   0x4168c0
409d4b:	8b 55 f4             	mov    -0xc(%ebp),%edx
409d4e:	52                   	push   %edx
409d4f:	56                   	push   %esi
409d50:	e8 9b cf 00 00       	call   0x416cf0
409d55:	8b 07                	mov    (%edi),%eax
409d57:	83 c4 14             	add    $0x14,%esp
409d5a:	03 45 f8             	add    -0x8(%ebp),%eax
409d5d:	5f                   	pop    %edi
409d5e:	5e                   	pop    %esi
409d5f:	5b                   	pop    %ebx
409d60:	8b e5                	mov    %ebp,%esp
409d62:	5d                   	pop    %ebp
409d63:	c3                   	ret
409d64:	f2 bc 19 02 b8 f2    	repnz mov $0xf2b80219,%esp
409d6a:	20 36                	and    %dh,(%esi)
409d6c:	83 a0 2e 02 55 8b ec 	andl   $0xffffffec,-0x74aafdd2(%eax)
409d73:	83 ec 08             	sub    $0x8,%esp
409d76:	8b 55 10             	mov    0x10(%ebp),%edx
409d79:	6a 04                	push   $0x4
409d7b:	6a 00                	push   $0x0
409d7d:	6a 01                	push   $0x1
409d7f:	8d 45 f8             	lea    -0x8(%ebp),%eax
409d82:	50                   	push   %eax
409d83:	8b 02                	mov    (%edx),%eax
409d85:	6a 00                	push   $0x0
409d87:	6a 00                	push   $0x0
409d89:	6a 00                	push   $0x0
409d8b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
409d8e:	51                   	push   %ecx
409d8f:	50                   	push   %eax
409d90:	8b 45 08             	mov    0x8(%ebp),%eax
409d93:	8b 88 dc 07 00 00    	mov    0x7dc(%eax),%ecx
409d99:	51                   	push   %ecx
409d9a:	50                   	push   %eax
409d9b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409da2:	c7 45 f8 00 40 9c 00 	movl   $0x9c4000,-0x8(%ebp)
409da9:	e8 c2 ca 00 00       	call   0x416870
409dae:	83 c4 2c             	add    $0x2c,%esp
409db1:	85 c0                	test   %eax,%eax
409db3:	79 06                	jns    0x409dbb
409db5:	33 c0                	xor    %eax,%eax
409db7:	8b e5                	mov    %ebp,%esp
409db9:	5d                   	pop    %ebp
409dba:	c3                   	ret
409dbb:	8b 45 14             	mov    0x14(%ebp),%eax
409dbe:	83 f8 32             	cmp    $0x32,%eax
409dc1:	75 08                	jne    0x409dcb
409dc3:	8b 55 0c             	mov    0xc(%ebp),%edx
409dc6:	8b 42 0c             	mov    0xc(%edx),%eax
409dc9:	eb 0b                	jmp    0x409dd6
409dcb:	83 f8 64             	cmp    $0x64,%eax
409dce:	75 0f                	jne    0x409ddf
409dd0:	8b 55 0c             	mov    0xc(%ebp),%edx
409dd3:	8b 42 1c             	mov    0x1c(%edx),%eax
409dd6:	85 c0                	test   %eax,%eax
409dd8:	74 05                	je     0x409ddf
409dda:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409ddd:	89 08                	mov    %ecx,(%eax)
409ddf:	b8 01 00 00 00       	mov    $0x1,%eax
409de4:	8b e5                	mov    %ebp,%esp
409de6:	5d                   	pop    %ebp
409de7:	c3                   	ret
409de8:	7e d0                	jle    0x409dba
409dea:	79 d3                	jns    0x409dbf
409dec:	33 77 6d             	xor    0x6d(%edi),%esi
409def:	77 55                	ja     0x409e46
409df1:	8b ec                	mov    %esp,%ebp
409df3:	83 ec 1c             	sub    $0x1c,%esp
409df6:	53                   	push   %ebx
409df7:	56                   	push   %esi
409df8:	33 c0                	xor    %eax,%eax
409dfa:	57                   	push   %edi
409dfb:	8b 7d 08             	mov    0x8(%ebp),%edi
409dfe:	68 80 0f 05 fd       	push   $0xfd050f80
409e03:	57                   	push   %edi
409e04:	33 f6                	xor    %esi,%esi
409e06:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409e09:	89 45 e8             	mov    %eax,-0x18(%ebp)
409e0c:	89 45 ec             	mov    %eax,-0x14(%ebp)
409e0f:	89 45 f0             	mov    %eax,-0x10(%ebp)
409e12:	89 45 f4             	mov    %eax,-0xc(%ebp)
409e15:	89 45 f8             	mov    %eax,-0x8(%ebp)
409e18:	89 45 fc             	mov    %eax,-0x4(%ebp)
409e1b:	e8 70 2f 00 00       	call   0x40cd90
409e20:	8b 5d 10             	mov    0x10(%ebp),%ebx
409e23:	83 c4 08             	add    $0x8,%esp
409e26:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409e29:	8d 45 e4             	lea    -0x1c(%ebp),%eax
409e2c:	50                   	push   %eax
409e2d:	51                   	push   %ecx
409e2e:	e8 2d bc ff ff       	call   0x405a60
409e33:	83 c4 08             	add    $0x8,%esp
409e36:	85 c0                	test   %eax,%eax
409e38:	74 27                	je     0x409e61
409e3a:	8b 55 ec             	mov    -0x14(%ebp),%edx
409e3d:	52                   	push   %edx
409e3e:	53                   	push   %ebx
409e3f:	57                   	push   %edi
409e40:	e8 cb 2e 00 00       	call   0x40cd10
409e45:	83 c4 0c             	add    $0xc,%esp
409e48:	85 c0                	test   %eax,%eax
409e4a:	74 1a                	je     0x409e66
409e4c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409e4f:	89 8f 20 0a 00 00    	mov    %ecx,0xa20(%edi)
409e55:	5f                   	pop    %edi
409e56:	5e                   	pop    %esi
409e57:	b8 01 00 00 00       	mov    $0x1,%eax
409e5c:	5b                   	pop    %ebx
409e5d:	8b e5                	mov    %ebp,%esp
409e5f:	5d                   	pop    %ebp
409e60:	c3                   	ret
409e61:	be 01 00 00 00       	mov    $0x1,%esi
409e66:	85 f6                	test   %esi,%esi
409e68:	74 bc                	je     0x409e26
409e6a:	5f                   	pop    %edi
409e6b:	5e                   	pop    %esi
409e6c:	33 c0                	xor    %eax,%eax
409e6e:	5b                   	pop    %ebx
409e6f:	8b e5                	mov    %ebp,%esp
409e71:	5d                   	pop    %ebp
409e72:	c3                   	ret
409e73:	0a f0                	or     %al,%dh
409e75:	4f                   	dec    %edi
409e76:	2f                   	das