47a358:	75 70                	jne    0x47a3ca
47a35a:	ff 75 f0             	push   -0x10(%ebp)
47a35d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47a360:	57                   	push   %edi
47a361:	56                   	push   %esi
47a362:	50                   	push   %eax
47a363:	e8 bc fb ff ff       	call   0x479f24
47a368:	eb c5                	jmp    0x47a32f
47a36a:	ff 75 f0             	push   -0x10(%ebp)
47a36d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47a370:	57                   	push   %edi
47a371:	56                   	push   %esi
47a372:	50                   	push   %eax
47a373:	e8 9a fc ff ff       	call   0x47a012
47a378:	eb b5                	jmp    0x47a32f
47a37a:	ff 75 f0             	push   -0x10(%ebp)
47a37d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47a380:	57                   	push   %edi
47a381:	56                   	push   %esi
47a382:	50                   	push   %eax
47a383:	e8 bd fa ff ff       	call   0x479e45
47a388:	eb a5                	jmp    0x47a32f
47a38a:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
47a38e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47a391:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
47a395:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
47a399:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
47a39d:	6a 00                	push   $0x0
47a39f:	51                   	push   %ecx
47a3a0:	ff 75 f0             	push   -0x10(%ebp)
47a3a3:	57                   	push   %edi
47a3a4:	50                   	push   %eax
47a3a5:	ff 15 8c 40 49 00    	call   *0x49408c
47a3ab:	85 c0                	test   %eax,%eax
47a3ad:	75 09                	jne    0x47a3b8
47a3af:	ff 15 24 41 49 00    	call   *0x494124
47a3b5:	89 45 d4             	mov    %eax,-0x2c(%ebp)
47a3b8:	8d 75 d4             	lea    -0x2c(%ebp),%esi
47a3bb:	8d 7d e0             	lea    -0x20(%ebp),%edi
47a3be:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47a3bf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47a3c0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
47a3c1:	8b 7d ec             	mov    -0x14(%ebp),%edi
47a3c4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47a3c7:	8b 55 f4             	mov    -0xc(%ebp),%edx
47a3ca:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
47a3ce:	75 5c                	jne    0x47a42c
47a3d0:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
47a3d4:	74 27                	je     0x47a3fd
47a3d6:	6a 05                	push   $0x5
47a3d8:	5e                   	pop    %esi
47a3d9:	39 75 e0             	cmp    %esi,-0x20(%ebp)
47a3dc:	75 14                	jne    0x47a3f2
47a3de:	e8 4c 2a fd ff       	call   0x44ce2f
47a3e3:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
47a3e9:	e8 2e 2a fd ff       	call   0x44ce1c
47a3ee:	89 30                	mov    %esi,(%eax)
47a3f0:	eb 35                	jmp    0x47a427
47a3f2:	ff 75 e0             	push   -0x20(%ebp)
47a3f5:	e8 ff 29 fd ff       	call   0x44cdf9
47a3fa:	59                   	pop    %ecx
47a3fb:	eb 2a                	jmp    0x47a427
47a3fd:	8b 04 95 00 c0 4b 00 	mov    0x4bc000(,%edx,4),%eax
47a404:	f6 44 08 28 40       	testb  $0x40,0x28(%eax,%ecx,1)
47a409:	74 09                	je     0x47a414
47a40b:	80 3f 1a             	cmpb   $0x1a,(%edi)
47a40e:	75 04                	jne    0x47a414
47a410:	33 c0                	xor    %eax,%eax
47a412:	eb 1e                	jmp    0x47a432
47a414:	e8 16 2a fd ff       	call   0x44ce2f
47a419:	c7 00 1c 00 00 00    	movl   $0x1c,(%eax)
47a41f:	e8 f8 29 fd ff       	call   0x44ce1c
47a424:	83 20 00             	andl   $0x0,(%eax)
47a427:	83 c8 ff             	or     $0xffffffff,%eax
47a42a:	eb 06                	jmp    0x47a432
47a42c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
47a42f:	2b 45 e8             	sub    -0x18(%ebp),%eax
47a432:	5b                   	pop    %ebx
47a433:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47a436:	5f                   	pop    %edi
47a437:	33 cd                	xor    %ebp,%ecx
47a439:	5e                   	pop    %esi
47a43a:	e8 c3 55 fc ff       	call   0x43fa02
47a43f:	8b e5                	mov    %ebp,%esp
47a441:	5d                   	pop    %ebp
47a442:	c3                   	ret
47a443:	8b ff                	mov    %edi,%edi
47a445:	55                   	push   %ebp
47a446:	8b ec                	mov    %esp,%ebp
47a448:	b8 ff ff 00 00       	mov    $0xffff,%eax
47a44d:	83 ec 18             	sub    $0x18,%esp
47a450:	66 39 45 08          	cmp    %ax,0x8(%ebp)
47a454:	0f 84 ae 00 00 00    	je     0x47a508
47a45a:	ff 75 0c             	push   0xc(%ebp)
47a45d:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47a460:	e8 a3 4b fd ff       	call   0x44f008
47a465:	8b 45 ec             	mov    -0x14(%ebp),%eax
47a468:	8b 80 a8 00 00 00    	mov    0xa8(%eax),%eax
47a46e:	85 c0                	test   %eax,%eax
47a470:	75 21                	jne    0x47a493
47a472:	8b 4d 08             	mov    0x8(%ebp),%ecx
47a475:	8d 41 bf             	lea    -0x41(%ecx),%eax
47a478:	66 83 f8 19          	cmp    $0x19,%ax
47a47c:	77 0d                	ja     0x47a48b
47a47e:	66 83 c1 20          	add    $0x20,%cx
47a482:	0f b7 c1             	movzwl %cx,%eax
47a485:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a488:	66 8b c8             	mov    %ax,%cx
47a48b:	0f b7 c1             	movzwl %cx,%eax
47a48e:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a491:	eb 1f                	jmp    0x47a4b2
47a493:	ba 00 01 00 00       	mov    $0x100,%edx
47a498:	6a 01                	push   $0x1
47a49a:	66 39 55 08          	cmp    %dx,0x8(%ebp)
47a49e:	73 30                	jae    0x47a4d0
47a4a0:	ff 75 08             	push   0x8(%ebp)
47a4a3:	e8 48 7f ff ff       	call   0x4723f0
47a4a8:	59                   	pop    %ecx
47a4a9:	59                   	pop    %ecx
47a4aa:	85 c0                	test   %eax,%eax
47a4ac:	75 09                	jne    0x47a4b7
47a4ae:	66 8b 45 08          	mov    0x8(%ebp),%ax
47a4b2:	0f b7 c0             	movzwl %ax,%eax
47a4b5:	eb 11                	jmp    0x47a4c8
47a4b7:	8b 45 ec             	mov    -0x14(%ebp),%eax
47a4ba:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
47a4be:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
47a4c4:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
47a4c8:	0f b7 c0             	movzwl %ax,%eax
47a4cb:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a4ce:	eb 1c                	jmp    0x47a4ec
47a4d0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
47a4d3:	51                   	push   %ecx
47a4d4:	6a 01                	push   $0x1
47a4d6:	8d 4d 08             	lea    0x8(%ebp),%ecx
47a4d9:	51                   	push   %ecx
47a4da:	52                   	push   %edx
47a4db:	50                   	push   %eax
47a4dc:	e8 6e c8 00 00       	call   0x486d4f
47a4e1:	83 c4 18             	add    $0x18,%esp
47a4e4:	85 c0                	test   %eax,%eax
47a4e6:	75 0c                	jne    0x47a4f4
47a4e8:	66 8b 45 08          	mov    0x8(%ebp),%ax
47a4ec:	0f b7 c0             	movzwl %ax,%eax
47a4ef:	89 45 f8             	mov    %eax,-0x8(%ebp)
47a4f2:	eb 04                	jmp    0x47a4f8
47a4f4:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
47a4f8:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
47a4fc:	74 0a                	je     0x47a508
47a4fe:	8b 4d e8             	mov    -0x18(%ebp),%ecx
47a501:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
47a508:	8b e5                	mov    %ebp,%esp
47a50a:	5d                   	pop    %ebp
47a50b:	c3                   	ret
47a50c:	8b ff                	mov    %edi,%edi
47a50e:	55                   	push   %ebp
47a50f:	8b ec                	mov    %esp,%ebp
47a511:	6a 00                	push   $0x0
47a513:	ff 75 08             	push   0x8(%ebp)
47a516:	e8 28 ff ff ff       	call   0x47a443
47a51b:	59                   	pop    %ecx
47a51c:	59                   	pop    %ecx
47a51d:	5d                   	pop    %ebp
47a51e:	c3                   	ret
47a51f:	b8 48 ea 49 00       	mov    $0x49ea48,%eax
47a524:	c3                   	ret
47a525:	b8 30 ee 49 00       	mov    $0x49ee30,%eax
47a52a:	c3                   	ret
47a52b:	8b ff                	mov    %edi,%edi
47a52d:	55                   	push   %ebp
47a52e:	8b ec                	mov    %esp,%ebp
47a530:	83 ec 18             	sub    $0x18,%esp
47a533:	53                   	push   %ebx
47a534:	8b 5d 10             	mov    0x10(%ebp),%ebx
47a537:	56                   	push   %esi
47a538:	57                   	push   %edi
47a539:	8b 7d 08             	mov    0x8(%ebp),%edi
47a53c:	33 f6                	xor    %esi,%esi
47a53e:	85 ff                	test   %edi,%edi
47a540:	74 0d                	je     0x47a54f
47a542:	33 c0                	xor    %eax,%eax
47a544:	85 db                	test   %ebx,%ebx
47a546:	0f 84 51 01 00 00    	je     0x47a69d
47a54c:	66 89 07             	mov    %ax,(%edi)
47a54f:	39 75 0c             	cmp    %esi,0xc(%ebp)
47a552:	75 18                	jne    0x47a56c
47a554:	e8 d6 28 fd ff       	call   0x44ce2f
47a559:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a55f:	e8 72 27 fd ff       	call   0x44ccd6
47a564:	83 c8 ff             	or     $0xffffffff,%eax
47a567:	e9 31 01 00 00       	jmp    0x47a69d
47a56c:	ff 75 14             	push   0x14(%ebp)
47a56f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47a572:	e8 91 4a fd ff       	call   0x44f008
47a577:	8b 45 ec             	mov    -0x14(%ebp),%eax
47a57a:	85 ff                	test   %edi,%edi
47a57c:	0f 84 c8 00 00 00    	je     0x47a64a
47a582:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
47a588:	75 29                	jne    0x47a5b3
47a58a:	85 db                	test   %ebx,%ebx
47a58c:	0f 84 f9 00 00 00    	je     0x47a68b
47a592:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a595:	0f b6 04 0e          	movzbl (%esi,%ecx,1),%eax
47a599:	66 89 07             	mov    %ax,(%edi)
47a59c:	80 3c 0e 00          	cmpb   $0x0,(%esi,%ecx,1)
47a5a0:	0f 84 e5 00 00 00    	je     0x47a68b
47a5a6:	46                   	inc    %esi
47a5a7:	83 c7 02             	add    $0x2,%edi
47a5aa:	3b f3                	cmp    %ebx,%esi
47a5ac:	72 e7                	jb     0x47a595
47a5ae:	e9 d8 00 00 00       	jmp    0x47a68b
47a5b3:	53                   	push   %ebx
47a5b4:	57                   	push   %edi
47a5b5:	83 ce ff             	or     $0xffffffff,%esi
47a5b8:	56                   	push   %esi
47a5b9:	ff 75 0c             	push   0xc(%ebp)
47a5bc:	6a 09                	push   $0x9
47a5be:	ff 70 08             	push   0x8(%eax)
47a5c1:	ff 15 74 41 49 00    	call   *0x494174
47a5c7:	85 c0                	test   %eax,%eax
47a5c9:	0f 85 b9 00 00 00    	jne    0x47a688
47a5cf:	ff 15 24 41 49 00    	call   *0x494124
47a5d5:	83 f8 7a             	cmp    $0x7a,%eax
47a5d8:	75 5a                	jne    0x47a634
47a5da:	8b 45 0c             	mov    0xc(%ebp),%eax
47a5dd:	8b c8                	mov    %eax,%ecx
47a5df:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47a5e2:	8b d3                	mov    %ebx,%edx
47a5e4:	85 db                	test   %ebx,%ebx
47a5e6:	74 34                	je     0x47a61c
47a5e8:	8a 01                	mov    (%ecx),%al
47a5ea:	4a                   	dec    %edx
47a5eb:	89 55 f8             	mov    %edx,-0x8(%ebp)
47a5ee:	84 c0                	test   %al,%al
47a5f0:	74 27                	je     0x47a619
47a5f2:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47a5f5:	0f b6 c0             	movzbl %al,%eax
47a5f8:	51                   	push   %ecx
47a5f9:	50                   	push   %eax
47a5fa:	e8 e1 0c 00 00       	call   0x47b2e0
47a5ff:	59                   	pop    %ecx
47a600:	59                   	pop    %ecx
47a601:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47a604:	85 c0                	test   %eax,%eax
47a606:	74 06                	je     0x47a60e
47a608:	41                   	inc    %ecx
47a609:	80 39 00             	cmpb   $0x0,(%ecx)
47a60c:	74 26                	je     0x47a634
47a60e:	8b 55 f8             	mov    -0x8(%ebp),%edx
47a611:	41                   	inc    %ecx
47a612:	89 4d fc             	mov    %ecx,-0x4(%ebp)
47a615:	85 d2                	test   %edx,%edx
47a617:	75 cf                	jne    0x47a5e8
47a619:	8b 45 0c             	mov    0xc(%ebp),%eax
47a61c:	53                   	push   %ebx
47a61d:	57                   	push   %edi
47a61e:	2b c8                	sub    %eax,%ecx
47a620:	51                   	push   %ecx
47a621:	50                   	push   %eax
47a622:	8b 45 ec             	mov    -0x14(%ebp),%eax
47a625:	6a 01                	push   $0x1
47a627:	ff 70 08             	push   0x8(%eax)
47a62a:	ff 15 74 41 49 00    	call   *0x494174
47a630:	85 c0                	test   %eax,%eax
47a632:	75 12                	jne    0x47a646
47a634:	e8 f6 27 fd ff       	call   0x44ce2f
47a639:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
47a63f:	33 c0                	xor    %eax,%eax
47a641:	66 89 07             	mov    %ax,(%edi)
47a644:	eb 45                	jmp    0x47a68b
47a646:	8b f0                	mov    %eax,%esi
47a648:	eb 41                	jmp    0x47a68b
47a64a:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
47a650:	75 11                	jne    0x47a663
47a652:	8b 75 0c             	mov    0xc(%ebp),%esi
47a655:	8d 4e 01             	lea    0x1(%esi),%ecx
47a658:	8a 06                	mov    (%esi),%al
47a65a:	46                   	inc    %esi
47a65b:	84 c0                	test   %al,%al
47a65d:	75 f9                	jne    0x47a658
47a65f:	2b f1                	sub    %ecx,%esi
47a661:	eb 28                	jmp    0x47a68b
47a663:	56                   	push   %esi
47a664:	56                   	push   %esi
47a665:	83 ce ff             	or     $0xffffffff,%esi
47a668:	56                   	push   %esi
47a669:	ff 75 0c             	push   0xc(%ebp)
47a66c:	6a 09                	push   $0x9
47a66e:	ff 70 08             	push   0x8(%eax)
47a671:	ff 15 74 41 49 00    	call   *0x494174
47a677:	85 c0                	test   %eax,%eax
47a679:	75 0d                	jne    0x47a688
47a67b:	e8 af 27 fd ff       	call   0x44ce2f
47a680:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
47a686:	eb 03                	jmp    0x47a68b
47a688:	8d 70 ff             	lea    -0x1(%eax),%esi
47a68b:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
47a68f:	74 0a                	je     0x47a69b
47a691:	8b 4d e8             	mov    -0x18(%ebp),%ecx
47a694:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
47a69b:	8b c6                	mov    %esi,%eax
47a69d:	5f                   	pop    %edi
47a69e:	5e                   	pop    %esi
47a69f:	5b                   	pop    %ebx
47a6a0:	8b e5                	mov    %ebp,%esp
47a6a2:	5d                   	pop    %ebp
47a6a3:	c3                   	ret
47a6a4:	8b ff                	mov    %edi,%edi
47a6a6:	55                   	push   %ebp
47a6a7:	8b ec                	mov    %esp,%ebp
47a6a9:	5d                   	pop    %ebp
47a6aa:	e9 7c fe ff ff       	jmp    0x47a52b
47a6af:	8b ff                	mov    %edi,%edi
47a6b1:	55                   	push   %ebp
47a6b2:	8b ec                	mov    %esp,%ebp
47a6b4:	83 ec 10             	sub    $0x10,%esp
47a6b7:	53                   	push   %ebx
47a6b8:	8b 5d 10             	mov    0x10(%ebp),%ebx
47a6bb:	56                   	push   %esi
47a6bc:	57                   	push   %edi
47a6bd:	8b 7d 0c             	mov    0xc(%ebp),%edi
47a6c0:	33 f6                	xor    %esi,%esi
47a6c2:	85 ff                	test   %edi,%edi
47a6c4:	75 06                	jne    0x47a6cc
47a6c6:	85 db                	test   %ebx,%ebx
47a6c8:	74 1f                	je     0x47a6e9
47a6ca:	eb 04                	jmp    0x47a6d0
47a6cc:	85 db                	test   %ebx,%ebx
47a6ce:	75 14                	jne    0x47a6e4
47a6d0:	e8 5a 27 fd ff       	call   0x44ce2f
47a6d5:	6a 16                	push   $0x16
47a6d7:	5e                   	pop    %esi
47a6d8:	89 30                	mov    %esi,(%eax)
47a6da:	e8 f7 25 fd ff       	call   0x44ccd6
47a6df:	e9 a5 00 00 00       	jmp    0x47a789
47a6e4:	33 c0                	xor    %eax,%eax
47a6e6:	66 89 07             	mov    %ax,(%edi)
47a6e9:	8b 45 08             	mov    0x8(%ebp),%eax
47a6ec:	85 c0                	test   %eax,%eax
47a6ee:	74 02                	je     0x47a6f2
47a6f0:	89 30                	mov    %esi,(%eax)
47a6f2:	ff 75 1c             	push   0x1c(%ebp)
47a6f5:	8d 4d f0             	lea    -0x10(%ebp),%ecx
47a6f8:	e8 0b 49 fd ff       	call   0x44f008
47a6fd:	8b c3                	mov    %ebx,%eax
47a6ff:	39 5d 18             	cmp    %ebx,0x18(%ebp)
47a702:	77 03                	ja     0x47a707
47a704:	8b 45 18             	mov    0x18(%ebp),%eax
47a707:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
47a70c:	76 09                	jbe    0x47a717