475b30:	8d 45 f8             	lea    -0x8(%ebp),%eax
475b33:	50                   	push   %eax
475b34:	ff 75 0c             	push   0xc(%ebp)
475b37:	8d 45 f4             	lea    -0xc(%ebp),%eax
475b3a:	50                   	push   %eax
475b3b:	e8 4a fe ff ff       	call   0x47598a
475b40:	8b e5                	mov    %ebp,%esp
475b42:	5d                   	pop    %ebp
475b43:	c3                   	ret
475b44:	8b ff                	mov    %edi,%edi
475b46:	55                   	push   %ebp
475b47:	8b ec                	mov    %esp,%ebp
475b49:	83 ec 0c             	sub    $0xc,%esp
475b4c:	8b 45 08             	mov    0x8(%ebp),%eax
475b4f:	8d 4d ff             	lea    -0x1(%ebp),%ecx
475b52:	89 45 f8             	mov    %eax,-0x8(%ebp)
475b55:	89 45 f4             	mov    %eax,-0xc(%ebp)
475b58:	8d 45 f8             	lea    -0x8(%ebp),%eax
475b5b:	50                   	push   %eax
475b5c:	ff 75 0c             	push   0xc(%ebp)
475b5f:	8d 45 f4             	lea    -0xc(%ebp),%eax
475b62:	50                   	push   %eax
475b63:	e8 36 ff ff ff       	call   0x475a9e
475b68:	8b e5                	mov    %ebp,%esp
475b6a:	5d                   	pop    %ebp
475b6b:	c3                   	ret
475b6c:	8b ff                	mov    %edi,%edi
475b6e:	55                   	push   %ebp
475b6f:	8b ec                	mov    %esp,%ebp
475b71:	8b 45 08             	mov    0x8(%ebp),%eax
475b74:	8b 00                	mov    (%eax),%eax
475b76:	89 01                	mov    %eax,(%ecx)
475b78:	8b c1                	mov    %ecx,%eax
475b7a:	5d                   	pop    %ebp
475b7b:	c2 04 00             	ret    $0x4
475b7e:	8b ff                	mov    %edi,%edi
475b80:	55                   	push   %ebp
475b81:	8b ec                	mov    %esp,%ebp
475b83:	8b 45 08             	mov    0x8(%ebp),%eax
475b86:	8b 00                	mov    (%eax),%eax
475b88:	89 01                	mov    %eax,(%ecx)
475b8a:	8b c1                	mov    %ecx,%eax
475b8c:	5d                   	pop    %ebp
475b8d:	c2 04 00             	ret    $0x4
475b90:	8b ff                	mov    %edi,%edi
475b92:	55                   	push   %ebp
475b93:	8b ec                	mov    %esp,%ebp
475b95:	8b 45 08             	mov    0x8(%ebp),%eax
475b98:	8b 00                	mov    (%eax),%eax
475b9a:	89 01                	mov    %eax,(%ecx)
475b9c:	8b c1                	mov    %ecx,%eax
475b9e:	5d                   	pop    %ebp
475b9f:	c2 04 00             	ret    $0x4
475ba2:	8b ff                	mov    %edi,%edi
475ba4:	55                   	push   %ebp
475ba5:	8b ec                	mov    %esp,%ebp
475ba7:	8b 45 08             	mov    0x8(%ebp),%eax
475baa:	89 01                	mov    %eax,(%ecx)
475bac:	8b 45 0c             	mov    0xc(%ebp),%eax
475baf:	89 41 04             	mov    %eax,0x4(%ecx)
475bb2:	8b 45 10             	mov    0x10(%ebp),%eax
475bb5:	89 41 08             	mov    %eax,0x8(%ecx)
475bb8:	8b 45 14             	mov    0x14(%ebp),%eax
475bbb:	89 41 0c             	mov    %eax,0xc(%ecx)
475bbe:	8b c1                	mov    %ecx,%eax
475bc0:	5d                   	pop    %ebp
475bc1:	c2 10 00             	ret    $0x10
475bc4:	8b ff                	mov    %edi,%edi
475bc6:	55                   	push   %ebp
475bc7:	8b ec                	mov    %esp,%ebp
475bc9:	8b 45 08             	mov    0x8(%ebp),%eax
475bcc:	8b 00                	mov    (%eax),%eax
475bce:	89 01                	mov    %eax,(%ecx)
475bd0:	8b c1                	mov    %ecx,%eax
475bd2:	5d                   	pop    %ebp
475bd3:	c2 04 00             	ret    $0x4
475bd6:	8b ff                	mov    %edi,%edi
475bd8:	55                   	push   %ebp
475bd9:	8b ec                	mov    %esp,%ebp
475bdb:	8b 45 08             	mov    0x8(%ebp),%eax
475bde:	8b 00                	mov    (%eax),%eax
475be0:	89 01                	mov    %eax,(%ecx)
475be2:	8b c1                	mov    %ecx,%eax
475be4:	5d                   	pop    %ebp
475be5:	c2 04 00             	ret    $0x4
475be8:	8b ff                	mov    %edi,%edi
475bea:	55                   	push   %ebp
475beb:	8b ec                	mov    %esp,%ebp
475bed:	8b 45 08             	mov    0x8(%ebp),%eax
475bf0:	89 01                	mov    %eax,(%ecx)
475bf2:	8b c1                	mov    %ecx,%eax
475bf4:	5d                   	pop    %ebp
475bf5:	c2 04 00             	ret    $0x4
475bf8:	8b ff                	mov    %edi,%edi
475bfa:	55                   	push   %ebp
475bfb:	8b ec                	mov    %esp,%ebp
475bfd:	8b 45 08             	mov    0x8(%ebp),%eax
475c00:	89 01                	mov    %eax,(%ecx)
475c02:	8b 45 0c             	mov    0xc(%ebp),%eax
475c05:	89 41 04             	mov    %eax,0x4(%ecx)
475c08:	8b 45 10             	mov    0x10(%ebp),%eax
475c0b:	89 41 08             	mov    %eax,0x8(%ecx)
475c0e:	8b c1                	mov    %ecx,%eax
475c10:	5d                   	pop    %ebp
475c11:	c2 0c 00             	ret    $0xc
475c14:	8b ff                	mov    %edi,%edi
475c16:	55                   	push   %ebp
475c17:	8b ec                	mov    %esp,%ebp
475c19:	8b 45 08             	mov    0x8(%ebp),%eax
475c1c:	8b 00                	mov    (%eax),%eax
475c1e:	89 01                	mov    %eax,(%ecx)
475c20:	8b c1                	mov    %ecx,%eax
475c22:	5d                   	pop    %ebp
475c23:	c2 04 00             	ret    $0x4
475c26:	ff 31                	push   (%ecx)
475c28:	e8 7c e5 fd ff       	call   0x4541a9
475c2d:	59                   	pop    %ecx
475c2e:	c3                   	ret
475c2f:	ff 31                	push   (%ecx)
475c31:	e8 87 e5 fd ff       	call   0x4541bd
475c36:	59                   	pop    %ecx
475c37:	c3                   	ret
475c38:	ff 31                	push   (%ecx)
475c3a:	e8 cd 22 ff ff       	call   0x467f0c
475c3f:	59                   	pop    %ecx
475c40:	c3                   	ret
475c41:	8b ff                	mov    %edi,%edi
475c43:	56                   	push   %esi
475c44:	8b f1                	mov    %ecx,%esi
475c46:	8b 06                	mov    (%esi),%eax
475c48:	ff 76 04             	push   0x4(%esi)
475c4b:	ff 30                	push   (%eax)
475c4d:	e8 1a 01 00 00       	call   0x475d6c
475c52:	59                   	pop    %ecx
475c53:	59                   	pop    %ecx
475c54:	84 c0                	test   %al,%al
475c56:	74 31                	je     0x475c89
475c58:	8b 46 08             	mov    0x8(%esi),%eax
475c5b:	80 38 00             	cmpb   $0x0,(%eax)
475c5e:	75 0d                	jne    0x475c6d
475c60:	8b 06                	mov    (%esi),%eax
475c62:	8b 00                	mov    (%eax),%eax
475c64:	8b 40 0c             	mov    0xc(%eax),%eax
475c67:	d1 e8                	shr    $1,%eax
475c69:	a8 01                	test   $0x1,%al
475c6b:	74 1c                	je     0x475c89
475c6d:	8b 06                	mov    (%esi),%eax
475c6f:	ff 30                	push   (%eax)
475c71:	e8 d9 01 00 00       	call   0x475e4f
475c76:	59                   	pop    %ecx
475c77:	83 f8 ff             	cmp    $0xffffffff,%eax
475c7a:	74 07                	je     0x475c83
475c7c:	8b 46 04             	mov    0x4(%esi),%eax
475c7f:	5e                   	pop    %esi
475c80:	ff 00                	incl   (%eax)
475c82:	c3                   	ret
475c83:	8b 46 0c             	mov    0xc(%esi),%eax
475c86:	83 08 ff             	orl    $0xffffffff,(%eax)
475c89:	5e                   	pop    %esi
475c8a:	c3                   	ret
475c8b:	ff 31                	push   (%ecx)
475c8d:	e8 2b e5 fd ff       	call   0x4541bd
475c92:	59                   	pop    %ecx
475c93:	c3                   	ret
475c94:	ff 31                	push   (%ecx)
475c96:	e8 0e e5 fd ff       	call   0x4541a9
475c9b:	59                   	pop    %ecx
475c9c:	c3                   	ret
475c9d:	8b 01                	mov    (%ecx),%eax
475c9f:	ff 30                	push   (%eax)
475ca1:	e8 a9 01 00 00       	call   0x475e4f
475ca6:	59                   	pop    %ecx
475ca7:	c3                   	ret
475ca8:	8b ff                	mov    %edi,%edi
475caa:	55                   	push   %ebp
475cab:	8b ec                	mov    %esp,%ebp
475cad:	83 ec 18             	sub    $0x18,%esp
475cb0:	a1 00 b4 4b 00       	mov    0x4bb400,%eax
475cb5:	53                   	push   %ebx
475cb6:	56                   	push   %esi
475cb7:	8b 35 04 b4 4b 00    	mov    0x4bb404,%esi
475cbd:	8b d9                	mov    %ecx,%ebx
475cbf:	57                   	push   %edi
475cc0:	33 ff                	xor    %edi,%edi
475cc2:	8d 14 86             	lea    (%esi,%eax,4),%edx
475cc5:	8b c2                	mov    %edx,%eax
475cc7:	2b c6                	sub    %esi,%eax
475cc9:	83 c0 03             	add    $0x3,%eax
475ccc:	c1 e8 02             	shr    $0x2,%eax
475ccf:	3b d6                	cmp    %esi,%edx
475cd1:	1b c9                	sbb    %ecx,%ecx
475cd3:	f7 d1                	not    %ecx
475cd5:	23 c8                	and    %eax,%ecx
475cd7:	89 4d f8             	mov    %ecx,-0x8(%ebp)
475cda:	74 41                	je     0x475d1d
475cdc:	ff 33                	push   (%ebx)
475cde:	8b 06                	mov    (%esi),%eax
475ce0:	50                   	push   %eax
475ce1:	89 45 fc             	mov    %eax,-0x4(%ebp)
475ce4:	e8 83 00 00 00       	call   0x475d6c
475ce9:	59                   	pop    %ecx
475cea:	59                   	pop    %ecx
475ceb:	84 c0                	test   %al,%al
475ced:	74 25                	je     0x475d14
475cef:	8d 45 fc             	lea    -0x4(%ebp),%eax
475cf2:	89 45 e8             	mov    %eax,-0x18(%ebp)
475cf5:	8b 03                	mov    (%ebx),%eax
475cf7:	89 45 ec             	mov    %eax,-0x14(%ebp)
475cfa:	8b 43 04             	mov    0x4(%ebx),%eax
475cfd:	89 45 f0             	mov    %eax,-0x10(%ebp)
475d00:	8b 43 08             	mov    0x8(%ebx),%eax
475d03:	89 45 f4             	mov    %eax,-0xc(%ebp)
475d06:	8d 45 e8             	lea    -0x18(%ebp),%eax
475d09:	50                   	push   %eax
475d0a:	ff 75 fc             	push   -0x4(%ebp)
475d0d:	e8 0a fe ff ff       	call   0x475b1c
475d12:	59                   	pop    %ecx
475d13:	59                   	pop    %ecx
475d14:	83 c6 04             	add    $0x4,%esi
475d17:	47                   	inc    %edi
475d18:	3b 7d f8             	cmp    -0x8(%ebp),%edi
475d1b:	75 bf                	jne    0x475cdc
475d1d:	5f                   	pop    %edi
475d1e:	5e                   	pop    %esi
475d1f:	5b                   	pop    %ebx
475d20:	8b e5                	mov    %ebp,%esp
475d22:	5d                   	pop    %ebp
475d23:	c3                   	ret
475d24:	ff 31                	push   (%ecx)
475d26:	e8 29 22 ff ff       	call   0x467f54
475d2b:	59                   	pop    %ecx
475d2c:	c3                   	ret
475d2d:	8b ff                	mov    %edi,%edi
475d2f:	55                   	push   %ebp
475d30:	8b ec                	mov    %esp,%ebp
475d32:	83 ec 14             	sub    $0x14,%esp
475d35:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
475d39:	8d 45 fc             	lea    -0x4(%ebp),%eax
475d3c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
475d40:	89 45 ec             	mov    %eax,-0x14(%ebp)
475d43:	8d 45 08             	lea    0x8(%ebp),%eax
475d46:	89 45 f0             	mov    %eax,-0x10(%ebp)
475d49:	8d 45 f8             	lea    -0x8(%ebp),%eax
475d4c:	89 45 f4             	mov    %eax,-0xc(%ebp)
475d4f:	8d 45 ec             	lea    -0x14(%ebp),%eax
475d52:	50                   	push   %eax
475d53:	6a 08                	push   $0x8
475d55:	e8 9a fd ff ff       	call   0x475af4
475d5a:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
475d5e:	8b 45 fc             	mov    -0x4(%ebp),%eax
475d61:	59                   	pop    %ecx
475d62:	59                   	pop    %ecx
475d63:	75 03                	jne    0x475d68
475d65:	8b 45 f8             	mov    -0x8(%ebp),%eax
475d68:	8b e5                	mov    %ebp,%esp
475d6a:	5d                   	pop    %ebp
475d6b:	c3                   	ret
475d6c:	8b ff                	mov    %edi,%edi
475d6e:	55                   	push   %ebp
475d6f:	8b ec                	mov    %esp,%ebp
475d71:	8b 45 08             	mov    0x8(%ebp),%eax
475d74:	85 c0                	test   %eax,%eax
475d76:	75 04                	jne    0x475d7c
475d78:	32 c0                	xor    %al,%al
475d7a:	5d                   	pop    %ebp
475d7b:	c3                   	ret
475d7c:	8b 48 0c             	mov    0xc(%eax),%ecx
475d7f:	8b c1                	mov    %ecx,%eax
475d81:	c1 e8 0d             	shr    $0xd,%eax
475d84:	a8 01                	test   $0x1,%al
475d86:	74 f0                	je     0x475d78
475d88:	51                   	push   %ecx
475d89:	e8 3b 00 00 00       	call   0x475dc9
475d8e:	59                   	pop    %ecx
475d8f:	84 c0                	test   %al,%al
475d91:	75 07                	jne    0x475d9a
475d93:	8b 45 0c             	mov    0xc(%ebp),%eax
475d96:	ff 00                	incl   (%eax)
475d98:	eb de                	jmp    0x475d78
475d9a:	b0 01                	mov    $0x1,%al
475d9c:	5d                   	pop    %ebp
475d9d:	c3                   	ret
475d9e:	8b ff                	mov    %edi,%edi
475da0:	55                   	push   %ebp
475da1:	8b ec                	mov    %esp,%ebp
475da3:	8b 45 08             	mov    0x8(%ebp),%eax
475da6:	c1 e8 0d             	shr    $0xd,%eax
475da9:	83 e0 01             	and    $0x1,%eax
475dac:	5d                   	pop    %ebp
475dad:	c3                   	ret
475dae:	8b ff                	mov    %edi,%edi
475db0:	55                   	push   %ebp
475db1:	8b ec                	mov    %esp,%ebp
475db3:	8b 45 08             	mov    0x8(%ebp),%eax
475db6:	24 03                	and    $0x3,%al
475db8:	3c 02                	cmp    $0x2,%al
475dba:	74 04                	je     0x475dc0
475dbc:	32 c0                	xor    %al,%al
475dbe:	5d                   	pop    %ebp
475dbf:	c3                   	ret
475dc0:	f6 45 08 c0          	testb  $0xc0,0x8(%ebp)
475dc4:	0f 95 c0             	setne  %al
475dc7:	5d                   	pop    %ebp
475dc8:	c3                   	ret
475dc9:	8b ff                	mov    %edi,%edi
475dcb:	55                   	push   %ebp
475dcc:	8b ec                	mov    %esp,%ebp
475dce:	8b 4d 08             	mov    0x8(%ebp),%ecx
475dd1:	8b c1                	mov    %ecx,%eax
475dd3:	24 03                	and    $0x3,%al
475dd5:	3c 02                	cmp    $0x2,%al
475dd7:	75 09                	jne    0x475de2
475dd9:	f6 c1 c0             	test   $0xc0,%cl
475ddc:	74 04                	je     0x475de2
475dde:	fe c8                	dec    %al
475de0:	5d                   	pop    %ebp
475de1:	c3                   	ret
475de2:	c1 e9 0b             	shr    $0xb,%ecx
475de5:	80 e1 01             	and    $0x1,%cl
475de8:	8a c1                	mov    %cl,%al
475dea:	5d                   	pop    %ebp
475deb:	c3                   	ret
475dec:	8b ff                	mov    %edi,%edi
475dee:	55                   	push   %ebp
475def:	8b ec                	mov    %esp,%ebp
475df1:	8b 4d 08             	mov    0x8(%ebp),%ecx
475df4:	56                   	push   %esi
475df5:	57                   	push   %edi
475df6:	8d 71 0c             	lea    0xc(%ecx),%esi
475df9:	8b 16                	mov    (%esi),%edx
475dfb:	8b c2                	mov    %edx,%eax
475dfd:	24 03                	and    $0x3,%al
475dff:	3c 02                	cmp    $0x2,%al
475e01:	75 46                	jne    0x475e49
475e03:	f6 c2 c0             	test   $0xc0,%dl
475e06:	74 41                	je     0x475e49
475e08:	8b 39                	mov    (%ecx),%edi
475e0a:	8b 41 04             	mov    0x4(%ecx),%eax
475e0d:	2b f8                	sub    %eax,%edi
475e0f:	89 01                	mov    %eax,(%ecx)
475e11:	83 61 08 00          	andl   $0x0,0x8(%ecx)
475e15:	85 ff                	test   %edi,%edi
475e17:	7e 30                	jle    0x475e49
475e19:	57                   	push   %edi
475e1a:	50                   	push   %eax
475e1b:	51                   	push   %ecx
475e1c:	e8 55 23 00 00       	call   0x478176
475e21:	59                   	pop    %ecx
475e22:	50                   	push   %eax
475e23:	e8 17 43 00 00       	call   0x47a13f