500b0a:	5f                   	pop    %edi
500b0b:	5e                   	pop    %esi
500b0c:	5b                   	pop    %ebx
500b0d:	8b e5                	mov    %ebp,%esp
500b0f:	5d                   	pop    %ebp
500b10:	c2 08 00             	ret    $0x8
500b13:	90                   	nop
500b14:	55                   	push   %ebp
500b15:	8b ec                	mov    %esp,%ebp
500b17:	53                   	push   %ebx
500b18:	6a 00                	push   $0x0
500b1a:	8b 5d 08             	mov    0x8(%ebp),%ebx
500b1d:	53                   	push   %ebx
500b1e:	8b 40 6c             	mov    0x6c(%eax),%eax
500b21:	50                   	push   %eax
500b22:	8b 02                	mov    (%edx),%eax
500b24:	8b d1                	mov    %ecx,%edx
500b26:	8b 4d 0c             	mov    0xc(%ebp),%ecx
500b29:	e8 66 70 00 00       	call   0x507b94
500b2e:	5b                   	pop    %ebx
500b2f:	5d                   	pop    %ebp
500b30:	c2 08 00             	ret    $0x8
500b33:	90                   	nop
500b34:	55                   	push   %ebp
500b35:	8b ec                	mov    %esp,%ebp
500b37:	51                   	push   %ecx
500b38:	53                   	push   %ebx
500b39:	56                   	push   %esi
500b3a:	57                   	push   %edi
500b3b:	8b 40 6c             	mov    0x6c(%eax),%eax
500b3e:	89 45 fc             	mov    %eax,-0x4(%ebp)
500b41:	eb 2e                	jmp    0x500b71
500b43:	8b 02                	mov    (%edx),%eax
500b45:	8b 5d 0c             	mov    0xc(%ebp),%ebx
500b48:	33 ff                	xor    %edi,%edi
500b4a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
500b4d:	8b 33                	mov    (%ebx),%esi
500b4f:	41                   	inc    %ecx
500b50:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
500b54:	3b 7d fc             	cmp    -0x4(%ebp),%edi
500b57:	73 18                	jae    0x500b71
500b59:	8a 18                	mov    (%eax),%bl
500b5b:	47                   	inc    %edi
500b5c:	88 5e 02             	mov    %bl,0x2(%esi)
500b5f:	8a 18                	mov    (%eax),%bl
500b61:	88 5e 01             	mov    %bl,0x1(%esi)
500b64:	8a 18                	mov    (%eax),%bl
500b66:	40                   	inc    %eax
500b67:	88 1e                	mov    %bl,(%esi)
500b69:	83 c6 03             	add    $0x3,%esi
500b6c:	3b 7d fc             	cmp    -0x4(%ebp),%edi
500b6f:	72 e8                	jb     0x500b59
500b71:	ff 4d 08             	decl   0x8(%ebp)
500b74:	79 cd                	jns    0x500b43
500b76:	5f                   	pop    %edi
500b77:	5e                   	pop    %esi
500b78:	5b                   	pop    %ebx
500b79:	59                   	pop    %ecx
500b7a:	5d                   	pop    %ebp
500b7b:	c2 08 00             	ret    $0x8
500b7e:	90                   	nop
500b7f:	90                   	nop
500b80:	55                   	push   %ebp
500b81:	8b ec                	mov    %esp,%ebp
500b83:	83 c4 c4             	add    $0xffffffc4,%esp
500b86:	53                   	push   %ebx
500b87:	56                   	push   %esi
500b88:	57                   	push   %edi
500b89:	89 4d f8             	mov    %ecx,-0x8(%ebp)
500b8c:	89 55 fc             	mov    %edx,-0x4(%ebp)
500b8f:	8b 90 c0 01 00 00    	mov    0x1c0(%eax),%edx
500b95:	8b 48 6c             	mov    0x6c(%eax),%ecx
500b98:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
500b9b:	8b 88 3c 01 00 00    	mov    0x13c(%eax),%ecx
500ba1:	8b 42 08             	mov    0x8(%edx),%eax
500ba4:	89 45 e0             	mov    %eax,-0x20(%ebp)
500ba7:	8b 42 0c             	mov    0xc(%edx),%eax
500baa:	89 45 dc             	mov    %eax,-0x24(%ebp)
500bad:	8b 42 10             	mov    0x10(%edx),%eax
500bb0:	89 45 d8             	mov    %eax,-0x28(%ebp)
500bb3:	8b 52 14             	mov    0x14(%edx),%edx
500bb6:	89 55 d4             	mov    %edx,-0x2c(%ebp)
500bb9:	e9 ed 00 00 00       	jmp    0x500cab
500bbe:	8b 45 fc             	mov    -0x4(%ebp),%eax
500bc1:	8b 5d f8             	mov    -0x8(%ebp),%ebx
500bc4:	8b 75 f8             	mov    -0x8(%ebp),%esi
500bc7:	33 ff                	xor    %edi,%edi
500bc9:	8b 10                	mov    (%eax),%edx
500bcb:	8b 45 f8             	mov    -0x8(%ebp),%eax
500bce:	8b 14 82             	mov    (%edx,%eax,4),%edx
500bd1:	8b 45 fc             	mov    -0x4(%ebp),%eax
500bd4:	8b 40 04             	mov    0x4(%eax),%eax
500bd7:	8b 1c 98             	mov    (%eax,%ebx,4),%ebx
500bda:	8b 45 fc             	mov    -0x4(%ebp),%eax
500bdd:	8b 40 08             	mov    0x8(%eax),%eax
500be0:	8b 04 b0             	mov    (%eax,%esi,4),%eax
500be3:	89 45 ec             	mov    %eax,-0x14(%ebp)
500be6:	8b 45 fc             	mov    -0x4(%ebp),%eax
500be9:	8b 75 f8             	mov    -0x8(%ebp),%esi
500bec:	8b 40 0c             	mov    0xc(%eax),%eax
500bef:	8b 34 b0             	mov    (%eax,%esi,4),%esi
500bf2:	ff 45 f8             	incl   -0x8(%ebp)
500bf5:	8b 45 0c             	mov    0xc(%ebp),%eax
500bf8:	8b 00                	mov    (%eax),%eax
500bfa:	83 45 0c 04          	addl   $0x4,0xc(%ebp)
500bfe:	89 7d e8             	mov    %edi,-0x18(%ebp)
500c01:	89 75 c4             	mov    %esi,-0x3c(%ebp)
500c04:	8b 75 ec             	mov    -0x14(%ebp),%esi
500c07:	89 75 c8             	mov    %esi,-0x38(%ebp)
500c0a:	89 5d cc             	mov    %ebx,-0x34(%ebp)
500c0d:	89 55 d0             	mov    %edx,-0x30(%ebp)
500c10:	8b 55 e8             	mov    -0x18(%ebp),%edx
500c13:	3b 55 e4             	cmp    -0x1c(%ebp),%edx
500c16:	0f 83 8f 00 00 00    	jae    0x500cab
500c1c:	8b 55 d0             	mov    -0x30(%ebp),%edx
500c1f:	8b 5d cc             	mov    -0x34(%ebp),%ebx
500c22:	0f b6 12             	movzbl (%edx),%edx
500c25:	0f b6 1b             	movzbl (%ebx),%ebx
500c28:	89 5d f4             	mov    %ebx,-0xc(%ebp)
500c2b:	8b 5d c8             	mov    -0x38(%ebp),%ebx
500c2e:	0f b6 1b             	movzbl (%ebx),%ebx
500c31:	89 5d f0             	mov    %ebx,-0x10(%ebp)
500c34:	8b 5d e0             	mov    -0x20(%ebp),%ebx
500c37:	8b 75 f0             	mov    -0x10(%ebp),%esi
500c3a:	8b 1c b3             	mov    (%ebx,%esi,4),%ebx
500c3d:	be ff 00 00 00       	mov    $0xff,%esi
500c42:	03 da                	add    %edx,%ebx
500c44:	2b f3                	sub    %ebx,%esi
500c46:	8a 1c 31             	mov    (%ecx,%esi,1),%bl
500c49:	88 18                	mov    %bl,(%eax)
500c4b:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
500c4e:	8b 75 f4             	mov    -0xc(%ebp),%esi
500c51:	8b 7d f0             	mov    -0x10(%ebp),%edi
500c54:	8b 1c b3             	mov    (%ebx,%esi,4),%ebx
500c57:	8b 75 d8             	mov    -0x28(%ebp),%esi
500c5a:	03 1c be             	add    (%esi,%edi,4),%ebx
500c5d:	be ff 00 00 00       	mov    $0xff,%esi
500c62:	c1 fb 10             	sar    $0x10,%ebx
500c65:	03 da                	add    %edx,%ebx
500c67:	2b f3                	sub    %ebx,%esi
500c69:	8a 1c 31             	mov    (%ecx,%esi,1),%bl
500c6c:	88 58 01             	mov    %bl,0x1(%eax)
500c6f:	8b 5d dc             	mov    -0x24(%ebp),%ebx
500c72:	8b 75 f4             	mov    -0xc(%ebp),%esi
500c75:	03 14 b3             	add    (%ebx,%esi,4),%edx
500c78:	bb ff 00 00 00       	mov    $0xff,%ebx
500c7d:	2b da                	sub    %edx,%ebx
500c7f:	8a 14 19             	mov    (%ecx,%ebx,1),%dl
500c82:	88 50 02             	mov    %dl,0x2(%eax)
500c85:	8b 55 c4             	mov    -0x3c(%ebp),%edx
500c88:	8a 12                	mov    (%edx),%dl
500c8a:	88 50 03             	mov    %dl,0x3(%eax)
500c8d:	83 c0 04             	add    $0x4,%eax
500c90:	ff 45 e8             	incl   -0x18(%ebp)
500c93:	ff 45 c4             	incl   -0x3c(%ebp)
500c96:	ff 45 c8             	incl   -0x38(%ebp)
500c99:	ff 45 cc             	incl   -0x34(%ebp)
500c9c:	ff 45 d0             	incl   -0x30(%ebp)
500c9f:	8b 55 e8             	mov    -0x18(%ebp),%edx
500ca2:	3b 55 e4             	cmp    -0x1c(%ebp),%edx
500ca5:	0f 82 71 ff ff ff    	jb     0x500c1c
500cab:	ff 4d 08             	decl   0x8(%ebp)
500cae:	0f 89 0a ff ff ff    	jns    0x500bbe
500cb4:	5f                   	pop    %edi
500cb5:	5e                   	pop    %esi
500cb6:	5b                   	pop    %ebx
500cb7:	8b e5                	mov    %ebp,%esp
500cb9:	5d                   	pop    %ebp
500cba:	c2 08 00             	ret    $0x8
500cbd:	90                   	nop
500cbe:	90                   	nop
500cbf:	90                   	nop
500cc0:	c3                   	ret
500cc1:	90                   	nop
500cc2:	90                   	nop
500cc3:	90                   	nop
500cc4:	53                   	push   %ebx
500cc5:	8b d8                	mov    %eax,%ebx
500cc7:	8b c3                	mov    %ebx,%eax
500cc9:	56                   	push   %esi
500cca:	b9 18 00 00 00       	mov    $0x18,%ecx
500ccf:	ba 01 00 00 00       	mov    $0x1,%edx
500cd4:	8b 70 04             	mov    0x4(%eax),%esi
500cd7:	ff 16                	call   *(%esi)
500cd9:	8b f0                	mov    %eax,%esi
500cdb:	89 b3 c0 01 00 00    	mov    %esi,0x1c0(%ebx)
500ce1:	c7 06 c0 0c 50 00    	movl   $0x500cc0,(%esi)
500ce7:	8b 43 24             	mov    0x24(%ebx),%eax
500cea:	48                   	dec    %eax
500ceb:	74 0d                	je     0x500cfa
500ced:	48                   	dec    %eax
500cee:	83 e8 02             	sub    $0x2,%eax
500cf1:	72 1e                	jb     0x500d11
500cf3:	83 e8 02             	sub    $0x2,%eax
500cf6:	72 30                	jb     0x500d28
500cf8:	eb 45                	jmp    0x500d3f
500cfa:	83 7b 20 01          	cmpl   $0x1,0x20(%ebx)
500cfe:	74 54                	je     0x500d54
500d00:	8b 13                	mov    (%ebx),%edx
500d02:	8b c3                	mov    %ebx,%eax
500d04:	c7 42 14 08 00 00 00 	movl   $0x8,0x14(%edx)
500d0b:	8b 10                	mov    (%eax),%edx
500d0d:	ff 12                	call   *(%edx)
500d0f:	eb 43                	jmp    0x500d54
500d11:	83 7b 20 03          	cmpl   $0x3,0x20(%ebx)
500d15:	74 3d                	je     0x500d54
500d17:	8b 0b                	mov    (%ebx),%ecx
500d19:	8b c3                	mov    %ebx,%eax
500d1b:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
500d22:	8b 10                	mov    (%eax),%edx
500d24:	ff 12                	call   *(%edx)
500d26:	eb 2c                	jmp    0x500d54
500d28:	83 7b 20 04          	cmpl   $0x4,0x20(%ebx)
500d2c:	74 26                	je     0x500d54
500d2e:	8b 0b                	mov    (%ebx),%ecx
500d30:	8b c3                	mov    %ebx,%eax
500d32:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
500d39:	8b 10                	mov    (%eax),%edx
500d3b:	ff 12                	call   *(%edx)
500d3d:	eb 15                	jmp    0x500d54
500d3f:	83 7b 20 01          	cmpl   $0x1,0x20(%ebx)
500d43:	7d 0f                	jge    0x500d54
500d45:	8b 0b                	mov    (%ebx),%ecx
500d47:	8b c3                	mov    %ebx,%eax
500d49:	c7 41 14 08 00 00 00 	movl   $0x8,0x14(%ecx)
500d50:	8b 10                	mov    (%eax),%edx
500d52:	ff 12                	call   *(%edx)
500d54:	8b 4b 28             	mov    0x28(%ebx),%ecx
500d57:	49                   	dec    %ecx
500d58:	74 11                	je     0x500d6b
500d5a:	49                   	dec    %ecx
500d5b:	74 65                	je     0x500dc2
500d5d:	83 e9 02             	sub    $0x2,%ecx
500d60:	0f 84 ae 00 00 00    	je     0x500e14
500d66:	e9 e6 00 00 00       	jmp    0x500e51
500d6b:	c7 43 74 01 00 00 00 	movl   $0x1,0x74(%ebx)
500d72:	8b 43 24             	mov    0x24(%ebx),%eax
500d75:	83 f8 01             	cmp    $0x1,%eax
500d78:	74 05                	je     0x500d7f
500d7a:	83 f8 03             	cmp    $0x3,%eax
500d7d:	75 2f                	jne    0x500dae
500d7f:	c7 46 04 14 0b 50 00 	movl   $0x500b14,0x4(%esi)
500d86:	b8 01 00 00 00       	mov    $0x1,%eax
500d8b:	eb 17                	jmp    0x500da4
500d8d:	8b d0                	mov    %eax,%edx
500d8f:	8b 8b d4 00 00 00    	mov    0xd4(%ebx),%ecx
500d95:	c1 e2 03             	shl    $0x3,%edx
500d98:	33 f6                	xor    %esi,%esi
500d9a:	2b d0                	sub    %eax,%edx
500d9c:	40                   	inc    %eax
500d9d:	8d 14 52             	lea    (%edx,%edx,2),%edx
500da0:	89 74 91 30          	mov    %esi,0x30(%ecx,%edx,4)
500da4:	3b 43 20             	cmp    0x20(%ebx),%eax
500da7:	7c e4                	jl     0x500d8d
500da9:	e9 c9 00 00 00       	jmp    0x500e77
500dae:	8b 03                	mov    (%ebx),%eax
500db0:	c7 40 14 19 00 00 00 	movl   $0x19,0x14(%eax)
500db7:	8b c3                	mov    %ebx,%eax
500db9:	8b 10                	mov    (%eax),%edx
500dbb:	ff 12                	call   *(%edx)
500dbd:	e9 b5 00 00 00       	jmp    0x500e77
500dc2:	c7 43 74 03 00 00 00 	movl   $0x3,0x74(%ebx)
500dc9:	83 7b 24 03          	cmpl   $0x3,0x24(%ebx)
500dcd:	75 13                	jne    0x500de2
500dcf:	c7 46 04 9c 09 50 00 	movl   $0x50099c,0x4(%esi)
500dd6:	8b c3                	mov    %ebx,%eax
500dd8:	e8 07 fb ff ff       	call   0x5008e4
500ddd:	e9 95 00 00 00       	jmp    0x500e77
500de2:	83 7b 24 02          	cmpl   $0x2,0x24(%ebx)
500de6:	75 0c                	jne    0x500df4
500de8:	c7 46 04 a4 0a 50 00 	movl   $0x500aa4,0x4(%esi)
500def:	e9 83 00 00 00       	jmp    0x500e77
500df4:	83 7b 24 01          	cmpl   $0x1,0x24(%ebx)
500df8:	75 09                	jne    0x500e03
500dfa:	c7 46 04 34 0b 50 00 	movl   $0x500b34,0x4(%esi)
500e01:	eb 74                	jmp    0x500e77
500e03:	8b 13                	mov    (%ebx),%edx
500e05:	8b c3                	mov    %ebx,%eax
500e07:	c7 42 14 19 00 00 00 	movl   $0x19,0x14(%edx)
500e0e:	8b 10                	mov    (%eax),%edx
500e10:	ff 12                	call   *(%edx)
500e12:	eb 63                	jmp    0x500e77
500e14:	c7 43 74 04 00 00 00 	movl   $0x4,0x74(%ebx)
500e1b:	83 7b 24 05          	cmpl   $0x5,0x24(%ebx)
500e1f:	75 10                	jne    0x500e31
500e21:	c7 46 04 80 0b 50 00 	movl   $0x500b80,0x4(%esi)
500e28:	8b c3                	mov    %ebx,%eax
500e2a:	e8 b5 fa ff ff       	call   0x5008e4
500e2f:	eb 46                	jmp    0x500e77
500e31:	83 7b 24 04          	cmpl   $0x4,0x24(%ebx)
500e35:	75 09                	jne    0x500e40
500e37:	c7 46 04 a4 0a 50 00 	movl   $0x500aa4,0x4(%esi)
500e3e:	eb 37                	jmp    0x500e77
500e40:	8b 13                	mov    (%ebx),%edx
500e42:	8b c3                	mov    %ebx,%eax
500e44:	c7 42 14 19 00 00 00 	movl   $0x19,0x14(%edx)
500e4b:	8b 10                	mov    (%eax),%edx
500e4d:	ff 12                	call   *(%edx)
500e4f:	eb 26                	jmp    0x500e77
500e51:	8b 4b 28             	mov    0x28(%ebx),%ecx
500e54:	3b 4b 24             	cmp    0x24(%ebx),%ecx
500e57:	75 0f                	jne    0x500e68
500e59:	8b 43 20             	mov    0x20(%ebx),%eax
500e5c:	89 43 74             	mov    %eax,0x74(%ebx)
500e5f:	c7 46 04 a4 0a 50 00 	movl   $0x500aa4,0x4(%esi)
500e66:	eb 0f                	jmp    0x500e77
500e68:	8b 13                	mov    (%ebx),%edx
500e6a:	8b c3                	mov    %ebx,%eax
500e6c:	c7 42 14 19 00 00 00 	movl   $0x19,0x14(%edx)
500e73:	8b 10                	mov    (%eax),%edx
500e75:	ff 12                	call   *(%edx)
500e77:	83 7b 50 00          	cmpl   $0x0,0x50(%ebx)
500e7b:	74 0a                	je     0x500e87
500e7d:	c7 43 78 01 00 00 00 	movl   $0x1,0x78(%ebx)
500e84:	5e                   	pop    %esi
500e85:	5b                   	pop    %ebx
500e86:	c3                   	ret
500e87:	8b 4b 74             	mov    0x74(%ebx),%ecx
500e8a:	89 4b 78             	mov    %ecx,0x78(%ebx)
500e8d:	5e                   	pop    %esi
500e8e:	5b                   	pop    %ebx
500e8f:	c3                   	ret
500e90:	53                   	push   %ebx
500e91:	56                   	push   %esi
500e92:	57                   	push   %edi
500e93:	83 c4 e8             	add    $0xffffffe8,%esp
500e96:	89 54 24 04          	mov    %edx,0x4(%esp)
500e9a:	89 04 24             	mov    %eax,(%esp)
500e9d:	8b 04 24             	mov    (%esp),%eax
500ea0:	8b 50 74             	mov    0x74(%eax),%edx
500ea3:	89 54 24 08          	mov    %edx,0x8(%esp)
500ea7:	8b 0c 24             	mov    (%esp),%ecx
500eaa:	8b 41 5c             	mov    0x5c(%ecx),%eax
500ead:	89 44 24 0c          	mov    %eax,0xc(%esp)
500eb1:	bb 01 00 00 00       	mov    $0x1,%ebx
500eb6:	43                   	inc    %ebx
500eb7:	8b c3                	mov    %ebx,%eax
500eb9:	b9 01 00 00 00       	mov    $0x1,%ecx
500ebe:	3b 4c 24 08          	cmp    0x8(%esp),%ecx
500ec2:	7d 0a                	jge    0x500ece
500ec4:	0f af c3             	imul   %ebx,%eax
500ec7:	41                   	inc    %ecx
500ec8:	3b 4c 24 08          	cmp    0x8(%esp),%ecx
500ecc:	7c f6                	jl     0x500ec4
500ece:	3b 44 24 0c          	cmp    0xc(%esp),%eax
500ed2:	7e e2                	jle    0x500eb6
500ed4:	4b                   	dec    %ebx
500ed5:	83 fb 02             	cmp    $0x2,%ebx
500ed8:	7d 16                	jge    0x500ef0
500eda:	8b 14 24             	mov    (%esp),%edx