4858e9:	3b 05 d8 8b 4c 00    	cmp    0x4c8bd8,%eax
4858ef:	74 17                	je     0x485908
4858f1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4858f4:	a1 80 45 4c 00       	mov    0x4c4580,%eax
4858f9:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
4858ff:	75 07                	jne    0x485908
485901:	e8 22 9f 00 00       	call   0x48f828
485906:	89 06                	mov    %eax,(%esi)
485908:	5e                   	pop    %esi
485909:	5d                   	pop    %ebp
48590a:	c3                   	ret
48590b:	8b ff                	mov    %edi,%edi
48590d:	55                   	push   %ebp
48590e:	8b ec                	mov    %esp,%ebp
485910:	8b 45 10             	mov    0x10(%ebp),%eax
485913:	56                   	push   %esi
485914:	8b 75 0c             	mov    0xc(%ebp),%esi
485917:	8b 0e                	mov    (%esi),%ecx
485919:	3b 0c 85 d8 8b 4c 00 	cmp    0x4c8bd8(,%eax,4),%ecx
485920:	74 17                	je     0x485939
485922:	8b 4d 08             	mov    0x8(%ebp),%ecx
485925:	a1 80 45 4c 00       	mov    0x4c4580,%eax
48592a:	85 81 50 03 00 00    	test   %eax,0x350(%ecx)
485930:	75 07                	jne    0x485939
485932:	e8 f1 9e 00 00       	call   0x48f828
485937:	89 06                	mov    %eax,(%esi)
485939:	5e                   	pop    %esi
48593a:	5d                   	pop    %ebp
48593b:	c3                   	ret
48593c:	8b ff                	mov    %edi,%edi
48593e:	55                   	push   %ebp
48593f:	8b ec                	mov    %esp,%ebp
485941:	8b 45 08             	mov    0x8(%ebp),%eax
485944:	33 c9                	xor    %ecx,%ecx
485946:	56                   	push   %esi
485947:	57                   	push   %edi
485948:	be ff 07 00 00       	mov    $0x7ff,%esi
48594d:	8b 38                	mov    (%eax),%edi
48594f:	8b 50 04             	mov    0x4(%eax),%edx
485952:	8b c2                	mov    %edx,%eax
485954:	c1 e8 14             	shr    $0x14,%eax
485957:	23 c6                	and    %esi,%eax
485959:	3b c6                	cmp    %esi,%eax
48595b:	75 3b                	jne    0x485998
48595d:	8b f2                	mov    %edx,%esi
48595f:	8b c7                	mov    %edi,%eax
485961:	81 e6 ff ff 0f 00    	and    $0xfffff,%esi
485967:	0b c6                	or     %esi,%eax
485969:	75 03                	jne    0x48596e
48596b:	40                   	inc    %eax
48596c:	eb 2c                	jmp    0x48599a
48596e:	b8 00 00 08 00       	mov    $0x80000,%eax
485973:	3b d1                	cmp    %ecx,%edx
485975:	7f 13                	jg     0x48598a
485977:	7c 04                	jl     0x48597d
485979:	3b f9                	cmp    %ecx,%edi
48597b:	73 0d                	jae    0x48598a
48597d:	3b f9                	cmp    %ecx,%edi
48597f:	75 09                	jne    0x48598a
485981:	3b f0                	cmp    %eax,%esi
485983:	75 05                	jne    0x48598a
485985:	6a 04                	push   $0x4
485987:	58                   	pop    %eax
485988:	eb 10                	jmp    0x48599a
48598a:	23 d0                	and    %eax,%edx
48598c:	0b ca                	or     %edx,%ecx
48598e:	74 04                	je     0x485994
485990:	6a 02                	push   $0x2
485992:	eb f3                	jmp    0x485987
485994:	6a 03                	push   $0x3
485996:	eb ef                	jmp    0x485987
485998:	33 c0                	xor    %eax,%eax
48599a:	5f                   	pop    %edi
48599b:	5e                   	pop    %esi
48599c:	5d                   	pop    %ebp
48599d:	c3                   	ret
48599e:	8b ff                	mov    %edi,%edi
4859a0:	55                   	push   %ebp
4859a1:	8b ec                	mov    %esp,%ebp
4859a3:	8b 45 08             	mov    0x8(%ebp),%eax
4859a6:	53                   	push   %ebx
4859a7:	0f bf 5d 14          	movswl 0x14(%ebp),%ebx
4859ab:	56                   	push   %esi
4859ac:	8b 70 04             	mov    0x4(%eax),%esi
4859af:	8b cb                	mov    %ebx,%ecx
4859b1:	57                   	push   %edi
4859b2:	8b 38                	mov    (%eax),%edi
4859b4:	8b d6                	mov    %esi,%edx
4859b6:	23 55 10             	and    0x10(%ebp),%edx
4859b9:	8b c7                	mov    %edi,%eax
4859bb:	23 45 0c             	and    0xc(%ebp),%eax
4859be:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4859c4:	e8 a7 00 01 00       	call   0x495a70
4859c9:	6a 08                	push   $0x8
4859cb:	0f b7 c0             	movzwl %ax,%eax
4859ce:	59                   	pop    %ecx
4859cf:	66 3b c1             	cmp    %cx,%ax
4859d2:	77 66                	ja     0x485a3a
4859d4:	73 04                	jae    0x4859da
4859d6:	32 c0                	xor    %al,%al
4859d8:	eb 62                	jmp    0x485a3c
4859da:	33 c0                	xor    %eax,%eax
4859dc:	33 d2                	xor    %edx,%edx
4859de:	40                   	inc    %eax
4859df:	8b cb                	mov    %ebx,%ecx
4859e1:	e8 6a 00 01 00       	call   0x495a50
4859e6:	83 c0 ff             	add    $0xffffffff,%eax
4859e9:	83 d2 ff             	adc    $0xffffffff,%edx
4859ec:	23 c7                	and    %edi,%eax
4859ee:	23 d6                	and    %esi,%edx
4859f0:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4859f6:	0b c2                	or     %edx,%eax
4859f8:	75 40                	jne    0x485a3a
4859fa:	66 83 7d 14 30       	cmpw   $0x30,0x14(%ebp)
4859ff:	74 22                	je     0x485a23
485a01:	0f ac f7 04          	shrd   $0x4,%esi,%edi
485a05:	8b cb                	mov    %ebx,%ecx
485a07:	23 7d 0c             	and    0xc(%ebp),%edi
485a0a:	c1 ee 04             	shr    $0x4,%esi
485a0d:	8b c7                	mov    %edi,%eax
485a0f:	23 75 10             	and    0x10(%ebp),%esi
485a12:	81 e6 ff ff 00 00    	and    $0xffff,%esi
485a18:	8b d6                	mov    %esi,%edx
485a1a:	e8 51 00 01 00       	call   0x495a70
485a1f:	8a c8                	mov    %al,%cl
485a21:	eb 10                	jmp    0x485a33
485a23:	33 c9                	xor    %ecx,%ecx
485a25:	81 e6 00 00 f0 7f    	and    $0x7ff00000,%esi
485a2b:	8b c1                	mov    %ecx,%eax
485a2d:	0b c6                	or     %esi,%eax
485a2f:	74 02                	je     0x485a33
485a31:	b1 01                	mov    $0x1,%cl
485a33:	80 e1 01             	and    $0x1,%cl
485a36:	8a c1                	mov    %cl,%al
485a38:	eb 02                	jmp    0x485a3c
485a3a:	b0 01                	mov    $0x1,%al
485a3c:	5f                   	pop    %edi
485a3d:	5e                   	pop    %esi
485a3e:	5b                   	pop    %ebx
485a3f:	5d                   	pop    %ebp
485a40:	c3                   	ret
485a41:	8b ff                	mov    %edi,%edi
485a43:	55                   	push   %ebp
485a44:	8b ec                	mov    %esp,%ebp
485a46:	83 ec 2c             	sub    $0x2c,%esp
485a49:	33 d2                	xor    %edx,%edx
485a4b:	56                   	push   %esi
485a4c:	8b 75 1c             	mov    0x1c(%ebp),%esi
485a4f:	57                   	push   %edi
485a50:	85 f6                	test   %esi,%esi
485a52:	79 02                	jns    0x485a56
485a54:	8b f2                	mov    %edx,%esi
485a56:	8b 7d 0c             	mov    0xc(%ebp),%edi
485a59:	8d 46 0b             	lea    0xb(%esi),%eax
485a5c:	88 17                	mov    %dl,(%edi)
485a5e:	39 45 10             	cmp    %eax,0x10(%ebp)
485a61:	77 22                	ja     0x485a85
485a63:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
485a66:	6a 22                	push   $0x22
485a68:	5e                   	pop    %esi
485a69:	51                   	push   %ecx
485a6a:	52                   	push   %edx
485a6b:	52                   	push   %edx
485a6c:	52                   	push   %edx
485a6d:	52                   	push   %edx
485a6e:	52                   	push   %edx
485a6f:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
485a73:	89 71 18             	mov    %esi,0x18(%ecx)
485a76:	e8 29 3b ff ff       	call   0x4795a4
485a7b:	83 c4 18             	add    $0x18,%esp
485a7e:	8b c6                	mov    %esi,%eax
485a80:	e9 e5 02 00 00       	jmp    0x485d6a
485a85:	53                   	push   %ebx
485a86:	8b 5d 08             	mov    0x8(%ebp),%ebx
485a89:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
485a8e:	8b 43 04             	mov    0x4(%ebx),%eax
485a91:	c1 e8 14             	shr    $0x14,%eax
485a94:	23 c1                	and    %ecx,%eax
485a96:	3b c1                	cmp    %ecx,%eax
485a98:	75 53                	jne    0x485aed
485a9a:	ff 75 2c             	push   0x2c(%ebp)
485a9d:	ff 75 28             	push   0x28(%ebp)
485aa0:	ff 75 24             	push   0x24(%ebp)
485aa3:	52                   	push   %edx
485aa4:	56                   	push   %esi
485aa5:	ff 75 18             	push   0x18(%ebp)
485aa8:	ff 75 14             	push   0x14(%ebp)
485aab:	ff 75 10             	push   0x10(%ebp)
485aae:	57                   	push   %edi
485aaf:	53                   	push   %ebx
485ab0:	e8 b9 02 00 00       	call   0x485d6e
485ab5:	83 c4 28             	add    $0x28,%esp
485ab8:	85 c0                	test   %eax,%eax
485aba:	74 08                	je     0x485ac4
485abc:	c6 07 00             	movb   $0x0,(%edi)
485abf:	e9 a5 02 00 00       	jmp    0x485d69
485ac4:	6a 65                	push   $0x65
485ac6:	57                   	push   %edi
485ac7:	e8 54 03 01 00       	call   0x495e20
485acc:	59                   	pop    %ecx
485acd:	59                   	pop    %ecx
485ace:	85 c0                	test   %eax,%eax
485ad0:	0f 84 91 02 00 00    	je     0x485d67
485ad6:	8a 4d 20             	mov    0x20(%ebp),%cl
485ad9:	80 f1 01             	xor    $0x1,%cl
485adc:	c0 e1 05             	shl    $0x5,%cl
485adf:	80 c1 50             	add    $0x50,%cl
485ae2:	88 08                	mov    %cl,(%eax)
485ae4:	c6 40 03 00          	movb   $0x0,0x3(%eax)
485ae8:	e9 7a 02 00 00       	jmp    0x485d67
485aed:	39 53 04             	cmp    %edx,0x4(%ebx)
485af0:	7f 0a                	jg     0x485afc
485af2:	7c 04                	jl     0x485af8
485af4:	39 13                	cmp    %edx,(%ebx)
485af6:	73 04                	jae    0x485afc
485af8:	c6 07 2d             	movb   $0x2d,(%edi)
485afb:	47                   	inc    %edi
485afc:	8a 45 20             	mov    0x20(%ebp),%al
485aff:	8d 57 01             	lea    0x1(%edi),%edx
485b02:	8b 4b 04             	mov    0x4(%ebx),%ecx
485b05:	34 01                	xor    $0x1,%al
485b07:	88 45 ff             	mov    %al,-0x1(%ebp)
485b0a:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
485b10:	0f b6 c0             	movzbl %al,%eax
485b13:	c1 e0 05             	shl    $0x5,%eax
485b16:	83 c0 07             	add    $0x7,%eax
485b19:	c7 45 f0 ff 03 00 00 	movl   $0x3ff,-0x10(%ebp)
485b20:	89 45 d8             	mov    %eax,-0x28(%ebp)
485b23:	33 c0                	xor    %eax,%eax
485b25:	0b c1                	or     %ecx,%eax
485b27:	89 55 f4             	mov    %edx,-0xc(%ebp)
485b2a:	6a 30                	push   $0x30
485b2c:	58                   	pop    %eax
485b2d:	75 1e                	jne    0x485b4d
485b2f:	88 07                	mov    %al,(%edi)
485b31:	8b 43 04             	mov    0x4(%ebx),%eax
485b34:	8b 0b                	mov    (%ebx),%ecx
485b36:	25 ff ff 0f 00       	and    $0xfffff,%eax
485b3b:	0b c8                	or     %eax,%ecx
485b3d:	75 05                	jne    0x485b44
485b3f:	21 4d f0             	and    %ecx,-0x10(%ebp)
485b42:	eb 0c                	jmp    0x485b50
485b44:	c7 45 f0 fe 03 00 00 	movl   $0x3fe,-0x10(%ebp)
485b4b:	eb 03                	jmp    0x485b50
485b4d:	c6 07 31             	movb   $0x31,(%edi)
485b50:	8d 7a 01             	lea    0x1(%edx),%edi
485b53:	85 f6                	test   %esi,%esi
485b55:	75 04                	jne    0x485b5b
485b57:	32 c0                	xor    %al,%al
485b59:	eb 23                	jmp    0x485b7e
485b5b:	8b 45 2c             	mov    0x2c(%ebp),%eax
485b5e:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
485b62:	75 0d                	jne    0x485b71
485b64:	8b c8                	mov    %eax,%ecx
485b66:	e8 a5 35 ff ff       	call   0x479110
485b6b:	8b 45 2c             	mov    0x2c(%ebp),%eax
485b6e:	8b 55 f4             	mov    -0xc(%ebp),%edx
485b71:	8b 40 0c             	mov    0xc(%eax),%eax
485b74:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
485b7a:	8b 00                	mov    (%eax),%eax
485b7c:	8a 00                	mov    (%eax),%al
485b7e:	88 02                	mov    %al,(%edx)
485b80:	8b 43 04             	mov    0x4(%ebx),%eax
485b83:	25 ff ff 0f 00       	and    $0xfffff,%eax
485b88:	89 45 e0             	mov    %eax,-0x20(%ebp)
485b8b:	77 09                	ja     0x485b96
485b8d:	83 3b 00             	cmpl   $0x0,(%ebx)
485b90:	0f 86 bf 00 00 00    	jbe    0x485c55
485b96:	6a 30                	push   $0x30
485b98:	58                   	pop    %eax
485b99:	89 45 f8             	mov    %eax,-0x8(%ebp)
485b9c:	b9 00 00 0f 00       	mov    $0xf0000,%ecx
485ba1:	33 c0                	xor    %eax,%eax
485ba3:	89 4d e8             	mov    %ecx,-0x18(%ebp)
485ba6:	89 45 ec             	mov    %eax,-0x14(%ebp)
485ba9:	8b 55 f8             	mov    -0x8(%ebp),%edx
485bac:	0f b7 d2             	movzwl %dx,%edx
485baf:	89 55 e4             	mov    %edx,-0x1c(%ebp)
485bb2:	8b d7                	mov    %edi,%edx
485bb4:	89 7d e0             	mov    %edi,-0x20(%ebp)
485bb7:	85 f6                	test   %esi,%esi
485bb9:	7e 50                	jle    0x485c0b
485bbb:	8b 53 04             	mov    0x4(%ebx),%edx
485bbe:	23 03                	and    (%ebx),%eax
485bc0:	23 d1                	and    %ecx,%edx
485bc2:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
485bc5:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
485bcb:	0f b7 c9             	movzwl %cx,%ecx
485bce:	e8 9d fe 00 00       	call   0x495a70
485bd3:	6a 30                	push   $0x30
485bd5:	59                   	pop    %ecx
485bd6:	66 03 c1             	add    %cx,%ax
485bd9:	0f b7 c0             	movzwl %ax,%eax
485bdc:	83 f8 39             	cmp    $0x39,%eax
485bdf:	76 03                	jbe    0x485be4
485be1:	03 45 d8             	add    -0x28(%ebp),%eax
485be4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
485be7:	8b 55 f8             	mov    -0x8(%ebp),%edx
485bea:	88 07                	mov    %al,(%edi)
485bec:	83 ea 04             	sub    $0x4,%edx
485bef:	8b 45 ec             	mov    -0x14(%ebp),%eax
485bf2:	47                   	inc    %edi
485bf3:	0f ac c8 04          	shrd   $0x4,%ecx,%eax
485bf7:	89 55 f8             	mov    %edx,-0x8(%ebp)
485bfa:	c1 e9 04             	shr    $0x4,%ecx
485bfd:	4e                   	dec    %esi
485bfe:	89 45 ec             	mov    %eax,-0x14(%ebp)
485c01:	89 4d e8             	mov    %ecx,-0x18(%ebp)
485c04:	66 85 d2             	test   %dx,%dx
485c07:	79 a0                	jns    0x485ba9
485c09:	eb 4a                	jmp    0x485c55
485c0b:	ff 75 28             	push   0x28(%ebp)
485c0e:	8b fa                	mov    %edx,%edi
485c10:	ff 75 e4             	push   -0x1c(%ebp)
485c13:	51                   	push   %ecx
485c14:	50                   	push   %eax
485c15:	53                   	push   %ebx
485c16:	e8 66 06 00 00       	call   0x486281
485c1b:	83 c4 14             	add    $0x14,%esp
485c1e:	84 c0                	test   %al,%al
485c20:	74 47                	je     0x485c69
485c22:	8b 7d e0             	mov    -0x20(%ebp),%edi
485c25:	6a 30                	push   $0x30
485c27:	5b                   	pop    %ebx
485c28:	8d 47 ff             	lea    -0x1(%edi),%eax
485c2b:	8a 08                	mov    (%eax),%cl
485c2d:	80 f9 66             	cmp    $0x66,%cl
485c30:	74 05                	je     0x485c37
485c32:	80 f9 46             	cmp    $0x46,%cl
485c35:	75 05                	jne    0x485c3c
485c37:	88 18                	mov    %bl,(%eax)
485c39:	48                   	dec    %eax
485c3a:	eb ef                	jmp    0x485c2b
485c3c:	8b 5d 08             	mov    0x8(%ebp),%ebx
485c3f:	3b 45 f4             	cmp    -0xc(%ebp),%eax
485c42:	74 0e                	je     0x485c52
485c44:	80 f9 39             	cmp    $0x39,%cl
485c47:	75 03                	jne    0x485c4c
485c49:	02 4d d8             	add    -0x28(%ebp),%cl
485c4c:	fe c1                	inc    %cl
485c4e:	88 08                	mov    %cl,(%eax)
485c50:	eb 03                	jmp    0x485c55
485c52:	fe 40 ff             	incb   -0x1(%eax)
485c55:	85 f6                	test   %esi,%esi
485c57:	7e 10                	jle    0x485c69
485c59:	56                   	push   %esi
485c5a:	6a 30                	push   $0x30
485c5c:	58                   	pop    %eax
485c5d:	50                   	push   %eax
485c5e:	57                   	push   %edi