472282:	74 08                	je     0x47228c
472284:	57                   	push   %edi
472285:	ff 15 10 74 4a 00    	call   *0x4a7410
47228b:	59                   	pop    %ecx
47228c:	8b c7                	mov    %edi,%eax
47228e:	5f                   	pop    %edi
47228f:	5e                   	pop    %esi
472290:	5d                   	pop    %ebp
472291:	c2 04 00             	ret    $0x4
472294:	cc                   	int3
472295:	cc                   	int3
472296:	cc                   	int3
472297:	cc                   	int3
472298:	cc                   	int3
472299:	cc                   	int3
47229a:	cc                   	int3
47229b:	cc                   	int3
47229c:	cc                   	int3
47229d:	cc                   	int3
47229e:	cc                   	int3
47229f:	cc                   	int3
4722a0:	8b ff                	mov    %edi,%edi
4722a2:	55                   	push   %ebp
4722a3:	8b ec                	mov    %esp,%ebp
4722a5:	56                   	push   %esi
4722a6:	57                   	push   %edi
4722a7:	8b f9                	mov    %ecx,%edi
4722a9:	ff 77 20             	push   0x20(%edi)
4722ac:	c7 07 80 5e 40 00    	movl   $0x405e80,(%edi)
4722b2:	c7 47 04 cc 5e 40 00 	movl   $0x405ecc,0x4(%edi)
4722b9:	ff 15 88 72 4a 00    	call   *0x4a7288
4722bf:	8d 4f 04             	lea    0x4(%edi),%ecx
4722c2:	c7 47 18 01 00 00 c0 	movl   $0xc0000001,0x18(%edi)
4722c9:	e8 aa f9 ff ff       	call   0x471c78
4722ce:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4722d2:	74 08                	je     0x4722dc
4722d4:	57                   	push   %edi
4722d5:	ff 15 10 74 4a 00    	call   *0x4a7410
4722db:	59                   	pop    %ecx
4722dc:	8b c7                	mov    %edi,%eax
4722de:	5f                   	pop    %edi
4722df:	5e                   	pop    %esi
4722e0:	5d                   	pop    %ebp
4722e1:	c2 04 00             	ret    $0x4
4722e4:	cc                   	int3
4722e5:	cc                   	int3
4722e6:	cc                   	int3
4722e7:	cc                   	int3
4722e8:	cc                   	int3
4722e9:	cc                   	int3
4722ea:	cc                   	int3
4722eb:	cc                   	int3
4722ec:	cc                   	int3
4722ed:	cc                   	int3
4722ee:	cc                   	int3
4722ef:	cc                   	int3
4722f0:	8b ff                	mov    %edi,%edi
4722f2:	55                   	push   %ebp
4722f3:	8b ec                	mov    %esp,%ebp
4722f5:	53                   	push   %ebx
4722f6:	57                   	push   %edi
4722f7:	8b 7d 08             	mov    0x8(%ebp),%edi
4722fa:	83 cb ff             	or     $0xffffffff,%ebx
4722fd:	f0 0f c1 5f 18       	lock xadd %ebx,0x18(%edi)
472302:	4b                   	dec    %ebx
472303:	75 32                	jne    0x472337
472305:	56                   	push   %esi
472306:	85 ff                	test   %edi,%edi
472308:	74 13                	je     0x47231d
47230a:	8b 07                	mov    (%edi),%eax
47230c:	6a 01                	push   $0x1
47230e:	8b 70 10             	mov    0x10(%eax),%esi
472311:	8b ce                	mov    %esi,%ecx
472313:	ff 15 2c 81 4a 00    	call   *0x4a812c
472319:	8b cf                	mov    %edi,%ecx
47231b:	ff d6                	call   *%esi
47231d:	a1 38 65 4a 00       	mov    0x4a6538,%eax
472322:	85 c0                	test   %eax,%eax
472324:	74 10                	je     0x472336
472326:	8b 08                	mov    (%eax),%ecx
472328:	50                   	push   %eax
472329:	8b 71 08             	mov    0x8(%ecx),%esi
47232c:	8b ce                	mov    %esi,%ecx
47232e:	ff 15 2c 81 4a 00    	call   *0x4a812c
472334:	ff d6                	call   *%esi
472336:	5e                   	pop    %esi
472337:	5f                   	pop    %edi
472338:	8b c3                	mov    %ebx,%eax
47233a:	5b                   	pop    %ebx
47233b:	5d                   	pop    %ebp
47233c:	c2 04 00             	ret    $0x4
47233f:	cc                   	int3
472340:	8b ff                	mov    %edi,%edi
472342:	55                   	push   %ebp
472343:	8b ec                	mov    %esp,%ebp
472345:	8b 4d 08             	mov    0x8(%ebp),%ecx
472348:	33 c0                	xor    %eax,%eax
47234a:	40                   	inc    %eax
47234b:	f0 0f c1 41 18       	lock xadd %eax,0x18(%ecx)
472350:	40                   	inc    %eax
472351:	5d                   	pop    %ebp
472352:	c2 04 00             	ret    $0x4
472355:	cc                   	int3
472356:	cc                   	int3
472357:	cc                   	int3
472358:	cc                   	int3
472359:	cc                   	int3
47235a:	cc                   	int3
47235b:	cc                   	int3
47235c:	cc                   	int3
47235d:	cc                   	int3
47235e:	cc                   	int3
47235f:	cc                   	int3
472360:	8b ff                	mov    %edi,%edi
472362:	55                   	push   %ebp
472363:	8b ec                	mov    %esp,%ebp
472365:	8b 4d 0c             	mov    0xc(%ebp),%ecx
472368:	ba 70 fd 40 00       	mov    $0x40fd70,%edx
47236d:	56                   	push   %esi
47236e:	8b 75 10             	mov    0x10(%ebp),%esi
472371:	57                   	push   %edi
472372:	33 ff                	xor    %edi,%edi
472374:	89 3e                	mov    %edi,(%esi)
472376:	e8 89 71 fb ff       	call   0x429504
47237b:	85 c0                	test   %eax,%eax
47237d:	75 30                	jne    0x4723af
47237f:	ba 78 34 41 00       	mov    $0x413478,%edx
472384:	e8 7b 71 fb ff       	call   0x429504
472389:	85 c0                	test   %eax,%eax
47238b:	74 07                	je     0x472394
47238d:	8b 45 08             	mov    0x8(%ebp),%eax
472390:	89 06                	mov    %eax,(%esi)
472392:	eb 14                	jmp    0x4723a8
472394:	51                   	push   %ecx
472395:	56                   	push   %esi
472396:	51                   	push   %ecx
472397:	8b 4d 08             	mov    0x8(%ebp),%ecx
47239a:	8d 49 04             	lea    0x4(%ecx),%ecx
47239d:	e8 97 fa ff ff       	call   0x471e39
4723a2:	8b f8                	mov    %eax,%edi
4723a4:	85 ff                	test   %edi,%edi
4723a6:	78 1c                	js     0x4723c4
4723a8:	8b 06                	mov    (%esi),%eax
4723aa:	50                   	push   %eax
4723ab:	8b 08                	mov    (%eax),%ecx
4723ad:	eb 08                	jmp    0x4723b7
4723af:	8b 55 08             	mov    0x8(%ebp),%edx
4723b2:	89 16                	mov    %edx,(%esi)
4723b4:	52                   	push   %edx
4723b5:	8b 0a                	mov    (%edx),%ecx
4723b7:	8b 71 04             	mov    0x4(%ecx),%esi
4723ba:	8b ce                	mov    %esi,%ecx
4723bc:	ff 15 2c 81 4a 00    	call   *0x4a812c
4723c2:	ff d6                	call   *%esi
4723c4:	8b c7                	mov    %edi,%eax
4723c6:	5f                   	pop    %edi
4723c7:	5e                   	pop    %esi
4723c8:	5d                   	pop    %ebp
4723c9:	c2 0c 00             	ret    $0xc
4723cc:	cc                   	int3
4723cd:	cc                   	int3
4723ce:	cc                   	int3
4723cf:	cc                   	int3
4723d0:	8b ff                	mov    %edi,%edi
4723d2:	55                   	push   %ebp
4723d3:	8b ec                	mov    %esp,%ebp
4723d5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4723d8:	ba 70 fd 40 00       	mov    $0x40fd70,%edx
4723dd:	56                   	push   %esi
4723de:	8b 75 10             	mov    0x10(%ebp),%esi
4723e1:	57                   	push   %edi
4723e2:	33 ff                	xor    %edi,%edi
4723e4:	89 3e                	mov    %edi,(%esi)
4723e6:	e8 19 71 fb ff       	call   0x429504
4723eb:	85 c0                	test   %eax,%eax
4723ed:	75 30                	jne    0x47241f
4723ef:	ba dc 08 41 00       	mov    $0x4108dc,%edx
4723f4:	e8 0b 71 fb ff       	call   0x429504
4723f9:	85 c0                	test   %eax,%eax
4723fb:	74 07                	je     0x472404
4723fd:	8b 45 08             	mov    0x8(%ebp),%eax
472400:	89 06                	mov    %eax,(%esi)
472402:	eb 14                	jmp    0x472418
472404:	51                   	push   %ecx
472405:	56                   	push   %esi
472406:	51                   	push   %ecx
472407:	8b 4d 08             	mov    0x8(%ebp),%ecx
47240a:	8d 49 04             	lea    0x4(%ecx),%ecx
47240d:	e8 27 fa ff ff       	call   0x471e39
472412:	8b f8                	mov    %eax,%edi
472414:	85 ff                	test   %edi,%edi
472416:	78 1c                	js     0x472434
472418:	8b 06                	mov    (%esi),%eax
47241a:	50                   	push   %eax
47241b:	8b 08                	mov    (%eax),%ecx
47241d:	eb 08                	jmp    0x472427
47241f:	8b 55 08             	mov    0x8(%ebp),%edx
472422:	89 16                	mov    %edx,(%esi)
472424:	52                   	push   %edx
472425:	8b 0a                	mov    (%edx),%ecx
472427:	8b 71 04             	mov    0x4(%ecx),%esi
47242a:	8b ce                	mov    %esi,%ecx
47242c:	ff 15 2c 81 4a 00    	call   *0x4a812c
472432:	ff d6                	call   *%esi
472434:	8b c7                	mov    %edi,%eax
472436:	5f                   	pop    %edi
472437:	5e                   	pop    %esi
472438:	5d                   	pop    %ebp
472439:	c2 0c 00             	ret    $0xc
47243c:	8b ff                	mov    %edi,%edi
47243e:	55                   	push   %ebp
47243f:	8b ec                	mov    %esp,%ebp
472441:	57                   	push   %edi
472442:	8b f9                	mov    %ecx,%edi
472444:	8b 0d 38 65 4a 00    	mov    0x4a6538,%ecx
47244a:	c7 07 a8 5e 40 00    	movl   $0x405ea8,(%edi)
472450:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%edi)
472457:	c7 07 6c 5e 40 00    	movl   $0x405e6c,(%edi)
47245d:	85 c9                	test   %ecx,%ecx
47245f:	74 12                	je     0x472473
472461:	8b 01                	mov    (%ecx),%eax
472463:	56                   	push   %esi
472464:	51                   	push   %ecx
472465:	8b 70 04             	mov    0x4(%eax),%esi
472468:	8b ce                	mov    %esi,%ecx
47246a:	ff 15 2c 81 4a 00    	call   *0x4a812c
472470:	ff d6                	call   *%esi
472472:	5e                   	pop    %esi
472473:	8b 4d 08             	mov    0x8(%ebp),%ecx
472476:	8b 01                	mov    (%ecx),%eax
472478:	89 47 0c             	mov    %eax,0xc(%edi)
47247b:	8b 41 04             	mov    0x4(%ecx),%eax
47247e:	89 47 10             	mov    %eax,0x10(%edi)
472481:	8a 41 08             	mov    0x8(%ecx),%al
472484:	83 61 04 00          	andl   $0x0,0x4(%ecx)
472488:	88 47 14             	mov    %al,0x14(%edi)
47248b:	8b c7                	mov    %edi,%eax
47248d:	c6 47 15 00          	movb   $0x0,0x15(%edi)
472491:	c6 41 08 01          	movb   $0x1,0x8(%ecx)
472495:	c7 07 b8 5e 40 00    	movl   $0x405eb8,(%edi)
47249b:	5f                   	pop    %edi
47249c:	5d                   	pop    %ebp
47249d:	c2 04 00             	ret    $0x4
4724a0:	8b ff                	mov    %edi,%edi
4724a2:	55                   	push   %ebp
4724a3:	8b ec                	mov    %esp,%ebp
4724a5:	56                   	push   %esi
4724a6:	8b f1                	mov    %ecx,%esi
4724a8:	8d 4e 04             	lea    0x4(%esi),%ecx
4724ab:	c7 46 18 01 00 00 c0 	movl   $0xc0000001,0x18(%esi)
4724b2:	e8 c1 f7 ff ff       	call   0x471c78
4724b7:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4724bb:	74 08                	je     0x4724c5
4724bd:	56                   	push   %esi
4724be:	ff 15 10 74 4a 00    	call   *0x4a7410
4724c4:	59                   	pop    %ecx
4724c5:	8b c6                	mov    %esi,%eax
4724c7:	5e                   	pop    %esi
4724c8:	5d                   	pop    %ebp
4724c9:	c2 04 00             	ret    $0x4
4724cc:	cc                   	int3
4724cd:	cc                   	int3
4724ce:	cc                   	int3
4724cf:	cc                   	int3
4724d0:	8b ff                	mov    %edi,%edi
4724d2:	55                   	push   %ebp
4724d3:	8b ec                	mov    %esp,%ebp
4724d5:	56                   	push   %esi
4724d6:	8b f1                	mov    %ecx,%esi
4724d8:	ff 76 10             	push   0x10(%esi)
4724db:	ff 15 8c 7f 4a 00    	call   *0x4a7f8c
4724e1:	83 66 10 00          	andl   $0x0,0x10(%esi)
4724e5:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4724e9:	c7 46 08 01 00 00 c0 	movl   $0xc0000001,0x8(%esi)
4724f0:	74 08                	je     0x4724fa
4724f2:	56                   	push   %esi
4724f3:	ff 15 10 74 4a 00    	call   *0x4a7410
4724f9:	59                   	pop    %ecx
4724fa:	8b c6                	mov    %esi,%eax
4724fc:	5e                   	pop    %esi
4724fd:	5d                   	pop    %ebp
4724fe:	c2 04 00             	ret    $0x4
472501:	8b ff                	mov    %edi,%edi
472503:	55                   	push   %ebp
472504:	8b ec                	mov    %esp,%ebp
472506:	51                   	push   %ecx
472507:	56                   	push   %esi
472508:	8b c1                	mov    %ecx,%eax
47250a:	33 f6                	xor    %esi,%esi
47250c:	57                   	push   %edi
47250d:	68 a0 ef 40 00       	push   $0x40efa0
472512:	6a 24                	push   $0x24
472514:	89 45 fc             	mov    %eax,-0x4(%ebp)
472517:	89 30                	mov    %esi,(%eax)
472519:	e8 20 df 01 00       	call   0x49043e
47251e:	59                   	pop    %ecx
47251f:	59                   	pop    %ecx
472520:	85 c0                	test   %eax,%eax
472522:	75 07                	jne    0x47252b
472524:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
472529:	eb 64                	jmp    0x47258f
47252b:	53                   	push   %ebx
47252c:	8b c8                	mov    %eax,%ecx
47252e:	e8 be fa ff ff       	call   0x471ff1
472533:	68 03 00 1f 00       	push   $0x1f0003
472538:	56                   	push   %esi
472539:	56                   	push   %esi
47253a:	56                   	push   %esi
47253b:	8b d8                	mov    %eax,%ebx
47253d:	ff 15 30 7f 4a 00    	call   *0x4a7f30
472543:	89 43 20             	mov    %eax,0x20(%ebx)
472546:	85 c0                	test   %eax,%eax
472548:	75 17                	jne    0x472561
47254a:	ff 15 b8 72 4a 00    	call   *0x4a72b8
472550:	8b f8                	mov    %eax,%edi
472552:	85 ff                	test   %edi,%edi
472554:	7e 0f                	jle    0x472565
472556:	0f b7 ff             	movzwl %di,%edi
472559:	81 cf 00 00 07 80    	or     $0x80070000,%edi
47255f:	eb 02                	jmp    0x472563
472561:	8b fe                	mov    %esi,%edi
472563:	85 ff                	test   %edi,%edi
472565:	78 17                	js     0x47257e
472567:	8b 03                	mov    (%ebx),%eax
472569:	53                   	push   %ebx
47256a:	8b 70 04             	mov    0x4(%eax),%esi
47256d:	8b ce                	mov    %esi,%ecx
47256f:	ff 15 2c 81 4a 00    	call   *0x4a812c
472575:	ff d6                	call   *%esi
472577:	8b 45 fc             	mov    -0x4(%ebp),%eax
47257a:	33 ff                	xor    %edi,%edi
47257c:	89 18                	mov    %ebx,(%eax)
47257e:	8b 0b                	mov    (%ebx),%ecx
472580:	53                   	push   %ebx
472581:	8b 71 08             	mov    0x8(%ecx),%esi
472584:	8b ce                	mov    %esi,%ecx
472586:	ff 15 2c 81 4a 00    	call   *0x4a812c
47258c:	ff d6                	call   *%esi
47258e:	5b                   	pop    %ebx
47258f:	8b c7                	mov    %edi,%eax
472591:	5f                   	pop    %edi
472592:	5e                   	pop    %esi
472593:	c9                   	leave
472594:	c3                   	ret
472595:	8b ff                	mov    %edi,%edi
472597:	55                   	push   %ebp
472598:	8b ec                	mov    %esp,%ebp
47259a:	51                   	push   %ecx
47259b:	56                   	push   %esi
47259c:	8b c1                	mov    %ecx,%eax