429a00:	64 89 20             	mov    %esp,%fs:(%eax)
429a03:	8b 55 08             	mov    0x8(%ebp),%edx
429a06:	b1 01                	mov    $0x1,%cl
429a08:	8b 45 f4             	mov    -0xc(%ebp),%eax
429a0b:	e8 b8 f6 ff ff       	call   0x4290c8
429a10:	8b 55 f8             	mov    -0x8(%ebp),%edx
429a13:	89 02                	mov    %eax,(%edx)
429a15:	33 c0                	xor    %eax,%eax
429a17:	5a                   	pop    %edx
429a18:	59                   	pop    %ecx
429a19:	59                   	pop    %ecx
429a1a:	64 89 10             	mov    %edx,%fs:(%eax)
429a1d:	68 33 9a 42 00       	push   $0x429a33
429a22:	8b 45 f4             	mov    -0xc(%ebp),%eax
429a25:	50                   	push   %eax
429a26:	e8 e5 da fd ff       	call   0x407510
429a2b:	c3                   	ret
429a2c:	e9 db a7 fd ff       	jmp    0x40420c
429a31:	eb ef                	jmp    0x429a22
429a33:	33 c0                	xor    %eax,%eax
429a35:	5a                   	pop    %edx
429a36:	59                   	pop    %ecx
429a37:	59                   	pop    %ecx
429a38:	64 89 10             	mov    %edx,%fs:(%eax)
429a3b:	68 53 9a 42 00       	push   $0x429a53
429a40:	8b 45 f0             	mov    -0x10(%ebp),%eax
429a43:	50                   	push   %eax
429a44:	6a 00                	push   $0x0
429a46:	e8 8d e2 fd ff       	call   0x407cd8
429a4b:	c3                   	ret
429a4c:	e9 bb a7 fd ff       	jmp    0x40420c
429a51:	eb ed                	jmp    0x429a40
429a53:	5f                   	pop    %edi
429a54:	5e                   	pop    %esi
429a55:	5b                   	pop    %ebx
429a56:	8b e5                	mov    %ebp,%esp
429a58:	5d                   	pop    %ebp
429a59:	c2 04 00             	ret    $0x4
429a5c:	85 c0                	test   %eax,%eax
429a5e:	75 05                	jne    0x429a65
429a60:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
429a65:	c3                   	ret
429a66:	8b c0                	mov    %eax,%eax
429a68:	55                   	push   %ebp
429a69:	8b ec                	mov    %esp,%ebp
429a6b:	83 c4 f8             	add    $0xfffffff8,%esp
429a6e:	53                   	push   %ebx
429a6f:	56                   	push   %esi
429a70:	57                   	push   %edi
429a71:	89 45 fc             	mov    %eax,-0x4(%ebp)
429a74:	33 c9                	xor    %ecx,%ecx
429a76:	8a 0a                	mov    (%edx),%cl
429a78:	8b 45 08             	mov    0x8(%ebp),%eax
429a7b:	8b 40 08             	mov    0x8(%eax),%eax
429a7e:	8b 00                	mov    (%eax),%eax
429a80:	2b c8                	sub    %eax,%ecx
429a82:	33 db                	xor    %ebx,%ebx
429a84:	8a 5a 01             	mov    0x1(%edx),%bl
429a87:	8b 55 08             	mov    0x8(%ebp),%edx
429a8a:	8b 52 08             	mov    0x8(%edx),%edx
429a8d:	2b 5a 04             	sub    0x4(%edx),%ebx
429a90:	8b 75 fc             	mov    -0x4(%ebp),%esi
429a93:	0f b6 36             	movzbl (%esi),%esi
429a96:	8b 55 08             	mov    0x8(%ebp),%edx
429a99:	8b 52 08             	mov    0x8(%edx),%edx
429a9c:	2b f0                	sub    %eax,%esi
429a9e:	8b 45 fc             	mov    -0x4(%ebp),%eax
429aa1:	0f b6 40 01          	movzbl 0x1(%eax),%eax
429aa5:	8b 55 08             	mov    0x8(%ebp),%edx
429aa8:	8b 52 08             	mov    0x8(%edx),%edx
429aab:	2b 42 04             	sub    0x4(%edx),%eax
429aae:	89 45 f8             	mov    %eax,-0x8(%ebp)
429ab1:	8b c1                	mov    %ecx,%eax
429ab3:	99                   	cltd
429ab4:	33 c2                	xor    %edx,%eax
429ab6:	2b c2                	sub    %edx,%eax
429ab8:	8b f8                	mov    %eax,%edi
429aba:	8b c6                	mov    %esi,%eax
429abc:	99                   	cltd
429abd:	33 c2                	xor    %edx,%eax
429abf:	2b c2                	sub    %edx,%eax
429ac1:	3b f8                	cmp    %eax,%edi
429ac3:	7f 26                	jg     0x429aeb
429ac5:	85 c9                	test   %ecx,%ecx
429ac7:	7e 04                	jle    0x429acd
429ac9:	3b f1                	cmp    %ecx,%esi
429acb:	7c 1e                	jl     0x429aeb
429acd:	8b c3                	mov    %ebx,%eax
429acf:	99                   	cltd
429ad0:	33 c2                	xor    %edx,%eax
429ad2:	2b c2                	sub    %edx,%eax
429ad4:	8b c8                	mov    %eax,%ecx
429ad6:	8b 45 f8             	mov    -0x8(%ebp),%eax
429ad9:	99                   	cltd
429ada:	33 c2                	xor    %edx,%eax
429adc:	2b c2                	sub    %edx,%eax
429ade:	3b c8                	cmp    %eax,%ecx
429ae0:	7f 09                	jg     0x429aeb
429ae2:	85 db                	test   %ebx,%ebx
429ae4:	7e 09                	jle    0x429aef
429ae6:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
429ae9:	7e 04                	jle    0x429aef
429aeb:	33 c0                	xor    %eax,%eax
429aed:	eb 02                	jmp    0x429af1
429aef:	b0 01                	mov    $0x1,%al
429af1:	5f                   	pop    %edi
429af2:	5e                   	pop    %esi
429af3:	5b                   	pop    %ebx
429af4:	59                   	pop    %ecx
429af5:	59                   	pop    %ecx
429af6:	5d                   	pop    %ebp
429af7:	c3                   	ret
429af8:	55                   	push   %ebp
429af9:	8b ec                	mov    %esp,%ebp
429afb:	83 c4 90             	add    $0xffffff90,%esp
429afe:	53                   	push   %ebx
429aff:	56                   	push   %esi
429b00:	57                   	push   %edi
429b01:	89 4d f4             	mov    %ecx,-0xc(%ebp)
429b04:	89 55 f8             	mov    %edx,-0x8(%ebp)
429b07:	89 45 fc             	mov    %eax,-0x4(%ebp)
429b0a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
429b0d:	8b 45 f4             	mov    -0xc(%ebp),%eax
429b10:	c1 e0 04             	shl    $0x4,%eax
429b13:	89 45 ec             	mov    %eax,-0x14(%ebp)
429b16:	8b 45 ec             	mov    -0x14(%ebp),%eax
429b19:	e8 96 f5 fd ff       	call   0x4090b4
429b1e:	89 45 f0             	mov    %eax,-0x10(%ebp)
429b21:	33 d2                	xor    %edx,%edx
429b23:	55                   	push   %ebp
429b24:	68 ef 9d 42 00       	push   $0x429def
429b29:	64 ff 32             	push   %fs:(%edx)
429b2c:	64 89 22             	mov    %esp,%fs:(%edx)
429b2f:	8b 55 f0             	mov    -0x10(%ebp),%edx
429b32:	8b 4d ec             	mov    -0x14(%ebp),%ecx
429b35:	8b 45 fc             	mov    -0x4(%ebp),%eax
429b38:	8b 30                	mov    (%eax),%esi
429b3a:	ff 56 08             	call   *0x8(%esi)
429b3d:	8b 03                	mov    (%ebx),%eax
429b3f:	0b 43 04             	or     0x4(%ebx),%eax
429b42:	75 1b                	jne    0x429b5f
429b44:	6a 0b                	push   $0xb
429b46:	e8 d5 df fd ff       	call   0x407b20
429b4b:	8b 55 08             	mov    0x8(%ebp),%edx
429b4e:	89 02                	mov    %eax,(%edx)
429b50:	6a 0c                	push   $0xc
429b52:	e8 c9 df fd ff       	call   0x407b20
429b57:	8b 55 08             	mov    0x8(%ebp),%edx
429b5a:	89 42 04             	mov    %eax,0x4(%edx)
429b5d:	eb 0d                	jmp    0x429b6c
429b5f:	8b 45 08             	mov    0x8(%ebp),%eax
429b62:	8b 13                	mov    (%ebx),%edx
429b64:	89 10                	mov    %edx,(%eax)
429b66:	8b 53 04             	mov    0x4(%ebx),%edx
429b69:	89 50 04             	mov    %edx,0x4(%eax)
429b6c:	6a 00                	push   $0x0
429b6e:	e8 9d de fd ff       	call   0x407a10
429b73:	89 45 d8             	mov    %eax,-0x28(%ebp)
429b76:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
429b7a:	75 05                	jne    0x429b81
429b7c:	e8 3b f4 ff ff       	call   0x428fbc
429b81:	33 d2                	xor    %edx,%edx
429b83:	55                   	push   %ebp
429b84:	68 e1 9b 42 00       	push   $0x429be1
429b89:	64 ff 32             	push   %fs:(%edx)
429b8c:	64 89 22             	mov    %esp,%fs:(%edx)
429b8f:	6a 0e                	push   $0xe
429b91:	8b 45 d8             	mov    -0x28(%ebp),%eax
429b94:	50                   	push   %eax
429b95:	e8 1e da fd ff       	call   0x4075b8
429b9a:	8b d8                	mov    %eax,%ebx
429b9c:	6a 0c                	push   $0xc
429b9e:	8b 45 d8             	mov    -0x28(%ebp),%eax
429ba1:	50                   	push   %eax
429ba2:	e8 11 da fd ff       	call   0x4075b8
429ba7:	66 0f af d8          	imul   %ax,%bx
429bab:	8b c3                	mov    %ebx,%eax
429bad:	66 83 f8 08          	cmp    $0x8,%ax
429bb1:	76 09                	jbe    0x429bbc
429bb3:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
429bba:	eb 0c                	jmp    0x429bc8
429bbc:	8b c8                	mov    %eax,%ecx
429bbe:	b8 01 00 00 00       	mov    $0x1,%eax
429bc3:	d3 e0                	shl    %cl,%eax
429bc5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
429bc8:	33 c0                	xor    %eax,%eax
429bca:	5a                   	pop    %edx
429bcb:	59                   	pop    %ecx
429bcc:	59                   	pop    %ecx
429bcd:	64 89 10             	mov    %edx,%fs:(%eax)
429bd0:	68 e8 9b 42 00       	push   $0x429be8
429bd5:	8b 45 d8             	mov    -0x28(%ebp),%eax
429bd8:	50                   	push   %eax
429bd9:	6a 00                	push   $0x0
429bdb:	e8 f8 e0 fd ff       	call   0x407cd8
429be0:	c3                   	ret
429be1:	e9 26 a6 fd ff       	jmp    0x40420c
429be6:	eb ed                	jmp    0x429bd5
429be8:	33 c0                	xor    %eax,%eax
429bea:	89 45 dc             	mov    %eax,-0x24(%ebp)
429bed:	8b 45 f0             	mov    -0x10(%ebp),%eax
429bf0:	0f b7 40 02          	movzwl 0x2(%eax),%eax
429bf4:	e8 63 fe ff ff       	call   0x429a5c
429bf9:	89 45 e0             	mov    %eax,-0x20(%ebp)
429bfc:	8b 7d f4             	mov    -0xc(%ebp),%edi
429bff:	4f                   	dec    %edi
429c00:	85 ff                	test   %edi,%edi
429c02:	7e 4c                	jle    0x429c50
429c04:	be 01 00 00 00       	mov    $0x1,%esi
429c09:	8b c6                	mov    %esi,%eax
429c0b:	03 c0                	add    %eax,%eax
429c0d:	8b 55 f0             	mov    -0x10(%ebp),%edx
429c10:	0f b7 44 c2 02       	movzwl 0x2(%edx,%eax,8),%eax
429c15:	e8 42 fe ff ff       	call   0x429a5c
429c1a:	8b d8                	mov    %eax,%ebx
429c1c:	3b 5d e4             	cmp    -0x1c(%ebp),%ebx
429c1f:	7f 2b                	jg     0x429c4c
429c21:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
429c24:	7c 26                	jl     0x429c4c
429c26:	55                   	push   %ebp
429c27:	8b c6                	mov    %esi,%eax
429c29:	03 c0                	add    %eax,%eax
429c2b:	8b 55 f0             	mov    -0x10(%ebp),%edx
429c2e:	8d 14 c2             	lea    (%edx,%eax,8),%edx
429c31:	8b 45 dc             	mov    -0x24(%ebp),%eax
429c34:	03 c0                	add    %eax,%eax
429c36:	8b 4d f0             	mov    -0x10(%ebp),%ecx
429c39:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
429c3c:	e8 27 fe ff ff       	call   0x429a68
429c41:	59                   	pop    %ecx
429c42:	84 c0                	test   %al,%al
429c44:	74 06                	je     0x429c4c
429c46:	89 75 dc             	mov    %esi,-0x24(%ebp)
429c49:	89 5d e0             	mov    %ebx,-0x20(%ebp)
429c4c:	46                   	inc    %esi
429c4d:	4f                   	dec    %edi
429c4e:	75 b9                	jne    0x429c09
429c50:	8b 45 dc             	mov    -0x24(%ebp),%eax
429c53:	03 c0                	add    %eax,%eax
429c55:	8b 55 f0             	mov    -0x10(%ebp),%edx
429c58:	8d 04 c2             	lea    (%edx,%eax,8),%eax
429c5b:	89 45 c0             	mov    %eax,-0x40(%ebp)
429c5e:	8b 45 c0             	mov    -0x40(%ebp),%eax
429c61:	0f b6 00             	movzbl (%eax),%eax
429c64:	8b 55 08             	mov    0x8(%ebp),%edx
429c67:	89 02                	mov    %eax,(%edx)
429c69:	8b 45 c0             	mov    -0x40(%ebp),%eax
429c6c:	0f b6 40 01          	movzbl 0x1(%eax),%eax
429c70:	8b 55 08             	mov    0x8(%ebp),%edx
429c73:	89 42 04             	mov    %eax,0x4(%edx)
429c76:	8b 45 c0             	mov    -0x40(%ebp),%eax
429c79:	8b 40 08             	mov    0x8(%eax),%eax
429c7c:	e8 33 f4 fd ff       	call   0x4090b4
429c81:	89 45 d4             	mov    %eax,-0x2c(%ebp)
429c84:	33 c0                	xor    %eax,%eax
429c86:	55                   	push   %ebp
429c87:	68 cf 9d 42 00       	push   $0x429dcf
429c8c:	64 ff 30             	push   %fs:(%eax)
429c8f:	64 89 20             	mov    %esp,%fs:(%eax)
429c92:	8b 45 c0             	mov    -0x40(%ebp),%eax
429c95:	8b 50 0c             	mov    0xc(%eax),%edx
429c98:	8b 45 ec             	mov    -0x14(%ebp),%eax
429c9b:	03 45 10             	add    0x10(%ebp),%eax
429c9e:	2b d0                	sub    %eax,%edx
429ca0:	66 b9 01 00          	mov    $0x1,%cx
429ca4:	8b 45 fc             	mov    -0x4(%ebp),%eax
429ca7:	8b 18                	mov    (%eax),%ebx
429ca9:	ff 53 10             	call   *0x10(%ebx)
429cac:	8b 45 c0             	mov    -0x40(%ebp),%eax
429caf:	8b 48 08             	mov    0x8(%eax),%ecx
429cb2:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
429cb5:	8b d3                	mov    %ebx,%edx
429cb7:	8b 45 fc             	mov    -0x4(%ebp),%eax
429cba:	8b 30                	mov    (%eax),%esi
429cbc:	ff 56 08             	call   *0x8(%esi)
429cbf:	8b 45 08             	mov    0x8(%ebp),%eax
429cc2:	50                   	push   %eax
429cc3:	8d 4d c8             	lea    -0x38(%ebp),%ecx
429cc6:	8d 55 cc             	lea    -0x34(%ebp),%edx
429cc9:	8b c3                	mov    %ebx,%eax
429ccb:	e8 d0 fb ff ff       	call   0x4298a0
429cd0:	8d 45 90             	lea    -0x70(%ebp),%eax
429cd3:	50                   	push   %eax
429cd4:	6a 18                	push   $0x18
429cd6:	8b 45 c8             	mov    -0x38(%ebp),%eax
429cd9:	50                   	push   %eax
429cda:	e8 11 d9 fd ff       	call   0x4075f0
429cdf:	8d 45 a8             	lea    -0x58(%ebp),%eax
429ce2:	50                   	push   %eax
429ce3:	6a 18                	push   $0x18
429ce5:	8b 45 cc             	mov    -0x34(%ebp),%eax
429ce8:	50                   	push   %eax
429ce9:	e8 02 d9 fd ff       	call   0x4075f0
429cee:	8b 5d 9c             	mov    -0x64(%ebp),%ebx
429cf1:	0f af 5d 98          	imul   -0x68(%ebp),%ebx
429cf5:	0f b7 45 a0          	movzwl -0x60(%ebp),%eax
429cf9:	0f af d8             	imul   %eax,%ebx
429cfc:	8b 45 b4             	mov    -0x4c(%ebp),%eax
429cff:	f7 6d b0             	imull  -0x50(%ebp)
429d02:	0f b7 55 b8          	movzwl -0x48(%ebp),%edx
429d06:	f7 ea                	imul   %edx
429d08:	89 45 c4             	mov    %eax,-0x3c(%ebp)
429d0b:	8b 45 c4             	mov    -0x3c(%ebp),%eax
429d0e:	03 c3                	add    %ebx,%eax
429d10:	89 45 e8             	mov    %eax,-0x18(%ebp)
429d13:	8b 45 e8             	mov    -0x18(%ebp),%eax
429d16:	e8 99 f3 fd ff       	call   0x4090b4
429d1b:	89 45 d0             	mov    %eax,-0x30(%ebp)
429d1e:	33 c0                	xor    %eax,%eax
429d20:	55                   	push   %ebp
429d21:	68 ac 9d 42 00       	push   $0x429dac
429d26:	64 ff 30             	push   %fs:(%eax)
429d29:	64 89 20             	mov    %esp,%fs:(%eax)
429d2c:	8b 7d d0             	mov    -0x30(%ebp),%edi
429d2f:	8b 75 d0             	mov    -0x30(%ebp),%esi
429d32:	03 f3                	add    %ebx,%esi
429d34:	57                   	push   %edi
429d35:	53                   	push   %ebx
429d36:	8b 45 c8             	mov    -0x38(%ebp),%eax
429d39:	50                   	push   %eax
429d3a:	e8 29 d8 fd ff       	call   0x407568
429d3f:	56                   	push   %esi
429d40:	8b 45 c4             	mov    -0x3c(%ebp),%eax
429d43:	50                   	push   %eax
429d44:	8b 45 cc             	mov    -0x34(%ebp),%eax
429d47:	50                   	push   %eax
429d48:	e8 1b d8 fd ff       	call   0x407568
429d4d:	8b 45 cc             	mov    -0x34(%ebp),%eax
429d50:	50                   	push   %eax
429d51:	e8 ba d7 fd ff       	call   0x407510
429d56:	8b 45 c8             	mov    -0x38(%ebp),%eax
429d59:	50                   	push   %eax
429d5a:	e8 b1 d7 fd ff       	call   0x407510
429d5f:	56                   	push   %esi
429d60:	57                   	push   %edi
429d61:	8a 45 ba             	mov    -0x46(%ebp),%al
429d64:	50                   	push   %eax
429d65:	8a 45 b8             	mov    -0x48(%ebp),%al
429d68:	50                   	push   %eax
429d69:	8b 45 08             	mov    0x8(%ebp),%eax
429d6c:	8b 40 04             	mov    0x4(%eax),%eax
429d6f:	50                   	push   %eax
429d70:	8b 45 08             	mov    0x8(%ebp),%eax
429d73:	8b 00                	mov    (%eax),%eax
429d75:	50                   	push   %eax
429d76:	a1 18 87 6a 00       	mov    0x6a8718,%eax
429d7b:	50                   	push   %eax
429d7c:	e8 07 db fd ff       	call   0x407888
429d81:	8b 55 f8             	mov    -0x8(%ebp),%edx
429d84:	89 02                	mov    %eax,(%edx)