437a90:	68 90 da 49 00       	push   $0x49da90
437a95:	eb 47                	jmp    0x437ade
437a97:	66 83 7d 88 00       	cmpw   $0x0,-0x78(%ebp)
437a9c:	74 12                	je     0x437ab0
437a9e:	3d 00 00 00 c0       	cmp    $0xc0000000,%eax
437aa3:	75 0b                	jne    0x437ab0
437aa5:	85 c9                	test   %ecx,%ecx
437aa7:	75 30                	jne    0x437ad9
437aa9:	68 98 da 49 00       	push   $0x49da98
437aae:	eb 0d                	jmp    0x437abd
437ab0:	3b c2                	cmp    %edx,%eax
437ab2:	75 25                	jne    0x437ad9
437ab4:	85 c9                	test   %ecx,%ecx
437ab6:	75 21                	jne    0x437ad9
437ab8:	68 a0 da 49 00       	push   $0x49daa0
437abd:	8d 43 04             	lea    0x4(%ebx),%eax
437ac0:	6a 16                	push   $0x16
437ac2:	50                   	push   %eax
437ac3:	e8 4a aa ff ff       	call   0x432512
437ac8:	83 c4 0c             	add    $0xc,%esp
437acb:	85 c0                	test   %eax,%eax
437acd:	0f 85 ad 08 00 00    	jne    0x438380
437ad3:	c6 43 03 05          	movb   $0x5,0x3(%ebx)
437ad7:	eb 1f                	jmp    0x437af8
437ad9:	68 a8 da 49 00       	push   $0x49daa8
437ade:	8d 43 04             	lea    0x4(%ebx),%eax
437ae1:	6a 16                	push   $0x16
437ae3:	50                   	push   %eax
437ae4:	e8 29 aa ff ff       	call   0x432512
437ae9:	83 c4 0c             	add    $0xc,%esp
437aec:	85 c0                	test   %eax,%eax
437aee:	0f 85 8c 08 00 00    	jne    0x438380
437af4:	c6 43 03 06          	movb   $0x6,0x3(%ebx)
437af8:	33 c0                	xor    %eax,%eax
437afa:	e9 39 08 00 00       	jmp    0x438338
437aff:	0f b7 d6             	movzwl %si,%edx
437b02:	8b c2                	mov    %edx,%eax
437b04:	69 d2 10 4d 00 00    	imul   $0x4d10,%edx,%edx
437b0a:	c1 e8 08             	shr    $0x8,%eax
437b0d:	8b cf                	mov    %edi,%ecx
437b0f:	c1 e9 18             	shr    $0x18,%ecx
437b12:	81 c2 0c ed bc ec    	add    $0xecbced0c,%edx
437b18:	8d 04 48             	lea    (%eax,%ecx,2),%eax
437b1b:	6b c0 4d             	imul   $0x4d,%eax,%eax
437b1e:	03 c2                	add    %edx,%eax
437b20:	c1 f8 10             	sar    $0x10,%eax
437b23:	0f b7 c8             	movzwl %ax,%ecx
437b26:	8b 45 08             	mov    0x8(%ebp),%eax
437b29:	89 45 e2             	mov    %eax,-0x1e(%ebp)
437b2c:	33 c0                	xor    %eax,%eax
437b2e:	89 4d b8             	mov    %ecx,-0x48(%ebp)
437b31:	0f bf c9             	movswl %cx,%ecx
437b34:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
437b38:	f7 d9                	neg    %ecx
437b3a:	b8 b0 b1 4b 00       	mov    $0x4bb1b0,%eax
437b3f:	83 e8 60             	sub    $0x60,%eax
437b42:	33 db                	xor    %ebx,%ebx
437b44:	66 89 75 ea          	mov    %si,-0x16(%ebp)
437b48:	89 7d e6             	mov    %edi,-0x1a(%ebp)
437b4b:	89 4d bc             	mov    %ecx,-0x44(%ebp)
437b4e:	c7 45 a4 05 00 00 00 	movl   $0x5,-0x5c(%ebp)
437b55:	c7 45 94 fd bf 00 00 	movl   $0xbffd,-0x6c(%ebp)
437b5c:	c7 45 a8 bf 3f 00 00 	movl   $0x3fbf,-0x58(%ebp)
437b63:	85 c9                	test   %ecx,%ecx
437b65:	0f 84 21 03 00 00    	je     0x437e8c
437b6b:	79 0f                	jns    0x437b7c
437b6d:	f7 d9                	neg    %ecx
437b6f:	b8 10 b3 4b 00       	mov    $0x4bb310,%eax
437b74:	83 e8 60             	sub    $0x60,%eax
437b77:	89 4d bc             	mov    %ecx,-0x44(%ebp)
437b7a:	85 c9                	test   %ecx,%ecx
437b7c:	0f 84 0a 03 00 00    	je     0x437e8c
437b82:	8b 75 e0             	mov    -0x20(%ebp),%esi
437b85:	8b 55 e4             	mov    -0x1c(%ebp),%edx
437b88:	89 75 c0             	mov    %esi,-0x40(%ebp)
437b8b:	c1 7d bc 03          	sarl   $0x3,-0x44(%ebp)
437b8f:	83 c0 54             	add    $0x54,%eax
437b92:	89 45 ac             	mov    %eax,-0x54(%ebp)
437b95:	83 e1 07             	and    $0x7,%ecx
437b98:	0f 84 e1 02 00 00    	je     0x437e7f
437b9e:	6b c9 0c             	imul   $0xc,%ecx,%ecx
437ba1:	03 c8                	add    %eax,%ecx
437ba3:	b8 00 80 00 00       	mov    $0x8000,%eax
437ba8:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
437bae:	66 39 01             	cmp    %ax,(%ecx)
437bb1:	72 14                	jb     0x437bc7
437bb3:	8b f1                	mov    %ecx,%esi
437bb5:	8d 7d c4             	lea    -0x3c(%ebp),%edi
437bb8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437bb9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437bba:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
437bbd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
437bbe:	ff 4d c6             	decl   -0x3a(%ebp)
437bc1:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
437bc7:	0f b7 79 0a          	movzwl 0xa(%ecx),%edi
437bcb:	8b 45 ea             	mov    -0x16(%ebp),%eax
437bce:	89 7d 9c             	mov    %edi,-0x64(%ebp)
437bd1:	31 45 9c             	xor    %eax,-0x64(%ebp)
437bd4:	25 ff 7f 00 00       	and    $0x7fff,%eax
437bd9:	81 e7 ff 7f 00 00    	and    $0x7fff,%edi
437bdf:	89 45 b0             	mov    %eax,-0x50(%ebp)
437be2:	03 c7                	add    %edi,%eax
437be4:	be 00 80 00 00       	mov    $0x8000,%esi
437be9:	21 75 9c             	and    %esi,-0x64(%ebp)
437bec:	89 7d a0             	mov    %edi,-0x60(%ebp)
437bef:	0f b7 f8             	movzwl %ax,%edi
437bf2:	8b 45 b0             	mov    -0x50(%ebp),%eax
437bf5:	4e                   	dec    %esi
437bf6:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
437bf9:	89 5d f0             	mov    %ebx,-0x10(%ebp)
437bfc:	89 5d f4             	mov    %ebx,-0xc(%ebp)
437bff:	89 5d f8             	mov    %ebx,-0x8(%ebp)
437c02:	89 7d b4             	mov    %edi,-0x4c(%ebp)
437c05:	66 3b c6             	cmp    %si,%ax
437c08:	0f 83 4a 02 00 00    	jae    0x437e58
437c0e:	66 39 75 a0          	cmp    %si,-0x60(%ebp)
437c12:	8b 75 c0             	mov    -0x40(%ebp),%esi
437c15:	0f 83 3d 02 00 00    	jae    0x437e58
437c1b:	66 3b 7d 94          	cmp    -0x6c(%ebp),%di
437c1f:	0f 87 33 02 00 00    	ja     0x437e58
437c25:	66 3b 7d a8          	cmp    -0x58(%ebp),%di
437c29:	77 08                	ja     0x437c33
437c2b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
437c2e:	e9 3c 02 00 00       	jmp    0x437e6f
437c33:	66 85 c0             	test   %ax,%ax
437c36:	75 20                	jne    0x437c58
437c38:	47                   	inc    %edi
437c39:	f7 45 e8 ff ff ff 7f 	testl  $0x7fffffff,-0x18(%ebp)
437c40:	89 7d b4             	mov    %edi,-0x4c(%ebp)
437c43:	75 13                	jne    0x437c58
437c45:	85 d2                	test   %edx,%edx
437c47:	75 0f                	jne    0x437c58
437c49:	85 f6                	test   %esi,%esi
437c4b:	75 0b                	jne    0x437c58
437c4d:	33 c0                	xor    %eax,%eax
437c4f:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
437c53:	e9 24 02 00 00       	jmp    0x437e7c
437c58:	66 83 7d a0 00       	cmpw   $0x0,-0x60(%ebp)
437c5d:	75 16                	jne    0x437c75
437c5f:	47                   	inc    %edi
437c60:	f7 41 08 ff ff ff 7f 	testl  $0x7fffffff,0x8(%ecx)
437c67:	89 7d b4             	mov    %edi,-0x4c(%ebp)
437c6a:	75 09                	jne    0x437c75
437c6c:	39 59 04             	cmp    %ebx,0x4(%ecx)
437c6f:	75 04                	jne    0x437c75
437c71:	39 19                	cmp    %ebx,(%ecx)
437c73:	74 b6                	je     0x437c2b
437c75:	6a 05                	push   $0x5
437c77:	8b c3                	mov    %ebx,%eax
437c79:	5e                   	pop    %esi
437c7a:	89 45 80             	mov    %eax,-0x80(%ebp)
437c7d:	8d 55 f4             	lea    -0xc(%ebp),%edx
437c80:	89 75 b0             	mov    %esi,-0x50(%ebp)
437c83:	89 75 a0             	mov    %esi,-0x60(%ebp)
437c86:	85 f6                	test   %esi,%esi
437c88:	7e 6f                	jle    0x437cf9
437c8a:	8d 75 e0             	lea    -0x20(%ebp),%esi
437c8d:	8d 04 46             	lea    (%esi,%eax,2),%eax
437c90:	8d 71 08             	lea    0x8(%ecx),%esi
437c93:	8b 4d a0             	mov    -0x60(%ebp),%ecx
437c96:	89 45 c0             	mov    %eax,-0x40(%ebp)
437c99:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
437c9f:	0f b7 38             	movzwl (%eax),%edi
437ca2:	0f b7 06             	movzwl (%esi),%eax
437ca5:	0f af f8             	imul   %eax,%edi
437ca8:	8b 42 fc             	mov    -0x4(%edx),%eax
437cab:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
437cae:	8d 34 38             	lea    (%eax,%edi,1),%esi
437cb1:	3b f0                	cmp    %eax,%esi
437cb3:	89 75 a0             	mov    %esi,-0x60(%ebp)
437cb6:	8b c6                	mov    %esi,%eax
437cb8:	72 04                	jb     0x437cbe
437cba:	3b c7                	cmp    %edi,%eax
437cbc:	73 05                	jae    0x437cc3
437cbe:	33 f6                	xor    %esi,%esi
437cc0:	46                   	inc    %esi
437cc1:	eb 03                	jmp    0x437cc6
437cc3:	8b 75 84             	mov    -0x7c(%ebp),%esi
437cc6:	89 42 fc             	mov    %eax,-0x4(%edx)
437cc9:	85 f6                	test   %esi,%esi
437ccb:	74 03                	je     0x437cd0
437ccd:	66 ff 02             	incw   (%edx)
437cd0:	8b 45 c0             	mov    -0x40(%ebp),%eax
437cd3:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
437cd9:	83 c0 02             	add    $0x2,%eax
437cdc:	83 ee 02             	sub    $0x2,%esi
437cdf:	49                   	dec    %ecx
437ce0:	89 45 c0             	mov    %eax,-0x40(%ebp)
437ce3:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
437ce9:	85 c9                	test   %ecx,%ecx
437ceb:	7f b2                	jg     0x437c9f
437ced:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
437cf3:	8b 75 b0             	mov    -0x50(%ebp),%esi
437cf6:	8b 45 80             	mov    -0x80(%ebp),%eax
437cf9:	83 c2 02             	add    $0x2,%edx
437cfc:	40                   	inc    %eax
437cfd:	4e                   	dec    %esi
437cfe:	89 45 80             	mov    %eax,-0x80(%ebp)
437d01:	89 75 b0             	mov    %esi,-0x50(%ebp)
437d04:	85 f6                	test   %esi,%esi
437d06:	0f 8f 77 ff ff ff    	jg     0x437c83
437d0c:	8b 7d b4             	mov    -0x4c(%ebp),%edi
437d0f:	8b 45 f8             	mov    -0x8(%ebp),%eax
437d12:	8b 75 f0             	mov    -0x10(%ebp),%esi
437d15:	81 c7 02 c0 00 00    	add    $0xc002,%edi
437d1b:	89 45 c0             	mov    %eax,-0x40(%ebp)
437d1e:	66 85 ff             	test   %di,%di
437d21:	7e 3b                	jle    0x437d5e
437d23:	85 c0                	test   %eax,%eax
437d25:	78 32                	js     0x437d59
437d27:	8b 45 f4             	mov    -0xc(%ebp),%eax
437d2a:	8b c8                	mov    %eax,%ecx
437d2c:	03 c0                	add    %eax,%eax
437d2e:	8b d6                	mov    %esi,%edx
437d30:	c1 ea 1f             	shr    $0x1f,%edx
437d33:	0b c2                	or     %edx,%eax
437d35:	89 45 f4             	mov    %eax,-0xc(%ebp)
437d38:	8b 45 c0             	mov    -0x40(%ebp),%eax
437d3b:	c1 e9 1f             	shr    $0x1f,%ecx
437d3e:	03 c0                	add    %eax,%eax
437d40:	0b c1                	or     %ecx,%eax
437d42:	b9 ff ff 00 00       	mov    $0xffff,%ecx
437d47:	03 f6                	add    %esi,%esi
437d49:	03 f9                	add    %ecx,%edi
437d4b:	89 75 f0             	mov    %esi,-0x10(%ebp)
437d4e:	89 45 c0             	mov    %eax,-0x40(%ebp)
437d51:	89 45 f8             	mov    %eax,-0x8(%ebp)
437d54:	66 85 ff             	test   %di,%di
437d57:	7f ca                	jg     0x437d23
437d59:	66 85 ff             	test   %di,%di
437d5c:	7f 71                	jg     0x437dcf
437d5e:	b8 ff ff 00 00       	mov    $0xffff,%eax
437d63:	03 f8                	add    %eax,%edi
437d65:	66 85 ff             	test   %di,%di
437d68:	79 65                	jns    0x437dcf
437d6a:	8b 5d c0             	mov    -0x40(%ebp),%ebx
437d6d:	8b c7                	mov    %edi,%eax
437d6f:	f7 d8                	neg    %eax
437d71:	0f b7 c0             	movzwl %ax,%eax
437d74:	03 f8                	add    %eax,%edi
437d76:	33 d2                	xor    %edx,%edx
437d78:	89 7d b4             	mov    %edi,-0x4c(%ebp)
437d7b:	8b 7d 8c             	mov    -0x74(%ebp),%edi
437d7e:	89 45 b0             	mov    %eax,-0x50(%ebp)
437d81:	42                   	inc    %edx
437d82:	84 55 f0             	test   %dl,-0x10(%ebp)
437d85:	74 01                	je     0x437d88
437d87:	47                   	inc    %edi
437d88:	8b 4d f4             	mov    -0xc(%ebp),%ecx
437d8b:	8b c3                	mov    %ebx,%eax
437d8d:	c1 e0 1f             	shl    $0x1f,%eax
437d90:	89 4d c0             	mov    %ecx,-0x40(%ebp)
437d93:	d1 6d c0             	shrl   $1,-0x40(%ebp)
437d96:	09 45 c0             	or     %eax,-0x40(%ebp)
437d99:	8b 45 c0             	mov    -0x40(%ebp),%eax
437d9c:	c1 e1 1f             	shl    $0x1f,%ecx
437d9f:	d1 ee                	shr    $1,%esi
437da1:	d1 eb                	shr    $1,%ebx
437da3:	0b f1                	or     %ecx,%esi
437da5:	ff 4d b0             	decl   -0x50(%ebp)
437da8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
437dab:	89 45 f4             	mov    %eax,-0xc(%ebp)
437dae:	89 75 f0             	mov    %esi,-0x10(%ebp)
437db1:	75 cf                	jne    0x437d82
437db3:	6a 00                	push   $0x0
437db5:	89 5d c0             	mov    %ebx,-0x40(%ebp)
437db8:	85 ff                	test   %edi,%edi
437dba:	8b 7d b4             	mov    -0x4c(%ebp),%edi
437dbd:	5b                   	pop    %ebx
437dbe:	74 0f                	je     0x437dcf
437dc0:	66 8b c6             	mov    %si,%ax
437dc3:	66 0b c2             	or     %dx,%ax
437dc6:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
437dca:	8b 75 f0             	mov    -0x10(%ebp),%esi
437dcd:	eb 04                	jmp    0x437dd3
437dcf:	66 8b 45 f0          	mov    -0x10(%ebp),%ax
437dd3:	b9 00 80 00 00       	mov    $0x8000,%ecx
437dd8:	66 3b c1             	cmp    %cx,%ax
437ddb:	77 0e                	ja     0x437deb
437ddd:	81 e6 ff ff 01 00    	and    $0x1ffff,%esi
437de3:	81 fe 00 80 01 00    	cmp    $0x18000,%esi
437de9:	75 40                	jne    0x437e2b
437deb:	8b 45 f2             	mov    -0xe(%ebp),%eax
437dee:	83 f8 ff             	cmp    $0xffffffff,%eax
437df1:	75 34                	jne    0x437e27
437df3:	8b 45 f6             	mov    -0xa(%ebp),%eax
437df6:	89 5d f2             	mov    %ebx,-0xe(%ebp)
437df9:	83 f8 ff             	cmp    $0xffffffff,%eax
437dfc:	75 20                	jne    0x437e1e
437dfe:	66 8b 45 fa          	mov    -0x6(%ebp),%ax
437e02:	ba ff ff 00 00       	mov    $0xffff,%edx
437e07:	89 5d f6             	mov    %ebx,-0xa(%ebp)
437e0a:	66 3b c2             	cmp    %dx,%ax
437e0d:	75 07                	jne    0x437e16
437e0f:	66 89 4d fa          	mov    %cx,-0x6(%ebp)
437e13:	47                   	inc    %edi
437e14:	eb 0c                	jmp    0x437e22
437e16:	66 40                	inc    %ax
437e18:	66 89 45 fa          	mov    %ax,-0x6(%ebp)
437e1c:	eb 04                	jmp    0x437e22
437e1e:	40                   	inc    %eax
437e1f:	89 45 f6             	mov    %eax,-0xa(%ebp)
437e22:	8b 4d f8             	mov    -0x8(%ebp),%ecx
437e25:	eb 07                	jmp    0x437e2e
437e27:	40                   	inc    %eax
437e28:	89 45 f2             	mov    %eax,-0xe(%ebp)
437e2b:	8b 4d c0             	mov    -0x40(%ebp),%ecx
437e2e:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
437e33:	66 3b f8             	cmp    %ax,%di
437e36:	73 20                	jae    0x437e58
437e38:	66 8b 45 f2          	mov    -0xe(%ebp),%ax
437e3c:	0b 7d 9c             	or     -0x64(%ebp),%edi
437e3f:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
437e43:	8b 45 f4             	mov    -0xc(%ebp),%eax
437e46:	89 45 e2             	mov    %eax,-0x1e(%ebp)
437e49:	8b 75 e0             	mov    -0x20(%ebp),%esi
437e4c:	89 4d e6             	mov    %ecx,-0x1a(%ebp)
437e4f:	8b 55 e4             	mov    -0x1c(%ebp),%edx
437e52:	66 89 7d ea          	mov    %di,-0x16(%ebp)
437e56:	eb 21                	jmp    0x437e79
437e58:	33 c0                	xor    %eax,%eax
437e5a:	66 39 45 9c          	cmp    %ax,-0x64(%ebp)
437e5e:	0f 94 c0             	sete   %al
437e61:	48                   	dec    %eax
437e62:	25 00 00 00 80       	and    $0x80000000,%eax
437e67:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
437e6c:	89 45 e8             	mov    %eax,-0x18(%ebp)
437e6f:	8b f3                	mov    %ebx,%esi
437e71:	8b d3                	mov    %ebx,%edx
437e73:	89 75 e0             	mov    %esi,-0x20(%ebp)
437e76:	89 55 e4             	mov    %edx,-0x1c(%ebp)
437e79:	89 75 c0             	mov    %esi,-0x40(%ebp)
437e7c:	8b 45 ac             	mov    -0x54(%ebp),%eax
437e7f:	8b 4d bc             	mov    -0x44(%ebp),%ecx
437e82:	85 c9                	test   %ecx,%ecx
437e84:	0f 85 01 fd ff ff    	jne    0x437b8b
437e8a:	eb 06                	jmp    0x437e92
437e8c:	8b 55 e4             	mov    -0x1c(%ebp),%edx
437e8f:	8b 75 e0             	mov    -0x20(%ebp),%esi
437e92:	8b 45 e8             	mov    -0x18(%ebp),%eax
437e95:	c1 e8 10             	shr    $0x10,%eax
437e98:	b9 ff 3f 00 00       	mov    $0x3fff,%ecx
437e9d:	66 3b c1             	cmp    %cx,%ax
437ea0:	0f 82 9e 02 00 00    	jb     0x438144
437ea6:	ff 45 b8             	incl   -0x48(%ebp)
437ea9:	8b c8                	mov    %eax,%ecx
437eab:	8b 45 da             	mov    -0x26(%ebp),%eax
437eae:	8b f8                	mov    %eax,%edi
437eb0:	33 f9                	xor    %ecx,%edi
437eb2:	81 e7 00 80 00 00    	and    $0x8000,%edi