496b07:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
496b0a:	8d 45 c8             	lea    -0x38(%ebp),%eax
496b0d:	8b 55 98             	mov    -0x68(%ebp),%edx
496b10:	83 f9 10             	cmp    $0x10,%ecx
496b13:	8b 7d 94             	mov    -0x6c(%ebp),%edi
496b16:	0f 43 c2             	cmovae %edx,%eax
496b19:	80 3c 38 00          	cmpb   $0x0,(%eax,%edi,1)
496b1d:	8b 7d 80             	mov    -0x80(%ebp),%edi
496b20:	0f 84 f4 01 00 00    	je     0x496d1a
496b26:	8a 45 a3             	mov    -0x5d(%ebp),%al
496b29:	84 c0                	test   %al,%al
496b2b:	0f 84 e9 01 00 00    	je     0x496d1a
496b31:	80 7d a1 00          	cmpb   $0x0,-0x5f(%ebp)
496b35:	75 43                	jne    0x496b7a
496b37:	8b 0e                	mov    (%esi),%ecx
496b39:	85 c9                	test   %ecx,%ecx
496b3b:	74 27                	je     0x496b64
496b3d:	8b 41 1c             	mov    0x1c(%ecx),%eax
496b40:	8b 10                	mov    (%eax),%edx
496b42:	85 d2                	test   %edx,%edx
496b44:	74 0d                	je     0x496b53
496b46:	8b 41 2c             	mov    0x2c(%ecx),%eax
496b49:	83 38 00             	cmpl   $0x0,(%eax)
496b4c:	7e 05                	jle    0x496b53
496b4e:	0f b6 1a             	movzbl (%edx),%ebx
496b51:	eb 07                	jmp    0x496b5a
496b53:	8b 01                	mov    (%ecx),%eax
496b55:	ff 50 18             	call   *0x18(%eax)
496b58:	8b d8                	mov    %eax,%ebx
496b5a:	83 fb ff             	cmp    $0xffffffff,%ebx
496b5d:	74 05                	je     0x496b64
496b5f:	88 5e 05             	mov    %bl,0x5(%esi)
496b62:	eb 09                	jmp    0x496b6d
496b64:	8a 5e 05             	mov    0x5(%esi),%bl
496b67:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
496b6d:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
496b70:	8b 55 98             	mov    -0x68(%ebp),%edx
496b73:	8a 45 a3             	mov    -0x5d(%ebp),%al
496b76:	c6 46 04 01          	movb   $0x1,0x4(%esi)
496b7a:	3a d8                	cmp    %al,%bl
496b7c:	0f 85 98 01 00 00    	jne    0x496d1a
496b82:	8b 5d d8             	mov    -0x28(%ebp),%ebx
496b85:	3b d9                	cmp    %ecx,%ebx
496b87:	73 23                	jae    0x496bac
496b89:	8d 43 01             	lea    0x1(%ebx),%eax
496b8c:	83 f9 10             	cmp    $0x10,%ecx
496b8f:	89 45 d8             	mov    %eax,-0x28(%ebp)
496b92:	8d 45 c8             	lea    -0x38(%ebp),%eax
496b95:	0f 43 c2             	cmovae %edx,%eax
496b98:	66 c7 04 18 00 00    	movw   $0x0,(%eax,%ebx,1)
496b9e:	8b 5d dc             	mov    -0x24(%ebp),%ebx
496ba1:	8b 45 c8             	mov    -0x38(%ebp),%eax
496ba4:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
496ba7:	e9 19 01 00 00       	jmp    0x496cc5
496bac:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
496bb1:	2b c3                	sub    %ebx,%eax
496bb3:	83 f8 01             	cmp    $0x1,%eax
496bb6:	0f 82 d0 0d 00 00    	jb     0x49798c
496bbc:	8d 43 01             	lea    0x1(%ebx),%eax
496bbf:	8b d1                	mov    %ecx,%edx
496bc1:	83 c8 0f             	or     $0xf,%eax
496bc4:	89 95 64 ff ff ff    	mov    %edx,-0x9c(%ebp)
496bca:	89 45 a4             	mov    %eax,-0x5c(%ebp)
496bcd:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
496bd2:	76 07                	jbe    0x496bdb
496bd4:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
496bd9:	eb 21                	jmp    0x496bfc
496bdb:	8b ca                	mov    %edx,%ecx
496bdd:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
496be2:	d1 e9                	shr    $1,%ecx
496be4:	2b c1                	sub    %ecx,%eax
496be6:	3b d0                	cmp    %eax,%edx
496be8:	76 07                	jbe    0x496bf1
496bea:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
496bef:	eb 0b                	jmp    0x496bfc
496bf1:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
496bf4:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
496bf7:	3b c8                	cmp    %eax,%ecx
496bf9:	0f 42 c8             	cmovb  %eax,%ecx
496bfc:	8d 41 01             	lea    0x1(%ecx),%eax
496bff:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
496c02:	50                   	push   %eax
496c03:	8d 4d c8             	lea    -0x38(%ebp),%ecx
496c06:	e8 45 28 fa ff       	call   0x439450
496c0b:	8d 4b 01             	lea    0x1(%ebx),%ecx
496c0e:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
496c14:	89 4d d8             	mov    %ecx,-0x28(%ebp)
496c17:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
496c1a:	89 4d dc             	mov    %ecx,-0x24(%ebp)
496c1d:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
496c20:	89 8d 60 ff ff ff    	mov    %ecx,-0xa0(%ebp)
496c26:	8d 4b 01             	lea    0x1(%ebx),%ecx
496c29:	03 c8                	add    %eax,%ecx
496c2b:	83 bd 64 ff ff ff 10 	cmpl   $0x10,-0x9c(%ebp)
496c32:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
496c38:	53                   	push   %ebx
496c39:	72 5f                	jb     0x496c9a
496c3b:	8b 5d 98             	mov    -0x68(%ebp),%ebx
496c3e:	53                   	push   %ebx
496c3f:	50                   	push   %eax
496c40:	e8 bb c2 14 00       	call   0x5e2f00
496c45:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
496c4b:	83 c4 0c             	add    $0xc,%esp
496c4e:	8b 8d 64 ff ff ff    	mov    -0x9c(%ebp),%ecx
496c54:	41                   	inc    %ecx
496c55:	c6 00 00             	movb   $0x0,(%eax)
496c58:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
496c5e:	c6 00 00             	movb   $0x0,(%eax)
496c61:	8b c3                	mov    %ebx,%eax
496c63:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
496c69:	72 14                	jb     0x496c7f
496c6b:	8b 5b fc             	mov    -0x4(%ebx),%ebx
496c6e:	83 c1 23             	add    $0x23,%ecx
496c71:	2b c3                	sub    %ebx,%eax
496c73:	83 c0 fc             	add    $0xfffffffc,%eax
496c76:	83 f8 1f             	cmp    $0x1f,%eax
496c79:	0f 87 12 0d 00 00    	ja     0x497991
496c7f:	51                   	push   %ecx
496c80:	53                   	push   %ebx
496c81:	e8 ec a3 14 00       	call   0x5e1072
496c86:	8b 95 6c ff ff ff    	mov    -0x94(%ebp),%edx
496c8c:	83 c4 08             	add    $0x8,%esp
496c8f:	8b 5d a4             	mov    -0x5c(%ebp),%ebx
496c92:	89 55 98             	mov    %edx,-0x68(%ebp)
496c95:	89 55 c8             	mov    %edx,-0x38(%ebp)
496c98:	eb 2e                	jmp    0x496cc8
496c9a:	8d 4d c8             	lea    -0x38(%ebp),%ecx
496c9d:	51                   	push   %ecx
496c9e:	50                   	push   %eax
496c9f:	e8 5c c2 14 00       	call   0x5e2f00
496ca4:	8b 85 60 ff ff ff    	mov    -0xa0(%ebp),%eax
496caa:	83 c4 0c             	add    $0xc,%esp
496cad:	8b 5d a4             	mov    -0x5c(%ebp),%ebx
496cb0:	c6 00 00             	movb   $0x0,(%eax)
496cb3:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
496cb9:	c6 00 00             	movb   $0x0,(%eax)
496cbc:	8b 85 6c ff ff ff    	mov    -0x94(%ebp),%eax
496cc2:	89 45 c8             	mov    %eax,-0x38(%ebp)
496cc5:	89 45 98             	mov    %eax,-0x68(%ebp)
496cc8:	ff 45 94             	incl   -0x6c(%ebp)
496ccb:	8b 0e                	mov    (%esi),%ecx
496ccd:	85 c9                	test   %ecx,%ecx
496ccf:	74 38                	je     0x496d09
496cd1:	8b 41 1c             	mov    0x1c(%ecx),%eax
496cd4:	83 38 00             	cmpl   $0x0,(%eax)
496cd7:	74 1b                	je     0x496cf4
496cd9:	8b 51 2c             	mov    0x2c(%ecx),%edx
496cdc:	8b 02                	mov    (%edx),%eax
496cde:	85 c0                	test   %eax,%eax
496ce0:	7e 12                	jle    0x496cf4
496ce2:	48                   	dec    %eax
496ce3:	89 02                	mov    %eax,(%edx)
496ce5:	8b 49 1c             	mov    0x1c(%ecx),%ecx
496ce8:	8b 11                	mov    (%ecx),%edx
496cea:	8d 42 01             	lea    0x1(%edx),%eax
496ced:	89 01                	mov    %eax,(%ecx)
496cef:	0f b6 02             	movzbl (%edx),%eax
496cf2:	eb 05                	jmp    0x496cf9
496cf4:	8b 01                	mov    (%ecx),%eax
496cf6:	ff 50 1c             	call   *0x1c(%eax)
496cf9:	83 f8 ff             	cmp    $0xffffffff,%eax
496cfc:	74 0b                	je     0x496d09
496cfe:	c6 46 04 00          	movb   $0x0,0x4(%esi)
496d02:	32 c0                	xor    %al,%al
496d04:	e9 97 fc ff ff       	jmp    0x4969a0
496d09:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
496d0f:	b0 01                	mov    $0x1,%al
496d11:	c6 46 04 01          	movb   $0x1,0x4(%esi)
496d15:	e9 86 fc ff ff       	jmp    0x4969a0
496d1a:	8b 5d a4             	mov    -0x5c(%ebp),%ebx
496d1d:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
496d20:	8b 55 98             	mov    -0x68(%ebp),%edx
496d23:	85 c9                	test   %ecx,%ecx
496d25:	74 19                	je     0x496d40
496d27:	83 fb 10             	cmp    $0x10,%ebx
496d2a:	8d 45 c8             	lea    -0x38(%ebp),%eax
496d2d:	0f 43 c2             	cmovae %edx,%eax
496d30:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
496d34:	7e 62                	jle    0x496d98
496d36:	41                   	inc    %ecx
496d37:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
496d3a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
496d40:	8b 45 94             	mov    -0x6c(%ebp),%eax
496d43:	85 c0                	test   %eax,%eax
496d45:	74 55                	je     0x496d9c
496d47:	8b 8d 78 ff ff ff    	mov    -0x88(%ebp),%ecx
496d4d:	8a 09                	mov    (%ecx),%cl
496d4f:	80 f9 7f             	cmp    $0x7f,%cl
496d52:	74 48                	je     0x496d9c
496d54:	83 e8 01             	sub    $0x1,%eax
496d57:	89 45 94             	mov    %eax,-0x6c(%ebp)
496d5a:	74 17                	je     0x496d73
496d5c:	8b 7d 94             	mov    -0x6c(%ebp),%edi
496d5f:	8d 45 c8             	lea    -0x38(%ebp),%eax
496d62:	83 fb 10             	cmp    $0x10,%ebx
496d65:	0f 43 c2             	cmovae %edx,%eax
496d68:	3a 0c 38             	cmp    (%eax,%edi,1),%cl
496d6b:	8b 7d 80             	mov    -0x80(%ebp),%edi
496d6e:	75 28                	jne    0x496d98
496d70:	8b 45 94             	mov    -0x6c(%ebp),%eax
496d73:	85 c0                	test   %eax,%eax
496d75:	75 0d                	jne    0x496d84
496d77:	83 fb 10             	cmp    $0x10,%ebx
496d7a:	8d 45 c8             	lea    -0x38(%ebp),%eax
496d7d:	0f 43 c2             	cmovae %edx,%eax
496d80:	3a 08                	cmp    (%eax),%cl
496d82:	7c 14                	jl     0x496d98
496d84:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
496d8a:	40                   	inc    %eax
496d8b:	80 38 00             	cmpb   $0x0,(%eax)
496d8e:	7e b0                	jle    0x496d40
496d90:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
496d96:	eb a8                	jmp    0x496d40
496d98:	c6 45 a2 01          	movb   $0x1,-0x5e(%ebp)
496d9c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
496da0:	83 fb 10             	cmp    $0x10,%ebx
496da3:	72 2b                	jb     0x496dd0
496da5:	8d 4b 01             	lea    0x1(%ebx),%ecx
496da8:	8b c2                	mov    %edx,%eax
496daa:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
496db0:	72 14                	jb     0x496dc6
496db2:	8b 52 fc             	mov    -0x4(%edx),%edx
496db5:	83 c1 23             	add    $0x23,%ecx
496db8:	2b c2                	sub    %edx,%eax
496dba:	83 c0 fc             	add    $0xfffffffc,%eax
496dbd:	83 f8 1f             	cmp    $0x1f,%eax
496dc0:	0f 87 cb 0b 00 00    	ja     0x497991
496dc6:	51                   	push   %ecx
496dc7:	52                   	push   %edx
496dc8:	e8 a5 a2 14 00       	call   0x5e1072
496dcd:	83 c4 08             	add    $0x8,%esp
496dd0:	8a 5e 04             	mov    0x4(%esi),%bl
496dd3:	84 db                	test   %bl,%bl
496dd5:	0f 85 d6 01 00 00    	jne    0x496fb1
496ddb:	8b 0e                	mov    (%esi),%ecx
496ddd:	85 c9                	test   %ecx,%ecx
496ddf:	0f 84 c2 01 00 00    	je     0x496fa7
496de5:	8b 41 1c             	mov    0x1c(%ecx),%eax
496de8:	8b 10                	mov    (%eax),%edx
496dea:	85 d2                	test   %edx,%edx
496dec:	0f 84 a6 01 00 00    	je     0x496f98
496df2:	8b 41 2c             	mov    0x2c(%ecx),%eax
496df5:	83 38 00             	cmpl   $0x0,(%eax)
496df8:	0f 8e 9a 01 00 00    	jle    0x496f98
496dfe:	0f b6 02             	movzbl (%edx),%eax
496e01:	e9 97 01 00 00       	jmp    0x496f9d
496e06:	8a 5e 04             	mov    0x4(%esi),%bl
496e09:	8a c3                	mov    %bl,%al
496e0b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
496e10:	84 db                	test   %bl,%bl
496e12:	75 39                	jne    0x496e4d
496e14:	8b 0e                	mov    (%esi),%ecx
496e16:	85 c9                	test   %ecx,%ecx
496e18:	74 25                	je     0x496e3f
496e1a:	8b 41 1c             	mov    0x1c(%ecx),%eax
496e1d:	8b 10                	mov    (%eax),%edx
496e1f:	85 d2                	test   %edx,%edx
496e21:	74 0d                	je     0x496e30
496e23:	8b 41 2c             	mov    0x2c(%ecx),%eax
496e26:	83 38 00             	cmpl   $0x0,(%eax)
496e29:	7e 05                	jle    0x496e30
496e2b:	0f b6 02             	movzbl (%edx),%eax
496e2e:	eb 05                	jmp    0x496e35
496e30:	8b 01                	mov    (%ecx),%eax
496e32:	ff 50 18             	call   *0x18(%eax)
496e35:	83 f8 ff             	cmp    $0xffffffff,%eax
496e38:	74 05                	je     0x496e3f
496e3a:	88 46 05             	mov    %al,0x5(%esi)
496e3d:	eb 06                	jmp    0x496e45
496e3f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
496e45:	b3 01                	mov    $0x1,%bl
496e47:	c6 46 04 01          	movb   $0x1,0x4(%esi)
496e4b:	8a c3                	mov    %bl,%al
496e4d:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
496e51:	75 3a                	jne    0x496e8d
496e53:	8b 0f                	mov    (%edi),%ecx
496e55:	85 c9                	test   %ecx,%ecx
496e57:	74 25                	je     0x496e7e
496e59:	8b 41 1c             	mov    0x1c(%ecx),%eax
496e5c:	8b 10                	mov    (%eax),%edx
496e5e:	85 d2                	test   %edx,%edx
496e60:	74 0d                	je     0x496e6f
496e62:	8b 41 2c             	mov    0x2c(%ecx),%eax
496e65:	83 38 00             	cmpl   $0x0,(%eax)
496e68:	7e 05                	jle    0x496e6f
496e6a:	0f b6 02             	movzbl (%edx),%eax
496e6d:	eb 05                	jmp    0x496e74
496e6f:	8b 01                	mov    (%ecx),%eax
496e71:	ff 50 18             	call   *0x18(%eax)
496e74:	83 f8 ff             	cmp    $0xffffffff,%eax
496e77:	74 05                	je     0x496e7e
496e79:	88 47 05             	mov    %al,0x5(%edi)
496e7c:	eb 06                	jmp    0x496e84
496e7e:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
496e84:	c6 47 04 01          	movb   $0x1,0x4(%edi)
496e88:	8a 5e 04             	mov    0x4(%esi),%bl
496e8b:	8a c3                	mov    %bl,%al
496e8d:	8b 0e                	mov    (%esi),%ecx
496e8f:	8b 17                	mov    (%edi),%edx
496e91:	85 c9                	test   %ecx,%ecx
496e93:	75 2e                	jne    0x496ec3
496e95:	85 d2                	test   %edx,%edx
496e97:	74 2e                	je     0x496ec7
496e99:	32 d2                	xor    %dl,%dl
496e9b:	84 d2                	test   %dl,%dl
496e9d:	0f 85 30 ff ff ff    	jne    0x496dd3
496ea3:	8a d8                	mov    %al,%bl
496ea5:	84 c0                	test   %al,%al
496ea7:	75 3d                	jne    0x496ee6
496ea9:	85 c9                	test   %ecx,%ecx
496eab:	74 2d                	je     0x496eda
496ead:	8b 41 1c             	mov    0x1c(%ecx),%eax
496eb0:	8b 10                	mov    (%eax),%edx
496eb2:	85 d2                	test   %edx,%edx
496eb4:	74 15                	je     0x496ecb
496eb6:	8b 41 2c             	mov    0x2c(%ecx),%eax
496eb9:	83 38 00             	cmpl   $0x0,(%eax)
496ebc:	7e 0d                	jle    0x496ecb
496ebe:	0f b6 02             	movzbl (%edx),%eax
496ec1:	eb 0d                	jmp    0x496ed0
496ec3:	85 d2                	test   %edx,%edx
496ec5:	74 d2                	je     0x496e99
496ec7:	b2 01                	mov    $0x1,%dl
496ec9:	eb d0                	jmp    0x496e9b
496ecb:	8b 01                	mov    (%ecx),%eax
496ecd:	ff 50 18             	call   *0x18(%eax)
496ed0:	83 f8 ff             	cmp    $0xffffffff,%eax
496ed3:	74 05                	je     0x496eda
496ed5:	88 46 05             	mov    %al,0x5(%esi)
496ed8:	eb 06                	jmp    0x496ee0
496eda:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
496ee0:	c6 46 04 01          	movb   $0x1,0x4(%esi)
496ee4:	b3 01                	mov    $0x1,%bl
496ee6:	0f b6 46 05          	movzbl 0x5(%esi),%eax
496eea:	6a 0e                	push   $0xe
496eec:	50                   	push   %eax
496eed:	8d 45 e0             	lea    -0x20(%ebp),%eax
496ef0:	50                   	push   %eax
496ef1:	e8 5a bf 14 00       	call   0x5e2e50
496ef6:	83 c4 0c             	add    $0xc,%esp
496ef9:	8d 4d ee             	lea    -0x12(%ebp),%ecx
496efc:	85 c0                	test   %eax,%eax
496efe:	0f 45 c8             	cmovne %eax,%ecx
496f01:	8d 45 e0             	lea    -0x20(%ebp),%eax
496f04:	2b c8                	sub    %eax,%ecx
496f06:	83 f9 0a             	cmp    $0xa,%ecx
496f09:	0f 83 c4 fe ff ff    	jae    0x496dd3
496f0f:	8b 55 90             	mov    -0x70(%ebp),%edx
496f12:	39 95 70 ff ff ff    	cmp    %edx,-0x90(%ebp)
496f18:	7f 0e                	jg     0x496f28