5eb327:	8b c7                	mov    %edi,%eax
5eb329:	23 45 0c             	and    0xc(%ebp),%eax
5eb32c:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
5eb332:	e8 99 6b fe ff       	call   0x5d1ed0
5eb337:	6a 08                	push   $0x8
5eb339:	0f b7 c0             	movzwl %ax,%eax
5eb33c:	59                   	pop    %ecx
5eb33d:	66 3b c1             	cmp    %cx,%ax
5eb340:	77 66                	ja     0x5eb3a8
5eb342:	73 04                	jae    0x5eb348
5eb344:	32 c0                	xor    %al,%al
5eb346:	eb 62                	jmp    0x5eb3aa
5eb348:	33 c0                	xor    %eax,%eax
5eb34a:	33 d2                	xor    %edx,%edx
5eb34c:	40                   	inc    %eax
5eb34d:	8b cb                	mov    %ebx,%ecx
5eb34f:	e8 5c 68 fe ff       	call   0x5d1bb0
5eb354:	83 c0 ff             	add    $0xffffffff,%eax
5eb357:	83 d2 ff             	adc    $0xffffffff,%edx
5eb35a:	23 c7                	and    %edi,%eax
5eb35c:	23 d6                	and    %esi,%edx
5eb35e:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
5eb364:	0b c2                	or     %edx,%eax
5eb366:	75 40                	jne    0x5eb3a8
5eb368:	66 83 7d 14 30       	cmpw   $0x30,0x14(%ebp)
5eb36d:	74 22                	je     0x5eb391
5eb36f:	0f ac f7 04          	shrd   $0x4,%esi,%edi
5eb373:	8b cb                	mov    %ebx,%ecx
5eb375:	23 7d 0c             	and    0xc(%ebp),%edi
5eb378:	c1 ee 04             	shr    $0x4,%esi
5eb37b:	8b c7                	mov    %edi,%eax
5eb37d:	23 75 10             	and    0x10(%ebp),%esi
5eb380:	81 e6 ff ff 00 00    	and    $0xffff,%esi
5eb386:	8b d6                	mov    %esi,%edx
5eb388:	e8 43 6b fe ff       	call   0x5d1ed0
5eb38d:	8a c8                	mov    %al,%cl
5eb38f:	eb 10                	jmp    0x5eb3a1
5eb391:	33 c9                	xor    %ecx,%ecx
5eb393:	81 e6 00 00 f0 7f    	and    $0x7ff00000,%esi
5eb399:	8b c1                	mov    %ecx,%eax
5eb39b:	0b c6                	or     %esi,%eax
5eb39d:	74 02                	je     0x5eb3a1
5eb39f:	b1 01                	mov    $0x1,%cl
5eb3a1:	80 e1 01             	and    $0x1,%cl
5eb3a4:	8a c1                	mov    %cl,%al
5eb3a6:	eb 02                	jmp    0x5eb3aa
5eb3a8:	b0 01                	mov    $0x1,%al
5eb3aa:	5f                   	pop    %edi
5eb3ab:	5e                   	pop    %esi
5eb3ac:	5b                   	pop    %ebx
5eb3ad:	5d                   	pop    %ebp
5eb3ae:	c3                   	ret
5eb3af:	8b ff                	mov    %edi,%edi
5eb3b1:	55                   	push   %ebp
5eb3b2:	8b ec                	mov    %esp,%ebp
5eb3b4:	83 ec 2c             	sub    $0x2c,%esp
5eb3b7:	33 d2                	xor    %edx,%edx
5eb3b9:	56                   	push   %esi
5eb3ba:	8b 75 1c             	mov    0x1c(%ebp),%esi
5eb3bd:	57                   	push   %edi
5eb3be:	85 f6                	test   %esi,%esi
5eb3c0:	79 02                	jns    0x5eb3c4
5eb3c2:	8b f2                	mov    %edx,%esi
5eb3c4:	8b 7d 0c             	mov    0xc(%ebp),%edi
5eb3c7:	8d 46 0b             	lea    0xb(%esi),%eax
5eb3ca:	88 17                	mov    %dl,(%edi)
5eb3cc:	39 45 10             	cmp    %eax,0x10(%ebp)
5eb3cf:	77 22                	ja     0x5eb3f3
5eb3d1:	8b 4d 2c             	mov    0x2c(%ebp),%ecx
5eb3d4:	6a 22                	push   $0x22
5eb3d6:	5e                   	pop    %esi
5eb3d7:	51                   	push   %ecx
5eb3d8:	52                   	push   %edx
5eb3d9:	52                   	push   %edx
5eb3da:	52                   	push   %edx
5eb3db:	52                   	push   %edx
5eb3dc:	52                   	push   %edx
5eb3dd:	c6 41 1c 01          	movb   $0x1,0x1c(%ecx)
5eb3e1:	89 71 18             	mov    %esi,0x18(%ecx)
5eb3e4:	e8 7a ad fe ff       	call   0x5d6163
5eb3e9:	83 c4 18             	add    $0x18,%esp
5eb3ec:	8b c6                	mov    %esi,%eax
5eb3ee:	e9 e5 02 00 00       	jmp    0x5eb6d8
5eb3f3:	53                   	push   %ebx
5eb3f4:	8b 5d 08             	mov    0x8(%ebp),%ebx
5eb3f7:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
5eb3fc:	8b 43 04             	mov    0x4(%ebx),%eax
5eb3ff:	c1 e8 14             	shr    $0x14,%eax
5eb402:	23 c1                	and    %ecx,%eax
5eb404:	3b c1                	cmp    %ecx,%eax
5eb406:	75 53                	jne    0x5eb45b
5eb408:	ff 75 2c             	push   0x2c(%ebp)
5eb40b:	ff 75 28             	push   0x28(%ebp)
5eb40e:	ff 75 24             	push   0x24(%ebp)
5eb411:	52                   	push   %edx
5eb412:	56                   	push   %esi
5eb413:	ff 75 18             	push   0x18(%ebp)
5eb416:	ff 75 14             	push   0x14(%ebp)
5eb419:	ff 75 10             	push   0x10(%ebp)
5eb41c:	57                   	push   %edi
5eb41d:	53                   	push   %ebx
5eb41e:	e8 b9 02 00 00       	call   0x5eb6dc
5eb423:	83 c4 28             	add    $0x28,%esp
5eb426:	85 c0                	test   %eax,%eax
5eb428:	74 08                	je     0x5eb432
5eb42a:	c6 07 00             	movb   $0x0,(%edi)
5eb42d:	e9 a5 02 00 00       	jmp    0x5eb6d7
5eb432:	6a 65                	push   $0x65
5eb434:	57                   	push   %edi
5eb435:	e8 66 80 fe ff       	call   0x5d34a0
5eb43a:	59                   	pop    %ecx
5eb43b:	59                   	pop    %ecx
5eb43c:	85 c0                	test   %eax,%eax
5eb43e:	0f 84 91 02 00 00    	je     0x5eb6d5
5eb444:	8a 4d 20             	mov    0x20(%ebp),%cl
5eb447:	80 f1 01             	xor    $0x1,%cl
5eb44a:	c0 e1 05             	shl    $0x5,%cl
5eb44d:	80 c1 50             	add    $0x50,%cl
5eb450:	88 08                	mov    %cl,(%eax)
5eb452:	c6 40 03 00          	movb   $0x0,0x3(%eax)
5eb456:	e9 7a 02 00 00       	jmp    0x5eb6d5
5eb45b:	39 53 04             	cmp    %edx,0x4(%ebx)
5eb45e:	7f 0a                	jg     0x5eb46a
5eb460:	7c 04                	jl     0x5eb466
5eb462:	39 13                	cmp    %edx,(%ebx)
5eb464:	73 04                	jae    0x5eb46a
5eb466:	c6 07 2d             	movb   $0x2d,(%edi)
5eb469:	47                   	inc    %edi
5eb46a:	8a 45 20             	mov    0x20(%ebp),%al
5eb46d:	8d 57 01             	lea    0x1(%edi),%edx
5eb470:	8b 4b 04             	mov    0x4(%ebx),%ecx
5eb473:	34 01                	xor    $0x1,%al
5eb475:	88 45 ff             	mov    %al,-0x1(%ebp)
5eb478:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
5eb47e:	0f b6 c0             	movzbl %al,%eax
5eb481:	c1 e0 05             	shl    $0x5,%eax
5eb484:	83 c0 07             	add    $0x7,%eax
5eb487:	c7 45 f0 ff 03 00 00 	movl   $0x3ff,-0x10(%ebp)
5eb48e:	89 45 d8             	mov    %eax,-0x28(%ebp)
5eb491:	33 c0                	xor    %eax,%eax
5eb493:	0b c1                	or     %ecx,%eax
5eb495:	89 55 f4             	mov    %edx,-0xc(%ebp)
5eb498:	6a 30                	push   $0x30
5eb49a:	58                   	pop    %eax
5eb49b:	75 1e                	jne    0x5eb4bb
5eb49d:	88 07                	mov    %al,(%edi)
5eb49f:	8b 43 04             	mov    0x4(%ebx),%eax
5eb4a2:	8b 0b                	mov    (%ebx),%ecx
5eb4a4:	25 ff ff 0f 00       	and    $0xfffff,%eax
5eb4a9:	0b c8                	or     %eax,%ecx
5eb4ab:	75 05                	jne    0x5eb4b2
5eb4ad:	21 4d f0             	and    %ecx,-0x10(%ebp)
5eb4b0:	eb 0c                	jmp    0x5eb4be
5eb4b2:	c7 45 f0 fe 03 00 00 	movl   $0x3fe,-0x10(%ebp)
5eb4b9:	eb 03                	jmp    0x5eb4be
5eb4bb:	c6 07 31             	movb   $0x31,(%edi)
5eb4be:	8d 7a 01             	lea    0x1(%edx),%edi
5eb4c1:	85 f6                	test   %esi,%esi
5eb4c3:	75 04                	jne    0x5eb4c9
5eb4c5:	32 c0                	xor    %al,%al
5eb4c7:	eb 23                	jmp    0x5eb4ec
5eb4c9:	8b 45 2c             	mov    0x2c(%ebp),%eax
5eb4cc:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
5eb4d0:	75 0d                	jne    0x5eb4df
5eb4d2:	8b c8                	mov    %eax,%ecx
5eb4d4:	e8 a7 f2 fe ff       	call   0x5da780
5eb4d9:	8b 45 2c             	mov    0x2c(%ebp),%eax
5eb4dc:	8b 55 f4             	mov    -0xc(%ebp),%edx
5eb4df:	8b 40 0c             	mov    0xc(%eax),%eax
5eb4e2:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
5eb4e8:	8b 00                	mov    (%eax),%eax
5eb4ea:	8a 00                	mov    (%eax),%al
5eb4ec:	88 02                	mov    %al,(%edx)
5eb4ee:	8b 43 04             	mov    0x4(%ebx),%eax
5eb4f1:	25 ff ff 0f 00       	and    $0xfffff,%eax
5eb4f6:	89 45 e0             	mov    %eax,-0x20(%ebp)
5eb4f9:	77 09                	ja     0x5eb504
5eb4fb:	83 3b 00             	cmpl   $0x0,(%ebx)
5eb4fe:	0f 86 bf 00 00 00    	jbe    0x5eb5c3
5eb504:	6a 30                	push   $0x30
5eb506:	58                   	pop    %eax
5eb507:	89 45 f8             	mov    %eax,-0x8(%ebp)
5eb50a:	b9 00 00 0f 00       	mov    $0xf0000,%ecx
5eb50f:	33 c0                	xor    %eax,%eax
5eb511:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5eb514:	89 45 ec             	mov    %eax,-0x14(%ebp)
5eb517:	8b 55 f8             	mov    -0x8(%ebp),%edx
5eb51a:	0f b7 d2             	movzwl %dx,%edx
5eb51d:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5eb520:	8b d7                	mov    %edi,%edx
5eb522:	89 7d e0             	mov    %edi,-0x20(%ebp)
5eb525:	85 f6                	test   %esi,%esi
5eb527:	7e 50                	jle    0x5eb579
5eb529:	8b 53 04             	mov    0x4(%ebx),%edx
5eb52c:	23 03                	and    (%ebx),%eax
5eb52e:	23 d1                	and    %ecx,%edx
5eb530:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5eb533:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
5eb539:	0f b7 c9             	movzwl %cx,%ecx
5eb53c:	e8 8f 69 fe ff       	call   0x5d1ed0
5eb541:	6a 30                	push   $0x30
5eb543:	59                   	pop    %ecx
5eb544:	66 03 c1             	add    %cx,%ax
5eb547:	0f b7 c0             	movzwl %ax,%eax
5eb54a:	83 f8 39             	cmp    $0x39,%eax
5eb54d:	76 03                	jbe    0x5eb552
5eb54f:	03 45 d8             	add    -0x28(%ebp),%eax
5eb552:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5eb555:	8b 55 f8             	mov    -0x8(%ebp),%edx
5eb558:	88 07                	mov    %al,(%edi)
5eb55a:	83 ea 04             	sub    $0x4,%edx
5eb55d:	8b 45 ec             	mov    -0x14(%ebp),%eax
5eb560:	47                   	inc    %edi
5eb561:	0f ac c8 04          	shrd   $0x4,%ecx,%eax
5eb565:	89 55 f8             	mov    %edx,-0x8(%ebp)
5eb568:	c1 e9 04             	shr    $0x4,%ecx
5eb56b:	4e                   	dec    %esi
5eb56c:	89 45 ec             	mov    %eax,-0x14(%ebp)
5eb56f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5eb572:	66 85 d2             	test   %dx,%dx
5eb575:	79 a0                	jns    0x5eb517
5eb577:	eb 4a                	jmp    0x5eb5c3
5eb579:	ff 75 28             	push   0x28(%ebp)
5eb57c:	8b fa                	mov    %edx,%edi
5eb57e:	ff 75 e4             	push   -0x1c(%ebp)
5eb581:	51                   	push   %ecx
5eb582:	50                   	push   %eax
5eb583:	53                   	push   %ebx
5eb584:	e8 66 06 00 00       	call   0x5ebbef
5eb589:	83 c4 14             	add    $0x14,%esp
5eb58c:	84 c0                	test   %al,%al
5eb58e:	74 47                	je     0x5eb5d7
5eb590:	8b 7d e0             	mov    -0x20(%ebp),%edi
5eb593:	6a 30                	push   $0x30
5eb595:	5b                   	pop    %ebx
5eb596:	8d 47 ff             	lea    -0x1(%edi),%eax
5eb599:	8a 08                	mov    (%eax),%cl
5eb59b:	80 f9 66             	cmp    $0x66,%cl
5eb59e:	74 05                	je     0x5eb5a5
5eb5a0:	80 f9 46             	cmp    $0x46,%cl
5eb5a3:	75 05                	jne    0x5eb5aa
5eb5a5:	88 18                	mov    %bl,(%eax)
5eb5a7:	48                   	dec    %eax
5eb5a8:	eb ef                	jmp    0x5eb599
5eb5aa:	8b 5d 08             	mov    0x8(%ebp),%ebx
5eb5ad:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5eb5b0:	74 0e                	je     0x5eb5c0
5eb5b2:	80 f9 39             	cmp    $0x39,%cl
5eb5b5:	75 03                	jne    0x5eb5ba
5eb5b7:	02 4d d8             	add    -0x28(%ebp),%cl
5eb5ba:	fe c1                	inc    %cl
5eb5bc:	88 08                	mov    %cl,(%eax)
5eb5be:	eb 03                	jmp    0x5eb5c3
5eb5c0:	fe 40 ff             	incb   -0x1(%eax)
5eb5c3:	85 f6                	test   %esi,%esi
5eb5c5:	7e 10                	jle    0x5eb5d7
5eb5c7:	56                   	push   %esi
5eb5c8:	6a 30                	push   $0x30
5eb5ca:	58                   	pop    %eax
5eb5cb:	50                   	push   %eax
5eb5cc:	57                   	push   %edi
5eb5cd:	e8 9e 76 fe ff       	call   0x5d2c70
5eb5d2:	83 c4 0c             	add    $0xc,%esp
5eb5d5:	03 fe                	add    %esi,%edi
5eb5d7:	8b 45 f4             	mov    -0xc(%ebp),%eax
5eb5da:	80 38 00             	cmpb   $0x0,(%eax)
5eb5dd:	75 02                	jne    0x5eb5e1
5eb5df:	8b f8                	mov    %eax,%edi
5eb5e1:	8a 45 ff             	mov    -0x1(%ebp),%al
5eb5e4:	b1 34                	mov    $0x34,%cl
5eb5e6:	c0 e0 05             	shl    $0x5,%al
5eb5e9:	04 50                	add    $0x50,%al
5eb5eb:	88 07                	mov    %al,(%edi)
5eb5ed:	8b 03                	mov    (%ebx),%eax
5eb5ef:	8b 53 04             	mov    0x4(%ebx),%edx
5eb5f2:	e8 d9 68 fe ff       	call   0x5d1ed0
5eb5f7:	8b d8                	mov    %eax,%ebx
5eb5f9:	33 f6                	xor    %esi,%esi
5eb5fb:	81 e3 ff 07 00 00    	and    $0x7ff,%ebx
5eb601:	8d 47 02             	lea    0x2(%edi),%eax
5eb604:	2b 5d f0             	sub    -0x10(%ebp),%ebx
5eb607:	89 45 f0             	mov    %eax,-0x10(%ebp)
5eb60a:	1b f6                	sbb    %esi,%esi
5eb60c:	78 0a                	js     0x5eb618
5eb60e:	7f 04                	jg     0x5eb614
5eb610:	85 db                	test   %ebx,%ebx
5eb612:	72 04                	jb     0x5eb618
5eb614:	b1 2b                	mov    $0x2b,%cl
5eb616:	eb 0a                	jmp    0x5eb622
5eb618:	f7 db                	neg    %ebx
5eb61a:	6a 2d                	push   $0x2d
5eb61c:	83 d6 00             	adc    $0x0,%esi
5eb61f:	f7 de                	neg    %esi
5eb621:	59                   	pop    %ecx
5eb622:	88 4f 01             	mov    %cl,0x1(%edi)
5eb625:	8b f8                	mov    %eax,%edi
5eb627:	6a 30                	push   $0x30
5eb629:	59                   	pop    %ecx
5eb62a:	88 08                	mov    %cl,(%eax)
5eb62c:	85 f6                	test   %esi,%esi
5eb62e:	0f 8c 96 00 00 00    	jl     0x5eb6ca
5eb634:	b8 e8 03 00 00       	mov    $0x3e8,%eax
5eb639:	7f 04                	jg     0x5eb63f
5eb63b:	3b d8                	cmp    %eax,%ebx
5eb63d:	72 2e                	jb     0x5eb66d
5eb63f:	6a 00                	push   $0x0
5eb641:	50                   	push   %eax
5eb642:	56                   	push   %esi
5eb643:	53                   	push   %ebx
5eb644:	e8 87 67 fe ff       	call   0x5d1dd0
5eb649:	6a 30                	push   $0x30
5eb64b:	59                   	pop    %ecx
5eb64c:	6a 00                	push   $0x0
5eb64e:	02 c1                	add    %cl,%al
5eb650:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5eb653:	68 e8 03 00 00       	push   $0x3e8
5eb658:	56                   	push   %esi
5eb659:	53                   	push   %ebx
5eb65a:	88 01                	mov    %al,(%ecx)
5eb65c:	8d 79 01             	lea    0x1(%ecx),%edi
5eb65f:	e8 dc 6e fe ff       	call   0x5d2540
5eb664:	8b d8                	mov    %eax,%ebx
5eb666:	8b f2                	mov    %edx,%esi
5eb668:	3b 7d f0             	cmp    -0x10(%ebp),%edi
5eb66b:	75 0b                	jne    0x5eb678
5eb66d:	85 f6                	test   %esi,%esi
5eb66f:	7c 59                	jl     0x5eb6ca
5eb671:	7f 05                	jg     0x5eb678
5eb673:	83 fb 64             	cmp    $0x64,%ebx
5eb676:	72 27                	jb     0x5eb69f
5eb678:	6a 00                	push   $0x0
5eb67a:	6a 64                	push   $0x64
5eb67c:	56                   	push   %esi
5eb67d:	53                   	push   %ebx
5eb67e:	e8 4d 67 fe ff       	call   0x5d1dd0
5eb683:	6a 30                	push   $0x30
5eb685:	59                   	pop    %ecx
5eb686:	6a 00                	push   $0x0
5eb688:	6a 64                	push   $0x64
5eb68a:	02 c1                	add    %cl,%al
5eb68c:	56                   	push   %esi
5eb68d:	88 07                	mov    %al,(%edi)
5eb68f:	47                   	inc    %edi
5eb690:	53                   	push   %ebx
5eb691:	e8 aa 6e fe ff       	call   0x5d2540
5eb696:	8b d8                	mov    %eax,%ebx
5eb698:	8b f2                	mov    %edx,%esi
5eb69a:	3b 7d f0             	cmp    -0x10(%ebp),%edi
5eb69d:	75 0b                	jne    0x5eb6aa
5eb69f:	85 f6                	test   %esi,%esi