46542d:	5b                   	pop    %ebx
46542e:	8b e5                	mov    %ebp,%esp
465430:	5d                   	pop    %ebp
465431:	c2 04 00             	ret    $0x4
465434:	8b ff                	mov    %edi,%edi
465436:	55                   	push   %ebp
465437:	8b ec                	mov    %esp,%ebp
465439:	51                   	push   %ecx
46543a:	51                   	push   %ecx
46543b:	53                   	push   %ebx
46543c:	56                   	push   %esi
46543d:	8b f1                	mov    %ecx,%esi
46543f:	57                   	push   %edi
465440:	80 7e 3c 00          	cmpb   $0x0,0x3c(%esi)
465444:	75 56                	jne    0x46549c
465446:	8b 46 38             	mov    0x38(%esi),%eax
465449:	85 c0                	test   %eax,%eax
46544b:	7e 4f                	jle    0x46549c
46544d:	8b 5e 34             	mov    0x34(%esi),%ebx
465450:	33 ff                	xor    %edi,%edi
465452:	85 c0                	test   %eax,%eax
465454:	74 5f                	je     0x4654b5
465456:	33 c0                	xor    %eax,%eax
465458:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
46545c:	8b 46 08             	mov    0x8(%esi),%eax
46545f:	50                   	push   %eax
465460:	8b 00                	mov    (%eax),%eax
465462:	ff 70 04             	push   0x4(%eax)
465465:	8d 45 fc             	lea    -0x4(%ebp),%eax
465468:	53                   	push   %ebx
465469:	50                   	push   %eax
46546a:	e8 01 20 01 00       	call   0x477470
46546f:	83 c4 10             	add    $0x10,%esp
465472:	89 45 f8             	mov    %eax,-0x8(%ebp)
465475:	85 c0                	test   %eax,%eax
465477:	7e 1d                	jle    0x465496
465479:	8d 4e 18             	lea    0x18(%esi),%ecx
46547c:	51                   	push   %ecx
46547d:	ff 75 fc             	push   -0x4(%ebp)
465480:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
465486:	e8 60 fa ff ff       	call   0x464eeb
46548b:	03 5d f8             	add    -0x8(%ebp),%ebx
46548e:	47                   	inc    %edi
46548f:	3b 7e 38             	cmp    0x38(%esi),%edi
465492:	75 c2                	jne    0x465456
465494:	eb 1f                	jmp    0x4654b5
465496:	83 4e 18 ff          	orl    $0xffffffff,0x18(%esi)
46549a:	eb 19                	jmp    0x4654b5
46549c:	8d 46 0c             	lea    0xc(%esi),%eax
46549f:	50                   	push   %eax
4654a0:	8d 46 18             	lea    0x18(%esi),%eax
4654a3:	50                   	push   %eax
4654a4:	ff 76 38             	push   0x38(%esi)
4654a7:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
4654ad:	ff 76 34             	push   0x34(%esi)
4654b0:	e8 f1 02 00 00       	call   0x4657a6
4654b5:	5f                   	pop    %edi
4654b6:	5e                   	pop    %esi
4654b7:	b0 01                	mov    $0x1,%al
4654b9:	5b                   	pop    %ebx
4654ba:	8b e5                	mov    %ebp,%esp
4654bc:	5d                   	pop    %ebp
4654bd:	c2 04 00             	ret    $0x4
4654c0:	8b ff                	mov    %edi,%edi
4654c2:	55                   	push   %ebp
4654c3:	8b ec                	mov    %esp,%ebp
4654c5:	51                   	push   %ecx
4654c6:	51                   	push   %ecx
4654c7:	53                   	push   %ebx
4654c8:	56                   	push   %esi
4654c9:	8b f1                	mov    %ecx,%esi
4654cb:	57                   	push   %edi
4654cc:	80 7e 3c 00          	cmpb   $0x0,0x3c(%esi)
4654d0:	75 56                	jne    0x465528
4654d2:	8b 46 38             	mov    0x38(%esi),%eax
4654d5:	85 c0                	test   %eax,%eax
4654d7:	7e 4f                	jle    0x465528
4654d9:	8b 5e 34             	mov    0x34(%esi),%ebx
4654dc:	33 ff                	xor    %edi,%edi
4654de:	85 c0                	test   %eax,%eax
4654e0:	74 5f                	je     0x465541
4654e2:	33 c0                	xor    %eax,%eax
4654e4:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
4654e8:	8b 46 08             	mov    0x8(%esi),%eax
4654eb:	50                   	push   %eax
4654ec:	8b 00                	mov    (%eax),%eax
4654ee:	ff 70 04             	push   0x4(%eax)
4654f1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4654f4:	53                   	push   %ebx
4654f5:	50                   	push   %eax
4654f6:	e8 75 1f 01 00       	call   0x477470
4654fb:	83 c4 10             	add    $0x10,%esp
4654fe:	89 45 f8             	mov    %eax,-0x8(%ebp)
465501:	85 c0                	test   %eax,%eax
465503:	7e 1d                	jle    0x465522
465505:	8d 4e 18             	lea    0x18(%esi),%ecx
465508:	51                   	push   %ecx
465509:	ff 75 fc             	push   -0x4(%ebp)
46550c:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
465512:	e8 d4 f9 ff ff       	call   0x464eeb
465517:	03 5d f8             	add    -0x8(%ebp),%ebx
46551a:	47                   	inc    %edi
46551b:	3b 7e 38             	cmp    0x38(%esi),%edi
46551e:	75 c2                	jne    0x4654e2
465520:	eb 1f                	jmp    0x465541
465522:	83 4e 18 ff          	orl    $0xffffffff,0x18(%esi)
465526:	eb 19                	jmp    0x465541
465528:	8d 46 0c             	lea    0xc(%esi),%eax
46552b:	50                   	push   %eax
46552c:	8d 46 18             	lea    0x18(%esi),%eax
46552f:	50                   	push   %eax
465530:	ff 76 38             	push   0x38(%esi)
465533:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
465539:	ff 76 34             	push   0x34(%esi)
46553c:	e8 65 02 00 00       	call   0x4657a6
465541:	5f                   	pop    %edi
465542:	5e                   	pop    %esi
465543:	b0 01                	mov    $0x1,%al
465545:	5b                   	pop    %ebx
465546:	8b e5                	mov    %ebp,%esp
465548:	5d                   	pop    %ebp
465549:	c2 04 00             	ret    $0x4
46554c:	8b ff                	mov    %edi,%edi
46554e:	55                   	push   %ebp
46554f:	8b ec                	mov    %esp,%ebp
465551:	51                   	push   %ecx
465552:	51                   	push   %ecx
465553:	53                   	push   %ebx
465554:	56                   	push   %esi
465555:	8b f1                	mov    %ecx,%esi
465557:	57                   	push   %edi
465558:	80 7e 3c 00          	cmpb   $0x0,0x3c(%esi)
46555c:	75 56                	jne    0x4655b4
46555e:	8b 46 38             	mov    0x38(%esi),%eax
465561:	85 c0                	test   %eax,%eax
465563:	7e 4f                	jle    0x4655b4
465565:	8b 5e 34             	mov    0x34(%esi),%ebx
465568:	33 ff                	xor    %edi,%edi
46556a:	85 c0                	test   %eax,%eax
46556c:	74 5f                	je     0x4655cd
46556e:	33 c0                	xor    %eax,%eax
465570:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
465574:	8b 46 08             	mov    0x8(%esi),%eax
465577:	50                   	push   %eax
465578:	8b 00                	mov    (%eax),%eax
46557a:	ff 70 04             	push   0x4(%eax)
46557d:	8d 45 fc             	lea    -0x4(%ebp),%eax
465580:	53                   	push   %ebx
465581:	50                   	push   %eax
465582:	e8 e9 1e 01 00       	call   0x477470
465587:	83 c4 10             	add    $0x10,%esp
46558a:	89 45 f8             	mov    %eax,-0x8(%ebp)
46558d:	85 c0                	test   %eax,%eax
46558f:	7e 1d                	jle    0x4655ae
465591:	8d 4e 18             	lea    0x18(%esi),%ecx
465594:	51                   	push   %ecx
465595:	ff 75 fc             	push   -0x4(%ebp)
465598:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
46559e:	e8 ca f9 ff ff       	call   0x464f6d
4655a3:	03 5d f8             	add    -0x8(%ebp),%ebx
4655a6:	47                   	inc    %edi
4655a7:	3b 7e 38             	cmp    0x38(%esi),%edi
4655aa:	75 c2                	jne    0x46556e
4655ac:	eb 1f                	jmp    0x4655cd
4655ae:	83 4e 18 ff          	orl    $0xffffffff,0x18(%esi)
4655b2:	eb 19                	jmp    0x4655cd
4655b4:	8d 46 0c             	lea    0xc(%esi),%eax
4655b7:	50                   	push   %eax
4655b8:	8d 46 18             	lea    0x18(%esi),%eax
4655bb:	50                   	push   %eax
4655bc:	ff 76 38             	push   0x38(%esi)
4655bf:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
4655c5:	ff 76 34             	push   0x34(%esi)
4655c8:	e8 f9 02 00 00       	call   0x4658c6
4655cd:	5f                   	pop    %edi
4655ce:	5e                   	pop    %esi
4655cf:	b0 01                	mov    $0x1,%al
4655d1:	5b                   	pop    %ebx
4655d2:	8b e5                	mov    %ebp,%esp
4655d4:	5d                   	pop    %ebp
4655d5:	c2 04 00             	ret    $0x4
4655d8:	8b ff                	mov    %edi,%edi
4655da:	55                   	push   %ebp
4655db:	8b ec                	mov    %esp,%ebp
4655dd:	51                   	push   %ecx
4655de:	51                   	push   %ecx
4655df:	53                   	push   %ebx
4655e0:	56                   	push   %esi
4655e1:	8b f1                	mov    %ecx,%esi
4655e3:	57                   	push   %edi
4655e4:	80 7e 3c 00          	cmpb   $0x0,0x3c(%esi)
4655e8:	75 56                	jne    0x465640
4655ea:	8b 46 38             	mov    0x38(%esi),%eax
4655ed:	85 c0                	test   %eax,%eax
4655ef:	7e 4f                	jle    0x465640
4655f1:	8b 5e 34             	mov    0x34(%esi),%ebx
4655f4:	33 ff                	xor    %edi,%edi
4655f6:	85 c0                	test   %eax,%eax
4655f8:	74 5f                	je     0x465659
4655fa:	33 c0                	xor    %eax,%eax
4655fc:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
465600:	8b 46 08             	mov    0x8(%esi),%eax
465603:	50                   	push   %eax
465604:	8b 00                	mov    (%eax),%eax
465606:	ff 70 04             	push   0x4(%eax)
465609:	8d 45 fc             	lea    -0x4(%ebp),%eax
46560c:	53                   	push   %ebx
46560d:	50                   	push   %eax
46560e:	e8 5d 1e 01 00       	call   0x477470
465613:	83 c4 10             	add    $0x10,%esp
465616:	89 45 f8             	mov    %eax,-0x8(%ebp)
465619:	85 c0                	test   %eax,%eax
46561b:	7e 1d                	jle    0x46563a
46561d:	8d 4e 18             	lea    0x18(%esi),%ecx
465620:	51                   	push   %ecx
465621:	ff 75 fc             	push   -0x4(%ebp)
465624:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
46562a:	e8 3e f9 ff ff       	call   0x464f6d
46562f:	03 5d f8             	add    -0x8(%ebp),%ebx
465632:	47                   	inc    %edi
465633:	3b 7e 38             	cmp    0x38(%esi),%edi
465636:	75 c2                	jne    0x4655fa
465638:	eb 1f                	jmp    0x465659
46563a:	83 4e 18 ff          	orl    $0xffffffff,0x18(%esi)
46563e:	eb 19                	jmp    0x465659
465640:	8d 46 0c             	lea    0xc(%esi),%eax
465643:	50                   	push   %eax
465644:	8d 46 18             	lea    0x18(%esi),%eax
465647:	50                   	push   %eax
465648:	ff 76 38             	push   0x38(%esi)
46564b:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
465651:	ff 76 34             	push   0x34(%esi)
465654:	e8 6d 02 00 00       	call   0x4658c6
465659:	5f                   	pop    %edi
46565a:	5e                   	pop    %esi
46565b:	b0 01                	mov    $0x1,%al
46565d:	5b                   	pop    %ebx
46565e:	8b e5                	mov    %ebp,%esp
465660:	5d                   	pop    %ebp
465661:	c2 04 00             	ret    $0x4
465664:	8b ff                	mov    %edi,%edi
465666:	55                   	push   %ebp
465667:	8b ec                	mov    %esp,%ebp
465669:	51                   	push   %ecx
46566a:	51                   	push   %ecx
46566b:	53                   	push   %ebx
46566c:	56                   	push   %esi
46566d:	8b f1                	mov    %ecx,%esi
46566f:	57                   	push   %edi
465670:	80 7e 3c 00          	cmpb   $0x0,0x3c(%esi)
465674:	75 56                	jne    0x4656cc
465676:	8b 46 38             	mov    0x38(%esi),%eax
465679:	85 c0                	test   %eax,%eax
46567b:	7e 4f                	jle    0x4656cc
46567d:	8b 5e 34             	mov    0x34(%esi),%ebx
465680:	33 ff                	xor    %edi,%edi
465682:	85 c0                	test   %eax,%eax
465684:	74 5f                	je     0x4656e5
465686:	33 c0                	xor    %eax,%eax
465688:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
46568c:	8b 46 08             	mov    0x8(%esi),%eax
46568f:	50                   	push   %eax
465690:	8b 00                	mov    (%eax),%eax
465692:	ff 70 04             	push   0x4(%eax)
465695:	8d 45 fc             	lea    -0x4(%ebp),%eax
465698:	53                   	push   %ebx
465699:	50                   	push   %eax
46569a:	e8 d1 1d 01 00       	call   0x477470
46569f:	83 c4 10             	add    $0x10,%esp
4656a2:	89 45 f8             	mov    %eax,-0x8(%ebp)
4656a5:	85 c0                	test   %eax,%eax
4656a7:	7e 1d                	jle    0x4656c6
4656a9:	8d 4e 18             	lea    0x18(%esi),%ecx
4656ac:	51                   	push   %ecx
4656ad:	ff 75 fc             	push   -0x4(%ebp)
4656b0:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
4656b6:	e8 b2 f8 ff ff       	call   0x464f6d
4656bb:	03 5d f8             	add    -0x8(%ebp),%ebx
4656be:	47                   	inc    %edi
4656bf:	3b 7e 38             	cmp    0x38(%esi),%edi
4656c2:	75 c2                	jne    0x465686
4656c4:	eb 1f                	jmp    0x4656e5
4656c6:	83 4e 18 ff          	orl    $0xffffffff,0x18(%esi)
4656ca:	eb 19                	jmp    0x4656e5
4656cc:	8d 46 0c             	lea    0xc(%esi),%eax
4656cf:	50                   	push   %eax
4656d0:	8d 46 18             	lea    0x18(%esi),%eax
4656d3:	50                   	push   %eax
4656d4:	ff 76 38             	push   0x38(%esi)
4656d7:	8d 8e 48 04 00 00    	lea    0x448(%esi),%ecx
4656dd:	ff 76 34             	push   0x34(%esi)
4656e0:	e8 e1 01 00 00       	call   0x4658c6
4656e5:	5f                   	pop    %edi
4656e6:	5e                   	pop    %esi
4656e7:	b0 01                	mov    $0x1,%al
4656e9:	5b                   	pop    %ebx
4656ea:	8b e5                	mov    %ebp,%esp
4656ec:	5d                   	pop    %ebp
4656ed:	c2 04 00             	ret    $0x4
4656f0:	8b ff                	mov    %edi,%edi
4656f2:	55                   	push   %ebp
4656f3:	8b ec                	mov    %esp,%ebp
4656f5:	83 ec 10             	sub    $0x10,%esp
4656f8:	8b 01                	mov    (%ecx),%eax
4656fa:	57                   	push   %edi
4656fb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4656fe:	8b 40 0c             	mov    0xc(%eax),%eax
465701:	c1 e8 0c             	shr    $0xc,%eax
465704:	33 ff                	xor    %edi,%edi
465706:	a8 01                	test   $0x1,%al
465708:	74 14                	je     0x46571e
46570a:	8b 01                	mov    (%ecx),%eax
46570c:	39 78 04             	cmp    %edi,0x4(%eax)
46570f:	75 0d                	jne    0x46571e
465711:	8b 4d 10             	mov    0x10(%ebp),%ecx
465714:	8b 45 0c             	mov    0xc(%ebp),%eax
465717:	01 01                	add    %eax,(%ecx)
465719:	e9 81 00 00 00       	jmp    0x46579f
46571e:	53                   	push   %ebx
46571f:	56                   	push   %esi
465720:	8b 75 14             	mov    0x14(%ebp),%esi
465723:	39 3e                	cmp    %edi,(%esi)
465725:	75 07                	jne    0x46572e
465727:	e8 03 77 fe ff       	call   0x44ce2f
46572c:	89 06                	mov    %eax,(%esi)
46572e:	8b 1e                	mov    (%esi),%ebx
465730:	8b 45 0c             	mov    0xc(%ebp),%eax
465733:	89 5d f4             	mov    %ebx,-0xc(%ebp)
465736:	8b 0b                	mov    (%ebx),%ecx
465738:	89 3b                	mov    %edi,(%ebx)
46573a:	8b 7d 08             	mov    0x8(%ebp),%edi
46573d:	03 c7                	add    %edi,%eax
46573f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
465742:	89 45 f8             	mov    %eax,-0x8(%ebp)
465745:	3b f8                	cmp    %eax,%edi
465747:	74 49                	je     0x465792
465749:	8b 5d fc             	mov    -0x4(%ebp),%ebx
46574c:	8b 4d 10             	mov    0x10(%ebp),%ecx
46574f:	0f b6 07             	movzbl (%edi),%eax
465752:	51                   	push   %ecx
465753:	50                   	push   %eax
465754:	8b cb                	mov    %ebx,%ecx
465756:	e8 53 f7 ff ff       	call   0x464eae
46575b:	8b 4d 10             	mov    0x10(%ebp),%ecx
46575e:	83 39 ff             	cmpl   $0xffffffff,(%ecx)
465761:	75 23                	jne    0x465786
465763:	83 3e 00             	cmpl   $0x0,(%esi)
465766:	75 0a                	jne    0x465772
465768:	e8 c2 76 fe ff       	call   0x44ce2f
46576d:	8b 4d 10             	mov    0x10(%ebp),%ecx