428b0c:	8b f9                	mov    %ecx,%edi
428b0e:	ba ff 7f 00 00       	mov    $0x7fff,%edx
428b13:	23 ca                	and    %edx,%ecx
428b15:	33 f8                	xor    %eax,%edi
428b17:	23 c2                	and    %edx,%eax
428b19:	81 e7 00 80 00 00    	and    $0x8000,%edi
428b1f:	66 3d ff 7f          	cmp    $0x7fff,%ax
428b23:	8d 14 01             	lea    (%ecx,%eax,1),%edx
428b26:	89 55 08             	mov    %edx,0x8(%ebp)
428b29:	0f 83 b8 01 00 00    	jae    0x428ce7
428b2f:	66 81 f9 ff 7f       	cmp    $0x7fff,%cx
428b34:	0f 83 ad 01 00 00    	jae    0x428ce7
428b3a:	66 81 fa fd bf       	cmp    $0xbffd,%dx
428b3f:	0f 87 a2 01 00 00    	ja     0x428ce7
428b45:	66 81 fa bf 3f       	cmp    $0x3fbf,%dx
428b4a:	77 04                	ja     0x428b50
428b4c:	33 c0                	xor    %eax,%eax
428b4e:	eb 3a                	jmp    0x428b8a
428b50:	66 85 c0             	test   %ax,%ax
428b53:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
428b58:	75 18                	jne    0x428b72
428b5a:	ff 45 08             	incl   0x8(%ebp)
428b5d:	33 c0                	xor    %eax,%eax
428b5f:	85 56 08             	test   %edx,0x8(%esi)
428b62:	75 10                	jne    0x428b74
428b64:	39 46 04             	cmp    %eax,0x4(%esi)
428b67:	75 0b                	jne    0x428b74
428b69:	39 06                	cmp    %eax,(%esi)
428b6b:	75 07                	jne    0x428b74
428b6d:	e9 6f 01 00 00       	jmp    0x428ce1
428b72:	33 c0                	xor    %eax,%eax
428b74:	66 3b c8             	cmp    %ax,%cx
428b77:	75 1e                	jne    0x428b97
428b79:	ff 45 08             	incl   0x8(%ebp)
428b7c:	85 53 08             	test   %edx,0x8(%ebx)
428b7f:	75 16                	jne    0x428b97
428b81:	39 43 04             	cmp    %eax,0x4(%ebx)
428b84:	75 11                	jne    0x428b97
428b86:	39 03                	cmp    %eax,(%ebx)
428b88:	75 0d                	jne    0x428b97
428b8a:	89 46 08             	mov    %eax,0x8(%esi)
428b8d:	89 46 04             	mov    %eax,0x4(%esi)
428b90:	89 06                	mov    %eax,(%esi)
428b92:	e9 6b 01 00 00       	jmp    0x428d02
428b97:	89 45 e8             	mov    %eax,-0x18(%ebp)
428b9a:	8d 45 f4             	lea    -0xc(%ebp),%eax
428b9d:	89 45 ec             	mov    %eax,-0x14(%ebp)
428ba0:	c7 45 0c 05 00 00 00 	movl   $0x5,0xc(%ebp)
428ba7:	8b 45 e8             	mov    -0x18(%ebp),%eax
428baa:	03 c0                	add    %eax,%eax
428bac:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
428bb0:	7e 49                	jle    0x428bfb
428bb2:	03 c6                	add    %esi,%eax
428bb4:	89 45 dc             	mov    %eax,-0x24(%ebp)
428bb7:	8b 45 0c             	mov    0xc(%ebp),%eax
428bba:	8d 4b 08             	lea    0x8(%ebx),%ecx
428bbd:	89 4d e0             	mov    %ecx,-0x20(%ebp)
428bc0:	89 45 d8             	mov    %eax,-0x28(%ebp)
428bc3:	8b 45 e0             	mov    -0x20(%ebp),%eax
428bc6:	8b 4d dc             	mov    -0x24(%ebp),%ecx
428bc9:	0f b7 09             	movzwl (%ecx),%ecx
428bcc:	0f b7 00             	movzwl (%eax),%eax
428bcf:	0f af c1             	imul   %ecx,%eax
428bd2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
428bd5:	83 c1 fc             	add    $0xfffffffc,%ecx
428bd8:	51                   	push   %ecx
428bd9:	50                   	push   %eax
428bda:	ff 31                	push   (%ecx)
428bdc:	e8 ca f1 ff ff       	call   0x427dab
428be1:	83 c4 0c             	add    $0xc,%esp
428be4:	85 c0                	test   %eax,%eax
428be6:	74 06                	je     0x428bee
428be8:	8b 45 ec             	mov    -0x14(%ebp),%eax
428beb:	66 ff 00             	incw   (%eax)
428bee:	83 45 dc 02          	addl   $0x2,-0x24(%ebp)
428bf2:	83 6d e0 02          	subl   $0x2,-0x20(%ebp)
428bf6:	ff 4d d8             	decl   -0x28(%ebp)
428bf9:	75 c8                	jne    0x428bc3
428bfb:	83 45 ec 02          	addl   $0x2,-0x14(%ebp)
428bff:	ff 45 e8             	incl   -0x18(%ebp)
428c02:	ff 4d 0c             	decl   0xc(%ebp)
428c05:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
428c09:	7f 9c                	jg     0x428ba7
428c0b:	81 45 08 02 c0 00 00 	addl   $0xc002,0x8(%ebp)
428c12:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
428c17:	7e 25                	jle    0x428c3e
428c19:	f6 45 fb 80          	testb  $0x80,-0x5(%ebp)
428c1d:	75 18                	jne    0x428c37
428c1f:	8d 45 f0             	lea    -0x10(%ebp),%eax
428c22:	50                   	push   %eax
428c23:	e8 02 f2 ff ff       	call   0x427e2a
428c28:	81 45 08 ff ff 00 00 	addl   $0xffff,0x8(%ebp)
428c2f:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
428c34:	59                   	pop    %ecx
428c35:	7f e2                	jg     0x428c19
428c37:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
428c3c:	7f 39                	jg     0x428c77
428c3e:	81 45 08 ff ff 00 00 	addl   $0xffff,0x8(%ebp)
428c45:	66 83 7d 08 00       	cmpw   $0x0,0x8(%ebp)
428c4a:	7d 2b                	jge    0x428c77
428c4c:	8b 45 08             	mov    0x8(%ebp),%eax
428c4f:	f7 d8                	neg    %eax
428c51:	0f b7 d8             	movzwl %ax,%ebx
428c54:	01 5d 08             	add    %ebx,0x8(%ebp)
428c57:	f6 45 f0 01          	testb  $0x1,-0x10(%ebp)
428c5b:	74 03                	je     0x428c60
428c5d:	ff 45 e4             	incl   -0x1c(%ebp)
428c60:	8d 45 f0             	lea    -0x10(%ebp),%eax
428c63:	50                   	push   %eax
428c64:	e8 ef f1 ff ff       	call   0x427e58
428c69:	4b                   	dec    %ebx
428c6a:	59                   	pop    %ecx
428c6b:	75 ea                	jne    0x428c57
428c6d:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
428c71:	74 04                	je     0x428c77
428c73:	80 4d f0 01          	orb    $0x1,-0x10(%ebp)
428c77:	66 81 7d f0 00 80    	cmpw   $0x8000,-0x10(%ebp)
428c7d:	77 0f                	ja     0x428c8e
428c7f:	8b 45 f0             	mov    -0x10(%ebp),%eax
428c82:	25 ff ff 01 00       	and    $0x1ffff,%eax
428c87:	3d 00 80 01 00       	cmp    $0x18000,%eax
428c8c:	75 35                	jne    0x428cc3
428c8e:	83 7d f2 ff          	cmpl   $0xffffffff,-0xe(%ebp)
428c92:	75 2c                	jne    0x428cc0
428c94:	83 65 f2 00          	andl   $0x0,-0xe(%ebp)
428c98:	83 7d f6 ff          	cmpl   $0xffffffff,-0xa(%ebp)
428c9c:	75 1d                	jne    0x428cbb
428c9e:	83 65 f6 00          	andl   $0x0,-0xa(%ebp)
428ca2:	66 81 7d fa ff ff    	cmpw   $0xffff,-0x6(%ebp)
428ca8:	75 0b                	jne    0x428cb5
428caa:	ff 45 08             	incl   0x8(%ebp)
428cad:	66 c7 45 fa 00 80    	movw   $0x8000,-0x6(%ebp)
428cb3:	eb 0e                	jmp    0x428cc3
428cb5:	66 ff 45 fa          	incw   -0x6(%ebp)
428cb9:	eb 08                	jmp    0x428cc3
428cbb:	ff 45 f6             	incl   -0xa(%ebp)
428cbe:	eb 03                	jmp    0x428cc3
428cc0:	ff 45 f2             	incl   -0xe(%ebp)
428cc3:	8b 45 08             	mov    0x8(%ebp),%eax
428cc6:	66 3d ff 7f          	cmp    $0x7fff,%ax
428cca:	73 1b                	jae    0x428ce7
428ccc:	66 8b 4d f2          	mov    -0xe(%ebp),%cx
428cd0:	66 89 0e             	mov    %cx,(%esi)
428cd3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
428cd6:	89 4e 02             	mov    %ecx,0x2(%esi)
428cd9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
428cdc:	89 4e 06             	mov    %ecx,0x6(%esi)
428cdf:	0b c7                	or     %edi,%eax
428ce1:	66 89 46 0a          	mov    %ax,0xa(%esi)
428ce5:	eb 1b                	jmp    0x428d02
428ce7:	66 f7 df             	neg    %di
428cea:	1b ff                	sbb    %edi,%edi
428cec:	83 66 04 00          	andl   $0x0,0x4(%esi)
428cf0:	81 e7 00 00 00 80    	and    $0x80000000,%edi
428cf6:	81 c7 00 80 ff 7f    	add    $0x7fff8000,%edi
428cfc:	83 26 00             	andl   $0x0,(%esi)
428cff:	89 7e 08             	mov    %edi,0x8(%esi)
428d02:	8b 4d fc             	mov    -0x4(%ebp),%ecx
428d05:	5f                   	pop    %edi
428d06:	5e                   	pop    %esi
428d07:	5b                   	pop    %ebx
428d08:	e8 d1 ee fe ff       	call   0x417bde
428d0d:	c9                   	leave
428d0e:	c3                   	ret
428d0f:	55                   	push   %ebp
428d10:	8b ec                	mov    %esp,%ebp
428d12:	83 ec 10             	sub    $0x10,%esp
428d15:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
428d1a:	53                   	push   %ebx
428d1b:	bb 80 98 4a 00       	mov    $0x4a9880,%ebx
428d20:	33 c9                	xor    %ecx,%ecx
428d22:	83 eb 60             	sub    $0x60,%ebx
428d25:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
428d28:	89 45 fc             	mov    %eax,-0x4(%ebp)
428d2b:	74 5d                	je     0x428d8a
428d2d:	7d 0b                	jge    0x428d3a
428d2f:	f7 5d 0c             	negl   0xc(%ebp)
428d32:	bb e0 99 4a 00       	mov    $0x4a99e0,%ebx
428d37:	83 eb 60             	sub    $0x60,%ebx
428d3a:	39 4d 10             	cmp    %ecx,0x10(%ebp)
428d3d:	75 06                	jne    0x428d45
428d3f:	8b 45 08             	mov    0x8(%ebp),%eax
428d42:	66 89 08             	mov    %cx,(%eax)
428d45:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
428d48:	74 40                	je     0x428d8a
428d4a:	56                   	push   %esi
428d4b:	57                   	push   %edi
428d4c:	8b 45 0c             	mov    0xc(%ebp),%eax
428d4f:	c1 7d 0c 03          	sarl   $0x3,0xc(%ebp)
428d53:	83 e0 07             	and    $0x7,%eax
428d56:	83 c3 54             	add    $0x54,%ebx
428d59:	3b c1                	cmp    %ecx,%eax
428d5b:	74 26                	je     0x428d83
428d5d:	8d 04 40             	lea    (%eax,%eax,2),%eax
428d60:	8d 34 83             	lea    (%ebx,%eax,4),%esi
428d63:	66 81 3e 00 80       	cmpw   $0x8000,(%esi)
428d68:	72 0c                	jb     0x428d76
428d6a:	8d 7d f0             	lea    -0x10(%ebp),%edi
428d6d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
428d6e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
428d6f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
428d70:	ff 4d f2             	decl   -0xe(%ebp)
428d73:	8d 75 f0             	lea    -0x10(%ebp),%esi
428d76:	56                   	push   %esi
428d77:	ff 75 08             	push   0x8(%ebp)
428d7a:	e8 5e fd ff ff       	call   0x428add
428d7f:	59                   	pop    %ecx
428d80:	59                   	pop    %ecx
428d81:	33 c9                	xor    %ecx,%ecx
428d83:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
428d86:	75 c4                	jne    0x428d4c
428d88:	5f                   	pop    %edi
428d89:	5e                   	pop    %esi
428d8a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
428d8d:	5b                   	pop    %ebx
428d8e:	e8 4b ee fe ff       	call   0x417bde
428d93:	c9                   	leave
428d94:	c3                   	ret
428d95:	8b 4c 24 04          	mov    0x4(%esp),%ecx
428d99:	85 c9                	test   %ecx,%ecx
428d9b:	74 0b                	je     0x428da8
428d9d:	49                   	dec    %ecx
428d9e:	80 38 00             	cmpb   $0x0,(%eax)
428da1:	74 06                	je     0x428da9
428da3:	40                   	inc    %eax
428da4:	85 c9                	test   %ecx,%ecx
428da6:	75 f5                	jne    0x428d9d
428da8:	49                   	dec    %ecx
428da9:	8b 44 24 04          	mov    0x4(%esp),%eax
428dad:	2b c1                	sub    %ecx,%eax
428daf:	48                   	dec    %eax
428db0:	c3                   	ret
428db1:	6a 40                	push   $0x40
428db3:	68 08 40 49 00       	push   $0x494008
428db8:	e8 2b f4 fe ff       	call   0x4181e8
428dbd:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
428dc2:	89 45 e4             	mov    %eax,-0x1c(%ebp)
428dc5:	33 ff                	xor    %edi,%edi
428dc7:	33 f6                	xor    %esi,%esi
428dc9:	46                   	inc    %esi
428dca:	39 3d c8 cb 4a 00    	cmp    %edi,0x4acbc8
428dd0:	75 32                	jne    0x428e04
428dd2:	56                   	push   %esi
428dd3:	b8 c4 29 49 00       	mov    $0x4929c4,%eax
428dd8:	50                   	push   %eax
428dd9:	56                   	push   %esi
428dda:	50                   	push   %eax
428ddb:	57                   	push   %edi
428ddc:	57                   	push   %edi
428ddd:	ff 15 80 03 4b 00    	call   *0x4b0380
428de3:	85 c0                	test   %eax,%eax
428de5:	74 08                	je     0x428def
428de7:	89 35 c8 cb 4a 00    	mov    %esi,0x4acbc8
428ded:	eb 15                	jmp    0x428e04
428def:	ff 15 9c 03 4b 00    	call   *0x4b039c
428df5:	83 f8 78             	cmp    $0x78,%eax
428df8:	75 0a                	jne    0x428e04
428dfa:	c7 05 c8 cb 4a 00 02 	movl   $0x2,0x4acbc8
428e01:	00 00 00
428e04:	39 7d 14             	cmp    %edi,0x14(%ebp)
428e07:	7e 0f                	jle    0x428e18
428e09:	ff 75 14             	push   0x14(%ebp)
428e0c:	8b 45 10             	mov    0x10(%ebp),%eax
428e0f:	e8 81 ff ff ff       	call   0x428d95
428e14:	59                   	pop    %ecx
428e15:	89 45 14             	mov    %eax,0x14(%ebp)
428e18:	8b 45 1c             	mov    0x1c(%ebp),%eax
428e1b:	3b c7                	cmp    %edi,%eax
428e1d:	7e 0d                	jle    0x428e2c
428e1f:	50                   	push   %eax
428e20:	8b 45 18             	mov    0x18(%ebp),%eax
428e23:	e8 6d ff ff ff       	call   0x428d95
428e28:	59                   	pop    %ecx
428e29:	89 45 1c             	mov    %eax,0x1c(%ebp)
428e2c:	8b 0d c8 cb 4a 00    	mov    0x4acbc8,%ecx
428e32:	6a 02                	push   $0x2
428e34:	5b                   	pop    %ebx
428e35:	3b cb                	cmp    %ebx,%ecx
428e37:	0f 84 39 02 00 00    	je     0x429076
428e3d:	3b cf                	cmp    %edi,%ecx
428e3f:	0f 84 31 02 00 00    	je     0x429076
428e45:	3b ce                	cmp    %esi,%ecx
428e47:	0f 85 56 02 00 00    	jne    0x4290a3
428e4d:	89 7d c4             	mov    %edi,-0x3c(%ebp)
428e50:	89 7d bc             	mov    %edi,-0x44(%ebp)
428e53:	89 7d c0             	mov    %edi,-0x40(%ebp)
428e56:	39 7d 20             	cmp    %edi,0x20(%ebp)
428e59:	75 09                	jne    0x428e64
428e5b:	8b 0d 34 cb 4a 00    	mov    0x4acb34,%ecx
428e61:	89 4d 20             	mov    %ecx,0x20(%ebp)
428e64:	39 7d 14             	cmp    %edi,0x14(%ebp)
428e67:	74 08                	je     0x428e71
428e69:	3b c7                	cmp    %edi,%eax
428e6b:	0f 85 a9 00 00 00    	jne    0x428f1a
428e71:	39 45 14             	cmp    %eax,0x14(%ebp)
428e74:	75 07                	jne    0x428e7d
428e76:	8b c3                	mov    %ebx,%eax
428e78:	e9 a7 02 00 00       	jmp    0x429124
428e7d:	3b c6                	cmp    %esi,%eax
428e7f:	0f 8f 9d 02 00 00    	jg     0x429122
428e85:	39 75 14             	cmp    %esi,0x14(%ebp)
428e88:	7e 08                	jle    0x428e92
428e8a:	6a 03                	push   $0x3
428e8c:	58                   	pop    %eax
428e8d:	e9 92 02 00 00       	jmp    0x429124
428e92:	8d 45 d0             	lea    -0x30(%ebp),%eax
428e95:	50                   	push   %eax
428e96:	ff 75 20             	push   0x20(%ebp)
428e99:	ff 15 0c 02 4b 00    	call   *0x4b020c
428e9f:	85 c0                	test   %eax,%eax
428ea1:	0f 84 fc 01 00 00    	je     0x4290a3
428ea7:	39 7d 14             	cmp    %edi,0x14(%ebp)
428eaa:	7e 2b                	jle    0x428ed7
428eac:	39 5d d0             	cmp    %ebx,-0x30(%ebp)
428eaf:	72 d9                	jb     0x428e8a
428eb1:	8d 45 d6             	lea    -0x2a(%ebp),%eax
428eb4:	80 7d d6 00          	cmpb   $0x0,-0x2a(%ebp)
428eb8:	74 d0                	je     0x428e8a
428eba:	8a 50 01             	mov    0x1(%eax),%dl
428ebd:	84 d2                	test   %dl,%dl
428ebf:	74 c9                	je     0x428e8a
428ec1:	8b 4d 10             	mov    0x10(%ebp),%ecx
428ec4:	8a 09                	mov    (%ecx),%cl
428ec6:	3a 08                	cmp    (%eax),%cl
428ec8:	72 04                	jb     0x428ece
428eca:	3a ca                	cmp    %dl,%cl
428ecc:	76 a8                	jbe    0x428e76
428ece:	03 c3                	add    %ebx,%eax
428ed0:	80 38 00             	cmpb   $0x0,(%eax)
428ed3:	75 e5                	jne    0x428eba
428ed5:	eb b3                	jmp    0x428e8a
428ed7:	39 7d 1c             	cmp    %edi,0x1c(%ebp)
428eda:	7e 3e                	jle    0x428f1a
428edc:	39 5d d0             	cmp    %ebx,-0x30(%ebp)
428edf:	0f 82 3d 02 00 00    	jb     0x429122
428ee5:	8d 45 d6             	lea    -0x2a(%ebp),%eax
428ee8:	80 7d d6 00          	cmpb   $0x0,-0x2a(%ebp)
428eec:	0f 84 30 02 00 00    	je     0x429122
428ef2:	8a 50 01             	mov    0x1(%eax),%dl
428ef5:	84 d2                	test   %dl,%dl
428ef7:	0f 84 25 02 00 00    	je     0x429122
428efd:	8b 4d 18             	mov    0x18(%ebp),%ecx
428f00:	8a 09                	mov    (%ecx),%cl
428f02:	3a 08                	cmp    (%eax),%cl
428f04:	72 08                	jb     0x428f0e
428f06:	3a ca                	cmp    %dl,%cl
428f08:	0f 86 68 ff ff ff    	jbe    0x428e76
428f0e:	03 c3                	add    %ebx,%eax
428f10:	80 38 00             	cmpb   $0x0,(%eax)
428f13:	75 dd                	jne    0x428ef2