5f1b01:	85 c0                	test   %eax,%eax
5f1b03:	75 0a                	jne    0x5f1b0f
5f1b05:	e8 ef b4 ff ff       	call   0x5ecff9
5f1b0a:	8b 4d 14             	mov    0x14(%ebp),%ecx
5f1b0d:	89 01                	mov    %eax,(%ecx)
5f1b0f:	83 38 2a             	cmpl   $0x2a,(%eax)
5f1b12:	75 20                	jne    0x5f1b34
5f1b14:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f1b17:	6a 3f                	push   $0x3f
5f1b19:	e8 75 fc ff ff       	call   0x5f1793
5f1b1e:	84 c0                	test   %al,%al
5f1b20:	74 04                	je     0x5f1b26
5f1b22:	ff 07                	incl   (%edi)
5f1b24:	eb 03                	jmp    0x5f1b29
5f1b26:	83 0f ff             	orl    $0xffffffff,(%edi)
5f1b29:	8b 55 fc             	mov    -0x4(%ebp),%edx
5f1b2c:	43                   	inc    %ebx
5f1b2d:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
5f1b30:	75 bb                	jne    0x5f1aed
5f1b32:	eb 03                	jmp    0x5f1b37
5f1b34:	83 0f ff             	orl    $0xffffffff,(%edi)
5f1b37:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f1b3a:	5f                   	pop    %edi
5f1b3b:	83 3e 00             	cmpl   $0x0,(%esi)
5f1b3e:	75 06                	jne    0x5f1b46
5f1b40:	85 c0                	test   %eax,%eax
5f1b42:	74 02                	je     0x5f1b46
5f1b44:	89 06                	mov    %eax,(%esi)
5f1b46:	5e                   	pop    %esi
5f1b47:	5b                   	pop    %ebx
5f1b48:	c9                   	leave
5f1b49:	c2 10 00             	ret    $0x10
5f1b4c:	8b ff                	mov    %edi,%edi
5f1b4e:	55                   	push   %ebp
5f1b4f:	8b ec                	mov    %esp,%ebp
5f1b51:	83 ec 38             	sub    $0x38,%esp
5f1b54:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f1b57:	8b 4d 10             	mov    0x10(%ebp),%ecx
5f1b5a:	8b 55 14             	mov    0x14(%ebp),%edx
5f1b5d:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f1b60:	8b 45 18             	mov    0x18(%ebp),%eax
5f1b63:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f1b66:	8b 45 08             	mov    0x8(%ebp),%eax
5f1b69:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f1b6c:	8b 45 0c             	mov    0xc(%ebp),%eax
5f1b6f:	89 55 f0             	mov    %edx,-0x10(%ebp)
5f1b72:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f1b75:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f1b78:	85 c9                	test   %ecx,%ecx
5f1b7a:	75 15                	jne    0x5f1b91
5f1b7c:	e8 78 b4 ff ff       	call   0x5ecff9
5f1b81:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1b87:	e8 93 b3 ff ff       	call   0x5ecf1f
5f1b8c:	83 c8 ff             	or     $0xffffffff,%eax
5f1b8f:	c9                   	leave
5f1b90:	c3                   	ret
5f1b91:	85 d2                	test   %edx,%edx
5f1b93:	74 e7                	je     0x5f1b7c
5f1b95:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f1b98:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5f1b9b:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f1b9e:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f1ba1:	89 45 cc             	mov    %eax,-0x34(%ebp)
5f1ba4:	8d 45 dc             	lea    -0x24(%ebp),%eax
5f1ba7:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f1baa:	8d 45 f0             	lea    -0x10(%ebp),%eax
5f1bad:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f1bb0:	8d 45 ec             	lea    -0x14(%ebp),%eax
5f1bb3:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f1bb6:	8d 45 e8             	lea    -0x18(%ebp),%eax
5f1bb9:	50                   	push   %eax
5f1bba:	8d 45 c8             	lea    -0x38(%ebp),%eax
5f1bbd:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f1bc0:	50                   	push   %eax
5f1bc1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5f1bc4:	50                   	push   %eax
5f1bc5:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5f1bc8:	e8 49 cc ff ff       	call   0x5ee816
5f1bcd:	c9                   	leave
5f1bce:	c3                   	ret
5f1bcf:	8b ff                	mov    %edi,%edi
5f1bd1:	55                   	push   %ebp
5f1bd2:	8b ec                	mov    %esp,%ebp
5f1bd4:	83 ec 38             	sub    $0x38,%esp
5f1bd7:	8b 45 1c             	mov    0x1c(%ebp),%eax
5f1bda:	8b 4d 10             	mov    0x10(%ebp),%ecx
5f1bdd:	8b 55 14             	mov    0x14(%ebp),%edx
5f1be0:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f1be3:	8b 45 18             	mov    0x18(%ebp),%eax
5f1be6:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f1be9:	8b 45 08             	mov    0x8(%ebp),%eax
5f1bec:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f1bef:	8b 45 0c             	mov    0xc(%ebp),%eax
5f1bf2:	89 55 f0             	mov    %edx,-0x10(%ebp)
5f1bf5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f1bf8:	89 45 e0             	mov    %eax,-0x20(%ebp)
5f1bfb:	85 c9                	test   %ecx,%ecx
5f1bfd:	75 15                	jne    0x5f1c14
5f1bff:	e8 f5 b3 ff ff       	call   0x5ecff9
5f1c04:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1c0a:	e8 10 b3 ff ff       	call   0x5ecf1f
5f1c0f:	83 c8 ff             	or     $0xffffffff,%eax
5f1c12:	c9                   	leave
5f1c13:	c3                   	ret
5f1c14:	85 d2                	test   %edx,%edx
5f1c16:	74 e7                	je     0x5f1bff
5f1c18:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f1c1b:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5f1c1e:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f1c21:	8d 45 f4             	lea    -0xc(%ebp),%eax
5f1c24:	89 45 cc             	mov    %eax,-0x34(%ebp)
5f1c27:	8d 45 dc             	lea    -0x24(%ebp),%eax
5f1c2a:	89 45 d0             	mov    %eax,-0x30(%ebp)
5f1c2d:	8d 45 f0             	lea    -0x10(%ebp),%eax
5f1c30:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5f1c33:	8d 45 ec             	lea    -0x14(%ebp),%eax
5f1c36:	89 45 d8             	mov    %eax,-0x28(%ebp)
5f1c39:	8d 45 e8             	lea    -0x18(%ebp),%eax
5f1c3c:	50                   	push   %eax
5f1c3d:	8d 45 c8             	lea    -0x38(%ebp),%eax
5f1c40:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5f1c43:	50                   	push   %eax
5f1c44:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5f1c47:	50                   	push   %eax
5f1c48:	8d 4d ff             	lea    -0x1(%ebp),%ecx
5f1c4b:	e8 6b cb ff ff       	call   0x5ee7bb
5f1c50:	c9                   	leave
5f1c51:	c3                   	ret
5f1c52:	8b ff                	mov    %edi,%edi
5f1c54:	55                   	push   %ebp
5f1c55:	8b ec                	mov    %esp,%ebp
5f1c57:	ff 75 24             	push   0x24(%ebp)
5f1c5a:	ff 75 20             	push   0x20(%ebp)
5f1c5d:	ff 75 1c             	push   0x1c(%ebp)
5f1c60:	ff 75 18             	push   0x18(%ebp)
5f1c63:	ff 75 14             	push   0x14(%ebp)
5f1c66:	ff 75 10             	push   0x10(%ebp)
5f1c69:	ff 75 0c             	push   0xc(%ebp)
5f1c6c:	ff 75 08             	push   0x8(%ebp)
5f1c6f:	e8 fd cb ff ff       	call   0x5ee871
5f1c74:	83 c4 20             	add    $0x20,%esp
5f1c77:	5d                   	pop    %ebp
5f1c78:	c3                   	ret
5f1c79:	8b ff                	mov    %edi,%edi
5f1c7b:	55                   	push   %ebp
5f1c7c:	8b ec                	mov    %esp,%ebp
5f1c7e:	ff 75 24             	push   0x24(%ebp)
5f1c81:	ff 75 20             	push   0x20(%ebp)
5f1c84:	ff 75 1c             	push   0x1c(%ebp)
5f1c87:	ff 75 18             	push   0x18(%ebp)
5f1c8a:	ff 75 14             	push   0x14(%ebp)
5f1c8d:	ff 75 10             	push   0x10(%ebp)
5f1c90:	ff 75 0c             	push   0xc(%ebp)
5f1c93:	ff 75 08             	push   0x8(%ebp)
5f1c96:	e8 be cc ff ff       	call   0x5ee959
5f1c9b:	83 c4 20             	add    $0x20,%esp
5f1c9e:	5d                   	pop    %ebp
5f1c9f:	c3                   	ret
5f1ca0:	8b ff                	mov    %edi,%edi
5f1ca2:	55                   	push   %ebp
5f1ca3:	8b ec                	mov    %esp,%ebp
5f1ca5:	ff 75 20             	push   0x20(%ebp)
5f1ca8:	ff 75 1c             	push   0x1c(%ebp)
5f1cab:	ff 75 18             	push   0x18(%ebp)
5f1cae:	ff 75 14             	push   0x14(%ebp)
5f1cb1:	ff 75 10             	push   0x10(%ebp)
5f1cb4:	ff 75 0c             	push   0xc(%ebp)
5f1cb7:	ff 75 08             	push   0x8(%ebp)
5f1cba:	e8 8b d0 ff ff       	call   0x5eed4a
5f1cbf:	83 c4 1c             	add    $0x1c,%esp
5f1cc2:	5d                   	pop    %ebp
5f1cc3:	c3                   	ret
5f1cc4:	8b ff                	mov    %edi,%edi
5f1cc6:	55                   	push   %ebp
5f1cc7:	8b ec                	mov    %esp,%ebp
5f1cc9:	ff 75 20             	push   0x20(%ebp)
5f1ccc:	ff 75 1c             	push   0x1c(%ebp)
5f1ccf:	ff 75 18             	push   0x18(%ebp)
5f1cd2:	ff 75 14             	push   0x14(%ebp)
5f1cd5:	ff 75 10             	push   0x10(%ebp)
5f1cd8:	ff 75 0c             	push   0xc(%ebp)
5f1cdb:	ff 75 08             	push   0x8(%ebp)
5f1cde:	e8 e5 d1 ff ff       	call   0x5eeec8
5f1ce3:	83 c4 1c             	add    $0x1c,%esp
5f1ce6:	5d                   	pop    %ebp
5f1ce7:	c3                   	ret
5f1ce8:	8b ff                	mov    %edi,%edi
5f1cea:	55                   	push   %ebp
5f1ceb:	8b ec                	mov    %esp,%ebp
5f1ced:	ff 75 20             	push   0x20(%ebp)
5f1cf0:	ff 75 1c             	push   0x1c(%ebp)
5f1cf3:	ff 75 18             	push   0x18(%ebp)
5f1cf6:	ff 75 14             	push   0x14(%ebp)
5f1cf9:	ff 75 10             	push   0x10(%ebp)
5f1cfc:	ff 75 0c             	push   0xc(%ebp)
5f1cff:	ff 75 08             	push   0x8(%ebp)
5f1d02:	e8 39 d2 ff ff       	call   0x5eef40
5f1d07:	83 c4 1c             	add    $0x1c,%esp
5f1d0a:	5d                   	pop    %ebp
5f1d0b:	c3                   	ret
5f1d0c:	8b ff                	mov    %edi,%edi
5f1d0e:	55                   	push   %ebp
5f1d0f:	8b ec                	mov    %esp,%ebp
5f1d11:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5f1d15:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5f1d18:	99                   	cltd
5f1d19:	33 d2                	xor    %edx,%edx
5f1d1b:	c1 e0 1f             	shl    $0x1f,%eax
5f1d1e:	83 ca 01             	or     $0x1,%edx
5f1d21:	0d 00 00 f0 7f       	or     $0x7ff00000,%eax
5f1d26:	89 11                	mov    %edx,(%ecx)
5f1d28:	89 41 04             	mov    %eax,0x4(%ecx)
5f1d2b:	5d                   	pop    %ebp
5f1d2c:	c3                   	ret
5f1d2d:	8b ff                	mov    %edi,%edi
5f1d2f:	55                   	push   %ebp
5f1d30:	8b ec                	mov    %esp,%ebp
5f1d32:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5f1d35:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5f1d39:	c1 e0 1f             	shl    $0x1f,%eax
5f1d3c:	8d 49 7f             	lea    0x7f(%ecx),%ecx
5f1d3f:	c1 e1 17             	shl    $0x17,%ecx
5f1d42:	81 e1 00 00 80 7f    	and    $0x7f800000,%ecx
5f1d48:	0b c8                	or     %eax,%ecx
5f1d4a:	8b 45 10             	mov    0x10(%ebp),%eax
5f1d4d:	25 ff ff 7f 00       	and    $0x7fffff,%eax
5f1d52:	0b c8                	or     %eax,%ecx
5f1d54:	8b 45 18             	mov    0x18(%ebp),%eax
5f1d57:	89 08                	mov    %ecx,(%eax)
5f1d59:	33 c0                	xor    %eax,%eax
5f1d5b:	5d                   	pop    %ebp
5f1d5c:	c3                   	ret
5f1d5d:	8b ff                	mov    %edi,%edi
5f1d5f:	55                   	push   %ebp
5f1d60:	8b ec                	mov    %esp,%ebp
5f1d62:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
5f1d66:	33 c9                	xor    %ecx,%ecx
5f1d68:	0b 4d 10             	or     0x10(%ebp),%ecx
5f1d6b:	56                   	push   %esi
5f1d6c:	8b 75 0c             	mov    0xc(%ebp),%esi
5f1d6f:	99                   	cltd
5f1d70:	81 c6 ff 03 00 00    	add    $0x3ff,%esi
5f1d76:	0f a4 c2 0b          	shld   $0xb,%eax,%edx
5f1d7a:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
5f1d80:	c1 e0 0b             	shl    $0xb,%eax
5f1d83:	0b f0                	or     %eax,%esi
5f1d85:	8b 45 14             	mov    0x14(%ebp),%eax
5f1d88:	c1 e6 14             	shl    $0x14,%esi
5f1d8b:	25 ff ff 0f 00       	and    $0xfffff,%eax
5f1d90:	0b f0                	or     %eax,%esi
5f1d92:	8b 45 18             	mov    0x18(%ebp),%eax
5f1d95:	89 70 04             	mov    %esi,0x4(%eax)
5f1d98:	89 08                	mov    %ecx,(%eax)
5f1d9a:	33 c0                	xor    %eax,%eax
5f1d9c:	5e                   	pop    %esi
5f1d9d:	5d                   	pop    %ebp
5f1d9e:	c3                   	ret
5f1d9f:	8b ff                	mov    %edi,%edi
5f1da1:	55                   	push   %ebp
5f1da2:	8b ec                	mov    %esp,%ebp
5f1da4:	81 ec 98 00 00 00    	sub    $0x98,%esp
5f1daa:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5f1daf:	33 c5                	xor    %ebp,%eax
5f1db1:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f1db4:	57                   	push   %edi
5f1db5:	8b 7d 10             	mov    0x10(%ebp),%edi
5f1db8:	85 ff                	test   %edi,%edi
5f1dba:	75 15                	jne    0x5f1dd1
5f1dbc:	e8 38 b2 ff ff       	call   0x5ecff9
5f1dc1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1dc7:	e8 53 b1 ff ff       	call   0x5ecf1f
5f1dcc:	83 c8 ff             	or     $0xffffffff,%eax
5f1dcf:	eb 75                	jmp    0x5f1e46
5f1dd1:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
5f1dd5:	74 e5                	je     0x5f1dbc
5f1dd7:	56                   	push   %esi
5f1dd8:	ff 75 14             	push   0x14(%ebp)
5f1ddb:	57                   	push   %edi
5f1ddc:	e8 16 80 00 00       	call   0x5f9df7
5f1de1:	59                   	pop    %ecx
5f1de2:	59                   	pop    %ecx
5f1de3:	ff 75 1c             	push   0x1c(%ebp)
5f1de6:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
5f1dec:	8b f0                	mov    %eax,%esi
5f1dee:	e8 9a bd ff ff       	call   0x5edb8d
5f1df3:	ff 75 20             	push   0x20(%ebp)
5f1df6:	8d 04 37             	lea    (%edi,%esi,1),%eax
5f1df9:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
5f1dff:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5f1e05:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
5f1e08:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
5f1e0e:	89 7d 80             	mov    %edi,-0x80(%ebp)
5f1e11:	50                   	push   %eax
5f1e12:	ff 75 18             	push   0x18(%ebp)
5f1e15:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
5f1e1b:	ff 75 0c             	push   0xc(%ebp)
5f1e1e:	ff 75 08             	push   0x8(%ebp)
5f1e21:	50                   	push   %eax
5f1e22:	e8 61 12 00 00       	call   0x5f3088
5f1e27:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
5f1e2a:	e8 2c 3d 00 00       	call   0x5f5b5b
5f1e2f:	80 bd 74 ff ff ff 00 	cmpb   $0x0,-0x8c(%ebp)
5f1e36:	5e                   	pop    %esi
5f1e37:	74 0d                	je     0x5f1e46
5f1e39:	8b 8d 68 ff ff ff    	mov    -0x98(%ebp),%ecx
5f1e3f:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
5f1e46:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f1e49:	33 cd                	xor    %ebp,%ecx
5f1e4b:	5f                   	pop    %edi
5f1e4c:	e8 89 f6 fe ff       	call   0x5e14da
5f1e51:	c9                   	leave
5f1e52:	c3                   	ret
5f1e53:	8b ff                	mov    %edi,%edi
5f1e55:	55                   	push   %ebp
5f1e56:	8b ec                	mov    %esp,%ebp
5f1e58:	51                   	push   %ecx
5f1e59:	51                   	push   %ecx
5f1e5a:	8b 45 0c             	mov    0xc(%ebp),%eax
5f1e5d:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f1e60:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f1e63:	50                   	push   %eax
5f1e64:	ff 75 08             	push   0x8(%ebp)
5f1e67:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
5f1e6b:	e8 3a 19 00 00       	call   0x5f37aa
5f1e70:	59                   	pop    %ecx
5f1e71:	59                   	pop    %ecx
5f1e72:	c9                   	leave
5f1e73:	c3                   	ret
5f1e74:	8b ff                	mov    %edi,%edi
5f1e76:	55                   	push   %ebp
5f1e77:	8b ec                	mov    %esp,%ebp
5f1e79:	51                   	push   %ecx
5f1e7a:	51                   	push   %ecx
5f1e7b:	8b 45 0c             	mov    0xc(%ebp),%eax
5f1e7e:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f1e81:	8d 45 f8             	lea    -0x8(%ebp),%eax
5f1e84:	50                   	push   %eax
5f1e85:	ff 75 08             	push   0x8(%ebp)
5f1e88:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5f1e8c:	e8 19 19 00 00       	call   0x5f37aa
5f1e91:	59                   	pop    %ecx
5f1e92:	59                   	pop    %ecx
5f1e93:	c9                   	leave
5f1e94:	c3                   	ret
5f1e95:	8b ff                	mov    %edi,%edi
5f1e97:	55                   	push   %ebp
5f1e98:	8b ec                	mov    %esp,%ebp
5f1e9a:	51                   	push   %ecx
5f1e9b:	51                   	push   %ecx
5f1e9c:	8b 45 0c             	mov    0xc(%ebp),%eax