487cc3:	e8 f9 fe ff ff       	call   0x487bc1
487cc8:	eb 28                	jmp    0x487cf2
487cca:	8b 45 0c             	mov    0xc(%ebp),%eax
487ccd:	33 c9                	xor    %ecx,%ecx
487ccf:	50                   	push   %eax
487cd0:	51                   	push   %ecx
487cd1:	51                   	push   %ecx
487cd2:	51                   	push   %ecx
487cd3:	c6 40 24 01          	movb   $0x1,0x24(%eax)
487cd7:	51                   	push   %ecx
487cd8:	89 48 20             	mov    %ecx,0x20(%eax)
487cdb:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
487cdf:	51                   	push   %ecx
487ce0:	c7 40 18 09 00 00 00 	movl   $0x9,0x18(%eax)
487ce7:	e8 b8 18 ff ff       	call   0x4795a4
487cec:	83 c4 18             	add    $0x18,%esp
487cef:	83 c8 ff             	or     $0xffffffff,%eax
487cf2:	5e                   	pop    %esi
487cf3:	c9                   	leave
487cf4:	c3                   	ret
487cf5:	8b ff                	mov    %edi,%edi
487cf7:	55                   	push   %ebp
487cf8:	8b ec                	mov    %esp,%ebp
487cfa:	83 ec 28             	sub    $0x28,%esp
487cfd:	8d 4d d8             	lea    -0x28(%ebp),%ecx
487d00:	56                   	push   %esi
487d01:	6a 00                	push   $0x0
487d03:	e8 d8 f5 fe ff       	call   0x4772e0
487d08:	8d 45 d8             	lea    -0x28(%ebp),%eax
487d0b:	50                   	push   %eax
487d0c:	ff 75 08             	push   0x8(%ebp)
487d0f:	e8 11 00 00 00       	call   0x487d25
487d14:	59                   	pop    %ecx
487d15:	59                   	pop    %ecx
487d16:	8d 4d d8             	lea    -0x28(%ebp),%ecx
487d19:	8b f0                	mov    %eax,%esi
487d1b:	e8 20 f6 fe ff       	call   0x477340
487d20:	8b c6                	mov    %esi,%eax
487d22:	5e                   	pop    %esi
487d23:	c9                   	leave
487d24:	c3                   	ret
487d25:	8b ff                	mov    %edi,%edi
487d27:	55                   	push   %ebp
487d28:	8b ec                	mov    %esp,%ebp
487d2a:	56                   	push   %esi
487d2b:	57                   	push   %edi
487d2c:	8b 7d 08             	mov    0x8(%ebp),%edi
487d2f:	57                   	push   %edi
487d30:	e8 6c 85 00 00       	call   0x4902a1
487d35:	59                   	pop    %ecx
487d36:	83 f8 ff             	cmp    $0xffffffff,%eax
487d39:	75 04                	jne    0x487d3f
487d3b:	33 f6                	xor    %esi,%esi
487d3d:	eb 4e                	jmp    0x487d8d
487d3f:	a1 00 88 4c 00       	mov    0x4c8800,%eax
487d44:	83 ff 01             	cmp    $0x1,%edi
487d47:	75 09                	jne    0x487d52
487d49:	f6 80 98 00 00 00 01 	testb  $0x1,0x98(%eax)
487d50:	75 0b                	jne    0x487d5d
487d52:	83 ff 02             	cmp    $0x2,%edi
487d55:	75 1c                	jne    0x487d73
487d57:	f6 40 60 01          	testb  $0x1,0x60(%eax)
487d5b:	74 16                	je     0x487d73
487d5d:	6a 02                	push   $0x2
487d5f:	e8 3d 85 00 00       	call   0x4902a1
487d64:	6a 01                	push   $0x1
487d66:	8b f0                	mov    %eax,%esi
487d68:	e8 34 85 00 00       	call   0x4902a1
487d6d:	59                   	pop    %ecx
487d6e:	59                   	pop    %ecx
487d6f:	3b c6                	cmp    %esi,%eax
487d71:	74 c8                	je     0x487d3b
487d73:	57                   	push   %edi
487d74:	e8 28 85 00 00       	call   0x4902a1
487d79:	59                   	pop    %ecx
487d7a:	50                   	push   %eax
487d7b:	ff 15 64 e0 49 00    	call   *0x49e064
487d81:	85 c0                	test   %eax,%eax
487d83:	75 b6                	jne    0x487d3b
487d85:	ff 15 30 e1 49 00    	call   *0x49e130
487d8b:	8b f0                	mov    %eax,%esi
487d8d:	57                   	push   %edi
487d8e:	e8 7d 84 00 00       	call   0x490210
487d93:	59                   	pop    %ecx
487d94:	8b cf                	mov    %edi,%ecx
487d96:	83 e7 3f             	and    $0x3f,%edi
487d99:	c1 f9 06             	sar    $0x6,%ecx
487d9c:	6b d7 38             	imul   $0x38,%edi,%edx
487d9f:	8b 0c 8d 00 88 4c 00 	mov    0x4c8800(,%ecx,4),%ecx
487da6:	c6 44 11 28 00       	movb   $0x0,0x28(%ecx,%edx,1)
487dab:	85 f6                	test   %esi,%esi
487dad:	74 10                	je     0x487dbf
487daf:	ff 75 0c             	push   0xc(%ebp)
487db2:	56                   	push   %esi
487db3:	e8 46 21 ff ff       	call   0x479efe
487db8:	59                   	pop    %ecx
487db9:	59                   	pop    %ecx
487dba:	83 c8 ff             	or     $0xffffffff,%eax
487dbd:	eb 02                	jmp    0x487dc1
487dbf:	33 c0                	xor    %eax,%eax
487dc1:	5f                   	pop    %edi
487dc2:	5e                   	pop    %esi
487dc3:	5d                   	pop    %ebp
487dc4:	c3                   	ret
487dc5:	6a 0c                	push   $0xc
487dc7:	68 10 1a 4c 00       	push   $0x4c1a10
487dcc:	e8 6f 29 fe ff       	call   0x46a740
487dd1:	33 ff                	xor    %edi,%edi
487dd3:	8b 75 08             	mov    0x8(%ebp),%esi
487dd6:	89 3e                	mov    %edi,(%esi)
487dd8:	6a 08                	push   $0x8
487dda:	e8 82 a0 ff ff       	call   0x481e61
487ddf:	59                   	pop    %ecx
487de0:	89 7d fc             	mov    %edi,-0x4(%ebp)
487de3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
487de6:	50                   	push   %eax
487de7:	e8 7d 00 00 00       	call   0x487e69
487dec:	59                   	pop    %ecx
487ded:	8b 00                	mov    (%eax),%eax
487def:	89 06                	mov    %eax,(%esi)
487df1:	85 c0                	test   %eax,%eax
487df3:	74 0f                	je     0x487e04
487df5:	89 78 08             	mov    %edi,0x8(%eax)
487df8:	89 78 1c             	mov    %edi,0x1c(%eax)
487dfb:	89 38                	mov    %edi,(%eax)
487dfd:	89 78 04             	mov    %edi,0x4(%eax)
487e00:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
487e04:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
487e0b:	e8 15 00 00 00       	call   0x487e25
487e10:	8b c6                	mov    %esi,%eax
487e12:	8b 4d f0             	mov    -0x10(%ebp),%ecx
487e15:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
487e1c:	59                   	pop    %ecx
487e1d:	5f                   	pop    %edi
487e1e:	5e                   	pop    %esi
487e1f:	5b                   	pop    %ebx
487e20:	c9                   	leave
487e21:	c3                   	ret
487e22:	8b 75 08             	mov    0x8(%ebp),%esi
487e25:	6a 08                	push   $0x8
487e27:	e8 85 a0 ff ff       	call   0x481eb1
487e2c:	59                   	pop    %ecx
487e2d:	c3                   	ret
487e2e:	8b ff                	mov    %edi,%edi
487e30:	55                   	push   %ebp
487e31:	8b ec                	mov    %esp,%ebp
487e33:	8b 45 08             	mov    0x8(%ebp),%eax
487e36:	33 c9                	xor    %ecx,%ecx
487e38:	89 08                	mov    %ecx,(%eax)
487e3a:	8b 45 08             	mov    0x8(%ebp),%eax
487e3d:	89 48 04             	mov    %ecx,0x4(%eax)
487e40:	8b 45 08             	mov    0x8(%ebp),%eax
487e43:	89 48 08             	mov    %ecx,0x8(%eax)
487e46:	8b 45 08             	mov    0x8(%ebp),%eax
487e49:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
487e4d:	8b 45 08             	mov    0x8(%ebp),%eax
487e50:	89 48 14             	mov    %ecx,0x14(%eax)
487e53:	8b 45 08             	mov    0x8(%ebp),%eax
487e56:	89 48 18             	mov    %ecx,0x18(%eax)
487e59:	8b 45 08             	mov    0x8(%ebp),%eax
487e5c:	89 48 1c             	mov    %ecx,0x1c(%eax)
487e5f:	8b 45 08             	mov    0x8(%ebp),%eax
487e62:	83 c0 0c             	add    $0xc,%eax
487e65:	87 08                	xchg   %ecx,(%eax)
487e67:	5d                   	pop    %ebp
487e68:	c3                   	ret
487e69:	8b ff                	mov    %edi,%edi
487e6b:	55                   	push   %ebp
487e6c:	8b ec                	mov    %esp,%ebp
487e6e:	51                   	push   %ecx
487e6f:	53                   	push   %ebx
487e70:	8b 1d 00 84 4c 00    	mov    0x4c8400,%ebx
487e76:	56                   	push   %esi
487e77:	57                   	push   %edi
487e78:	8b 3d 04 84 4c 00    	mov    0x4c8404,%edi
487e7e:	83 c7 0c             	add    $0xc,%edi
487e81:	83 c3 fd             	add    $0xfffffffd,%ebx
487e84:	8d 1c 9f             	lea    (%edi,%ebx,4),%ebx
487e87:	89 5d fc             	mov    %ebx,-0x4(%ebp)
487e8a:	eb 42                	jmp    0x487ece
487e8c:	8b 37                	mov    (%edi),%esi
487e8e:	85 f6                	test   %esi,%esi
487e90:	74 52                	je     0x487ee4
487e92:	8b 46 0c             	mov    0xc(%esi),%eax
487e95:	90                   	nop
487e96:	c1 e8 0d             	shr    $0xd,%eax
487e99:	a8 01                	test   $0x1,%al
487e9b:	75 2e                	jne    0x487ecb
487e9d:	56                   	push   %esi
487e9e:	e8 49 1f ff ff       	call   0x479dec
487ea3:	59                   	pop    %ecx
487ea4:	8d 56 0c             	lea    0xc(%esi),%edx
487ea7:	bb 00 20 00 00       	mov    $0x2000,%ebx
487eac:	8b 02                	mov    (%edx),%eax
487eae:	8b c8                	mov    %eax,%ecx
487eb0:	0b cb                	or     %ebx,%ecx
487eb2:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
487eb6:	75 f6                	jne    0x487eae
487eb8:	8b 5d fc             	mov    -0x4(%ebp),%ebx
487ebb:	c1 e8 0d             	shr    $0xd,%eax
487ebe:	f6 d0                	not    %al
487ec0:	a8 01                	test   $0x1,%al
487ec2:	75 19                	jne    0x487edd
487ec4:	56                   	push   %esi
487ec5:	e8 36 1f ff ff       	call   0x479e00
487eca:	59                   	pop    %ecx
487ecb:	83 c7 04             	add    $0x4,%edi
487ece:	3b fb                	cmp    %ebx,%edi
487ed0:	75 ba                	jne    0x487e8c
487ed2:	8b 45 08             	mov    0x8(%ebp),%eax
487ed5:	83 20 00             	andl   $0x0,(%eax)
487ed8:	5f                   	pop    %edi
487ed9:	5e                   	pop    %esi
487eda:	5b                   	pop    %ebx
487edb:	c9                   	leave
487edc:	c3                   	ret
487edd:	8b 45 08             	mov    0x8(%ebp),%eax
487ee0:	89 30                	mov    %esi,(%eax)
487ee2:	eb f4                	jmp    0x487ed8
487ee4:	6a 38                	push   $0x38
487ee6:	6a 01                	push   $0x1
487ee8:	e8 50 04 00 00       	call   0x48833d
487eed:	6a 00                	push   $0x0
487eef:	89 07                	mov    %eax,(%edi)
487ef1:	e8 02 d9 ff ff       	call   0x4857f8
487ef6:	8b 07                	mov    (%edi),%eax
487ef8:	83 c4 0c             	add    $0xc,%esp
487efb:	85 c0                	test   %eax,%eax
487efd:	74 d3                	je     0x487ed2
487eff:	83 48 10 ff          	orl    $0xffffffff,0x10(%eax)
487f03:	8b 07                	mov    (%edi),%eax
487f05:	6a 00                	push   $0x0
487f07:	68 a0 0f 00 00       	push   $0xfa0
487f0c:	83 c0 20             	add    $0x20,%eax
487f0f:	50                   	push   %eax
487f10:	e8 1a 0b 00 00       	call   0x488a2f
487f15:	8b 37                	mov    (%edi),%esi
487f17:	b9 00 20 00 00       	mov    $0x2000,%ecx
487f1c:	8d 46 0c             	lea    0xc(%esi),%eax
487f1f:	f0 09 08             	lock or %ecx,(%eax)
487f22:	56                   	push   %esi
487f23:	e8 c4 1e ff ff       	call   0x479dec
487f28:	59                   	pop    %ecx
487f29:	eb b2                	jmp    0x487edd
487f2b:	8b ff                	mov    %edi,%edi
487f2d:	55                   	push   %ebp
487f2e:	8b ec                	mov    %esp,%ebp
487f30:	56                   	push   %esi
487f31:	8b 75 08             	mov    0x8(%ebp),%esi
487f34:	57                   	push   %edi
487f35:	8d 7e 0c             	lea    0xc(%esi),%edi
487f38:	8b 07                	mov    (%edi),%eax
487f3a:	90                   	nop
487f3b:	c1 e8 0d             	shr    $0xd,%eax
487f3e:	a8 01                	test   $0x1,%al
487f40:	74 25                	je     0x487f67
487f42:	8b 07                	mov    (%edi),%eax
487f44:	90                   	nop
487f45:	c1 e8 06             	shr    $0x6,%eax
487f48:	a8 01                	test   $0x1,%al
487f4a:	74 1b                	je     0x487f67
487f4c:	ff 76 04             	push   0x4(%esi)
487f4f:	e8 a4 d8 ff ff       	call   0x4857f8
487f54:	59                   	pop    %ecx
487f55:	b8 bf fe ff ff       	mov    $0xfffffebf,%eax
487f5a:	f0 21 07             	lock and %eax,(%edi)
487f5d:	33 c0                	xor    %eax,%eax
487f5f:	89 46 04             	mov    %eax,0x4(%esi)
487f62:	89 06                	mov    %eax,(%esi)
487f64:	89 46 08             	mov    %eax,0x8(%esi)
487f67:	5f                   	pop    %edi
487f68:	5e                   	pop    %esi
487f69:	5d                   	pop    %ebp
487f6a:	c3                   	ret
487f6b:	8b ff                	mov    %edi,%edi
487f6d:	55                   	push   %ebp
487f6e:	8b ec                	mov    %esp,%ebp
487f70:	51                   	push   %ecx
487f71:	51                   	push   %ecx
487f72:	a1 14 40 4c 00       	mov    0x4c4014,%eax
487f77:	33 c5                	xor    %ebp,%eax
487f79:	89 45 fc             	mov    %eax,-0x4(%ebp)
487f7c:	53                   	push   %ebx
487f7d:	56                   	push   %esi
487f7e:	57                   	push   %edi
487f7f:	8b 7d 18             	mov    0x18(%ebp),%edi
487f82:	85 ff                	test   %edi,%edi
487f84:	7e 14                	jle    0x487f9a
487f86:	57                   	push   %edi
487f87:	ff 75 14             	push   0x14(%ebp)
487f8a:	e8 4e aa ff ff       	call   0x4829dd
487f8f:	59                   	pop    %ecx
487f90:	3b c7                	cmp    %edi,%eax
487f92:	59                   	pop    %ecx
487f93:	8d 78 01             	lea    0x1(%eax),%edi
487f96:	7c 02                	jl     0x487f9a
487f98:	8b f8                	mov    %eax,%edi
487f9a:	8b 5d 24             	mov    0x24(%ebp),%ebx
487f9d:	85 db                	test   %ebx,%ebx
487f9f:	75 0b                	jne    0x487fac
487fa1:	8b 45 08             	mov    0x8(%ebp),%eax
487fa4:	8b 00                	mov    (%eax),%eax
487fa6:	8b 58 08             	mov    0x8(%eax),%ebx
487fa9:	89 5d 24             	mov    %ebx,0x24(%ebp)
487fac:	33 c0                	xor    %eax,%eax
487fae:	39 45 28             	cmp    %eax,0x28(%ebp)
487fb1:	6a 00                	push   $0x0
487fb3:	6a 00                	push   $0x0
487fb5:	0f 95 c0             	setne  %al
487fb8:	57                   	push   %edi
487fb9:	ff 75 14             	push   0x14(%ebp)
487fbc:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
487fc3:	50                   	push   %eax
487fc4:	53                   	push   %ebx
487fc5:	e8 86 6c 00 00       	call   0x48ec50
487fca:	83 c4 18             	add    $0x18,%esp
487fcd:	89 45 f8             	mov    %eax,-0x8(%ebp)
487fd0:	85 c0                	test   %eax,%eax
487fd2:	0f 84 70 01 00 00    	je     0x488148
487fd8:	03 c0                	add    %eax,%eax
487fda:	8d 48 08             	lea    0x8(%eax),%ecx
487fdd:	3b c1                	cmp    %ecx,%eax
487fdf:	1b c0                	sbb    %eax,%eax
487fe1:	23 c1                	and    %ecx,%eax
487fe3:	0f 84 52 01 00 00    	je     0x48813b
487fe9:	3d 00 04 00 00       	cmp    $0x400,%eax
487fee:	77 17                	ja     0x488007
487ff0:	e8 db 23 fe ff       	call   0x46a3d0
487ff5:	8b f4                	mov    %esp,%esi
487ff7:	85 f6                	test   %esi,%esi
487ff9:	0f 84 3e 01 00 00    	je     0x48813d
487fff:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
488005:	eb 17                	jmp    0x48801e
488007:	50                   	push   %eax
488008:	e8 25 d8 ff ff       	call   0x485832
48800d:	8b f0                	mov    %eax,%esi
48800f:	59                   	pop    %ecx
488010:	85 f6                	test   %esi,%esi
488012:	0f 84 25 01 00 00    	je     0x48813d
488018:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
48801e:	83 c6 08             	add    $0x8,%esi
488021:	85 f6                	test   %esi,%esi
488023:	0f 84 14 01 00 00    	je     0x48813d
488029:	ff 75 f8             	push   -0x8(%ebp)
48802c:	56                   	push   %esi
48802d:	57                   	push   %edi
48802e:	ff 75 14             	push   0x14(%ebp)
488031:	6a 01                	push   $0x1
488033:	53                   	push   %ebx
488034:	e8 17 6c 00 00       	call   0x48ec50