7cf377:	72 17                	jb     0x7cf390
7cf379:	57                   	push   %edi
7cf37a:	e8 f1 20 00 00       	call   0x7d1470
7cf37f:	83 c4 04             	add    $0x4,%esp
7cf382:	85 c0                	test   %eax,%eax
7cf384:	0f 85 6a 0b 00 00    	jne    0x7cfef4
7cf38a:	8b 77 60             	mov    0x60(%edi),%esi
7cf38d:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf390:	8a 06                	mov    (%esi),%al
7cf392:	46                   	inc    %esi
7cf393:	88 44 24 13          	mov    %al,0x13(%esp)
7cf397:	3b f3                	cmp    %ebx,%esi
7cf399:	72 17                	jb     0x7cf3b2
7cf39b:	57                   	push   %edi
7cf39c:	e8 cf 20 00 00       	call   0x7d1470
7cf3a1:	83 c4 04             	add    $0x4,%esp
7cf3a4:	85 c0                	test   %eax,%eax
7cf3a6:	0f 85 48 0b 00 00    	jne    0x7cfef4
7cf3ac:	8b 77 60             	mov    0x60(%edi),%esi
7cf3af:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf3b2:	8a 06                	mov    (%esi),%al
7cf3b4:	83 c5 10             	add    $0x10,%ebp
7cf3b7:	0f b6 d0             	movzbl %al,%edx
7cf3ba:	46                   	inc    %esi
7cf3bb:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf3c0:	c1 e2 08             	shl    $0x8,%edx
7cf3c3:	0b d0                	or     %eax,%edx
7cf3c5:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf3c9:	8b c8                	mov    %eax,%ecx
7cf3cb:	83 e8 10             	sub    $0x10,%eax
7cf3ce:	d3 e2                	shl    %cl,%edx
7cf3d0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf3d4:	0b ca                	or     %edx,%ecx
7cf3d6:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf3da:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf3de:	83 fd 0a             	cmp    $0xa,%ebp
7cf3e1:	7c 92                	jl     0x7cf375
7cf3e3:	8b c1                	mov    %ecx,%eax
7cf3e5:	83 ed 0a             	sub    $0xa,%ebp
7cf3e8:	c1 e8 16             	shr    $0x16,%eax
7cf3eb:	c1 e1 0a             	shl    $0xa,%ecx
7cf3ee:	05 00 01 00 00       	add    $0x100,%eax
7cf3f3:	e9 41 01 00 00       	jmp    0x7cf539
7cf3f8:	8b c1                	mov    %ecx,%eax
7cf3fa:	83 ed 03             	sub    $0x3,%ebp
7cf3fd:	25 00 00 00 e0       	and    $0xe0000000,%eax
7cf402:	c1 e1 03             	shl    $0x3,%ecx
7cf405:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf409:	3d 00 00 00 c0       	cmp    $0xc0000000,%eax
7cf40e:	0f 85 97 00 00 00    	jne    0x7cf4ab
7cf414:	83 fd 0c             	cmp    $0xc,%ebp
7cf417:	0f 8d 79 00 00 00    	jge    0x7cf496
7cf41d:	b8 10 00 00 00       	mov    $0x10,%eax
7cf422:	2b c5                	sub    %ebp,%eax
7cf424:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf428:	3b f3                	cmp    %ebx,%esi
7cf42a:	72 17                	jb     0x7cf443
7cf42c:	57                   	push   %edi
7cf42d:	e8 3e 20 00 00       	call   0x7d1470
7cf432:	83 c4 04             	add    $0x4,%esp
7cf435:	85 c0                	test   %eax,%eax
7cf437:	0f 85 b7 0a 00 00    	jne    0x7cfef4
7cf43d:	8b 77 60             	mov    0x60(%edi),%esi
7cf440:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf443:	8a 06                	mov    (%esi),%al
7cf445:	46                   	inc    %esi
7cf446:	88 44 24 13          	mov    %al,0x13(%esp)
7cf44a:	3b f3                	cmp    %ebx,%esi
7cf44c:	72 17                	jb     0x7cf465
7cf44e:	57                   	push   %edi
7cf44f:	e8 1c 20 00 00       	call   0x7d1470
7cf454:	83 c4 04             	add    $0x4,%esp
7cf457:	85 c0                	test   %eax,%eax
7cf459:	0f 85 95 0a 00 00    	jne    0x7cfef4
7cf45f:	8b 77 60             	mov    0x60(%edi),%esi
7cf462:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf465:	8a 06                	mov    (%esi),%al
7cf467:	83 c5 10             	add    $0x10,%ebp
7cf46a:	0f b6 d0             	movzbl %al,%edx
7cf46d:	46                   	inc    %esi
7cf46e:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf473:	c1 e2 08             	shl    $0x8,%edx
7cf476:	0b d0                	or     %eax,%edx
7cf478:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf47c:	8b c8                	mov    %eax,%ecx
7cf47e:	83 e8 10             	sub    $0x10,%eax
7cf481:	d3 e2                	shl    %cl,%edx
7cf483:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf487:	0b ca                	or     %edx,%ecx
7cf489:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf48d:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf491:	83 fd 0c             	cmp    $0xc,%ebp
7cf494:	7c 92                	jl     0x7cf428
7cf496:	8b c1                	mov    %ecx,%eax
7cf498:	83 ed 0c             	sub    $0xc,%ebp
7cf49b:	c1 e8 14             	shr    $0x14,%eax
7cf49e:	c1 e1 0c             	shl    $0xc,%ecx
7cf4a1:	05 00 05 00 00       	add    $0x500,%eax
7cf4a6:	e9 8e 00 00 00       	jmp    0x7cf539
7cf4ab:	83 fd 0f             	cmp    $0xf,%ebp
7cf4ae:	0f 8d 7a 00 00 00    	jge    0x7cf52e
7cf4b4:	b8 10 00 00 00       	mov    $0x10,%eax
7cf4b9:	2b c5                	sub    %ebp,%eax
7cf4bb:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf4bf:	90                   	nop
7cf4c0:	3b f3                	cmp    %ebx,%esi
7cf4c2:	72 17                	jb     0x7cf4db
7cf4c4:	57                   	push   %edi
7cf4c5:	e8 a6 1f 00 00       	call   0x7d1470
7cf4ca:	83 c4 04             	add    $0x4,%esp
7cf4cd:	85 c0                	test   %eax,%eax
7cf4cf:	0f 85 1f 0a 00 00    	jne    0x7cfef4
7cf4d5:	8b 77 60             	mov    0x60(%edi),%esi
7cf4d8:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf4db:	8a 06                	mov    (%esi),%al
7cf4dd:	46                   	inc    %esi
7cf4de:	88 44 24 13          	mov    %al,0x13(%esp)
7cf4e2:	3b f3                	cmp    %ebx,%esi
7cf4e4:	72 17                	jb     0x7cf4fd
7cf4e6:	57                   	push   %edi
7cf4e7:	e8 84 1f 00 00       	call   0x7d1470
7cf4ec:	83 c4 04             	add    $0x4,%esp
7cf4ef:	85 c0                	test   %eax,%eax
7cf4f1:	0f 85 fd 09 00 00    	jne    0x7cfef4
7cf4f7:	8b 77 60             	mov    0x60(%edi),%esi
7cf4fa:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf4fd:	8a 06                	mov    (%esi),%al
7cf4ff:	83 c5 10             	add    $0x10,%ebp
7cf502:	0f b6 d0             	movzbl %al,%edx
7cf505:	46                   	inc    %esi
7cf506:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf50b:	c1 e2 08             	shl    $0x8,%edx
7cf50e:	0b d0                	or     %eax,%edx
7cf510:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf514:	8b c8                	mov    %eax,%ecx
7cf516:	83 e8 10             	sub    $0x10,%eax
7cf519:	d3 e2                	shl    %cl,%edx
7cf51b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf51f:	0b ca                	or     %edx,%ecx
7cf521:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf525:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf529:	83 fd 0f             	cmp    $0xf,%ebp
7cf52c:	7c 92                	jl     0x7cf4c0
7cf52e:	8b c1                	mov    %ecx,%eax
7cf530:	c1 e1 0f             	shl    $0xf,%ecx
7cf533:	c1 e8 11             	shr    $0x11,%eax
7cf536:	83 ed 0f             	sub    $0xf,%ebp
7cf539:	8b 54 24 20          	mov    0x20(%esp),%edx
7cf53d:	03 d0                	add    %eax,%edx
7cf53f:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cf543:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf547:	89 54 24 20          	mov    %edx,0x20(%esp)
7cf54b:	8b 44 24 28          	mov    0x28(%esp),%eax
7cf54f:	8b 4f 18             	mov    0x18(%edi),%ecx
7cf552:	03 c2                	add    %edx,%eax
7cf554:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7cf558:	3b c1                	cmp    %ecx,%eax
7cf55a:	0f 87 d4 09 00 00    	ja     0x7cff34
7cf560:	8b 4c 24 40          	mov    0x40(%esp),%ecx
7cf564:	03 4c 24 28          	add    0x28(%esp),%ecx
7cf568:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cf56c:	3b 44 24 28          	cmp    0x28(%esp),%eax
7cf570:	0f 86 91 00 00 00    	jbe    0x7cf607
7cf576:	3b 47 0c             	cmp    0xc(%edi),%eax
7cf579:	76 11                	jbe    0x7cf58c
7cf57b:	2b 44 24 28          	sub    0x28(%esp),%eax
7cf57f:	3b 47 1c             	cmp    0x1c(%edi),%eax
7cf582:	0f 87 ac 09 00 00    	ja     0x7cff34
7cf588:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cf58c:	2b 44 24 28          	sub    0x28(%esp),%eax
7cf590:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7cf594:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf598:	39 44 24 1c          	cmp    %eax,0x1c(%esp)
7cf59c:	0f 8f 92 09 00 00    	jg     0x7cff34
7cf5a2:	2b 44 24 1c          	sub    0x1c(%esp),%eax
7cf5a6:	03 44 24 40          	add    0x40(%esp),%eax
7cf5aa:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf5ae:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7cf5b2:	3b 44 24 20          	cmp    0x20(%esp),%eax
7cf5b6:	7d 35                	jge    0x7cf5ed
7cf5b8:	8b 54 24 20          	mov    0x20(%esp),%edx
7cf5bc:	2b d0                	sub    %eax,%edx
7cf5be:	89 54 24 44          	mov    %edx,0x44(%esp)
7cf5c2:	85 c0                	test   %eax,%eax
7cf5c4:	7e 1f                	jle    0x7cf5e5
7cf5c6:	8b 7c 24 18          	mov    0x18(%esp),%edi
7cf5ca:	8b d0                	mov    %eax,%edx
7cf5cc:	0f 1f 40 00          	nopl   0x0(%eax)
7cf5d0:	8a 07                	mov    (%edi),%al
7cf5d2:	8d 7f 01             	lea    0x1(%edi),%edi
7cf5d5:	4a                   	dec    %edx
7cf5d6:	88 01                	mov    %al,(%ecx)
7cf5d8:	41                   	inc    %ecx
7cf5d9:	85 d2                	test   %edx,%edx
7cf5db:	7f f3                	jg     0x7cf5d0
7cf5dd:	8b 7c 24 48          	mov    0x48(%esp),%edi
7cf5e1:	8b 54 24 44          	mov    0x44(%esp),%edx
7cf5e5:	8b 44 24 40          	mov    0x40(%esp),%eax
7cf5e9:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf5ed:	85 d2                	test   %edx,%edx
7cf5ef:	7e 43                	jle    0x7cf634
7cf5f1:	8b 7c 24 18          	mov    0x18(%esp),%edi
7cf5f5:	2b f9                	sub    %ecx,%edi
7cf5f7:	8a 04 0f             	mov    (%edi,%ecx,1),%al
7cf5fa:	8d 49 01             	lea    0x1(%ecx),%ecx
7cf5fd:	4a                   	dec    %edx
7cf5fe:	88 41 ff             	mov    %al,-0x1(%ecx)
7cf601:	85 d2                	test   %edx,%edx
7cf603:	7f f2                	jg     0x7cf5f7
7cf605:	eb 29                	jmp    0x7cf630
7cf607:	8b c1                	mov    %ecx,%eax
7cf609:	2b 44 24 1c          	sub    0x1c(%esp),%eax
7cf60d:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
7cf612:	89 44 24 44          	mov    %eax,0x44(%esp)
7cf616:	7e 1c                	jle    0x7cf634
7cf618:	8b f8                	mov    %eax,%edi
7cf61a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
7cf620:	8a 07                	mov    (%edi),%al
7cf622:	8d 49 01             	lea    0x1(%ecx),%ecx
7cf625:	4a                   	dec    %edx
7cf626:	88 41 ff             	mov    %al,-0x1(%ecx)
7cf629:	8d 7f 01             	lea    0x1(%edi),%edi
7cf62c:	85 d2                	test   %edx,%edx
7cf62e:	7f f0                	jg     0x7cf620
7cf630:	8b 7c 24 48          	mov    0x48(%esp),%edi
7cf634:	8b 54 24 38          	mov    0x38(%esp),%edx
7cf638:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7cf63c:	2b d1                	sub    %ecx,%edx
7cf63e:	8b 44 24 28          	mov    0x28(%esp),%eax
7cf642:	03 c1                	add    %ecx,%eax
7cf644:	89 54 24 38          	mov    %edx,0x38(%esp)
7cf648:	89 44 24 28          	mov    %eax,0x28(%esp)
7cf64c:	85 d2                	test   %edx,%edx
7cf64e:	0f 8f dc f5 ff ff    	jg     0x7cec30
7cf654:	e9 57 f4 ff ff       	jmp    0x7ceab0
7cf659:	85 d2                	test   %edx,%edx
7cf65b:	0f 8e 51 f4 ff ff    	jle    0x7ceab2
7cf661:	83 fd 10             	cmp    $0x10,%ebp
7cf664:	0f 8d 7b 00 00 00    	jge    0x7cf6e5
7cf66a:	b8 10 00 00 00       	mov    $0x10,%eax
7cf66f:	2b c5                	sub    %ebp,%eax
7cf671:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf675:	3b f3                	cmp    %ebx,%esi
7cf677:	72 17                	jb     0x7cf690
7cf679:	57                   	push   %edi
7cf67a:	e8 f1 1d 00 00       	call   0x7d1470
7cf67f:	83 c4 04             	add    $0x4,%esp
7cf682:	85 c0                	test   %eax,%eax
7cf684:	0f 85 6a 08 00 00    	jne    0x7cfef4
7cf68a:	8b 77 60             	mov    0x60(%edi),%esi
7cf68d:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf690:	8a 06                	mov    (%esi),%al
7cf692:	46                   	inc    %esi
7cf693:	88 44 24 13          	mov    %al,0x13(%esp)
7cf697:	3b f3                	cmp    %ebx,%esi
7cf699:	72 17                	jb     0x7cf6b2
7cf69b:	57                   	push   %edi
7cf69c:	e8 cf 1d 00 00       	call   0x7d1470
7cf6a1:	83 c4 04             	add    $0x4,%esp
7cf6a4:	85 c0                	test   %eax,%eax
7cf6a6:	0f 85 48 08 00 00    	jne    0x7cfef4
7cf6ac:	8b 77 60             	mov    0x60(%edi),%esi
7cf6af:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf6b2:	8a 06                	mov    (%esi),%al
7cf6b4:	83 c5 10             	add    $0x10,%ebp
7cf6b7:	0f b6 d0             	movzbl %al,%edx
7cf6ba:	46                   	inc    %esi
7cf6bb:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7cf6c0:	c1 e2 08             	shl    $0x8,%edx
7cf6c3:	0b d0                	or     %eax,%edx
7cf6c5:	8b 44 24 18          	mov    0x18(%esp),%eax
7cf6c9:	8b c8                	mov    %eax,%ecx
7cf6cb:	83 e8 10             	sub    $0x10,%eax
7cf6ce:	d3 e2                	shl    %cl,%edx
7cf6d0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf6d4:	0b ca                	or     %edx,%ecx
7cf6d6:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf6da:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7cf6de:	83 fd 10             	cmp    $0x10,%ebp
7cf6e1:	7c 92                	jl     0x7cf675
7cf6e3:	eb 04                	jmp    0x7cf6e9
7cf6e5:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf6e9:	8b c1                	mov    %ecx,%eax
7cf6eb:	ba 10 0a 00 00       	mov    $0xa10,%edx
7cf6f0:	c1 e8 14             	shr    $0x14,%eax
7cf6f3:	0f b7 84 47 72 0d 00 	movzwl 0xd72(%edi,%eax,2),%eax
7cf6fa:	00
7cf6fb:	66 3b c2             	cmp    %dx,%ax
7cf6fe:	72 32                	jb     0x7cf732
7cf700:	ba 00 00 10 00       	mov    $0x100000,%edx
7cf705:	d1 fa                	sar    $1,%edx
7cf707:	0f 84 27 08 00 00    	je     0x7cff34
7cf70d:	23 ca                	and    %edx,%ecx
7cf70f:	0f b7 c0             	movzwl %ax,%eax
7cf712:	f7 d9                	neg    %ecx
7cf714:	1b c9                	sbb    %ecx,%ecx
7cf716:	03 c0                	add    %eax,%eax
7cf718:	f7 d9                	neg    %ecx
7cf71a:	0b c8                	or     %eax,%ecx
7cf71c:	0f b7 84 4f 72 0d 00 	movzwl 0xd72(%edi,%ecx,2),%eax
7cf723:	00
7cf724:	b9 10 0a 00 00       	mov    $0xa10,%ecx
7cf729:	66 3b c1             	cmp    %cx,%ax
7cf72c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7cf730:	73 d3                	jae    0x7cf705
7cf732:	0f b7 c0             	movzwl %ax,%eax
7cf735:	0f b6 8c 07 d0 00 00 	movzbl 0xd0(%edi,%eax,1),%ecx
7cf73c:	00
7cf73d:	d3 64 24 14          	shll   %cl,0x14(%esp)
7cf741:	2b e9                	sub    %ecx,%ebp
7cf743:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7cf747:	3d 00 01 00 00       	cmp    $0x100,%eax
7cf74c:	7d 1a                	jge    0x7cf768
7cf74e:	8b 4c 24 28          	mov    0x28(%esp),%ecx
7cf752:	8b 54 24 40          	mov    0x40(%esp),%edx
7cf756:	88 04 11             	mov    %al,(%ecx,%edx,1)
7cf759:	b9 01 00 00 00       	mov    $0x1,%ecx
7cf75e:	8b 54 24 38          	mov    0x38(%esp),%edx
7cf762:	4a                   	dec    %edx
7cf763:	e9 79 06 00 00       	jmp    0x7cfde1
7cf768:	2d 00 01 00 00       	sub    $0x100,%eax
7cf76d:	8b c8                	mov    %eax,%ecx
7cf76f:	89 44 24 18          	mov    %eax,0x18(%esp)
7cf773:	83 e1 07             	and    $0x7,%ecx
7cf776:	89 4c 24 44          	mov    %ecx,0x44(%esp)
7cf77a:	83 f9 07             	cmp    $0x7,%ecx
7cf77d:	0f 85 fd 00 00 00    	jne    0x7cf880
7cf783:	80 bf ba 7a 00 00 00 	cmpb   $0x0,0x7aba(%edi)
7cf78a:	0f 85 a4 07 00 00    	jne    0x7cff34
7cf790:	83 fd 10             	cmp    $0x10,%ebp
7cf793:	0f 8d 7b 00 00 00    	jge    0x7cf814
7cf799:	b8 10 00 00 00       	mov    $0x10,%eax
7cf79e:	2b c5                	sub    %ebp,%eax
7cf7a0:	89 44 24 20          	mov    %eax,0x20(%esp)
7cf7a4:	3b f3                	cmp    %ebx,%esi
7cf7a6:	72 17                	jb     0x7cf7bf
7cf7a8:	57                   	push   %edi
7cf7a9:	e8 c2 1c 00 00       	call   0x7d1470
7cf7ae:	83 c4 04             	add    $0x4,%esp
7cf7b1:	85 c0                	test   %eax,%eax
7cf7b3:	0f 85 3b 07 00 00    	jne    0x7cfef4
7cf7b9:	8b 77 60             	mov    0x60(%edi),%esi
7cf7bc:	8b 5f 64             	mov    0x64(%edi),%ebx
7cf7bf:	8a 06                	mov    (%esi),%al
7cf7c1:	46                   	inc    %esi
7cf7c2:	88 44 24 13          	mov    %al,0x13(%esp)
7cf7c6:	3b f3                	cmp    %ebx,%esi
7cf7c8:	72 17                	jb     0x7cf7e1
7cf7ca:	57                   	push   %edi
7cf7cb:	e8 a0 1c 00 00       	call   0x7d1470