4718f2:	e8 13 ce ff ff       	call   0x46e70a
4718f7:	83 c4 0c             	add    $0xc,%esp
4718fa:	eb a5                	jmp    0x4718a1
4718fc:	83 7d 0c 41          	cmpl   $0x41,0xc(%ebp)
471900:	75 10                	jne    0x471912
471902:	ff 75 f4             	push   -0xc(%ebp)
471905:	ff 75 f0             	push   -0x10(%ebp)
471908:	ff 75 08             	push   0x8(%ebp)
47190b:	e8 9a cd ff ff       	call   0x46e6aa
471910:	eb e5                	jmp    0x4718f7
471912:	80 38 00             	cmpb   $0x0,(%eax)
471915:	75 10                	jne    0x471927
471917:	6a 01                	push   $0x1
471919:	8d 4d f8             	lea    -0x8(%ebp),%ecx
47191c:	e8 35 cf ff ff       	call   0x46e856
471921:	8b d0                	mov    %eax,%edx
471923:	8b 0a                	mov    (%edx),%ecx
471925:	eb 0f                	jmp    0x471936
471927:	33 c9                	xor    %ecx,%ecx
471929:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
471930:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471933:	8d 55 f8             	lea    -0x8(%ebp),%edx
471936:	8b 45 08             	mov    0x8(%ebp),%eax
471939:	89 08                	mov    %ecx,(%eax)
47193b:	8b 4a 04             	mov    0x4(%edx),%ecx
47193e:	89 48 04             	mov    %ecx,0x4(%eax)
471941:	c9                   	leave
471942:	c3                   	ret
471943:	55                   	push   %ebp
471944:	8b ec                	mov    %esp,%ebp
471946:	8b 0d 8c 83 4c 00    	mov    0x4c838c,%ecx
47194c:	83 ec 30             	sub    $0x30,%esp
47194f:	8a 01                	mov    (%ecx),%al
471951:	53                   	push   %ebx
471952:	56                   	push   %esi
471953:	57                   	push   %edi
471954:	84 c0                	test   %al,%al
471956:	0f 84 79 03 00 00    	je     0x471cd5
47195c:	3c 36                	cmp    $0x36,%al
47195e:	7c 04                	jl     0x471964
471960:	3c 39                	cmp    $0x39,%al
471962:	7e 08                	jle    0x47196c
471964:	3c 5f                	cmp    $0x5f,%al
471966:	0f 85 65 03 00 00    	jne    0x471cd1
47196c:	0f be d8             	movsbl %al,%ebx
47196f:	83 eb 36             	sub    $0x36,%ebx
471972:	41                   	inc    %ecx
471973:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471979:	83 fb 29             	cmp    $0x29,%ebx
47197c:	75 26                	jne    0x4719a4
47197e:	8a 01                	mov    (%ecx),%al
471980:	84 c0                	test   %al,%al
471982:	0f 84 4d 03 00 00    	je     0x471cd5
471988:	0f be d8             	movsbl %al,%ebx
47198b:	83 eb 3d             	sub    $0x3d,%ebx
47198e:	41                   	inc    %ecx
47198f:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471995:	83 fb 04             	cmp    $0x4,%ebx
471998:	7c 05                	jl     0x47199f
47199a:	83 fb 07             	cmp    $0x7,%ebx
47199d:	7e 16                	jle    0x4719b5
47199f:	83 cb ff             	or     $0xffffffff,%ebx
4719a2:	eb 11                	jmp    0x4719b5
4719a4:	85 db                	test   %ebx,%ebx
4719a6:	0f 88 25 03 00 00    	js     0x471cd1
4719ac:	83 fb 03             	cmp    $0x3,%ebx
4719af:	0f 8f 1c 03 00 00    	jg     0x471cd1
4719b5:	83 fb ff             	cmp    $0xffffffff,%ebx
4719b8:	0f 84 13 03 00 00    	je     0x471cd1
4719be:	8b 75 0c             	mov    0xc(%ebp),%esi
4719c1:	8b fb                	mov    %ebx,%edi
4719c3:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4719c7:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4719cb:	8b 06                	mov    (%esi),%eax
4719cd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4719d0:	8b 46 04             	mov    0x4(%esi),%eax
4719d3:	89 45 fc             	mov    %eax,-0x4(%ebp)
4719d6:	83 e7 02             	and    $0x2,%edi
4719d9:	0f 84 e7 00 00 00    	je     0x471ac6
4719df:	80 39 40             	cmpb   $0x40,(%ecx)
4719e2:	0f 84 9d 00 00 00    	je     0x471a85
4719e8:	8d 45 e8             	lea    -0x18(%ebp),%eax
4719eb:	c7 45 e8 18 12 4a 00 	movl   $0x4a1218,-0x18(%ebp)
4719f2:	50                   	push   %eax
4719f3:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4719f6:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
4719fd:	e8 e4 cd ff ff       	call   0x46e7e6
471a02:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471a05:	51                   	push   %ecx
471a06:	8d 4d e8             	lea    -0x18(%ebp),%ecx
471a09:	51                   	push   %ecx
471a0a:	8b c8                	mov    %eax,%ecx
471a0c:	e8 6c d1 ff ff       	call   0x46eb7d
471a11:	8b 45 e8             	mov    -0x18(%ebp),%eax
471a14:	89 45 f8             	mov    %eax,-0x8(%ebp)
471a17:	8b 45 ec             	mov    -0x14(%ebp),%eax
471a1a:	89 45 fc             	mov    %eax,-0x4(%ebp)
471a1d:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
471a22:	80 38 00             	cmpb   $0x0,(%eax)
471a25:	74 31                	je     0x471a58
471a27:	8d 45 d8             	lea    -0x28(%ebp),%eax
471a2a:	50                   	push   %eax
471a2b:	e8 35 15 00 00       	call   0x472f65
471a30:	50                   	push   %eax
471a31:	8d 45 e8             	lea    -0x18(%ebp),%eax
471a34:	6a 20                	push   $0x20
471a36:	50                   	push   %eax
471a37:	e8 d2 d0 ff ff       	call   0x46eb0e
471a3c:	83 c4 10             	add    $0x10,%esp
471a3f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471a42:	51                   	push   %ecx
471a43:	8d 4d d0             	lea    -0x30(%ebp),%ecx
471a46:	51                   	push   %ecx
471a47:	8b c8                	mov    %eax,%ecx
471a49:	e8 2f d1 ff ff       	call   0x46eb7d
471a4e:	8b 08                	mov    (%eax),%ecx
471a50:	8b 40 04             	mov    0x4(%eax),%eax
471a53:	89 4d f8             	mov    %ecx,-0x8(%ebp)
471a56:	eb 22                	jmp    0x471a7a
471a58:	6a 01                	push   $0x1
471a5a:	8d 4d d0             	lea    -0x30(%ebp),%ecx
471a5d:	e8 f4 cd ff ff       	call   0x46e856
471a62:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471a65:	51                   	push   %ecx
471a66:	8d 4d e8             	lea    -0x18(%ebp),%ecx
471a69:	51                   	push   %ecx
471a6a:	8b c8                	mov    %eax,%ecx
471a6c:	e8 0c d1 ff ff       	call   0x46eb7d
471a71:	8b 45 e8             	mov    -0x18(%ebp),%eax
471a74:	89 45 f8             	mov    %eax,-0x8(%ebp)
471a77:	8b 45 ec             	mov    -0x14(%ebp),%eax
471a7a:	8b 0d 8c 83 4c 00    	mov    0x4c838c,%ecx
471a80:	89 45 fc             	mov    %eax,-0x4(%ebp)
471a83:	eb 07                	jmp    0x471a8c
471a85:	41                   	inc    %ecx
471a86:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471a8c:	8a 01                	mov    (%ecx),%al
471a8e:	84 c0                	test   %al,%al
471a90:	0f 84 87 00 00 00    	je     0x471b1d
471a96:	3c 40                	cmp    $0x40,%al
471a98:	0f 85 33 02 00 00    	jne    0x471cd1
471a9e:	a1 94 83 4c 00       	mov    0x4c8394,%eax
471aa3:	41                   	inc    %ecx
471aa4:	83 e0 60             	and    $0x60,%eax
471aa7:	89 0d 8c 83 4c 00    	mov    %ecx,0x4c838c
471aad:	3c 60                	cmp    $0x60,%al
471aaf:	8d 45 d0             	lea    -0x30(%ebp),%eax
471ab2:	50                   	push   %eax
471ab3:	74 57                	je     0x471b0c
471ab5:	e8 84 24 00 00       	call   0x473f3e
471aba:	59                   	pop    %ecx
471abb:	8b 08                	mov    (%eax),%ecx
471abd:	8b 40 04             	mov    0x4(%eax),%eax
471ac0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
471ac3:	89 45 f4             	mov    %eax,-0xc(%ebp)
471ac6:	f6 c3 04             	test   $0x4,%bl
471ac9:	74 7e                	je     0x471b49
471acb:	a1 94 83 4c 00       	mov    0x4c8394,%eax
471ad0:	d1 e8                	shr    $1,%eax
471ad2:	f7 d0                	not    %eax
471ad4:	a8 01                	test   $0x1,%al
471ad6:	8d 45 d0             	lea    -0x30(%ebp),%eax
471ad9:	50                   	push   %eax
471ada:	74 5e                	je     0x471b3a
471adc:	e8 a4 e5 ff ff       	call   0x470085
471ae1:	50                   	push   %eax
471ae2:	8d 45 d8             	lea    -0x28(%ebp),%eax
471ae5:	6a 20                	push   $0x20
471ae7:	50                   	push   %eax
471ae8:	e8 21 d0 ff ff       	call   0x46eb0e
471aed:	83 c4 10             	add    $0x10,%esp
471af0:	8d 4d f8             	lea    -0x8(%ebp),%ecx
471af3:	51                   	push   %ecx
471af4:	8d 4d e8             	lea    -0x18(%ebp),%ecx
471af7:	51                   	push   %ecx
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)