410c40:	a1 0c 30 42 00       	mov    0x42300c,%eax
410c45:	33 c5                	xor    %ebp,%eax
410c47:	89 45 fc             	mov    %eax,-0x4(%ebp)
410c4a:	53                   	push   %ebx
410c4b:	56                   	push   %esi
410c4c:	57                   	push   %edi
410c4d:	ff 75 08             	push   0x8(%ebp)
410c50:	8d 4d e8             	lea    -0x18(%ebp),%ecx
410c53:	e8 59 4a ff ff       	call   0x4056b1
410c58:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
410c5b:	85 c9                	test   %ecx,%ecx
410c5d:	75 0b                	jne    0x410c6a
410c5f:	8b 45 ec             	mov    -0x14(%ebp),%eax
410c62:	8b 40 08             	mov    0x8(%eax),%eax
410c65:	8b c8                	mov    %eax,%ecx
410c67:	89 45 1c             	mov    %eax,0x1c(%ebp)
410c6a:	33 c0                	xor    %eax,%eax
410c6c:	33 ff                	xor    %edi,%edi
410c6e:	39 45 20             	cmp    %eax,0x20(%ebp)
410c71:	57                   	push   %edi
410c72:	57                   	push   %edi
410c73:	ff 75 14             	push   0x14(%ebp)
410c76:	0f 95 c0             	setne  %al
410c79:	ff 75 10             	push   0x10(%ebp)
410c7c:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
410c83:	50                   	push   %eax
410c84:	51                   	push   %ecx
410c85:	ff 15 2c b1 41 00    	call   *0x41b12c
410c8b:	89 45 f8             	mov    %eax,-0x8(%ebp)
410c8e:	85 c0                	test   %eax,%eax
410c90:	0f 84 99 00 00 00    	je     0x410d2f
410c96:	8d 1c 00             	lea    (%eax,%eax,1),%ebx
410c99:	8d 4b 08             	lea    0x8(%ebx),%ecx
410c9c:	3b d9                	cmp    %ecx,%ebx
410c9e:	1b c0                	sbb    %eax,%eax
410ca0:	85 c1                	test   %eax,%ecx
410ca2:	74 4a                	je     0x410cee
410ca4:	8d 4b 08             	lea    0x8(%ebx),%ecx
410ca7:	3b d9                	cmp    %ecx,%ebx
410ca9:	1b c0                	sbb    %eax,%eax
410cab:	23 c1                	and    %ecx,%eax
410cad:	8d 4b 08             	lea    0x8(%ebx),%ecx
410cb0:	3d 00 04 00 00       	cmp    $0x400,%eax
410cb5:	77 19                	ja     0x410cd0
410cb7:	3b d9                	cmp    %ecx,%ebx
410cb9:	1b c0                	sbb    %eax,%eax
410cbb:	23 c1                	and    %ecx,%eax
410cbd:	e8 0e 77 00 00       	call   0x4183d0
410cc2:	8b f4                	mov    %esp,%esi
410cc4:	85 f6                	test   %esi,%esi
410cc6:	74 60                	je     0x410d28
410cc8:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
410cce:	eb 19                	jmp    0x410ce9
410cd0:	3b d9                	cmp    %ecx,%ebx
410cd2:	1b c0                	sbb    %eax,%eax
410cd4:	23 c1                	and    %ecx,%eax
410cd6:	50                   	push   %eax
410cd7:	e8 82 8b ff ff       	call   0x40985e
410cdc:	8b f0                	mov    %eax,%esi
410cde:	59                   	pop    %ecx
410cdf:	85 f6                	test   %esi,%esi
410ce1:	74 45                	je     0x410d28
410ce3:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
410ce9:	83 c6 08             	add    $0x8,%esi
410cec:	eb 02                	jmp    0x410cf0
410cee:	8b f7                	mov    %edi,%esi
410cf0:	85 f6                	test   %esi,%esi
410cf2:	74 34                	je     0x410d28
410cf4:	53                   	push   %ebx
410cf5:	57                   	push   %edi
410cf6:	56                   	push   %esi
410cf7:	e8 64 3d ff ff       	call   0x404a60
410cfc:	83 c4 0c             	add    $0xc,%esp
410cff:	ff 75 f8             	push   -0x8(%ebp)
410d02:	56                   	push   %esi
410d03:	ff 75 14             	push   0x14(%ebp)
410d06:	ff 75 10             	push   0x10(%ebp)
410d09:	6a 01                	push   $0x1
410d0b:	ff 75 1c             	push   0x1c(%ebp)
410d0e:	ff 15 2c b1 41 00    	call   *0x41b12c
410d14:	85 c0                	test   %eax,%eax
410d16:	74 10                	je     0x410d28
410d18:	ff 75 18             	push   0x18(%ebp)
410d1b:	50                   	push   %eax
410d1c:	56                   	push   %esi
410d1d:	ff 75 0c             	push   0xc(%ebp)
410d20:	ff 15 ec b0 41 00    	call   *0x41b0ec
410d26:	8b f8                	mov    %eax,%edi
410d28:	56                   	push   %esi
410d29:	e8 27 00 00 00       	call   0x410d55
410d2e:	59                   	pop    %ecx
410d2f:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
410d33:	74 0a                	je     0x410d3f
410d35:	8b 45 e8             	mov    -0x18(%ebp),%eax
410d38:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
410d3f:	8b c7                	mov    %edi,%eax
410d41:	8d 65 dc             	lea    -0x24(%ebp),%esp
410d44:	5f                   	pop    %edi
410d45:	5e                   	pop    %esi
410d46:	5b                   	pop    %ebx
410d47:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410d4a:	33 cd                	xor    %ebp,%ecx
410d4c:	e8 05 22 ff ff       	call   0x402f56
410d51:	8b e5                	mov    %ebp,%esp
410d53:	5d                   	pop    %ebp
410d54:	c3                   	ret
410d55:	8b ff                	mov    %edi,%edi
410d57:	55                   	push   %ebp
410d58:	8b ec                	mov    %esp,%ebp
410d5a:	8b 45 08             	mov    0x8(%ebp),%eax
410d5d:	85 c0                	test   %eax,%eax
410d5f:	74 12                	je     0x410d73
410d61:	83 e8 08             	sub    $0x8,%eax
410d64:	81 38 dd dd 00 00    	cmpl   $0xdddd,(%eax)
410d6a:	75 07                	jne    0x410d73
410d6c:	50                   	push   %eax
410d6d:	e8 b2 8a ff ff       	call   0x409824
410d72:	59                   	pop    %ecx
410d73:	5d                   	pop    %ebp
410d74:	c3                   	ret
410d75:	8b ff                	mov    %edi,%edi
410d77:	55                   	push   %ebp
410d78:	8b ec                	mov    %esp,%ebp
410d7a:	8b 45 08             	mov    0x8(%ebp),%eax
410d7d:	f0 ff 40 0c          	lock incl 0xc(%eax)
410d81:	8b 48 7c             	mov    0x7c(%eax),%ecx
410d84:	85 c9                	test   %ecx,%ecx
410d86:	74 03                	je     0x410d8b
410d88:	f0 ff 01             	lock incl (%ecx)
410d8b:	8b 88 84 00 00 00    	mov    0x84(%eax),%ecx
410d91:	85 c9                	test   %ecx,%ecx
410d93:	74 03                	je     0x410d98
410d95:	f0 ff 01             	lock incl (%ecx)
410d98:	8b 88 80 00 00 00    	mov    0x80(%eax),%ecx
410d9e:	85 c9                	test   %ecx,%ecx
410da0:	74 03                	je     0x410da5
410da2:	f0 ff 01             	lock incl (%ecx)
410da5:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
410dab:	85 c9                	test   %ecx,%ecx
410dad:	74 03                	je     0x410db2
410daf:	f0 ff 01             	lock incl (%ecx)
410db2:	56                   	push   %esi
410db3:	6a 06                	push   $0x6
410db5:	8d 48 28             	lea    0x28(%eax),%ecx
410db8:	5e                   	pop    %esi
410db9:	81 79 f8 c8 31 42 00 	cmpl   $0x4231c8,-0x8(%ecx)
410dc0:	74 09                	je     0x410dcb
410dc2:	8b 11                	mov    (%ecx),%edx
410dc4:	85 d2                	test   %edx,%edx
410dc6:	74 03                	je     0x410dcb
410dc8:	f0 ff 02             	lock incl (%edx)
410dcb:	83 79 f4 00          	cmpl   $0x0,-0xc(%ecx)
410dcf:	74 0a                	je     0x410ddb
410dd1:	8b 51 fc             	mov    -0x4(%ecx),%edx
410dd4:	85 d2                	test   %edx,%edx
410dd6:	74 03                	je     0x410ddb
410dd8:	f0 ff 02             	lock incl (%edx)
410ddb:	83 c1 10             	add    $0x10,%ecx
410dde:	83 ee 01             	sub    $0x1,%esi
410de1:	75 d6                	jne    0x410db9
410de3:	ff b0 9c 00 00 00    	push   0x9c(%eax)
410de9:	e8 4e 01 00 00       	call   0x410f3c
410dee:	59                   	pop    %ecx
410def:	5e                   	pop    %esi
410df0:	5d                   	pop    %ebp
410df1:	c3                   	ret
410df2:	8b ff                	mov    %edi,%edi
410df4:	55                   	push   %ebp
410df5:	8b ec                	mov    %esp,%ebp
410df7:	51                   	push   %ecx
410df8:	53                   	push   %ebx
410df9:	56                   	push   %esi
410dfa:	8b 75 08             	mov    0x8(%ebp),%esi
410dfd:	57                   	push   %edi
410dfe:	8b 86 88 00 00 00    	mov    0x88(%esi),%eax
410e04:	85 c0                	test   %eax,%eax
410e06:	74 6c                	je     0x410e74
410e08:	3d d0 37 42 00       	cmp    $0x4237d0,%eax
410e0d:	74 65                	je     0x410e74
410e0f:	8b 46 7c             	mov    0x7c(%esi),%eax
410e12:	85 c0                	test   %eax,%eax
410e14:	74 5e                	je     0x410e74
410e16:	83 38 00             	cmpl   $0x0,(%eax)
410e19:	75 59                	jne    0x410e74
410e1b:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
410e21:	85 c0                	test   %eax,%eax
410e23:	74 18                	je     0x410e3d
410e25:	83 38 00             	cmpl   $0x0,(%eax)
410e28:	75 13                	jne    0x410e3d
410e2a:	50                   	push   %eax
410e2b:	e8 f4 89 ff ff       	call   0x409824
410e30:	ff b6 88 00 00 00    	push   0x88(%esi)
410e36:	e8 3c fb ff ff       	call   0x410977
410e3b:	59                   	pop    %ecx
410e3c:	59                   	pop    %ecx
410e3d:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
410e43:	85 c0                	test   %eax,%eax
410e45:	74 18                	je     0x410e5f
410e47:	83 38 00             	cmpl   $0x0,(%eax)
410e4a:	75 13                	jne    0x410e5f
410e4c:	50                   	push   %eax
410e4d:	e8 d2 89 ff ff       	call   0x409824
410e52:	ff b6 88 00 00 00    	push   0x88(%esi)
410e58:	e8 18 fc ff ff       	call   0x410a75
410e5d:	59                   	pop    %ecx
410e5e:	59                   	pop    %ecx
410e5f:	ff 76 7c             	push   0x7c(%esi)
410e62:	e8 bd 89 ff ff       	call   0x409824
410e67:	ff b6 88 00 00 00    	push   0x88(%esi)
410e6d:	e8 b2 89 ff ff       	call   0x409824
410e72:	59                   	pop    %ecx
410e73:	59                   	pop    %ecx
410e74:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
410e7a:	85 c0                	test   %eax,%eax
410e7c:	74 45                	je     0x410ec3
410e7e:	83 38 00             	cmpl   $0x0,(%eax)
410e81:	75 40                	jne    0x410ec3
410e83:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
410e89:	2d fe 00 00 00       	sub    $0xfe,%eax
410e8e:	50                   	push   %eax
410e8f:	e8 90 89 ff ff       	call   0x409824
410e94:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
410e9a:	bf 80 00 00 00       	mov    $0x80,%edi
410e9f:	2b c7                	sub    %edi,%eax
410ea1:	50                   	push   %eax
410ea2:	e8 7d 89 ff ff       	call   0x409824
410ea7:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
410ead:	2b c7                	sub    %edi,%eax
410eaf:	50                   	push   %eax
410eb0:	e8 6f 89 ff ff       	call   0x409824
410eb5:	ff b6 8c 00 00 00    	push   0x8c(%esi)
410ebb:	e8 64 89 ff ff       	call   0x409824
410ec0:	83 c4 10             	add    $0x10,%esp
410ec3:	ff b6 9c 00 00 00    	push   0x9c(%esi)
410ec9:	e8 97 00 00 00       	call   0x410f65
410ece:	59                   	pop    %ecx
410ecf:	6a 06                	push   $0x6
410ed1:	58                   	pop    %eax
410ed2:	8d 9e a0 00 00 00    	lea    0xa0(%esi),%ebx
410ed8:	89 45 fc             	mov    %eax,-0x4(%ebp)
410edb:	8d 7e 28             	lea    0x28(%esi),%edi
410ede:	81 7f f8 c8 31 42 00 	cmpl   $0x4231c8,-0x8(%edi)
410ee5:	74 1d                	je     0x410f04
410ee7:	8b 07                	mov    (%edi),%eax
410ee9:	85 c0                	test   %eax,%eax
410eeb:	74 14                	je     0x410f01
410eed:	83 38 00             	cmpl   $0x0,(%eax)
410ef0:	75 0f                	jne    0x410f01
410ef2:	50                   	push   %eax
410ef3:	e8 2c 89 ff ff       	call   0x409824
410ef8:	ff 33                	push   (%ebx)
410efa:	e8 25 89 ff ff       	call   0x409824
410eff:	59                   	pop    %ecx
410f00:	59                   	pop    %ecx
410f01:	8b 45 fc             	mov    -0x4(%ebp),%eax
410f04:	83 7f f4 00          	cmpl   $0x0,-0xc(%edi)
410f08:	74 16                	je     0x410f20
410f0a:	8b 47 fc             	mov    -0x4(%edi),%eax
410f0d:	85 c0                	test   %eax,%eax
410f0f:	74 0c                	je     0x410f1d
410f11:	83 38 00             	cmpl   $0x0,(%eax)
410f14:	75 07                	jne    0x410f1d
410f16:	50                   	push   %eax
410f17:	e8 08 89 ff ff       	call   0x409824
410f1c:	59                   	pop    %ecx
410f1d:	8b 45 fc             	mov    -0x4(%ebp),%eax
410f20:	83 c3 04             	add    $0x4,%ebx
410f23:	83 c7 10             	add    $0x10,%edi
410f26:	83 e8 01             	sub    $0x1,%eax
410f29:	89 45 fc             	mov    %eax,-0x4(%ebp)
410f2c:	75 b0                	jne    0x410ede
410f2e:	56                   	push   %esi
410f2f:	e8 f0 88 ff ff       	call   0x409824
410f34:	59                   	pop    %ecx
410f35:	5f                   	pop    %edi
410f36:	5e                   	pop    %esi
410f37:	5b                   	pop    %ebx
410f38:	8b e5                	mov    %ebp,%esp
410f3a:	5d                   	pop    %ebp
410f3b:	c3                   	ret
410f3c:	8b ff                	mov    %edi,%edi
410f3e:	55                   	push   %ebp
410f3f:	8b ec                	mov    %esp,%ebp
410f41:	8b 4d 08             	mov    0x8(%ebp),%ecx
410f44:	85 c9                	test   %ecx,%ecx
410f46:	74 16                	je     0x410f5e
410f48:	81 f9 80 c3 41 00    	cmp    $0x41c380,%ecx
410f4e:	74 0e                	je     0x410f5e
410f50:	33 c0                	xor    %eax,%eax
410f52:	40                   	inc    %eax
410f53:	f0 0f c1 81 b0 00 00 	lock xadd %eax,0xb0(%ecx)
410f5a:	00
410f5b:	40                   	inc    %eax
410f5c:	5d                   	pop    %ebp
410f5d:	c3                   	ret
410f5e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
410f63:	5d                   	pop    %ebp
410f64:	c3                   	ret
410f65:	8b ff                	mov    %edi,%edi
410f67:	55                   	push   %ebp
410f68:	8b ec                	mov    %esp,%ebp
410f6a:	56                   	push   %esi
410f6b:	8b 75 08             	mov    0x8(%ebp),%esi
410f6e:	85 f6                	test   %esi,%esi
410f70:	74 20                	je     0x410f92
410f72:	81 fe 80 c3 41 00    	cmp    $0x41c380,%esi
410f78:	74 18                	je     0x410f92
410f7a:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
410f80:	85 c0                	test   %eax,%eax
410f82:	75 0e                	jne    0x410f92
410f84:	56                   	push   %esi
410f85:	e8 90 fb ff ff       	call   0x410b1a
410f8a:	56                   	push   %esi
410f8b:	e8 94 88 ff ff       	call   0x409824
410f90:	59                   	pop    %ecx
410f91:	59                   	pop    %ecx
410f92:	5e                   	pop    %esi
410f93:	5d                   	pop    %ebp
410f94:	c3                   	ret
410f95:	8b ff                	mov    %edi,%edi
410f97:	55                   	push   %ebp
410f98:	8b ec                	mov    %esp,%ebp
410f9a:	8b 4d 08             	mov    0x8(%ebp),%ecx
410f9d:	85 c9                	test   %ecx,%ecx
410f9f:	74 16                	je     0x410fb7
410fa1:	81 f9 80 c3 41 00    	cmp    $0x41c380,%ecx
410fa7:	74 0e                	je     0x410fb7
410fa9:	83 c8 ff             	or     $0xffffffff,%eax
410fac:	f0 0f c1 81 b0 00 00 	lock xadd %eax,0xb0(%ecx)
410fb3:	00
410fb4:	48                   	dec    %eax
410fb5:	5d                   	pop    %ebp
410fb6:	c3                   	ret
410fb7:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
410fbc:	5d                   	pop    %ebp
410fbd:	c3                   	ret
410fbe:	8b ff                	mov    %edi,%edi
410fc0:	55                   	push   %ebp
410fc1:	8b ec                	mov    %esp,%ebp
410fc3:	8b 45 08             	mov    0x8(%ebp),%eax
410fc6:	85 c0                	test   %eax,%eax
410fc8:	74 73                	je     0x41103d
410fca:	f0 ff 48 0c          	lock decl 0xc(%eax)
410fce:	8b 48 7c             	mov    0x7c(%eax),%ecx
410fd1:	85 c9                	test   %ecx,%ecx
410fd3:	74 03                	je     0x410fd8
410fd5:	f0 ff 09             	lock decl (%ecx)
410fd8:	8b 88 84 00 00 00    	mov    0x84(%eax),%ecx
410fde:	85 c9                	test   %ecx,%ecx
410fe0:	74 03                	je     0x410fe5