44a2b2:	0f 8f a3 05 00 00    	jg     0x44a85b
44a2b8:	0f be 46 ff          	movsbl -0x1(%esi),%eax
44a2bc:	ff 34 85 38 b0 49 00 	push   0x49b038(,%eax,4)
44a2c3:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44a2c6:	e8 88 ce ff ff       	call   0x447153
44a2cb:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
44a2cf:	74 28                	je     0x44a2f9
44a2d1:	68 30 b3 49 00       	push   $0x49b330
44a2d6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
44a2d9:	e8 54 cb ff ff       	call   0x446e32
44a2de:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44a2e1:	51                   	push   %ecx
44a2e2:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a2e5:	51                   	push   %ecx
44a2e6:	8b c8                	mov    %eax,%ecx
44a2e8:	e8 6f cf ff ff       	call   0x44725c
44a2ed:	8b 45 e0             	mov    -0x20(%ebp),%eax
44a2f0:	89 45 f8             	mov    %eax,-0x8(%ebp)
44a2f3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44a2f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
44a2f9:	8b 45 08             	mov    0x8(%ebp),%eax
44a2fc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44a2ff:	89 08                	mov    %ecx,(%eax)
44a301:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44a304:	89 48 04             	mov    %ecx,0x4(%eax)
44a307:	5f                   	pop    %edi
44a308:	5e                   	pop    %esi
44a309:	5b                   	pop    %ebx
44a30a:	c9                   	leave
44a30b:	c3                   	ret
44a30c:	8b df                	mov    %edi,%ebx
44a30e:	89 7d f4             	mov    %edi,-0xc(%ebp)
44a311:	89 5d f0             	mov    %ebx,-0x10(%ebp)
44a314:	38 5d 0c             	cmp    %bl,0xc(%ebp)
44a317:	74 7c                	je     0x44a395
44a319:	8d 45 e8             	lea    -0x18(%ebp),%eax
44a31c:	50                   	push   %eax
44a31d:	e8 50 12 00 00       	call   0x44b572
44a322:	59                   	pop    %ecx
44a323:	6a 3c                	push   $0x3c
44a325:	8d 4d d8             	lea    -0x28(%ebp),%ecx
44a328:	8b f0                	mov    %eax,%esi
44a32a:	e8 96 ca ff ff       	call   0x446dc5
44a32f:	56                   	push   %esi
44a330:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a333:	51                   	push   %ecx
44a334:	8b c8                	mov    %eax,%ecx
44a336:	e8 21 cf ff ff       	call   0x44725c
44a33b:	8d 45 e0             	lea    -0x20(%ebp),%eax
44a33e:	50                   	push   %eax
44a33f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a342:	e8 bf cf ff ff       	call   0x447306
44a347:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a34a:	e8 23 fd ff ff       	call   0x44a072
44a34f:	3c 3e                	cmp    $0x3e,%al
44a351:	75 0a                	jne    0x44a35d
44a353:	6a 20                	push   $0x20
44a355:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a358:	e8 ea cf ff ff       	call   0x447347
44a35d:	6a 3e                	push   $0x3e
44a35f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a362:	e8 e0 cf ff ff       	call   0x447347
44a367:	8b 45 10             	mov    0x10(%ebp),%eax
44a36a:	85 c0                	test   %eax,%eax
44a36c:	74 03                	je     0x44a371
44a36e:	c6 00 01             	movb   $0x1,(%eax)
44a371:	8b 35 cc b3 4b 00    	mov    0x4bb3cc,%esi
44a377:	38 1e                	cmp    %bl,(%esi)
44a379:	75 10                	jne    0x44a38b
44a37b:	8b 45 08             	mov    0x8(%ebp),%eax
44a37e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44a381:	89 08                	mov    %ecx,(%eax)
44a383:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44a386:	e9 79 ff ff ff       	jmp    0x44a304
44a38b:	8b 5d f0             	mov    -0x10(%ebp),%ebx
44a38e:	46                   	inc    %esi
44a38f:	89 35 cc b3 4b 00    	mov    %esi,0x4bb3cc
44a395:	57                   	push   %edi
44a396:	8d 45 d8             	lea    -0x28(%ebp),%eax
44a399:	57                   	push   %edi
44a39a:	50                   	push   %eax
44a39b:	e8 58 1f 00 00       	call   0x44c2f8
44a3a0:	83 c4 0c             	add    $0xc,%esp
44a3a3:	8b 08                	mov    (%eax),%ecx
44a3a5:	8b 40 04             	mov    0x4(%eax),%eax
44a3a8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
44a3ab:	89 45 fc             	mov    %eax,-0x4(%ebp)
44a3ae:	89 35 cc b3 4b 00    	mov    %esi,0x4bb3cc
44a3b4:	85 c9                	test   %ecx,%ecx
44a3b6:	74 2b                	je     0x44a3e3
44a3b8:	80 7e ff 31          	cmpb   $0x31,-0x1(%esi)
44a3bc:	75 25                	jne    0x44a3e3
44a3be:	6a 7e                	push   $0x7e
44a3c0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
44a3c3:	e8 fd c9 ff ff       	call   0x446dc5
44a3c8:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44a3cb:	51                   	push   %ecx
44a3cc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
44a3cf:	51                   	push   %ecx
44a3d0:	8b c8                	mov    %eax,%ecx
44a3d2:	e8 85 ce ff ff       	call   0x44725c
44a3d7:	8b 45 e8             	mov    -0x18(%ebp),%eax
44a3da:	89 45 f8             	mov    %eax,-0x8(%ebp)
44a3dd:	8b 45 ec             	mov    -0x14(%ebp),%eax
44a3e0:	89 45 fc             	mov    %eax,-0x4(%ebp)
44a3e3:	85 db                	test   %ebx,%ebx
44a3e5:	0f 84 0e ff ff ff    	je     0x44a2f9
44a3eb:	8d 45 f0             	lea    -0x10(%ebp),%eax
44a3ee:	50                   	push   %eax
44a3ef:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44a3f2:	e8 0f cf ff ff       	call   0x447306
44a3f7:	e9 fd fe ff ff       	jmp    0x44a2f9
44a3fc:	8d 46 ff             	lea    -0x1(%esi),%eax
44a3ff:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a402:	6a 01                	push   $0x1
44a404:	a3 cc b3 4b 00       	mov    %eax,0x4bb3cc
44a409:	e8 57 ca ff ff       	call   0x446e65
44a40e:	8b 45 08             	mov    0x8(%ebp),%eax
44a411:	e9 f1 fe ff ff       	jmp    0x44a307
44a416:	80 f9 42             	cmp    $0x42,%cl
44a419:	0f 84 4d 04 00 00    	je     0x44a86c
44a41f:	0f 8e 36 04 00 00    	jle    0x44a85b
44a425:	80 f9 5a             	cmp    $0x5a,%cl
44a428:	0f 8e 41 04 00 00    	jle    0x44a86f
44a42e:	80 f9 5f             	cmp    $0x5f,%cl
44a431:	0f 85 24 04 00 00    	jne    0x44a85b
44a437:	0f be 06             	movsbl (%esi),%eax
44a43a:	46                   	inc    %esi
44a43b:	89 35 cc b3 4b 00    	mov    %esi,0x4bb3cc
44a441:	83 f8 4f             	cmp    $0x4f,%eax
44a444:	0f 8f 07 01 00 00    	jg     0x44a551
44a44a:	83 f8 44             	cmp    $0x44,%eax
44a44d:	0f 8d e8 03 00 00    	jge    0x44a83b
44a453:	83 f8 39             	cmp    $0x39,%eax
44a456:	7f 6e                	jg     0x44a4c6
44a458:	74 40                	je     0x44a49a
44a45a:	85 c0                	test   %eax,%eax
44a45c:	74 9e                	je     0x44a3fc
44a45e:	83 f8 2f             	cmp    $0x2f,%eax
44a461:	0f 8e f4 03 00 00    	jle    0x44a85b
44a467:	83 f8 36             	cmp    $0x36,%eax
44a46a:	7e 1e                	jle    0x44a48a
44a46c:	83 f8 38             	cmp    $0x38,%eax
44a46f:	0f 8f e6 03 00 00    	jg     0x44a85b
44a475:	0f be 46 ff          	movsbl -0x1(%esi),%eax
44a479:	ff 34 85 c8 b0 49 00 	push   0x49b0c8(,%eax,4)
44a480:	8b 4d 08             	mov    0x8(%ebp),%ecx
44a483:	e8 aa c9 ff ff       	call   0x446e32
44a488:	eb 84                	jmp    0x44a40e
44a48a:	0f be 46 ff          	movsbl -0x1(%esi),%eax
44a48e:	ff 34 85 c8 b0 49 00 	push   0x49b0c8(,%eax,4)
44a495:	e9 29 fe ff ff       	jmp    0x44a2c3
44a49a:	0f be 46 ff          	movsbl -0x1(%esi),%eax
44a49e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
44a4a1:	ff 34 85 c8 b0 49 00 	push   0x49b0c8(,%eax,4)
44a4a8:	e8 85 c9 ff ff       	call   0x446e32
44a4ad:	8b 55 ec             	mov    -0x14(%ebp),%edx
44a4b0:	81 ca 00 80 00 00    	or     $0x8000,%edx
44a4b6:	8b 45 08             	mov    0x8(%ebp),%eax
44a4b9:	8b 4d e8             	mov    -0x18(%ebp),%ecx
44a4bc:	89 08                	mov    %ecx,(%eax)
44a4be:	89 50 04             	mov    %edx,0x4(%eax)
44a4c1:	e9 41 fe ff ff       	jmp    0x44a307
44a4c6:	83 f8 3f             	cmp    $0x3f,%eax
44a4c9:	74 39                	je     0x44a504
44a4cb:	83 f8 40             	cmp    $0x40,%eax
44a4ce:	0f 8e 87 03 00 00    	jle    0x44a85b
44a4d4:	83 f8 42             	cmp    $0x42,%eax
44a4d7:	0f 8e 5e 03 00 00    	jle    0x44a83b
44a4dd:	83 f8 43             	cmp    $0x43,%eax
44a4e0:	0f 85 75 03 00 00    	jne    0x44a85b
44a4e6:	6a 01                	push   $0x1
44a4e8:	8d 45 e8             	lea    -0x18(%ebp),%eax
44a4eb:	68 f0 b3 49 00       	push   $0x49b3f0
44a4f0:	50                   	push   %eax
44a4f1:	e8 4d 0f 00 00       	call   0x44b443
44a4f6:	8b 55 ec             	mov    -0x14(%ebp),%edx
44a4f9:	83 c4 0c             	add    $0xc,%esp
44a4fc:	81 ca 00 10 00 00    	or     $0x1000,%edx
44a502:	eb b2                	jmp    0x44a4b6
44a504:	8a 06                	mov    (%esi),%al
44a506:	46                   	inc    %esi
44a507:	89 35 cc b3 4b 00    	mov    %esi,0x4bb3cc
44a50d:	84 c0                	test   %al,%al
44a50f:	0f 84 e7 fe ff ff    	je     0x44a3fc
44a515:	8b 75 08             	mov    0x8(%ebp),%esi
44a518:	3c 30                	cmp    $0x30,%al
44a51a:	74 0b                	je     0x44a527
44a51c:	89 7e 04             	mov    %edi,0x4(%esi)
44a51f:	c6 46 04 02          	movb   $0x2,0x4(%esi)
44a523:	89 3e                	mov    %edi,(%esi)
44a525:	eb 23                	jmp    0x44a54a
44a527:	57                   	push   %edi
44a528:	8d 45 e8             	lea    -0x18(%ebp),%eax
44a52b:	68 80 b8 49 00       	push   $0x49b880
44a530:	50                   	push   %eax
44a531:	e8 0d 0f 00 00       	call   0x44b443
44a536:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44a539:	83 c4 0c             	add    $0xc,%esp
44a53c:	8b 45 e8             	mov    -0x18(%ebp),%eax
44a53f:	81 c9 00 10 00 00    	or     $0x1000,%ecx
44a545:	89 06                	mov    %eax,(%esi)
44a547:	89 4e 04             	mov    %ecx,0x4(%esi)
44a54a:	8b c6                	mov    %esi,%eax
44a54c:	e9 b6 fd ff ff       	jmp    0x44a307
44a551:	83 f8 54             	cmp    $0x54,%eax
44a554:	0f 8f d9 01 00 00    	jg     0x44a733
44a55a:	83 f8 53             	cmp    $0x53,%eax
44a55d:	0f 8d d8 02 00 00    	jge    0x44a83b
44a563:	83 e8 50             	sub    $0x50,%eax
44a566:	0f 84 78 01 00 00    	je     0x44a6e4
44a56c:	83 e8 01             	sub    $0x1,%eax
44a56f:	0f 84 56 fd ff ff    	je     0x44a2cb
44a575:	83 e8 01             	sub    $0x1,%eax
44a578:	0f 85 dd 02 00 00    	jne    0x44a85b
44a57e:	0f be 46 ff          	movsbl -0x1(%esi),%eax
44a582:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44a585:	ff 34 85 ac b0 49 00 	push   0x49b0ac(,%eax,4)
44a58c:	e8 c2 cb ff ff       	call   0x447153
44a591:	a1 cc b3 4b 00       	mov    0x4bb3cc,%eax
44a596:	8a 00                	mov    (%eax),%al
44a598:	84 c0                	test   %al,%al
44a59a:	75 12                	jne    0x44a5ae
44a59c:	6a 01                	push   $0x1
44a59e:	ff 75 08             	push   0x8(%ebp)
44a5a1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44a5a4:	e8 3b cd ff ff       	call   0x4472e4
44a5a9:	e9 60 fe ff ff       	jmp    0x44a40e
44a5ae:	0f be c0             	movsbl %al,%eax
44a5b1:	83 e8 30             	sub    $0x30,%eax
44a5b4:	0f 88 a1 02 00 00    	js     0x44a85b
44a5ba:	83 f8 05             	cmp    $0x5,%eax
44a5bd:	0f 83 98 02 00 00    	jae    0x44a85b
44a5c3:	ff 34 85 48 b2 49 00 	push   0x49b248(,%eax,4)
44a5ca:	8d 4d e8             	lea    -0x18(%ebp),%ecx
44a5cd:	e8 81 cb ff ff       	call   0x447153
44a5d2:	a1 cc b3 4b 00       	mov    0x4bb3cc,%eax
44a5d7:	8a 08                	mov    (%eax),%cl
44a5d9:	40                   	inc    %eax
44a5da:	a3 cc b3 4b 00       	mov    %eax,0x4bb3cc
44a5df:	80 f9 30             	cmp    $0x30,%cl
44a5e2:	0f 84 c2 00 00 00    	je     0x44a6aa
44a5e8:	80 f9 31             	cmp    $0x31,%cl
44a5eb:	74 11                	je     0x44a5fe
44a5ed:	7e 09                	jle    0x44a5f8
44a5ef:	80 f9 34             	cmp    $0x34,%cl
44a5f2:	0f 8e 27 01 00 00    	jle    0x44a71f
44a5f8:	48                   	dec    %eax
44a5f9:	e9 01 fe ff ff       	jmp    0x44a3ff
44a5fe:	8b 45 f8             	mov    -0x8(%ebp),%eax
44a601:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a604:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a607:	8b 45 fc             	mov    -0x4(%ebp),%eax
44a60a:	89 45 f4             	mov    %eax,-0xc(%ebp)
44a60d:	8d 45 e8             	lea    -0x18(%ebp),%eax
44a610:	50                   	push   %eax
44a611:	e8 f0 cc ff ff       	call   0x447306
44a616:	8d 45 d8             	lea    -0x28(%ebp),%eax
44a619:	50                   	push   %eax
44a61a:	e8 8b 0c 00 00       	call   0x44b2aa
44a61f:	59                   	pop    %ecx
44a620:	6a 2c                	push   $0x2c
44a622:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a625:	51                   	push   %ecx
44a626:	8b c8                	mov    %eax,%ecx
44a628:	e8 51 cc ff ff       	call   0x44727e
44a62d:	50                   	push   %eax
44a62e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a631:	e8 d0 cc ff ff       	call   0x447306
44a636:	8d 45 d8             	lea    -0x28(%ebp),%eax
44a639:	50                   	push   %eax
44a63a:	e8 6b 0c 00 00       	call   0x44b2aa
44a63f:	59                   	pop    %ecx
44a640:	6a 2c                	push   $0x2c
44a642:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a645:	51                   	push   %ecx
44a646:	8b c8                	mov    %eax,%ecx
44a648:	e8 31 cc ff ff       	call   0x44727e
44a64d:	50                   	push   %eax
44a64e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a651:	e8 b0 cc ff ff       	call   0x447306
44a656:	8d 45 d8             	lea    -0x28(%ebp),%eax
44a659:	50                   	push   %eax
44a65a:	e8 4b 0c 00 00       	call   0x44b2aa
44a65f:	59                   	pop    %ecx
44a660:	6a 2c                	push   $0x2c
44a662:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a665:	51                   	push   %ecx
44a666:	8b c8                	mov    %eax,%ecx
44a668:	e8 11 cc ff ff       	call   0x44727e
44a66d:	50                   	push   %eax
44a66e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a671:	e8 90 cc ff ff       	call   0x447306
44a676:	8d 45 d8             	lea    -0x28(%ebp),%eax
44a679:	57                   	push   %edi
44a67a:	50                   	push   %eax
44a67b:	e8 48 f0 ff ff       	call   0x4496c8
44a680:	59                   	pop    %ecx
44a681:	59                   	pop    %ecx
44a682:	6a 29                	push   $0x29
44a684:	8d 4d e0             	lea    -0x20(%ebp),%ecx
44a687:	51                   	push   %ecx
44a688:	8b c8                	mov    %eax,%ecx
44a68a:	e8 ef cb ff ff       	call   0x44727e
44a68f:	50                   	push   %eax
44a690:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a693:	e8 6e cc ff ff       	call   0x447306
44a698:	6a 27                	push   $0x27
44a69a:	ff 75 08             	push   0x8(%ebp)
44a69d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a6a0:	e8 d9 cb ff ff       	call   0x44727e
44a6a5:	e9 64 fd ff ff       	jmp    0x44a40e
44a6aa:	8d 45 e0             	lea    -0x20(%ebp),%eax
44a6ad:	57                   	push   %edi
44a6ae:	50                   	push   %eax
44a6af:	e8 0d ed ff ff       	call   0x4493c1
44a6b4:	8b 45 e0             	mov    -0x20(%ebp),%eax
44a6b7:	59                   	pop    %ecx
44a6b8:	59                   	pop    %ecx
44a6b9:	89 45 f0             	mov    %eax,-0x10(%ebp)
44a6bc:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a6bf:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44a6c2:	6a 20                	push   $0x20
44a6c4:	89 45 f4             	mov    %eax,-0xc(%ebp)
44a6c7:	e8 7b cc ff ff       	call   0x447347
44a6cc:	8d 45 f8             	lea    -0x8(%ebp),%eax
44a6cf:	50                   	push   %eax
44a6d0:	8d 45 d8             	lea    -0x28(%ebp),%eax
44a6d3:	50                   	push   %eax
44a6d4:	8d 4d f0             	lea    -0x10(%ebp),%ecx
44a6d7:	e8 80 cb ff ff       	call   0x44725c
44a6dc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
44a6df:	51                   	push   %ecx
44a6e0:	8b c8                	mov    %eax,%ecx
44a6e2:	eb 42                	jmp    0x44a726
44a6e4:	0f be 46 ff          	movsbl -0x1(%esi),%eax
44a6e8:	8d 4d f8             	lea    -0x8(%ebp),%ecx
44a6eb:	ff 34 85 ac b0 49 00 	push   0x49b0ac(,%eax,4)
44a6f2:	e8 5c ca ff ff       	call   0x447153
44a6f7:	57                   	push   %edi
44a6f8:	8d 45 d8             	lea    -0x28(%ebp),%eax
44a6fb:	57                   	push   %edi
44a6fc:	50                   	push   %eax
44a6fd:	e8 61 fb ff ff       	call   0x44a263
44a702:	83 c4 0c             	add    $0xc,%esp
44a705:	8b 08                	mov    (%eax),%ecx
44a707:	8b 40 04             	mov    0x4(%eax),%eax
44a70a:	89 4d e8             	mov    %ecx,-0x18(%ebp)
44a70d:	89 45 ec             	mov    %eax,-0x14(%ebp)
44a710:	85 c9                	test   %ecx,%ecx