607a07:	0f b7 c1             	movzwl %cx,%eax
607a0a:	0f b7 c0             	movzwl %ax,%eax
607a0d:	eb 1e                	jmp    0x607a2d
607a0f:	6a 01                	push   $0x1
607a11:	8d 4d fc             	lea    -0x4(%ebp),%ecx
607a14:	51                   	push   %ecx
607a15:	6a 01                	push   $0x1
607a17:	8d 4d 08             	lea    0x8(%ebp),%ecx
607a1a:	51                   	push   %ecx
607a1b:	52                   	push   %edx
607a1c:	50                   	push   %eax
607a1d:	e8 47 a9 00 00       	call   0x612369
607a22:	83 c4 18             	add    $0x18,%esp
607a25:	85 c0                	test   %eax,%eax
607a27:	75 09                	jne    0x607a32
607a29:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
607a2d:	0f b7 c0             	movzwl %ax,%eax
607a30:	eb 04                	jmp    0x607a36
607a32:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
607a36:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
607a3a:	74 0a                	je     0x607a46
607a3c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
607a3f:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
607a46:	c9                   	leave
607a47:	c3                   	ret
607a48:	8b ff                	mov    %edi,%edi
607a4a:	55                   	push   %ebp
607a4b:	8b ec                	mov    %esp,%ebp
607a4d:	8b 4d 08             	mov    0x8(%ebp),%ecx
607a50:	33 d2                	xor    %edx,%edx
607a52:	53                   	push   %ebx
607a53:	56                   	push   %esi
607a54:	be e9 fd 00 00       	mov    $0xfde9,%esi
607a59:	57                   	push   %edi
607a5a:	8d 7e ff             	lea    -0x1(%esi),%edi
607a5d:	3b cf                	cmp    %edi,%ecx
607a5f:	74 06                	je     0x607a67
607a61:	8a da                	mov    %dl,%bl
607a63:	3b ce                	cmp    %esi,%ecx
607a65:	75 02                	jne    0x607a69
607a67:	b3 01                	mov    $0x1,%bl
607a69:	b8 35 c4 00 00       	mov    $0xc435,%eax
607a6e:	3b c8                	cmp    %eax,%ecx
607a70:	77 27                	ja     0x607a99
607a72:	74 4e                	je     0x607ac2
607a74:	83 f9 2a             	cmp    $0x2a,%ecx
607a77:	74 49                	je     0x607ac2
607a79:	81 f9 2b c4 00 00    	cmp    $0xc42b,%ecx
607a7f:	76 38                	jbe    0x607ab9
607a81:	81 f9 2e c4 00 00    	cmp    $0xc42e,%ecx
607a87:	76 39                	jbe    0x607ac2
607a89:	81 f9 31 c4 00 00    	cmp    $0xc431,%ecx
607a8f:	74 31                	je     0x607ac2
607a91:	81 f9 33 c4 00 00    	cmp    $0xc433,%ecx
607a97:	eb 1e                	jmp    0x607ab7
607a99:	81 f9 98 d6 00 00    	cmp    $0xd698,%ecx
607a9f:	74 21                	je     0x607ac2
607aa1:	81 f9 a9 de 00 00    	cmp    $0xdea9,%ecx
607aa7:	76 10                	jbe    0x607ab9
607aa9:	81 f9 b3 de 00 00    	cmp    $0xdeb3,%ecx
607aaf:	76 11                	jbe    0x607ac2
607ab1:	3b cf                	cmp    %edi,%ecx
607ab3:	74 0d                	je     0x607ac2
607ab5:	3b ce                	cmp    %esi,%ecx
607ab7:	74 09                	je     0x607ac2
607ab9:	8b 55 0c             	mov    0xc(%ebp),%edx
607abc:	81 e2 7f ff ff ff    	and    $0xffffff7f,%edx
607ac2:	0f b6 c3             	movzbl %bl,%eax
607ac5:	f7 d8                	neg    %eax
607ac7:	1b c0                	sbb    %eax,%eax
607ac9:	f7 d0                	not    %eax
607acb:	23 45 24             	and    0x24(%ebp),%eax
607ace:	50                   	push   %eax
607acf:	0f b6 c3             	movzbl %bl,%eax
607ad2:	f7 d8                	neg    %eax
607ad4:	1b c0                	sbb    %eax,%eax
607ad6:	f7 d0                	not    %eax
607ad8:	23 45 20             	and    0x20(%ebp),%eax
607adb:	50                   	push   %eax
607adc:	ff 75 1c             	push   0x1c(%ebp)
607adf:	ff 75 18             	push   0x18(%ebp)
607ae2:	ff 75 14             	push   0x14(%ebp)
607ae5:	ff 75 10             	push   0x10(%ebp)
607ae8:	52                   	push   %edx
607ae9:	51                   	push   %ecx
607aea:	ff 15 b4 21 68 00    	call   *0x6821b4
607af0:	5f                   	pop    %edi
607af1:	5e                   	pop    %esi
607af2:	5b                   	pop    %ebx
607af3:	5d                   	pop    %ebp
607af4:	c3                   	ret
607af5:	8b ff                	mov    %edi,%edi
607af7:	55                   	push   %ebp
607af8:	8b ec                	mov    %esp,%ebp
607afa:	83 ec 20             	sub    $0x20,%esp
607afd:	a1 d4 89 72 00       	mov    0x7289d4,%eax
607b02:	33 c5                	xor    %ebp,%eax
607b04:	89 45 fc             	mov    %eax,-0x4(%ebp)
607b07:	8b 45 0c             	mov    0xc(%ebp),%eax
607b0a:	8b 4d 08             	mov    0x8(%ebp),%ecx
607b0d:	89 4d e0             	mov    %ecx,-0x20(%ebp)
607b10:	89 45 e8             	mov    %eax,-0x18(%ebp)
607b13:	53                   	push   %ebx
607b14:	8b 5d 14             	mov    0x14(%ebp),%ebx
607b17:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
607b1a:	56                   	push   %esi
607b1b:	57                   	push   %edi
607b1c:	8b 38                	mov    (%eax),%edi
607b1e:	85 c9                	test   %ecx,%ecx
607b20:	0f 84 8f 00 00 00    	je     0x607bb5
607b26:	8b 45 10             	mov    0x10(%ebp),%eax
607b29:	8b f1                	mov    %ecx,%esi
607b2b:	89 7d f0             	mov    %edi,-0x10(%ebp)
607b2e:	83 f8 04             	cmp    $0x4,%eax
607b31:	73 08                	jae    0x607b3b
607b33:	8d 4d f4             	lea    -0xc(%ebp),%ecx
607b36:	89 4d ec             	mov    %ecx,-0x14(%ebp)
607b39:	eb 05                	jmp    0x607b40
607b3b:	8b ce                	mov    %esi,%ecx
607b3d:	89 75 ec             	mov    %esi,-0x14(%ebp)
607b40:	0f b7 07             	movzwl (%edi),%eax
607b43:	53                   	push   %ebx
607b44:	50                   	push   %eax
607b45:	51                   	push   %ecx
607b46:	e8 5c a8 00 00       	call   0x6123a7
607b4b:	8b d8                	mov    %eax,%ebx
607b4d:	83 c4 0c             	add    $0xc,%esp
607b50:	83 fb ff             	cmp    $0xffffffff,%ebx
607b53:	74 53                	je     0x607ba8
607b55:	8b 45 ec             	mov    -0x14(%ebp),%eax
607b58:	3b c6                	cmp    %esi,%eax
607b5a:	74 10                	je     0x607b6c
607b5c:	39 5d 10             	cmp    %ebx,0x10(%ebp)
607b5f:	72 31                	jb     0x607b92
607b61:	53                   	push   %ebx
607b62:	50                   	push   %eax
607b63:	56                   	push   %esi
607b64:	e8 97 b3 fd ff       	call   0x5e2f00
607b69:	83 c4 0c             	add    $0xc,%esp
607b6c:	85 db                	test   %ebx,%ebx
607b6e:	74 09                	je     0x607b79
607b70:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
607b73:	80 79 ff 00          	cmpb   $0x0,-0x1(%ecx)
607b77:	74 1e                	je     0x607b97
607b79:	83 c7 02             	add    $0x2,%edi
607b7c:	85 db                	test   %ebx,%ebx
607b7e:	74 03                	je     0x607b83
607b80:	89 7d f0             	mov    %edi,-0x10(%ebp)
607b83:	8b 45 10             	mov    0x10(%ebp),%eax
607b86:	2b c3                	sub    %ebx,%eax
607b88:	03 f3                	add    %ebx,%esi
607b8a:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
607b8d:	89 45 10             	mov    %eax,0x10(%ebp)
607b90:	eb 9c                	jmp    0x607b2e
607b92:	8b 45 f0             	mov    -0x10(%ebp),%eax
607b95:	eb 05                	jmp    0x607b9c
607b97:	33 c0                	xor    %eax,%eax
607b99:	8d 71 ff             	lea    -0x1(%ecx),%esi
607b9c:	8b 55 e8             	mov    -0x18(%ebp),%edx
607b9f:	2b 75 e0             	sub    -0x20(%ebp),%esi
607ba2:	89 02                	mov    %eax,(%edx)
607ba4:	8b c6                	mov    %esi,%eax
607ba6:	eb 3c                	jmp    0x607be4
607ba8:	8b 55 e8             	mov    -0x18(%ebp),%edx
607bab:	83 c8 ff             	or     $0xffffffff,%eax
607bae:	8b 4d f0             	mov    -0x10(%ebp),%ecx
607bb1:	89 0a                	mov    %ecx,(%edx)
607bb3:	eb 2f                	jmp    0x607be4
607bb5:	33 f6                	xor    %esi,%esi
607bb7:	eb 10                	jmp    0x607bc9
607bb9:	85 c0                	test   %eax,%eax
607bbb:	74 07                	je     0x607bc4
607bbd:	80 7c 05 f3 00       	cmpb   $0x0,-0xd(%ebp,%eax,1)
607bc2:	74 1d                	je     0x607be1
607bc4:	03 f0                	add    %eax,%esi
607bc6:	83 c7 02             	add    $0x2,%edi
607bc9:	0f b7 07             	movzwl (%edi),%eax
607bcc:	53                   	push   %ebx
607bcd:	50                   	push   %eax
607bce:	8d 45 f4             	lea    -0xc(%ebp),%eax
607bd1:	50                   	push   %eax
607bd2:	e8 d0 a7 00 00       	call   0x6123a7
607bd7:	83 c4 0c             	add    $0xc,%esp
607bda:	83 f8 ff             	cmp    $0xffffffff,%eax
607bdd:	75 da                	jne    0x607bb9
607bdf:	eb 03                	jmp    0x607be4
607be1:	48                   	dec    %eax
607be2:	03 c6                	add    %esi,%eax
607be4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
607be7:	5f                   	pop    %edi
607be8:	5e                   	pop    %esi
607be9:	33 cd                	xor    %ebp,%ecx
607beb:	5b                   	pop    %ebx
607bec:	e8 e9 98 fd ff       	call   0x5e14da
607bf1:	c9                   	leave
607bf2:	c3                   	ret
607bf3:	8b ff                	mov    %edi,%edi
607bf5:	55                   	push   %ebp
607bf6:	8b ec                	mov    %esp,%ebp
607bf8:	51                   	push   %ecx
607bf9:	51                   	push   %ecx
607bfa:	a1 d4 89 72 00       	mov    0x7289d4,%eax
607bff:	33 c5                	xor    %ebp,%eax
607c01:	89 45 fc             	mov    %eax,-0x4(%ebp)
607c04:	53                   	push   %ebx
607c05:	56                   	push   %esi
607c06:	8b 75 18             	mov    0x18(%ebp),%esi
607c09:	57                   	push   %edi
607c0a:	85 f6                	test   %esi,%esi
607c0c:	7e 14                	jle    0x607c22
607c0e:	56                   	push   %esi
607c0f:	ff 75 14             	push   0x14(%ebp)
607c12:	e8 86 95 ff ff       	call   0x60119d
607c17:	59                   	pop    %ecx
607c18:	3b c6                	cmp    %esi,%eax
607c1a:	59                   	pop    %ecx
607c1b:	8d 70 01             	lea    0x1(%eax),%esi
607c1e:	7c 02                	jl     0x607c22
607c20:	8b f0                	mov    %eax,%esi
607c22:	8b 7d 24             	mov    0x24(%ebp),%edi
607c25:	85 ff                	test   %edi,%edi
607c27:	75 0b                	jne    0x607c34
607c29:	8b 45 08             	mov    0x8(%ebp),%eax
607c2c:	8b 00                	mov    (%eax),%eax
607c2e:	8b 78 08             	mov    0x8(%eax),%edi
607c31:	89 7d 24             	mov    %edi,0x24(%ebp)
607c34:	33 c0                	xor    %eax,%eax
607c36:	39 45 28             	cmp    %eax,0x28(%ebp)
607c39:	6a 00                	push   $0x0
607c3b:	6a 00                	push   $0x0
607c3d:	0f 95 c0             	setne  %al
607c40:	56                   	push   %esi
607c41:	ff 75 14             	push   0x14(%ebp)
607c44:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
607c4b:	50                   	push   %eax
607c4c:	57                   	push   %edi
607c4d:	e8 44 f2 ff ff       	call   0x606e96
607c52:	8b d0                	mov    %eax,%edx
607c54:	83 c4 18             	add    $0x18,%esp
607c57:	89 55 f8             	mov    %edx,-0x8(%ebp)
607c5a:	85 d2                	test   %edx,%edx
607c5c:	0f 84 58 01 00 00    	je     0x607dba
607c62:	8d 04 12             	lea    (%edx,%edx,1),%eax
607c65:	8d 48 08             	lea    0x8(%eax),%ecx
607c68:	3b c1                	cmp    %ecx,%eax
607c6a:	1b c0                	sbb    %eax,%eax
607c6c:	23 c1                	and    %ecx,%eax
607c6e:	74 35                	je     0x607ca5
607c70:	3d 00 04 00 00       	cmp    $0x400,%eax
607c75:	77 13                	ja     0x607c8a
607c77:	e8 d4 a1 fd ff       	call   0x5e1e50
607c7c:	8b dc                	mov    %esp,%ebx
607c7e:	85 db                	test   %ebx,%ebx
607c80:	74 1e                	je     0x607ca0
607c82:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
607c88:	eb 13                	jmp    0x607c9d
607c8a:	50                   	push   %eax
607c8b:	e8 65 e1 ff ff       	call   0x605df5
607c90:	8b d8                	mov    %eax,%ebx
607c92:	59                   	pop    %ecx
607c93:	85 db                	test   %ebx,%ebx
607c95:	74 09                	je     0x607ca0
607c97:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
607c9d:	83 c3 08             	add    $0x8,%ebx
607ca0:	8b 55 f8             	mov    -0x8(%ebp),%edx
607ca3:	eb 02                	jmp    0x607ca7
607ca5:	33 db                	xor    %ebx,%ebx
607ca7:	85 db                	test   %ebx,%ebx
607ca9:	0f 84 00 01 00 00    	je     0x607daf
607caf:	52                   	push   %edx
607cb0:	53                   	push   %ebx
607cb1:	56                   	push   %esi
607cb2:	ff 75 14             	push   0x14(%ebp)
607cb5:	6a 01                	push   $0x1
607cb7:	57                   	push   %edi
607cb8:	e8 d9 f1 ff ff       	call   0x606e96
607cbd:	83 c4 18             	add    $0x18,%esp
607cc0:	85 c0                	test   %eax,%eax
607cc2:	0f 84 e7 00 00 00    	je     0x607daf
607cc8:	8b 7d f8             	mov    -0x8(%ebp),%edi
607ccb:	33 c0                	xor    %eax,%eax
607ccd:	50                   	push   %eax
607cce:	50                   	push   %eax
607ccf:	50                   	push   %eax
607cd0:	50                   	push   %eax
607cd1:	50                   	push   %eax
607cd2:	57                   	push   %edi
607cd3:	53                   	push   %ebx
607cd4:	ff 75 10             	push   0x10(%ebp)
607cd7:	ff 75 0c             	push   0xc(%ebp)
607cda:	e8 28 fb ff ff       	call   0x607807
607cdf:	8b f0                	mov    %eax,%esi
607ce1:	85 f6                	test   %esi,%esi
607ce3:	0f 84 c6 00 00 00    	je     0x607daf
607ce9:	ba 00 04 00 00       	mov    $0x400,%edx
607cee:	85 55 10             	test   %edx,0x10(%ebp)
607cf1:	74 38                	je     0x607d2b
607cf3:	8b 45 20             	mov    0x20(%ebp),%eax
607cf6:	85 c0                	test   %eax,%eax
607cf8:	0f 84 b3 00 00 00    	je     0x607db1
607cfe:	3b f0                	cmp    %eax,%esi
607d00:	0f 8f a9 00 00 00    	jg     0x607daf
607d06:	33 c9                	xor    %ecx,%ecx
607d08:	51                   	push   %ecx
607d09:	51                   	push   %ecx
607d0a:	51                   	push   %ecx
607d0b:	50                   	push   %eax
607d0c:	ff 75 1c             	push   0x1c(%ebp)
607d0f:	57                   	push   %edi
607d10:	53                   	push   %ebx
607d11:	ff 75 10             	push   0x10(%ebp)
607d14:	ff 75 0c             	push   0xc(%ebp)
607d17:	e8 eb fa ff ff       	call   0x607807
607d1c:	8b f0                	mov    %eax,%esi
607d1e:	85 f6                	test   %esi,%esi
607d20:	0f 85 8b 00 00 00    	jne    0x607db1
607d26:	e9 84 00 00 00       	jmp    0x607daf
607d2b:	8d 04 36             	lea    (%esi,%esi,1),%eax
607d2e:	8d 48 08             	lea    0x8(%eax),%ecx
607d31:	3b c1                	cmp    %ecx,%eax
607d33:	1b c0                	sbb    %eax,%eax
607d35:	23 c1                	and    %ecx,%eax
607d37:	74 2f                	je     0x607d68
607d39:	3b c2                	cmp    %edx,%eax
607d3b:	77 13                	ja     0x607d50
607d3d:	e8 0e a1 fd ff       	call   0x5e1e50
607d42:	8b fc                	mov    %esp,%edi
607d44:	85 ff                	test   %edi,%edi
607d46:	74 60                	je     0x607da8
607d48:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
607d4e:	eb 13                	jmp    0x607d63
607d50:	50                   	push   %eax
607d51:	e8 9f e0 ff ff       	call   0x605df5
607d56:	8b f8                	mov    %eax,%edi
607d58:	59                   	pop    %ecx
607d59:	85 ff                	test   %edi,%edi
607d5b:	74 4b                	je     0x607da8
607d5d:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
607d63:	83 c7 08             	add    $0x8,%edi
607d66:	eb 02                	jmp    0x607d6a
607d68:	33 ff                	xor    %edi,%edi
607d6a:	85 ff                	test   %edi,%edi
607d6c:	74 3a                	je     0x607da8
607d6e:	6a 00                	push   $0x0
607d70:	6a 00                	push   $0x0
607d72:	6a 00                	push   $0x0
607d74:	56                   	push   %esi
607d75:	57                   	push   %edi
607d76:	ff 75 f8             	push   -0x8(%ebp)
607d79:	53                   	push   %ebx