4fd457:	75 06                	jne    0x4fd45f
4fd459:	83 4f 38 04          	orl    $0x4,0x38(%edi)
4fd45d:	eb 67                	jmp    0x4fd4c6
4fd45f:	6a 5b                	push   $0x5b
4fd461:	68 24 27 6b 00       	push   $0x6b2724
4fd466:	56                   	push   %esi
4fd467:	68 6c 9b 6b 00       	push   $0x6b9b6c
4fd46c:	e8 df 21 01 00       	call   0x50f650
4fd471:	83 c4 10             	add    $0x10,%esp
4fd474:	85 c0                	test   %eax,%eax
4fd476:	75 31                	jne    0x4fd4a9
4fd478:	8d 4e 03             	lea    0x3(%esi),%ecx
4fd47b:	89 45 08             	mov    %eax,0x8(%ebp)
4fd47e:	85 c9                	test   %ecx,%ecx
4fd480:	74 10                	je     0x4fd492
4fd482:	8d 45 08             	lea    0x8(%ebp),%eax
4fd485:	50                   	push   %eax
4fd486:	51                   	push   %ecx
4fd487:	e8 14 f9 02 00       	call   0x52cda0
4fd48c:	8b 45 08             	mov    0x8(%ebp),%eax
4fd48f:	83 c4 08             	add    $0x8,%esp
4fd492:	83 f8 02             	cmp    $0x2,%eax
4fd495:	0f 4c c3             	cmovl  %ebx,%eax
4fd498:	99                   	cltd
4fd499:	52                   	push   %edx
4fd49a:	50                   	push   %eax
4fd49b:	e8 f0 38 03 00       	call   0x530d90
4fd4a0:	83 c4 08             	add    $0x8,%esp
4fd4a3:	66 89 47 30          	mov    %ax,0x30(%edi)
4fd4a7:	eb 1d                	jmp    0x4fd4c6
4fd4a9:	6a 5b                	push   $0x5b
4fd4ab:	68 24 27 6b 00       	push   $0x6b2724
4fd4b0:	56                   	push   %esi
4fd4b1:	68 78 9b 6b 00       	push   $0x6b9b78
4fd4b6:	e8 95 21 01 00       	call   0x50f650
4fd4bb:	83 c4 10             	add    $0x10,%esp
4fd4be:	85 c0                	test   %eax,%eax
4fd4c0:	75 04                	jne    0x4fd4c6
4fd4c2:	83 4f 38 40          	orl    $0x40,0x38(%edi)
4fd4c6:	8a 06                	mov    (%esi),%al
4fd4c8:	84 c0                	test   %al,%al
4fd4ca:	74 10                	je     0x4fd4dc
4fd4cc:	0f 1f 40 00          	nopl   0x0(%eax)
4fd4d0:	3c 20                	cmp    $0x20,%al
4fd4d2:	74 0d                	je     0x4fd4e1
4fd4d4:	8a 46 01             	mov    0x1(%esi),%al
4fd4d7:	46                   	inc    %esi
4fd4d8:	84 c0                	test   %al,%al
4fd4da:	75 f4                	jne    0x4fd4d0
4fd4dc:	80 3e 20             	cmpb   $0x20,(%esi)
4fd4df:	75 06                	jne    0x4fd4e7
4fd4e1:	46                   	inc    %esi
4fd4e2:	80 3e 20             	cmpb   $0x20,(%esi)
4fd4e5:	74 fa                	je     0x4fd4e1
4fd4e7:	80 3e 00             	cmpb   $0x0,(%esi)
4fd4ea:	0f 85 50 ff ff ff    	jne    0x4fd440
4fd4f0:	5f                   	pop    %edi
4fd4f1:	5e                   	pop    %esi
4fd4f2:	5b                   	pop    %ebx
4fd4f3:	5d                   	pop    %ebp
4fd4f4:	c3                   	ret
4fd4f5:	cc                   	int3
4fd4f6:	cc                   	int3
4fd4f7:	cc                   	int3
4fd4f8:	cc                   	int3
4fd4f9:	cc                   	int3
4fd4fa:	cc                   	int3
4fd4fb:	cc                   	int3
4fd4fc:	cc                   	int3
4fd4fd:	cc                   	int3
4fd4fe:	cc                   	int3
4fd4ff:	cc                   	int3
4fd500:	55                   	push   %ebp
4fd501:	8b ec                	mov    %esp,%ebp
4fd503:	83 ec 24             	sub    $0x24,%esp
4fd506:	8b 45 08             	mov    0x8(%ebp),%eax
4fd509:	53                   	push   %ebx
4fd50a:	56                   	push   %esi
4fd50b:	57                   	push   %edi
4fd50c:	0f b7 78 12          	movzwl 0x12(%eax),%edi
4fd510:	0f b7 50 18          	movzwl 0x18(%eax),%edx
4fd514:	8b 58 38             	mov    0x38(%eax),%ebx
4fd517:	0f b6 48 09          	movzbl 0x9(%eax),%ecx
4fd51b:	8b 40 34             	mov    0x34(%eax),%eax
4fd51e:	89 55 dc             	mov    %edx,-0x24(%ebp)
4fd521:	8d 14 57             	lea    (%edi,%edx,2),%edx
4fd524:	89 55 e8             	mov    %edx,-0x18(%ebp)
4fd527:	8d 14 19             	lea    (%ecx,%ebx,1),%edx
4fd52a:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4fd531:	8b 70 24             	mov    0x24(%eax),%esi
4fd534:	0f b6 42 07          	movzbl 0x7(%edx),%eax
4fd538:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4fd53b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4fd53e:	89 7d f4             	mov    %edi,-0xc(%ebp)
4fd541:	89 75 f8             	mov    %esi,-0x8(%ebp)
4fd544:	89 55 ec             	mov    %edx,-0x14(%ebp)
4fd547:	3b 45 0c             	cmp    0xc(%ebp),%eax
4fd54a:	0f 8f 27 02 00 00    	jg     0x4fd777
4fd550:	0f b6 7a 01          	movzbl 0x1(%edx),%edi
4fd554:	8d 4e fc             	lea    -0x4(%esi),%ecx
4fd557:	0f b6 42 02          	movzbl 0x2(%edx),%eax
4fd55b:	c1 e7 08             	shl    $0x8,%edi
4fd55e:	0b f8                	or     %eax,%edi
4fd560:	3b f9                	cmp    %ecx,%edi
4fd562:	7e 2a                	jle    0x4fd58e
4fd564:	68 fc c4 6b 00       	push   $0x6bc4fc
4fd569:	68 02 00 01 00       	push   $0x10002
4fd56e:	68 94 c4 6b 00       	push   $0x6bc494
4fd573:	68 78 c4 6b 00       	push   $0x6bc478
4fd578:	6a 0b                	push   $0xb
4fd57a:	e8 61 2a fe ff       	call   0x4dffe0
4fd57f:	83 c4 14             	add    $0x14,%esp
4fd582:	b8 0b 00 00 00       	mov    $0xb,%eax
4fd587:	5f                   	pop    %edi
4fd588:	5e                   	pop    %esi
4fd589:	5b                   	pop    %ebx
4fd58a:	8b e5                	mov    %ebp,%esp
4fd58c:	5d                   	pop    %ebp
4fd58d:	c3                   	ret
4fd58e:	85 ff                	test   %edi,%edi
4fd590:	0f 84 de 01 00 00    	je     0x4fd774
4fd596:	0f b6 04 1f          	movzbl (%edi,%ebx,1),%eax
4fd59a:	0f b6 74 1f 01       	movzbl 0x1(%edi,%ebx,1),%esi
4fd59f:	c1 e0 08             	shl    $0x8,%eax
4fd5a2:	0b f0                	or     %eax,%esi
4fd5a4:	89 75 e0             	mov    %esi,-0x20(%ebp)
4fd5a7:	3b f1                	cmp    %ecx,%esi
4fd5a9:	7e 14                	jle    0x4fd5bf
4fd5ab:	68 05 00 01 00       	push   $0x10005
4fd5b0:	e8 fb 27 02 00       	call   0x51fdb0
4fd5b5:	83 c4 04             	add    $0x4,%esp
4fd5b8:	5f                   	pop    %edi
4fd5b9:	5e                   	pop    %esi
4fd5ba:	5b                   	pop    %ebx
4fd5bb:	8b e5                	mov    %ebp,%esp
4fd5bd:	5d                   	pop    %ebp
4fd5be:	c3                   	ret
4fd5bf:	85 f6                	test   %esi,%esi
4fd5c1:	74 15                	je     0x4fd5d8
4fd5c3:	80 3c 1e 00          	cmpb   $0x0,(%esi,%ebx,1)
4fd5c7:	0f 85 a4 01 00 00    	jne    0x4fd771
4fd5cd:	80 7c 1e 01 00       	cmpb   $0x0,0x1(%esi,%ebx,1)
4fd5d2:	0f 85 99 01 00 00    	jne    0x4fd771
4fd5d8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4fd5db:	0f b6 4c 1f 02       	movzbl 0x2(%edi,%ebx,1),%ecx
4fd5e0:	03 c3                	add    %ebx,%eax
4fd5e2:	89 45 dc             	mov    %eax,-0x24(%ebp)
4fd5e5:	0f b6 44 1f 03       	movzbl 0x3(%edi,%ebx,1),%eax
4fd5ea:	c1 e1 08             	shl    $0x8,%ecx
4fd5ed:	0b c8                	or     %eax,%ecx
4fd5ef:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4fd5f6:	0f b6 42 05          	movzbl 0x5(%edx),%eax
4fd5fa:	c1 e0 08             	shl    $0x8,%eax
4fd5fd:	89 45 0c             	mov    %eax,0xc(%ebp)
4fd600:	0f b6 42 06          	movzbl 0x6(%edx),%eax
4fd604:	8b 55 0c             	mov    0xc(%ebp),%edx
4fd607:	0b d0                	or     %eax,%edx
4fd609:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4fd60c:	89 55 0c             	mov    %edx,0xc(%ebp)
4fd60f:	3b d7                	cmp    %edi,%edx
4fd611:	72 14                	jb     0x4fd627
4fd613:	68 0d 00 01 00       	push   $0x1000d
4fd618:	e8 93 27 02 00       	call   0x51fdb0
4fd61d:	83 c4 04             	add    $0x4,%esp
4fd620:	5f                   	pop    %edi
4fd621:	5e                   	pop    %esi
4fd622:	5b                   	pop    %ebx
4fd623:	8b e5                	mov    %ebp,%esp
4fd625:	5d                   	pop    %ebp
4fd626:	c3                   	ret
4fd627:	8d 04 39             	lea    (%ecx,%edi,1),%eax
4fd62a:	85 f6                	test   %esi,%esi
4fd62c:	0f 84 be 00 00 00    	je     0x4fd6f0
4fd632:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4fd635:	3b c6                	cmp    %esi,%eax
4fd637:	7e 14                	jle    0x4fd64d
4fd639:	68 10 00 01 00       	push   $0x10010
4fd63e:	e8 6d 27 02 00       	call   0x51fdb0
4fd643:	83 c4 04             	add    $0x4,%esp
4fd646:	5f                   	pop    %edi
4fd647:	5e                   	pop    %esi
4fd648:	5b                   	pop    %ebx
4fd649:	8b e5                	mov    %ebp,%esp
4fd64b:	5d                   	pop    %ebp
4fd64c:	c3                   	ret
4fd64d:	0f b6 54 1e 02       	movzbl 0x2(%esi,%ebx,1),%edx
4fd652:	0f b6 44 1e 03       	movzbl 0x3(%esi,%ebx,1),%eax
4fd657:	c1 e2 08             	shl    $0x8,%edx
4fd65a:	0b d0                	or     %eax,%edx
4fd65c:	89 55 f0             	mov    %edx,-0x10(%ebp)
4fd65f:	8d 04 32             	lea    (%edx,%esi,1),%eax
4fd662:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4fd665:	7e 14                	jle    0x4fd67b
4fd667:	68 12 00 01 00       	push   $0x10012
4fd66c:	e8 3f 27 02 00       	call   0x51fdb0
4fd671:	83 c4 04             	add    $0x4,%esp
4fd674:	5f                   	pop    %edi
4fd675:	5e                   	pop    %esi
4fd676:	5b                   	pop    %ebx
4fd677:	8b e5                	mov    %ebp,%esp
4fd679:	5d                   	pop    %ebp
4fd67a:	c3                   	ret
4fd67b:	8b 45 e0             	mov    -0x20(%ebp),%eax
4fd67e:	8d 34 11             	lea    (%ecx,%edx,1),%esi
4fd681:	2b c1                	sub    %ecx,%eax
4fd683:	2b c7                	sub    %edi,%eax
4fd685:	50                   	push   %eax
4fd686:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4fd689:	03 c3                	add    %ebx,%eax
4fd68b:	50                   	push   %eax
4fd68c:	8d 04 3e             	lea    (%esi,%edi,1),%eax
4fd68f:	03 c3                	add    %ebx,%eax
4fd691:	50                   	push   %eax
4fd692:	e8 e9 5d 0e 00       	call   0x5e3480
4fd697:	8b 55 0c             	mov    0xc(%ebp),%edx
4fd69a:	8b ce                	mov    %esi,%ecx
4fd69c:	8b 75 e0             	mov    -0x20(%ebp),%esi
4fd69f:	83 c4 0c             	add    $0xc,%esp
4fd6a2:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4fd6a5:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
4fd6a8:	8b c7                	mov    %edi,%eax
4fd6aa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4fd6ad:	2b c2                	sub    %edx,%eax
4fd6af:	50                   	push   %eax
4fd6b0:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4fd6b3:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
4fd6b6:	50                   	push   %eax
4fd6b7:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
4fd6ba:	50                   	push   %eax
4fd6bb:	e8 c0 5d 0e 00       	call   0x5e3480
4fd6c0:	8b 55 f4             	mov    -0xc(%ebp),%edx
4fd6c3:	83 c4 0c             	add    $0xc,%esp
4fd6c6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4fd6c9:	03 d1                	add    %ecx,%edx
4fd6cb:	3b 55 dc             	cmp    -0x24(%ebp),%edx
4fd6ce:	73 5d                	jae    0x4fd72d
4fd6d0:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4fd6d3:	0f b6 0a             	movzbl (%edx),%ecx
4fd6d6:	0f b6 42 01          	movzbl 0x1(%edx),%eax
4fd6da:	c1 e1 08             	shl    $0x8,%ecx
4fd6dd:	0b c8                	or     %eax,%ecx
4fd6df:	3b cf                	cmp    %edi,%ecx
4fd6e1:	7d 26                	jge    0x4fd709
4fd6e3:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
4fd6e6:	c1 f8 08             	sar    $0x8,%eax
4fd6e9:	88 02                	mov    %al,(%edx)
4fd6eb:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
4fd6ee:	eb 2c                	jmp    0x4fd71c
4fd6f0:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4fd6f3:	7e b0                	jle    0x4fd6a5
4fd6f5:	68 16 00 01 00       	push   $0x10016
4fd6fa:	e8 b1 26 02 00       	call   0x51fdb0
4fd6ff:	83 c4 04             	add    $0x4,%esp
4fd702:	5f                   	pop    %edi
4fd703:	5e                   	pop    %esi
4fd704:	5b                   	pop    %ebx
4fd705:	8b e5                	mov    %ebp,%esp
4fd707:	5d                   	pop    %ebp
4fd708:	c3                   	ret
4fd709:	3b ce                	cmp    %esi,%ecx
4fd70b:	7d 12                	jge    0x4fd71f
4fd70d:	8b 45 f0             	mov    -0x10(%ebp),%eax
4fd710:	03 c1                	add    %ecx,%eax
4fd712:	c1 f8 08             	sar    $0x8,%eax
4fd715:	88 02                	mov    %al,(%edx)
4fd717:	8a 45 f0             	mov    -0x10(%ebp),%al
4fd71a:	02 c1                	add    %cl,%al
4fd71c:	88 42 01             	mov    %al,0x1(%edx)
4fd71f:	83 c2 02             	add    $0x2,%edx
4fd722:	3b 55 dc             	cmp    -0x24(%ebp),%edx
4fd725:	72 ac                	jb     0x4fd6d3
4fd727:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4fd72a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4fd72d:	8b 55 ec             	mov    -0x14(%ebp),%edx
4fd730:	0f b6 42 07          	movzbl 0x7(%edx),%eax
4fd734:	8b 7d e8             	mov    -0x18(%ebp),%edi
4fd737:	2b c7                	sub    %edi,%eax
4fd739:	8b 75 08             	mov    0x8(%ebp),%esi
4fd73c:	03 c3                	add    %ebx,%eax
4fd73e:	3b 46 14             	cmp    0x14(%esi),%eax
4fd741:	0f 84 81 01 00 00    	je     0x4fd8c8
4fd747:	68 fc c4 6b 00       	push   $0x6bc4fc
4fd74c:	68 4d 00 01 00       	push   $0x1004d
4fd751:	68 94 c4 6b 00       	push   $0x6bc494
4fd756:	68 78 c4 6b 00       	push   $0x6bc478
4fd75b:	6a 0b                	push   $0xb
4fd75d:	e8 7e 28 fe ff       	call   0x4dffe0
4fd762:	83 c4 14             	add    $0x14,%esp
4fd765:	b8 0b 00 00 00       	mov    $0xb,%eax
4fd76a:	5f                   	pop    %edi
4fd76b:	5e                   	pop    %esi
4fd76c:	5b                   	pop    %ebx
4fd76d:	8b e5                	mov    %ebp,%esp
4fd76f:	5d                   	pop    %ebp
4fd770:	c3                   	ret
4fd771:	8b 75 f8             	mov    -0x8(%ebp),%esi
4fd774:	8b 7d f4             	mov    -0xc(%ebp),%edi
4fd777:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4fd77b:	8d 4e fc             	lea    -0x4(%esi),%ecx
4fd77e:	8b de                	mov    %esi,%ebx
4fd780:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4fd783:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
4fd78a:	0f 86 d8 00 00 00    	jbe    0x4fd868
4fd790:	03 7d fc             	add    -0x4(%ebp),%edi
4fd793:	0f b6 37             	movzbl (%edi),%esi
4fd796:	0f b6 47 01          	movzbl 0x1(%edi),%eax
4fd79a:	c1 e6 08             	shl    $0x8,%esi
4fd79d:	0b f0                	or     %eax,%esi
4fd79f:	3b 75 e8             	cmp    -0x18(%ebp),%esi
4fd7a2:	0f 8c f6 00 00 00    	jl     0x4fd89e
4fd7a8:	3b f1                	cmp    %ecx,%esi
4fd7aa:	0f 8f ee 00 00 00    	jg     0x4fd89e
4fd7b0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4fd7b3:	03 c6                	add    %esi,%eax
4fd7b5:	50                   	push   %eax
4fd7b6:	8b 45 08             	mov    0x8(%ebp),%eax
4fd7b9:	50                   	push   %eax
4fd7ba:	8b 40 4c             	mov    0x4c(%eax),%eax
4fd7bd:	ff d0                	call   *%eax
4fd7bf:	0f b7 d0             	movzwl %ax,%edx
4fd7c2:	83 c4 08             	add    $0x8,%esp
4fd7c5:	2b da                	sub    %edx,%ebx
4fd7c7:	89 55 e0             	mov    %edx,-0x20(%ebp)
4fd7ca:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
4fd7cd:	0f 8c a1 00 00 00    	jl     0x4fd874
4fd7d3:	8d 04 32             	lea    (%edx,%esi,1),%eax
4fd7d6:	3b 45 f8             	cmp    -0x8(%ebp),%eax
4fd7d9:	0f 8f 95 00 00 00    	jg     0x4fd874
4fd7df:	8b c3                	mov    %ebx,%eax
4fd7e1:	88 5f 01             	mov    %bl,0x1(%edi)
4fd7e4:	c1 f8 08             	sar    $0x8,%eax
4fd7e7:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4fd7eb:	88 07                	mov    %al,(%edi)
4fd7ed:	75 4b                	jne    0x4fd83a
4fd7ef:	3b de                	cmp    %esi,%ebx
4fd7f1:	74 5c                	je     0x4fd84f
4fd7f3:	8b 45 08             	mov    0x8(%ebp),%eax
4fd7f6:	8b 40 34             	mov    0x34(%eax),%eax
4fd7f9:	8b 00                	mov    (%eax),%eax
4fd7fb:	8b 80 d0 00 00 00    	mov    0xd0(%eax),%eax
4fd801:	89 45 f0             	mov    %eax,-0x10(%ebp)
4fd804:	8b 45 ec             	mov    -0x14(%ebp),%eax
4fd807:	0f b6 48 05          	movzbl 0x5(%eax),%ecx
4fd80b:	0f b6 40 06          	movzbl 0x6(%eax),%eax
4fd80f:	c1 e1 08             	shl    $0x8,%ecx
4fd812:	0b c8                	or     %eax,%ecx
4fd814:	8b c2                	mov    %edx,%eax
4fd816:	2b c1                	sub    %ecx,%eax
4fd818:	03 c3                	add    %ebx,%eax
4fd81a:	50                   	push   %eax