405fe1:	e8 59 42 00 00       	call   0x40a23f
405fe6:	59                   	pop    %ecx
405fe7:	59                   	pop    %ecx
405fe8:	c3                   	ret
405fe9:	8b ff                	mov    %edi,%edi
405feb:	55                   	push   %ebp
405fec:	8b ec                	mov    %esp,%ebp
405fee:	83 ec 70             	sub    $0x70,%esp
405ff1:	a1 00 d0 40 00       	mov    0x40d000,%eax
405ff6:	3d 00 d0 40 00       	cmp    $0x40d000,%eax
405ffb:	74 19                	je     0x406016
405ffd:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
406001:	72 13                	jb     0x406016
406003:	ff 70 14             	push   0x14(%eax)
406006:	ba 2c 18 40 00       	mov    $0x40182c,%edx
40600b:	ff 70 10             	push   0x10(%eax)
40600e:	6a 0a                	push   $0xa
406010:	59                   	pop    %ecx
406011:	e8 77 df ff ff       	call   0x403f8d
406016:	68 ff ff 00 80       	push   $0x8000ffff
40601b:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
40601e:	e8 4b de ff ff       	call   0x403e6e
406023:	68 a4 c6 40 00       	push   $0x40c6a4
406028:	8d 45 94             	lea    -0x6c(%ebp),%eax
40602b:	50                   	push   %eax
40602c:	e8 09 4b 00 00       	call   0x40ab3a
406031:	cc                   	int3
406032:	81 09 00 80 00 00    	orl    $0x8000,(%ecx)
406038:	c3                   	ret
406039:	8b ff                	mov    %edi,%edi
40603b:	57                   	push   %edi
40603c:	8b 79 04             	mov    0x4(%ecx),%edi
40603f:	85 ff                	test   %edi,%edi
406041:	74 39                	je     0x40607c
406043:	53                   	push   %ebx
406044:	83 cb ff             	or     $0xffffffff,%ebx
406047:	8b c3                	mov    %ebx,%eax
406049:	f0 0f c1 47 04       	lock xadd %eax,0x4(%edi)
40604e:	75 2b                	jne    0x40607b
406050:	8b 07                	mov    (%edi),%eax
406052:	56                   	push   %esi
406053:	8b 30                	mov    (%eax),%esi
406055:	8b ce                	mov    %esi,%ecx
406057:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40605d:	8b cf                	mov    %edi,%ecx
40605f:	ff d6                	call   *%esi
406061:	f0 0f c1 5f 08       	lock xadd %ebx,0x8(%edi)
406066:	4b                   	dec    %ebx
406067:	75 11                	jne    0x40607a
406069:	8b 07                	mov    (%edi),%eax
40606b:	8b 70 04             	mov    0x4(%eax),%esi
40606e:	8b ce                	mov    %esi,%ecx
406070:	ff 15 f0 e1 40 00    	call   *0x40e1f0
406076:	8b cf                	mov    %edi,%ecx
406078:	ff d6                	call   *%esi
40607a:	5e                   	pop    %esi
40607b:	5b                   	pop    %ebx
40607c:	5f                   	pop    %edi
40607d:	c3                   	ret
40607e:	6a 08                	push   $0x8
406080:	68 28 b6 40 00       	push   $0x40b628
406085:	e8 16 45 00 00       	call   0x40a5a0
40608a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40608e:	83 ec 18             	sub    $0x18,%esp
406091:	6a 06                	push   $0x6
406093:	59                   	pop    %ecx
406094:	8d 75 08             	lea    0x8(%ebp),%esi
406097:	8b fc                	mov    %esp,%edi
406099:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40609b:	e8 9b 05 00 00       	call   0x40663b
4060a0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4060a7:	eb 19                	jmp    0x4060c2
4060a9:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4060ac:	e8 fa ef ff ff       	call   0x4050ab
4060b1:	c3                   	ret
4060b2:	8b 65 e8             	mov    -0x18(%ebp),%esp
4060b5:	cc                   	int3
4060b6:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4060bd:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
4060c2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4060c5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4060cc:	59                   	pop    %ecx
4060cd:	5f                   	pop    %edi
4060ce:	5e                   	pop    %esi
4060cf:	5b                   	pop    %ebx
4060d0:	c9                   	leave
4060d1:	c2 18 00             	ret    $0x18
4060d4:	6a 08                	push   $0x8
4060d6:	68 48 b6 40 00       	push   $0x40b648
4060db:	e8 c0 44 00 00       	call   0x40a5a0
4060e0:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4060e4:	ff 75 08             	push   0x8(%ebp)
4060e7:	e8 86 06 00 00       	call   0x406772
4060ec:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4060f3:	eb 19                	jmp    0x40610e
4060f5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4060f8:	e8 ae ef ff ff       	call   0x4050ab
4060fd:	c3                   	ret
4060fe:	8b 65 e8             	mov    -0x18(%ebp),%esp
406101:	cc                   	int3
406102:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406109:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40610e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406111:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406118:	59                   	pop    %ecx
406119:	5f                   	pop    %edi
40611a:	5e                   	pop    %esi
40611b:	5b                   	pop    %ebx
40611c:	c9                   	leave
40611d:	c2 04 00             	ret    $0x4
406120:	6a 08                	push   $0x8
406122:	68 68 b6 40 00       	push   $0x40b668
406127:	e8 74 44 00 00       	call   0x40a5a0
40612c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406130:	83 ec 0c             	sub    $0xc,%esp
406133:	8d 75 08             	lea    0x8(%ebp),%esi
406136:	8b fc                	mov    %esp,%edi
406138:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406139:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40613a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40613b:	e8 99 06 00 00       	call   0x4067d9
406140:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406147:	eb 19                	jmp    0x406162
406149:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40614c:	e8 5a ef ff ff       	call   0x4050ab
406151:	c3                   	ret
406152:	8b 65 e8             	mov    -0x18(%ebp),%esp
406155:	cc                   	int3
406156:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40615d:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
406162:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406165:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40616c:	59                   	pop    %ecx
40616d:	5f                   	pop    %edi
40616e:	5e                   	pop    %esi
40616f:	5b                   	pop    %ebx
406170:	c9                   	leave
406171:	c2 0c 00             	ret    $0xc
406174:	6a 08                	push   $0x8
406176:	68 88 b6 40 00       	push   $0x40b688
40617b:	e8 20 44 00 00       	call   0x40a5a0
406180:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406184:	83 ec 40             	sub    $0x40,%esp
406187:	6a 10                	push   $0x10
406189:	59                   	pop    %ecx
40618a:	8d 75 08             	lea    0x8(%ebp),%esi
40618d:	8b fc                	mov    %esp,%edi
40618f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
406191:	e8 7a 07 00 00       	call   0x406910
406196:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40619d:	eb 19                	jmp    0x4061b8
40619f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4061a2:	e8 04 ef ff ff       	call   0x4050ab
4061a7:	c3                   	ret
4061a8:	8b 65 e8             	mov    -0x18(%ebp),%esp
4061ab:	cc                   	int3
4061ac:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4061b3:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
4061b8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4061bb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4061c2:	59                   	pop    %ecx
4061c3:	5f                   	pop    %edi
4061c4:	5e                   	pop    %esi
4061c5:	5b                   	pop    %ebx
4061c6:	c9                   	leave
4061c7:	c2 40 00             	ret    $0x40
4061ca:	6a 08                	push   $0x8
4061cc:	68 a8 b6 40 00       	push   $0x40b6a8
4061d1:	e8 ca 43 00 00       	call   0x40a5a0
4061d6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4061da:	ff 75 08             	push   0x8(%ebp)
4061dd:	e8 65 08 00 00       	call   0x406a47
4061e2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4061e9:	eb 19                	jmp    0x406204
4061eb:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4061ee:	e8 b8 ee ff ff       	call   0x4050ab
4061f3:	c3                   	ret
4061f4:	8b 65 e8             	mov    -0x18(%ebp),%esp
4061f7:	cc                   	int3
4061f8:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4061ff:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
406204:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406207:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40620e:	59                   	pop    %ecx
40620f:	5f                   	pop    %edi
406210:	5e                   	pop    %esi
406211:	5b                   	pop    %ebx
406212:	c9                   	leave
406213:	c2 04 00             	ret    $0x4
406216:	6a 08                	push   $0x8
406218:	68 c8 b6 40 00       	push   $0x40b6c8
40621d:	e8 7e 43 00 00       	call   0x40a5a0
406222:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406226:	ff 75 0c             	push   0xc(%ebp)
406229:	ff 75 08             	push   0x8(%ebp)
40622c:	e8 7d 08 00 00       	call   0x406aae
406231:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406238:	eb 19                	jmp    0x406253
40623a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40623d:	e8 69 ee ff ff       	call   0x4050ab
406242:	c3                   	ret
406243:	8b 65 e8             	mov    -0x18(%ebp),%esp
406246:	cc                   	int3
406247:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40624e:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
406253:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406256:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40625d:	59                   	pop    %ecx
40625e:	5f                   	pop    %edi
40625f:	5e                   	pop    %esi
406260:	5b                   	pop    %ebx
406261:	c9                   	leave
406262:	c2 08 00             	ret    $0x8
406265:	6a 08                	push   $0x8
406267:	68 e8 b6 40 00       	push   $0x40b6e8
40626c:	e8 2f 43 00 00       	call   0x40a5a0
406271:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406275:	ff 75 08             	push   0x8(%ebp)
406278:	e8 8b 09 00 00       	call   0x406c08
40627d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406284:	eb 19                	jmp    0x40629f
406286:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406289:	e8 1d ee ff ff       	call   0x4050ab
40628e:	c3                   	ret
40628f:	8b 65 e8             	mov    -0x18(%ebp),%esp
406292:	cc                   	int3
406293:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40629a:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40629f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4062a2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4062a9:	59                   	pop    %ecx
4062aa:	5f                   	pop    %edi
4062ab:	5e                   	pop    %esi
4062ac:	5b                   	pop    %ebx
4062ad:	c9                   	leave
4062ae:	c2 04 00             	ret    $0x4
4062b1:	6a 08                	push   $0x8
4062b3:	68 08 b7 40 00       	push   $0x40b708
4062b8:	e8 e3 42 00 00       	call   0x40a5a0
4062bd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4062c1:	ff 75 08             	push   0x8(%ebp)
4062c4:	e8 9a 0a 00 00       	call   0x406d63
4062c9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4062d0:	eb 19                	jmp    0x4062eb
4062d2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4062d5:	e8 d1 ed ff ff       	call   0x4050ab
4062da:	c3                   	ret
4062db:	8b 65 e8             	mov    -0x18(%ebp),%esp
4062de:	cc                   	int3
4062df:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4062e6:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
4062eb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4062ee:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4062f5:	59                   	pop    %ecx
4062f6:	5f                   	pop    %edi
4062f7:	5e                   	pop    %esi
4062f8:	5b                   	pop    %ebx
4062f9:	c9                   	leave
4062fa:	c2 04 00             	ret    $0x4
4062fd:	6a 08                	push   $0x8
4062ff:	68 28 b7 40 00       	push   $0x40b728
406304:	e8 97 42 00 00       	call   0x40a5a0
406309:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40630d:	ff 75 08             	push   0x8(%ebp)
406310:	e8 ae 0b 00 00       	call   0x406ec3
406315:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40631c:	eb 19                	jmp    0x406337
40631e:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406321:	e8 85 ed ff ff       	call   0x4050ab
406326:	c3                   	ret
406327:	8b 65 e8             	mov    -0x18(%ebp),%esp
40632a:	cc                   	int3
40632b:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406332:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
406337:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40633a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406341:	59                   	pop    %ecx
406342:	5f                   	pop    %edi
406343:	5e                   	pop    %esi
406344:	5b                   	pop    %ebx
406345:	c9                   	leave
406346:	c2 04 00             	ret    $0x4
406349:	6a 08                	push   $0x8
40634b:	68 48 b7 40 00       	push   $0x40b748
406350:	e8 4b 42 00 00       	call   0x40a5a0
406355:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406359:	83 ec 10             	sub    $0x10,%esp
40635c:	8d 75 08             	lea    0x8(%ebp),%esi
40635f:	8b fc                	mov    %esp,%edi
406361:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406362:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406363:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406364:	a5                   	movsl  %ds:(%esi),%es:(%edi)
406365:	e8 e4 0b 00 00       	call   0x406f4e
40636a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406371:	eb 19                	jmp    0x40638c
406373:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406376:	e8 30 ed ff ff       	call   0x4050ab
40637b:	c3                   	ret
40637c:	8b 65 e8             	mov    -0x18(%ebp),%esp
40637f:	cc                   	int3
406380:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406387:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
40638c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40638f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406396:	59                   	pop    %ecx
406397:	5f                   	pop    %edi
406398:	5e                   	pop    %esi
406399:	5b                   	pop    %ebx
40639a:	c9                   	leave
40639b:	c2 10 00             	ret    $0x10
40639e:	6a 08                	push   $0x8
4063a0:	68 68 b7 40 00       	push   $0x40b768
4063a5:	e8 f6 41 00 00       	call   0x40a5a0
4063aa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4063ae:	83 ec 0c             	sub    $0xc,%esp
4063b1:	8d 75 08             	lea    0x8(%ebp),%esi
4063b4:	8b fc                	mov    %esp,%edi
4063b6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4063b7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4063b8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4063b9:	e8 23 0d 00 00       	call   0x4070e1
4063be:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4063c5:	eb 19                	jmp    0x4063e0
4063c7:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4063ca:	e8 dc ec ff ff       	call   0x4050ab
4063cf:	c3                   	ret
4063d0:	8b 65 e8             	mov    -0x18(%ebp),%esp
4063d3:	cc                   	int3
4063d4:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4063db:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
4063e0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4063e3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4063ea:	59                   	pop    %ecx
4063eb:	5f                   	pop    %edi
4063ec:	5e                   	pop    %esi
4063ed:	5b                   	pop    %ebx
4063ee:	c9                   	leave
4063ef:	c2 0c 00             	ret    $0xc
4063f2:	6a 08                	push   $0x8
4063f4:	68 88 b7 40 00       	push   $0x40b788
4063f9:	e8 a2 41 00 00       	call   0x40a5a0
4063fe:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406402:	ff 75 08             	push   0x8(%ebp)
406405:	e8 5d 0e 00 00       	call   0x407267
40640a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406411:	eb 19                	jmp    0x40642c
406413:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406416:	e8 90 ec ff ff       	call   0x4050ab
40641b:	c3                   	ret