46147d:	83 c4 10             	add    $0x10,%esp
461480:	5b                   	pop    %ebx
461481:	85 c0                	test   %eax,%eax
461483:	74 33                	je     0x4614b8
461485:	c6 46 30 01          	movb   $0x1,0x30(%esi)
461489:	eb 2d                	jmp    0x4614b8
46148b:	8d 7e 40             	lea    0x40(%esi),%edi
46148e:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
461494:	85 c0                	test   %eax,%eax
461496:	75 02                	jne    0x46149a
461498:	8b c7                	mov    %edi,%eax
46149a:	50                   	push   %eax
46149b:	8b ce                	mov    %esi,%ecx
46149d:	e8 31 4d ff ff       	call   0x4561d3
4614a2:	84 c0                	test   %al,%al
4614a4:	74 a3                	je     0x461449
4614a6:	8b ce                	mov    %esi,%ecx
4614a8:	e8 d4 a9 ff ff       	call   0x45be81
4614ad:	84 c0                	test   %al,%al
4614af:	74 16                	je     0x4614c7
4614b1:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
4614b8:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4614be:	85 c0                	test   %eax,%eax
4614c0:	74 02                	je     0x4614c4
4614c2:	8b f8                	mov    %eax,%edi
4614c4:	89 7e 34             	mov    %edi,0x34(%esi)
4614c7:	b0 01                	mov    $0x1,%al
4614c9:	5f                   	pop    %edi
4614ca:	5e                   	pop    %esi
4614cb:	8b e5                	mov    %ebp,%esp
4614cd:	5d                   	pop    %ebp
4614ce:	c2 04 00             	ret    $0x4
4614d1:	8b ff                	mov    %edi,%edi
4614d3:	56                   	push   %esi
4614d4:	8b f1                	mov    %ecx,%esi
4614d6:	57                   	push   %edi
4614d7:	ff 76 2c             	push   0x2c(%esi)
4614da:	0f b6 46 31          	movzbl 0x31(%esi),%eax
4614de:	50                   	push   %eax
4614df:	ff 76 04             	push   0x4(%esi)
4614e2:	ff 36                	push   (%esi)
4614e4:	e8 36 6a ff ff       	call   0x457f1f
4614e9:	83 c4 10             	add    $0x10,%esp
4614ec:	8d 7e 40             	lea    0x40(%esi),%edi
4614ef:	84 c0                	test   %al,%al
4614f1:	74 39                	je     0x46152c
4614f3:	83 46 14 04          	addl   $0x4,0x14(%esi)
4614f7:	8b 46 14             	mov    0x14(%esi),%eax
4614fa:	53                   	push   %ebx
4614fb:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
461501:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
461505:	85 db                	test   %ebx,%ebx
461507:	75 02                	jne    0x46150b
461509:	8b df                	mov    %edi,%ebx
46150b:	50                   	push   %eax
46150c:	8b cf                	mov    %edi,%ecx
46150e:	e8 87 44 ff ff       	call   0x45599a
461513:	50                   	push   %eax
461514:	8d 46 38             	lea    0x38(%esi),%eax
461517:	53                   	push   %ebx
461518:	50                   	push   %eax
461519:	e8 0e 62 01 00       	call   0x47772c
46151e:	83 c4 10             	add    $0x10,%esp
461521:	5b                   	pop    %ebx
461522:	85 c0                	test   %eax,%eax
461524:	74 25                	je     0x46154b
461526:	c6 46 30 01          	movb   $0x1,0x30(%esi)
46152a:	eb 1f                	jmp    0x46154b
46152c:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
461532:	85 c9                	test   %ecx,%ecx
461534:	75 02                	jne    0x461538
461536:	8b cf                	mov    %edi,%ecx
461538:	83 46 14 04          	addl   $0x4,0x14(%esi)
46153c:	8b 46 14             	mov    0x14(%esi),%eax
46153f:	8a 40 fc             	mov    -0x4(%eax),%al
461542:	88 01                	mov    %al,(%ecx)
461544:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
46154b:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
461551:	85 c0                	test   %eax,%eax
461553:	74 02                	je     0x461557
461555:	8b f8                	mov    %eax,%edi
461557:	89 7e 34             	mov    %edi,0x34(%esi)
46155a:	b0 01                	mov    $0x1,%al
46155c:	5f                   	pop    %edi
46155d:	5e                   	pop    %esi
46155e:	c2 04 00             	ret    $0x4
461561:	8b ff                	mov    %edi,%edi
461563:	56                   	push   %esi
461564:	8b f1                	mov    %ecx,%esi
461566:	57                   	push   %edi
461567:	ff 76 2c             	push   0x2c(%esi)
46156a:	0f b6 46 31          	movzbl 0x31(%esi),%eax
46156e:	50                   	push   %eax
46156f:	ff 76 04             	push   0x4(%esi)
461572:	ff 36                	push   (%esi)
461574:	e8 a6 69 ff ff       	call   0x457f1f
461579:	83 c4 10             	add    $0x10,%esp
46157c:	8d 7e 40             	lea    0x40(%esi),%edi
46157f:	84 c0                	test   %al,%al
461581:	74 39                	je     0x4615bc
461583:	83 46 14 04          	addl   $0x4,0x14(%esi)
461587:	8b 46 14             	mov    0x14(%esi),%eax
46158a:	53                   	push   %ebx
46158b:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
461591:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
461595:	85 db                	test   %ebx,%ebx
461597:	75 02                	jne    0x46159b
461599:	8b df                	mov    %edi,%ebx
46159b:	50                   	push   %eax
46159c:	8b cf                	mov    %edi,%ecx
46159e:	e8 f7 43 ff ff       	call   0x45599a
4615a3:	50                   	push   %eax
4615a4:	8d 46 38             	lea    0x38(%esi),%eax
4615a7:	53                   	push   %ebx
4615a8:	50                   	push   %eax
4615a9:	e8 7e 61 01 00       	call   0x47772c
4615ae:	83 c4 10             	add    $0x10,%esp
4615b1:	5b                   	pop    %ebx
4615b2:	85 c0                	test   %eax,%eax
4615b4:	74 25                	je     0x4615db
4615b6:	c6 46 30 01          	movb   $0x1,0x30(%esi)
4615ba:	eb 1f                	jmp    0x4615db
4615bc:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
4615c2:	85 c9                	test   %ecx,%ecx
4615c4:	75 02                	jne    0x4615c8
4615c6:	8b cf                	mov    %edi,%ecx
4615c8:	83 46 14 04          	addl   $0x4,0x14(%esi)
4615cc:	8b 46 14             	mov    0x14(%esi),%eax
4615cf:	8a 40 fc             	mov    -0x4(%eax),%al
4615d2:	88 01                	mov    %al,(%ecx)
4615d4:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
4615db:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4615e1:	85 c0                	test   %eax,%eax
4615e3:	74 02                	je     0x4615e7
4615e5:	8b f8                	mov    %eax,%edi
4615e7:	89 7e 34             	mov    %edi,0x34(%esi)
4615ea:	b0 01                	mov    $0x1,%al
4615ec:	5f                   	pop    %edi
4615ed:	5e                   	pop    %esi
4615ee:	c2 04 00             	ret    $0x4
4615f1:	8b ff                	mov    %edi,%edi
4615f3:	55                   	push   %ebp
4615f4:	8b ec                	mov    %esp,%ebp
4615f6:	51                   	push   %ecx
4615f7:	56                   	push   %esi
4615f8:	8b f1                	mov    %ecx,%esi
4615fa:	57                   	push   %edi
4615fb:	ff 76 2c             	push   0x2c(%esi)
4615fe:	0f b6 46 31          	movzbl 0x31(%esi),%eax
461602:	50                   	push   %eax
461603:	ff 76 04             	push   0x4(%esi)
461606:	ff 36                	push   (%esi)
461608:	e8 12 69 ff ff       	call   0x457f1f
46160d:	83 c4 10             	add    $0x10,%esp
461610:	84 c0                	test   %al,%al
461612:	74 57                	je     0x46166b
461614:	33 c0                	xor    %eax,%eax
461616:	8b ce                	mov    %esi,%ecx
461618:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
46161c:	8d 45 fc             	lea    -0x4(%ebp),%eax
46161f:	50                   	push   %eax
461620:	e8 ec 64 ff ff       	call   0x457b11
461625:	84 c0                	test   %al,%al
461627:	75 04                	jne    0x46162d
461629:	32 c0                	xor    %al,%al
46162b:	eb 7c                	jmp    0x4616a9
46162d:	8b ce                	mov    %esi,%ecx
46162f:	e8 63 a8 ff ff       	call   0x45be97
461634:	84 c0                	test   %al,%al
461636:	74 6f                	je     0x4616a7
461638:	8d 7e 40             	lea    0x40(%esi),%edi
46163b:	53                   	push   %ebx
46163c:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
461642:	85 db                	test   %ebx,%ebx
461644:	75 02                	jne    0x461648
461646:	8b df                	mov    %edi,%ebx
461648:	ff 75 fc             	push   -0x4(%ebp)
46164b:	8b cf                	mov    %edi,%ecx
46164d:	e8 48 43 ff ff       	call   0x45599a
461652:	50                   	push   %eax
461653:	8d 46 38             	lea    0x38(%esi),%eax
461656:	53                   	push   %ebx
461657:	50                   	push   %eax
461658:	e8 cf 60 01 00       	call   0x47772c
46165d:	83 c4 10             	add    $0x10,%esp
461660:	5b                   	pop    %ebx
461661:	85 c0                	test   %eax,%eax
461663:	74 33                	je     0x461698
461665:	c6 46 30 01          	movb   $0x1,0x30(%esi)
461669:	eb 2d                	jmp    0x461698
46166b:	8d 7e 40             	lea    0x40(%esi),%edi
46166e:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
461674:	85 c0                	test   %eax,%eax
461676:	75 02                	jne    0x46167a
461678:	8b c7                	mov    %edi,%eax
46167a:	50                   	push   %eax
46167b:	8b ce                	mov    %esi,%ecx
46167d:	e8 cf 4b ff ff       	call   0x456251
461682:	84 c0                	test   %al,%al
461684:	74 a3                	je     0x461629
461686:	8b ce                	mov    %esi,%ecx
461688:	e8 0a a8 ff ff       	call   0x45be97
46168d:	84 c0                	test   %al,%al
46168f:	74 16                	je     0x4616a7
461691:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
461698:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
46169e:	85 c0                	test   %eax,%eax
4616a0:	74 02                	je     0x4616a4
4616a2:	8b f8                	mov    %eax,%edi
4616a4:	89 7e 34             	mov    %edi,0x34(%esi)
4616a7:	b0 01                	mov    $0x1,%al
4616a9:	5f                   	pop    %edi
4616aa:	5e                   	pop    %esi
4616ab:	8b e5                	mov    %ebp,%esp
4616ad:	5d                   	pop    %ebp
4616ae:	c2 04 00             	ret    $0x4
4616b1:	8b ff                	mov    %edi,%edi
4616b3:	56                   	push   %esi
4616b4:	8b f1                	mov    %ecx,%esi
4616b6:	57                   	push   %edi
4616b7:	ff 76 2c             	push   0x2c(%esi)
4616ba:	0f b6 46 31          	movzbl 0x31(%esi),%eax
4616be:	50                   	push   %eax
4616bf:	ff 76 04             	push   0x4(%esi)
4616c2:	ff 36                	push   (%esi)
4616c4:	e8 56 68 ff ff       	call   0x457f1f
4616c9:	83 c4 10             	add    $0x10,%esp
4616cc:	8d 7e 40             	lea    0x40(%esi),%edi
4616cf:	84 c0                	test   %al,%al
4616d1:	74 39                	je     0x46170c
4616d3:	83 46 14 04          	addl   $0x4,0x14(%esi)
4616d7:	8b 46 14             	mov    0x14(%esi),%eax
4616da:	53                   	push   %ebx
4616db:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
4616e1:	0f b7 40 fc          	movzwl -0x4(%eax),%eax
4616e5:	85 db                	test   %ebx,%ebx
4616e7:	75 02                	jne    0x4616eb
4616e9:	8b df                	mov    %edi,%ebx
4616eb:	50                   	push   %eax
4616ec:	8b cf                	mov    %edi,%ecx
4616ee:	e8 a7 42 ff ff       	call   0x45599a
4616f3:	50                   	push   %eax
4616f4:	8d 46 38             	lea    0x38(%esi),%eax
4616f7:	53                   	push   %ebx
4616f8:	50                   	push   %eax
4616f9:	e8 2e 60 01 00       	call   0x47772c
4616fe:	83 c4 10             	add    $0x10,%esp
461701:	5b                   	pop    %ebx
461702:	85 c0                	test   %eax,%eax
461704:	74 25                	je     0x46172b
461706:	c6 46 30 01          	movb   $0x1,0x30(%esi)
46170a:	eb 1f                	jmp    0x46172b
46170c:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
461712:	85 c9                	test   %ecx,%ecx
461714:	75 02                	jne    0x461718
461716:	8b cf                	mov    %edi,%ecx
461718:	83 46 14 04          	addl   $0x4,0x14(%esi)
46171c:	8b 46 14             	mov    0x14(%esi),%eax
46171f:	8a 40 fc             	mov    -0x4(%eax),%al
461722:	88 01                	mov    %al,(%ecx)
461724:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
46172b:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
461731:	85 c0                	test   %eax,%eax
461733:	74 02                	je     0x461737
461735:	8b f8                	mov    %eax,%edi
461737:	89 7e 34             	mov    %edi,0x34(%esi)
46173a:	b0 01                	mov    $0x1,%al
46173c:	5f                   	pop    %edi
46173d:	5e                   	pop    %esi
46173e:	c2 04 00             	ret    $0x4
461741:	8b ff                	mov    %edi,%edi
461743:	55                   	push   %ebp
461744:	8b ec                	mov    %esp,%ebp
461746:	51                   	push   %ecx
461747:	53                   	push   %ebx
461748:	56                   	push   %esi
461749:	8b f1                	mov    %ecx,%esi
46174b:	57                   	push   %edi
46174c:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
461750:	83 46 14 04          	addl   $0x4,0x14(%esi)
461754:	8b 46 14             	mov    0x14(%esi),%eax
461757:	ff 76 2c             	push   0x2c(%esi)
46175a:	0f b7 58 fc          	movzwl -0x4(%eax),%ebx
46175e:	0f b7 46 32          	movzwl 0x32(%esi),%eax
461762:	50                   	push   %eax
461763:	ff 76 04             	push   0x4(%esi)
461766:	ff 36                	push   (%esi)
461768:	e8 f2 67 ff ff       	call   0x457f5f
46176d:	83 c4 10             	add    $0x10,%esp
461770:	8d 7e 40             	lea    0x40(%esi),%edi
461773:	84 c0                	test   %al,%al
461775:	75 32                	jne    0x4617a9
461777:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
46177d:	88 5d fc             	mov    %bl,-0x4(%ebp)
461780:	88 45 fd             	mov    %al,-0x3(%ebp)
461783:	85 c9                	test   %ecx,%ecx
461785:	75 02                	jne    0x461789
461787:	8b cf                	mov    %edi,%ecx
461789:	8b 46 08             	mov    0x8(%esi),%eax
46178c:	50                   	push   %eax
46178d:	8b 00                	mov    (%eax),%eax
46178f:	ff 70 04             	push   0x4(%eax)
461792:	8d 45 fc             	lea    -0x4(%ebp),%eax
461795:	50                   	push   %eax
461796:	51                   	push   %ecx
461797:	e8 d4 5c 01 00       	call   0x477470
46179c:	83 c4 10             	add    $0x10,%esp
46179f:	85 c0                	test   %eax,%eax
4617a1:	79 15                	jns    0x4617b8
4617a3:	c6 46 30 01          	movb   $0x1,0x30(%esi)
4617a7:	eb 0f                	jmp    0x4617b8
4617a9:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4617af:	85 c0                	test   %eax,%eax
4617b1:	75 02                	jne    0x4617b5
4617b3:	8b c7                	mov    %edi,%eax
4617b5:	66 89 18             	mov    %bx,(%eax)
4617b8:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4617be:	85 c0                	test   %eax,%eax
4617c0:	74 02                	je     0x4617c4
4617c2:	8b f8                	mov    %eax,%edi
4617c4:	89 7e 34             	mov    %edi,0x34(%esi)
4617c7:	b0 01                	mov    $0x1,%al
4617c9:	5f                   	pop    %edi
4617ca:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
4617d1:	5e                   	pop    %esi
4617d2:	5b                   	pop    %ebx
4617d3:	8b e5                	mov    %ebp,%esp
4617d5:	5d                   	pop    %ebp
4617d6:	c2 04 00             	ret    $0x4
4617d9:	8b ff                	mov    %edi,%edi
4617db:	55                   	push   %ebp
4617dc:	8b ec                	mov    %esp,%ebp
4617de:	51                   	push   %ecx
4617df:	56                   	push   %esi
4617e0:	33 c0                	xor    %eax,%eax
4617e2:	8b f1                	mov    %ecx,%esi
4617e4:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
4617e8:	8d 45 fc             	lea    -0x4(%ebp),%eax
4617eb:	50                   	push   %eax
4617ec:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
4617f0:	e8 9e 63 ff ff       	call   0x457b93
4617f5:	84 c0                	test   %al,%al
4617f7:	0f 84 84 00 00 00    	je     0x461881
4617fd:	8b ce                	mov    %esi,%ecx
4617ff:	e8 a9 a6 ff ff       	call   0x45bead
461804:	84 c0                	test   %al,%al
461806:	74 77                	je     0x46187f
461808:	0f b7 46 32          	movzwl 0x32(%esi),%eax
46180c:	57                   	push   %edi
46180d:	ff 76 2c             	push   0x2c(%esi)