608c42:	f0 09 08             	lock or %ecx,(%eax)
608c45:	8b 45 14             	mov    0x14(%ebp),%eax
608c48:	33 c9                	xor    %ecx,%ecx
608c4a:	89 48 08             	mov    %ecx,0x8(%eax)
608c4d:	8b 45 14             	mov    0x14(%ebp),%eax
608c50:	89 48 1c             	mov    %ecx,0x1c(%eax)
608c53:	8b 45 14             	mov    0x14(%ebp),%eax
608c56:	89 48 04             	mov    %ecx,0x4(%eax)
608c59:	8b 45 14             	mov    0x14(%ebp),%eax
608c5c:	89 08                	mov    %ecx,(%eax)
608c5e:	8b 4d 14             	mov    0x14(%ebp),%ecx
608c61:	8b 45 fc             	mov    -0x4(%ebp),%eax
608c64:	89 41 10             	mov    %eax,0x10(%ecx)
608c67:	8b 45 14             	mov    0x14(%ebp),%eax
608c6a:	c9                   	leave
608c6b:	c3                   	ret
608c6c:	33 c0                	xor    %eax,%eax
608c6e:	c9                   	leave
608c6f:	c3                   	ret
608c70:	8b ff                	mov    %edi,%edi
608c72:	55                   	push   %ebp
608c73:	8b ec                	mov    %esp,%ebp
608c75:	83 ec 1c             	sub    $0x1c,%esp
608c78:	56                   	push   %esi
608c79:	57                   	push   %edi
608c7a:	ff 75 0c             	push   0xc(%ebp)
608c7d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
608c80:	50                   	push   %eax
608c81:	e8 fc fc ff ff       	call   0x608982
608c86:	8b f0                	mov    %eax,%esi
608c88:	8d 7d f0             	lea    -0x10(%ebp),%edi
608c8b:	59                   	pop    %ecx
608c8c:	59                   	pop    %ecx
608c8d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c8e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c8f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
608c90:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
608c94:	5f                   	pop    %edi
608c95:	5e                   	pop    %esi
608c96:	74 57                	je     0x608cef
608c98:	68 80 01 00 00       	push   $0x180
608c9d:	ff 75 10             	push   0x10(%ebp)
608ca0:	8d 45 fc             	lea    -0x4(%ebp),%eax
608ca3:	ff 75 f0             	push   -0x10(%ebp)
608ca6:	ff 75 08             	push   0x8(%ebp)
608ca9:	50                   	push   %eax
608caa:	e8 85 17 00 00       	call   0x60a434
608caf:	83 c4 14             	add    $0x14,%esp
608cb2:	85 c0                	test   %eax,%eax
608cb4:	75 39                	jne    0x608cef
608cb6:	8b 45 14             	mov    0x14(%ebp),%eax
608cb9:	ff 05 d0 0c 73 00    	incl   0x730cd0
608cbf:	83 c0 0c             	add    $0xc,%eax
608cc2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
608cc5:	f0 09 08             	lock or %ecx,(%eax)
608cc8:	8b 45 14             	mov    0x14(%ebp),%eax
608ccb:	33 c9                	xor    %ecx,%ecx
608ccd:	89 48 08             	mov    %ecx,0x8(%eax)
608cd0:	8b 45 14             	mov    0x14(%ebp),%eax
608cd3:	89 48 1c             	mov    %ecx,0x1c(%eax)
608cd6:	8b 45 14             	mov    0x14(%ebp),%eax
608cd9:	89 48 04             	mov    %ecx,0x4(%eax)
608cdc:	8b 45 14             	mov    0x14(%ebp),%eax
608cdf:	89 08                	mov    %ecx,(%eax)
608ce1:	8b 4d 14             	mov    0x14(%ebp),%ecx
608ce4:	8b 45 fc             	mov    -0x4(%ebp),%eax
608ce7:	89 41 10             	mov    %eax,0x10(%ecx)
608cea:	8b 45 14             	mov    0x14(%ebp),%eax
608ced:	c9                   	leave
608cee:	c3                   	ret
608cef:	33 c0                	xor    %eax,%eax
608cf1:	c9                   	leave
608cf2:	c3                   	ret
608cf3:	8b ff                	mov    %edi,%edi
608cf5:	55                   	push   %ebp
608cf6:	8b ec                	mov    %esp,%ebp
608cf8:	8b 4d 08             	mov    0x8(%ebp),%ecx
608cfb:	8b 01                	mov    (%ecx),%eax
608cfd:	a8 40                	test   $0x40,%al
608cff:	74 04                	je     0x608d05
608d01:	32 c0                	xor    %al,%al
608d03:	5d                   	pop    %ebp
608d04:	c3                   	ret
608d05:	83 c8 40             	or     $0x40,%eax
608d08:	89 01                	mov    %eax,(%ecx)
608d0a:	b0 01                	mov    $0x1,%al
608d0c:	5d                   	pop    %ebp
608d0d:	c3                   	ret
608d0e:	8b ff                	mov    %edi,%edi
608d10:	55                   	push   %ebp
608d11:	8b ec                	mov    %esp,%ebp
608d13:	8b 4d 08             	mov    0x8(%ebp),%ecx
608d16:	ba 00 10 00 00       	mov    $0x1000,%edx
608d1b:	8b 01                	mov    (%ecx),%eax
608d1d:	85 c2                	test   %eax,%edx
608d1f:	74 04                	je     0x608d25
608d21:	32 c0                	xor    %al,%al
608d23:	5d                   	pop    %ebp
608d24:	c3                   	ret
608d25:	0b c2                	or     %edx,%eax
608d27:	89 01                	mov    %eax,(%ecx)
608d29:	b0 01                	mov    $0x1,%al
608d2b:	5d                   	pop    %ebp
608d2c:	c3                   	ret
608d2d:	8b ff                	mov    %edi,%edi
608d2f:	55                   	push   %ebp
608d30:	8b ec                	mov    %esp,%ebp
608d32:	8b 4d 08             	mov    0x8(%ebp),%ecx
608d35:	8b 01                	mov    (%ecx),%eax
608d37:	a9 00 c0 00 00       	test   $0xc000,%eax
608d3c:	74 04                	je     0x608d42
608d3e:	32 c0                	xor    %al,%al
608d40:	5d                   	pop    %ebp
608d41:	c3                   	ret
608d42:	0d 00 80 00 00       	or     $0x8000,%eax
608d47:	89 01                	mov    %eax,(%ecx)
608d49:	b0 01                	mov    $0x1,%al
608d4b:	5d                   	pop    %ebp
608d4c:	c3                   	ret
608d4d:	8b ff                	mov    %edi,%edi
608d4f:	55                   	push   %ebp
608d50:	8b ec                	mov    %esp,%ebp
608d52:	8b 45 0c             	mov    0xc(%ebp),%eax
608d55:	80 38 00             	cmpb   $0x0,(%eax)
608d58:	74 04                	je     0x608d5e
608d5a:	32 c0                	xor    %al,%al
608d5c:	5d                   	pop    %ebp
608d5d:	c3                   	ret
608d5e:	8b 4d 08             	mov    0x8(%ebp),%ecx
608d61:	c6 00 01             	movb   $0x1,(%eax)
608d64:	b0 01                	mov    $0x1,%al
608d66:	81 49 04 00 08 00 00 	orl    $0x800,0x4(%ecx)
608d6d:	5d                   	pop    %ebp
608d6e:	c3                   	ret
608d6f:	8b ff                	mov    %edi,%edi
608d71:	55                   	push   %ebp
608d72:	8b ec                	mov    %esp,%ebp
608d74:	8b 45 0c             	mov    0xc(%ebp),%eax
608d77:	80 38 00             	cmpb   $0x0,(%eax)
608d7a:	74 04                	je     0x608d80
608d7c:	32 c0                	xor    %al,%al
608d7e:	5d                   	pop    %ebp
608d7f:	c3                   	ret
608d80:	8b 4d 08             	mov    0x8(%ebp),%ecx
608d83:	c6 00 01             	movb   $0x1,(%eax)
608d86:	b0 01                	mov    $0x1,%al
608d88:	81 61 04 ff f7 ff ff 	andl   $0xfffff7ff,0x4(%ecx)
608d8f:	5d                   	pop    %ebp
608d90:	c3                   	ret
608d91:	8b ff                	mov    %edi,%edi
608d93:	55                   	push   %ebp
608d94:	8b ec                	mov    %esp,%ebp
608d96:	8b 45 0c             	mov    0xc(%ebp),%eax
608d99:	80 38 00             	cmpb   $0x0,(%eax)
608d9c:	75 25                	jne    0x608dc3
608d9e:	8b 55 08             	mov    0x8(%ebp),%edx
608da1:	c6 00 01             	movb   $0x1,(%eax)
608da4:	8b 0a                	mov    (%edx),%ecx
608da6:	f6 c1 02             	test   $0x2,%cl
608da9:	75 18                	jne    0x608dc3
608dab:	83 e1 fe             	and    $0xfffffffe,%ecx
608dae:	b0 01                	mov    $0x1,%al
608db0:	83 c9 02             	or     $0x2,%ecx
608db3:	89 0a                	mov    %ecx,(%edx)
608db5:	8b 4a 04             	mov    0x4(%edx),%ecx
608db8:	83 e1 fc             	and    $0xfffffffc,%ecx
608dbb:	83 c9 04             	or     $0x4,%ecx
608dbe:	89 4a 04             	mov    %ecx,0x4(%edx)
608dc1:	5d                   	pop    %ebp
608dc2:	c3                   	ret
608dc3:	32 c0                	xor    %al,%al
608dc5:	5d                   	pop    %ebp
608dc6:	c3                   	ret
608dc7:	8b ff                	mov    %edi,%edi
608dc9:	55                   	push   %ebp
608dca:	8b ec                	mov    %esp,%ebp
608dcc:	8b 4d 08             	mov    0x8(%ebp),%ecx
608dcf:	8b 01                	mov    (%ecx),%eax
608dd1:	a9 00 c0 00 00       	test   $0xc000,%eax
608dd6:	74 04                	je     0x608ddc
608dd8:	32 c0                	xor    %al,%al
608dda:	5d                   	pop    %ebp
608ddb:	c3                   	ret
608ddc:	0d 00 40 00 00       	or     $0x4000,%eax
608de1:	89 01                	mov    %eax,(%ecx)
608de3:	b0 01                	mov    $0x1,%al
608de5:	5d                   	pop    %ebp
608de6:	c3                   	ret
608de7:	8b ff                	mov    %edi,%edi
608de9:	55                   	push   %ebp
608dea:	8b ec                	mov    %esp,%ebp
608dec:	8b 4d 08             	mov    0x8(%ebp),%ecx
608def:	8b 01                	mov    (%ecx),%eax
608df1:	a9 00 02 00 00       	test   $0x200,%eax
608df6:	75 04                	jne    0x608dfc
608df8:	32 c0                	xor    %al,%al
608dfa:	5d                   	pop    %ebp
608dfb:	c3                   	ret
608dfc:	0d 00 04 00 00       	or     $0x400,%eax
608e01:	89 01                	mov    %eax,(%ecx)
608e03:	b0 01                	mov    $0x1,%al
608e05:	5d                   	pop    %ebp
608e06:	c3                   	ret
608e07:	8b ff                	mov    %edi,%edi
608e09:	55                   	push   %ebp
608e0a:	8b ec                	mov    %esp,%ebp
608e0c:	5d                   	pop    %ebp
608e0d:	e9 db fd ff ff       	jmp    0x608bed
608e12:	8b ff                	mov    %edi,%edi
608e14:	55                   	push   %ebp
608e15:	8b ec                	mov    %esp,%ebp
608e17:	5d                   	pop    %ebp
608e18:	e9 53 fe ff ff       	jmp    0x608c70
608e1d:	8b ff                	mov    %edi,%edi
608e1f:	55                   	push   %ebp
608e20:	8b ec                	mov    %esp,%ebp
608e22:	57                   	push   %edi
608e23:	ff 75 0c             	push   0xc(%ebp)
608e26:	e8 7d 69 ff ff       	call   0x5ff7a8
608e2b:	59                   	pop    %ecx
608e2c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
608e2f:	8b f8                	mov    %eax,%edi
608e31:	8b 49 0c             	mov    0xc(%ecx),%ecx
608e34:	90                   	nop
608e35:	f6 c1 06             	test   $0x6,%cl
608e38:	75 1f                	jne    0x608e59
608e3a:	e8 ba 41 fe ff       	call   0x5ecff9
608e3f:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
608e45:	8b 45 0c             	mov    0xc(%ebp),%eax
608e48:	6a 10                	push   $0x10
608e4a:	59                   	pop    %ecx
608e4b:	83 c0 0c             	add    $0xc,%eax
608e4e:	f0 09 08             	lock or %ecx,(%eax)
608e51:	83 c8 ff             	or     $0xffffffff,%eax
608e54:	e9 d6 00 00 00       	jmp    0x608f2f
608e59:	8b 45 0c             	mov    0xc(%ebp),%eax
608e5c:	8b 40 0c             	mov    0xc(%eax),%eax
608e5f:	90                   	nop
608e60:	c1 e8 0c             	shr    $0xc,%eax
608e63:	a8 01                	test   $0x1,%al
608e65:	74 0d                	je     0x608e74
608e67:	e8 8d 41 fe ff       	call   0x5ecff9
608e6c:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
608e72:	eb d1                	jmp    0x608e45
608e74:	8b 45 0c             	mov    0xc(%ebp),%eax
608e77:	8b 40 0c             	mov    0xc(%eax),%eax
608e7a:	90                   	nop
608e7b:	a8 01                	test   $0x1,%al
608e7d:	74 28                	je     0x608ea7
608e7f:	ff 75 0c             	push   0xc(%ebp)
608e82:	e8 77 01 00 00       	call   0x608ffe
608e87:	59                   	pop    %ecx
608e88:	8b 4d 0c             	mov    0xc(%ebp),%ecx
608e8b:	83 61 08 00          	andl   $0x0,0x8(%ecx)
608e8f:	84 c0                	test   %al,%al
608e91:	8b 45 0c             	mov    0xc(%ebp),%eax
608e94:	74 b2                	je     0x608e48
608e96:	8b 48 04             	mov    0x4(%eax),%ecx
608e99:	89 08                	mov    %ecx,(%eax)
608e9b:	8b 45 0c             	mov    0xc(%ebp),%eax
608e9e:	6a fe                	push   $0xfffffffe
608ea0:	59                   	pop    %ecx
608ea1:	83 c0 0c             	add    $0xc,%eax
608ea4:	f0 21 08             	lock and %ecx,(%eax)
608ea7:	8b 45 0c             	mov    0xc(%ebp),%eax
608eaa:	53                   	push   %ebx
608eab:	6a 02                	push   $0x2
608ead:	5b                   	pop    %ebx
608eae:	83 c0 0c             	add    $0xc,%eax
608eb1:	f0 09 18             	lock or %ebx,(%eax)
608eb4:	8b 45 0c             	mov    0xc(%ebp),%eax
608eb7:	6a f7                	push   $0xfffffff7
608eb9:	59                   	pop    %ecx
608eba:	83 c0 0c             	add    $0xc,%eax
608ebd:	f0 21 08             	lock and %ecx,(%eax)
608ec0:	8b 45 0c             	mov    0xc(%ebp),%eax
608ec3:	83 60 08 00          	andl   $0x0,0x8(%eax)
608ec7:	8b 45 0c             	mov    0xc(%ebp),%eax
608eca:	8b 40 0c             	mov    0xc(%eax),%eax
608ecd:	90                   	nop
608ece:	a9 c0 04 00 00       	test   $0x4c0,%eax
608ed3:	75 33                	jne    0x608f08
608ed5:	56                   	push   %esi
608ed6:	8b 75 0c             	mov    0xc(%ebp),%esi
608ed9:	6a 01                	push   $0x1
608edb:	e8 18 32 ff ff       	call   0x5fc0f8
608ee0:	59                   	pop    %ecx
608ee1:	3b f0                	cmp    %eax,%esi
608ee3:	74 0e                	je     0x608ef3
608ee5:	8b 75 0c             	mov    0xc(%ebp),%esi
608ee8:	53                   	push   %ebx
608ee9:	e8 0a 32 ff ff       	call   0x5fc0f8
608eee:	59                   	pop    %ecx
608eef:	3b f0                	cmp    %eax,%esi
608ef1:	75 0b                	jne    0x608efe
608ef3:	57                   	push   %edi
608ef4:	e8 94 76 00 00       	call   0x61058d
608ef9:	59                   	pop    %ecx
608efa:	85 c0                	test   %eax,%eax
608efc:	75 09                	jne    0x608f07
608efe:	ff 75 0c             	push   0xc(%ebp)
608f01:	e8 d1 26 00 00       	call   0x60b5d7
608f06:	59                   	pop    %ecx
608f07:	5e                   	pop    %esi
608f08:	ff 75 0c             	push   0xc(%ebp)
608f0b:	8b 5d 08             	mov    0x8(%ebp),%ebx
608f0e:	53                   	push   %ebx
608f0f:	e8 1e 00 00 00       	call   0x608f32
608f14:	59                   	pop    %ecx
608f15:	59                   	pop    %ecx
608f16:	84 c0                	test   %al,%al
608f18:	75 11                	jne    0x608f2b
608f1a:	8b 45 0c             	mov    0xc(%ebp),%eax
608f1d:	6a 10                	push   $0x10
608f1f:	59                   	pop    %ecx
608f20:	83 c0 0c             	add    $0xc,%eax
608f23:	f0 09 08             	lock or %ecx,(%eax)
608f26:	83 c8 ff             	or     $0xffffffff,%eax
608f29:	eb 03                	jmp    0x608f2e
608f2b:	0f b6 c3             	movzbl %bl,%eax
608f2e:	5b                   	pop    %ebx
608f2f:	5f                   	pop    %edi
608f30:	5d                   	pop    %ebp
608f31:	c3                   	ret
608f32:	8b ff                	mov    %edi,%edi
608f34:	55                   	push   %ebp
608f35:	8b ec                	mov    %esp,%ebp
608f37:	56                   	push   %esi
608f38:	57                   	push   %edi
608f39:	ff 75 0c             	push   0xc(%ebp)
608f3c:	e8 67 68 ff ff       	call   0x5ff7a8
608f41:	59                   	pop    %ecx
608f42:	8b 4d 0c             	mov    0xc(%ebp),%ecx
608f45:	8b d0                	mov    %eax,%edx
608f47:	8b 49 0c             	mov    0xc(%ecx),%ecx
608f4a:	90                   	nop
608f4b:	f6 c1 c0             	test   $0xc0,%cl
608f4e:	0f 84 90 00 00 00    	je     0x608fe4
608f54:	8b 4d 0c             	mov    0xc(%ebp),%ecx
608f57:	33 ff                	xor    %edi,%edi
608f59:	8b 41 04             	mov    0x4(%ecx),%eax
608f5c:	8b 31                	mov    (%ecx),%esi
608f5e:	2b f0                	sub    %eax,%esi
608f60:	40                   	inc    %eax
608f61:	89 01                	mov    %eax,(%ecx)
608f63:	8b 45 0c             	mov    0xc(%ebp),%eax
608f66:	8b 48 18             	mov    0x18(%eax),%ecx
608f69:	49                   	dec    %ecx
608f6a:	89 48 08             	mov    %ecx,0x8(%eax)
608f6d:	85 f6                	test   %esi,%esi