4d9aac:	7c cd                	jl     0x4d9a7b
4d9aae:	5f                   	pop    %edi
4d9aaf:	5e                   	pop    %esi
4d9ab0:	5b                   	pop    %ebx
4d9ab1:	8b e5                	mov    %ebp,%esp
4d9ab3:	5d                   	pop    %ebp
4d9ab4:	c2 08 00             	ret    $0x8
4d9ab7:	90                   	nop
4d9ab8:	53                   	push   %ebx
4d9ab9:	8b ca                	mov    %edx,%ecx
4d9abb:	83 e1 07             	and    $0x7,%ecx
4d9abe:	51                   	push   %ecx
4d9abf:	b9 07 00 00 00       	mov    $0x7,%ecx
4d9ac4:	5b                   	pop    %ebx
4d9ac5:	2b cb                	sub    %ebx,%ecx
4d9ac7:	c1 ea 03             	shr    $0x3,%edx
4d9aca:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
4d9ace:	d3 e8                	shr    %cl,%eax
4d9ad0:	83 e0 01             	and    $0x1,%eax
4d9ad3:	5b                   	pop    %ebx
4d9ad4:	c3                   	ret
4d9ad5:	8d 40 00             	lea    0x0(%eax),%eax
4d9ad8:	55                   	push   %ebp
4d9ad9:	8b ec                	mov    %esp,%ebp
4d9adb:	83 c4 e8             	add    $0xffffffe8,%esp
4d9ade:	53                   	push   %ebx
4d9adf:	56                   	push   %esi
4d9ae0:	57                   	push   %edi
4d9ae1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4d9ae4:	89 55 f8             	mov    %edx,-0x8(%ebp)
4d9ae7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4d9aea:	8b 7d 0c             	mov    0xc(%ebp),%edi
4d9aed:	33 c0                	xor    %eax,%eax
4d9aef:	89 45 f0             	mov    %eax,-0x10(%ebp)
4d9af2:	33 db                	xor    %ebx,%ebx
4d9af4:	33 d2                	xor    %edx,%edx
4d9af6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9af9:	e8 ba ff ff ff       	call   0x4d9ab8
4d9afe:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4d9b01:	74 07                	je     0x4d9b0a
4d9b03:	33 c0                	xor    %eax,%eax
4d9b05:	89 45 ec             	mov    %eax,-0x14(%ebp)
4d9b08:	eb 18                	jmp    0x4d9b22
4d9b0a:	8b 45 f0             	mov    -0x10(%ebp),%eax
4d9b0d:	f7 d0                	not    %eax
4d9b0f:	83 e0 01             	and    $0x1,%eax
4d9b12:	50                   	push   %eax
4d9b13:	8b cf                	mov    %edi,%ecx
4d9b15:	33 d2                	xor    %edx,%edx
4d9b17:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9b1a:	e8 71 f7 ff ff       	call   0x4d9290
4d9b1f:	89 45 ec             	mov    %eax,-0x14(%ebp)
4d9b22:	33 d2                	xor    %edx,%edx
4d9b24:	8b 45 f8             	mov    -0x8(%ebp),%eax
4d9b27:	e8 8c ff ff ff       	call   0x4d9ab8
4d9b2c:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4d9b2f:	74 04                	je     0x4d9b35
4d9b31:	33 f6                	xor    %esi,%esi
4d9b33:	eb 17                	jmp    0x4d9b4c
4d9b35:	8b 45 f0             	mov    -0x10(%ebp),%eax
4d9b38:	f7 d0                	not    %eax
4d9b3a:	83 e0 01             	and    $0x1,%eax
4d9b3d:	50                   	push   %eax
4d9b3e:	8b cf                	mov    %edi,%ecx
4d9b40:	33 d2                	xor    %edx,%edx
4d9b42:	8b 45 f8             	mov    -0x8(%ebp),%eax
4d9b45:	e8 46 f7 ff ff       	call   0x4d9290
4d9b4a:	8b f0                	mov    %eax,%esi
4d9b4c:	3b fe                	cmp    %esi,%edi
4d9b4e:	7e 1f                	jle    0x4d9b6f
4d9b50:	8b c6                	mov    %esi,%eax
4d9b52:	83 e0 07             	and    $0x7,%eax
4d9b55:	b9 07 00 00 00       	mov    $0x7,%ecx
4d9b5a:	2b c8                	sub    %eax,%ecx
4d9b5c:	8b c6                	mov    %esi,%eax
4d9b5e:	c1 e8 03             	shr    $0x3,%eax
4d9b61:	8b 55 f8             	mov    -0x8(%ebp),%edx
4d9b64:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
4d9b68:	d3 e8                	shr    %cl,%eax
4d9b6a:	83 e0 01             	and    $0x1,%eax
4d9b6d:	eb 02                	jmp    0x4d9b71
4d9b6f:	33 c0                	xor    %eax,%eax
4d9b71:	f7 d0                	not    %eax
4d9b73:	83 e0 01             	and    $0x1,%eax
4d9b76:	50                   	push   %eax
4d9b77:	8b cf                	mov    %edi,%ecx
4d9b79:	8b d6                	mov    %esi,%edx
4d9b7b:	8b 45 f8             	mov    -0x8(%ebp),%eax
4d9b7e:	e8 0d f7 ff ff       	call   0x4d9290
4d9b83:	89 45 e8             	mov    %eax,-0x18(%ebp)
4d9b86:	8b 45 e8             	mov    -0x18(%ebp),%eax
4d9b89:	3b 45 ec             	cmp    -0x14(%ebp),%eax
4d9b8c:	0f 8c ed 00 00 00    	jl     0x4d9c7f
4d9b92:	8b c6                	mov    %esi,%eax
4d9b94:	2b 45 ec             	sub    -0x14(%ebp),%eax
4d9b97:	83 f8 fd             	cmp    $0xfffffffd,%eax
4d9b9a:	7c 09                	jl     0x4d9ba5
4d9b9c:	83 f8 03             	cmp    $0x3,%eax
4d9b9f:	0f 8e b3 00 00 00    	jle    0x4d9c58
4d9ba5:	8b 55 ec             	mov    -0x14(%ebp),%edx
4d9ba8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9bab:	e8 08 ff ff ff       	call   0x4d9ab8
4d9bb0:	f7 d0                	not    %eax
4d9bb2:	83 e0 01             	and    $0x1,%eax
4d9bb5:	50                   	push   %eax
4d9bb6:	8b cf                	mov    %edi,%ecx
4d9bb8:	8b 55 ec             	mov    -0x14(%ebp),%edx
4d9bbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9bbe:	e8 cd f6 ff ff       	call   0x4d9290
4d9bc3:	8b f0                	mov    %eax,%esi
4d9bc5:	0f b7 05 6c c9 68 00 	movzwl 0x68c96c,%eax
4d9bcc:	50                   	push   %eax
4d9bcd:	8b 45 08             	mov    0x8(%ebp),%eax
4d9bd0:	50                   	push   %eax
4d9bd1:	8b 55 10             	mov    0x10(%ebp),%edx
4d9bd4:	8b 0d 68 c9 68 00    	mov    0x68c968,%ecx
4d9bda:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d9bdd:	e8 c6 fb ff ff       	call   0x4d97a8
4d9be2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4d9be5:	03 c3                	add    %ebx,%eax
4d9be7:	85 c0                	test   %eax,%eax
4d9be9:	74 0f                	je     0x4d9bfa
4d9beb:	8b d3                	mov    %ebx,%edx
4d9bed:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9bf0:	e8 c3 fe ff ff       	call   0x4d9ab8
4d9bf5:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4d9bf8:	75 2e                	jne    0x4d9c28
4d9bfa:	6a 01                	push   $0x1
4d9bfc:	8b 45 08             	mov    0x8(%ebp),%eax
4d9bff:	50                   	push   %eax
4d9c00:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4d9c03:	2b cb                	sub    %ebx,%ecx
4d9c05:	8b 55 10             	mov    0x10(%ebp),%edx
4d9c08:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d9c0b:	e8 70 fc ff ff       	call   0x4d9880
4d9c10:	6a 00                	push   $0x0
4d9c12:	8b 45 08             	mov    0x8(%ebp),%eax
4d9c15:	50                   	push   %eax
4d9c16:	8b ce                	mov    %esi,%ecx
4d9c18:	2b 4d ec             	sub    -0x14(%ebp),%ecx
4d9c1b:	8b 55 10             	mov    0x10(%ebp),%edx
4d9c1e:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d9c21:	e8 5a fc ff ff       	call   0x4d9880
4d9c26:	eb 2c                	jmp    0x4d9c54
4d9c28:	6a 00                	push   $0x0
4d9c2a:	8b 45 08             	mov    0x8(%ebp),%eax
4d9c2d:	50                   	push   %eax
4d9c2e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4d9c31:	2b cb                	sub    %ebx,%ecx
4d9c33:	8b 55 10             	mov    0x10(%ebp),%edx
4d9c36:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d9c39:	e8 42 fc ff ff       	call   0x4d9880
4d9c3e:	6a 01                	push   $0x1
4d9c40:	8b 45 08             	mov    0x8(%ebp),%eax
4d9c43:	50                   	push   %eax
4d9c44:	8b ce                	mov    %esi,%ecx
4d9c46:	2b 4d ec             	sub    -0x14(%ebp),%ecx
4d9c49:	8b 55 10             	mov    0x10(%ebp),%edx
4d9c4c:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d9c4f:	e8 2c fc ff ff       	call   0x4d9880
4d9c54:	8b de                	mov    %esi,%ebx
4d9c56:	eb 47                	jmp    0x4d9c9f
4d9c58:	8d 14 40             	lea    (%eax,%eax,2),%edx
4d9c5b:	0f b7 0c 95 a8 c9 68 	movzwl 0x68c9a8(,%edx,4),%ecx
4d9c62:	00
4d9c63:	51                   	push   %ecx
4d9c64:	8b 4d 08             	mov    0x8(%ebp),%ecx
4d9c67:	51                   	push   %ecx
4d9c68:	8b 0c 95 a4 c9 68 00 	mov    0x68c9a4(,%edx,4),%ecx
4d9c6f:	8b 55 10             	mov    0x10(%ebp),%edx
4d9c72:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d9c75:	e8 2e fb ff ff       	call   0x4d97a8
4d9c7a:	8b 5d ec             	mov    -0x14(%ebp),%ebx
4d9c7d:	eb 20                	jmp    0x4d9c9f
4d9c7f:	0f b7 05 78 c9 68 00 	movzwl 0x68c978,%eax
4d9c86:	50                   	push   %eax
4d9c87:	8b 45 08             	mov    0x8(%ebp),%eax
4d9c8a:	50                   	push   %eax
4d9c8b:	8b 55 10             	mov    0x10(%ebp),%edx
4d9c8e:	8b 0d 74 c9 68 00    	mov    0x68c974,%ecx
4d9c94:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d9c97:	e8 0c fb ff ff       	call   0x4d97a8
4d9c9c:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4d9c9f:	3b fb                	cmp    %ebx,%edi
4d9ca1:	7e 5b                	jle    0x4d9cfe
4d9ca3:	8b d3                	mov    %ebx,%edx
4d9ca5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9ca8:	e8 0b fe ff ff       	call   0x4d9ab8
4d9cad:	f7 d0                	not    %eax
4d9caf:	83 e0 01             	and    $0x1,%eax
4d9cb2:	50                   	push   %eax
4d9cb3:	8b cf                	mov    %edi,%ecx
4d9cb5:	8b d3                	mov    %ebx,%edx
4d9cb7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9cba:	e8 d1 f5 ff ff       	call   0x4d9290
4d9cbf:	89 45 ec             	mov    %eax,-0x14(%ebp)
4d9cc2:	8b d3                	mov    %ebx,%edx
4d9cc4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9cc7:	e8 ec fd ff ff       	call   0x4d9ab8
4d9ccc:	50                   	push   %eax
4d9ccd:	8b cf                	mov    %edi,%ecx
4d9ccf:	8b d3                	mov    %ebx,%edx
4d9cd1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4d9cd4:	e8 b7 f5 ff ff       	call   0x4d9290
4d9cd9:	8b f0                	mov    %eax,%esi
4d9cdb:	8b d3                	mov    %ebx,%edx
4d9cdd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9ce0:	e8 d3 fd ff ff       	call   0x4d9ab8
4d9ce5:	f7 d0                	not    %eax
4d9ce7:	83 e0 01             	and    $0x1,%eax
4d9cea:	50                   	push   %eax
4d9ceb:	8b cf                	mov    %edi,%ecx
4d9ced:	8b d6                	mov    %esi,%edx
4d9cef:	8b 45 f8             	mov    -0x8(%ebp),%eax
4d9cf2:	e8 99 f5 ff ff       	call   0x4d9290
4d9cf7:	8b f0                	mov    %eax,%esi
4d9cf9:	e9 4e fe ff ff       	jmp    0x4d9b4c
4d9cfe:	5f                   	pop    %edi
4d9cff:	5e                   	pop    %esi
4d9d00:	5b                   	pop    %ebx
4d9d01:	8b e5                	mov    %ebp,%esp
4d9d03:	5d                   	pop    %ebp
4d9d04:	c2 0c 00             	ret    $0xc
4d9d07:	90                   	nop
4d9d08:	55                   	push   %ebp
4d9d09:	8b ec                	mov    %esp,%ebp
4d9d0b:	83 c4 f0             	add    $0xfffffff0,%esp
4d9d0e:	53                   	push   %ebx
4d9d0f:	56                   	push   %esi
4d9d10:	57                   	push   %edi
4d9d11:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4d9d14:	89 55 fc             	mov    %edx,-0x4(%ebp)
4d9d17:	8b f8                	mov    %eax,%edi
4d9d19:	8b 75 10             	mov    0x10(%ebp),%esi
4d9d1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9d1f:	c1 e8 03             	shr    $0x3,%eax
4d9d22:	c1 e0 02             	shl    $0x2,%eax
4d9d25:	8d 04 40             	lea    (%eax,%eax,2),%eax
4d9d28:	40                   	inc    %eax
4d9d29:	e8 7e 8a f2 ff       	call   0x4027ac
4d9d2e:	8b d8                	mov    %eax,%ebx
4d9d30:	33 c0                	xor    %eax,%eax
4d9d32:	89 45 f4             	mov    %eax,-0xc(%ebp)
4d9d35:	8b 45 14             	mov    0x14(%ebp),%eax
4d9d38:	83 38 00             	cmpl   $0x0,(%eax)
4d9d3b:	7e 16                	jle    0x4d9d53
4d9d3d:	8b 45 18             	mov    0x18(%ebp),%eax
4d9d40:	8a 00                	mov    (%eax),%al
4d9d42:	88 03                	mov    %al,(%ebx)
4d9d44:	8b 45 14             	mov    0x14(%ebp),%eax
4d9d47:	8b 00                	mov    (%eax),%eax
4d9d49:	89 45 f4             	mov    %eax,-0xc(%ebp)
4d9d4c:	8b 45 14             	mov    0x14(%ebp),%eax
4d9d4f:	33 d2                	xor    %edx,%edx
4d9d51:	89 10                	mov    %edx,(%eax)
4d9d53:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9d56:	83 c0 1f             	add    $0x1f,%eax
4d9d59:	c1 e8 05             	shr    $0x5,%eax
4d9d5c:	c1 e0 02             	shl    $0x2,%eax
4d9d5f:	89 45 f0             	mov    %eax,-0x10(%ebp)
4d9d62:	83 3e 00             	cmpl   $0x0,(%esi)
4d9d65:	75 56                	jne    0x4d9dbd
4d9d67:	6a 01                	push   $0x1
4d9d69:	8b 45 08             	mov    0x8(%ebp),%eax
4d9d6c:	50                   	push   %eax
4d9d6d:	8d 55 f4             	lea    -0xc(%ebp),%edx
4d9d70:	b9 0c 00 00 00       	mov    $0xc,%ecx
4d9d75:	8b c3                	mov    %ebx,%eax
4d9d77:	e8 2c fa ff ff       	call   0x4d97a8
4d9d7c:	6a 01                	push   $0x1
4d9d7e:	8b 45 08             	mov    0x8(%ebp),%eax
4d9d81:	50                   	push   %eax
4d9d82:	8d 55 f4             	lea    -0xc(%ebp),%edx
4d9d85:	b9 01 00 00 00       	mov    $0x1,%ecx
4d9d8a:	8b c3                	mov    %ebx,%eax
4d9d8c:	e8 17 fa ff ff       	call   0x4d97a8
4d9d91:	8d 45 f4             	lea    -0xc(%ebp),%eax
4d9d94:	50                   	push   %eax
4d9d95:	8b 45 08             	mov    0x8(%ebp),%eax
4d9d98:	50                   	push   %eax
4d9d99:	8b cb                	mov    %ebx,%ecx
4d9d9b:	8b 55 fc             	mov    -0x4(%ebp),%edx
4d9d9e:	8b c7                	mov    %edi,%eax
4d9da0:	e8 bb fc ff ff       	call   0x4d9a60
4d9da5:	8b 45 f0             	mov    -0x10(%ebp),%eax
4d9da8:	e8 ff 89 f2 ff       	call   0x4027ac
4d9dad:	89 06                	mov    %eax,(%esi)
4d9daf:	8b 06                	mov    (%esi),%eax
4d9db1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4d9db4:	8b d7                	mov    %edi,%edx
4d9db6:	e8 05 e1 f2 ff       	call   0x407ec0
4d9dbb:	eb 51                	jmp    0x4d9e0e
4d9dbd:	85 ff                	test   %edi,%edi
4d9dbf:	74 4d                	je     0x4d9e0e
4d9dc1:	6a 01                	push   $0x1
4d9dc3:	8b 45 08             	mov    0x8(%ebp),%eax
4d9dc6:	50                   	push   %eax
4d9dc7:	8d 55 f4             	lea    -0xc(%ebp),%edx
4d9dca:	b9 0c 00 00 00       	mov    $0xc,%ecx
4d9dcf:	8b c3                	mov    %ebx,%eax
4d9dd1:	e8 d2 f9 ff ff       	call   0x4d97a8
4d9dd6:	6a 00                	push   $0x0
4d9dd8:	8b 45 08             	mov    0x8(%ebp),%eax
4d9ddb:	50                   	push   %eax
4d9ddc:	8d 55 f4             	lea    -0xc(%ebp),%edx
4d9ddf:	b9 01 00 00 00       	mov    $0x1,%ecx
4d9de4:	8b c3                	mov    %ebx,%eax
4d9de6:	e8 bd f9 ff ff       	call   0x4d97a8
4d9deb:	8d 45 f4             	lea    -0xc(%ebp),%eax
4d9dee:	50                   	push   %eax
4d9def:	8b 45 fc             	mov    -0x4(%ebp),%eax
4d9df2:	50                   	push   %eax
4d9df3:	8b 45 08             	mov    0x8(%ebp),%eax
4d9df6:	50                   	push   %eax
4d9df7:	8b 16                	mov    (%esi),%edx
4d9df9:	8b cb                	mov    %ebx,%ecx
4d9dfb:	8b c7                	mov    %edi,%eax
4d9dfd:	e8 d6 fc ff ff       	call   0x4d9ad8
4d9e02:	8b 06                	mov    (%esi),%eax
4d9e04:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4d9e07:	8b d7                	mov    %edi,%edx
4d9e09:	e8 b2 e0 f2 ff       	call   0x407ec0
4d9e0e:	85 ff                	test   %edi,%edi
4d9e10:	75 20                	jne    0x4d9e32
4d9e12:	6a 01                	push   $0x1
4d9e14:	8b 45 08             	mov    0x8(%ebp),%eax
4d9e17:	50                   	push   %eax
4d9e18:	8d 55 f4             	lea    -0xc(%ebp),%edx
4d9e1b:	b9 0c 00 00 00       	mov    $0xc,%ecx
4d9e20:	8b c3                	mov    %ebx,%eax
4d9e22:	e8 81 f9 ff ff       	call   0x4d97a8
4d9e27:	8b 06                	mov    (%esi),%eax
4d9e29:	e8 9e 89 f2 ff       	call   0x4027cc
4d9e2e:	33 c0                	xor    %eax,%eax
4d9e30:	89 06                	mov    %eax,(%esi)
4d9e32:	8b 45 f4             	mov    -0xc(%ebp),%eax
4d9e35:	c1 e8 03             	shr    $0x3,%eax
4d9e38:	f6 45 f4 07          	testb  $0x7,-0xc(%ebp)
4d9e3c:	74 1a                	je     0x4d9e58
4d9e3e:	8b d0                	mov    %eax,%edx
4d9e40:	c1 e2 03             	shl    $0x3,%edx
4d9e43:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4d9e46:	2b ca                	sub    %edx,%ecx
4d9e48:	8b 55 14             	mov    0x14(%ebp),%edx
4d9e4b:	89 0a                	mov    %ecx,(%edx)
4d9e4d:	8b d3                	mov    %ebx,%edx
4d9e4f:	03 d0                	add    %eax,%edx
4d9e51:	8a 12                	mov    (%edx),%dl
4d9e53:	8b 4d 18             	mov    0x18(%ebp),%ecx
4d9e56:	88 11                	mov    %dl,(%ecx)