4604b8:	8b f1                	mov    %ecx,%esi
4604ba:	57                   	push   %edi
4604bb:	83 4e 20 10          	orl    $0x10,0x20(%esi)
4604bf:	8b 46 28             	mov    0x28(%esi),%eax
4604c2:	85 c0                	test   %eax,%eax
4604c4:	79 1d                	jns    0x4604e3
4604c6:	8a 46 31             	mov    0x31(%esi),%al
4604c9:	3c 61                	cmp    $0x61,%al
4604cb:	74 0d                	je     0x4604da
4604cd:	3c 41                	cmp    $0x41,%al
4604cf:	74 09                	je     0x4604da
4604d1:	c7 46 28 06 00 00 00 	movl   $0x6,0x28(%esi)
4604d8:	eb 1d                	jmp    0x4604f7
4604da:	c7 46 28 0d 00 00 00 	movl   $0xd,0x28(%esi)
4604e1:	eb 14                	jmp    0x4604f7
4604e3:	75 12                	jne    0x4604f7
4604e5:	8a 46 31             	mov    0x31(%esi),%al
4604e8:	3c 67                	cmp    $0x67,%al
4604ea:	74 04                	je     0x4604f0
4604ec:	3c 47                	cmp    $0x47,%al
4604ee:	75 07                	jne    0x4604f7
4604f0:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
4604f7:	8b 46 28             	mov    0x28(%esi),%eax
4604fa:	8d 7e 40             	lea    0x40(%esi),%edi
4604fd:	53                   	push   %ebx
4604fe:	bb 5d 01 00 00       	mov    $0x15d,%ebx
460503:	8b cf                	mov    %edi,%ecx
460505:	03 c3                	add    %ebx,%eax
460507:	50                   	push   %eax
460508:	e8 d8 54 ff ff       	call   0x4559e5
46050d:	84 c0                	test   %al,%al
46050f:	75 0c                	jne    0x46051d
460511:	8b cf                	mov    %edi,%ecx
460513:	e8 82 54 ff ff       	call   0x45599a
460518:	2b c3                	sub    %ebx,%eax
46051a:	89 46 28             	mov    %eax,0x28(%esi)
46051d:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
460523:	85 c0                	test   %eax,%eax
460525:	75 02                	jne    0x460529
460527:	8b c7                	mov    %edi,%eax
460529:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
46052d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
460531:	89 46 34             	mov    %eax,0x34(%esi)
460534:	83 46 14 08          	addl   $0x8,0x14(%esi)
460538:	8b 4e 14             	mov    0x14(%esi),%ecx
46053b:	8b 41 f8             	mov    -0x8(%ecx),%eax
46053e:	89 45 f8             	mov    %eax,-0x8(%ebp)
460541:	8b 41 fc             	mov    -0x4(%ecx),%eax
460544:	8b cf                	mov    %edi,%ecx
460546:	89 45 fc             	mov    %eax,-0x4(%ebp)
460549:	e8 4c 54 ff ff       	call   0x45599a
46054e:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
460554:	8b c8                	mov    %eax,%ecx
460556:	85 db                	test   %ebx,%ebx
460558:	75 02                	jne    0x46055c
46055a:	8b df                	mov    %edi,%ebx
46055c:	ff 76 08             	push   0x8(%esi)
46055f:	0f be 46 31          	movsbl 0x31(%esi),%eax
460563:	ff 76 04             	push   0x4(%esi)
460566:	ff 36                	push   (%esi)
460568:	ff 76 28             	push   0x28(%esi)
46056b:	50                   	push   %eax
46056c:	51                   	push   %ecx
46056d:	8b cf                	mov    %edi,%ecx
46056f:	e8 fb 7c ff ff       	call   0x45826f
460574:	50                   	push   %eax
460575:	8b cf                	mov    %edi,%ecx
460577:	e8 1e 54 ff ff       	call   0x45599a
46057c:	50                   	push   %eax
46057d:	8d 45 f8             	lea    -0x8(%ebp),%eax
460580:	53                   	push   %ebx
460581:	50                   	push   %eax
460582:	e8 a5 7a 01 00       	call   0x47802c
460587:	8b 46 20             	mov    0x20(%esi),%eax
46058a:	83 c4 28             	add    $0x28,%esp
46058d:	c1 e8 05             	shr    $0x5,%eax
460590:	5b                   	pop    %ebx
460591:	a8 01                	test   $0x1,%al
460593:	74 13                	je     0x4605a8
460595:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
460599:	75 0d                	jne    0x4605a8
46059b:	ff 76 08             	push   0x8(%esi)
46059e:	ff 76 34             	push   0x34(%esi)
4605a1:	e8 f2 9c ff ff       	call   0x45a298
4605a6:	59                   	pop    %ecx
4605a7:	59                   	pop    %ecx
4605a8:	8a 46 31             	mov    0x31(%esi),%al
4605ab:	3c 67                	cmp    $0x67,%al
4605ad:	74 04                	je     0x4605b3
4605af:	3c 47                	cmp    $0x47,%al
4605b1:	75 17                	jne    0x4605ca
4605b3:	8b 46 20             	mov    0x20(%esi),%eax
4605b6:	c1 e8 05             	shr    $0x5,%eax
4605b9:	a8 01                	test   $0x1,%al
4605bb:	75 0d                	jne    0x4605ca
4605bd:	ff 76 08             	push   0x8(%esi)
4605c0:	ff 76 34             	push   0x34(%esi)
4605c3:	e8 fd 99 ff ff       	call   0x459fc5
4605c8:	59                   	pop    %ecx
4605c9:	59                   	pop    %ecx
4605ca:	8b 46 34             	mov    0x34(%esi),%eax
4605cd:	80 38 2d             	cmpb   $0x2d,(%eax)
4605d0:	75 08                	jne    0x4605da
4605d2:	83 4e 20 40          	orl    $0x40,0x20(%esi)
4605d6:	40                   	inc    %eax
4605d7:	89 46 34             	mov    %eax,0x34(%esi)
4605da:	8b 56 34             	mov    0x34(%esi),%edx
4605dd:	8a 02                	mov    (%edx),%al
4605df:	3c 69                	cmp    $0x69,%al
4605e1:	74 0c                	je     0x4605ef
4605e3:	3c 49                	cmp    $0x49,%al
4605e5:	74 08                	je     0x4605ef
4605e7:	3c 6e                	cmp    $0x6e,%al
4605e9:	74 04                	je     0x4605ef
4605eb:	3c 4e                	cmp    $0x4e,%al
4605ed:	75 04                	jne    0x4605f3
4605ef:	c6 46 31 73          	movb   $0x73,0x31(%esi)
4605f3:	8d 7a 01             	lea    0x1(%edx),%edi
4605f6:	8a 0a                	mov    (%edx),%cl
4605f8:	42                   	inc    %edx
4605f9:	84 c9                	test   %cl,%cl
4605fb:	75 f9                	jne    0x4605f6
4605fd:	2b d7                	sub    %edi,%edx
4605ff:	b0 01                	mov    $0x1,%al
460601:	5f                   	pop    %edi
460602:	89 56 38             	mov    %edx,0x38(%esi)
460605:	5e                   	pop    %esi
460606:	8b e5                	mov    %ebp,%esp
460608:	5d                   	pop    %ebp
460609:	c3                   	ret
46060a:	8b ff                	mov    %edi,%edi
46060c:	55                   	push   %ebp
46060d:	8b ec                	mov    %esp,%ebp
46060f:	51                   	push   %ecx
460610:	51                   	push   %ecx
460611:	56                   	push   %esi
460612:	8b f1                	mov    %ecx,%esi
460614:	57                   	push   %edi
460615:	83 4e 20 10          	orl    $0x10,0x20(%esi)
460619:	8b 46 28             	mov    0x28(%esi),%eax
46061c:	85 c0                	test   %eax,%eax
46061e:	79 1d                	jns    0x46063d
460620:	8a 46 31             	mov    0x31(%esi),%al
460623:	3c 61                	cmp    $0x61,%al
460625:	74 0d                	je     0x460634
460627:	3c 41                	cmp    $0x41,%al
460629:	74 09                	je     0x460634
46062b:	c7 46 28 06 00 00 00 	movl   $0x6,0x28(%esi)
460632:	eb 1d                	jmp    0x460651
460634:	c7 46 28 0d 00 00 00 	movl   $0xd,0x28(%esi)
46063b:	eb 14                	jmp    0x460651
46063d:	75 12                	jne    0x460651
46063f:	8a 46 31             	mov    0x31(%esi),%al
460642:	3c 67                	cmp    $0x67,%al
460644:	74 04                	je     0x46064a
460646:	3c 47                	cmp    $0x47,%al
460648:	75 07                	jne    0x460651
46064a:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
460651:	8b 46 28             	mov    0x28(%esi),%eax
460654:	8d 7e 40             	lea    0x40(%esi),%edi
460657:	53                   	push   %ebx
460658:	bb 5d 01 00 00       	mov    $0x15d,%ebx
46065d:	8b cf                	mov    %edi,%ecx
46065f:	03 c3                	add    %ebx,%eax
460661:	50                   	push   %eax
460662:	e8 7e 53 ff ff       	call   0x4559e5
460667:	84 c0                	test   %al,%al
460669:	75 0c                	jne    0x460677
46066b:	8b cf                	mov    %edi,%ecx
46066d:	e8 28 53 ff ff       	call   0x45599a
460672:	2b c3                	sub    %ebx,%eax
460674:	89 46 28             	mov    %eax,0x28(%esi)
460677:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
46067d:	85 c0                	test   %eax,%eax
46067f:	75 02                	jne    0x460683
460681:	8b c7                	mov    %edi,%eax
460683:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
460687:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46068b:	89 46 34             	mov    %eax,0x34(%esi)
46068e:	83 46 14 08          	addl   $0x8,0x14(%esi)
460692:	8b 4e 14             	mov    0x14(%esi),%ecx
460695:	8b 41 f8             	mov    -0x8(%ecx),%eax
460698:	89 45 f8             	mov    %eax,-0x8(%ebp)
46069b:	8b 41 fc             	mov    -0x4(%ecx),%eax
46069e:	8b cf                	mov    %edi,%ecx
4606a0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4606a3:	e8 f2 52 ff ff       	call   0x45599a
4606a8:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
4606ae:	8b c8                	mov    %eax,%ecx
4606b0:	85 db                	test   %ebx,%ebx
4606b2:	75 02                	jne    0x4606b6
4606b4:	8b df                	mov    %edi,%ebx
4606b6:	ff 76 08             	push   0x8(%esi)
4606b9:	0f be 46 31          	movsbl 0x31(%esi),%eax
4606bd:	ff 76 04             	push   0x4(%esi)
4606c0:	ff 36                	push   (%esi)
4606c2:	ff 76 28             	push   0x28(%esi)
4606c5:	50                   	push   %eax
4606c6:	51                   	push   %ecx
4606c7:	8b cf                	mov    %edi,%ecx
4606c9:	e8 a1 7b ff ff       	call   0x45826f
4606ce:	50                   	push   %eax
4606cf:	8b cf                	mov    %edi,%ecx
4606d1:	e8 c4 52 ff ff       	call   0x45599a
4606d6:	50                   	push   %eax
4606d7:	8d 45 f8             	lea    -0x8(%ebp),%eax
4606da:	53                   	push   %ebx
4606db:	50                   	push   %eax
4606dc:	e8 4b 79 01 00       	call   0x47802c
4606e1:	8b 46 20             	mov    0x20(%esi),%eax
4606e4:	83 c4 28             	add    $0x28,%esp
4606e7:	c1 e8 05             	shr    $0x5,%eax
4606ea:	5b                   	pop    %ebx
4606eb:	a8 01                	test   $0x1,%al
4606ed:	74 13                	je     0x460702
4606ef:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
4606f3:	75 0d                	jne    0x460702
4606f5:	ff 76 08             	push   0x8(%esi)
4606f8:	ff 76 34             	push   0x34(%esi)
4606fb:	e8 98 9b ff ff       	call   0x45a298
460700:	59                   	pop    %ecx
460701:	59                   	pop    %ecx
460702:	8a 46 31             	mov    0x31(%esi),%al
460705:	3c 67                	cmp    $0x67,%al
460707:	74 04                	je     0x46070d
460709:	3c 47                	cmp    $0x47,%al
46070b:	75 17                	jne    0x460724
46070d:	8b 46 20             	mov    0x20(%esi),%eax
460710:	c1 e8 05             	shr    $0x5,%eax
460713:	a8 01                	test   $0x1,%al
460715:	75 0d                	jne    0x460724
460717:	ff 76 08             	push   0x8(%esi)
46071a:	ff 76 34             	push   0x34(%esi)
46071d:	e8 a3 98 ff ff       	call   0x459fc5
460722:	59                   	pop    %ecx
460723:	59                   	pop    %ecx
460724:	8b 46 34             	mov    0x34(%esi),%eax
460727:	80 38 2d             	cmpb   $0x2d,(%eax)
46072a:	75 08                	jne    0x460734
46072c:	83 4e 20 40          	orl    $0x40,0x20(%esi)
460730:	40                   	inc    %eax
460731:	89 46 34             	mov    %eax,0x34(%esi)
460734:	8b 56 34             	mov    0x34(%esi),%edx
460737:	8a 02                	mov    (%edx),%al
460739:	3c 69                	cmp    $0x69,%al
46073b:	74 0c                	je     0x460749
46073d:	3c 49                	cmp    $0x49,%al
46073f:	74 08                	je     0x460749
460741:	3c 6e                	cmp    $0x6e,%al
460743:	74 04                	je     0x460749
460745:	3c 4e                	cmp    $0x4e,%al
460747:	75 04                	jne    0x46074d
460749:	c6 46 31 73          	movb   $0x73,0x31(%esi)
46074d:	8d 7a 01             	lea    0x1(%edx),%edi
460750:	8a 0a                	mov    (%edx),%cl
460752:	42                   	inc    %edx
460753:	84 c9                	test   %cl,%cl
460755:	75 f9                	jne    0x460750
460757:	2b d7                	sub    %edi,%edx
460759:	b0 01                	mov    $0x1,%al
46075b:	5f                   	pop    %edi
46075c:	89 56 38             	mov    %edx,0x38(%esi)
46075f:	5e                   	pop    %esi
460760:	8b e5                	mov    %ebp,%esp
460762:	5d                   	pop    %ebp
460763:	c3                   	ret
460764:	8b ff                	mov    %edi,%edi
460766:	55                   	push   %ebp
460767:	8b ec                	mov    %esp,%ebp
460769:	51                   	push   %ecx
46076a:	51                   	push   %ecx
46076b:	56                   	push   %esi
46076c:	8b f1                	mov    %ecx,%esi
46076e:	83 4e 20 10          	orl    $0x10,0x20(%esi)
460772:	e8 65 45 00 00       	call   0x464cdc
460777:	84 c0                	test   %al,%al
460779:	0f 84 59 01 00 00    	je     0x4608d8
46077f:	8b ce                	mov    %esi,%ecx
460781:	e8 11 b7 ff ff       	call   0x45be97
460786:	84 c0                	test   %al,%al
460788:	75 07                	jne    0x460791
46078a:	fe c0                	inc    %al
46078c:	e9 47 01 00 00       	jmp    0x4608d8
460791:	8b 46 28             	mov    0x28(%esi),%eax
460794:	85 c0                	test   %eax,%eax
460796:	79 1d                	jns    0x4607b5
460798:	8a 46 31             	mov    0x31(%esi),%al
46079b:	3c 61                	cmp    $0x61,%al
46079d:	74 0d                	je     0x4607ac
46079f:	3c 41                	cmp    $0x41,%al
4607a1:	74 09                	je     0x4607ac
4607a3:	c7 46 28 06 00 00 00 	movl   $0x6,0x28(%esi)
4607aa:	eb 1d                	jmp    0x4607c9
4607ac:	c7 46 28 0d 00 00 00 	movl   $0xd,0x28(%esi)
4607b3:	eb 14                	jmp    0x4607c9
4607b5:	75 12                	jne    0x4607c9
4607b7:	8a 46 31             	mov    0x31(%esi),%al
4607ba:	3c 67                	cmp    $0x67,%al
4607bc:	74 04                	je     0x4607c2
4607be:	3c 47                	cmp    $0x47,%al
4607c0:	75 07                	jne    0x4607c9
4607c2:	c7 46 28 01 00 00 00 	movl   $0x1,0x28(%esi)
4607c9:	8b 46 28             	mov    0x28(%esi),%eax
4607cc:	53                   	push   %ebx
4607cd:	57                   	push   %edi
4607ce:	bb 5d 01 00 00       	mov    $0x15d,%ebx
4607d3:	8d 7e 40             	lea    0x40(%esi),%edi
4607d6:	03 c3                	add    %ebx,%eax
4607d8:	8b cf                	mov    %edi,%ecx
4607da:	50                   	push   %eax
4607db:	e8 05 52 ff ff       	call   0x4559e5
4607e0:	84 c0                	test   %al,%al
4607e2:	75 0c                	jne    0x4607f0
4607e4:	8b cf                	mov    %edi,%ecx
4607e6:	e8 af 51 ff ff       	call   0x45599a
4607eb:	2b c3                	sub    %ebx,%eax
4607ed:	89 46 28             	mov    %eax,0x28(%esi)
4607f0:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
4607f6:	85 c0                	test   %eax,%eax
4607f8:	75 02                	jne    0x4607fc
4607fa:	8b c7                	mov    %edi,%eax
4607fc:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
460800:	8b ce                	mov    %esi,%ecx
460802:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
460806:	89 46 34             	mov    %eax,0x34(%esi)
460809:	8d 45 f8             	lea    -0x8(%ebp),%eax
46080c:	50                   	push   %eax
46080d:	e8 e3 6a ff ff       	call   0x4572f5
460812:	84 c0                	test   %al,%al
460814:	0f 84 bc 00 00 00    	je     0x4608d6
46081a:	8b cf                	mov    %edi,%ecx
46081c:	e8 79 51 ff ff       	call   0x45599a
460821:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
460827:	8b c8                	mov    %eax,%ecx
460829:	85 db                	test   %ebx,%ebx
46082b:	75 02                	jne    0x46082f
46082d:	8b df                	mov    %edi,%ebx
46082f:	ff 76 08             	push   0x8(%esi)
460832:	0f be 46 31          	movsbl 0x31(%esi),%eax
460836:	ff 76 04             	push   0x4(%esi)
460839:	ff 36                	push   (%esi)
46083b:	ff 76 28             	push   0x28(%esi)
46083e:	50                   	push   %eax
46083f:	51                   	push   %ecx
460840:	8b cf                	mov    %edi,%ecx
460842:	e8 28 7a ff ff       	call   0x45826f
460847:	50                   	push   %eax
460848:	8b cf                	mov    %edi,%ecx
46084a:	e8 4b 51 ff ff       	call   0x45599a
46084f:	50                   	push   %eax