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)
429d86:	8b 45 f8             	mov    -0x8(%ebp),%eax
429d89:	83 38 00             	cmpl   $0x0,(%eax)
429d8c:	75 05                	jne    0x429d93
429d8e:	e8 7d f2 ff ff       	call   0x429010
429d93:	33 c0                	xor    %eax,%eax
429d95:	5a                   	pop    %edx
429d96:	59                   	pop    %ecx
429d97:	59                   	pop    %ecx
429d98:	64 89 10             	mov    %edx,%fs:(%eax)
429d9b:	68 b3 9d 42 00       	push   $0x429db3
429da0:	8b 55 e8             	mov    -0x18(%ebp),%edx
429da3:	8b 45 d0             	mov    -0x30(%ebp),%eax
429da6:	e8 21 8a fd ff       	call   0x4027cc
429dab:	c3                   	ret
429dac:	e9 5b a4 fd ff       	jmp    0x40420c
429db1:	eb ed                	jmp    0x429da0
429db3:	33 c0                	xor    %eax,%eax
429db5:	5a                   	pop    %edx
429db6:	59                   	pop    %ecx
429db7:	59                   	pop    %ecx
429db8:	64 89 10             	mov    %edx,%fs:(%eax)
429dbb:	68 d6 9d 42 00       	push   $0x429dd6
429dc0:	8b 45 c0             	mov    -0x40(%ebp),%eax
429dc3:	8b 50 08             	mov    0x8(%eax),%edx
429dc6:	8b 45 d4             	mov    -0x2c(%ebp),%eax
429dc9:	e8 fe 89 fd ff       	call   0x4027cc
429dce:	c3                   	ret
429dcf:	e9 38 a4 fd ff       	jmp    0x40420c
429dd4:	eb ea                	jmp    0x429dc0
429dd6:	33 c0                	xor    %eax,%eax
429dd8:	5a                   	pop    %edx
429dd9:	59                   	pop    %ecx
429dda:	59                   	pop    %ecx
429ddb:	64 89 10             	mov    %edx,%fs:(%eax)
429dde:	68 f6 9d 42 00       	push   $0x429df6
429de3:	8b 55 ec             	mov    -0x14(%ebp),%edx
429de6:	8b 45 f0             	mov    -0x10(%ebp),%eax
429de9:	e8 de 89 fd ff       	call   0x4027cc
429dee:	c3                   	ret
429def:	e9 18 a4 fd ff       	jmp    0x40420c
429df4:	eb ed                	jmp    0x429de3
429df6:	5f                   	pop    %edi
429df7:	5e                   	pop    %esi
429df8:	5b                   	pop    %ebx
429df9:	8b e5                	mov    %ebp,%esp
429dfb:	5d                   	pop    %ebp
429dfc:	c2 0c 00             	ret    $0xc
429dff:	90                   	nop
429e00:	33 c9                	xor    %ecx,%ecx
429e02:	8b d0                	mov    %eax,%edx
429e04:	83 c0 14             	add    $0x14,%eax
429e07:	eb 06                	jmp    0x429e0f
429e09:	66 33 0a             	xor    (%edx),%cx
429e0c:	83 c2 02             	add    $0x2,%edx
429e0f:	3b d0                	cmp    %eax,%edx
429e11:	7c f6                	jl     0x429e09
429e13:	8b c1                	mov    %ecx,%eax
429e15:	c3                   	ret
429e16:	8b c0                	mov    %eax,%eax
429e18:	53                   	push   %ebx
429e19:	56                   	push   %esi
429e1a:	57                   	push   %edi
429e1b:	83 c4 ac             	add    $0xffffffac,%esp
429e1e:	8b f1                	mov    %ecx,%esi
429e20:	8b da                	mov    %edx,%ebx
429e22:	33 d2                	xor    %edx,%edx
429e24:	89 54 24 18          	mov    %edx,0x18(%esp)
429e28:	54                   	push   %esp
429e29:	6a 54                	push   $0x54
429e2b:	50                   	push   %eax
429e2c:	e8 bf d7 fd ff       	call   0x4075f0
429e31:	85 c0                	test   %eax,%eax
429e33:	75 07                	jne    0x429e3c
429e35:	e8 5e f1 ff ff       	call   0x428f98
429e3a:	eb 3f                	jmp    0x429e7b
429e3c:	83 f8 40             	cmp    $0x40,%eax
429e3f:	7c 18                	jl     0x429e59
429e41:	83 7c 24 18 28       	cmpl   $0x28,0x18(%esp)
429e46:	72 11                	jb     0x429e59
429e48:	56                   	push   %esi
429e49:	8b fb                	mov    %ebx,%edi
429e4b:	8d 74 24 1c          	lea    0x1c(%esp),%esi
429e4f:	b9 0a 00 00 00       	mov    $0xa,%ecx
429e54:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
429e56:	5e                   	pop    %esi
429e57:	eb 22                	jmp    0x429e7b
429e59:	8b c3                	mov    %ebx,%eax
429e5b:	33 c9                	xor    %ecx,%ecx
429e5d:	ba 28 00 00 00       	mov    $0x28,%edx
429e62:	e8 d9 93 fd ff       	call   0x403240
429e67:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
429e6d:	8b 44 24 04          	mov    0x4(%esp),%eax
429e71:	89 43 04             	mov    %eax,0x4(%ebx)
429e74:	8b 44 24 08          	mov    0x8(%esp),%eax
429e78:	89 43 08             	mov    %eax,0x8(%ebx)
429e7b:	8b c6                	mov    %esi,%eax
429e7d:	83 e8 02             	sub    $0x2,%eax
429e80:	74 0f                	je     0x429e91
429e82:	48                   	dec    %eax
429e83:	83 e8 0e             	sub    $0xe,%eax
429e86:	72 11                	jb     0x429e99
429e88:	2d f0 00 00 00       	sub    $0xf0,%eax
429e8d:	72 15                	jb     0x429ea4
429e8f:	eb 1e                	jmp    0x429eaf
429e91:	66 c7 43 0e 01 00    	movw   $0x1,0xe(%ebx)
429e97:	eb 24                	jmp    0x429ebd
429e99:	66 c7 43 0e 04 00    	movw   $0x4,0xe(%ebx)
429e9f:	89 73 20             	mov    %esi,0x20(%ebx)
429ea2:	eb 19                	jmp    0x429ebd
429ea4:	66 c7 43 0e 08 00    	movw   $0x8,0xe(%ebx)
429eaa:	89 73 20             	mov    %esi,0x20(%ebx)
429ead:	eb 0e                	jmp    0x429ebd
429eaf:	66 8b 44 24 12       	mov    0x12(%esp),%ax
429eb4:	66 f7 6c 24 10       	imulw  0x10(%esp)
429eb9:	66 89 43 0e          	mov    %ax,0xe(%ebx)
429ebd:	66 c7 43 0c 01 00    	movw   $0x1,0xc(%ebx)
429ec3:	8b 43 20             	mov    0x20(%ebx),%eax
429ec6:	3b 43 24             	cmp    0x24(%ebx),%eax
429ec9:	73 03                	jae    0x429ece
429ecb:	89 43 24             	mov    %eax,0x24(%ebx)
429ece:	83 7b 14 00          	cmpl   $0x0,0x14(%ebx)
429ed2:	75 21                	jne    0x429ef5
429ed4:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
429ed8:	8b 43 04             	mov    0x4(%ebx),%eax
429edb:	b9 20 00 00 00       	mov    $0x20,%ecx
429ee0:	e8 63 f3 ff ff       	call   0x429248
429ee5:	8b c8                	mov    %eax,%ecx
429ee7:	8b 43 08             	mov    0x8(%ebx),%eax
429eea:	99                   	cltd
429eeb:	33 c2                	xor    %edx,%eax
429eed:	2b c2                	sub    %edx,%eax
429eef:	0f af c8             	imul   %eax,%ecx
429ef2:	89 4b 14             	mov    %ecx,0x14(%ebx)
429ef5:	83 c4 54             	add    $0x54,%esp
429ef8:	5f                   	pop    %edi
429ef9:	5e                   	pop    %esi
429efa:	5b                   	pop    %ebx
429efb:	c3                   	ret
429efc:	55                   	push   %ebp
429efd:	8b ec                	mov    %esp,%ebp
429eff:	83 c4 d8             	add    $0xffffffd8,%esp
429f02:	53                   	push   %ebx
429f03:	56                   	push   %esi
429f04:	8b f1                	mov    %ecx,%esi
429f06:	8b da                	mov    %edx,%ebx
429f08:	8d 55 d8             	lea    -0x28(%ebp),%edx
429f0b:	8b 4d 08             	mov    0x8(%ebp),%ecx
429f0e:	e8 05 ff ff ff       	call   0x429e18
429f13:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
429f17:	66 83 f8 08          	cmp    $0x8,%ax
429f1b:	76 11                	jbe    0x429f2e
429f1d:	c7 03 28 00 00 00    	movl   $0x28,(%ebx)
429f23:	f6 45 e8 03          	testb  $0x3,-0x18(%ebp)
429f27:	74 29                	je     0x429f52
429f29:	83 03 0c             	addl   $0xc,(%ebx)
429f2c:	eb 24                	jmp    0x429f52
429f2e:	8b 55 f8             	mov    -0x8(%ebp),%edx
429f31:	85 d2                	test   %edx,%edx
429f33:	75 13                	jne    0x429f48
429f35:	8b c8                	mov    %eax,%ecx
429f37:	b8 01 00 00 00       	mov    $0x1,%eax
429f3c:	d3 e0                	shl    %cl,%eax
429f3e:	c1 e0 02             	shl    $0x2,%eax
429f41:	83 c0 28             	add    $0x28,%eax
429f44:	89 03                	mov    %eax,(%ebx)
429f46:	eb 0a                	jmp    0x429f52
429f48:	8b c2                	mov    %edx,%eax
429f4a:	c1 e0 02             	shl    $0x2,%eax
429f4d:	83 c0 28             	add    $0x28,%eax
429f50:	89 03                	mov    %eax,(%ebx)
429f52:	8b 45 ec             	mov    -0x14(%ebp),%eax
429f55:	89 06                	mov    %eax,(%esi)
429f57:	5e                   	pop    %esi
429f58:	5b                   	pop    %ebx
429f59:	8b e5                	mov    %ebp,%esp