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
471e46:	6a 08                	push   $0x8
471e48:	5f                   	pop    %edi
471e49:	8b 73 10             	mov    0x10(%ebx),%esi
471e4c:	3b f7                	cmp    %edi,%esi
471e4e:	73 35                	jae    0x471e85
471e50:	be 00 10 00 00       	mov    $0x1000,%esi
471e55:	3b fe                	cmp    %esi,%edi
471e57:	77 40                	ja     0x471e99
471e59:	6a 01                	push   $0x1
471e5b:	68 a8 83 4c 00       	push   $0x4c83a8
471e60:	68 04 10 00 00       	push   $0x1004
471e65:	e8 d4 cb ff ff       	call   0x46ea3e
471e6a:	83 c4 0c             	add    $0xc,%esp
471e6d:	85 c0                	test   %eax,%eax
471e6f:	74 28                	je     0x471e99
471e71:	83 20 00             	andl   $0x0,(%eax)
471e74:	8b 4b 0c             	mov    0xc(%ebx),%ecx
471e77:	85 c9                	test   %ecx,%ecx
471e79:	74 04                	je     0x471e7f
471e7b:	89 01                	mov    %eax,(%ecx)
471e7d:	eb 03                	jmp    0x471e82
471e7f:	89 43 08             	mov    %eax,0x8(%ebx)
471e82:	89 43 0c             	mov    %eax,0xc(%ebx)
471e85:	2b f7                	sub    %edi,%esi
471e87:	89 73 10             	mov    %esi,0x10(%ebx)
471e8a:	8b 43 0c             	mov    0xc(%ebx),%eax
471e8d:	83 c0 04             	add    $0x4,%eax
471e90:	03 c6                	add    %esi,%eax
471e92:	5f                   	pop    %edi
471e93:	5e                   	pop    %esi
471e94:	5b                   	pop    %ebx
471e95:	5d                   	pop    %ebp
471e96:	c2 04 00             	ret    $0x4
471e99:	33 c0                	xor    %eax,%eax
471e9b:	eb f5                	jmp    0x471e92
471e9d:	55                   	push   %ebp
471e9e:	8b ec                	mov    %esp,%ebp
471ea0:	8b 45 08             	mov    0x8(%ebp),%eax
471ea3:	83 c0 07             	add    $0x7,%eax
471ea6:	56                   	push   %esi
471ea7:	8b 31                	mov    (%ecx),%esi
471ea9:	83 e0 f8             	and    $0xfffffff8,%eax
471eac:	50                   	push   %eax
471ead:	8b ce                	mov    %esi,%ecx
471eaf:	ff 15 d4 e2 49 00    	call   *0x49e2d4
471eb5:	ff d6                	call   *%esi
471eb7:	59                   	pop    %ecx
471eb8:	5e                   	pop    %esi
471eb9:	5d                   	pop    %ebp
471eba:	c2 04 00             	ret    $0x4
471ebd:	55                   	push   %ebp
471ebe:	8b ec                	mov    %esp,%ebp
471ec0:	51                   	push   %ecx
471ec1:	51                   	push   %ecx
471ec2:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471ec7:	8a 08                	mov    (%eax),%cl
471ec9:	84 c9                	test   %cl,%cl
471ecb:	74 38                	je     0x471f05
471ecd:	80 f9 5f             	cmp    $0x5f,%cl
471ed0:	75 33                	jne    0x471f05
471ed2:	8a 48 01             	mov    0x1(%eax),%cl
471ed5:	84 c9                	test   %cl,%cl
471ed7:	74 2c                	je     0x471f05
471ed9:	80 f9 45             	cmp    $0x45,%cl
471edc:	75 27                	jne    0x471f05
471ede:	8b 4d 08             	mov    0x8(%ebp),%ecx
471ee1:	83 c0 02             	add    $0x2,%eax
471ee4:	a3 8c 83 4c 00       	mov    %eax,0x4c838c
471ee9:	8d 45 f8             	lea    -0x8(%ebp),%eax
471eec:	50                   	push   %eax
471eed:	c7 45 f8 b8 14 4a 00 	movl   $0x4a14b8,-0x8(%ebp)
471ef4:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
471efb:	e8 e6 c8 ff ff       	call   0x46e7e6
471f00:	8b 45 08             	mov    0x8(%ebp),%eax
471f03:	c9                   	leave
471f04:	c3                   	ret
471f05:	8b 45 08             	mov    0x8(%ebp),%eax
471f08:	83 20 00             	andl   $0x0,(%eax)
471f0b:	83 60 04 00          	andl   $0x0,0x4(%eax)
471f0f:	c9                   	leave
471f10:	c3                   	ret
471f11:	8b 0d 8c 83 4c 00    	mov    0x4c838c,%ecx
471f17:	56                   	push   %esi
471f18:	8a 11                	mov    (%ecx),%dl
471f1a:	84 d2                	test   %dl,%dl
471f1c:	74 51                	je     0x471f6f
471f1e:	80 fa 30             	cmp    $0x30,%dl
471f21:	7c 14                	jl     0x471f37
471f23:	80 fa 39             	cmp    $0x39,%dl
471f26:	7f 0f                	jg     0x471f37
471f28:	41                   	inc    %ecx
471f29:	0f be c2             	movsbl %dl,%eax
471f2c:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471f32:	83 e8 2f             	sub    $0x2f,%eax
471f35:	5e                   	pop    %esi
471f36:	c3                   	ret
471f37:	33 f6                	xor    %esi,%esi
471f39:	eb 1f                	jmp    0x471f5a
471f3b:	84 d2                	test   %dl,%dl
471f3d:	74 30                	je     0x471f6f
471f3f:	8d 42 bf             	lea    -0x41(%edx),%eax
471f42:	3c 0f                	cmp    $0xf,%al
471f44:	77 24                	ja     0x471f6a
471f46:	c1 e6 04             	shl    $0x4,%esi
471f49:	0f be c2             	movsbl %dl,%eax
471f4c:	83 c6 bf             	add    $0xffffffbf,%esi
471f4f:	03 f0                	add    %eax,%esi
471f51:	41                   	inc    %ecx
471f52:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471f58:	8a 11                	mov    (%ecx),%dl
471f5a:	80 fa 40             	cmp    $0x40,%dl
471f5d:	75 dc                	jne    0x471f3b
471f5f:	41                   	inc    %ecx
471f60:	8b c6                	mov    %esi,%eax
471f62:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471f68:	5e                   	pop    %esi
471f69:	c3                   	ret
471f6a:	83 c8 ff             	or     $0xffffffff,%eax
471f6d:	5e                   	pop    %esi
471f6e:	c3                   	ret
471f6f:	33 c0                	xor    %eax,%eax
471f71:	5e                   	pop    %esi
471f72:	c3                   	ret
471f73:	55                   	push   %ebp
471f74:	8b ec                	mov    %esp,%ebp
471f76:	83 ec 28             	sub    $0x28,%esp
471f79:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471f7e:	53                   	push   %ebx
471f7f:	56                   	push   %esi
471f80:	57                   	push   %edi
471f81:	0f be 08             	movsbl (%eax),%ecx
471f84:	8d 70 01             	lea    0x1(%eax),%esi
471f87:	33 ff                	xor    %edi,%edi
471f89:	89 35 8c 83 4c 00    	mov    %esi,0x4c838c
471f8f:	89 7d f0             	mov    %edi,-0x10(%ebp)
471f92:	89 7d f4             	mov    %edi,-0xc(%ebp)
471f95:	89 7d e8             	mov    %edi,-0x18(%ebp)
471f98:	89 7d ec             	mov    %edi,-0x14(%ebp)
471f9b:	6a 08                	push   $0x8
471f9d:	5b                   	pop    %ebx
471f9e:	83 f9 49             	cmp    $0x49,%ecx
471fa1:	0f 8f 49 02 00 00    	jg     0x4721f0
471fa7:	0f 84 1d 02 00 00    	je     0x4721ca
471fad:	83 f9 38             	cmp    $0x38,%ecx
471fb0:	0f 8f f6 01 00 00    	jg     0x4721ac
471fb6:	0f 84 9a 01 00 00    	je     0x472156
471fbc:	83 f9 33             	cmp    $0x33,%ecx
471fbf:	0f 8f 7e 01 00 00    	jg     0x472143
471fc5:	0f 84 8b 01 00 00    	je     0x472156
471fcb:	2b cf                	sub    %edi,%ecx
471fcd:	0f 84 62 01 00 00    	je     0x472135
471fd3:	83 e9 30             	sub    $0x30,%ecx
471fd6:	74 20                	je     0x471ff8
471fd8:	83 e9 01             	sub    $0x1,%ecx
471fdb:	74 1b                	je     0x471ff8
471fdd:	83 e9 01             	sub    $0x1,%ecx
471fe0:	0f 84 70 01 00 00    	je     0x472156
471fe6:	6a 02                	push   $0x2
471fe8:	8b 4d 08             	mov    0x8(%ebp),%ecx
471feb:	e8 66 c8 ff ff       	call   0x46e856
471ff0:	8b 45 08             	mov    0x8(%ebp),%eax
471ff3:	5f                   	pop    %edi
471ff4:	5e                   	pop    %esi
471ff5:	5b                   	pop    %ebx
471ff6:	c9                   	leave
471ff7:	c3                   	ret
471ff8:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
471ffc:	89 7d e8             	mov    %edi,-0x18(%ebp)
471fff:	89 7d ec             	mov    %edi,-0x14(%ebp)
472002:	0f 84 80 00 00 00    	je     0x472088
472008:	8d 45 e0             	lea    -0x20(%ebp),%eax
47200b:	50                   	push   %eax
47200c:	e8 34 17 00 00       	call   0x473745
472011:	50                   	push   %eax
472012:	8d 45 f8             	lea    -0x8(%ebp),%eax