410d21:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
410d24:	e8 21 bd ff ff       	call   0x40ca4a
410d29:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
410d2c:	85 db                	test   %ebx,%ebx
410d2e:	75 06                	jne    0x410d36
410d30:	8b 45 e8             	mov    -0x18(%ebp),%eax
410d33:	8b 58 08             	mov    0x8(%eax),%ebx
410d36:	33 c0                	xor    %eax,%eax
410d38:	33 ff                	xor    %edi,%edi
410d3a:	39 45 20             	cmp    %eax,0x20(%ebp)
410d3d:	57                   	push   %edi
410d3e:	57                   	push   %edi
410d3f:	ff 75 14             	push   0x14(%ebp)
410d42:	0f 95 c0             	setne  %al
410d45:	ff 75 10             	push   0x10(%ebp)
410d48:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
410d4f:	50                   	push   %eax
410d50:	53                   	push   %ebx
410d51:	e8 73 f2 ff ff       	call   0x40ffc9
410d56:	83 c4 18             	add    $0x18,%esp
410d59:	89 45 f4             	mov    %eax,-0xc(%ebp)
410d5c:	85 c0                	test   %eax,%eax
410d5e:	0f 84 84 00 00 00    	je     0x410de8
410d64:	8d 14 00             	lea    (%eax,%eax,1),%edx
410d67:	8d 4a 08             	lea    0x8(%edx),%ecx
410d6a:	89 55 f8             	mov    %edx,-0x8(%ebp)
410d6d:	3b d1                	cmp    %ecx,%edx
410d6f:	1b c0                	sbb    %eax,%eax
410d71:	23 c1                	and    %ecx,%eax
410d73:	74 35                	je     0x410daa
410d75:	3d 00 04 00 00       	cmp    $0x400,%eax
410d7a:	77 13                	ja     0x410d8f
410d7c:	e8 5f 85 00 00       	call   0x4192e0
410d81:	8b f4                	mov    %esp,%esi
410d83:	85 f6                	test   %esi,%esi
410d85:	74 1e                	je     0x410da5
410d87:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
410d8d:	eb 13                	jmp    0x410da2
410d8f:	50                   	push   %eax
410d90:	e8 4e fc ff ff       	call   0x4109e3
410d95:	8b f0                	mov    %eax,%esi
410d97:	59                   	pop    %ecx
410d98:	85 f6                	test   %esi,%esi
410d9a:	74 09                	je     0x410da5
410d9c:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
410da2:	83 c6 08             	add    $0x8,%esi
410da5:	8b 55 f8             	mov    -0x8(%ebp),%edx
410da8:	eb 02                	jmp    0x410dac
410daa:	8b f7                	mov    %edi,%esi
410dac:	85 f6                	test   %esi,%esi
410dae:	74 31                	je     0x410de1
410db0:	52                   	push   %edx
410db1:	57                   	push   %edi
410db2:	56                   	push   %esi
410db3:	e8 58 83 ff ff       	call   0x409110
410db8:	ff 75 f4             	push   -0xc(%ebp)
410dbb:	56                   	push   %esi
410dbc:	ff 75 14             	push   0x14(%ebp)
410dbf:	ff 75 10             	push   0x10(%ebp)
410dc2:	6a 01                	push   $0x1
410dc4:	53                   	push   %ebx
410dc5:	e8 ff f1 ff ff       	call   0x40ffc9
410dca:	83 c4 24             	add    $0x24,%esp
410dcd:	85 c0                	test   %eax,%eax
410dcf:	74 10                	je     0x410de1
410dd1:	ff 75 18             	push   0x18(%ebp)
410dd4:	50                   	push   %eax
410dd5:	56                   	push   %esi
410dd6:	ff 75 0c             	push   0xc(%ebp)
410dd9:	ff 15 80 c1 41 00    	call   *0x41c180
410ddf:	8b f8                	mov    %eax,%edi
410de1:	56                   	push   %esi
410de2:	e8 25 00 00 00       	call   0x410e0c
410de7:	59                   	pop    %ecx
410de8:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
410dec:	74 0a                	je     0x410df8
410dee:	8b 45 e4             	mov    -0x1c(%ebp),%eax
410df1:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
410df8:	8b c7                	mov    %edi,%eax
410dfa:	8d 65 d8             	lea    -0x28(%ebp),%esp
410dfd:	5f                   	pop    %edi
410dfe:	5e                   	pop    %esi
410dff:	5b                   	pop    %ebx
410e00:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410e03:	33 cd                	xor    %ebp,%ecx
410e05:	e8 eb 7d ff ff       	call   0x408bf5
410e0a:	c9                   	leave
410e0b:	c3                   	ret
410e0c:	8b ff                	mov    %edi,%edi
410e0e:	55                   	push   %ebp
410e0f:	8b ec                	mov    %esp,%ebp
410e11:	8b 45 08             	mov    0x8(%ebp),%eax
410e14:	85 c0                	test   %eax,%eax
410e16:	74 12                	je     0x410e2a
410e18:	83 e8 08             	sub    $0x8,%eax
410e1b:	81 38 dd dd 00 00    	cmpl   $0xdddd,(%eax)
410e21:	75 07                	jne    0x410e2a
410e23:	50                   	push   %eax
410e24:	e8 1a df ff ff       	call   0x40ed43
410e29:	59                   	pop    %ecx
410e2a:	5d                   	pop    %ebp
410e2b:	c3                   	ret
410e2c:	8b ff                	mov    %edi,%edi
410e2e:	55                   	push   %ebp
410e2f:	8b ec                	mov    %esp,%ebp
410e31:	8b 45 08             	mov    0x8(%ebp),%eax
410e34:	f0 ff 40 0c          	lock incl 0xc(%eax)
410e38:	8b 48 7c             	mov    0x7c(%eax),%ecx
410e3b:	85 c9                	test   %ecx,%ecx
410e3d:	74 03                	je     0x410e42
410e3f:	f0 ff 01             	lock incl (%ecx)
410e42:	8b 88 84 00 00 00    	mov    0x84(%eax),%ecx
410e48:	85 c9                	test   %ecx,%ecx
410e4a:	74 03                	je     0x410e4f
410e4c:	f0 ff 01             	lock incl (%ecx)
410e4f:	8b 88 80 00 00 00    	mov    0x80(%eax),%ecx
410e55:	85 c9                	test   %ecx,%ecx
410e57:	74 03                	je     0x410e5c
410e59:	f0 ff 01             	lock incl (%ecx)
410e5c:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
410e62:	85 c9                	test   %ecx,%ecx
410e64:	74 03                	je     0x410e69
410e66:	f0 ff 01             	lock incl (%ecx)
410e69:	56                   	push   %esi
410e6a:	6a 06                	push   $0x6
410e6c:	8d 48 28             	lea    0x28(%eax),%ecx
410e6f:	5e                   	pop    %esi
410e70:	81 79 f8 40 66 42 00 	cmpl   $0x426640,-0x8(%ecx)
410e77:	74 09                	je     0x410e82
410e79:	8b 11                	mov    (%ecx),%edx
410e7b:	85 d2                	test   %edx,%edx
410e7d:	74 03                	je     0x410e82
410e7f:	f0 ff 02             	lock incl (%edx)
410e82:	83 79 f4 00          	cmpl   $0x0,-0xc(%ecx)
410e86:	74 0a                	je     0x410e92
410e88:	8b 51 fc             	mov    -0x4(%ecx),%edx
410e8b:	85 d2                	test   %edx,%edx
410e8d:	74 03                	je     0x410e92
410e8f:	f0 ff 02             	lock incl (%edx)
410e92:	83 c1 10             	add    $0x10,%ecx
410e95:	83 ee 01             	sub    $0x1,%esi
410e98:	75 d6                	jne    0x410e70
410e9a:	ff b0 9c 00 00 00    	push   0x9c(%eax)
410ea0:	e8 4d 01 00 00       	call   0x410ff2
410ea5:	59                   	pop    %ecx
410ea6:	5e                   	pop    %esi
410ea7:	5d                   	pop    %ebp
410ea8:	c3                   	ret
410ea9:	8b ff                	mov    %edi,%edi
410eab:	55                   	push   %ebp
410eac:	8b ec                	mov    %esp,%ebp
410eae:	51                   	push   %ecx
410eaf:	53                   	push   %ebx
410eb0:	56                   	push   %esi
410eb1:	8b 75 08             	mov    0x8(%ebp),%esi
410eb4:	57                   	push   %edi
410eb5:	8b 86 88 00 00 00    	mov    0x88(%esi),%eax
410ebb:	85 c0                	test   %eax,%eax
410ebd:	74 6c                	je     0x410f2b
410ebf:	3d 48 66 42 00       	cmp    $0x426648,%eax
410ec4:	74 65                	je     0x410f2b
410ec6:	8b 46 7c             	mov    0x7c(%esi),%eax
410ec9:	85 c0                	test   %eax,%eax
410ecb:	74 5e                	je     0x410f2b
410ecd:	83 38 00             	cmpl   $0x0,(%eax)
410ed0:	75 59                	jne    0x410f2b
410ed2:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
410ed8:	85 c0                	test   %eax,%eax
410eda:	74 18                	je     0x410ef4
410edc:	83 38 00             	cmpl   $0x0,(%eax)
410edf:	75 13                	jne    0x410ef4
410ee1:	50                   	push   %eax
410ee2:	e8 5c de ff ff       	call   0x40ed43
410ee7:	ff b6 88 00 00 00    	push   0x88(%esi)
410eed:	e8 4a f8 ff ff       	call   0x41073c
410ef2:	59                   	pop    %ecx
410ef3:	59                   	pop    %ecx
410ef4:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
410efa:	85 c0                	test   %eax,%eax
410efc:	74 18                	je     0x410f16
410efe:	83 38 00             	cmpl   $0x0,(%eax)
410f01:	75 13                	jne    0x410f16
410f03:	50                   	push   %eax
410f04:	e8 3a de ff ff       	call   0x40ed43
410f09:	ff b6 88 00 00 00    	push   0x88(%esi)
410f0f:	e8 26 f9 ff ff       	call   0x41083a
410f14:	59                   	pop    %ecx
410f15:	59                   	pop    %ecx
410f16:	ff 76 7c             	push   0x7c(%esi)
410f19:	e8 25 de ff ff       	call   0x40ed43
410f1e:	ff b6 88 00 00 00    	push   0x88(%esi)
410f24:	e8 1a de ff ff       	call   0x40ed43
410f29:	59                   	pop    %ecx
410f2a:	59                   	pop    %ecx
410f2b:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
410f31:	85 c0                	test   %eax,%eax
410f33:	74 45                	je     0x410f7a
410f35:	83 38 00             	cmpl   $0x0,(%eax)
410f38:	75 40                	jne    0x410f7a
410f3a:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
410f40:	2d fe 00 00 00       	sub    $0xfe,%eax
410f45:	50                   	push   %eax
410f46:	e8 f8 dd ff ff       	call   0x40ed43
410f4b:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
410f51:	bf 80 00 00 00       	mov    $0x80,%edi
410f56:	2b c7                	sub    %edi,%eax
410f58:	50                   	push   %eax
410f59:	e8 e5 dd ff ff       	call   0x40ed43
410f5e:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
410f64:	2b c7                	sub    %edi,%eax
410f66:	50                   	push   %eax
410f67:	e8 d7 dd ff ff       	call   0x40ed43
410f6c:	ff b6 8c 00 00 00    	push   0x8c(%esi)
410f72:	e8 cc dd ff ff       	call   0x40ed43
410f77:	83 c4 10             	add    $0x10,%esp
410f7a:	ff b6 9c 00 00 00    	push   0x9c(%esi)
410f80:	e8 96 00 00 00       	call   0x41101b
410f85:	59                   	pop    %ecx
410f86:	6a 06                	push   $0x6
410f88:	58                   	pop    %eax
410f89:	8d 9e a0 00 00 00    	lea    0xa0(%esi),%ebx
410f8f:	89 45 fc             	mov    %eax,-0x4(%ebp)
410f92:	8d 7e 28             	lea    0x28(%esi),%edi
410f95:	81 7f f8 40 66 42 00 	cmpl   $0x426640,-0x8(%edi)
410f9c:	74 1d                	je     0x410fbb
410f9e:	8b 07                	mov    (%edi),%eax
410fa0:	85 c0                	test   %eax,%eax
410fa2:	74 14                	je     0x410fb8
410fa4:	83 38 00             	cmpl   $0x0,(%eax)
410fa7:	75 0f                	jne    0x410fb8
410fa9:	50                   	push   %eax
410faa:	e8 94 dd ff ff       	call   0x40ed43
410faf:	ff 33                	push   (%ebx)
410fb1:	e8 8d dd ff ff       	call   0x40ed43
410fb6:	59                   	pop    %ecx
410fb7:	59                   	pop    %ecx
410fb8:	8b 45 fc             	mov    -0x4(%ebp),%eax
410fbb:	83 7f f4 00          	cmpl   $0x0,-0xc(%edi)
410fbf:	74 16                	je     0x410fd7
410fc1:	8b 47 fc             	mov    -0x4(%edi),%eax
410fc4:	85 c0                	test   %eax,%eax
410fc6:	74 0c                	je     0x410fd4
410fc8:	83 38 00             	cmpl   $0x0,(%eax)
410fcb:	75 07                	jne    0x410fd4
410fcd:	50                   	push   %eax
410fce:	e8 70 dd ff ff       	call   0x40ed43
410fd3:	59                   	pop    %ecx
410fd4:	8b 45 fc             	mov    -0x4(%ebp),%eax
410fd7:	83 c3 04             	add    $0x4,%ebx
410fda:	83 c7 10             	add    $0x10,%edi
410fdd:	83 e8 01             	sub    $0x1,%eax
410fe0:	89 45 fc             	mov    %eax,-0x4(%ebp)
410fe3:	75 b0                	jne    0x410f95
410fe5:	56                   	push   %esi
410fe6:	e8 58 dd ff ff       	call   0x40ed43
410feb:	59                   	pop    %ecx
410fec:	5f                   	pop    %edi
410fed:	5e                   	pop    %esi
410fee:	5b                   	pop    %ebx
410fef:	c9                   	leave
410ff0:	c3                   	ret
410ff1:	cc                   	int3
410ff2:	8b ff                	mov    %edi,%edi
410ff4:	55                   	push   %ebp
410ff5:	8b ec                	mov    %esp,%ebp
410ff7:	8b 4d 08             	mov    0x8(%ebp),%ecx
410ffa:	85 c9                	test   %ecx,%ecx
410ffc:	74 16                	je     0x411014
410ffe:	81 f9 c0 da 41 00    	cmp    $0x41dac0,%ecx
411004:	74 0e                	je     0x411014
411006:	33 c0                	xor    %eax,%eax
411008:	40                   	inc    %eax
411009:	f0 0f c1 81 b0 00 00 	lock xadd %eax,0xb0(%ecx)
411010:	00
411011:	40                   	inc    %eax
411012:	5d                   	pop    %ebp
411013:	c3                   	ret
411014:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
411019:	5d                   	pop    %ebp
41101a:	c3                   	ret
41101b:	8b ff                	mov    %edi,%edi
41101d:	55                   	push   %ebp
41101e:	8b ec                	mov    %esp,%ebp
411020:	56                   	push   %esi
411021:	8b 75 08             	mov    0x8(%ebp),%esi
411024:	85 f6                	test   %esi,%esi
411026:	74 21                	je     0x411049
411028:	81 fe c0 da 41 00    	cmp    $0x41dac0,%esi
41102e:	74 19                	je     0x411049
411030:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
411036:	90                   	nop
411037:	85 c0                	test   %eax,%eax
411039:	75 0e                	jne    0x411049
41103b:	56                   	push   %esi
41103c:	e8 9a f8 ff ff       	call   0x4108db
411041:	56                   	push   %esi
411042:	e8 fc dc ff ff       	call   0x40ed43
411047:	59                   	pop    %ecx
411048:	59                   	pop    %ecx
411049:	5e                   	pop    %esi
41104a:	5d                   	pop    %ebp
41104b:	c3                   	ret
41104c:	8b ff                	mov    %edi,%edi
41104e:	55                   	push   %ebp
41104f:	8b ec                	mov    %esp,%ebp
411051:	8b 4d 08             	mov    0x8(%ebp),%ecx
411054:	85 c9                	test   %ecx,%ecx
411056:	74 16                	je     0x41106e
411058:	81 f9 c0 da 41 00    	cmp    $0x41dac0,%ecx
41105e:	74 0e                	je     0x41106e
411060:	83 c8 ff             	or     $0xffffffff,%eax
411063:	f0 0f c1 81 b0 00 00 	lock xadd %eax,0xb0(%ecx)
41106a:	00
41106b:	48                   	dec    %eax
41106c:	5d                   	pop    %ebp
41106d:	c3                   	ret
41106e:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
411073:	5d                   	pop    %ebp
411074:	c3                   	ret
411075:	8b ff                	mov    %edi,%edi
411077:	55                   	push   %ebp
411078:	8b ec                	mov    %esp,%ebp
41107a:	8b 45 08             	mov    0x8(%ebp),%eax
41107d:	85 c0                	test   %eax,%eax
41107f:	74 73                	je     0x4110f4
411081:	f0 ff 48 0c          	lock decl 0xc(%eax)
411085:	8b 48 7c             	mov    0x7c(%eax),%ecx
411088:	85 c9                	test   %ecx,%ecx
41108a:	74 03                	je     0x41108f
41108c:	f0 ff 09             	lock decl (%ecx)
41108f:	8b 88 84 00 00 00    	mov    0x84(%eax),%ecx
411095:	85 c9                	test   %ecx,%ecx
411097:	74 03                	je     0x41109c
411099:	f0 ff 09             	lock decl (%ecx)
41109c:	8b 88 80 00 00 00    	mov    0x80(%eax),%ecx
4110a2:	85 c9                	test   %ecx,%ecx
4110a4:	74 03                	je     0x4110a9
4110a6:	f0 ff 09             	lock decl (%ecx)
4110a9:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
4110af:	85 c9                	test   %ecx,%ecx
4110b1:	74 03                	je     0x4110b6
4110b3:	f0 ff 09             	lock decl (%ecx)
4110b6:	56                   	push   %esi
4110b7:	6a 06                	push   $0x6
4110b9:	8d 48 28             	lea    0x28(%eax),%ecx
4110bc:	5e                   	pop    %esi
4110bd:	81 79 f8 40 66 42 00 	cmpl   $0x426640,-0x8(%ecx)
4110c4:	74 09                	je     0x4110cf
4110c6:	8b 11                	mov    (%ecx),%edx
4110c8:	85 d2                	test   %edx,%edx