44d50a:	8b 75 14             	mov    0x14(%ebp),%esi
44d50d:	85 f6                	test   %esi,%esi
44d50f:	74 04                	je     0x44d515
44d511:	85 c0                	test   %eax,%eax
44d513:	75 15                	jne    0x44d52a
44d515:	e8 15 f9 ff ff       	call   0x44ce2f
44d51a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
44d520:	e8 b1 f7 ff ff       	call   0x44ccd6
44d525:	33 c0                	xor    %eax,%eax
44d527:	40                   	inc    %eax
44d528:	eb 22                	jmp    0x44d54c
44d52a:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
44d530:	51                   	push   %ecx
44d531:	8d 4d 0c             	lea    0xc(%ebp),%ecx
44d534:	51                   	push   %ecx
44d535:	50                   	push   %eax
44d536:	e8 7f 04 00 00       	call   0x44d9ba
44d53b:	56                   	push   %esi
44d53c:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
44d542:	51                   	push   %ecx
44d543:	50                   	push   %eax
44d544:	e8 30 17 00 00       	call   0x44ec79
44d549:	83 c4 18             	add    $0x18,%esp
44d54c:	8b 55 10             	mov    0x10(%ebp),%edx
44d54f:	5e                   	pop    %esi
44d550:	85 d2                	test   %edx,%edx
44d552:	74 05                	je     0x44d559
44d554:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44d557:	89 0a                	mov    %ecx,(%edx)
44d559:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44d55c:	33 cd                	xor    %ebp,%ecx
44d55e:	e8 9f 24 ff ff       	call   0x43fa02
44d563:	8b e5                	mov    %ebp,%esp
44d565:	5d                   	pop    %ebp
44d566:	c3                   	ret
44d567:	8b ff                	mov    %edi,%edi
44d569:	55                   	push   %ebp
44d56a:	8b ec                	mov    %esp,%ebp
44d56c:	81 ec 10 03 00 00    	sub    $0x310,%esp
44d572:	a1 94 80 4b 00       	mov    0x4b8094,%eax
44d577:	33 c5                	xor    %ebp,%eax
44d579:	89 45 fc             	mov    %eax,-0x4(%ebp)
44d57c:	8b 45 08             	mov    0x8(%ebp),%eax
44d57f:	56                   	push   %esi
44d580:	8b 75 14             	mov    0x14(%ebp),%esi
44d583:	85 f6                	test   %esi,%esi
44d585:	74 04                	je     0x44d58b
44d587:	85 c0                	test   %eax,%eax
44d589:	75 15                	jne    0x44d5a0
44d58b:	e8 9f f8 ff ff       	call   0x44ce2f
44d590:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
44d596:	e8 3b f7 ff ff       	call   0x44ccd6
44d59b:	33 c0                	xor    %eax,%eax
44d59d:	40                   	inc    %eax
44d59e:	eb 22                	jmp    0x44d5c2
44d5a0:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
44d5a6:	51                   	push   %ecx
44d5a7:	8d 4d 0c             	lea    0xc(%ebp),%ecx
44d5aa:	51                   	push   %ecx
44d5ab:	50                   	push   %eax
44d5ac:	e8 09 04 00 00       	call   0x44d9ba
44d5b1:	56                   	push   %esi
44d5b2:	8d 8d f0 fc ff ff    	lea    -0x310(%ebp),%ecx
44d5b8:	51                   	push   %ecx
44d5b9:	50                   	push   %eax
44d5ba:	e8 ca 17 00 00       	call   0x44ed89
44d5bf:	83 c4 18             	add    $0x18,%esp
44d5c2:	8b 55 10             	mov    0x10(%ebp),%edx
44d5c5:	5e                   	pop    %esi
44d5c6:	85 d2                	test   %edx,%edx
44d5c8:	74 05                	je     0x44d5cf
44d5ca:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44d5cd:	89 0a                	mov    %ecx,(%edx)
44d5cf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44d5d2:	33 cd                	xor    %ebp,%ecx
44d5d4:	e8 29 24 ff ff       	call   0x43fa02
44d5d9:	8b e5                	mov    %ebp,%esp
44d5db:	5d                   	pop    %ebp
44d5dc:	c3                   	ret
44d5dd:	8b ff                	mov    %edi,%edi
44d5df:	55                   	push   %ebp
44d5e0:	8b ec                	mov    %esp,%ebp
44d5e2:	83 ec 18             	sub    $0x18,%esp
44d5e5:	56                   	push   %esi
44d5e6:	8b 75 0c             	mov    0xc(%ebp),%esi
44d5e9:	8b ce                	mov    %esi,%ecx
44d5eb:	e8 24 5e 00 00       	call   0x453414
44d5f0:	84 c0                	test   %al,%al
44d5f2:	75 08                	jne    0x44d5fc
44d5f4:	6a 07                	push   $0x7
44d5f6:	58                   	pop    %eax
44d5f7:	e9 b9 03 00 00       	jmp    0x44d9b5
44d5fc:	53                   	push   %ebx
44d5fd:	8b 5d 08             	mov    0x8(%ebp),%ebx
44d600:	57                   	push   %edi
44d601:	8b 3e                	mov    (%esi),%edi
44d603:	89 7d f0             	mov    %edi,-0x10(%ebp)
44d606:	8a 0f                	mov    (%edi),%cl
44d608:	8d 47 01             	lea    0x1(%edi),%eax
44d60b:	eb 05                	jmp    0x44d612
44d60d:	8b 06                	mov    (%esi),%eax
44d60f:	8a 08                	mov    (%eax),%cl
44d611:	40                   	inc    %eax
44d612:	53                   	push   %ebx
44d613:	89 06                	mov    %eax,(%esi)
44d615:	0f b6 c1             	movzbl %cl,%eax
44d618:	6a 08                	push   $0x8
44d61a:	50                   	push   %eax
44d61b:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d61e:	e8 0a 60 00 00       	call   0x45362d
44d623:	83 c4 0c             	add    $0xc,%esp
44d626:	85 c0                	test   %eax,%eax
44d628:	75 e3                	jne    0x44d60d
44d62a:	8a 4d fb             	mov    -0x5(%ebp),%cl
44d62d:	8b 5d 10             	mov    0x10(%ebp),%ebx
44d630:	80 f9 2d             	cmp    $0x2d,%cl
44d633:	0f 94 c0             	sete   %al
44d636:	8d 93 08 03 00 00    	lea    0x308(%ebx),%edx
44d63c:	89 55 ec             	mov    %edx,-0x14(%ebp)
44d63f:	88 02                	mov    %al,(%edx)
44d641:	80 f9 2d             	cmp    $0x2d,%cl
44d644:	74 05                	je     0x44d64b
44d646:	80 f9 2b             	cmp    $0x2b,%cl
44d649:	75 0a                	jne    0x44d655
44d64b:	8b 06                	mov    (%esi),%eax
44d64d:	8a 08                	mov    (%eax),%cl
44d64f:	40                   	inc    %eax
44d650:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d653:	89 06                	mov    %eax,(%esi)
44d655:	80 f9 49             	cmp    $0x49,%cl
44d658:	0f 84 47 03 00 00    	je     0x44d9a5
44d65e:	80 f9 69             	cmp    $0x69,%cl
44d661:	0f 84 3e 03 00 00    	je     0x44d9a5
44d667:	80 f9 4e             	cmp    $0x4e,%cl
44d66a:	0f 84 28 03 00 00    	je     0x44d998
44d670:	80 f9 6e             	cmp    $0x6e,%cl
44d673:	0f 84 1f 03 00 00    	je     0x44d998
44d679:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
44d67d:	80 f9 30             	cmp    $0x30,%cl
44d680:	75 36                	jne    0x44d6b8
44d682:	8b 16                	mov    (%esi),%edx
44d684:	8a 02                	mov    (%edx),%al
44d686:	8d 7a 01             	lea    0x1(%edx),%edi
44d689:	88 45 e8             	mov    %al,-0x18(%ebp)
44d68c:	89 3e                	mov    %edi,(%esi)
44d68e:	3c 78                	cmp    $0x78,%al
44d690:	74 13                	je     0x44d6a5
44d692:	3c 58                	cmp    $0x58,%al
44d694:	74 0f                	je     0x44d6a5
44d696:	ff 75 e8             	push   -0x18(%ebp)
44d699:	8b ce                	mov    %esi,%ecx
44d69b:	e8 20 5d 00 00       	call   0x4533c0
44d6a0:	8a 4d fb             	mov    -0x5(%ebp),%cl
44d6a3:	eb 13                	jmp    0x44d6b8
44d6a5:	8a 0f                	mov    (%edi),%cl
44d6a7:	8d 47 01             	lea    0x1(%edi),%eax
44d6aa:	8b fa                	mov    %edx,%edi
44d6ac:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
44d6b0:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d6b3:	89 06                	mov    %eax,(%esi)
44d6b5:	89 7d f0             	mov    %edi,-0x10(%ebp)
44d6b8:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
44d6bc:	8d 43 08             	lea    0x8(%ebx),%eax
44d6bf:	32 ed                	xor    %ch,%ch
44d6c1:	89 45 e8             	mov    %eax,-0x18(%ebp)
44d6c4:	8b d8                	mov    %eax,%ebx
44d6c6:	80 f9 30             	cmp    $0x30,%cl
44d6c9:	75 11                	jne    0x44d6dc
44d6cb:	fe c5                	inc    %ch
44d6cd:	8b 06                	mov    (%esi),%eax
44d6cf:	8a 08                	mov    (%eax),%cl
44d6d1:	40                   	inc    %eax
44d6d2:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d6d5:	89 06                	mov    %eax,(%esi)
44d6d7:	80 f9 30             	cmp    $0x30,%cl
44d6da:	74 f1                	je     0x44d6cd
44d6dc:	8b 7d f4             	mov    -0xc(%ebp),%edi
44d6df:	33 d2                	xor    %edx,%edx
44d6e1:	38 55 ff             	cmp    %dl,-0x1(%ebp)
44d6e4:	0f 94 c2             	sete   %dl
44d6e7:	4a                   	dec    %edx
44d6e8:	83 e2 06             	and    $0x6,%edx
44d6eb:	83 c2 09             	add    $0x9,%edx
44d6ee:	8a c1                	mov    %cl,%al
44d6f0:	2c 30                	sub    $0x30,%al
44d6f2:	3c 09                	cmp    $0x9,%al
44d6f4:	77 08                	ja     0x44d6fe
44d6f6:	0f be c1             	movsbl %cl,%eax
44d6f9:	83 e8 30             	sub    $0x30,%eax
44d6fc:	eb 23                	jmp    0x44d721
44d6fe:	8a c1                	mov    %cl,%al
44d700:	2c 61                	sub    $0x61,%al
44d702:	3c 19                	cmp    $0x19,%al
44d704:	77 08                	ja     0x44d70e
44d706:	0f be c1             	movsbl %cl,%eax
44d709:	83 e8 57             	sub    $0x57,%eax
44d70c:	eb 13                	jmp    0x44d721
44d70e:	8a c1                	mov    %cl,%al
44d710:	2c 41                	sub    $0x41,%al
44d712:	3c 19                	cmp    $0x19,%al
44d714:	77 08                	ja     0x44d71e
44d716:	0f be c1             	movsbl %cl,%eax
44d719:	83 e8 37             	sub    $0x37,%eax
44d71c:	eb 03                	jmp    0x44d721
44d71e:	83 c8 ff             	or     $0xffffffff,%eax
44d721:	3b c2                	cmp    %edx,%eax
44d723:	77 17                	ja     0x44d73c
44d725:	b5 01                	mov    $0x1,%ch
44d727:	3b 5d ec             	cmp    -0x14(%ebp),%ebx
44d72a:	74 03                	je     0x44d72f
44d72c:	88 03                	mov    %al,(%ebx)
44d72e:	43                   	inc    %ebx
44d72f:	8b 06                	mov    (%esi),%eax
44d731:	47                   	inc    %edi
44d732:	8a 08                	mov    (%eax),%cl
44d734:	40                   	inc    %eax
44d735:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d738:	89 06                	mov    %eax,(%esi)
44d73a:	eb b2                	jmp    0x44d6ee
44d73c:	8b 45 08             	mov    0x8(%ebp),%eax
44d73f:	89 7d f4             	mov    %edi,-0xc(%ebp)
44d742:	8b 7d f0             	mov    -0x10(%ebp),%edi
44d745:	8b 00                	mov    (%eax),%eax
44d747:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
44d74d:	8b 00                	mov    (%eax),%eax
44d74f:	3a 08                	cmp    (%eax),%cl
44d751:	75 73                	jne    0x44d7c6
44d753:	8b 06                	mov    (%esi),%eax
44d755:	8a 08                	mov    (%eax),%cl
44d757:	40                   	inc    %eax
44d758:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d75b:	89 06                	mov    %eax,(%esi)
44d75d:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
44d760:	75 17                	jne    0x44d779
44d762:	80 f9 30             	cmp    $0x30,%cl
44d765:	75 12                	jne    0x44d779
44d767:	b5 01                	mov    $0x1,%ch
44d769:	8a 08                	mov    (%eax),%cl
44d76b:	ff 4d f4             	decl   -0xc(%ebp)
44d76e:	40                   	inc    %eax
44d76f:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d772:	89 06                	mov    %eax,(%esi)
44d774:	80 f9 30             	cmp    $0x30,%cl
44d777:	74 f0                	je     0x44d769
44d779:	8a c1                	mov    %cl,%al
44d77b:	2c 30                	sub    $0x30,%al
44d77d:	3c 09                	cmp    $0x9,%al
44d77f:	77 08                	ja     0x44d789
44d781:	0f be c1             	movsbl %cl,%eax
44d784:	83 e8 30             	sub    $0x30,%eax
44d787:	eb 23                	jmp    0x44d7ac
44d789:	8a c1                	mov    %cl,%al
44d78b:	2c 61                	sub    $0x61,%al
44d78d:	3c 19                	cmp    $0x19,%al
44d78f:	77 08                	ja     0x44d799
44d791:	0f be c1             	movsbl %cl,%eax
44d794:	83 e8 57             	sub    $0x57,%eax
44d797:	eb 13                	jmp    0x44d7ac
44d799:	8a c1                	mov    %cl,%al
44d79b:	2c 41                	sub    $0x41,%al
44d79d:	3c 19                	cmp    $0x19,%al
44d79f:	77 08                	ja     0x44d7a9
44d7a1:	0f be c1             	movsbl %cl,%eax
44d7a4:	83 e8 37             	sub    $0x37,%eax
44d7a7:	eb 03                	jmp    0x44d7ac
44d7a9:	83 c8 ff             	or     $0xffffffff,%eax
44d7ac:	3b c2                	cmp    %edx,%eax
44d7ae:	77 16                	ja     0x44d7c6
44d7b0:	b5 01                	mov    $0x1,%ch
44d7b2:	3b 5d ec             	cmp    -0x14(%ebp),%ebx
44d7b5:	74 03                	je     0x44d7ba
44d7b7:	88 03                	mov    %al,(%ebx)
44d7b9:	43                   	inc    %ebx
44d7ba:	8b 06                	mov    (%esi),%eax
44d7bc:	8a 08                	mov    (%eax),%cl
44d7be:	40                   	inc    %eax
44d7bf:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d7c2:	89 06                	mov    %eax,(%esi)
44d7c4:	eb b3                	jmp    0x44d779
44d7c6:	ff 75 fb             	push   -0x5(%ebp)
44d7c9:	84 ed                	test   %ch,%ch
44d7cb:	8b ce                	mov    %esi,%ecx
44d7cd:	75 1b                	jne    0x44d7ea
44d7cf:	e8 ec 5b 00 00       	call   0x4533c0
44d7d4:	33 c0                	xor    %eax,%eax
44d7d6:	89 3e                	mov    %edi,(%esi)
44d7d8:	38 45 ff             	cmp    %al,-0x1(%ebp)
44d7db:	0f 94 c0             	sete   %al
44d7de:	48                   	dec    %eax
44d7df:	83 e0 fb             	and    $0xfffffffb,%eax
44d7e2:	83 c0 07             	add    $0x7,%eax
44d7e5:	e9 c9 01 00 00       	jmp    0x44d9b3
44d7ea:	e8 d1 5b 00 00       	call   0x4533c0
44d7ef:	8b 0e                	mov    (%esi),%ecx
44d7f1:	89 4d ec             	mov    %ecx,-0x14(%ebp)
44d7f4:	8a 01                	mov    (%ecx),%al
44d7f6:	8d 51 01             	lea    0x1(%ecx),%edx
44d7f9:	32 c9                	xor    %cl,%cl
44d7fb:	88 45 fb             	mov    %al,-0x5(%ebp)
44d7fe:	89 55 f0             	mov    %edx,-0x10(%ebp)
44d801:	89 16                	mov    %edx,(%esi)
44d803:	3c 45                	cmp    $0x45,%al
44d805:	74 11                	je     0x44d818
44d807:	3c 50                	cmp    $0x50,%al
44d809:	74 08                	je     0x44d813
44d80b:	3c 65                	cmp    $0x65,%al
44d80d:	74 09                	je     0x44d818
44d80f:	3c 70                	cmp    $0x70,%al
44d811:	75 0c                	jne    0x44d81f
44d813:	8a 4d ff             	mov    -0x1(%ebp),%cl
44d816:	eb 07                	jmp    0x44d81f
44d818:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
44d81c:	0f 94 c1             	sete   %cl
44d81f:	33 ff                	xor    %edi,%edi
44d821:	84 c9                	test   %cl,%cl
44d823:	0f 84 fd 00 00 00    	je     0x44d926
44d829:	8a 0a                	mov    (%edx),%cl
44d82b:	8d 42 01             	lea    0x1(%edx),%eax
44d82e:	80 f9 2d             	cmp    $0x2d,%cl
44d831:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d834:	89 06                	mov    %eax,(%esi)
44d836:	0f 94 c5             	sete   %ch
44d839:	80 f9 2b             	cmp    $0x2b,%cl
44d83c:	74 05                	je     0x44d843
44d83e:	80 f9 2d             	cmp    $0x2d,%cl
44d841:	75 08                	jne    0x44d84b
44d843:	8a 08                	mov    (%eax),%cl
44d845:	40                   	inc    %eax
44d846:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d849:	89 06                	mov    %eax,(%esi)
44d84b:	32 d2                	xor    %dl,%dl
44d84d:	80 f9 30             	cmp    $0x30,%cl
44d850:	75 11                	jne    0x44d863
44d852:	fe c2                	inc    %dl
44d854:	8b 06                	mov    (%esi),%eax
44d856:	8a 08                	mov    (%eax),%cl
44d858:	40                   	inc    %eax
44d859:	88 4d fb             	mov    %cl,-0x5(%ebp)
44d85c:	89 06                	mov    %eax,(%esi)
44d85e:	80 f9 30             	cmp    $0x30,%cl
44d861:	74 f1                	je     0x44d854
44d863:	8a c1                	mov    %cl,%al
44d865:	2c 30                	sub    $0x30,%al
44d867:	3c 09                	cmp    $0x9,%al
44d869:	77 08                	ja     0x44d873
44d86b:	0f be c1             	movsbl %cl,%eax
44d86e:	83 e8 30             	sub    $0x30,%eax
44d871:	eb 23                	jmp    0x44d896
44d873:	8a c1                	mov    %cl,%al
44d875:	2c 61                	sub    $0x61,%al