473a88:	8b 75 0c             	mov    0xc(%ebp),%esi
473a8b:	8b 7d 10             	mov    0x10(%ebp),%edi
473a8e:	3b 30                	cmp    (%eax),%esi
473a90:	75 0d                	jne    0x473a9f
473a92:	8b 07                	mov    (%edi),%eax
473a94:	3b 46 0c             	cmp    0xc(%esi),%eax
473a97:	7d 7b                	jge    0x473b14
473a99:	57                   	push   %edi
473a9a:	56                   	push   %esi
473a9b:	6a 01                	push   $0x1
473a9d:	eb 11                	jmp    0x473ab0
473a9f:	3b f0                	cmp    %eax,%esi
473aa1:	75 11                	jne    0x473ab4
473aa3:	8b 48 08             	mov    0x8(%eax),%ecx
473aa6:	8b 41 0c             	mov    0xc(%ecx),%eax
473aa9:	3b 07                	cmp    (%edi),%eax
473aab:	7d 67                	jge    0x473b14
473aad:	57                   	push   %edi
473aae:	51                   	push   %ecx
473aaf:	52                   	push   %edx
473ab0:	8b cb                	mov    %ebx,%ecx
473ab2:	eb c4                	jmp    0x473a78
473ab4:	8b 07                	mov    (%edi),%eax
473ab6:	39 46 0c             	cmp    %eax,0xc(%esi)
473ab9:	7e 2b                	jle    0x473ae6
473abb:	8d 4d f8             	lea    -0x8(%ebp),%ecx
473abe:	89 75 f8             	mov    %esi,-0x8(%ebp)
473ac1:	e8 22 04 00 00       	call   0x473ee8
473ac6:	8b 0f                	mov    (%edi),%ecx
473ac8:	8b 00                	mov    (%eax),%eax
473aca:	39 48 0c             	cmp    %ecx,0xc(%eax)
473acd:	7d 12                	jge    0x473ae1
473acf:	8b 45 f8             	mov    -0x8(%ebp),%eax
473ad2:	8b 48 08             	mov    0x8(%eax),%ecx
473ad5:	80 79 2d 00          	cmpb   $0x0,0x2d(%ecx)
473ad9:	74 be                	je     0x473a99
473adb:	57                   	push   %edi
473adc:	50                   	push   %eax
473add:	6a 00                	push   $0x0
473adf:	eb cf                	jmp    0x473ab0
473ae1:	8b c1                	mov    %ecx,%eax
473ae3:	39 46 0c             	cmp    %eax,0xc(%esi)
473ae6:	7d 2c                	jge    0x473b14
473ae8:	8d 4d f8             	lea    -0x8(%ebp),%ecx
473aeb:	89 75 f8             	mov    %esi,-0x8(%ebp)
473aee:	e8 3b 00 00 00       	call   0x473b2e
473af3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
473af6:	39 08                	cmp    %ecx,(%eax)
473af8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
473afb:	74 07                	je     0x473b04
473afd:	8b 07                	mov    (%edi),%eax
473aff:	3b 41 0c             	cmp    0xc(%ecx),%eax
473b02:	7d 10                	jge    0x473b14
473b04:	8b 45 0c             	mov    0xc(%ebp),%eax
473b07:	57                   	push   %edi
473b08:	8b 50 08             	mov    0x8(%eax),%edx
473b0b:	80 7a 2d 00          	cmpb   $0x0,0x2d(%edx)
473b0f:	75 cb                	jne    0x473adc
473b11:	51                   	push   %ecx
473b12:	eb 87                	jmp    0x473a9b
473b14:	57                   	push   %edi
473b15:	8d 45 f0             	lea    -0x10(%ebp),%eax
473b18:	8b cb                	mov    %ebx,%ecx
473b1a:	50                   	push   %eax
473b1b:	e8 f8 05 00 00       	call   0x474118
473b20:	8b 08                	mov    (%eax),%ecx
473b22:	8b 45 08             	mov    0x8(%ebp),%eax
473b25:	89 08                	mov    %ecx,(%eax)
473b27:	5f                   	pop    %edi
473b28:	5e                   	pop    %esi
473b29:	5b                   	pop    %ebx
473b2a:	c9                   	leave
473b2b:	c2 0c 00             	ret    $0xc
473b2e:	8b ff                	mov    %edi,%edi
473b30:	56                   	push   %esi
473b31:	8b f1                	mov    %ecx,%esi
473b33:	8b 16                	mov    (%esi),%edx
473b35:	80 7a 2d 00          	cmpb   $0x0,0x2d(%edx)
473b39:	74 11                	je     0x473b4c
473b3b:	33 c0                	xor    %eax,%eax
473b3d:	50                   	push   %eax
473b3e:	50                   	push   %eax
473b3f:	50                   	push   %eax
473b40:	50                   	push   %eax
473b41:	50                   	push   %eax
473b42:	e8 1f c7 01 00       	call   0x490266
473b47:	83 c4 14             	add    $0x14,%esp
473b4a:	eb 3a                	jmp    0x473b86
473b4c:	8b 4a 08             	mov    0x8(%edx),%ecx
473b4f:	80 79 2d 00          	cmpb   $0x0,0x2d(%ecx)
473b53:	75 18                	jne    0x473b6d
473b55:	8b 11                	mov    (%ecx),%edx
473b57:	80 7a 2d 00          	cmpb   $0x0,0x2d(%edx)
473b5b:	75 0c                	jne    0x473b69
473b5d:	8b 02                	mov    (%edx),%eax
473b5f:	8b ca                	mov    %edx,%ecx
473b61:	8b d0                	mov    %eax,%edx
473b63:	80 78 2d 00          	cmpb   $0x0,0x2d(%eax)
473b67:	74 f4                	je     0x473b5d
473b69:	89 0e                	mov    %ecx,(%esi)
473b6b:	eb 19                	jmp    0x473b86
473b6d:	8b 42 04             	mov    0x4(%edx),%eax
473b70:	eb 0c                	jmp    0x473b7e
473b72:	3b 50 08             	cmp    0x8(%eax),%edx
473b75:	75 0d                	jne    0x473b84
473b77:	89 06                	mov    %eax,(%esi)
473b79:	8b d0                	mov    %eax,%edx
473b7b:	8b 40 04             	mov    0x4(%eax),%eax
473b7e:	80 78 2d 00          	cmpb   $0x0,0x2d(%eax)
473b82:	74 ee                	je     0x473b72
473b84:	89 06                	mov    %eax,(%esi)
473b86:	8b c6                	mov    %esi,%eax
473b88:	5e                   	pop    %esi
473b89:	c3                   	ret
473b8a:	8b ff                	mov    %edi,%edi
473b8c:	55                   	push   %ebp
473b8d:	8b ec                	mov    %esp,%ebp
473b8f:	56                   	push   %esi
473b90:	57                   	push   %edi
473b91:	8b 79 04             	mov    0x4(%ecx),%edi
473b94:	8b 77 04             	mov    0x4(%edi),%esi
473b97:	eb 19                	jmp    0x473bb2
473b99:	ff 75 0c             	push   0xc(%ebp)
473b9c:	8d 46 0c             	lea    0xc(%esi),%eax
473b9f:	50                   	push   %eax
473ba0:	e8 17 03 00 00       	call   0x473ebc
473ba5:	84 c0                	test   %al,%al
473ba7:	74 05                	je     0x473bae
473ba9:	8b 76 08             	mov    0x8(%esi),%esi
473bac:	eb 04                	jmp    0x473bb2
473bae:	8b fe                	mov    %esi,%edi
473bb0:	8b 36                	mov    (%esi),%esi
473bb2:	80 7e 2d 00          	cmpb   $0x0,0x2d(%esi)
473bb6:	74 e1                	je     0x473b99
473bb8:	8b 45 08             	mov    0x8(%ebp),%eax
473bbb:	89 38                	mov    %edi,(%eax)
473bbd:	5f                   	pop    %edi
473bbe:	5e                   	pop    %esi
473bbf:	5d                   	pop    %ebp
473bc0:	c2 08 00             	ret    $0x8
473bc3:	8b ff                	mov    %edi,%edi
473bc5:	55                   	push   %ebp
473bc6:	8b ec                	mov    %esp,%ebp
473bc8:	83 e4 f8             	and    $0xfffffff8,%esp
473bcb:	83 ec 0c             	sub    $0xc,%esp
473bce:	53                   	push   %ebx
473bcf:	8b d9                	mov    %ecx,%ebx
473bd1:	56                   	push   %esi
473bd2:	33 f6                	xor    %esi,%esi
473bd4:	57                   	push   %edi
473bd5:	8b 4b 04             	mov    0x4(%ebx),%ecx
473bd8:	89 74 24 0c          	mov    %esi,0xc(%esp)
473bdc:	39 73 08             	cmp    %esi,0x8(%ebx)
473bdf:	75 18                	jne    0x473bf9
473be1:	ff 75 10             	push   0x10(%ebp)
473be4:	51                   	push   %ecx
473be5:	6a 01                	push   $0x1
473be7:	8b cb                	mov    %ebx,%ecx
473be9:	ff 75 08             	push   0x8(%ebp)
473bec:	e8 d0 05 00 00       	call   0x4741c1
473bf1:	8b 45 08             	mov    0x8(%ebp),%eax
473bf4:	e9 f3 00 00 00       	jmp    0x473cec
473bf9:	8b 45 0c             	mov    0xc(%ebp),%eax
473bfc:	8b 7d 10             	mov    0x10(%ebp),%edi
473bff:	3b 01                	cmp    (%ecx),%eax
473c01:	75 18                	jne    0x473c1b
473c03:	83 c0 0c             	add    $0xc,%eax
473c06:	50                   	push   %eax
473c07:	57                   	push   %edi
473c08:	e8 af 02 00 00       	call   0x473ebc
473c0d:	84 c0                	test   %al,%al
473c0f:	0f 84 c3 00 00 00    	je     0x473cd8
473c15:	57                   	push   %edi
473c16:	ff 75 0c             	push   0xc(%ebp)
473c19:	eb ca                	jmp    0x473be5
473c1b:	3b c1                	cmp    %ecx,%eax
473c1d:	75 1f                	jne    0x473c3e
473c1f:	8b 41 08             	mov    0x8(%ecx),%eax
473c22:	83 c0 0c             	add    $0xc,%eax
473c25:	57                   	push   %edi
473c26:	50                   	push   %eax
473c27:	e8 90 02 00 00       	call   0x473ebc
473c2c:	84 c0                	test   %al,%al
473c2e:	0f 84 a4 00 00 00    	je     0x473cd8
473c34:	8b 43 04             	mov    0x4(%ebx),%eax
473c37:	57                   	push   %edi
473c38:	ff 70 08             	push   0x8(%eax)
473c3b:	56                   	push   %esi
473c3c:	eb a9                	jmp    0x473be7
473c3e:	8d 70 0c             	lea    0xc(%eax),%esi
473c41:	56                   	push   %esi
473c42:	57                   	push   %edi
473c43:	e8 74 02 00 00       	call   0x473ebc
473c48:	84 c0                	test   %al,%al
473c4a:	74 36                	je     0x473c82
473c4c:	8b 45 0c             	mov    0xc(%ebp),%eax
473c4f:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
473c53:	89 44 24 0c          	mov    %eax,0xc(%esp)
473c57:	e8 8c 02 00 00       	call   0x473ee8
473c5c:	57                   	push   %edi
473c5d:	8b 00                	mov    (%eax),%eax
473c5f:	83 c0 0c             	add    $0xc,%eax
473c62:	50                   	push   %eax
473c63:	e8 54 02 00 00       	call   0x473ebc
473c68:	84 c0                	test   %al,%al
473c6a:	74 16                	je     0x473c82
473c6c:	8b 44 24 0c          	mov    0xc(%esp),%eax
473c70:	8b 48 08             	mov    0x8(%eax),%ecx
473c73:	80 79 2d 00          	cmpb   $0x0,0x2d(%ecx)
473c77:	74 9c                	je     0x473c15
473c79:	57                   	push   %edi
473c7a:	50                   	push   %eax
473c7b:	6a 00                	push   $0x0
473c7d:	e9 65 ff ff ff       	jmp    0x473be7
473c82:	57                   	push   %edi
473c83:	56                   	push   %esi
473c84:	e8 33 02 00 00       	call   0x473ebc
473c89:	84 c0                	test   %al,%al
473c8b:	74 4b                	je     0x473cd8
473c8d:	8b 45 0c             	mov    0xc(%ebp),%eax
473c90:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
473c94:	8b 73 04             	mov    0x4(%ebx),%esi
473c97:	89 44 24 0c          	mov    %eax,0xc(%esp)
473c9b:	e8 8e fe ff ff       	call   0x473b2e
473ca0:	39 30                	cmp    %esi,(%eax)
473ca2:	74 12                	je     0x473cb6
473ca4:	8b 44 24 0c          	mov    0xc(%esp),%eax
473ca8:	83 c0 0c             	add    $0xc,%eax
473cab:	50                   	push   %eax
473cac:	57                   	push   %edi
473cad:	e8 0a 02 00 00       	call   0x473ebc
473cb2:	84 c0                	test   %al,%al
473cb4:	74 22                	je     0x473cd8
473cb6:	8b 45 0c             	mov    0xc(%ebp),%eax
473cb9:	57                   	push   %edi
473cba:	8b 48 08             	mov    0x8(%eax),%ecx
473cbd:	80 79 2d 00          	cmpb   $0x0,0x2d(%ecx)
473cc1:	8b cb                	mov    %ebx,%ecx
473cc3:	74 08                	je     0x473ccd
473cc5:	50                   	push   %eax
473cc6:	6a 00                	push   $0x0
473cc8:	e9 1c ff ff ff       	jmp    0x473be9
473ccd:	ff 74 24 10          	push   0x10(%esp)
473cd1:	6a 01                	push   $0x1
473cd3:	e9 11 ff ff ff       	jmp    0x473be9
473cd8:	57                   	push   %edi
473cd9:	8d 44 24 14          	lea    0x14(%esp),%eax
473cdd:	8b cb                	mov    %ebx,%ecx
473cdf:	50                   	push   %eax
473ce0:	e8 a5 06 00 00       	call   0x47438a
473ce5:	8b 08                	mov    (%eax),%ecx
473ce7:	8b 45 08             	mov    0x8(%ebp),%eax
473cea:	89 08                	mov    %ecx,(%eax)
473cec:	5f                   	pop    %edi
473ced:	5e                   	pop    %esi
473cee:	5b                   	pop    %ebx
473cef:	8b e5                	mov    %ebp,%esp
473cf1:	5d                   	pop    %ebp
473cf2:	c2 0c 00             	ret    $0xc
473cf5:	8b ff                	mov    %edi,%edi
473cf7:	56                   	push   %esi
473cf8:	8b f1                	mov    %ecx,%esi
473cfa:	8b 16                	mov    (%esi),%edx
473cfc:	80 7a 45 00          	cmpb   $0x0,0x45(%edx)
473d00:	74 11                	je     0x473d13
473d02:	33 c0                	xor    %eax,%eax
473d04:	50                   	push   %eax
473d05:	50                   	push   %eax
473d06:	50                   	push   %eax
473d07:	50                   	push   %eax
473d08:	50                   	push   %eax
473d09:	e8 58 c5 01 00       	call   0x490266
473d0e:	83 c4 14             	add    $0x14,%esp
473d11:	eb 3a                	jmp    0x473d4d
473d13:	8b 4a 08             	mov    0x8(%edx),%ecx
473d16:	80 79 45 00          	cmpb   $0x0,0x45(%ecx)
473d1a:	75 18                	jne    0x473d34
473d1c:	8b 11                	mov    (%ecx),%edx
473d1e:	80 7a 45 00          	cmpb   $0x0,0x45(%edx)
473d22:	75 0c                	jne    0x473d30
473d24:	8b 02                	mov    (%edx),%eax
473d26:	8b ca                	mov    %edx,%ecx
473d28:	8b d0                	mov    %eax,%edx
473d2a:	80 78 45 00          	cmpb   $0x0,0x45(%eax)
473d2e:	74 f4                	je     0x473d24
473d30:	89 0e                	mov    %ecx,(%esi)
473d32:	eb 19                	jmp    0x473d4d
473d34:	8b 42 04             	mov    0x4(%edx),%eax
473d37:	eb 0c                	jmp    0x473d45
473d39:	3b 50 08             	cmp    0x8(%eax),%edx
473d3c:	75 0d                	jne    0x473d4b
473d3e:	89 06                	mov    %eax,(%esi)
473d40:	8b d0                	mov    %eax,%edx
473d42:	8b 40 04             	mov    0x4(%eax),%eax
473d45:	80 78 45 00          	cmpb   $0x0,0x45(%eax)
473d49:	74 ee                	je     0x473d39
473d4b:	89 06                	mov    %eax,(%esi)
473d4d:	8b c6                	mov    %esi,%eax
473d4f:	5e                   	pop    %esi
473d50:	c3                   	ret
473d51:	8b ff                	mov    %edi,%edi
473d53:	55                   	push   %ebp
473d54:	8b ec                	mov    %esp,%ebp
473d56:	56                   	push   %esi
473d57:	57                   	push   %edi
473d58:	8b 79 04             	mov    0x4(%ecx),%edi
473d5b:	8b 77 04             	mov    0x4(%edi),%esi
473d5e:	eb 19                	jmp    0x473d79
473d60:	ff 75 0c             	push   0xc(%ebp)
473d63:	8d 46 0c             	lea    0xc(%esi),%eax
473d66:	50                   	push   %eax
473d67:	e8 50 01 00 00       	call   0x473ebc
473d6c:	84 c0                	test   %al,%al
473d6e:	74 05                	je     0x473d75
473d70:	8b 76 08             	mov    0x8(%esi),%esi
473d73:	eb 04                	jmp    0x473d79
473d75:	8b fe                	mov    %esi,%edi
473d77:	8b 36                	mov    (%esi),%esi
473d79:	80 7e 45 00          	cmpb   $0x0,0x45(%esi)
473d7d:	74 e1                	je     0x473d60
473d7f:	8b 45 08             	mov    0x8(%ebp),%eax
473d82:	89 38                	mov    %edi,(%eax)
473d84:	5f                   	pop    %edi
473d85:	5e                   	pop    %esi
473d86:	5d                   	pop    %ebp
473d87:	c2 08 00             	ret    $0x8
473d8a:	8b ff                	mov    %edi,%edi
473d8c:	55                   	push   %ebp
473d8d:	8b ec                	mov    %esp,%ebp
473d8f:	83 e4 f8             	and    $0xfffffff8,%esp
473d92:	83 ec 0c             	sub    $0xc,%esp
473d95:	53                   	push   %ebx
473d96:	8b d9                	mov    %ecx,%ebx
473d98:	56                   	push   %esi
473d99:	33 f6                	xor    %esi,%esi
473d9b:	57                   	push   %edi
473d9c:	8b 4b 04             	mov    0x4(%ebx),%ecx
473d9f:	89 74 24 0c          	mov    %esi,0xc(%esp)
473da3:	39 73 08             	cmp    %esi,0x8(%ebx)
473da6:	75 18                	jne    0x473dc0
473da8:	ff 75 10             	push   0x10(%ebp)
473dab:	51                   	push   %ecx
473dac:	6a 01                	push   $0x1
473dae:	8b cb                	mov    %ebx,%ecx
473db0:	ff 75 08             	push   0x8(%ebp)
473db3:	e8 f3 06 00 00       	call   0x4744ab
473db8:	8b 45 08             	mov    0x8(%ebp),%eax
473dbb:	e9 f3 00 00 00       	jmp    0x473eb3
473dc0:	8b 45 0c             	mov    0xc(%ebp),%eax
473dc3:	8b 7d 10             	mov    0x10(%ebp),%edi