4634d6:	8a 45 ff             	mov    -0x1(%ebp),%al
4634d9:	84 c0                	test   %al,%al
4634db:	75 ec                	jne    0x4634c9
4634dd:	eb ee                	jmp    0x4634cd
4634df:	55                   	push   %ebp
4634e0:	8b ec                	mov    %esp,%ebp
4634e2:	51                   	push   %ecx
4634e3:	53                   	push   %ebx
4634e4:	56                   	push   %esi
4634e5:	8b f1                	mov    %ecx,%esi
4634e7:	8b 4d 08             	mov    0x8(%ebp),%ecx
4634ea:	57                   	push   %edi
4634eb:	e8 fc 49 fa ff       	call   0x407eec
4634f0:	6a 0a                	push   $0xa
4634f2:	32 db                	xor    %bl,%bl
4634f4:	5f                   	pop    %edi
4634f5:	8d 45 fc             	lea    -0x4(%ebp),%eax
4634f8:	8b ce                	mov    %esi,%ecx
4634fa:	50                   	push   %eax
4634fb:	e8 36 ff ff ff       	call   0x463436
463500:	84 c0                	test   %al,%al
463502:	74 49                	je     0x46354d
463504:	66 83 7d fc 0d       	cmpw   $0xd,-0x4(%ebp)
463509:	b3 01                	mov    $0x1,%bl
46350b:	74 13                	je     0x463520
46350d:	66 39 7d fc          	cmp    %di,-0x4(%ebp)
463511:	74 2f                	je     0x463542
463513:	ff 75 fc             	push   -0x4(%ebp)
463516:	8b 4d 08             	mov    0x8(%ebp),%ecx
463519:	e8 66 45 fa ff       	call   0x407a84
46351e:	eb d5                	jmp    0x4634f5
463520:	8d 45 fc             	lea    -0x4(%ebp),%eax
463523:	8b ce                	mov    %esi,%ecx
463525:	50                   	push   %eax
463526:	e8 0b ff ff ff       	call   0x463436
46352b:	84 c0                	test   %al,%al
46352d:	74 13                	je     0x463542
46352f:	66 39 7d fc          	cmp    %di,-0x4(%ebp)
463533:	74 0d                	je     0x463542
463535:	6a 01                	push   $0x1
463537:	6a ff                	push   $0xffffffff
463539:	6a fe                	push   $0xfffffffe
46353b:	8b ce                	mov    %esi,%ecx
46353d:	e8 0c 27 fa ff       	call   0x405c4e
463542:	b0 01                	mov    $0x1,%al
463544:	5f                   	pop    %edi
463545:	5e                   	pop    %esi
463546:	5b                   	pop    %ebx
463547:	8b e5                	mov    %ebp,%esp
463549:	5d                   	pop    %ebp
46354a:	c2 04 00             	ret    $0x4
46354d:	84 db                	test   %bl,%bl
46354f:	75 f1                	jne    0x463542
463551:	32 c0                	xor    %al,%al
463553:	eb ef                	jmp    0x463544
463555:	53                   	push   %ebx
463556:	8b d9                	mov    %ecx,%ebx
463558:	8b 4b 0c             	mov    0xc(%ebx),%ecx
46355b:	8b 01                	mov    (%ecx),%eax
46355d:	83 f8 01             	cmp    $0x1,%eax
463560:	7e 31                	jle    0x463593
463562:	48                   	dec    %eax
463563:	56                   	push   %esi
463564:	89 01                	mov    %eax,(%ecx)
463566:	8b cb                	mov    %ebx,%ecx
463568:	57                   	push   %edi
463569:	e8 d5 2e ff ff       	call   0x456443
46356e:	8b 7b 04             	mov    0x4(%ebx),%edi
463571:	47                   	inc    %edi
463572:	57                   	push   %edi
463573:	e8 d3 24 fa ff       	call   0x405a4b
463578:	50                   	push   %eax
463579:	89 43 08             	mov    %eax,0x8(%ebx)
46357c:	e8 75 da fb ff       	call   0x420ff6
463581:	57                   	push   %edi
463582:	ff 33                	push   (%ebx)
463584:	8b f0                	mov    %eax,%esi
463586:	56                   	push   %esi
463587:	e8 f4 da fb ff       	call   0x421080
46358c:	83 c4 10             	add    $0x10,%esp
46358f:	89 33                	mov    %esi,(%ebx)
463591:	5f                   	pop    %edi
463592:	5e                   	pop    %esi
463593:	5b                   	pop    %ebx
463594:	c3                   	ret
463595:	33 c0                	xor    %eax,%eax
463597:	39 41 08             	cmp    %eax,0x8(%ecx)
46359a:	74 0b                	je     0x4635a7
46359c:	89 41 08             	mov    %eax,0x8(%ecx)
46359f:	89 41 0c             	mov    %eax,0xc(%ecx)
4635a2:	e9 49 00 00 00       	jmp    0x4635f0
4635a7:	c3                   	ret
4635a8:	55                   	push   %ebp
4635a9:	8b ec                	mov    %esp,%ebp
4635ab:	83 ec 10             	sub    $0x10,%esp
4635ae:	53                   	push   %ebx
4635af:	56                   	push   %esi
4635b0:	8b f1                	mov    %ecx,%esi
4635b2:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4635b5:	e8 5e 26 fa ff       	call   0x405c18
4635ba:	ff 75 0c             	push   0xc(%ebp)
4635bd:	8d 45 f0             	lea    -0x10(%ebp),%eax
4635c0:	8b ce                	mov    %esi,%ecx
4635c2:	50                   	push   %eax
4635c3:	e8 6a 20 fa ff       	call   0x405632
4635c8:	84 c0                	test   %al,%al
4635ca:	74 10                	je     0x4635dc
4635cc:	ff 75 08             	push   0x8(%ebp)
4635cf:	8d 45 f0             	lea    -0x10(%ebp),%eax
4635d2:	50                   	push   %eax
4635d3:	e8 62 43 fa ff       	call   0x40793a
4635d8:	b3 01                	mov    $0x1,%bl
4635da:	eb 02                	jmp    0x4635de
4635dc:	32 db                	xor    %bl,%bl
4635de:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4635e1:	e8 7e 24 fa ff       	call   0x405a64
4635e6:	5e                   	pop    %esi
4635e7:	8a c3                	mov    %bl,%al
4635e9:	5b                   	pop    %ebx
4635ea:	8b e5                	mov    %ebp,%esp
4635ec:	5d                   	pop    %ebp
4635ed:	c2 08 00             	ret    $0x8
4635f0:	56                   	push   %esi
4635f1:	57                   	push   %edi
4635f2:	8b f9                	mov    %ecx,%edi
4635f4:	83 67 08 00          	andl   $0x0,0x8(%edi)
4635f8:	83 67 0c 00          	andl   $0x0,0xc(%edi)
4635fc:	e8 ad 27 fa ff       	call   0x405dae
463601:	8b 77 10             	mov    0x10(%edi),%esi
463604:	2b f0                	sub    %eax,%esi
463606:	8b 47 14             	mov    0x14(%edi),%eax
463609:	6a 01                	push   $0x1
46360b:	6a 00                	push   $0x0
46360d:	1b c2                	sbb    %edx,%eax
46360f:	50                   	push   %eax
463610:	56                   	push   %esi
463611:	ff 37                	push   (%edi)
463613:	ff 15 d8 f1 48 00    	call   *0x48f1d8
463619:	8b cf                	mov    %edi,%ecx
46361b:	e8 8e 27 fa ff       	call   0x405dae
463620:	89 47 10             	mov    %eax,0x10(%edi)
463623:	89 57 14             	mov    %edx,0x14(%edi)
463626:	5f                   	pop    %edi
463627:	5e                   	pop    %esi
463628:	c3                   	ret
463629:	55                   	push   %ebp
46362a:	8b ec                	mov    %esp,%ebp
46362c:	53                   	push   %ebx
46362d:	8b 5d 08             	mov    0x8(%ebp),%ebx
463630:	33 c0                	xor    %eax,%eax
463632:	57                   	push   %edi
463633:	50                   	push   %eax
463634:	50                   	push   %eax
463635:	8b 7b 04             	mov    0x4(%ebx),%edi
463638:	50                   	push   %eax
463639:	50                   	push   %eax
46363a:	47                   	inc    %edi
46363b:	57                   	push   %edi
46363c:	ff 33                	push   (%ebx)
46363e:	50                   	push   %eax
46363f:	68 e9 fd 00 00       	push   $0xfde9
463644:	ff 15 ac f1 48 00    	call   *0x48f1ac
46364a:	89 45 08             	mov    %eax,0x8(%ebp)
46364d:	85 c0                	test   %eax,%eax
46364f:	75 0a                	jne    0x46365b
463651:	8b 4d 0c             	mov    0xc(%ebp),%ecx
463654:	e8 d6 23 fa ff       	call   0x405a2f
463659:	eb 35                	jmp    0x463690
46365b:	56                   	push   %esi
46365c:	50                   	push   %eax
46365d:	e8 94 d9 fb ff       	call   0x420ff6
463662:	59                   	pop    %ecx
463663:	8b f0                	mov    %eax,%esi
463665:	33 c0                	xor    %eax,%eax
463667:	50                   	push   %eax
463668:	50                   	push   %eax
463669:	ff 75 08             	push   0x8(%ebp)
46366c:	56                   	push   %esi
46366d:	57                   	push   %edi
46366e:	ff 33                	push   (%ebx)
463670:	50                   	push   %eax
463671:	68 e9 fd 00 00       	push   $0xfde9
463676:	ff 15 ac f1 48 00    	call   *0x48f1ac
46367c:	48                   	dec    %eax
46367d:	50                   	push   %eax
46367e:	51                   	push   %ecx
46367f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
463682:	56                   	push   %esi
463683:	e8 3c 24 fa ff       	call   0x405ac4
463688:	56                   	push   %esi
463689:	e8 de d9 fb ff       	call   0x42106c
46368e:	59                   	pop    %ecx
46368f:	5e                   	pop    %esi
463690:	5f                   	pop    %edi
463691:	5b                   	pop    %ebx
463692:	5d                   	pop    %ebp
463693:	c2 08 00             	ret    $0x8
463696:	55                   	push   %ebp
463697:	8b ec                	mov    %esp,%ebp
463699:	51                   	push   %ecx
46369a:	56                   	push   %esi
46369b:	8b f1                	mov    %ecx,%esi
46369d:	e8 f3 fe ff ff       	call   0x463595
4636a2:	6a 00                	push   $0x0
4636a4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4636a7:	50                   	push   %eax
4636a8:	ff 75 0c             	push   0xc(%ebp)
4636ab:	ff 75 08             	push   0x8(%ebp)
4636ae:	ff 36                	push   (%esi)
4636b0:	ff 15 e4 f1 48 00    	call   *0x48f1e4
4636b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4636b9:	01 46 10             	add    %eax,0x10(%esi)
4636bc:	83 56 14 00          	adcl   $0x0,0x14(%esi)
4636c0:	5e                   	pop    %esi
4636c1:	8b e5                	mov    %ebp,%esp
4636c3:	5d                   	pop    %ebp
4636c4:	c2 08 00             	ret    $0x8
4636c7:	55                   	push   %ebp
4636c8:	8b ec                	mov    %esp,%ebp
4636ca:	8b 45 08             	mov    0x8(%ebp),%eax
4636cd:	56                   	push   %esi
4636ce:	8b 70 04             	mov    0x4(%eax),%esi
4636d1:	56                   	push   %esi
4636d2:	ff 30                	push   (%eax)
4636d4:	e8 bd ff ff ff       	call   0x463696
4636d9:	2b c6                	sub    %esi,%eax
4636db:	f7 d8                	neg    %eax
4636dd:	5e                   	pop    %esi
4636de:	1b c0                	sbb    %eax,%eax
4636e0:	40                   	inc    %eax
4636e1:	5d                   	pop    %ebp
4636e2:	c2 04 00             	ret    $0x4
4636e5:	55                   	push   %ebp
4636e6:	8b ec                	mov    %esp,%ebp
4636e8:	83 ec 18             	sub    $0x18,%esp
4636eb:	53                   	push   %ebx
4636ec:	56                   	push   %esi
4636ed:	57                   	push   %edi
4636ee:	8b f9                	mov    %ecx,%edi
4636f0:	8b 47 2c             	mov    0x2c(%edi),%eax
4636f3:	83 f8 05             	cmp    $0x5,%eax
4636f6:	74 66                	je     0x46375e
4636f8:	83 f8 06             	cmp    $0x6,%eax
4636fb:	74 61                	je     0x46375e
4636fd:	83 f8 07             	cmp    $0x7,%eax
463700:	74 50                	je     0x463752
463702:	83 f8 08             	cmp    $0x8,%eax
463705:	74 4b                	je     0x463752
463707:	83 f8 03             	cmp    $0x3,%eax
46370a:	74 1b                	je     0x463727
46370c:	83 f8 04             	cmp    $0x4,%eax
46370f:	74 16                	je     0x463727
463711:	8d 4d ec             	lea    -0x14(%ebp),%ecx
463714:	e8 ff 24 fa ff       	call   0x405c18
463719:	8d 45 ec             	lea    -0x14(%ebp),%eax
46371c:	50                   	push   %eax
46371d:	ff 75 08             	push   0x8(%ebp)
463720:	e8 50 24 fa ff       	call   0x405b75
463725:	eb 14                	jmp    0x46373b
463727:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46372a:	e8 e9 24 fa ff       	call   0x405c18
46372f:	8d 45 ec             	lea    -0x14(%ebp),%eax
463732:	50                   	push   %eax
463733:	ff 75 08             	push   0x8(%ebp)
463736:	e8 ee fe ff ff       	call   0x463629
46373b:	8d 45 ec             	lea    -0x14(%ebp),%eax
46373e:	8b cf                	mov    %edi,%ecx
463740:	50                   	push   %eax
463741:	e8 81 ff ff ff       	call   0x4636c7
463746:	8d 4d ec             	lea    -0x14(%ebp),%ecx
463749:	8a d8                	mov    %al,%bl
46374b:	e8 14 23 fa ff       	call   0x405a64
463750:	eb 21                	jmp    0x463773
463752:	ff 75 08             	push   0x8(%ebp)
463755:	e8 24 00 00 00       	call   0x46377e
46375a:	8a d8                	mov    %al,%bl
46375c:	eb 15                	jmp    0x463773
46375e:	8b 45 08             	mov    0x8(%ebp),%eax
463761:	8b 70 04             	mov    0x4(%eax),%esi
463764:	03 f6                	add    %esi,%esi
463766:	56                   	push   %esi
463767:	ff 30                	push   (%eax)
463769:	e8 28 ff ff ff       	call   0x463696
46376e:	3b c6                	cmp    %esi,%eax
463770:	0f 94 c3             	sete   %bl
463773:	5f                   	pop    %edi
463774:	5e                   	pop    %esi
463775:	8a c3                	mov    %bl,%al
463777:	5b                   	pop    %ebx
463778:	8b e5                	mov    %ebp,%esp
46377a:	5d                   	pop    %ebp
46377b:	c2 04 00             	ret    $0x4
46377e:	55                   	push   %ebp
46377f:	8b ec                	mov    %esp,%ebp
463781:	83 ec 0c             	sub    $0xc,%esp
463784:	8b 45 08             	mov    0x8(%ebp),%eax
463787:	53                   	push   %ebx
463788:	56                   	push   %esi
463789:	57                   	push   %edi
46378a:	8b 70 04             	mov    0x4(%eax),%esi
46378d:	8b 38                	mov    (%eax),%edi
46378f:	03 f6                	add    %esi,%esi
463791:	56                   	push   %esi
463792:	89 4d fc             	mov    %ecx,-0x4(%ebp)
463795:	e8 5c d8 fb ff       	call   0x420ff6
46379a:	59                   	pop    %ecx
46379b:	50                   	push   %eax
46379c:	8d 4d f4             	lea    -0xc(%ebp),%ecx
46379f:	e8 ea 1b fa ff       	call   0x40538e
4637a4:	8b 5d f4             	mov    -0xc(%ebp),%ebx
4637a7:	33 d2                	xor    %edx,%edx
4637a9:	85 f6                	test   %esi,%esi
4637ab:	74 1a                	je     0x4637c7
4637ad:	8b cb                	mov    %ebx,%ecx
4637af:	2b cf                	sub    %edi,%ecx
4637b1:	8a 47 01             	mov    0x1(%edi),%al
4637b4:	88 04 39             	mov    %al,(%ecx,%edi,1)
4637b7:	8a 07                	mov    (%edi),%al
4637b9:	8d 7f 02             	lea    0x2(%edi),%edi
4637bc:	88 44 13 01          	mov    %al,0x1(%ebx,%edx,1)
4637c0:	83 c2 02             	add    $0x2,%edx
4637c3:	3b d6                	cmp    %esi,%edx
4637c5:	72 ea                	jb     0x4637b1
4637c7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4637ca:	56                   	push   %esi
4637cb:	53                   	push   %ebx
4637cc:	e8 c5 fe ff ff       	call   0x463696
4637d1:	3b c6                	cmp    %esi,%eax
4637d3:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4637d6:	0f 94 c3             	sete   %bl
4637d9:	e8 93 1b fa ff       	call   0x405371
4637de:	5f                   	pop    %edi
4637df:	5e                   	pop    %esi
4637e0:	8a c3                	mov    %bl,%al
4637e2:	5b                   	pop    %ebx
4637e3:	8b e5                	mov    %ebp,%esp
4637e5:	5d                   	pop    %ebp
4637e6:	c2 04 00             	ret    $0x4
4637e9:	55                   	push   %ebp
4637ea:	8b ec                	mov    %esp,%ebp
4637ec:	56                   	push   %esi
4637ed:	8b f1                	mov    %ecx,%esi
4637ef:	83 66 08 00          	andl   $0x0,0x8(%esi)
4637f3:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
4637fa:	e8 5b 54 ff ff       	call   0x458c5a
4637ff:	6a 04                	push   $0x4
463801:	e8 f0 d7 fb ff       	call   0x420ff6
463806:	59                   	pop    %ecx
463807:	8b 4d 08             	mov    0x8(%ebp),%ecx
46380a:	89 06                	mov    %eax,(%esi)