5f8b24:	50                   	push   %eax
5f8b25:	e8 ed be 00 00       	call   0x604a17
5f8b2a:	59                   	pop    %ecx
5f8b2b:	39 5d e4             	cmp    %ebx,-0x1c(%ebp)
5f8b2e:	75 0d                	jne    0x5f8b3d
5f8b30:	e8 c4 44 ff ff       	call   0x5ecff9
5f8b35:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
5f8b3b:	eb c0                	jmp    0x5f8afd
5f8b3d:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5f8b40:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5f8b43:	ff 75 e4             	push   -0x1c(%ebp)
5f8b46:	ff 75 10             	push   0x10(%ebp)
5f8b49:	57                   	push   %edi
5f8b4a:	56                   	push   %esi
5f8b4b:	e8 c2 02 01 00       	call   0x608e12
5f8b50:	83 c4 10             	add    $0x10,%esp
5f8b53:	8b f0                	mov    %eax,%esi
5f8b55:	89 75 e0             	mov    %esi,-0x20(%ebp)
5f8b58:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5f8b5f:	e8 15 00 00 00       	call   0x5f8b79
5f8b64:	8b c6                	mov    %esi,%eax
5f8b66:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f8b69:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5f8b70:	59                   	pop    %ecx
5f8b71:	5f                   	pop    %edi
5f8b72:	5e                   	pop    %esi
5f8b73:	5b                   	pop    %ebx
5f8b74:	c9                   	leave
5f8b75:	c3                   	ret
5f8b76:	8b 75 e0             	mov    -0x20(%ebp),%esi
5f8b79:	85 f6                	test   %esi,%esi
5f8b7b:	75 09                	jne    0x5f8b86
5f8b7d:	ff 75 e4             	push   -0x1c(%ebp)
5f8b80:	e8 fb be 00 00       	call   0x604a80
5f8b85:	59                   	pop    %ecx
5f8b86:	ff 75 e4             	push   -0x1c(%ebp)
5f8b89:	e8 28 36 00 00       	call   0x5fc1b6
5f8b8e:	59                   	pop    %ecx
5f8b8f:	c3                   	ret
5f8b90:	8b ff                	mov    %edi,%edi
5f8b92:	55                   	push   %ebp
5f8b93:	8b ec                	mov    %esp,%ebp
5f8b95:	5d                   	pop    %ebp
5f8b96:	e9 88 fe ff ff       	jmp    0x5f8a23
5f8b9b:	8b ff                	mov    %edi,%edi
5f8b9d:	55                   	push   %ebp
5f8b9e:	8b ec                	mov    %esp,%ebp
5f8ba0:	6a 40                	push   $0x40
5f8ba2:	ff 75 0c             	push   0xc(%ebp)
5f8ba5:	ff 75 08             	push   0x8(%ebp)
5f8ba8:	e8 2d ff ff ff       	call   0x5f8ada
5f8bad:	83 c4 0c             	add    $0xc,%esp
5f8bb0:	5d                   	pop    %ebp
5f8bb1:	c3                   	ret
5f8bb2:	8b ff                	mov    %edi,%edi
5f8bb4:	55                   	push   %ebp
5f8bb5:	8b ec                	mov    %esp,%ebp
5f8bb7:	56                   	push   %esi
5f8bb8:	8b 75 08             	mov    0x8(%ebp),%esi
5f8bbb:	85 f6                	test   %esi,%esi
5f8bbd:	75 11                	jne    0x5f8bd0
5f8bbf:	e8 35 44 ff ff       	call   0x5ecff9
5f8bc4:	6a 16                	push   $0x16
5f8bc6:	5e                   	pop    %esi
5f8bc7:	89 30                	mov    %esi,(%eax)
5f8bc9:	e8 51 43 ff ff       	call   0x5ecf1f
5f8bce:	eb 24                	jmp    0x5f8bf4
5f8bd0:	68 80 00 00 00       	push   $0x80
5f8bd5:	ff 75 10             	push   0x10(%ebp)
5f8bd8:	ff 75 0c             	push   0xc(%ebp)
5f8bdb:	e8 fa fe ff ff       	call   0x5f8ada
5f8be0:	83 c4 0c             	add    $0xc,%esp
5f8be3:	89 06                	mov    %eax,(%esi)
5f8be5:	85 c0                	test   %eax,%eax
5f8be7:	75 09                	jne    0x5f8bf2
5f8be9:	e8 0b 44 ff ff       	call   0x5ecff9
5f8bee:	8b 30                	mov    (%eax),%esi
5f8bf0:	eb 02                	jmp    0x5f8bf4
5f8bf2:	33 f6                	xor    %esi,%esi
5f8bf4:	8b c6                	mov    %esi,%eax
5f8bf6:	5e                   	pop    %esi
5f8bf7:	5d                   	pop    %ebp
5f8bf8:	c3                   	ret
5f8bf9:	8b ff                	mov    %edi,%edi
5f8bfb:	55                   	push   %ebp
5f8bfc:	8b ec                	mov    %esp,%ebp
5f8bfe:	5d                   	pop    %ebp
5f8bff:	e9 d6 fe ff ff       	jmp    0x5f8ada
5f8c04:	8b ff                	mov    %edi,%edi
5f8c06:	55                   	push   %ebp
5f8c07:	8b ec                	mov    %esp,%ebp
5f8c09:	6a 40                	push   $0x40
5f8c0b:	ff 75 0c             	push   0xc(%ebp)
5f8c0e:	ff 75 08             	push   0x8(%ebp)
5f8c11:	e8 0d fe ff ff       	call   0x5f8a23
5f8c16:	83 c4 0c             	add    $0xc,%esp
5f8c19:	5d                   	pop    %ebp
5f8c1a:	c3                   	ret
5f8c1b:	8b ff                	mov    %edi,%edi
5f8c1d:	55                   	push   %ebp
5f8c1e:	8b ec                	mov    %esp,%ebp
5f8c20:	8b 45 08             	mov    0x8(%ebp),%eax
5f8c23:	85 c0                	test   %eax,%eax
5f8c25:	75 14                	jne    0x5f8c3b
5f8c27:	e8 cd 43 ff ff       	call   0x5ecff9
5f8c2c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8c32:	e8 e8 42 ff ff       	call   0x5ecf1f
5f8c37:	33 c0                	xor    %eax,%eax
5f8c39:	5d                   	pop    %ebp
5f8c3a:	c3                   	ret
5f8c3b:	8b 40 0c             	mov    0xc(%eax),%eax
5f8c3e:	90                   	nop
5f8c3f:	c1 e8 03             	shr    $0x3,%eax
5f8c42:	83 e0 01             	and    $0x1,%eax
5f8c45:	5d                   	pop    %ebp
5f8c46:	c3                   	ret
5f8c47:	8b ff                	mov    %edi,%edi
5f8c49:	55                   	push   %ebp
5f8c4a:	8b ec                	mov    %esp,%ebp
5f8c4c:	8b 45 08             	mov    0x8(%ebp),%eax
5f8c4f:	85 c0                	test   %eax,%eax
5f8c51:	75 14                	jne    0x5f8c67
5f8c53:	e8 a1 43 ff ff       	call   0x5ecff9
5f8c58:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8c5e:	e8 bc 42 ff ff       	call   0x5ecf1f
5f8c63:	33 c0                	xor    %eax,%eax
5f8c65:	5d                   	pop    %ebp
5f8c66:	c3                   	ret
5f8c67:	8b 40 0c             	mov    0xc(%eax),%eax
5f8c6a:	90                   	nop
5f8c6b:	c1 e8 04             	shr    $0x4,%eax
5f8c6e:	83 e0 01             	and    $0x1,%eax
5f8c71:	5d                   	pop    %ebp
5f8c72:	c3                   	ret
5f8c73:	8b ff                	mov    %edi,%edi
5f8c75:	55                   	push   %ebp
5f8c76:	8b ec                	mov    %esp,%ebp
5f8c78:	8b 55 0c             	mov    0xc(%ebp),%edx
5f8c7b:	83 6a 08 01          	subl   $0x1,0x8(%edx)
5f8c7f:	79 0d                	jns    0x5f8c8e
5f8c81:	52                   	push   %edx
5f8c82:	ff 75 08             	push   0x8(%ebp)
5f8c85:	e8 f9 03 01 00       	call   0x609083
5f8c8a:	59                   	pop    %ecx
5f8c8b:	59                   	pop    %ecx
5f8c8c:	5d                   	pop    %ebp
5f8c8d:	c3                   	ret
5f8c8e:	8b 02                	mov    (%edx),%eax
5f8c90:	8a 4d 08             	mov    0x8(%ebp),%cl
5f8c93:	88 08                	mov    %cl,(%eax)
5f8c95:	ff 02                	incl   (%edx)
5f8c97:	0f b6 c1             	movzbl %cl,%eax
5f8c9a:	5d                   	pop    %ebp
5f8c9b:	c3                   	ret
5f8c9c:	6a 0c                	push   $0xc
5f8c9e:	68 70 1b 70 00       	push   $0x701b70
5f8ca3:	e8 68 98 fe ff       	call   0x5e2510
5f8ca8:	8b 75 0c             	mov    0xc(%ebp),%esi
5f8cab:	85 f6                	test   %esi,%esi
5f8cad:	75 18                	jne    0x5f8cc7
5f8caf:	e8 45 43 ff ff       	call   0x5ecff9
5f8cb4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8cba:	e8 60 42 ff ff       	call   0x5ecf1f
5f8cbf:	83 c8 ff             	or     $0xffffffff,%eax
5f8cc2:	e9 c1 00 00 00       	jmp    0x5f8d88
5f8cc7:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5f8ccb:	56                   	push   %esi
5f8ccc:	e8 d1 34 00 00       	call   0x5fc1a2
5f8cd1:	59                   	pop    %ecx
5f8cd2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5f8cd6:	8b 46 0c             	mov    0xc(%esi),%eax
5f8cd9:	90                   	nop
5f8cda:	c1 e8 0c             	shr    $0xc,%eax
5f8cdd:	a8 01                	test   $0x1,%al
5f8cdf:	0f 85 85 00 00 00    	jne    0x5f8d6a
5f8ce5:	56                   	push   %esi
5f8ce6:	e8 bd 6a 00 00       	call   0x5ff7a8
5f8ceb:	59                   	pop    %ecx
5f8cec:	83 f8 ff             	cmp    $0xffffffff,%eax
5f8cef:	74 20                	je     0x5f8d11
5f8cf1:	83 f8 fe             	cmp    $0xfffffffe,%eax
5f8cf4:	74 1b                	je     0x5f8d11
5f8cf6:	8b d0                	mov    %eax,%edx
5f8cf8:	c1 fa 06             	sar    $0x6,%edx
5f8cfb:	8b f8                	mov    %eax,%edi
5f8cfd:	83 e7 3f             	and    $0x3f,%edi
5f8d00:	6b df 38             	imul   $0x38,%edi,%ebx
5f8d03:	03 1c 95 b8 10 73 00 	add    0x7310b8(,%edx,4),%ebx
5f8d0a:	b9 48 8d 72 00       	mov    $0x728d48,%ecx
5f8d0f:	eb 11                	jmp    0x5f8d22
5f8d11:	b9 48 8d 72 00       	mov    $0x728d48,%ecx
5f8d16:	8b d9                	mov    %ecx,%ebx
5f8d18:	8b d0                	mov    %eax,%edx
5f8d1a:	c1 fa 06             	sar    $0x6,%edx
5f8d1d:	8b f8                	mov    %eax,%edi
5f8d1f:	83 e7 3f             	and    $0x3f,%edi
5f8d22:	80 7b 29 00          	cmpb   $0x0,0x29(%ebx)
5f8d26:	75 1a                	jne    0x5f8d42
5f8d28:	83 f8 ff             	cmp    $0xffffffff,%eax
5f8d2b:	74 0f                	je     0x5f8d3c
5f8d2d:	83 f8 fe             	cmp    $0xfffffffe,%eax
5f8d30:	74 0a                	je     0x5f8d3c
5f8d32:	6b cf 38             	imul   $0x38,%edi,%ecx
5f8d35:	03 0c 95 b8 10 73 00 	add    0x7310b8(,%edx,4),%ecx
5f8d3c:	f6 41 2d 01          	testb  $0x1,0x2d(%ecx)
5f8d40:	74 28                	je     0x5f8d6a
5f8d42:	e8 b2 42 ff ff       	call   0x5ecff9
5f8d47:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8d4d:	e8 cd 41 ff ff       	call   0x5ecf1f
5f8d52:	6a fe                	push   $0xfffffffe
5f8d54:	8d 4d f0             	lea    -0x10(%ebp),%ecx
5f8d57:	51                   	push   %ecx
5f8d58:	68 d4 89 72 00       	push   $0x7289d4
5f8d5d:	e8 8e b1 fe ff       	call   0x5e3ef0
5f8d62:	83 c4 0c             	add    $0xc,%esp
5f8d65:	e9 55 ff ff ff       	jmp    0x5f8cbf
5f8d6a:	56                   	push   %esi
5f8d6b:	ff 75 08             	push   0x8(%ebp)
5f8d6e:	e8 00 ff ff ff       	call   0x5f8c73
5f8d73:	59                   	pop    %ecx
5f8d74:	59                   	pop    %ecx
5f8d75:	8b f8                	mov    %eax,%edi
5f8d77:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5f8d7a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5f8d81:	e8 18 00 00 00       	call   0x5f8d9e
5f8d86:	8b c7                	mov    %edi,%eax
5f8d88:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f8d8b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5f8d92:	59                   	pop    %ecx
5f8d93:	5f                   	pop    %edi
5f8d94:	5e                   	pop    %esi
5f8d95:	5b                   	pop    %ebx
5f8d96:	c9                   	leave
5f8d97:	c3                   	ret
5f8d98:	8b 75 0c             	mov    0xc(%ebp),%esi
5f8d9b:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5f8d9e:	56                   	push   %esi
5f8d9f:	e8 12 34 00 00       	call   0x5fc1b6
5f8da4:	59                   	pop    %ecx
5f8da5:	c3                   	ret
5f8da6:	6a 0c                	push   $0xc
5f8da8:	68 90 1b 70 00       	push   $0x701b90
5f8dad:	e8 5e 97 fe ff       	call   0x5e2510
5f8db2:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f8db6:	75 15                	jne    0x5f8dcd
5f8db8:	e8 3c 42 ff ff       	call   0x5ecff9
5f8dbd:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8dc3:	e8 57 41 ff ff       	call   0x5ecf1f
5f8dc8:	83 c8 ff             	or     $0xffffffff,%eax
5f8dcb:	eb 2d                	jmp    0x5f8dfa
5f8dcd:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5f8dd1:	ff 75 08             	push   0x8(%ebp)
5f8dd4:	e8 c9 33 00 00       	call   0x5fc1a2
5f8dd9:	59                   	pop    %ecx
5f8dda:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5f8dde:	ff 75 08             	push   0x8(%ebp)
5f8de1:	e8 b1 00 00 00       	call   0x5f8e97
5f8de6:	59                   	pop    %ecx
5f8de7:	8b f0                	mov    %eax,%esi
5f8de9:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5f8dec:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5f8df3:	e8 15 00 00 00       	call   0x5f8e0d
5f8df8:	8b c6                	mov    %esi,%eax
5f8dfa:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f8dfd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5f8e04:	59                   	pop    %ecx
5f8e05:	5f                   	pop    %edi
5f8e06:	5e                   	pop    %esi
5f8e07:	5b                   	pop    %ebx
5f8e08:	c9                   	leave
5f8e09:	c3                   	ret
5f8e0a:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5f8e0d:	ff 75 08             	push   0x8(%ebp)
5f8e10:	e8 a1 33 00 00       	call   0x5fc1b6
5f8e15:	59                   	pop    %ecx
5f8e16:	c3                   	ret
5f8e17:	6a 10                	push   $0x10
5f8e19:	68 b0 1b 70 00       	push   $0x701bb0
5f8e1e:	e8 ed 96 fe ff       	call   0x5e2510
5f8e23:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f8e27:	75 17                	jne    0x5f8e40
5f8e29:	e8 cb 41 ff ff       	call   0x5ecff9
5f8e2e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8e34:	e8 e6 40 ff ff       	call   0x5ecf1f
5f8e39:	83 ca ff             	or     $0xffffffff,%edx
5f8e3c:	8b c2                	mov    %edx,%eax
5f8e3e:	eb 37                	jmp    0x5f8e77
5f8e40:	33 f6                	xor    %esi,%esi
5f8e42:	89 75 e0             	mov    %esi,-0x20(%ebp)
5f8e45:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5f8e48:	ff 75 08             	push   0x8(%ebp)
5f8e4b:	e8 52 33 00 00       	call   0x5fc1a2
5f8e50:	59                   	pop    %ecx
5f8e51:	89 75 fc             	mov    %esi,-0x4(%ebp)
5f8e54:	ff 75 08             	push   0x8(%ebp)
5f8e57:	e8 66 00 00 00       	call   0x5f8ec2
5f8e5c:	59                   	pop    %ecx
5f8e5d:	8b f0                	mov    %eax,%esi
5f8e5f:	89 75 e0             	mov    %esi,-0x20(%ebp)
5f8e62:	8b fa                	mov    %edx,%edi
5f8e64:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5f8e67:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5f8e6e:	e8 1a 00 00 00       	call   0x5f8e8d
5f8e73:	8b c6                	mov    %esi,%eax
5f8e75:	8b d7                	mov    %edi,%edx
5f8e77:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5f8e7a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5f8e81:	59                   	pop    %ecx
5f8e82:	5f                   	pop    %edi
5f8e83:	5e                   	pop    %esi
5f8e84:	5b                   	pop    %ebx
5f8e85:	c9                   	leave
5f8e86:	c3                   	ret
5f8e87:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5f8e8a:	8b 75 e0             	mov    -0x20(%ebp),%esi
5f8e8d:	ff 75 08             	push   0x8(%ebp)
5f8e90:	e8 21 33 00 00       	call   0x5fc1b6
5f8e95:	59                   	pop    %ecx
5f8e96:	c3                   	ret
5f8e97:	8b ff                	mov    %edi,%edi
5f8e99:	55                   	push   %ebp
5f8e9a:	8b ec                	mov    %esp,%ebp
5f8e9c:	ff 75 08             	push   0x8(%ebp)
5f8e9f:	e8 1e 00 00 00       	call   0x5f8ec2
5f8ea4:	59                   	pop    %ecx
5f8ea5:	85 d2                	test   %edx,%edx
5f8ea7:	7c 17                	jl     0x5f8ec0
5f8ea9:	7f 07                	jg     0x5f8eb2
5f8eab:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5f8eb0:	76 0e                	jbe    0x5f8ec0
5f8eb2:	e8 42 41 ff ff       	call   0x5ecff9
5f8eb7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8ebd:	83 c8 ff             	or     $0xffffffff,%eax
5f8ec0:	5d                   	pop    %ebp
5f8ec1:	c3                   	ret
5f8ec2:	8b ff                	mov    %edi,%edi
5f8ec4:	55                   	push   %ebp
5f8ec5:	8b ec                	mov    %esp,%ebp
5f8ec7:	83 ec 14             	sub    $0x14,%esp
5f8eca:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5f8ece:	75 17                	jne    0x5f8ee7
5f8ed0:	e8 24 41 ff ff       	call   0x5ecff9
5f8ed5:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f8edb:	e8 3f 40 ff ff       	call   0x5ecf1f
5f8ee0:	83 c8 ff             	or     $0xffffffff,%eax
5f8ee3:	0b d0                	or     %eax,%edx
5f8ee5:	c9                   	leave
5f8ee6:	c3                   	ret
5f8ee7:	53                   	push   %ebx
5f8ee8:	57                   	push   %edi