425aef:	0f b6 36             	movzbl (%esi),%esi
425af2:	8b 55 08             	mov    0x8(%ebp),%edx
425af5:	8b 52 08             	mov    0x8(%edx),%edx
425af8:	2b f0                	sub    %eax,%esi
425afa:	8b 45 fc             	mov    -0x4(%ebp),%eax
425afd:	0f b6 40 01          	movzbl 0x1(%eax),%eax
425b01:	8b 55 08             	mov    0x8(%ebp),%edx
425b04:	8b 52 08             	mov    0x8(%edx),%edx
425b07:	2b 42 04             	sub    0x4(%edx),%eax
425b0a:	89 45 f8             	mov    %eax,-0x8(%ebp)
425b0d:	8b c1                	mov    %ecx,%eax
425b0f:	99                   	cltd
425b10:	33 c2                	xor    %edx,%eax
425b12:	2b c2                	sub    %edx,%eax
425b14:	8b f8                	mov    %eax,%edi
425b16:	8b c6                	mov    %esi,%eax
425b18:	99                   	cltd
425b19:	33 c2                	xor    %edx,%eax
425b1b:	2b c2                	sub    %edx,%eax
425b1d:	3b f8                	cmp    %eax,%edi
425b1f:	7f 26                	jg     0x425b47
425b21:	85 c9                	test   %ecx,%ecx
425b23:	7e 04                	jle    0x425b29
425b25:	3b f1                	cmp    %ecx,%esi
425b27:	7c 1e                	jl     0x425b47
425b29:	8b c3                	mov    %ebx,%eax
425b2b:	99                   	cltd
425b2c:	33 c2                	xor    %edx,%eax
425b2e:	2b c2                	sub    %edx,%eax
425b30:	8b c8                	mov    %eax,%ecx
425b32:	8b 45 f8             	mov    -0x8(%ebp),%eax
425b35:	99                   	cltd
425b36:	33 c2                	xor    %edx,%eax
425b38:	2b c2                	sub    %edx,%eax
425b3a:	3b c8                	cmp    %eax,%ecx
425b3c:	7f 09                	jg     0x425b47
425b3e:	85 db                	test   %ebx,%ebx
425b40:	7e 09                	jle    0x425b4b
425b42:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
425b45:	7e 04                	jle    0x425b4b
425b47:	33 c0                	xor    %eax,%eax
425b49:	eb 02                	jmp    0x425b4d
425b4b:	b0 01                	mov    $0x1,%al
425b4d:	5f                   	pop    %edi
425b4e:	5e                   	pop    %esi
425b4f:	5b                   	pop    %ebx
425b50:	59                   	pop    %ecx
425b51:	59                   	pop    %ecx
425b52:	5d                   	pop    %ebp
425b53:	c3                   	ret
425b54:	55                   	push   %ebp
425b55:	8b ec                	mov    %esp,%ebp
425b57:	83 c4 90             	add    $0xffffff90,%esp
425b5a:	53                   	push   %ebx
425b5b:	56                   	push   %esi
425b5c:	57                   	push   %edi
425b5d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
425b60:	89 55 f8             	mov    %edx,-0x8(%ebp)
425b63:	89 45 fc             	mov    %eax,-0x4(%ebp)
425b66:	8b 5d 0c             	mov    0xc(%ebp),%ebx
425b69:	8b 45 f4             	mov    -0xc(%ebp),%eax
425b6c:	c1 e0 04             	shl    $0x4,%eax
425b6f:	89 45 ec             	mov    %eax,-0x14(%ebp)
425b72:	8b 45 ec             	mov    -0x14(%ebp),%eax
425b75:	e8 5a 22 fe ff       	call   0x407dd4
425b7a:	89 45 f0             	mov    %eax,-0x10(%ebp)
425b7d:	33 d2                	xor    %edx,%edx
425b7f:	55                   	push   %ebp
425b80:	68 4b 5e 42 00       	push   $0x425e4b
425b85:	64 ff 32             	push   %fs:(%edx)
425b88:	64 89 22             	mov    %esp,%fs:(%edx)
425b8b:	8b 55 f0             	mov    -0x10(%ebp),%edx
425b8e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
425b91:	8b 45 fc             	mov    -0x4(%ebp),%eax
425b94:	8b 30                	mov    (%eax),%esi
425b96:	ff 56 0c             	call   *0xc(%esi)
425b99:	8b 03                	mov    (%ebx),%eax
425b9b:	0b 43 04             	or     0x4(%ebx),%eax
425b9e:	75 1b                	jne    0x425bbb
425ba0:	6a 0b                	push   $0xb
425ba2:	e8 95 0d fe ff       	call   0x40693c
425ba7:	8b 55 08             	mov    0x8(%ebp),%edx
425baa:	89 02                	mov    %eax,(%edx)
425bac:	6a 0c                	push   $0xc
425bae:	e8 89 0d fe ff       	call   0x40693c
425bb3:	8b 55 08             	mov    0x8(%ebp),%edx
425bb6:	89 42 04             	mov    %eax,0x4(%edx)
425bb9:	eb 0d                	jmp    0x425bc8
425bbb:	8b 45 08             	mov    0x8(%ebp),%eax
425bbe:	8b 13                	mov    (%ebx),%edx
425bc0:	89 10                	mov    %edx,(%eax)
425bc2:	8b 53 04             	mov    0x4(%ebx),%edx
425bc5:	89 50 04             	mov    %edx,0x4(%eax)
425bc8:	6a 00                	push   $0x0
425bca:	e8 7d 0c fe ff       	call   0x40684c
425bcf:	89 45 d8             	mov    %eax,-0x28(%ebp)
425bd2:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
425bd6:	75 05                	jne    0x425bdd
425bd8:	e8 3b f4 ff ff       	call   0x425018
425bdd:	33 d2                	xor    %edx,%edx
425bdf:	55                   	push   %ebp
425be0:	68 3d 5c 42 00       	push   $0x425c3d
425be5:	64 ff 32             	push   %fs:(%edx)
425be8:	64 89 22             	mov    %esp,%fs:(%edx)
425beb:	6a 0e                	push   $0xe
425bed:	8b 45 d8             	mov    -0x28(%ebp),%eax
425bf0:	50                   	push   %eax
425bf1:	e8 8e 09 fe ff       	call   0x406584
425bf6:	8b d8                	mov    %eax,%ebx
425bf8:	6a 0c                	push   $0xc
425bfa:	8b 45 d8             	mov    -0x28(%ebp),%eax
425bfd:	50                   	push   %eax
425bfe:	e8 81 09 fe ff       	call   0x406584
425c03:	66 0f af d8          	imul   %ax,%bx
425c07:	8b c3                	mov    %ebx,%eax
425c09:	66 83 f8 08          	cmp    $0x8,%ax
425c0d:	76 09                	jbe    0x425c18
425c0f:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
425c16:	eb 0c                	jmp    0x425c24
425c18:	8b c8                	mov    %eax,%ecx
425c1a:	b8 01 00 00 00       	mov    $0x1,%eax
425c1f:	d3 e0                	shl    %cl,%eax
425c21:	89 45 e4             	mov    %eax,-0x1c(%ebp)
425c24:	33 c0                	xor    %eax,%eax
425c26:	5a                   	pop    %edx
425c27:	59                   	pop    %ecx
425c28:	59                   	pop    %ecx
425c29:	64 89 10             	mov    %edx,%fs:(%eax)
425c2c:	68 44 5c 42 00       	push   $0x425c44
425c31:	8b 45 d8             	mov    -0x28(%ebp),%eax
425c34:	50                   	push   %eax
425c35:	6a 00                	push   $0x0
425c37:	e8 58 0e fe ff       	call   0x406a94
425c3c:	c3                   	ret
425c3d:	e9 12 de fd ff       	jmp    0x403a54
425c42:	eb ed                	jmp    0x425c31
425c44:	33 c0                	xor    %eax,%eax
425c46:	89 45 dc             	mov    %eax,-0x24(%ebp)
425c49:	8b 45 f0             	mov    -0x10(%ebp),%eax
425c4c:	0f b7 40 02          	movzwl 0x2(%eax),%eax
425c50:	e8 63 fe ff ff       	call   0x425ab8
425c55:	89 45 e0             	mov    %eax,-0x20(%ebp)
425c58:	8b 7d f4             	mov    -0xc(%ebp),%edi
425c5b:	4f                   	dec    %edi
425c5c:	85 ff                	test   %edi,%edi
425c5e:	7e 4c                	jle    0x425cac
425c60:	be 01 00 00 00       	mov    $0x1,%esi
425c65:	8b c6                	mov    %esi,%eax
425c67:	03 c0                	add    %eax,%eax
425c69:	8b 55 f0             	mov    -0x10(%ebp),%edx
425c6c:	0f b7 44 c2 02       	movzwl 0x2(%edx,%eax,8),%eax
425c71:	e8 42 fe ff ff       	call   0x425ab8
425c76:	8b d8                	mov    %eax,%ebx
425c78:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
425c7b:	7f 2b                	jg     0x425ca8
425c7d:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
425c80:	7c 26                	jl     0x425ca8
425c82:	55                   	push   %ebp
425c83:	8b c6                	mov    %esi,%eax
425c85:	03 c0                	add    %eax,%eax
425c87:	8b 55 f0             	mov    -0x10(%ebp),%edx
425c8a:	8d 14 c2             	lea    (%edx,%eax,8),%edx
425c8d:	8b 45 dc             	mov    -0x24(%ebp),%eax
425c90:	03 c0                	add    %eax,%eax
425c92:	8b 4d f0             	mov    -0x10(%ebp),%ecx
425c95:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
425c98:	e8 27 fe ff ff       	call   0x425ac4
425c9d:	59                   	pop    %ecx
425c9e:	84 c0                	test   %al,%al
425ca0:	74 06                	je     0x425ca8
425ca2:	89 75 dc             	mov    %esi,-0x24(%ebp)
425ca5:	89 5d e0             	mov    %ebx,-0x20(%ebp)
425ca8:	46                   	inc    %esi
425ca9:	4f                   	dec    %edi
425caa:	75 b9                	jne    0x425c65
425cac:	8b 45 dc             	mov    -0x24(%ebp),%eax
425caf:	03 c0                	add    %eax,%eax
425cb1:	8b 55 f0             	mov    -0x10(%ebp),%edx
425cb4:	8d 04 c2             	lea    (%edx,%eax,8),%eax
425cb7:	89 45 c0             	mov    %eax,-0x40(%ebp)
425cba:	8b 45 c0             	mov    -0x40(%ebp),%eax
425cbd:	0f b6 00             	movzbl (%eax),%eax
425cc0:	8b 55 08             	mov    0x8(%ebp),%edx
425cc3:	89 02                	mov    %eax,(%edx)
425cc5:	8b 45 c0             	mov    -0x40(%ebp),%eax
425cc8:	0f b6 40 01          	movzbl 0x1(%eax),%eax
425ccc:	8b 55 08             	mov    0x8(%ebp),%edx
425ccf:	89 42 04             	mov    %eax,0x4(%edx)
425cd2:	8b 45 c0             	mov    -0x40(%ebp),%eax
425cd5:	8b 40 08             	mov    0x8(%eax),%eax
425cd8:	e8 f7 20 fe ff       	call   0x407dd4
425cdd:	89 45 d4             	mov    %eax,-0x2c(%ebp)
425ce0:	33 c0                	xor    %eax,%eax
425ce2:	55                   	push   %ebp
425ce3:	68 2b 5e 42 00       	push   $0x425e2b
425ce8:	64 ff 30             	push   %fs:(%eax)
425ceb:	64 89 20             	mov    %esp,%fs:(%eax)
425cee:	8b 45 c0             	mov    -0x40(%ebp),%eax
425cf1:	8b 50 0c             	mov    0xc(%eax),%edx
425cf4:	8b 45 ec             	mov    -0x14(%ebp),%eax
425cf7:	03 45 10             	add    0x10(%ebp),%eax
425cfa:	2b d0                	sub    %eax,%edx
425cfc:	66 b9 01 00          	mov    $0x1,%cx
425d00:	8b 45 fc             	mov    -0x4(%ebp),%eax
425d03:	8b 18                	mov    (%eax),%ebx
425d05:	ff 53 14             	call   *0x14(%ebx)
425d08:	8b 45 c0             	mov    -0x40(%ebp),%eax
425d0b:	8b 48 08             	mov    0x8(%eax),%ecx
425d0e:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
425d11:	8b d3                	mov    %ebx,%edx
425d13:	8b 45 fc             	mov    -0x4(%ebp),%eax
425d16:	8b 30                	mov    (%eax),%esi
425d18:	ff 56 0c             	call   *0xc(%esi)
425d1b:	8b 45 08             	mov    0x8(%ebp),%eax
425d1e:	50                   	push   %eax
425d1f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
425d22:	8d 55 cc             	lea    -0x34(%ebp),%edx
425d25:	8b c3                	mov    %ebx,%eax
425d27:	e8 d0 fb ff ff       	call   0x4258fc
425d2c:	8d 45 90             	lea    -0x70(%ebp),%eax
425d2f:	50                   	push   %eax
425d30:	6a 18                	push   $0x18
425d32:	8b 45 c8             	mov    -0x38(%ebp),%eax
425d35:	50                   	push   %eax
425d36:	e8 69 08 fe ff       	call   0x4065a4
425d3b:	8d 45 a8             	lea    -0x58(%ebp),%eax
425d3e:	50                   	push   %eax
425d3f:	6a 18                	push   $0x18
425d41:	8b 45 cc             	mov    -0x34(%ebp),%eax
425d44:	50                   	push   %eax
425d45:	e8 5a 08 fe ff       	call   0x4065a4
425d4a:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
425d4d:	0f af 5d 98          	imul   -0x68(%ebp),%ebx
425d51:	0f b7 45 a0          	movzwl -0x60(%ebp),%eax
425d55:	0f af d8             	imul   %eax,%ebx
425d58:	8b 45 b4             	mov    -0x4c(%ebp),%eax
425d5b:	f7 6d b0             	imull  -0x50(%ebp)
425d5e:	0f b7 55 b8          	movzwl -0x48(%ebp),%edx
425d62:	f7 ea                	imul   %edx
425d64:	89 45 c4             	mov    %eax,-0x3c(%ebp)
425d67:	8b 45 c4             	mov    -0x3c(%ebp),%eax
425d6a:	03 c3                	add    %ebx,%eax
425d6c:	89 45 e8             	mov    %eax,-0x18(%ebp)
425d6f:	8b 45 e8             	mov    -0x18(%ebp),%eax
425d72:	e8 5d 20 fe ff       	call   0x407dd4
425d77:	89 45 d0             	mov    %eax,-0x30(%ebp)
425d7a:	33 c0                	xor    %eax,%eax
425d7c:	55                   	push   %ebp
425d7d:	68 08 5e 42 00       	push   $0x425e08
425d82:	64 ff 30             	push   %fs:(%eax)
425d85:	64 89 20             	mov    %esp,%fs:(%eax)
425d88:	8b 7d d0             	mov    -0x30(%ebp),%edi
425d8b:	8b 75 d0             	mov    -0x30(%ebp),%esi
425d8e:	03 f3                	add    %ebx,%esi
425d90:	57                   	push   %edi
425d91:	53                   	push   %ebx
425d92:	8b 45 c8             	mov    -0x38(%ebp),%eax
425d95:	50                   	push   %eax
425d96:	e8 b1 07 fe ff       	call   0x40654c
425d9b:	56                   	push   %esi
425d9c:	8b 45 c4             	mov    -0x3c(%ebp),%eax
425d9f:	50                   	push   %eax
425da0:	8b 45 cc             	mov    -0x34(%ebp),%eax
425da3:	50                   	push   %eax
425da4:	e8 a3 07 fe ff       	call   0x40654c
425da9:	8b 45 cc             	mov    -0x34(%ebp),%eax
425dac:	50                   	push   %eax
425dad:	e8 8a 07 fe ff       	call   0x40653c
425db2:	8b 45 c8             	mov    -0x38(%ebp),%eax
425db5:	50                   	push   %eax
425db6:	e8 81 07 fe ff       	call   0x40653c
425dbb:	56                   	push   %esi
425dbc:	57                   	push   %edi
425dbd:	8a 45 ba             	mov    -0x46(%ebp),%al
425dc0:	50                   	push   %eax
425dc1:	8a 45 b8             	mov    -0x48(%ebp),%al
425dc4:	50                   	push   %eax
425dc5:	8b 45 08             	mov    0x8(%ebp),%eax
425dc8:	8b 40 04             	mov    0x4(%eax),%eax
425dcb:	50                   	push   %eax
425dcc:	8b 45 08             	mov    0x8(%ebp),%eax
425dcf:	8b 00                	mov    (%eax),%eax
425dd1:	50                   	push   %eax
425dd2:	a1 64 56 47 00       	mov    0x475664,%eax
425dd7:	50                   	push   %eax
425dd8:	e8 4f 09 fe ff       	call   0x40672c
425ddd:	8b 55 f8             	mov    -0x8(%ebp),%edx
425de0:	89 02                	mov    %eax,(%edx)
425de2:	8b 45 f8             	mov    -0x8(%ebp),%eax
425de5:	83 38 00             	cmpl   $0x0,(%eax)
425de8:	75 05                	jne    0x425def
425dea:	e8 7d f2 ff ff       	call   0x42506c
425def:	33 c0                	xor    %eax,%eax
425df1:	5a                   	pop    %edx
425df2:	59                   	pop    %ecx
425df3:	59                   	pop    %ecx
425df4:	64 89 10             	mov    %edx,%fs:(%eax)
425df7:	68 0f 5e 42 00       	push   $0x425e0f
425dfc:	8b 55 e8             	mov    -0x18(%ebp),%edx
425dff:	8b 45 d0             	mov    -0x30(%ebp),%eax
425e02:	e8 0d c9 fd ff       	call   0x402714
425e07:	c3                   	ret
425e08:	e9 47 dc fd ff       	jmp    0x403a54
425e0d:	eb ed                	jmp    0x425dfc
425e0f:	33 c0                	xor    %eax,%eax
425e11:	5a                   	pop    %edx
425e12:	59                   	pop    %ecx
425e13:	59                   	pop    %ecx
425e14:	64 89 10             	mov    %edx,%fs:(%eax)
425e17:	68 32 5e 42 00       	push   $0x425e32
425e1c:	8b 45 c0             	mov    -0x40(%ebp),%eax
425e1f:	8b 50 08             	mov    0x8(%eax),%edx
425e22:	8b 45 d4             	mov    -0x2c(%ebp),%eax
425e25:	e8 ea c8 fd ff       	call   0x402714
425e2a:	c3                   	ret
425e2b:	e9 24 dc fd ff       	jmp    0x403a54
425e30:	eb ea                	jmp    0x425e1c
425e32:	33 c0                	xor    %eax,%eax
425e34:	5a                   	pop    %edx
425e35:	59                   	pop    %ecx
425e36:	59                   	pop    %ecx
425e37:	64 89 10             	mov    %edx,%fs:(%eax)
425e3a:	68 52 5e 42 00       	push   $0x425e52
425e3f:	8b 55 ec             	mov    -0x14(%ebp),%edx
425e42:	8b 45 f0             	mov    -0x10(%ebp),%eax
425e45:	e8 ca c8 fd ff       	call   0x402714
425e4a:	c3                   	ret
425e4b:	e9 04 dc fd ff       	jmp    0x403a54
425e50:	eb ed                	jmp    0x425e3f
425e52:	5f                   	pop    %edi
425e53:	5e                   	pop    %esi
425e54:	5b                   	pop    %ebx
425e55:	8b e5                	mov    %ebp,%esp
425e57:	5d                   	pop    %ebp
425e58:	c2 0c 00             	ret    $0xc
425e5b:	90                   	nop
425e5c:	33 c9                	xor    %ecx,%ecx
425e5e:	8b d0                	mov    %eax,%edx
425e60:	83 c0 14             	add    $0x14,%eax
425e63:	eb 06                	jmp    0x425e6b
425e65:	66 33 0a             	xor    (%edx),%cx
425e68:	83 c2 02             	add    $0x2,%edx
425e6b:	3b d0                	cmp    %eax,%edx
425e6d:	7c f6                	jl     0x425e65
425e6f:	8b c1                	mov    %ecx,%eax
425e71:	c3                   	ret
425e72:	8b c0                	mov    %eax,%eax
425e74:	53                   	push   %ebx
425e75:	56                   	push   %esi
425e76:	57                   	push   %edi