47e35b:	cc                   	int3
47e35c:	cc                   	int3
47e35d:	cc                   	int3
47e35e:	cc                   	int3
47e35f:	cc                   	int3
47e360:	8b ff                	mov    %edi,%edi
47e362:	55                   	push   %ebp
47e363:	8b ec                	mov    %esp,%ebp
47e365:	57                   	push   %edi
47e366:	8b 79 10             	mov    0x10(%ecx),%edi
47e369:	85 ff                	test   %edi,%edi
47e36b:	74 16                	je     0x47e383
47e36d:	8b 07                	mov    (%edi),%eax
47e36f:	56                   	push   %esi
47e370:	ff 75 08             	push   0x8(%ebp)
47e373:	8b 70 34             	mov    0x34(%eax),%esi
47e376:	8b ce                	mov    %esi,%ecx
47e378:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e37e:	8b cf                	mov    %edi,%ecx
47e380:	ff d6                	call   *%esi
47e382:	5e                   	pop    %esi
47e383:	5f                   	pop    %edi
47e384:	5d                   	pop    %ebp
47e385:	c2 04 00             	ret    $0x4
47e388:	cc                   	int3
47e389:	cc                   	int3
47e38a:	cc                   	int3
47e38b:	cc                   	int3
47e38c:	cc                   	int3
47e38d:	cc                   	int3
47e38e:	cc                   	int3
47e38f:	cc                   	int3
47e390:	8b ff                	mov    %edi,%edi
47e392:	55                   	push   %ebp
47e393:	8b ec                	mov    %esp,%ebp
47e395:	57                   	push   %edi
47e396:	8b 79 10             	mov    0x10(%ecx),%edi
47e399:	85 ff                	test   %edi,%edi
47e39b:	74 16                	je     0x47e3b3
47e39d:	8b 07                	mov    (%edi),%eax
47e39f:	56                   	push   %esi
47e3a0:	ff 75 08             	push   0x8(%ebp)
47e3a3:	8b 70 38             	mov    0x38(%eax),%esi
47e3a6:	8b ce                	mov    %esi,%ecx
47e3a8:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e3ae:	8b cf                	mov    %edi,%ecx
47e3b0:	ff d6                	call   *%esi
47e3b2:	5e                   	pop    %esi
47e3b3:	5f                   	pop    %edi
47e3b4:	5d                   	pop    %ebp
47e3b5:	c2 04 00             	ret    $0x4
47e3b8:	cc                   	int3
47e3b9:	cc                   	int3
47e3ba:	cc                   	int3
47e3bb:	cc                   	int3
47e3bc:	cc                   	int3
47e3bd:	cc                   	int3
47e3be:	cc                   	int3
47e3bf:	cc                   	int3
47e3c0:	8b ff                	mov    %edi,%edi
47e3c2:	55                   	push   %ebp
47e3c3:	8b ec                	mov    %esp,%ebp
47e3c5:	53                   	push   %ebx
47e3c6:	56                   	push   %esi
47e3c7:	57                   	push   %edi
47e3c8:	8b 7d 08             	mov    0x8(%ebp),%edi
47e3cb:	8b d9                	mov    %ecx,%ebx
47e3cd:	6a 01                	push   $0x1
47e3cf:	6a 00                	push   $0x0
47e3d1:	ff 73 1c             	push   0x1c(%ebx)
47e3d4:	89 7b 14             	mov    %edi,0x14(%ebx)
47e3d7:	8b 07                	mov    (%edi),%eax
47e3d9:	8b 70 24             	mov    0x24(%eax),%esi
47e3dc:	8b ce                	mov    %esi,%ecx
47e3de:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e3e4:	8b cf                	mov    %edi,%ecx
47e3e6:	ff d6                	call   *%esi
47e3e8:	5f                   	pop    %edi
47e3e9:	5e                   	pop    %esi
47e3ea:	89 43 18             	mov    %eax,0x18(%ebx)
47e3ed:	5b                   	pop    %ebx
47e3ee:	5d                   	pop    %ebp
47e3ef:	c2 04 00             	ret    $0x4
47e3f2:	cc                   	int3
47e3f3:	cc                   	int3
47e3f4:	cc                   	int3
47e3f5:	cc                   	int3
47e3f6:	cc                   	int3
47e3f7:	cc                   	int3
47e3f8:	cc                   	int3
47e3f9:	cc                   	int3
47e3fa:	cc                   	int3
47e3fb:	cc                   	int3
47e3fc:	cc                   	int3
47e3fd:	cc                   	int3
47e3fe:	cc                   	int3
47e3ff:	cc                   	int3
47e400:	8b ff                	mov    %edi,%edi
47e402:	55                   	push   %ebp
47e403:	8b ec                	mov    %esp,%ebp
47e405:	83 e4 f8             	and    $0xfffffff8,%esp
47e408:	83 ec 24             	sub    $0x24,%esp
47e40b:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
47e410:	33 c4                	xor    %esp,%eax
47e412:	89 44 24 20          	mov    %eax,0x20(%esp)
47e416:	8b 45 08             	mov    0x8(%ebp),%eax
47e419:	53                   	push   %ebx
47e41a:	56                   	push   %esi
47e41b:	57                   	push   %edi
47e41c:	8b 79 14             	mov    0x14(%ecx),%edi
47e41f:	33 db                	xor    %ebx,%ebx
47e421:	89 44 24 18          	mov    %eax,0x18(%esp)
47e425:	8d 44 24 10          	lea    0x10(%esp),%eax
47e429:	50                   	push   %eax
47e42a:	89 5c 24 18          	mov    %ebx,0x18(%esp)
47e42e:	8b 07                	mov    (%edi),%eax
47e430:	89 5c 24 14          	mov    %ebx,0x14(%esp)
47e434:	8b 70 1c             	mov    0x1c(%eax),%esi
47e437:	8b ce                	mov    %esi,%ecx
47e439:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e43f:	8b cf                	mov    %edi,%ecx
47e441:	ff d6                	call   *%esi
47e443:	8b c8                	mov    %eax,%ecx
47e445:	e8 7f a1 ff ff       	call   0x4785c9
47e44a:	84 c0                	test   %al,%al
47e44c:	74 32                	je     0x47e480
47e44e:	8b 44 24 10          	mov    0x10(%esp),%eax
47e452:	89 44 24 24          	mov    %eax,0x24(%esp)
47e456:	8b 44 24 14          	mov    0x14(%esp),%eax
47e45a:	89 44 24 28          	mov    %eax,0x28(%esp)
47e45e:	8b 44 24 18          	mov    0x18(%esp),%eax
47e462:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
47e466:	89 5c 24 20          	mov    %ebx,0x20(%esp)
47e46a:	ff 70 04             	push   0x4(%eax)
47e46d:	ff 30                	push   (%eax)
47e46f:	8d 44 24 24          	lea    0x24(%esp),%eax
47e473:	50                   	push   %eax
47e474:	ff 15 f8 7c 4a 00    	call   *0x4a7cf8
47e47a:	85 c0                	test   %eax,%eax
47e47c:	74 02                	je     0x47e480
47e47e:	b3 01                	mov    $0x1,%bl
47e480:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
47e484:	8a c3                	mov    %bl,%al
47e486:	5f                   	pop    %edi
47e487:	5e                   	pop    %esi
47e488:	5b                   	pop    %ebx
47e489:	33 cc                	xor    %esp,%ecx
47e48b:	e8 70 1a 01 00       	call   0x48ff00
47e490:	8b e5                	mov    %ebp,%esp
47e492:	5d                   	pop    %ebp
47e493:	c2 04 00             	ret    $0x4
47e496:	cc                   	int3
47e497:	cc                   	int3
47e498:	cc                   	int3
47e499:	cc                   	int3
47e49a:	cc                   	int3
47e49b:	cc                   	int3
47e49c:	cc                   	int3
47e49d:	cc                   	int3
47e49e:	cc                   	int3
47e49f:	cc                   	int3
47e4a0:	8b ff                	mov    %edi,%edi
47e4a2:	55                   	push   %ebp
47e4a3:	8b ec                	mov    %esp,%ebp
47e4a5:	53                   	push   %ebx
47e4a6:	56                   	push   %esi
47e4a7:	57                   	push   %edi
47e4a8:	ff 75 0c             	push   0xc(%ebp)
47e4ab:	8b f9                	mov    %ecx,%edi
47e4ad:	ff 75 08             	push   0x8(%ebp)
47e4b0:	8b 5f 10             	mov    0x10(%edi),%ebx
47e4b3:	8b 03                	mov    (%ebx),%eax
47e4b5:	8b 70 5c             	mov    0x5c(%eax),%esi
47e4b8:	8b ce                	mov    %esi,%ecx
47e4ba:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e4c0:	8b cb                	mov    %ebx,%ecx
47e4c2:	ff d6                	call   *%esi
47e4c4:	8b 45 08             	mov    0x8(%ebp),%eax
47e4c7:	ff 75 0c             	push   0xc(%ebp)
47e4ca:	89 47 10             	mov    %eax,0x10(%edi)
47e4cd:	53                   	push   %ebx
47e4ce:	8b 00                	mov    (%eax),%eax
47e4d0:	8b 70 58             	mov    0x58(%eax),%esi
47e4d3:	8b ce                	mov    %esi,%ecx
47e4d5:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e4db:	8b 4d 08             	mov    0x8(%ebp),%ecx
47e4de:	ff d6                	call   *%esi
47e4e0:	5f                   	pop    %edi
47e4e1:	5e                   	pop    %esi
47e4e2:	5b                   	pop    %ebx
47e4e3:	5d                   	pop    %ebp
47e4e4:	c2 08 00             	ret    $0x8
47e4e7:	cc                   	int3
47e4e8:	cc                   	int3
47e4e9:	cc                   	int3
47e4ea:	cc                   	int3
47e4eb:	cc                   	int3
47e4ec:	cc                   	int3
47e4ed:	cc                   	int3
47e4ee:	cc                   	int3
47e4ef:	cc                   	int3
47e4f0:	8b ff                	mov    %edi,%edi
47e4f2:	55                   	push   %ebp
47e4f3:	8b ec                	mov    %esp,%ebp
47e4f5:	51                   	push   %ecx
47e4f6:	51                   	push   %ecx
47e4f7:	56                   	push   %esi
47e4f8:	8b 75 0c             	mov    0xc(%ebp),%esi
47e4fb:	6a 10                	push   $0x10
47e4fd:	ff 15 8c 7d 4a 00    	call   *0x4a7d8c
47e503:	b9 00 80 00 00       	mov    $0x8000,%ecx
47e508:	66 85 c1             	test   %ax,%cx
47e50b:	0f 84 9a 00 00 00    	je     0x47e5ab
47e511:	53                   	push   %ebx
47e512:	8b 5d 08             	mov    0x8(%ebp),%ebx
47e515:	57                   	push   %edi
47e516:	8b 0b                	mov    (%ebx),%ecx
47e518:	8b c1                	mov    %ecx,%eax
47e51a:	2b 06                	sub    (%esi),%eax
47e51c:	99                   	cltd
47e51d:	8b f8                	mov    %eax,%edi
47e51f:	8b 43 04             	mov    0x4(%ebx),%eax
47e522:	33 fa                	xor    %edx,%edi
47e524:	89 45 f8             	mov    %eax,-0x8(%ebp)
47e527:	2b fa                	sub    %edx,%edi
47e529:	8b d8                	mov    %eax,%ebx
47e52b:	2b 5e 04             	sub    0x4(%esi),%ebx
47e52e:	89 7d fc             	mov    %edi,-0x4(%ebp)
47e531:	85 ff                	test   %edi,%edi
47e533:	74 12                	je     0x47e547
47e535:	8b c3                	mov    %ebx,%eax
47e537:	99                   	cltd
47e538:	33 c2                	xor    %edx,%eax
47e53a:	2b c2                	sub    %edx,%eax
47e53c:	69 c0 e8 03 00 00    	imul   $0x3e8,%eax,%eax
47e542:	99                   	cltd
47e543:	f7 ff                	idiv   %edi
47e545:	eb 05                	jmp    0x47e54c
47e547:	b8 6e 09 00 00       	mov    $0x96e,%eax
47e54c:	3d 6e 09 00 00       	cmp    $0x96e,%eax
47e551:	7c 04                	jl     0x47e557
47e553:	6a 5a                	push   $0x5a
47e555:	eb 09                	jmp    0x47e560
47e557:	3d 9e 01 00 00       	cmp    $0x19e,%eax
47e55c:	7c 05                	jl     0x47e563
47e55e:	6a 2d                	push   $0x2d
47e560:	5f                   	pop    %edi
47e561:	eb 02                	jmp    0x47e565
47e563:	33 ff                	xor    %edi,%edi
47e565:	8b c3                	mov    %ebx,%eax
47e567:	99                   	cltd
47e568:	33 c2                	xor    %edx,%eax
47e56a:	2b c2                	sub    %edx,%eax
47e56c:	03 45 fc             	add    -0x4(%ebp),%eax
47e56f:	99                   	cltd
47e570:	2b c2                	sub    %edx,%eax
47e572:	8b d0                	mov    %eax,%edx
47e574:	d1 fa                	sar    $1,%edx
47e576:	83 ff 2d             	cmp    $0x2d,%edi
47e579:	74 0e                	je     0x47e589
47e57b:	83 ff 5a             	cmp    $0x5a,%edi
47e57e:	74 05                	je     0x47e585
47e580:	8b 45 f8             	mov    -0x8(%ebp),%eax
47e583:	eb 21                	jmp    0x47e5a6
47e585:	89 0e                	mov    %ecx,(%esi)
47e587:	eb 20                	jmp    0x47e5a9
47e589:	39 0e                	cmp    %ecx,(%esi)
47e58b:	7d 04                	jge    0x47e591
47e58d:	2b ca                	sub    %edx,%ecx
47e58f:	eb 02                	jmp    0x47e593
47e591:	03 ca                	add    %edx,%ecx
47e593:	8b 45 08             	mov    0x8(%ebp),%eax
47e596:	89 0e                	mov    %ecx,(%esi)
47e598:	8b 40 04             	mov    0x4(%eax),%eax
47e59b:	39 46 04             	cmp    %eax,0x4(%esi)
47e59e:	7d 04                	jge    0x47e5a4
47e5a0:	2b c2                	sub    %edx,%eax
47e5a2:	eb 02                	jmp    0x47e5a6
47e5a4:	03 c2                	add    %edx,%eax
47e5a6:	89 46 04             	mov    %eax,0x4(%esi)
47e5a9:	5f                   	pop    %edi
47e5aa:	5b                   	pop    %ebx
47e5ab:	5e                   	pop    %esi
47e5ac:	c9                   	leave
47e5ad:	c2 08 00             	ret    $0x8
47e5b0:	32 c0                	xor    %al,%al
47e5b2:	c2 0c 00             	ret    $0xc
47e5b5:	cc                   	int3
47e5b6:	cc                   	int3
47e5b7:	cc                   	int3
47e5b8:	cc                   	int3
47e5b9:	cc                   	int3
47e5ba:	cc                   	int3
47e5bb:	cc                   	int3
47e5bc:	cc                   	int3
47e5bd:	cc                   	int3
47e5be:	cc                   	int3
47e5bf:	cc                   	int3
47e5c0:	8b ff                	mov    %edi,%edi
47e5c2:	55                   	push   %ebp
47e5c3:	8b ec                	mov    %esp,%ebp
47e5c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
47e5c8:	33 c0                	xor    %eax,%eax
47e5ca:	85 c9                	test   %ecx,%ecx
47e5cc:	78 0c                	js     0x47e5da
47e5ce:	83 f9 0a             	cmp    $0xa,%ecx
47e5d1:	7e 07                	jle    0x47e5da
47e5d3:	83 f9 0b             	cmp    $0xb,%ecx
47e5d6:	75 02                	jne    0x47e5da
47e5d8:	b0 01                	mov    $0x1,%al
47e5da:	5d                   	pop    %ebp
47e5db:	c2 04 00             	ret    $0x4
47e5de:	cc                   	int3
47e5df:	cc                   	int3
47e5e0:	8b ff                	mov    %edi,%edi
47e5e2:	55                   	push   %ebp
47e5e3:	8b ec                	mov    %esp,%ebp
47e5e5:	83 ec 24             	sub    $0x24,%esp
47e5e8:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
47e5ed:	33 c5                	xor    %ebp,%eax
47e5ef:	89 45 fc             	mov    %eax,-0x4(%ebp)
47e5f2:	f6 05 c0 46 4a 00 02 	testb  $0x2,0x4a46c0
47e5f9:	53                   	push   %ebx
47e5fa:	8b 5d 08             	mov    0x8(%ebp),%ebx
47e5fd:	56                   	push   %esi
47e5fe:	8b f1                	mov    %ecx,%esi
47e600:	57                   	push   %edi
47e601:	89 75 dc             	mov    %esi,-0x24(%ebp)
47e604:	74 10                	je     0x47e616
47e606:	8b 46 04             	mov    0x4(%esi),%eax
47e609:	ba 80 f6 40 00       	mov    $0x40f680,%edx
47e60e:	ff 70 1c             	push   0x1c(%eax)
47e611:	e8 09 32 fb ff       	call   0x43181f
47e616:	8b 46 04             	mov    0x4(%esi),%eax
47e619:	8b 78 14             	mov    0x14(%eax),%edi
47e61c:	8b 07                	mov    (%edi),%eax
47e61e:	8b 70 10             	mov    0x10(%eax),%esi
47e621:	8b ce                	mov    %esi,%ecx
47e623:	ff 15 2c 81 4a 00    	call   *0x4a812c
47e629:	8b cf                	mov    %edi,%ecx
47e62b:	ff d6                	call   *%esi
47e62d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
47e630:	89 45 e0             	mov    %eax,-0x20(%ebp)
47e633:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47e636:	50                   	push   %eax
47e637:	8b 49 04             	mov    0x4(%ecx),%ecx
47e63a:	8b 79 14             	mov    0x14(%ecx),%edi
47e63d:	8b 17                	mov    (%edi),%edx
47e63f:	8b 72 1c             	mov    0x1c(%edx),%esi
47e642:	8b ce                	mov    %esi,%ecx