7ce425:	2b c5                	sub    %ebp,%eax
7ce427:	89 44 24 24          	mov    %eax,0x24(%esp)
7ce42b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
7ce430:	3b f3                	cmp    %ebx,%esi
7ce432:	72 17                	jb     0x7ce44b
7ce434:	57                   	push   %edi
7ce435:	e8 36 30 00 00       	call   0x7d1470
7ce43a:	83 c4 04             	add    $0x4,%esp
7ce43d:	85 c0                	test   %eax,%eax
7ce43f:	0f 85 af 1a 00 00    	jne    0x7cfef4
7ce445:	8b 77 60             	mov    0x60(%edi),%esi
7ce448:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce44b:	8a 06                	mov    (%esi),%al
7ce44d:	46                   	inc    %esi
7ce44e:	88 44 24 13          	mov    %al,0x13(%esp)
7ce452:	3b f3                	cmp    %ebx,%esi
7ce454:	72 17                	jb     0x7ce46d
7ce456:	57                   	push   %edi
7ce457:	e8 14 30 00 00       	call   0x7d1470
7ce45c:	83 c4 04             	add    $0x4,%esp
7ce45f:	85 c0                	test   %eax,%eax
7ce461:	0f 85 8d 1a 00 00    	jne    0x7cfef4
7ce467:	8b 77 60             	mov    0x60(%edi),%esi
7ce46a:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce46d:	8a 06                	mov    (%esi),%al
7ce46f:	83 c5 10             	add    $0x10,%ebp
7ce472:	0f b6 d0             	movzbl %al,%edx
7ce475:	46                   	inc    %esi
7ce476:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7ce47b:	c1 e2 08             	shl    $0x8,%edx
7ce47e:	0b d0                	or     %eax,%edx
7ce480:	8b 44 24 24          	mov    0x24(%esp),%eax
7ce484:	8b c8                	mov    %eax,%ecx
7ce486:	83 e8 10             	sub    $0x10,%eax
7ce489:	d3 e2                	shl    %cl,%edx
7ce48b:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7ce48f:	0b ca                	or     %edx,%ecx
7ce491:	89 44 24 24          	mov    %eax,0x24(%esp)
7ce495:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7ce499:	83 fd 10             	cmp    $0x10,%ebp
7ce49c:	7c 92                	jl     0x7ce430
7ce49e:	8b 44 24 18          	mov    0x18(%esp),%eax
7ce4a2:	c1 64 24 14 10       	shll   $0x10,0x14(%esp)
7ce4a7:	c1 e9 10             	shr    $0x10,%ecx
7ce4aa:	83 ed 10             	sub    $0x10,%ebp
7ce4ad:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7ce4b1:	c1 e0 10             	shl    $0x10,%eax
7ce4b4:	0b c1                	or     %ecx,%eax
7ce4b6:	c6 47 52 01          	movb   $0x1,0x52(%edi)
7ce4ba:	89 47 48             	mov    %eax,0x48(%edi)
7ce4bd:	8b 47 10             	mov    0x10(%edi),%eax
7ce4c0:	ba 00 80 00 00       	mov    $0x8000,%edx
7ce4c5:	89 54 24 4c          	mov    %edx,0x4c(%esp)
7ce4c9:	85 c0                	test   %eax,%eax
7ce4cb:	74 0c                	je     0x7ce4d9
7ce4cd:	2b 47 0c             	sub    0xc(%edi),%eax
7ce4d0:	3b c2                	cmp    %edx,%eax
7ce4d2:	0f 4c d0             	cmovl  %eax,%edx
7ce4d5:	89 54 24 4c          	mov    %edx,0x4c(%esp)
7ce4d9:	8b 47 28             	mov    0x28(%edi),%eax
7ce4dc:	8b 4c 24 28          	mov    0x28(%esp),%ecx
7ce4e0:	2b c1                	sub    %ecx,%eax
7ce4e2:	03 c2                	add    %edx,%eax
7ce4e4:	89 44 24 24          	mov    %eax,0x24(%esp)
7ce4e8:	85 c0                	test   %eax,%eax
7ce4ea:	0f 8e ec 05 00 00    	jle    0x7ceadc
7ce4f0:	83 7f 44 00          	cmpl   $0x0,0x44(%edi)
7ce4f4:	0f 85 07 05 00 00    	jne    0x7cea01
7ce4fa:	80 7f 51 03          	cmpb   $0x3,0x51(%edi)
7ce4fe:	75 22                	jne    0x7ce522
7ce500:	f6 47 40 01          	testb  $0x1,0x40(%edi)
7ce504:	74 1c                	je     0x7ce522
7ce506:	3b f3                	cmp    %ebx,%esi
7ce508:	72 17                	jb     0x7ce521
7ce50a:	57                   	push   %edi
7ce50b:	e8 60 2f 00 00       	call   0x7d1470
7ce510:	83 c4 04             	add    $0x4,%esp
7ce513:	85 c0                	test   %eax,%eax
7ce515:	0f 85 d9 19 00 00    	jne    0x7cfef4
7ce51b:	8b 77 60             	mov    0x60(%edi),%esi
7ce51e:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce521:	46                   	inc    %esi
7ce522:	83 fd 03             	cmp    $0x3,%ebp
7ce525:	7d 73                	jge    0x7ce59a
7ce527:	b8 10 00 00 00       	mov    $0x10,%eax
7ce52c:	2b c5                	sub    %ebp,%eax
7ce52e:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce532:	3b f3                	cmp    %ebx,%esi
7ce534:	72 17                	jb     0x7ce54d
7ce536:	57                   	push   %edi
7ce537:	e8 34 2f 00 00       	call   0x7d1470
7ce53c:	83 c4 04             	add    $0x4,%esp
7ce53f:	85 c0                	test   %eax,%eax
7ce541:	0f 85 ad 19 00 00    	jne    0x7cfef4
7ce547:	8b 77 60             	mov    0x60(%edi),%esi
7ce54a:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce54d:	8a 06                	mov    (%esi),%al
7ce54f:	46                   	inc    %esi
7ce550:	88 44 24 13          	mov    %al,0x13(%esp)
7ce554:	3b f3                	cmp    %ebx,%esi
7ce556:	72 17                	jb     0x7ce56f
7ce558:	57                   	push   %edi
7ce559:	e8 12 2f 00 00       	call   0x7d1470
7ce55e:	83 c4 04             	add    $0x4,%esp
7ce561:	85 c0                	test   %eax,%eax
7ce563:	0f 85 8b 19 00 00    	jne    0x7cfef4
7ce569:	8b 77 60             	mov    0x60(%edi),%esi
7ce56c:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce56f:	8a 06                	mov    (%esi),%al
7ce571:	83 c5 10             	add    $0x10,%ebp
7ce574:	0f b6 d0             	movzbl %al,%edx
7ce577:	46                   	inc    %esi
7ce578:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7ce57d:	c1 e2 08             	shl    $0x8,%edx
7ce580:	0b d0                	or     %eax,%edx
7ce582:	8b 44 24 18          	mov    0x18(%esp),%eax
7ce586:	8b c8                	mov    %eax,%ecx
7ce588:	83 e8 10             	sub    $0x10,%eax
7ce58b:	d3 e2                	shl    %cl,%edx
7ce58d:	09 54 24 14          	or     %edx,0x14(%esp)
7ce591:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce595:	83 fd 03             	cmp    $0x3,%ebp
7ce598:	7c 98                	jl     0x7ce532
7ce59a:	8b 54 24 14          	mov    0x14(%esp),%edx
7ce59e:	83 ed 03             	sub    $0x3,%ebp
7ce5a1:	8b c2                	mov    %edx,%eax
7ce5a3:	c1 e2 03             	shl    $0x3,%edx
7ce5a6:	c1 e8 1d             	shr    $0x1d,%eax
7ce5a9:	88 47 51             	mov    %al,0x51(%edi)
7ce5ac:	89 54 24 14          	mov    %edx,0x14(%esp)
7ce5b0:	83 fd 10             	cmp    $0x10,%ebp
7ce5b3:	0f 8d 77 00 00 00    	jge    0x7ce630
7ce5b9:	b8 10 00 00 00       	mov    $0x10,%eax
7ce5be:	2b c5                	sub    %ebp,%eax
7ce5c0:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce5c4:	3b f3                	cmp    %ebx,%esi
7ce5c6:	72 17                	jb     0x7ce5df
7ce5c8:	57                   	push   %edi
7ce5c9:	e8 a2 2e 00 00       	call   0x7d1470
7ce5ce:	83 c4 04             	add    $0x4,%esp
7ce5d1:	85 c0                	test   %eax,%eax
7ce5d3:	0f 85 1b 19 00 00    	jne    0x7cfef4
7ce5d9:	8b 77 60             	mov    0x60(%edi),%esi
7ce5dc:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce5df:	8a 06                	mov    (%esi),%al
7ce5e1:	46                   	inc    %esi
7ce5e2:	88 44 24 13          	mov    %al,0x13(%esp)
7ce5e6:	3b f3                	cmp    %ebx,%esi
7ce5e8:	72 17                	jb     0x7ce601
7ce5ea:	57                   	push   %edi
7ce5eb:	e8 80 2e 00 00       	call   0x7d1470
7ce5f0:	83 c4 04             	add    $0x4,%esp
7ce5f3:	85 c0                	test   %eax,%eax
7ce5f5:	0f 85 f9 18 00 00    	jne    0x7cfef4
7ce5fb:	8b 77 60             	mov    0x60(%edi),%esi
7ce5fe:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce601:	8a 06                	mov    (%esi),%al
7ce603:	83 c5 10             	add    $0x10,%ebp
7ce606:	0f b6 d0             	movzbl %al,%edx
7ce609:	46                   	inc    %esi
7ce60a:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7ce60f:	c1 e2 08             	shl    $0x8,%edx
7ce612:	0b d0                	or     %eax,%edx
7ce614:	8b 44 24 18          	mov    0x18(%esp),%eax
7ce618:	8b c8                	mov    %eax,%ecx
7ce61a:	83 e8 10             	sub    $0x10,%eax
7ce61d:	d3 e2                	shl    %cl,%edx
7ce61f:	09 54 24 14          	or     %edx,0x14(%esp)
7ce623:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce627:	83 fd 10             	cmp    $0x10,%ebp
7ce62a:	7c 98                	jl     0x7ce5c4
7ce62c:	8b 54 24 14          	mov    0x14(%esp),%edx
7ce630:	8b ca                	mov    %edx,%ecx
7ce632:	83 ed 10             	sub    $0x10,%ebp
7ce635:	c1 e9 10             	shr    $0x10,%ecx
7ce638:	c1 e2 10             	shl    $0x10,%edx
7ce63b:	89 4c 24 20          	mov    %ecx,0x20(%esp)
7ce63f:	89 54 24 14          	mov    %edx,0x14(%esp)
7ce643:	83 fd 08             	cmp    $0x8,%ebp
7ce646:	0f 8d 7b 00 00 00    	jge    0x7ce6c7
7ce64c:	b8 10 00 00 00       	mov    $0x10,%eax
7ce651:	2b c5                	sub    %ebp,%eax
7ce653:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce657:	3b f3                	cmp    %ebx,%esi
7ce659:	72 17                	jb     0x7ce672
7ce65b:	57                   	push   %edi
7ce65c:	e8 0f 2e 00 00       	call   0x7d1470
7ce661:	83 c4 04             	add    $0x4,%esp
7ce664:	85 c0                	test   %eax,%eax
7ce666:	0f 85 88 18 00 00    	jne    0x7cfef4
7ce66c:	8b 77 60             	mov    0x60(%edi),%esi
7ce66f:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce672:	8a 06                	mov    (%esi),%al
7ce674:	46                   	inc    %esi
7ce675:	88 44 24 13          	mov    %al,0x13(%esp)
7ce679:	3b f3                	cmp    %ebx,%esi
7ce67b:	72 17                	jb     0x7ce694
7ce67d:	57                   	push   %edi
7ce67e:	e8 ed 2d 00 00       	call   0x7d1470
7ce683:	83 c4 04             	add    $0x4,%esp
7ce686:	85 c0                	test   %eax,%eax
7ce688:	0f 85 66 18 00 00    	jne    0x7cfef4
7ce68e:	8b 77 60             	mov    0x60(%edi),%esi
7ce691:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce694:	8a 06                	mov    (%esi),%al
7ce696:	83 c5 10             	add    $0x10,%ebp
7ce699:	0f b6 d0             	movzbl %al,%edx
7ce69c:	46                   	inc    %esi
7ce69d:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7ce6a2:	c1 e2 08             	shl    $0x8,%edx
7ce6a5:	0b d0                	or     %eax,%edx
7ce6a7:	8b 44 24 18          	mov    0x18(%esp),%eax
7ce6ab:	8b c8                	mov    %eax,%ecx
7ce6ad:	83 e8 10             	sub    $0x10,%eax
7ce6b0:	d3 e2                	shl    %cl,%edx
7ce6b2:	09 54 24 14          	or     %edx,0x14(%esp)
7ce6b6:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce6ba:	83 fd 08             	cmp    $0x8,%ebp
7ce6bd:	7c 98                	jl     0x7ce657
7ce6bf:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7ce6c3:	8b 54 24 14          	mov    0x14(%esp),%edx
7ce6c7:	8b c2                	mov    %edx,%eax
7ce6c9:	c1 e1 08             	shl    $0x8,%ecx
7ce6cc:	c1 e8 18             	shr    $0x18,%eax
7ce6cf:	83 ed 08             	sub    $0x8,%ebp
7ce6d2:	0b c8                	or     %eax,%ecx
7ce6d4:	c1 e2 08             	shl    $0x8,%edx
7ce6d7:	0f b6 47 51          	movzbl 0x51(%edi),%eax
7ce6db:	89 54 24 14          	mov    %edx,0x14(%esp)
7ce6df:	89 4f 40             	mov    %ecx,0x40(%edi)
7ce6e2:	89 4f 44             	mov    %ecx,0x44(%edi)
7ce6e5:	83 e8 01             	sub    $0x1,%eax
7ce6e8:	0f 84 f0 01 00 00    	je     0x7ce8de
7ce6ee:	83 e8 01             	sub    $0x1,%eax
7ce6f1:	0f 84 0b 01 00 00    	je     0x7ce802
7ce6f7:	83 e8 01             	sub    $0x1,%eax
7ce6fa:	0f 85 34 18 00 00    	jne    0x7cff34
7ce700:	c6 47 50 01          	movb   $0x1,0x50(%edi)
7ce704:	85 ed                	test   %ebp,%ebp
7ce706:	75 40                	jne    0x7ce748
7ce708:	3b f3                	cmp    %ebx,%esi
7ce70a:	72 17                	jb     0x7ce723
7ce70c:	57                   	push   %edi
7ce70d:	e8 5e 2d 00 00       	call   0x7d1470
7ce712:	83 c4 04             	add    $0x4,%esp
7ce715:	85 c0                	test   %eax,%eax
7ce717:	0f 85 d7 17 00 00    	jne    0x7cfef4
7ce71d:	8b 77 60             	mov    0x60(%edi),%esi
7ce720:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce723:	46                   	inc    %esi
7ce724:	3b f3                	cmp    %ebx,%esi
7ce726:	72 17                	jb     0x7ce73f
7ce728:	57                   	push   %edi
7ce729:	e8 42 2d 00 00       	call   0x7d1470
7ce72e:	83 c4 04             	add    $0x4,%esp
7ce731:	85 c0                	test   %eax,%eax
7ce733:	0f 85 bb 17 00 00    	jne    0x7cfef4
7ce739:	8b 77 60             	mov    0x60(%edi),%esi
7ce73c:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce73f:	83 c5 10             	add    $0x10,%ebp
7ce742:	46                   	inc    %esi
7ce743:	83 fd 10             	cmp    $0x10,%ebp
7ce746:	7c c0                	jl     0x7ce708
7ce748:	33 ed                	xor    %ebp,%ebp
7ce74a:	33 c9                	xor    %ecx,%ecx
7ce74c:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7ce750:	89 6c 24 14          	mov    %ebp,0x14(%esp)
7ce754:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7ce758:	3b f3                	cmp    %ebx,%esi
7ce75a:	72 1b                	jb     0x7ce777
7ce75c:	57                   	push   %edi
7ce75d:	e8 0e 2d 00 00       	call   0x7d1470
7ce762:	83 c4 04             	add    $0x4,%esp
7ce765:	85 c0                	test   %eax,%eax
7ce767:	0f 85 87 17 00 00    	jne    0x7cfef4
7ce76d:	8b 77 60             	mov    0x60(%edi),%esi
7ce770:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce773:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7ce777:	8a 06                	mov    (%esi),%al
7ce779:	46                   	inc    %esi
7ce77a:	88 44 0c 54          	mov    %al,0x54(%esp,%ecx,1)
7ce77e:	41                   	inc    %ecx
7ce77f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7ce783:	83 f9 0c             	cmp    $0xc,%ecx
7ce786:	7c d0                	jl     0x7ce758
7ce788:	0f b6 4c 24 57       	movzbl 0x57(%esp),%ecx
7ce78d:	0f b6 44 24 56       	movzbl 0x56(%esp),%eax
7ce792:	c1 e1 08             	shl    $0x8,%ecx
7ce795:	0b c8                	or     %eax,%ecx
7ce797:	0f b6 44 24 55       	movzbl 0x55(%esp),%eax
7ce79c:	c1 e1 08             	shl    $0x8,%ecx
7ce79f:	0b c8                	or     %eax,%ecx
7ce7a1:	0f b6 44 24 54       	movzbl 0x54(%esp),%eax
7ce7a6:	c1 e1 08             	shl    $0x8,%ecx
7ce7a9:	0b c8                	or     %eax,%ecx
7ce7ab:	0f b6 44 24 5a       	movzbl 0x5a(%esp),%eax
7ce7b0:	89 4c 24 30          	mov    %ecx,0x30(%esp)
7ce7b4:	0f b6 4c 24 5b       	movzbl 0x5b(%esp),%ecx
7ce7b9:	c1 e1 08             	shl    $0x8,%ecx
7ce7bc:	0b c8                	or     %eax,%ecx
7ce7be:	0f b6 44 24 59       	movzbl 0x59(%esp),%eax
7ce7c3:	c1 e1 08             	shl    $0x8,%ecx
7ce7c6:	0b c8                	or     %eax,%ecx
7ce7c8:	0f b6 44 24 58       	movzbl 0x58(%esp),%eax
7ce7cd:	c1 e1 08             	shl    $0x8,%ecx
7ce7d0:	0b c8                	or     %eax,%ecx
7ce7d2:	0f b6 44 24 5e       	movzbl 0x5e(%esp),%eax
7ce7d7:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
7ce7db:	0f b6 4c 24 5f       	movzbl 0x5f(%esp),%ecx
7ce7e0:	c1 e1 08             	shl    $0x8,%ecx
7ce7e3:	0b c8                	or     %eax,%ecx
7ce7e5:	0f b6 44 24 5d       	movzbl 0x5d(%esp),%eax
7ce7ea:	c1 e1 08             	shl    $0x8,%ecx
7ce7ed:	0b c8                	or     %eax,%ecx
7ce7ef:	0f b6 44 24 5c       	movzbl 0x5c(%esp),%eax
7ce7f4:	c1 e1 08             	shl    $0x8,%ecx
7ce7f7:	0b c8                	or     %eax,%ecx
7ce7f9:	89 4c 24 34          	mov    %ecx,0x34(%esp)
7ce7fd:	e9 fb 01 00 00       	jmp    0x7ce9fd
7ce802:	33 c9                	xor    %ecx,%ecx
7ce804:	89 4c 24 20          	mov    %ecx,0x20(%esp)
7ce808:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
7ce80f:	00
7ce810:	83 fd 03             	cmp    $0x3,%ebp
7ce813:	0f 8d 7b 00 00 00    	jge    0x7ce894
7ce819:	b8 10 00 00 00       	mov    $0x10,%eax
7ce81e:	2b c5                	sub    %ebp,%eax
7ce820:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce824:	3b f3                	cmp    %ebx,%esi
7ce826:	72 17                	jb     0x7ce83f
7ce828:	57                   	push   %edi
7ce829:	e8 42 2c 00 00       	call   0x7d1470
7ce82e:	83 c4 04             	add    $0x4,%esp
7ce831:	85 c0                	test   %eax,%eax
7ce833:	0f 85 bb 16 00 00    	jne    0x7cfef4
7ce839:	8b 77 60             	mov    0x60(%edi),%esi
7ce83c:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce83f:	8a 06                	mov    (%esi),%al
7ce841:	46                   	inc    %esi
7ce842:	88 44 24 13          	mov    %al,0x13(%esp)
7ce846:	3b f3                	cmp    %ebx,%esi
7ce848:	72 17                	jb     0x7ce861
7ce84a:	57                   	push   %edi
7ce84b:	e8 20 2c 00 00       	call   0x7d1470
7ce850:	83 c4 04             	add    $0x4,%esp
7ce853:	85 c0                	test   %eax,%eax
7ce855:	0f 85 99 16 00 00    	jne    0x7cfef4
7ce85b:	8b 77 60             	mov    0x60(%edi),%esi
7ce85e:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce861:	8a 06                	mov    (%esi),%al