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
410fe2:	f0 ff 09             	lock decl (%ecx)
410fe5:	8b 88 80 00 00 00    	mov    0x80(%eax),%ecx
410feb:	85 c9                	test   %ecx,%ecx
410fed:	74 03                	je     0x410ff2
410fef:	f0 ff 09             	lock decl (%ecx)
410ff2:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
410ff8:	85 c9                	test   %ecx,%ecx
410ffa:	74 03                	je     0x410fff
410ffc:	f0 ff 09             	lock decl (%ecx)
410fff:	56                   	push   %esi
411000:	6a 06                	push   $0x6
411002:	8d 48 28             	lea    0x28(%eax),%ecx
411005:	5e                   	pop    %esi
411006:	81 79 f8 c8 31 42 00 	cmpl   $0x4231c8,-0x8(%ecx)
41100d:	74 09                	je     0x411018
41100f:	8b 11                	mov    (%ecx),%edx
411011:	85 d2                	test   %edx,%edx
411013:	74 03                	je     0x411018
411015:	f0 ff 0a             	lock decl (%edx)
411018:	83 79 f4 00          	cmpl   $0x0,-0xc(%ecx)
41101c:	74 0a                	je     0x411028
41101e:	8b 51 fc             	mov    -0x4(%ecx),%edx
411021:	85 d2                	test   %edx,%edx
411023:	74 03                	je     0x411028
411025:	f0 ff 0a             	lock decl (%edx)
411028:	83 c1 10             	add    $0x10,%ecx
41102b:	83 ee 01             	sub    $0x1,%esi
41102e:	75 d6                	jne    0x411006
411030:	ff b0 9c 00 00 00    	push   0x9c(%eax)
411036:	e8 5a ff ff ff       	call   0x410f95
41103b:	59                   	pop    %ecx
41103c:	5e                   	pop    %esi
41103d:	5d                   	pop    %ebp
41103e:	c3                   	ret
41103f:	6a 0c                	push   $0xc
411041:	68 e8 1e 42 00       	push   $0x421ee8
411046:	e8 05 2b ff ff       	call   0x403b50
41104b:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
41104f:	e8 ce 99 ff ff       	call   0x40aa22
411054:	8b f8                	mov    %eax,%edi
411056:	8b 0d 20 38 42 00    	mov    0x423820,%ecx
41105c:	85 8f 50 03 00 00    	test   %ecx,0x350(%edi)
411062:	74 07                	je     0x41106b
411064:	8b 77 4c             	mov    0x4c(%edi),%esi
411067:	85 f6                	test   %esi,%esi
411069:	75 43                	jne    0x4110ae
41106b:	6a 04                	push   $0x4
41106d:	e8 33 de ff ff       	call   0x40eea5
411072:	59                   	pop    %ecx
411073:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
411077:	ff 35 bc 41 42 00    	push   0x4241bc
41107d:	8d 47 4c             	lea    0x4c(%edi),%eax
411080:	50                   	push   %eax
411081:	e8 30 00 00 00       	call   0x4110b6
411086:	59                   	pop    %ecx
411087:	59                   	pop    %ecx
411088:	8b f0                	mov    %eax,%esi
41108a:	89 75 e4             	mov    %esi,-0x1c(%ebp)
41108d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
411094:	e8 0c 00 00 00       	call   0x4110a5
411099:	85 f6                	test   %esi,%esi
41109b:	75 11                	jne    0x4110ae
41109d:	e8 3f 87 ff ff       	call   0x4097e1
4110a2:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4110a5:	6a 04                	push   $0x4
4110a7:	e8 41 de ff ff       	call   0x40eeed
4110ac:	59                   	pop    %ecx
4110ad:	c3                   	ret
4110ae:	8b c6                	mov    %esi,%eax
4110b0:	e8 e1 2a ff ff       	call   0x403b96
4110b5:	c3                   	ret
4110b6:	8b ff                	mov    %edi,%edi
4110b8:	55                   	push   %ebp
4110b9:	8b ec                	mov    %esp,%ebp
4110bb:	56                   	push   %esi
4110bc:	8b 75 0c             	mov    0xc(%ebp),%esi
4110bf:	57                   	push   %edi
4110c0:	85 f6                	test   %esi,%esi
4110c2:	74 3c                	je     0x411100
4110c4:	8b 45 08             	mov    0x8(%ebp),%eax
4110c7:	85 c0                	test   %eax,%eax
4110c9:	74 35                	je     0x411100
4110cb:	8b 38                	mov    (%eax),%edi
4110cd:	3b fe                	cmp    %esi,%edi
4110cf:	75 04                	jne    0x4110d5
4110d1:	8b c6                	mov    %esi,%eax
4110d3:	eb 2d                	jmp    0x411102
4110d5:	56                   	push   %esi
4110d6:	89 30                	mov    %esi,(%eax)
4110d8:	e8 98 fc ff ff       	call   0x410d75
4110dd:	59                   	pop    %ecx
4110de:	85 ff                	test   %edi,%edi
4110e0:	74 ef                	je     0x4110d1
4110e2:	57                   	push   %edi
4110e3:	e8 d6 fe ff ff       	call   0x410fbe
4110e8:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
4110ec:	59                   	pop    %ecx
4110ed:	75 e2                	jne    0x4110d1
4110ef:	81 ff 08 31 42 00    	cmp    $0x423108,%edi
4110f5:	74 da                	je     0x4110d1
4110f7:	57                   	push   %edi
4110f8:	e8 f5 fc ff ff       	call   0x410df2
4110fd:	59                   	pop    %ecx
4110fe:	eb d1                	jmp    0x4110d1
411100:	33 c0                	xor    %eax,%eax
411102:	5f                   	pop    %edi
411103:	5e                   	pop    %esi
411104:	5d                   	pop    %ebp
411105:	c3                   	ret
411106:	8b ff                	mov    %edi,%edi
411108:	55                   	push   %ebp
411109:	8b ec                	mov    %esp,%ebp
41110b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41110e:	33 c0                	xor    %eax,%eax
411110:	f6 c1 10             	test   $0x10,%cl
411113:	74 05                	je     0x41111a
411115:	b8 80 00 00 00       	mov    $0x80,%eax
41111a:	53                   	push   %ebx
41111b:	56                   	push   %esi
41111c:	57                   	push   %edi
41111d:	bf 00 02 00 00       	mov    $0x200,%edi
411122:	f6 c1 08             	test   $0x8,%cl
411125:	74 02                	je     0x411129
411127:	0b c7                	or     %edi,%eax
411129:	f6 c1 04             	test   $0x4,%cl
41112c:	74 05                	je     0x411133
41112e:	0d 00 04 00 00       	or     $0x400,%eax
411133:	f6 c1 02             	test   $0x2,%cl
411136:	74 05                	je     0x41113d
411138:	0d 00 08 00 00       	or     $0x800,%eax
41113d:	f6 c1 01             	test   $0x1,%cl
411140:	74 05                	je     0x411147
411142:	0d 00 10 00 00       	or     $0x1000,%eax
411147:	be 00 01 00 00       	mov    $0x100,%esi
41114c:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
411152:	74 02                	je     0x411156
411154:	0b c6                	or     %esi,%eax
411156:	8b d1                	mov    %ecx,%edx
411158:	bb 00 03 00 00       	mov    $0x300,%ebx
41115d:	23 d3                	and    %ebx,%edx
41115f:	74 1f                	je     0x411180
411161:	3b d6                	cmp    %esi,%edx
411163:	74 16                	je     0x41117b
411165:	3b d7                	cmp    %edi,%edx
411167:	74 0b                	je     0x411174
411169:	3b d3                	cmp    %ebx,%edx
41116b:	75 13                	jne    0x411180
41116d:	0d 00 60 00 00       	or     $0x6000,%eax
411172:	eb 0c                	jmp    0x411180
411174:	0d 00 40 00 00       	or     $0x4000,%eax
411179:	eb 05                	jmp    0x411180
41117b:	0d 00 20 00 00       	or     $0x2000,%eax
411180:	ba 00 00 00 03       	mov    $0x3000000,%edx
411185:	5f                   	pop    %edi
411186:	23 ca                	and    %edx,%ecx
411188:	5e                   	pop    %esi
411189:	5b                   	pop    %ebx
41118a:	81 f9 00 00 00 01    	cmp    $0x1000000,%ecx
411190:	74 18                	je     0x4111aa
411192:	81 f9 00 00 00 02    	cmp    $0x2000000,%ecx
411198:	74 0b                	je     0x4111a5
41119a:	3b ca                	cmp    %edx,%ecx
41119c:	75 11                	jne    0x4111af
41119e:	0d 00 80 00 00       	or     $0x8000,%eax
4111a3:	5d                   	pop    %ebp
4111a4:	c3                   	ret
4111a5:	83 c8 40             	or     $0x40,%eax
4111a8:	5d                   	pop    %ebp
4111a9:	c3                   	ret
4111aa:	0d 40 80 00 00       	or     $0x8040,%eax
4111af:	5d                   	pop    %ebp
4111b0:	c3                   	ret
4111b1:	8b ff                	mov    %edi,%edi
4111b3:	55                   	push   %ebp
4111b4:	8b ec                	mov    %esp,%ebp