471af8:	8b c8                	mov    %eax,%ecx
471afa:	e8 7e d0 ff ff       	call   0x46eb7d
471aff:	8b 08                	mov    (%eax),%ecx
471b01:	8b 40 04             	mov    0x4(%eax),%eax
471b04:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471b07:	89 45 fc             	mov    %eax,-0x4(%ebp)
471b0a:	eb 3d                	jmp    0x471b49
471b0c:	e8 2d 24 00 00       	call   0x473f3e
471b11:	59                   	pop    %ecx
471b12:	50                   	push   %eax
471b13:	8d 4d f0             	lea    -0x10(%ebp),%ecx
471b16:	e8 4c d2 ff ff       	call   0x46ed67
471b1b:	eb a9                	jmp    0x471ac6
471b1d:	6a 01                	push   $0x1
471b1f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
471b22:	e8 2f cd ff ff       	call   0x46e856
471b27:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471b2a:	51                   	push   %ecx
471b2b:	ff 75 08             	push   0x8(%ebp)
471b2e:	8b c8                	mov    %eax,%ecx
471b30:	e8 48 d0 ff ff       	call   0x46eb7d
471b35:	e9 ab 01 00 00       	jmp    0x471ce5
471b3a:	e8 46 e5 ff ff       	call   0x470085
471b3f:	59                   	pop    %ecx
471b40:	50                   	push   %eax
471b41:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471b44:	e8 1e d2 ff ff       	call   0x46ed67
471b49:	a1 94 83 4c 00       	mov    0x4c8394,%eax
471b4e:	d1 e8                	shr    $1,%eax
471b50:	f7 d0                	not    %eax
471b52:	a8 01                	test   $0x1,%al
471b54:	8d 45 d0             	lea    -0x30(%ebp),%eax
471b57:	50                   	push   %eax
471b58:	74 22                	je     0x471b7c
471b5a:	e8 44 eb ff ff       	call   0x4706a3
471b5f:	59                   	pop    %ecx
471b60:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471b63:	51                   	push   %ecx
471b64:	8d 4d d8             	lea    -0x28(%ebp),%ecx
471b67:	51                   	push   %ecx
471b68:	8b c8                	mov    %eax,%ecx
471b6a:	e8 0e d0 ff ff       	call   0x46eb7d
471b6f:	8b 08                	mov    (%eax),%ecx
471b71:	8b 40 04             	mov    0x4(%eax),%eax
471b74:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471b77:	89 45 fc             	mov    %eax,-0x4(%ebp)
471b7a:	eb 0f                	jmp    0x471b8b
471b7c:	e8 22 eb ff ff       	call   0x4706a3
471b81:	59                   	pop    %ecx
471b82:	50                   	push   %eax
471b83:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471b86:	e8 dc d1 ff ff       	call   0x46ed67
471b8b:	33 db                	xor    %ebx,%ebx
471b8d:	39 1e                	cmp    %ebx,(%esi)
471b8f:	74 2a                	je     0x471bbb
471b91:	8d 45 f8             	lea    -0x8(%ebp),%eax
471b94:	50                   	push   %eax
471b95:	8d 45 d0             	lea    -0x30(%ebp),%eax
471b98:	6a 28                	push   $0x28
471b9a:	50                   	push   %eax
471b9b:	e8 6e cf ff ff       	call   0x46eb0e
471ba0:	83 c4 0c             	add    $0xc,%esp
471ba3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
471ba6:	6a 29                	push   $0x29
471ba8:	51                   	push   %ecx
471ba9:	8b c8                	mov    %eax,%ecx
471bab:	e8 ef cf ff ff       	call   0x46eb9f
471bb0:	8b 08                	mov    (%eax),%ecx
471bb2:	8b 40 04             	mov    0x4(%eax),%eax
471bb5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471bb8:	89 45 fc             	mov    %eax,-0x4(%ebp)
471bbb:	6a 08                	push   $0x8
471bbd:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
471bc2:	e8 6c 02 00 00       	call   0x471e33
471bc7:	8b f0                	mov    %eax,%esi
471bc9:	85 f6                	test   %esi,%esi
471bcb:	74 07                	je     0x471bd4
471bcd:	89 1e                	mov    %ebx,(%esi)
471bcf:	89 5e 04             	mov    %ebx,0x4(%esi)
471bd2:	eb 02                	jmp    0x471bd6
471bd4:	8b f3                	mov    %ebx,%esi
471bd6:	8d 45 e0             	lea    -0x20(%ebp),%eax
471bd9:	56                   	push   %esi
471bda:	50                   	push   %eax
471bdb:	e8 56 13 00 00       	call   0x472f36
471be0:	8d 45 d0             	lea    -0x30(%ebp),%eax
471be3:	50                   	push   %eax
471be4:	e8 f8 e0 ff ff       	call   0x46fce1
471be9:	50                   	push   %eax
471bea:	8d 45 d8             	lea    -0x28(%ebp),%eax
471bed:	6a 28                	push   $0x28
471bef:	50                   	push   %eax
471bf0:	e8 19 cf ff ff       	call   0x46eb0e
471bf5:	83 c4 18             	add    $0x18,%esp
471bf8:	8d 4d e8             	lea    -0x18(%ebp),%ecx
471bfb:	6a 29                	push   $0x29
471bfd:	51                   	push   %ecx
471bfe:	8b c8                	mov    %eax,%ecx
471c00:	e8 9a cf ff ff       	call   0x46eb9f
471c05:	50                   	push   %eax
471c06:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471c09:	e8 2d d0 ff ff       	call   0x46ec3b
471c0e:	8b 0d 94 83 4c 00    	mov    0x4c8394,%ecx
471c14:	8b c1                	mov    %ecx,%eax
471c16:	83 e0 60             	and    $0x60,%eax
471c19:	3c 60                	cmp    $0x60,%al
471c1b:	74 16                	je     0x471c33
471c1d:	85 ff                	test   %edi,%edi
471c1f:	74 12                	je     0x471c33
471c21:	8d 45 f0             	lea    -0x10(%ebp),%eax
471c24:	50                   	push   %eax
471c25:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471c28:	e8 0e d0 ff ff       	call   0x46ec3b
471c2d:	8b 0d 94 83 4c 00    	mov    0x4c8394,%ecx
471c33:	c1 e9 13             	shr    $0x13,%ecx
471c36:	8d 45 d0             	lea    -0x30(%ebp),%eax
471c39:	f7 d1                	not    %ecx
471c3b:	50                   	push   %eax
471c3c:	f6 c1 01             	test   $0x1,%cl
471c3f:	74 11                	je     0x471c52
471c41:	e8 cb 11 00 00       	call   0x472e11
471c46:	59                   	pop    %ecx
471c47:	50                   	push   %eax
471c48:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471c4b:	e8 eb cf ff ff       	call   0x46ec3b
471c50:	eb 0f                	jmp    0x471c61
471c52:	e8 ba 11 00 00       	call   0x472e11
471c57:	59                   	pop    %ecx
471c58:	50                   	push   %eax
471c59:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471c5c:	e8 06 d1 ff ff       	call   0x46ed67
471c61:	8d 45 d0             	lea    -0x30(%ebp),%eax
471c64:	50                   	push   %eax
471c65:	e8 53 02 00 00       	call   0x471ebd
471c6a:	59                   	pop    %ecx
471c6b:	50                   	push   %eax
471c6c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471c6f:	e8 c7 cf ff ff       	call   0x46ec3b
471c74:	a1 94 83 4c 00       	mov    0x4c8394,%eax
471c79:	c1 e8 08             	shr    $0x8,%eax
471c7c:	f7 d0                	not    %eax
471c7e:	a8 01                	test   $0x1,%al
471c80:	8d 45 d0             	lea    -0x30(%ebp),%eax
471c83:	50                   	push   %eax
471c84:	74 11                	je     0x471c97
471c86:	e8 e2 22 00 00       	call   0x473f6d
471c8b:	59                   	pop    %ecx
471c8c:	50                   	push   %eax
471c8d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471c90:	e8 a6 cf ff ff       	call   0x46ec3b
471c95:	eb 0f                	jmp    0x471ca6
471c97:	e8 d1 22 00 00       	call   0x473f6d
471c9c:	59                   	pop    %ecx
471c9d:	50                   	push   %eax
471c9e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471ca1:	e8 c1 d0 ff ff       	call   0x46ed67
471ca6:	85 f6                	test   %esi,%esi
471ca8:	74 1b                	je     0x471cc5
471caa:	8b 45 f8             	mov    -0x8(%ebp),%eax
471cad:	89 06                	mov    %eax,(%esi)
471caf:	8b 45 fc             	mov    -0x4(%ebp),%eax
471cb2:	89 46 04             	mov    %eax,0x4(%esi)
471cb5:	8b 45 08             	mov    0x8(%ebp),%eax
471cb8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
471cbb:	89 08                	mov    %ecx,(%eax)
471cbd:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
471cc0:	89 48 04             	mov    %ecx,0x4(%eax)
471cc3:	eb 23                	jmp    0x471ce8
471cc5:	6a 03                	push   $0x3
471cc7:	8b 4d 08             	mov    0x8(%ebp),%ecx
471cca:	e8 87 cb ff ff       	call   0x46e856
471ccf:	eb 14                	jmp    0x471ce5
471cd1:	6a 02                	push   $0x2
471cd3:	eb f2                	jmp    0x471cc7
471cd5:	ff 75 0c             	push   0xc(%ebp)
471cd8:	6a 01                	push   $0x1
471cda:	ff 75 08             	push   0x8(%ebp)
471cdd:	e8 57 ce ff ff       	call   0x46eb39
471ce2:	83 c4 0c             	add    $0xc,%esp
471ce5:	8b 45 08             	mov    0x8(%ebp),%eax
471ce8:	5f                   	pop    %edi
471ce9:	5e                   	pop    %esi
471cea:	5b                   	pop    %ebx
471ceb:	c9                   	leave
471cec:	c3                   	ret
471ced:	57                   	push   %edi
471cee:	8b 39                	mov    (%ecx),%edi
471cf0:	85 ff                	test   %edi,%edi
471cf2:	75 04                	jne    0x471cf8
471cf4:	32 c0                	xor    %al,%al
471cf6:	5f                   	pop    %edi
471cf7:	c3                   	ret
471cf8:	8b 07                	mov    (%edi),%eax
471cfa:	56                   	push   %esi
471cfb:	8b 70 08             	mov    0x8(%eax),%esi
471cfe:	8b ce                	mov    %esi,%ecx
471d00:	ff 15 d4 e2 49 00    	call   *0x49e2d4
471d06:	8b cf                	mov    %edi,%ecx
471d08:	ff d6                	call   *%esi
471d0a:	5e                   	pop    %esi
471d0b:	5f                   	pop    %edi
471d0c:	c3                   	ret
471d0d:	cc                   	int3
471d0e:	cc                   	int3
471d0f:	cc                   	int3
471d10:	83 79 04 01          	cmpl   $0x1,0x4(%ecx)
471d14:	0f 95 c0             	setne  %al
471d17:	fe c8                	dec    %al
471d19:	24 20                	and    $0x20,%al
471d1b:	c3                   	ret
471d1c:	cc                   	int3
471d1d:	cc                   	int3
471d1e:	cc                   	int3
471d1f:	cc                   	int3
471d20:	8a 41 04             	mov    0x4(%ecx),%al
471d23:	c3                   	ret
471d24:	cc                   	int3
471d25:	cc                   	int3
471d26:	cc                   	int3
471d27:	cc                   	int3
471d28:	cc                   	int3
471d29:	cc                   	int3
471d2a:	cc                   	int3
471d2b:	cc                   	int3
471d2c:	cc                   	int3
471d2d:	cc                   	int3
471d2e:	cc                   	int3
471d2f:	cc                   	int3
471d30:	8b 49 04             	mov    0x4(%ecx),%ecx
471d33:	85 c9                	test   %ecx,%ecx
471d35:	0f 85 b2 ff ff ff    	jne    0x471ced
471d3b:	32 c0                	xor    %al,%al
471d3d:	c3                   	ret
471d3e:	cc                   	int3
471d3f:	cc                   	int3
471d40:	53                   	push   %ebx
471d41:	8b d9                	mov    %ecx,%ebx
471d43:	56                   	push   %esi
471d44:	57                   	push   %edi
471d45:	8b 7b 08             	mov    0x8(%ebx),%edi
471d48:	8b 07                	mov    (%edi),%eax
471d4a:	8b 70 08             	mov    0x8(%eax),%esi
471d4d:	8b ce                	mov    %esi,%ecx
471d4f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
471d55:	8b cf                	mov    %edi,%ecx
471d57:	ff d6                	call   *%esi
471d59:	84 c0                	test   %al,%al
471d5b:	75 14                	jne    0x471d71
471d5d:	8b 7b 04             	mov    0x4(%ebx),%edi
471d60:	8b 07                	mov    (%edi),%eax
471d62:	8b 70 08             	mov    0x8(%eax),%esi
471d65:	8b ce                	mov    %esi,%ecx
471d67:	ff 15 d4 e2 49 00    	call   *0x49e2d4
471d6d:	8b cf                	mov    %edi,%ecx
471d6f:	ff d6                	call   *%esi
471d71:	5f                   	pop    %edi
471d72:	5e                   	pop    %esi
471d73:	5b                   	pop    %ebx
471d74:	c3                   	ret
471d75:	cc                   	int3
471d76:	cc                   	int3
471d77:	cc                   	int3
471d78:	cc                   	int3
471d79:	cc                   	int3
471d7a:	cc                   	int3
471d7b:	cc                   	int3
471d7c:	cc                   	int3
471d7d:	cc                   	int3
471d7e:	cc                   	int3
471d7f:	cc                   	int3
471d80:	8b 51 08             	mov    0x8(%ecx),%edx
471d83:	85 d2                	test   %edx,%edx
471d85:	74 08                	je     0x471d8f
471d87:	8b 41 04             	mov    0x4(%ecx),%eax
471d8a:	8a 44 10 ff          	mov    -0x1(%eax,%edx,1),%al
471d8e:	c3                   	ret
471d8f:	32 c0                	xor    %al,%al
471d91:	c3                   	ret
471d92:	55                   	push   %ebp
471d93:	8b ec                	mov    %esp,%ebp
471d95:	83 ec 10             	sub    $0x10,%esp
471d98:	8d 45 f8             	lea    -0x8(%ebp),%eax
471d9b:	6a 00                	push   $0x0
471d9d:	50                   	push   %eax
471d9e:	e8 cb f4 ff ff       	call   0x47126e
471da3:	50                   	push   %eax
471da4:	8d 45 f0             	lea    -0x10(%ebp),%eax
471da7:	6a 60                	push   $0x60
471da9:	50                   	push   %eax
471daa:	e8 5f cd ff ff       	call   0x46eb0e
471daf:	83 c4 14             	add    $0x14,%esp
471db2:	8b c8                	mov    %eax,%ecx
471db4:	6a 27                	push   $0x27
471db6:	ff 75 08             	push   0x8(%ebp)
471db9:	e8 e1 cd ff ff       	call   0x46eb9f
471dbe:	8b 45 08             	mov    0x8(%ebp),%eax
471dc1:	c9                   	leave
471dc2:	c3                   	ret
471dc3:	55                   	push   %ebp
471dc4:	8b ec                	mov    %esp,%ebp
471dc6:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471dcb:	83 ec 10             	sub    $0x10,%esp
471dce:	80 38 00             	cmpb   $0x0,(%eax)
471dd1:	75 04                	jne    0x471dd7
471dd3:	6a 01                	push   $0x1
471dd5:	eb 4f                	jmp    0x471e26
471dd7:	8d 45 f8             	lea    -0x8(%ebp),%eax
471dda:	50                   	push   %eax
471ddb:	e8 75 1c 00 00       	call   0x473a55
471de0:	59                   	pop    %ecx
471de1:	6a 2e                	push   $0x2e
471de3:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471de6:	e8 a7 ce ff ff       	call   0x46ec92
471deb:	6a 00                	push   $0x0
471ded:	8d 45 f0             	lea    -0x10(%ebp),%eax
471df0:	6a 00                	push   $0x0
471df2:	50                   	push   %eax
471df3:	e8 17 2a 00 00       	call   0x47480f
471df8:	83 c4 0c             	add    $0xc,%esp
471dfb:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471dfe:	50                   	push   %eax
471dff:	e8 37 ce ff ff       	call   0x46ec3b
471e04:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471e09:	80 38 40             	cmpb   $0x40,(%eax)
471e0c:	75 16                	jne    0x471e24
471e0e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
471e11:	40                   	inc    %eax
471e12:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
471e17:	8b 45 08             	mov    0x8(%ebp),%eax
471e1a:	89 08                	mov    %ecx,(%eax)
471e1c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
471e1f:	89 48 04             	mov    %ecx,0x4(%eax)
471e22:	c9                   	leave
471e23:	c3                   	ret
471e24:	6a 02                	push   $0x2
471e26:	8b 4d 08             	mov    0x8(%ebp),%ecx
471e29:	e8 28 ca ff ff       	call   0x46e856
471e2e:	8b 45 08             	mov    0x8(%ebp),%eax
471e31:	c9                   	leave
471e32:	c3                   	ret
471e33:	55                   	push   %ebp
471e34:	8b ec                	mov    %esp,%ebp
471e36:	53                   	push   %ebx
471e37:	56                   	push   %esi
471e38:	57                   	push   %edi
471e39:	8b 7d 08             	mov    0x8(%ebp),%edi
471e3c:	8b d9                	mov    %ecx,%ebx
471e3e:	83 c7 07             	add    $0x7,%edi
471e41:	83 e7 f8             	and    $0xfffffff8,%edi
471e44:	77 03                	ja     0x471e49