474a8f:	8b ce                	mov    %esi,%ecx
474a91:	e8 01 4f f9 ff       	call   0x409997
474a96:	8b 46 08             	mov    0x8(%esi),%eax
474a99:	8b 00                	mov    (%eax),%eax
474a9b:	0f b7 44 58 02       	movzwl 0x2(%eax,%ebx,2),%eax
474aa0:	50                   	push   %eax
474aa1:	e8 f9 f3 fa ff       	call   0x423e9f
474aa6:	59                   	pop    %ecx
474aa7:	85 c0                	test   %eax,%eax
474aa9:	74 23                	je     0x474ace
474aab:	8b 47 04             	mov    0x4(%edi),%eax
474aae:	43                   	inc    %ebx
474aaf:	8b 70 0c             	mov    0xc(%eax),%esi
474ab2:	8b ce                	mov    %esi,%ecx
474ab4:	e8 de 4e f9 ff       	call   0x409997
474ab9:	8b 46 08             	mov    0x8(%esi),%eax
474abc:	8b 00                	mov    (%eax),%eax
474abe:	0f b7 0c 58          	movzwl (%eax,%ebx,2),%ecx
474ac2:	6b 44 24 10 0a       	imul   $0xa,0x10(%esp),%eax
474ac7:	83 c0 d0             	add    $0xffffffd0,%eax
474aca:	03 c1                	add    %ecx,%eax
474acc:	eb b7                	jmp    0x474a85
474ace:	8b 44 24 10          	mov    0x10(%esp),%eax
474ad2:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
474ad6:	8b 5c 24 18          	mov    0x18(%esp),%ebx
474ada:	89 44 24 34          	mov    %eax,0x34(%esp)
474ade:	ff 44 24 0c          	incl   0xc(%esp)
474ae2:	e9 3f ff ff ff       	jmp    0x474a26
474ae7:	6a 00                	push   $0x0
474ae9:	6a 03                	push   $0x3
474aeb:	8b 03                	mov    (%ebx),%eax
474aed:	8b 48 04             	mov    0x4(%eax),%ecx
474af0:	03 cb                	add    %ebx,%ecx
474af2:	e8 ac 1f fe ff       	call   0x456aa3
474af7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
474afa:	68 10 f9 48 00       	push   $0x48f910
474aff:	e8 f4 50 f9 ff       	call   0x409bf8
474b04:	e9 12 01 00 00       	jmp    0x474c1b
474b09:	8b ce                	mov    %esi,%ecx
474b0b:	e8 87 4e f9 ff       	call   0x409997
474b10:	ff 76 08             	push   0x8(%esi)
474b13:	8d 4c 24 58          	lea    0x58(%esp),%ecx
474b17:	e8 8b 36 f9 ff       	call   0x4081a7
474b1c:	8b 47 04             	mov    0x4(%edi),%eax
474b1f:	6a 29                	push   $0x29
474b21:	8b 70 04             	mov    0x4(%eax),%esi
474b24:	8b ce                	mov    %esi,%ecx
474b26:	e8 83 52 f9 ff       	call   0x409dae
474b2b:	84 c0                	test   %al,%al
474b2d:	74 0b                	je     0x474b3a
474b2f:	8d 4c 24 64          	lea    0x64(%esp),%ecx
474b33:	e8 b4 33 f9 ff       	call   0x407eec
474b38:	eb 13                	jmp    0x474b4d
474b3a:	8b ce                	mov    %esi,%ecx
474b3c:	e8 56 4e f9 ff       	call   0x409997
474b41:	ff 76 08             	push   0x8(%esi)
474b44:	8d 4c 24 68          	lea    0x68(%esp),%ecx
474b48:	e8 5a 36 f9 ff       	call   0x4081a7
474b4d:	8b 47 04             	mov    0x4(%edi),%eax
474b50:	6a 29                	push   $0x29
474b52:	8b 30                	mov    (%eax),%esi
474b54:	8b ce                	mov    %esi,%ecx
474b56:	e8 53 52 f9 ff       	call   0x409dae
474b5b:	84 c0                	test   %al,%al
474b5d:	74 09                	je     0x474b68
474b5f:	8d 83 b8 00 00 00    	lea    0xb8(%ebx),%eax
474b65:	50                   	push   %eax
474b66:	eb 0a                	jmp    0x474b72
474b68:	8b ce                	mov    %esi,%ecx
474b6a:	e8 28 4e f9 ff       	call   0x409997
474b6f:	ff 76 08             	push   0x8(%esi)
474b72:	8d 4c 24 48          	lea    0x48(%esp),%ecx
474b76:	e8 2c 36 f9 ff       	call   0x4081a7
474b7b:	83 7c 24 1c 06       	cmpl   $0x6,0x1c(%esp)
474b80:	77 08                	ja     0x474b8a
474b82:	81 4c 24 30 c0 00 00 	orl    $0xc0,0x30(%esp)
474b89:	00
474b8a:	8b 54 24 2c          	mov    0x2c(%esp),%edx
474b8e:	51                   	push   %ecx
474b8f:	ff 74 24 28          	push   0x28(%esp)
474b93:	8b 4c 24 30          	mov    0x30(%esp),%ecx
474b97:	ff 74 24 28          	push   0x28(%esp)
474b9b:	e8 29 02 ff ff       	call   0x464dc9
474ba0:	83 c4 0c             	add    $0xc,%esp
474ba3:	85 c0                	test   %eax,%eax
474ba5:	75 08                	jne    0x474baf
474ba7:	50                   	push   %eax
474ba8:	6a 04                	push   $0x4
474baa:	e9 3c ff ff ff       	jmp    0x474aeb
474baf:	ff 74 24 14          	push   0x14(%esp)
474bb3:	51                   	push   %ecx
474bb4:	8d 4c 24 28          	lea    0x28(%esp),%ecx
474bb8:	e8 93 78 fe ff       	call   0x45c450
474bbd:	83 f8 01             	cmp    $0x1,%eax
474bc0:	75 0f                	jne    0x474bd1
474bc2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
474bc5:	8d 44 24 54          	lea    0x54(%esp),%eax
474bc9:	50                   	push   %eax
474bca:	e8 cd 4f f9 ff       	call   0x409b9c
474bcf:	eb 4a                	jmp    0x474c1b
474bd1:	6a 00                	push   $0x0
474bd3:	83 f8 02             	cmp    $0x2,%eax
474bd6:	75 07                	jne    0x474bdf
474bd8:	6a 01                	push   $0x1
474bda:	e9 0c ff ff ff       	jmp    0x474aeb
474bdf:	83 f8 03             	cmp    $0x3,%eax
474be2:	8b 03                	mov    (%ebx),%eax
474be4:	8b 48 04             	mov    0x4(%eax),%ecx
474be7:	75 07                	jne    0x474bf0
474be9:	6a 02                	push   $0x2
474beb:	e9 00 ff ff ff       	jmp    0x474af0
474bf0:	6a 03                	push   $0x3
474bf2:	e9 f9 fe ff ff       	jmp    0x474af0
474bf7:	8b 75 0c             	mov    0xc(%ebp),%esi
474bfa:	8b ce                	mov    %esi,%ecx
474bfc:	e8 1f 4e f9 ff       	call   0x409a20
474c01:	83 26 00             	andl   $0x0,(%esi)
474c04:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
474c0b:	8b 03                	mov    (%ebx),%eax
474c0d:	6a 00                	push   $0x0
474c0f:	6a 05                	push   $0x5
474c11:	8b 48 04             	mov    0x4(%eax),%ecx
474c14:	03 cb                	add    %ebx,%ecx
474c16:	e8 88 1e fe ff       	call   0x456aa3
474c1b:	8d 4c 24 20          	lea    0x20(%esp),%ecx
474c1f:	e8 73 ef ff ff       	call   0x473b97
474c24:	5f                   	pop    %edi
474c25:	5e                   	pop    %esi
474c26:	33 c0                	xor    %eax,%eax
474c28:	5b                   	pop    %ebx
474c29:	8b e5                	mov    %ebp,%esp
474c2b:	5d                   	pop    %ebp
474c2c:	c2 08 00             	ret    $0x8
474c2f:	8b ff                	mov    %edi,%edi
474c31:	1c 4b                	sbb    $0x4b,%al
474c33:	47                   	inc    %edi
474c34:	00 d5                	add    %dl,%ch
474c36:	49                   	dec    %ecx
474c37:	47                   	inc    %edi
474c38:	00 bb 49 47 00 87    	add    %bh,-0x78ffb8b7(%ebx)
474c3e:	49                   	dec    %ecx
474c3f:	47                   	inc    %edi
474c40:	00 53 49             	add    %dl,0x49(%ebx)
474c43:	47                   	inc    %edi
474c44:	00 2e                	add    %ch,(%esi)
474c46:	49                   	dec    %ecx
474c47:	47                   	inc    %edi
474c48:	00 06                	add    %al,(%esi)
474c4a:	49                   	dec    %ecx
474c4b:	47                   	inc    %edi
474c4c:	00 cd                	add    %cl,%ch
474c4e:	48                   	dec    %eax
474c4f:	47                   	inc    %edi
474c50:	00 be 48 47 00 55    	add    %bh,0x55004748(%esi)
474c56:	8b ec                	mov    %esp,%ebp
474c58:	e8 a6 ff fe ff       	call   0x464c03
474c5d:	84 c0                	test   %al,%al
474c5f:	75 16                	jne    0x474c77
474c61:	56                   	push   %esi
474c62:	8b 75 0c             	mov    0xc(%ebp),%esi
474c65:	8b ce                	mov    %esi,%ecx
474c67:	e8 b4 4d f9 ff       	call   0x409a20
474c6c:	83 26 00             	andl   $0x0,(%esi)
474c6f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
474c76:	5e                   	pop    %esi
474c77:	33 c0                	xor    %eax,%eax
474c79:	5d                   	pop    %ebp
474c7a:	c2 08 00             	ret    $0x8
474c7d:	55                   	push   %ebp
474c7e:	8b ec                	mov    %esp,%ebp
474c80:	8b 45 08             	mov    0x8(%ebp),%eax
474c83:	8b 40 04             	mov    0x4(%eax),%eax
474c86:	8b 00                	mov    (%eax),%eax
474c88:	83 78 0c 06          	cmpl   $0x6,0xc(%eax)
474c8c:	75 02                	jne    0x474c90
474c8e:	8b 00                	mov    (%eax),%eax
474c90:	83 78 0c 09          	cmpl   $0x9,0xc(%eax)
474c94:	74 16                	je     0x474cac
474c96:	56                   	push   %esi
474c97:	8b 75 0c             	mov    0xc(%ebp),%esi
474c9a:	8b ce                	mov    %esi,%ecx
474c9c:	e8 7f 4d f9 ff       	call   0x409a20
474ca1:	83 26 00             	andl   $0x0,(%esi)
474ca4:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
474cab:	5e                   	pop    %esi
474cac:	33 c0                	xor    %eax,%eax
474cae:	5d                   	pop    %ebp
474caf:	c2 08 00             	ret    $0x8
474cb2:	55                   	push   %ebp
474cb3:	8b ec                	mov    %esp,%ebp
474cb5:	83 ec 10             	sub    $0x10,%esp
474cb8:	8b 45 08             	mov    0x8(%ebp),%eax
474cbb:	56                   	push   %esi
474cbc:	57                   	push   %edi
474cbd:	8b 40 04             	mov    0x4(%eax),%eax
474cc0:	8b 30                	mov    (%eax),%esi
474cc2:	8b ce                	mov    %esi,%ecx
474cc4:	e8 ce 4c f9 ff       	call   0x409997
474cc9:	8b 4e 08             	mov    0x8(%esi),%ecx
474ccc:	8b 01                	mov    (%ecx),%eax
474cce:	89 45 f0             	mov    %eax,-0x10(%ebp)
474cd1:	8b 41 04             	mov    0x4(%ecx),%eax
474cd4:	89 45 f4             	mov    %eax,-0xc(%ebp)
474cd7:	8b 41 08             	mov    0x8(%ecx),%eax
474cda:	89 45 f8             	mov    %eax,-0x8(%ebp)
474cdd:	8b 41 0c             	mov    0xc(%ecx),%eax
474ce0:	8d 4d f0             	lea    -0x10(%ebp),%ecx
474ce3:	89 45 fc             	mov    %eax,-0x4(%ebp)
474ce6:	ff 00                	incl   (%eax)
474ce8:	e8 c2 32 f9 ff       	call   0x407faf
474ced:	ff 75 f4             	push   -0xc(%ebp)
474cf0:	ff 75 f0             	push   -0x10(%ebp)
474cf3:	ff 15 7c f6 48 00    	call   *0x48f67c
474cf9:	8d 45 f0             	lea    -0x10(%ebp),%eax
474cfc:	50                   	push   %eax
474cfd:	e8 26 0f ff ff       	call   0x465c28
474d02:	8b 75 0c             	mov    0xc(%ebp),%esi
474d05:	8b f8                	mov    %eax,%edi
474d07:	8b ce                	mov    %esi,%ecx
474d09:	e8 12 4d f9 ff       	call   0x409a20
474d0e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
474d11:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
474d18:	89 3e                	mov    %edi,(%esi)
474d1a:	e8 45 0d f9 ff       	call   0x405a64
474d1f:	5f                   	pop    %edi
474d20:	33 c0                	xor    %eax,%eax
474d22:	5e                   	pop    %esi
474d23:	8b e5                	mov    %ebp,%esp
474d25:	5d                   	pop    %ebp
474d26:	c2 08 00             	ret    $0x8
474d29:	55                   	push   %ebp
474d2a:	8b ec                	mov    %esp,%ebp
474d2c:	8b 45 08             	mov    0x8(%ebp),%eax
474d2f:	8b 40 04             	mov    0x4(%eax),%eax
474d32:	8b 00                	mov    (%eax),%eax
474d34:	83 78 0c 06          	cmpl   $0x6,0xc(%eax)
474d38:	75 02                	jne    0x474d3c
474d3a:	8b 00                	mov    (%eax),%eax
474d3c:	8b 40 0c             	mov    0xc(%eax),%eax
474d3f:	56                   	push   %esi
474d40:	8b 75 0c             	mov    0xc(%ebp),%esi
474d43:	8b ce                	mov    %esi,%ecx
474d45:	83 f8 0d             	cmp    $0xd,%eax
474d48:	75 0d                	jne    0x474d57
474d4a:	e8 d1 4c f9 ff       	call   0x409a20
474d4f:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
474d55:	eb 1c                	jmp    0x474d73
474d57:	83 f8 0e             	cmp    $0xe,%eax
474d5a:	75 0f                	jne    0x474d6b
474d5c:	e8 bf 4c f9 ff       	call   0x409a20
474d61:	33 c0                	xor    %eax,%eax
474d63:	40                   	inc    %eax
474d64:	89 46 0c             	mov    %eax,0xc(%esi)
474d67:	89 06                	mov    %eax,(%esi)
474d69:	eb 0f                	jmp    0x474d7a
474d6b:	e8 b0 4c f9 ff       	call   0x409a20
474d70:	83 26 00             	andl   $0x0,(%esi)
474d73:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
474d7a:	33 c0                	xor    %eax,%eax
474d7c:	5e                   	pop    %esi
474d7d:	5d                   	pop    %ebp
474d7e:	c2 08 00             	ret    $0x8
474d81:	55                   	push   %ebp
474d82:	8b ec                	mov    %esp,%ebp
474d84:	8b 45 08             	mov    0x8(%ebp),%eax
474d87:	56                   	push   %esi
474d88:	8b 40 04             	mov    0x4(%eax),%eax
474d8b:	8b 30                	mov    (%eax),%esi
474d8d:	83 7e 0c 06          	cmpl   $0x6,0xc(%esi)
474d91:	75 02                	jne    0x474d95
474d93:	8b 36                	mov    (%esi),%esi
474d95:	6a 29                	push   $0x29
474d97:	8b ce                	mov    %esi,%ecx
474d99:	e8 10 50 f9 ff       	call   0x409dae
474d9e:	84 c0                	test   %al,%al
474da0:	74 14                	je     0x474db6
474da2:	8b 75 0c             	mov    0xc(%ebp),%esi
474da5:	8b ce                	mov    %esi,%ecx
474da7:	e8 74 4c f9 ff       	call   0x409a20
474dac:	33 c0                	xor    %eax,%eax
474dae:	40                   	inc    %eax
474daf:	89 46 0c             	mov    %eax,0xc(%esi)
474db2:	89 06                	mov    %eax,(%esi)
474db4:	eb 2e                	jmp    0x474de4
474db6:	6a 2a                	push   $0x2a
474db8:	8b ce                	mov    %esi,%ecx
474dba:	e8 ef 4f f9 ff       	call   0x409dae
474dbf:	8b 75 0c             	mov    0xc(%ebp),%esi
474dc2:	8b ce                	mov    %esi,%ecx
474dc4:	84 c0                	test   %al,%al
474dc6:	74 0d                	je     0x474dd5
474dc8:	e8 53 4c f9 ff       	call   0x409a20
474dcd:	c7 06 02 00 00 00    	movl   $0x2,(%esi)
474dd3:	eb 08                	jmp    0x474ddd
474dd5:	e8 46 4c f9 ff       	call   0x409a20
474dda:	83 26 00             	andl   $0x0,(%esi)
474ddd:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
474de4:	33 c0                	xor    %eax,%eax
474de6:	5e                   	pop    %esi
474de7:	5d                   	pop    %ebp
474de8:	c2 08 00             	ret    $0x8
474deb:	55                   	push   %ebp
474dec:	8b ec                	mov    %esp,%ebp
474dee:	51                   	push   %ecx
474def:	51                   	push   %ecx
474df0:	8b 45 08             	mov    0x8(%ebp),%eax
474df3:	56                   	push   %esi
474df4:	57                   	push   %edi
474df5:	8b f9                	mov    %ecx,%edi
474df7:	8b 40 04             	mov    0x4(%eax),%eax
474dfa:	8b 08                	mov    (%eax),%ecx
474dfc:	83 79 0c 06          	cmpl   $0x6,0xc(%ecx)
474e00:	75 02                	jne    0x474e04
474e02:	8b 09                	mov    (%ecx),%ecx
474e04:	8b 40 04             	mov    0x4(%eax),%eax
474e07:	83 78 0c 06          	cmpl   $0x6,0xc(%eax)
474e0b:	75 02                	jne    0x474e0f
474e0d:	8b 00                	mov    (%eax),%eax
474e0f:	83 79 0c 0f          	cmpl   $0xf,0xc(%ecx)
474e13:	75 2e                	jne    0x474e43
474e15:	8b 09                	mov    (%ecx),%ecx
474e17:	8d 55 f8             	lea    -0x8(%ebp),%edx
474e1a:	52                   	push   %edx
474e1b:	50                   	push   %eax
474e1c:	e8 c4 cd fe ff       	call   0x461be5
474e21:	84 c0                	test   %al,%al
474e23:	74 1e                	je     0x474e43
474e25:	8b 75 0c             	mov    0xc(%ebp),%esi
474e28:	8b ce                	mov    %esi,%ecx
474e2a:	e8 f1 4b f9 ff       	call   0x409a20
474e2f:	8b 45 f8             	mov    -0x8(%ebp),%eax
474e32:	89 06                	mov    %eax,(%esi)
474e34:	8b 45 fc             	mov    -0x4(%ebp),%eax
474e37:	c7 46 0c 02 00 00 00 	movl   $0x2,0xc(%esi)
474e3e:	89 46 04             	mov    %eax,0x4(%esi)
474e41:	eb 22                	jmp    0x474e65
474e43:	8b 75 0c             	mov    0xc(%ebp),%esi
474e46:	8b ce                	mov    %esi,%ecx
474e48:	e8 d3 4b f9 ff       	call   0x409a20
474e4d:	83 26 00             	andl   $0x0,(%esi)
474e50:	33 c0                	xor    %eax,%eax
474e52:	40                   	inc    %eax
474e53:	6a 00                	push   $0x0
474e55:	89 46 0c             	mov    %eax,0xc(%esi)
474e58:	50                   	push   %eax
474e59:	8b 07                	mov    (%edi),%eax
474e5b:	8b 48 04             	mov    0x4(%eax),%ecx
474e5e:	03 cf                	add    %edi,%ecx
474e60:	e8 3e 1c fe ff       	call   0x456aa3
474e65:	5f                   	pop    %edi