6e8193:	83 c4 0c             	add    $0xc,%esp
6e8196:	85 c0                	test   %eax,%eax
6e8198:	75 13                	jne    0x6e81ad
6e819a:	3b f7                	cmp    %edi,%esi
6e819c:	76 0b                	jbe    0x6e81a9
6e819e:	83 c8 ff             	or     $0xffffffff,%eax
6e81a1:	5f                   	pop    %edi
6e81a2:	c1 e8 1f             	shr    $0x1f,%eax
6e81a5:	5e                   	pop    %esi
6e81a6:	c2 08 00             	ret    $0x8
6e81a9:	1b c0                	sbb    %eax,%eax
6e81ab:	f7 d8                	neg    %eax
6e81ad:	5f                   	pop    %edi
6e81ae:	c1 e8 1f             	shr    $0x1f,%eax
6e81b1:	5e                   	pop    %esi
6e81b2:	c2 08 00             	ret    $0x8
6e81b5:	cc                   	int3
6e81b6:	cc                   	int3
6e81b7:	cc                   	int3
6e81b8:	cc                   	int3
6e81b9:	cc                   	int3
6e81ba:	cc                   	int3
6e81bb:	cc                   	int3
6e81bc:	cc                   	int3
6e81bd:	cc                   	int3
6e81be:	cc                   	int3
6e81bf:	cc                   	int3
6e81c0:	cc                   	int3
6e81c1:	cc                   	int3
6e81c2:	cc                   	int3
6e81c3:	cc                   	int3
6e81c4:	cc                   	int3
6e81c5:	cc                   	int3
6e81c6:	cc                   	int3
6e81c7:	cc                   	int3
6e81c8:	cc                   	int3
6e81c9:	cc                   	int3
6e81ca:	cc                   	int3
6e81cb:	cc                   	int3
6e81cc:	cc                   	int3
6e81cd:	cc                   	int3
6e81ce:	cc                   	int3
6e81cf:	cc                   	int3
6e81d0:	56                   	push   %esi
6e81d1:	8b f1                	mov    %ecx,%esi
6e81d3:	e8 7e f9 d3 ff       	call   0x427b56
6e81d8:	89 06                	mov    %eax,(%esi)
6e81da:	5e                   	pop    %esi
6e81db:	c3                   	ret
6e81dc:	cc                   	int3
6e81dd:	cc                   	int3
6e81de:	cc                   	int3
6e81df:	cc                   	int3
6e81e0:	56                   	push   %esi
6e81e1:	8b f1                	mov    %ecx,%esi
6e81e3:	e8 3b 64 d3 ff       	call   0x41e623
6e81e8:	89 06                	mov    %eax,(%esi)
6e81ea:	5e                   	pop    %esi
6e81eb:	c3                   	ret
6e81ec:	cc                   	int3
6e81ed:	cc                   	int3
6e81ee:	cc                   	int3
6e81ef:	cc                   	int3
6e81f0:	c2 08 00             	ret    $0x8
6e81f3:	cc                   	int3
6e81f4:	cc                   	int3
6e81f5:	cc                   	int3
6e81f6:	cc                   	int3
6e81f7:	cc                   	int3
6e81f8:	cc                   	int3
6e81f9:	cc                   	int3
6e81fa:	cc                   	int3
6e81fb:	cc                   	int3
6e81fc:	cc                   	int3
6e81fd:	cc                   	int3
6e81fe:	cc                   	int3
6e81ff:	cc                   	int3
6e8200:	c2 08 00             	ret    $0x8
6e8203:	cc                   	int3
6e8204:	cc                   	int3
6e8205:	cc                   	int3
6e8206:	cc                   	int3
6e8207:	cc                   	int3
6e8208:	cc                   	int3
6e8209:	cc                   	int3
6e820a:	cc                   	int3
6e820b:	cc                   	int3
6e820c:	cc                   	int3
6e820d:	cc                   	int3
6e820e:	cc                   	int3
6e820f:	cc                   	int3
6e8210:	56                   	push   %esi
6e8211:	57                   	push   %edi
6e8212:	8b 7c 24 0c          	mov    0xc(%esp),%edi
6e8216:	8b 47 24             	mov    0x24(%edi),%eax
6e8219:	8d 77 10             	lea    0x10(%edi),%esi
6e821c:	83 f8 10             	cmp    $0x10,%eax
6e821f:	72 0b                	jb     0x6e822c
6e8221:	40                   	inc    %eax
6e8222:	8b ce                	mov    %esi,%ecx
6e8224:	50                   	push   %eax
6e8225:	ff 36                	push   (%esi)
6e8227:	e8 f0 c3 d4 ff       	call   0x43461c
6e822c:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
6e8233:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
6e8237:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
6e823e:	72 02                	jb     0x6e8242
6e8240:	8b 36                	mov    (%esi),%esi
6e8242:	57                   	push   %edi
6e8243:	c6 06 00             	movb   $0x0,(%esi)
6e8246:	e8 44 95 d1 ff       	call   0x40178f
6e824b:	83 c4 04             	add    $0x4,%esp
6e824e:	5f                   	pop    %edi
6e824f:	5e                   	pop    %esi
6e8250:	c2 04 00             	ret    $0x4
6e8253:	cc                   	int3
6e8254:	cc                   	int3
6e8255:	cc                   	int3
6e8256:	cc                   	int3
6e8257:	cc                   	int3
6e8258:	cc                   	int3
6e8259:	cc                   	int3
6e825a:	cc                   	int3
6e825b:	cc                   	int3
6e825c:	cc                   	int3
6e825d:	cc                   	int3
6e825e:	cc                   	int3
6e825f:	cc                   	int3
6e8260:	cc                   	int3
6e8261:	cc                   	int3
6e8262:	cc                   	int3
6e8263:	cc                   	int3
6e8264:	cc                   	int3
6e8265:	cc                   	int3
6e8266:	cc                   	int3
6e8267:	cc                   	int3
6e8268:	cc                   	int3
6e8269:	cc                   	int3
6e826a:	cc                   	int3
6e826b:	cc                   	int3
6e826c:	cc                   	int3
6e826d:	cc                   	int3
6e826e:	cc                   	int3
6e826f:	cc                   	int3
6e8270:	56                   	push   %esi
6e8271:	8b 74 24 08          	mov    0x8(%esp),%esi
6e8275:	8d 4e 10             	lea    0x10(%esi),%ecx
6e8278:	e8 7a 36 d2 ff       	call   0x40b8f7
6e827d:	56                   	push   %esi
6e827e:	e8 0c 95 d1 ff       	call   0x40178f
6e8283:	83 c4 04             	add    $0x4,%esp
6e8286:	5e                   	pop    %esi
6e8287:	c2 04 00             	ret    $0x4
6e828a:	cc                   	int3
6e828b:	cc                   	int3
6e828c:	cc                   	int3
6e828d:	cc                   	int3
6e828e:	cc                   	int3
6e828f:	cc                   	int3
6e8290:	53                   	push   %ebx
6e8291:	8b 5c 24 08          	mov    0x8(%esp),%ebx
6e8295:	55                   	push   %ebp
6e8296:	57                   	push   %edi
6e8297:	8b e9                	mov    %ecx,%ebp
6e8299:	8b fb                	mov    %ebx,%edi
6e829b:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
6e829f:	75 70                	jne    0x6e8311
6e82a1:	56                   	push   %esi
6e82a2:	ff 77 08             	push   0x8(%edi)
6e82a5:	8b cd                	mov    %ebp,%ecx
6e82a7:	e8 d2 8e d4 ff       	call   0x43117e
6e82ac:	8b 4b 24             	mov    0x24(%ebx),%ecx
6e82af:	8d 73 10             	lea    0x10(%ebx),%esi
6e82b2:	8b 3f                	mov    (%edi),%edi
6e82b4:	83 f9 10             	cmp    $0x10,%ecx
6e82b7:	72 2d                	jb     0x6e82e6
6e82b9:	8b 06                	mov    (%esi),%eax
6e82bb:	41                   	inc    %ecx
6e82bc:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
6e82c2:	72 19                	jb     0x6e82dd
6e82c4:	a8 1f                	test   $0x1f,%al
6e82c6:	75 4f                	jne    0x6e8317
6e82c8:	8b 48 fc             	mov    -0x4(%eax),%ecx
6e82cb:	3b c8                	cmp    %eax,%ecx
6e82cd:	73 48                	jae    0x6e8317
6e82cf:	2b c1                	sub    %ecx,%eax
6e82d1:	83 f8 04             	cmp    $0x4,%eax
6e82d4:	72 41                	jb     0x6e8317
6e82d6:	83 f8 23             	cmp    $0x23,%eax
6e82d9:	77 3c                	ja     0x6e8317
6e82db:	8b c1                	mov    %ecx,%eax
6e82dd:	50                   	push   %eax
6e82de:	e8 ac 94 d1 ff       	call   0x40178f
6e82e3:	83 c4 04             	add    $0x4,%esp
6e82e6:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
6e82ed:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
6e82f1:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
6e82f8:	72 02                	jb     0x6e82fc
6e82fa:	8b 36                	mov    (%esi),%esi
6e82fc:	53                   	push   %ebx
6e82fd:	c6 06 00             	movb   $0x0,(%esi)
6e8300:	e8 8a 94 d1 ff       	call   0x40178f
6e8305:	83 c4 04             	add    $0x4,%esp
6e8308:	8b df                	mov    %edi,%ebx
6e830a:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
6e830e:	74 92                	je     0x6e82a2
6e8310:	5e                   	pop    %esi
6e8311:	5f                   	pop    %edi
6e8312:	5d                   	pop    %ebp
6e8313:	5b                   	pop    %ebx
6e8314:	c2 04 00             	ret    $0x4
6e8317:	e8 71 56 d5 ff       	call   0x43d98d
6e831c:	cc                   	int3
6e831d:	cc                   	int3
6e831e:	cc                   	int3
6e831f:	cc                   	int3
6e8320:	cc                   	int3
6e8321:	cc                   	int3
6e8322:	cc                   	int3
6e8323:	cc                   	int3
6e8324:	cc                   	int3
6e8325:	cc                   	int3
6e8326:	cc                   	int3
6e8327:	cc                   	int3
6e8328:	cc                   	int3
6e8329:	cc                   	int3
6e832a:	cc                   	int3
6e832b:	cc                   	int3
6e832c:	cc                   	int3
6e832d:	cc                   	int3
6e832e:	cc                   	int3
6e832f:	cc                   	int3
6e8330:	cc                   	int3
6e8331:	cc                   	int3
6e8332:	cc                   	int3
6e8333:	cc                   	int3
6e8334:	cc                   	int3
6e8335:	cc                   	int3
6e8336:	cc                   	int3
6e8337:	cc                   	int3
6e8338:	cc                   	int3
6e8339:	cc                   	int3
6e833a:	cc                   	int3
6e833b:	cc                   	int3
6e833c:	cc                   	int3
6e833d:	cc                   	int3
6e833e:	cc                   	int3
6e833f:	cc                   	int3
6e8340:	51                   	push   %ecx
6e8341:	53                   	push   %ebx
6e8342:	55                   	push   %ebp
6e8343:	8b 6c 24 10          	mov    0x10(%esp),%ebp
6e8347:	8b c1                	mov    %ecx,%eax
6e8349:	89 44 24 08          	mov    %eax,0x8(%esp)
6e834d:	8b dd                	mov    %ebp,%ebx
6e834f:	80 7d 0d 00          	cmpb   $0x0,0xd(%ebp)
6e8353:	0f 85 e1 00 00 00    	jne    0x6e843a
6e8359:	56                   	push   %esi
6e835a:	57                   	push   %edi
6e835b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
6e8360:	ff 73 08             	push   0x8(%ebx)
6e8363:	8b c8                	mov    %eax,%ecx
6e8365:	e8 f0 47 d5 ff       	call   0x43cb5a
6e836a:	8b 1b                	mov    (%ebx),%ebx
6e836c:	8d 75 10             	lea    0x10(%ebp),%esi
6e836f:	8b 46 2c             	mov    0x2c(%esi),%eax
6e8372:	8d 7e 18             	lea    0x18(%esi),%edi
6e8375:	83 f8 10             	cmp    $0x10,%eax
6e8378:	72 3d                	jb     0x6e83b7
6e837a:	8b 0f                	mov    (%edi),%ecx
6e837c:	40                   	inc    %eax
6e837d:	3d 00 10 00 00       	cmp    $0x1000,%eax
6e8382:	72 2a                	jb     0x6e83ae
6e8384:	f6 c1 1f             	test   $0x1f,%cl
6e8387:	0f 85 b3 00 00 00    	jne    0x6e8440
6e838d:	8b 41 fc             	mov    -0x4(%ecx),%eax
6e8390:	3b c1                	cmp    %ecx,%eax
6e8392:	0f 83 a8 00 00 00    	jae    0x6e8440
6e8398:	2b c8                	sub    %eax,%ecx
6e839a:	83 f9 04             	cmp    $0x4,%ecx
6e839d:	0f 82 9d 00 00 00    	jb     0x6e8440
6e83a3:	83 f9 23             	cmp    $0x23,%ecx
6e83a6:	0f 87 94 00 00 00    	ja     0x6e8440
6e83ac:	8b c8                	mov    %eax,%ecx
6e83ae:	51                   	push   %ecx
6e83af:	e8 db 93 d1 ff       	call   0x40178f
6e83b4:	83 c4 04             	add    $0x4,%esp
6e83b7:	c7 47 14 0f 00 00 00 	movl   $0xf,0x14(%edi)
6e83be:	83 7f 14 10          	cmpl   $0x10,0x14(%edi)
6e83c2:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
6e83c9:	72 02                	jb     0x6e83cd
6e83cb:	8b 3f                	mov    (%edi),%edi
6e83cd:	c6 07 00             	movb   $0x0,(%edi)
6e83d0:	8b 46 14             	mov    0x14(%esi),%eax
6e83d3:	83 f8 10             	cmp    $0x10,%eax
6e83d6:	72 2d                	jb     0x6e8405
6e83d8:	8b 0e                	mov    (%esi),%ecx
6e83da:	40                   	inc    %eax
6e83db:	3d 00 10 00 00       	cmp    $0x1000,%eax
6e83e0:	72 1a                	jb     0x6e83fc
6e83e2:	f6 c1 1f             	test   $0x1f,%cl
6e83e5:	75 59                	jne    0x6e8440
6e83e7:	8b 41 fc             	mov    -0x4(%ecx),%eax
6e83ea:	3b c1                	cmp    %ecx,%eax
6e83ec:	73 52                	jae    0x6e8440
6e83ee:	2b c8                	sub    %eax,%ecx
6e83f0:	83 f9 04             	cmp    $0x4,%ecx
6e83f3:	72 4b                	jb     0x6e8440
6e83f5:	83 f9 23             	cmp    $0x23,%ecx
6e83f8:	77 46                	ja     0x6e8440
6e83fa:	8b c8                	mov    %eax,%ecx
6e83fc:	51                   	push   %ecx
6e83fd:	e8 8d 93 d1 ff       	call   0x40178f
6e8402:	83 c4 04             	add    $0x4,%esp
6e8405:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
6e840c:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
6e8410:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
6e8417:	72 02                	jb     0x6e841b
6e8419:	8b 36                	mov    (%esi),%esi
6e841b:	55                   	push   %ebp
6e841c:	c6 06 00             	movb   $0x0,(%esi)
6e841f:	e8 6b 93 d1 ff       	call   0x40178f
6e8424:	83 c4 04             	add    $0x4,%esp
6e8427:	8b eb                	mov    %ebx,%ebp
6e8429:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
6e842d:	75 09                	jne    0x6e8438
6e842f:	8b 44 24 10          	mov    0x10(%esp),%eax
6e8433:	e9 28 ff ff ff       	jmp    0x6e8360
6e8438:	5f                   	pop    %edi
6e8439:	5e                   	pop    %esi
6e843a:	5d                   	pop    %ebp
6e843b:	5b                   	pop    %ebx
6e843c:	59                   	pop    %ecx
6e843d:	c2 04 00             	ret    $0x4
6e8440:	e8 48 55 d5 ff       	call   0x43d98d
6e8445:	cc                   	int3
6e8446:	cc                   	int3
6e8447:	cc                   	int3
6e8448:	cc                   	int3
6e8449:	cc                   	int3
6e844a:	cc                   	int3
6e844b:	cc                   	int3
6e844c:	cc                   	int3
6e844d:	cc                   	int3
6e844e:	cc                   	int3
6e844f:	cc                   	int3
6e8450:	cc                   	int3
6e8451:	cc                   	int3
6e8452:	cc                   	int3
6e8453:	cc                   	int3