7ce205:	85 d2                	test   %edx,%edx
7ce207:	75 27                	jne    0x7ce230
7ce209:	39 57 44             	cmp    %edx,0x44(%edi)
7ce20c:	0f 85 22 1d 00 00    	jne    0x7cff34
7ce212:	57                   	push   %edi
7ce213:	e8 88 2e 00 00       	call   0x7d10a0
7ce218:	8b 47 34             	mov    0x34(%edi),%eax
7ce21b:	83 c4 04             	add    $0x4,%esp
7ce21e:	89 44 24 30          	mov    %eax,0x30(%esp)
7ce222:	8b 47 38             	mov    0x38(%edi),%eax
7ce225:	89 44 24 3c          	mov    %eax,0x3c(%esp)
7ce229:	8b 47 3c             	mov    0x3c(%edi),%eax
7ce22c:	89 44 24 34          	mov    %eax,0x34(%esp)
7ce230:	80 7f 54 00          	cmpb   $0x0,0x54(%edi)
7ce234:	0f 84 98 00 00 00    	je     0x7ce2d2
7ce23a:	83 fd 10             	cmp    $0x10,%ebp
7ce23d:	0f 8d 7d 00 00 00    	jge    0x7ce2c0
7ce243:	b8 10 00 00 00       	mov    $0x10,%eax
7ce248:	2b c5                	sub    %ebp,%eax
7ce24a:	89 44 24 24          	mov    %eax,0x24(%esp)
7ce24e:	66 90                	xchg   %ax,%ax
7ce250:	3b f3                	cmp    %ebx,%esi
7ce252:	72 17                	jb     0x7ce26b
7ce254:	57                   	push   %edi
7ce255:	e8 16 32 00 00       	call   0x7d1470
7ce25a:	83 c4 04             	add    $0x4,%esp
7ce25d:	85 c0                	test   %eax,%eax
7ce25f:	0f 85 8f 1c 00 00    	jne    0x7cfef4
7ce265:	8b 77 60             	mov    0x60(%edi),%esi
7ce268:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce26b:	8a 06                	mov    (%esi),%al
7ce26d:	46                   	inc    %esi
7ce26e:	88 44 24 13          	mov    %al,0x13(%esp)
7ce272:	3b f3                	cmp    %ebx,%esi
7ce274:	72 17                	jb     0x7ce28d
7ce276:	57                   	push   %edi
7ce277:	e8 f4 31 00 00       	call   0x7d1470
7ce27c:	83 c4 04             	add    $0x4,%esp
7ce27f:	85 c0                	test   %eax,%eax
7ce281:	0f 85 6d 1c 00 00    	jne    0x7cfef4
7ce287:	8b 77 60             	mov    0x60(%edi),%esi
7ce28a:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce28d:	8a 06                	mov    (%esi),%al
7ce28f:	83 c5 10             	add    $0x10,%ebp
7ce292:	0f b6 d0             	movzbl %al,%edx
7ce295:	46                   	inc    %esi
7ce296:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7ce29b:	c1 e2 08             	shl    $0x8,%edx
7ce29e:	0b d0                	or     %eax,%edx
7ce2a0:	8b 44 24 24          	mov    0x24(%esp),%eax
7ce2a4:	8b c8                	mov    %eax,%ecx
7ce2a6:	83 e8 10             	sub    $0x10,%eax
7ce2a9:	d3 e2                	shl    %cl,%edx
7ce2ab:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7ce2af:	0b ca                	or     %edx,%ecx
7ce2b1:	89 44 24 24          	mov    %eax,0x24(%esp)
7ce2b5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7ce2b9:	83 fd 10             	cmp    $0x10,%ebp
7ce2bc:	7c 92                	jl     0x7ce250
7ce2be:	eb 04                	jmp    0x7ce2c4
7ce2c0:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7ce2c4:	c1 e1 10             	shl    $0x10,%ecx
7ce2c7:	83 ed 10             	sub    $0x10,%ebp
7ce2ca:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7ce2ce:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7ce2d2:	80 7f 52 00          	cmpb   $0x0,0x52(%edi)
7ce2d6:	0f 85 e1 01 00 00    	jne    0x7ce4bd
7ce2dc:	33 c9                	xor    %ecx,%ecx
7ce2de:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7ce2e2:	83 fd 01             	cmp    $0x1,%ebp
7ce2e5:	7d 77                	jge    0x7ce35e
7ce2e7:	b8 10 00 00 00       	mov    $0x10,%eax
7ce2ec:	2b c5                	sub    %ebp,%eax
7ce2ee:	89 44 24 24          	mov    %eax,0x24(%esp)
7ce2f2:	3b f3                	cmp    %ebx,%esi
7ce2f4:	72 17                	jb     0x7ce30d
7ce2f6:	57                   	push   %edi
7ce2f7:	e8 74 31 00 00       	call   0x7d1470
7ce2fc:	83 c4 04             	add    $0x4,%esp
7ce2ff:	85 c0                	test   %eax,%eax
7ce301:	0f 85 ed 1b 00 00    	jne    0x7cfef4
7ce307:	8b 77 60             	mov    0x60(%edi),%esi
7ce30a:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce30d:	8a 06                	mov    (%esi),%al
7ce30f:	46                   	inc    %esi
7ce310:	88 44 24 13          	mov    %al,0x13(%esp)
7ce314:	3b f3                	cmp    %ebx,%esi
7ce316:	72 17                	jb     0x7ce32f
7ce318:	57                   	push   %edi
7ce319:	e8 52 31 00 00       	call   0x7d1470
7ce31e:	83 c4 04             	add    $0x4,%esp
7ce321:	85 c0                	test   %eax,%eax
7ce323:	0f 85 cb 1b 00 00    	jne    0x7cfef4
7ce329:	8b 77 60             	mov    0x60(%edi),%esi
7ce32c:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce32f:	8a 06                	mov    (%esi),%al
7ce331:	83 c5 10             	add    $0x10,%ebp
7ce334:	0f b6 d0             	movzbl %al,%edx
7ce337:	46                   	inc    %esi
7ce338:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7ce33d:	c1 e2 08             	shl    $0x8,%edx
7ce340:	0b d0                	or     %eax,%edx
7ce342:	8b 44 24 24          	mov    0x24(%esp),%eax
7ce346:	8b c8                	mov    %eax,%ecx
7ce348:	83 e8 10             	sub    $0x10,%eax
7ce34b:	d3 e2                	shl    %cl,%edx
7ce34d:	09 54 24 14          	or     %edx,0x14(%esp)
7ce351:	89 44 24 24          	mov    %eax,0x24(%esp)
7ce355:	83 fd 01             	cmp    $0x1,%ebp
7ce358:	7c 98                	jl     0x7ce2f2
7ce35a:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7ce35e:	8b 54 24 14          	mov    0x14(%esp),%edx
7ce362:	4d                   	dec    %ebp
7ce363:	8b c2                	mov    %edx,%eax
7ce365:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7ce369:	c1 e8 1f             	shr    $0x1f,%eax
7ce36c:	03 d2                	add    %edx,%edx
7ce36e:	89 54 24 14          	mov    %edx,0x14(%esp)
7ce372:	85 c0                	test   %eax,%eax
7ce374:	0f 84 37 01 00 00    	je     0x7ce4b1
7ce37a:	83 fd 10             	cmp    $0x10,%ebp
7ce37d:	0f 8d 7d 00 00 00    	jge    0x7ce400
7ce383:	b8 10 00 00 00       	mov    $0x10,%eax
7ce388:	2b c5                	sub    %ebp,%eax
7ce38a:	89 44 24 24          	mov    %eax,0x24(%esp)
7ce38e:	66 90                	xchg   %ax,%ax
7ce390:	3b f3                	cmp    %ebx,%esi
7ce392:	72 17                	jb     0x7ce3ab
7ce394:	57                   	push   %edi
7ce395:	e8 d6 30 00 00       	call   0x7d1470
7ce39a:	83 c4 04             	add    $0x4,%esp
7ce39d:	85 c0                	test   %eax,%eax
7ce39f:	0f 85 4f 1b 00 00    	jne    0x7cfef4
7ce3a5:	8b 77 60             	mov    0x60(%edi),%esi
7ce3a8:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce3ab:	8a 06                	mov    (%esi),%al
7ce3ad:	46                   	inc    %esi
7ce3ae:	88 44 24 13          	mov    %al,0x13(%esp)
7ce3b2:	3b f3                	cmp    %ebx,%esi
7ce3b4:	72 17                	jb     0x7ce3cd
7ce3b6:	57                   	push   %edi
7ce3b7:	e8 b4 30 00 00       	call   0x7d1470
7ce3bc:	83 c4 04             	add    $0x4,%esp
7ce3bf:	85 c0                	test   %eax,%eax
7ce3c1:	0f 85 2d 1b 00 00    	jne    0x7cfef4
7ce3c7:	8b 77 60             	mov    0x60(%edi),%esi
7ce3ca:	8b 5f 64             	mov    0x64(%edi),%ebx
7ce3cd:	8a 06                	mov    (%esi),%al
7ce3cf:	83 c5 10             	add    $0x10,%ebp
7ce3d2:	0f b6 d0             	movzbl %al,%edx
7ce3d5:	46                   	inc    %esi
7ce3d6:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
7ce3db:	c1 e2 08             	shl    $0x8,%edx
7ce3de:	0b d0                	or     %eax,%edx
7ce3e0:	8b 44 24 24          	mov    0x24(%esp),%eax
7ce3e4:	8b c8                	mov    %eax,%ecx
7ce3e6:	83 e8 10             	sub    $0x10,%eax
7ce3e9:	d3 e2                	shl    %cl,%edx
7ce3eb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7ce3ef:	0b ca                	or     %edx,%ecx
7ce3f1:	89 44 24 24          	mov    %eax,0x24(%esp)
7ce3f5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7ce3f9:	83 fd 10             	cmp    $0x10,%ebp
7ce3fc:	7c 92                	jl     0x7ce390
7ce3fe:	eb 04                	jmp    0x7ce404
7ce400:	8b 4c 24 14          	mov    0x14(%esp),%ecx
7ce404:	8b c1                	mov    %ecx,%eax
7ce406:	83 ed 10             	sub    $0x10,%ebp
7ce409:	c1 e8 10             	shr    $0x10,%eax
7ce40c:	c1 e1 10             	shl    $0x10,%ecx
7ce40f:	89 44 24 18          	mov    %eax,0x18(%esp)
7ce413:	89 4c 24 14          	mov    %ecx,0x14(%esp)
7ce417:	83 fd 10             	cmp    $0x10,%ebp
7ce41a:	0f 8d 82 00 00 00    	jge    0x7ce4a2
7ce420:	b8 10 00 00 00       	mov    $0x10,%eax
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