470b7d:	cc                   	int3
470b7e:	cc                   	int3
470b7f:	cc                   	int3
470b80:	cc                   	int3
470b81:	cc                   	int3
470b82:	cc                   	int3
470b83:	cc                   	int3
470b84:	cc                   	int3
470b85:	cc                   	int3
470b86:	cc                   	int3
470b87:	cc                   	int3
470b88:	cc                   	int3
470b89:	cc                   	int3
470b8a:	cc                   	int3
470b8b:	cc                   	int3
470b8c:	cc                   	int3
470b8d:	cc                   	int3
470b8e:	cc                   	int3
470b8f:	cc                   	int3
470b90:	cc                   	int3
470b91:	cc                   	int3
470b92:	cc                   	int3
470b93:	cc                   	int3
470b94:	cc                   	int3
470b95:	cc                   	int3
470b96:	cc                   	int3
470b97:	cc                   	int3
470b98:	cc                   	int3
470b99:	cc                   	int3
470b9a:	cc                   	int3
470b9b:	cc                   	int3
470b9c:	cc                   	int3
470b9d:	cc                   	int3
470b9e:	cc                   	int3
470b9f:	cc                   	int3
470ba0:	8b ff                	mov    %edi,%edi
470ba2:	55                   	push   %ebp
470ba3:	8b ec                	mov    %esp,%ebp
470ba5:	83 ec 08             	sub    $0x8,%esp
470ba8:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
470baf:	8b 45 08             	mov    0x8(%ebp),%eax
470bb2:	66 8b 08             	mov    (%eax),%cx
470bb5:	66 89 4d fc          	mov    %cx,-0x4(%ebp)
470bb9:	8b 55 08             	mov    0x8(%ebp),%edx
470bbc:	83 c2 02             	add    $0x2,%edx
470bbf:	89 55 08             	mov    %edx,0x8(%ebp)
470bc2:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
470bc6:	83 f8 41             	cmp    $0x41,%eax
470bc9:	7c 09                	jl     0x470bd4
470bcb:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
470bcf:	83 f9 5a             	cmp    $0x5a,%ecx
470bd2:	7e 12                	jle    0x470be6
470bd4:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
470bd8:	83 fa 61             	cmp    $0x61,%edx
470bdb:	7c 27                	jl     0x470c04
470bdd:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
470be1:	83 f8 7a             	cmp    $0x7a,%eax
470be4:	7f 1e                	jg     0x470c04
470be6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
470be9:	83 c1 01             	add    $0x1,%ecx
470bec:	89 4d f8             	mov    %ecx,-0x8(%ebp)
470bef:	8b 55 08             	mov    0x8(%ebp),%edx
470bf2:	66 8b 02             	mov    (%edx),%ax
470bf5:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
470bf9:	8b 4d 08             	mov    0x8(%ebp),%ecx
470bfc:	83 c1 02             	add    $0x2,%ecx
470bff:	89 4d 08             	mov    %ecx,0x8(%ebp)
470c02:	eb be                	jmp    0x470bc2
470c04:	8b 45 f8             	mov    -0x8(%ebp),%eax
470c07:	8b e5                	mov    %ebp,%esp
470c09:	5d                   	pop    %ebp
470c0a:	c3                   	ret
470c0b:	cc                   	int3
470c0c:	cc                   	int3
470c0d:	cc                   	int3
470c0e:	cc                   	int3
470c0f:	cc                   	int3
470c10:	cc                   	int3
470c11:	cc                   	int3
470c12:	cc                   	int3
470c13:	cc                   	int3
470c14:	cc                   	int3
470c15:	cc                   	int3
470c16:	cc                   	int3
470c17:	cc                   	int3
470c18:	cc                   	int3
470c19:	cc                   	int3
470c1a:	cc                   	int3
470c1b:	cc                   	int3
470c1c:	cc                   	int3
470c1d:	cc                   	int3
470c1e:	cc                   	int3
470c1f:	cc                   	int3
470c20:	cc                   	int3
470c21:	cc                   	int3
470c22:	cc                   	int3
470c23:	cc                   	int3
470c24:	cc                   	int3
470c25:	cc                   	int3
470c26:	cc                   	int3
470c27:	cc                   	int3
470c28:	cc                   	int3
470c29:	cc                   	int3
470c2a:	cc                   	int3
470c2b:	cc                   	int3
470c2c:	cc                   	int3
470c2d:	cc                   	int3
470c2e:	cc                   	int3
470c2f:	cc                   	int3
470c30:	8b ff                	mov    %edi,%edi
470c32:	55                   	push   %ebp
470c33:	8b ec                	mov    %esp,%ebp
470c35:	81 ec 10 01 00 00    	sub    $0x110,%esp
470c3b:	a1 9c 90 4f 00       	mov    0x4f909c,%eax
470c40:	33 c5                	xor    %ebp,%eax
470c42:	89 45 fc             	mov    %eax,-0x4(%ebp)
470c45:	e8 22 24 f9 ff       	call   0x40306c
470c4a:	83 c0 50             	add    $0x50,%eax
470c4d:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
470c53:	e8 14 24 f9 ff       	call   0x40306c
470c58:	8b 80 4c 03 00 00    	mov    0x34c(%eax),%eax
470c5e:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
470c64:	8b 4d 08             	mov    0x8(%ebp),%ecx
470c67:	51                   	push   %ecx
470c68:	e8 d3 07 00 00       	call   0x471440
470c6d:	83 c4 04             	add    $0x4,%esp
470c70:	89 85 00 ff ff ff    	mov    %eax,-0x100(%ebp)
470c76:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
470c7c:	83 7a 14 00          	cmpl   $0x0,0x14(%edx)
470c80:	74 0c                	je     0x470c8e
470c82:	c7 85 fc fe ff ff 07 	movl   $0x7,-0x104(%ebp)
470c89:	00 00 00
470c8c:	eb 0a                	jmp    0x470c98
470c8e:	c7 85 fc fe ff ff 02 	movl   $0x1002,-0x104(%ebp)
470c95:	10 00 00
470c98:	6a 78                	push   $0x78
470c9a:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
470ca0:	50                   	push   %eax
470ca1:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
470ca7:	51                   	push   %ecx
470ca8:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
470cae:	52                   	push   %edx
470caf:	ff 15 80 c3 4f 00    	call   *0x4fc380
470cb5:	85 c0                	test   %eax,%eax
470cb7:	75 16                	jne    0x470ccf
470cb9:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470cbf:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
470cc5:	b8 01 00 00 00       	mov    $0x1,%eax
470cca:	e9 e2 03 00 00       	jmp    0x4710b1
470ccf:	8d 8d 0c ff ff ff    	lea    -0xf4(%ebp),%ecx
470cd5:	51                   	push   %ecx
470cd6:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
470cdc:	8b 42 04             	mov    0x4(%edx),%eax
470cdf:	50                   	push   %eax
470ce0:	e8 70 0d f9 ff       	call   0x401a55
470ce5:	83 c4 08             	add    $0x8,%esp
470ce8:	85 c0                	test   %eax,%eax
470cea:	0f 85 82 01 00 00    	jne    0x470e72
470cf0:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
470cf6:	83 79 10 00          	cmpl   $0x0,0x10(%ecx)
470cfa:	74 0c                	je     0x470d08
470cfc:	c7 85 f0 fe ff ff 03 	movl   $0x3,-0x110(%ebp)
470d03:	00 00 00
470d06:	eb 0a                	jmp    0x470d12
470d08:	c7 85 f0 fe ff ff 01 	movl   $0x1001,-0x110(%ebp)
470d0f:	10 00 00
470d12:	6a 78                	push   $0x78
470d14:	8d 95 0c ff ff ff    	lea    -0xf4(%ebp),%edx
470d1a:	52                   	push   %edx
470d1b:	8b 85 f0 fe ff ff    	mov    -0x110(%ebp),%eax
470d21:	50                   	push   %eax
470d22:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
470d28:	51                   	push   %ecx
470d29:	ff 15 80 c3 4f 00    	call   *0x4fc380
470d2f:	85 c0                	test   %eax,%eax
470d31:	75 16                	jne    0x470d49
470d33:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470d39:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
470d3f:	b8 01 00 00 00       	mov    $0x1,%eax
470d44:	e9 68 03 00 00       	jmp    0x4710b1
470d49:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
470d4f:	50                   	push   %eax
470d50:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
470d56:	8b 11                	mov    (%ecx),%edx
470d58:	52                   	push   %edx
470d59:	e8 f7 0c f9 ff       	call   0x401a55
470d5e:	83 c4 08             	add    $0x8,%esp
470d61:	85 c0                	test   %eax,%eax
470d63:	75 39                	jne    0x470d9e
470d65:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470d6b:	8b 08                	mov    (%eax),%ecx
470d6d:	81 c9 04 03 00 00    	or     $0x304,%ecx
470d73:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470d79:	89 0a                	mov    %ecx,(%edx)
470d7b:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470d81:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
470d87:	89 48 08             	mov    %ecx,0x8(%eax)
470d8a:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470d90:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
470d96:	89 42 04             	mov    %eax,0x4(%edx)
470d99:	e9 d4 00 00 00       	jmp    0x470e72
470d9e:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
470da4:	8b 11                	mov    (%ecx),%edx
470da6:	83 e2 02             	and    $0x2,%edx
470da9:	0f 85 c3 00 00 00    	jne    0x470e72
470daf:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
470db5:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
470db9:	74 75                	je     0x470e30
470dbb:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
470dc1:	8b 51 0c             	mov    0xc(%ecx),%edx
470dc4:	52                   	push   %edx
470dc5:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
470dcb:	50                   	push   %eax
470dcc:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
470dd2:	8b 11                	mov    (%ecx),%edx
470dd4:	52                   	push   %edx
470dd5:	e8 0a 1e f9 ff       	call   0x402be4
470dda:	83 c4 0c             	add    $0xc,%esp
470ddd:	85 c0                	test   %eax,%eax
470ddf:	75 4f                	jne    0x470e30
470de1:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470de7:	8b 08                	mov    (%eax),%ecx
470de9:	83 c9 02             	or     $0x2,%ecx
470dec:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470df2:	89 0a                	mov    %ecx,(%edx)
470df4:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470dfa:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
470e00:	89 48 08             	mov    %ecx,0x8(%eax)
470e03:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
470e09:	8b 02                	mov    (%edx),%eax
470e0b:	50                   	push   %eax
470e0c:	e8 b5 27 f9 ff       	call   0x4035c6
470e11:	83 c4 04             	add    $0x4,%esp
470e14:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
470e1a:	3b 41 0c             	cmp    0xc(%ecx),%eax
470e1d:	75 0f                	jne    0x470e2e
470e1f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470e25:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
470e2b:	89 42 04             	mov    %eax,0x4(%edx)
470e2e:	eb 42                	jmp    0x470e72
470e30:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
470e36:	8b 11                	mov    (%ecx),%edx
470e38:	83 e2 01             	and    $0x1,%edx
470e3b:	75 35                	jne    0x470e72
470e3d:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
470e43:	50                   	push   %eax
470e44:	e8 87 07 00 00       	call   0x4715d0
470e49:	83 c4 04             	add    $0x4,%esp
470e4c:	85 c0                	test   %eax,%eax
470e4e:	74 22                	je     0x470e72
470e50:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
470e56:	8b 11                	mov    (%ecx),%edx
470e58:	83 ca 01             	or     $0x1,%edx
470e5b:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470e61:	89 10                	mov    %edx,(%eax)
470e63:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
470e69:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
470e6f:	89 51 08             	mov    %edx,0x8(%ecx)
470e72:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470e78:	8b 08                	mov    (%eax),%ecx
470e7a:	81 e1 00 03 00 00    	and    $0x300,%ecx
470e80:	81 f9 00 03 00 00    	cmp    $0x300,%ecx
470e86:	0f 84 fc 01 00 00    	je     0x471088
470e8c:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
470e92:	83 7a 10 00          	cmpl   $0x0,0x10(%edx)
470e96:	74 0c                	je     0x470ea4
470e98:	c7 85 f4 fe ff ff 03 	movl   $0x3,-0x10c(%ebp)
470e9f:	00 00 00
470ea2:	eb 0a                	jmp    0x470eae
470ea4:	c7 85 f4 fe ff ff 01 	movl   $0x1001,-0x10c(%ebp)
470eab:	10 00 00
470eae:	6a 78                	push   $0x78
470eb0:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
470eb6:	50                   	push   %eax
470eb7:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
470ebd:	51                   	push   %ecx
470ebe:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
470ec4:	52                   	push   %edx
470ec5:	ff 15 80 c3 4f 00    	call   *0x4fc380
470ecb:	85 c0                	test   %eax,%eax
470ecd:	75 16                	jne    0x470ee5
470ecf:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470ed5:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
470edb:	b8 01 00 00 00       	mov    $0x1,%eax
470ee0:	e9 cc 01 00 00       	jmp    0x4710b1
470ee5:	8d 8d 0c ff ff ff    	lea    -0xf4(%ebp),%ecx
470eeb:	51                   	push   %ecx
470eec:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
470ef2:	8b 02                	mov    (%edx),%eax
470ef4:	50                   	push   %eax
470ef5:	e8 5b 0b f9 ff       	call   0x401a55
470efa:	83 c4 08             	add    $0x8,%esp
470efd:	85 c0                	test   %eax,%eax
470eff:	0f 85 02 01 00 00    	jne    0x471007
470f05:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
470f0b:	8b 11                	mov    (%ecx),%edx
470f0d:	81 ca 00 02 00 00    	or     $0x200,%edx
470f13:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470f19:	89 10                	mov    %edx,(%eax)
470f1b:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
470f21:	83 79 10 00          	cmpl   $0x0,0x10(%ecx)
470f25:	74 35                	je     0x470f5c
470f27:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470f2d:	8b 02                	mov    (%edx),%eax
470f2f:	0d 00 01 00 00       	or     $0x100,%eax
470f34:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
470f3a:	89 01                	mov    %eax,(%ecx)
470f3c:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470f42:	83 7a 04 00          	cmpl   $0x0,0x4(%edx)
470f46:	75 0f                	jne    0x470f57
470f48:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470f4e:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
470f54:	89 48 04             	mov    %ecx,0x4(%eax)
470f57:	e9 a6 00 00 00       	jmp    0x471002
470f5c:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
470f62:	83 7a 0c 00          	cmpl   $0x0,0xc(%edx)
470f66:	74 6a                	je     0x470fd2
470f68:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
470f6e:	8b 08                	mov    (%eax),%ecx
470f70:	51                   	push   %ecx
470f71:	e8 50 26 f9 ff       	call   0x4035c6
470f76:	83 c4 04             	add    $0x4,%esp
470f79:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
470f7f:	3b 42 0c             	cmp    0xc(%edx),%eax
470f82:	75 4e                	jne    0x470fd2
470f84:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470f8a:	50                   	push   %eax
470f8b:	6a 01                	push   $0x1
470f8d:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
470f93:	51                   	push   %ecx
470f94:	e8 97 06 00 00       	call   0x471630
470f99:	83 c4 0c             	add    $0xc,%esp
470f9c:	85 c0                	test   %eax,%eax
470f9e:	74 30                	je     0x470fd0
470fa0:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470fa6:	8b 02                	mov    (%edx),%eax
470fa8:	0d 00 01 00 00       	or     $0x100,%eax
470fad:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
470fb3:	89 01                	mov    %eax,(%ecx)
470fb5:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470fbb:	83 7a 04 00          	cmpl   $0x0,0x4(%edx)
470fbf:	75 0f                	jne    0x470fd0
470fc1:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
470fc7:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
470fcd:	89 48 04             	mov    %ecx,0x4(%eax)
470fd0:	eb 30                	jmp    0x471002
470fd2:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
470fd8:	8b 02                	mov    (%edx),%eax
470fda:	0d 00 01 00 00       	or     $0x100,%eax
470fdf:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx