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
4111b6:	83 ec 0c             	sub    $0xc,%esp
4111b9:	dd 7d fc             	fnstsw -0x4(%ebp)
4111bc:	db e2                	fnclex
4111be:	83 3d 14 3e 42 00 01 	cmpl   $0x1,0x423e14
4111c5:	0f 8c 83 00 00 00    	jl     0x41124e
4111cb:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
4111cf:	33 c9                	xor    %ecx,%ecx
4111d1:	8b d1                	mov    %ecx,%edx
4111d3:	57                   	push   %edi
4111d4:	bf 00 00 08 00       	mov    $0x80000,%edi
4111d9:	a8 3f                	test   $0x3f,%al
4111db:	74 29                	je     0x411206
4111dd:	a8 01                	test   $0x1,%al
4111df:	74 03                	je     0x4111e4
4111e1:	6a 10                	push   $0x10
4111e3:	5a                   	pop    %edx
4111e4:	a8 04                	test   $0x4,%al
4111e6:	74 03                	je     0x4111eb
4111e8:	83 ca 08             	or     $0x8,%edx
4111eb:	a8 08                	test   $0x8,%al
4111ed:	74 03                	je     0x4111f2
4111ef:	83 ca 04             	or     $0x4,%edx
4111f2:	a8 10                	test   $0x10,%al
4111f4:	74 03                	je     0x4111f9
4111f6:	83 ca 02             	or     $0x2,%edx
4111f9:	a8 20                	test   $0x20,%al
4111fb:	74 03                	je     0x411200
4111fd:	83 ca 01             	or     $0x1,%edx
411200:	a8 02                	test   $0x2,%al
411202:	74 02                	je     0x411206
411204:	0b d7                	or     %edi,%edx
411206:	0f ae 5d f8          	stmxcsr -0x8(%ebp)
41120a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41120d:	83 e0 c0             	and    $0xffffffc0,%eax
411210:	89 45 f4             	mov    %eax,-0xc(%ebp)
411213:	0f ae 55 f4          	ldmxcsr -0xc(%ebp)
411217:	8b 45 f8             	mov    -0x8(%ebp),%eax
41121a:	a8 3f                	test   $0x3f,%al
41121c:	74 29                	je     0x411247
41121e:	a8 01                	test   $0x1,%al
411220:	74 03                	je     0x411225
411222:	6a 10                	push   $0x10
411224:	59                   	pop    %ecx
411225:	a8 04                	test   $0x4,%al
411227:	74 03                	je     0x41122c
411229:	83 c9 08             	or     $0x8,%ecx
41122c:	a8 08                	test   $0x8,%al
41122e:	74 03                	je     0x411233
411230:	83 c9 04             	or     $0x4,%ecx
411233:	a8 10                	test   $0x10,%al
411235:	74 03                	je     0x41123a
411237:	83 c9 02             	or     $0x2,%ecx
41123a:	a8 20                	test   $0x20,%al
41123c:	74 03                	je     0x411241
41123e:	83 c9 01             	or     $0x1,%ecx
411241:	a8 02                	test   $0x2,%al
411243:	74 02                	je     0x411247
411245:	0b cf                	or     %edi,%ecx
411247:	0b ca                	or     %edx,%ecx
411249:	8b c1                	mov    %ecx,%eax
41124b:	5f                   	pop    %edi
41124c:	eb 3d                	jmp    0x41128b
41124e:	66 8b 4d fc          	mov    -0x4(%ebp),%cx
411252:	33 c0                	xor    %eax,%eax
411254:	f6 c1 3f             	test   $0x3f,%cl
411257:	74 32                	je     0x41128b
411259:	f6 c1 01             	test   $0x1,%cl
41125c:	74 03                	je     0x411261
41125e:	6a 10                	push   $0x10
411260:	58                   	pop    %eax
411261:	f6 c1 04             	test   $0x4,%cl
411264:	74 03                	je     0x411269
411266:	83 c8 08             	or     $0x8,%eax
411269:	f6 c1 08             	test   $0x8,%cl
41126c:	74 03                	je     0x411271
41126e:	83 c8 04             	or     $0x4,%eax
411271:	f6 c1 10             	test   $0x10,%cl
411274:	74 03                	je     0x411279
411276:	83 c8 02             	or     $0x2,%eax
411279:	f6 c1 20             	test   $0x20,%cl
41127c:	74 03                	je     0x411281
41127e:	83 c8 01             	or     $0x1,%eax
411281:	f6 c1 02             	test   $0x2,%cl
411284:	74 05                	je     0x41128b
411286:	0d 00 00 08 00       	or     $0x80000,%eax
41128b:	8b e5                	mov    %ebp,%esp
41128d:	5d                   	pop    %ebp
41128e:	c3                   	ret
41128f:	8b ff                	mov    %edi,%edi
411291:	55                   	push   %ebp
411292:	8b ec                	mov    %esp,%ebp
411294:	83 ec 10             	sub    $0x10,%esp
411297:	9b d9 7d f8          	fstcw  -0x8(%ebp)
41129b:	66 8b 45 f8          	mov    -0x8(%ebp),%ax
41129f:	33 c9                	xor    %ecx,%ecx
4112a1:	a8 01                	test   $0x1,%al
4112a3:	74 03                	je     0x4112a8
4112a5:	6a 10                	push   $0x10
4112a7:	59                   	pop    %ecx
4112a8:	a8 04                	test   $0x4,%al
4112aa:	74 03                	je     0x4112af
4112ac:	83 c9 08             	or     $0x8,%ecx
4112af:	a8 08                	test   $0x8,%al
4112b1:	74 03                	je     0x4112b6
4112b3:	83 c9 04             	or     $0x4,%ecx
4112b6:	a8 10                	test   $0x10,%al
4112b8:	74 03                	je     0x4112bd
4112ba:	83 c9 02             	or     $0x2,%ecx
4112bd:	a8 20                	test   $0x20,%al
4112bf:	74 03                	je     0x4112c4
4112c1:	83 c9 01             	or     $0x1,%ecx
4112c4:	a8 02                	test   $0x2,%al
4112c6:	74 06                	je     0x4112ce
4112c8:	81 c9 00 00 08 00    	or     $0x80000,%ecx
4112ce:	53                   	push   %ebx
4112cf:	56                   	push   %esi
4112d0:	0f b7 f0             	movzwl %ax,%esi
4112d3:	bb 00 0c 00 00       	mov    $0xc00,%ebx
4112d8:	8b d6                	mov    %esi,%edx
4112da:	57                   	push   %edi
4112db:	bf 00 02 00 00       	mov    $0x200,%edi
4112e0:	23 d3                	and    %ebx,%edx
4112e2:	74 26                	je     0x41130a
4112e4:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4112ea:	74 18                	je     0x411304
4112ec:	81 fa 00 08 00 00    	cmp    $0x800,%edx
4112f2:	74 0c                	je     0x411300
4112f4:	3b d3                	cmp    %ebx,%edx
4112f6:	75 12                	jne    0x41130a
4112f8:	81 c9 00 03 00 00    	or     $0x300,%ecx
4112fe:	eb 0a                	jmp    0x41130a
411300:	0b cf                	or     %edi,%ecx
411302:	eb 06                	jmp    0x41130a
411304:	81 c9 00 01 00 00    	or     $0x100,%ecx
41130a:	81 e6 00 03 00 00    	and    $0x300,%esi
411310:	74 0c                	je     0x41131e
411312:	3b f7                	cmp    %edi,%esi
411314:	75 0e                	jne    0x411324
411316:	81 c9 00 00 01 00    	or     $0x10000,%ecx
41131c:	eb 06                	jmp    0x411324
41131e:	81 c9 00 00 02 00    	or     $0x20000,%ecx
411324:	ba 00 10 00 00       	mov    $0x1000,%edx
411329:	66 85 c2             	test   %ax,%dx
41132c:	74 06                	je     0x411334
41132e:	81 c9 00 00 04 00    	or     $0x40000,%ecx
411334:	8b 7d 0c             	mov    0xc(%ebp),%edi
411337:	8b f7                	mov    %edi,%esi
411339:	8b 45 08             	mov    0x8(%ebp),%eax
41133c:	f7 d6                	not    %esi
41133e:	23 f1                	and    %ecx,%esi
411340:	23 c7                	and    %edi,%eax
411342:	0b f0                	or     %eax,%esi
411344:	3b f1                	cmp    %ecx,%esi
411346:	0f 84 a6 00 00 00    	je     0x4113f2
41134c:	56                   	push   %esi
41134d:	e8 3f 02 00 00       	call   0x411591
411352:	59                   	pop    %ecx
411353:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
411357:	d9 6d fc             	fldcw  -0x4(%ebp)
41135a:	9b d9 7d fc          	fstcw  -0x4(%ebp)
41135e:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
411362:	33 f6                	xor    %esi,%esi
411364:	a8 01                	test   $0x1,%al
411366:	74 03                	je     0x41136b
411368:	6a 10                	push   $0x10
41136a:	5e                   	pop    %esi
41136b:	a8 04                	test   $0x4,%al
41136d:	74 03                	je     0x411372
41136f:	83 ce 08             	or     $0x8,%esi
411372:	a8 08                	test   $0x8,%al
411374:	74 03                	je     0x411379
411376:	83 ce 04             	or     $0x4,%esi
411379:	a8 10                	test   $0x10,%al
41137b:	74 03                	je     0x411380
41137d:	83 ce 02             	or     $0x2,%esi