5e6a8b:	8b 45 18             	mov    0x18(%ebp),%eax
5e6a8e:	50                   	push   %eax
5e6a8f:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e6a93:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5e6a9a:	33 c0                	xor    %eax,%eax
5e6a9c:	50                   	push   %eax
5e6a9d:	50                   	push   %eax
5e6a9e:	50                   	push   %eax
5e6a9f:	50                   	push   %eax
5e6aa0:	50                   	push   %eax
5e6aa1:	e8 bd f6 fe ff       	call   0x5d6163
5e6aa6:	83 c4 18             	add    $0x18,%esp
5e6aa9:	33 c0                	xor    %eax,%eax
5e6aab:	5f                   	pop    %edi
5e6aac:	5e                   	pop    %esi
5e6aad:	5b                   	pop    %ebx
5e6aae:	c9                   	leave
5e6aaf:	c3                   	ret
5e6ab0:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5e6ab4:	74 d5                	je     0x5e6a8b
5e6ab6:	83 c8 ff             	or     $0xffffffff,%eax
5e6ab9:	33 d2                	xor    %edx,%edx
5e6abb:	f7 f3                	div    %ebx
5e6abd:	3b f8                	cmp    %eax,%edi
5e6abf:	77 ca                	ja     0x5e6a8b
5e6ac1:	8d 41 0c             	lea    0xc(%ecx),%eax
5e6ac4:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e6ac7:	8b 00                	mov    (%eax),%eax
5e6ac9:	90                   	nop
5e6aca:	a9 c0 04 00 00       	test   $0x4c0,%eax
5e6acf:	74 05                	je     0x5e6ad6
5e6ad1:	8b 51 18             	mov    0x18(%ecx),%edx
5e6ad4:	eb 05                	jmp    0x5e6adb
5e6ad6:	ba 00 10 00 00       	mov    $0x1000,%edx
5e6adb:	8b f3                	mov    %ebx,%esi
5e6add:	89 55 fc             	mov    %edx,-0x4(%ebp)
5e6ae0:	0f af f7             	imul   %edi,%esi
5e6ae3:	8b fe                	mov    %esi,%edi
5e6ae5:	85 f6                	test   %esi,%esi
5e6ae7:	0f 84 fe 00 00 00    	je     0x5e6beb
5e6aed:	8d 59 0c             	lea    0xc(%ecx),%ebx
5e6af0:	8b 03                	mov    (%ebx),%eax
5e6af2:	90                   	nop
5e6af3:	a8 c0                	test   $0xc0,%al
5e6af5:	74 3b                	je     0x5e6b32
5e6af7:	8b 41 08             	mov    0x8(%ecx),%eax
5e6afa:	85 c0                	test   %eax,%eax
5e6afc:	74 34                	je     0x5e6b32
5e6afe:	0f 88 ef 00 00 00    	js     0x5e6bf3
5e6b04:	8b 03                	mov    (%ebx),%eax
5e6b06:	90                   	nop
5e6b07:	a8 01                	test   $0x1,%al
5e6b09:	0f 85 ea 00 00 00    	jne    0x5e6bf9
5e6b0f:	8b 59 08             	mov    0x8(%ecx),%ebx
5e6b12:	3b fb                	cmp    %ebx,%edi
5e6b14:	73 02                	jae    0x5e6b18
5e6b16:	8b df                	mov    %edi,%ebx
5e6b18:	53                   	push   %ebx
5e6b19:	ff 75 08             	push   0x8(%ebp)
5e6b1c:	ff 31                	push   (%ecx)
5e6b1e:	e8 ad c2 fe ff       	call   0x5d2dd0
5e6b23:	8b 4d 14             	mov    0x14(%ebp),%ecx
5e6b26:	83 c4 0c             	add    $0xc,%esp
5e6b29:	2b fb                	sub    %ebx,%edi
5e6b2b:	29 59 08             	sub    %ebx,0x8(%ecx)
5e6b2e:	01 19                	add    %ebx,(%ecx)
5e6b30:	eb 7a                	jmp    0x5e6bac
5e6b32:	3b fa                	cmp    %edx,%edi
5e6b34:	72 7b                	jb     0x5e6bb1
5e6b36:	8b 03                	mov    (%ebx),%eax
5e6b38:	90                   	nop
5e6b39:	a8 c0                	test   $0xc0,%al
5e6b3b:	74 19                	je     0x5e6b56
5e6b3d:	ff 75 18             	push   0x18(%ebp)
5e6b40:	51                   	push   %ecx
5e6b41:	e8 87 97 ff ff       	call   0x5e02cd
5e6b46:	59                   	pop    %ecx
5e6b47:	59                   	pop    %ecx
5e6b48:	85 c0                	test   %eax,%eax
5e6b4a:	0f 85 a9 00 00 00    	jne    0x5e6bf9
5e6b50:	8b 4d 14             	mov    0x14(%ebp),%ecx
5e6b53:	8b 55 fc             	mov    -0x4(%ebp),%edx
5e6b56:	8b c7                	mov    %edi,%eax
5e6b58:	85 d2                	test   %edx,%edx
5e6b5a:	74 0e                	je     0x5e6b6a
5e6b5c:	33 d2                	xor    %edx,%edx
5e6b5e:	f7 75 fc             	divl   -0x4(%ebp)
5e6b61:	8b c7                	mov    %edi,%eax
5e6b63:	2b c2                	sub    %edx,%eax
5e6b65:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e6b68:	eb 03                	jmp    0x5e6b6d
5e6b6a:	89 7d f8             	mov    %edi,-0x8(%ebp)
5e6b6d:	83 f8 fe             	cmp    $0xfffffffe,%eax
5e6b70:	72 06                	jb     0x5e6b78
5e6b72:	6a fe                	push   $0xfffffffe
5e6b74:	58                   	pop    %eax
5e6b75:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e6b78:	ff 75 18             	push   0x18(%ebp)
5e6b7b:	50                   	push   %eax
5e6b7c:	ff 75 08             	push   0x8(%ebp)
5e6b7f:	51                   	push   %ecx
5e6b80:	e8 96 f1 ff ff       	call   0x5e5d1b
5e6b85:	59                   	pop    %ecx
5e6b86:	50                   	push   %eax
5e6b87:	e8 36 da ff ff       	call   0x5e45c2
5e6b8c:	8b d8                	mov    %eax,%ebx
5e6b8e:	83 c4 10             	add    $0x10,%esp
5e6b91:	83 fb ff             	cmp    $0xffffffff,%ebx
5e6b94:	74 71                	je     0x5e6c07
5e6b96:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e6b99:	3b d8                	cmp    %eax,%ebx
5e6b9b:	76 06                	jbe    0x5e6ba3
5e6b9d:	8b d8                	mov    %eax,%ebx
5e6b9f:	2b fb                	sub    %ebx,%edi
5e6ba1:	eb 06                	jmp    0x5e6ba9
5e6ba3:	2b fb                	sub    %ebx,%edi
5e6ba5:	3b d8                	cmp    %eax,%ebx
5e6ba7:	72 5e                	jb     0x5e6c07
5e6ba9:	8b 4d 14             	mov    0x14(%ebp),%ecx
5e6bac:	8b 55 fc             	mov    -0x4(%ebp),%edx
5e6baf:	eb 2f                	jmp    0x5e6be0
5e6bb1:	8b 45 08             	mov    0x8(%ebp),%eax
5e6bb4:	ff 75 18             	push   0x18(%ebp)
5e6bb7:	51                   	push   %ecx
5e6bb8:	0f be 00             	movsbl (%eax),%eax
5e6bbb:	50                   	push   %eax
5e6bbc:	e8 27 93 00 00       	call   0x5efee8
5e6bc1:	83 c4 0c             	add    $0xc,%esp
5e6bc4:	83 f8 ff             	cmp    $0xffffffff,%eax
5e6bc7:	74 30                	je     0x5e6bf9
5e6bc9:	8b 4d 14             	mov    0x14(%ebp),%ecx
5e6bcc:	4f                   	dec    %edi
5e6bcd:	33 db                	xor    %ebx,%ebx
5e6bcf:	8b 51 18             	mov    0x18(%ecx),%edx
5e6bd2:	89 55 fc             	mov    %edx,-0x4(%ebp)
5e6bd5:	85 d2                	test   %edx,%edx
5e6bd7:	7f 06                	jg     0x5e6bdf
5e6bd9:	33 d2                	xor    %edx,%edx
5e6bdb:	42                   	inc    %edx
5e6bdc:	89 55 fc             	mov    %edx,-0x4(%ebp)
5e6bdf:	43                   	inc    %ebx
5e6be0:	01 5d 08             	add    %ebx,0x8(%ebp)
5e6be3:	85 ff                	test   %edi,%edi
5e6be5:	0f 85 02 ff ff ff    	jne    0x5e6aed
5e6beb:	8b 45 10             	mov    0x10(%ebp),%eax
5e6bee:	e9 b8 fe ff ff       	jmp    0x5e6aab
5e6bf3:	6a 10                	push   $0x10
5e6bf5:	58                   	pop    %eax
5e6bf6:	f0 09 03             	lock or %eax,(%ebx)
5e6bf9:	2b f7                	sub    %edi,%esi
5e6bfb:	33 d2                	xor    %edx,%edx
5e6bfd:	8b c6                	mov    %esi,%eax
5e6bff:	f7 75 0c             	divl   0xc(%ebp)
5e6c02:	e9 a4 fe ff ff       	jmp    0x5e6aab
5e6c07:	8b 45 f4             	mov    -0xc(%ebp),%eax
5e6c0a:	6a 10                	push   $0x10
5e6c0c:	59                   	pop    %ecx
5e6c0d:	f0 09 08             	lock or %ecx,(%eax)
5e6c10:	eb e7                	jmp    0x5e6bf9
5e6c12:	8b ff                	mov    %edi,%edi
5e6c14:	55                   	push   %ebp
5e6c15:	8b ec                	mov    %esp,%ebp
5e6c17:	83 ec 28             	sub    $0x28,%esp
5e6c1a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e6c1d:	56                   	push   %esi
5e6c1e:	6a 00                	push   $0x0
5e6c20:	e8 af f2 fe ff       	call   0x5d5ed4
5e6c25:	8d 45 d8             	lea    -0x28(%ebp),%eax
5e6c28:	50                   	push   %eax
5e6c29:	ff 75 14             	push   0x14(%ebp)
5e6c2c:	ff 75 10             	push   0x10(%ebp)
5e6c2f:	ff 75 0c             	push   0xc(%ebp)
5e6c32:	ff 75 08             	push   0x8(%ebp)
5e6c35:	e8 ba fd ff ff       	call   0x5e69f4
5e6c3a:	83 c4 14             	add    $0x14,%esp
5e6c3d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e6c40:	8b f0                	mov    %eax,%esi
5e6c42:	e8 d5 f2 fe ff       	call   0x5d5f1c
5e6c47:	8b c6                	mov    %esi,%eax
5e6c49:	5e                   	pop    %esi
5e6c4a:	c9                   	leave
5e6c4b:	c3                   	ret
5e6c4c:	cc                   	int3
5e6c4d:	cc                   	int3
5e6c4e:	cc                   	int3
5e6c4f:	cc                   	int3
5e6c50:	55                   	push   %ebp
5e6c51:	8b ec                	mov    %esp,%ebp
5e6c53:	56                   	push   %esi
5e6c54:	33 c0                	xor    %eax,%eax
5e6c56:	50                   	push   %eax
5e6c57:	50                   	push   %eax
5e6c58:	50                   	push   %eax
5e6c59:	50                   	push   %eax
5e6c5a:	50                   	push   %eax
5e6c5b:	50                   	push   %eax
5e6c5c:	50                   	push   %eax
5e6c5d:	50                   	push   %eax
5e6c5e:	8b 55 0c             	mov    0xc(%ebp),%edx
5e6c61:	8d 49 00             	lea    0x0(%ecx),%ecx
5e6c64:	8a 02                	mov    (%edx),%al
5e6c66:	0a c0                	or     %al,%al
5e6c68:	74 09                	je     0x5e6c73
5e6c6a:	83 c2 01             	add    $0x1,%edx
5e6c6d:	0f ab 04 24          	bts    %eax,(%esp)
5e6c71:	eb f1                	jmp    0x5e6c64
5e6c73:	8b 75 08             	mov    0x8(%ebp),%esi
5e6c76:	83 c9 ff             	or     $0xffffffff,%ecx
5e6c79:	8d 49 00             	lea    0x0(%ecx),%ecx
5e6c7c:	83 c1 01             	add    $0x1,%ecx
5e6c7f:	8a 06                	mov    (%esi),%al
5e6c81:	0a c0                	or     %al,%al
5e6c83:	74 09                	je     0x5e6c8e
5e6c85:	83 c6 01             	add    $0x1,%esi
5e6c88:	0f a3 04 24          	bt     %eax,(%esp)
5e6c8c:	72 ee                	jb     0x5e6c7c
5e6c8e:	8b c1                	mov    %ecx,%eax
5e6c90:	83 c4 20             	add    $0x20,%esp
5e6c93:	5e                   	pop    %esi
5e6c94:	c9                   	leave
5e6c95:	c3                   	ret
5e6c96:	6a 0c                	push   $0xc
5e6c98:	68 f0 a8 68 00       	push   $0x68a8f0
5e6c9d:	e8 5e bc fe ff       	call   0x5d2900
5e6ca2:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
5e6ca6:	8b 45 08             	mov    0x8(%ebp),%eax
5e6ca9:	ff 30                	push   (%eax)
5e6cab:	e8 bc 93 ff ff       	call   0x5e006c
5e6cb0:	59                   	pop    %ecx
5e6cb1:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
5e6cb5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e6cb8:	e8 34 00 00 00       	call   0x5e6cf1
5e6cbd:	8b f0                	mov    %eax,%esi
5e6cbf:	89 75 e4             	mov    %esi,-0x1c(%ebp)
5e6cc2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5e6cc9:	e8 17 00 00 00       	call   0x5e6ce5
5e6cce:	8b c6                	mov    %esi,%eax
5e6cd0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e6cd3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5e6cda:	59                   	pop    %ecx
5e6cdb:	5f                   	pop    %edi
5e6cdc:	5e                   	pop    %esi
5e6cdd:	5b                   	pop    %ebx
5e6cde:	c9                   	leave
5e6cdf:	c2 0c 00             	ret    $0xc
5e6ce2:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5e6ce5:	8b 45 10             	mov    0x10(%ebp),%eax
5e6ce8:	ff 30                	push   (%eax)
5e6cea:	e8 91 93 ff ff       	call   0x5e0080
5e6cef:	59                   	pop    %ecx
5e6cf0:	c3                   	ret
5e6cf1:	8b ff                	mov    %edi,%edi
5e6cf3:	55                   	push   %ebp
5e6cf4:	8b ec                	mov    %esp,%ebp
5e6cf6:	51                   	push   %ecx
5e6cf7:	51                   	push   %ecx
5e6cf8:	53                   	push   %ebx
5e6cf9:	56                   	push   %esi
5e6cfa:	8b f1                	mov    %ecx,%esi
5e6cfc:	57                   	push   %edi
5e6cfd:	8b 06                	mov    (%esi),%eax
5e6cff:	8b 7e 04             	mov    0x4(%esi),%edi
5e6d02:	8b 00                	mov    (%eax),%eax
5e6d04:	50                   	push   %eax
5e6d05:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e6d08:	e8 1e 54 00 00       	call   0x5ec12b
5e6d0d:	ff 76 04             	push   0x4(%esi)
5e6d10:	88 45 f8             	mov    %al,-0x8(%ebp)
5e6d13:	8b 06                	mov    (%esi),%eax
5e6d15:	ff 30                	push   (%eax)
5e6d17:	8b 46 0c             	mov    0xc(%esi),%eax
5e6d1a:	ff 30                	push   (%eax)
5e6d1c:	8b 46 08             	mov    0x8(%esi),%eax
5e6d1f:	6a 01                	push   $0x1
5e6d21:	ff 30                	push   (%eax)
5e6d23:	e8 43 fd ff ff       	call   0x5e6a6b
5e6d28:	8b 4e 0c             	mov    0xc(%esi),%ecx
5e6d2b:	33 db                	xor    %ebx,%ebx
5e6d2d:	57                   	push   %edi
5e6d2e:	ff 75 fc             	push   -0x4(%ebp)
5e6d31:	3b 01                	cmp    (%ecx),%eax
5e6d33:	ff 75 f8             	push   -0x8(%ebp)
5e6d36:	0f 94 c3             	sete   %bl
5e6d39:	e8 98 54 00 00       	call   0x5ec1d6
5e6d3e:	83 c4 24             	add    $0x24,%esp
5e6d41:	8d 43 ff             	lea    -0x1(%ebx),%eax
5e6d44:	5f                   	pop    %edi
5e6d45:	5e                   	pop    %esi
5e6d46:	5b                   	pop    %ebx
5e6d47:	c9                   	leave
5e6d48:	c3                   	ret
5e6d49:	8b ff                	mov    %edi,%edi
5e6d4b:	55                   	push   %ebp
5e6d4c:	8b ec                	mov    %esp,%ebp
5e6d4e:	83 ec 20             	sub    $0x20,%esp
5e6d51:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5e6d55:	75 23                	jne    0x5e6d7a
5e6d57:	8b 45 10             	mov    0x10(%ebp),%eax
5e6d5a:	50                   	push   %eax
5e6d5b:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e6d5f:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5e6d66:	33 c0                	xor    %eax,%eax
5e6d68:	50                   	push   %eax
5e6d69:	50                   	push   %eax
5e6d6a:	50                   	push   %eax
5e6d6b:	50                   	push   %eax
5e6d6c:	50                   	push   %eax
5e6d6d:	e8 f1 f3 fe ff       	call   0x5d6163
5e6d72:	83 c4 18             	add    $0x18,%esp
5e6d75:	83 c8 ff             	or     $0xffffffff,%eax
5e6d78:	c9                   	leave
5e6d79:	c3                   	ret
5e6d7a:	8b 45 0c             	mov    0xc(%ebp),%eax
5e6d7d:	85 c0                	test   %eax,%eax
5e6d7f:	74 d6                	je     0x5e6d57
5e6d81:	8b 48 0c             	mov    0xc(%eax),%ecx
5e6d84:	56                   	push   %esi
5e6d85:	90                   	nop
5e6d86:	c1 e9 0c             	shr    $0xc,%ecx
5e6d89:	f6 c1 01             	test   $0x1,%cl
5e6d8c:	75 7d                	jne    0x5e6e0b
5e6d8e:	57                   	push   %edi
5e6d8f:	50                   	push   %eax
5e6d90:	e8 86 ef ff ff       	call   0x5e5d1b
5e6d95:	be e0 19 69 00       	mov    $0x6919e0,%esi
5e6d9a:	59                   	pop    %ecx
5e6d9b:	83 f8 ff             	cmp    $0xffffffff,%eax
5e6d9e:	74 1b                	je     0x5e6dbb
5e6da0:	83 f8 fe             	cmp    $0xfffffffe,%eax
5e6da3:	74 16                	je     0x5e6dbb
5e6da5:	8b d0                	mov    %eax,%edx
5e6da7:	8b c8                	mov    %eax,%ecx
5e6da9:	83 e2 3f             	and    $0x3f,%edx
5e6dac:	c1 f9 06             	sar    $0x6,%ecx
5e6daf:	6b fa 38             	imul   $0x38,%edx,%edi
5e6db2:	03 3c 8d a8 70 71 00 	add    0x7170a8(,%ecx,4),%edi
5e6db9:	eb 0c                	jmp    0x5e6dc7
5e6dbb:	8b c8                	mov    %eax,%ecx
5e6dbd:	8b d0                	mov    %eax,%edx
5e6dbf:	c1 f9 06             	sar    $0x6,%ecx
5e6dc2:	8b fe                	mov    %esi,%edi
5e6dc4:	83 e2 3f             	and    $0x3f,%edx
5e6dc7:	80 7f 29 00          	cmpb   $0x0,0x29(%edi)
5e6dcb:	5f                   	pop    %edi
5e6dcc:	75 1a                	jne    0x5e6de8
5e6dce:	83 f8 ff             	cmp    $0xffffffff,%eax
5e6dd1:	74 0f                	je     0x5e6de2
5e6dd3:	83 f8 fe             	cmp    $0xfffffffe,%eax
5e6dd6:	74 0a                	je     0x5e6de2
5e6dd8:	6b f2 38             	imul   $0x38,%edx,%esi