4a5275:	eb 04                	jmp    0x4a527b
4a5277:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a527b:	8b 54 24 28          	mov    0x28(%esp),%edx
4a527f:	83 fa 10             	cmp    $0x10,%edx
4a5282:	73 1e                	jae    0x4a52a2
4a5284:	b9 10 00 00 00       	mov    $0x10,%ecx
4a5289:	8d 3c 32             	lea    (%edx,%esi,1),%edi
4a528c:	2b ca                	sub    %edx,%ecx
4a528e:	33 c0                	xor    %eax,%eax
4a5290:	8b d1                	mov    %ecx,%edx
4a5292:	c1 e9 02             	shr    $0x2,%ecx
4a5295:	f3 ab                	rep stos %eax,%es:(%edi)
4a5297:	8b ca                	mov    %edx,%ecx
4a5299:	83 e1 03             	and    $0x3,%ecx
4a529c:	f3 aa                	rep stos %al,%es:(%edi)
4a529e:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4a52a2:	53                   	push   %ebx
4a52a3:	8d 44 24 30          	lea    0x30(%esp),%eax
4a52a7:	50                   	push   %eax
4a52a8:	56                   	push   %esi
4a52a9:	ff d7                	call   *%edi
4a52ab:	8b 44 24 38          	mov    0x38(%esp),%eax
4a52af:	83 c4 0c             	add    $0xc,%esp
4a52b2:	31 46 10             	xor    %eax,0x10(%esi)
4a52b5:	8b 44 24 30          	mov    0x30(%esp),%eax
4a52b9:	31 46 14             	xor    %eax,0x14(%esi)
4a52bc:	8b 44 24 34          	mov    0x34(%esp),%eax
4a52c0:	31 46 18             	xor    %eax,0x18(%esi)
4a52c3:	8b 44 24 38          	mov    0x38(%esp),%eax
4a52c7:	31 46 1c             	xor    %eax,0x1c(%esi)
4a52ca:	8a 44 24 13          	mov    0x13(%esp),%al
4a52ce:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a52d2:	5f                   	pop    %edi
4a52d3:	88 06                	mov    %al,(%esi)
4a52d5:	33 c0                	xor    %eax,%eax
4a52d7:	5e                   	pop    %esi
4a52d8:	5d                   	pop    %ebp
4a52d9:	5b                   	pop    %ebx
4a52da:	33 cc                	xor    %esp,%ecx
4a52dc:	e8 f9 c1 13 00       	call   0x5e14da
4a52e1:	83 c4 30             	add    $0x30,%esp
4a52e4:	c3                   	ret
4a52e5:	cc                   	int3
4a52e6:	cc                   	int3
4a52e7:	cc                   	int3
4a52e8:	cc                   	int3
4a52e9:	cc                   	int3
4a52ea:	cc                   	int3
4a52eb:	cc                   	int3
4a52ec:	cc                   	int3
4a52ed:	cc                   	int3
4a52ee:	cc                   	int3
4a52ef:	cc                   	int3
4a52f0:	b8 30 00 00 00       	mov    $0x30,%eax
4a52f5:	e8 f6 c1 13 00       	call   0x5e14f0
4a52fa:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a52ff:	33 c4                	xor    %esp,%eax
4a5301:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4a5305:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4a5309:	53                   	push   %ebx
4a530a:	55                   	push   %ebp
4a530b:	8b 6c 24 40          	mov    0x40(%esp),%ebp
4a530f:	56                   	push   %esi
4a5310:	8b 74 24 40          	mov    0x40(%esp),%esi
4a5314:	89 44 24 10          	mov    %eax,0x10(%esp)
4a5318:	8b 44 24 50          	mov    0x50(%esp),%eax
4a531c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a5320:	8a 1e                	mov    (%esi),%bl
4a5322:	8b 4e 28             	mov    0x28(%esi),%ecx
4a5325:	8b 46 2c             	mov    0x2c(%esi),%eax
4a5328:	89 74 24 20          	mov    %esi,0x20(%esp)
4a532c:	88 5c 24 0f          	mov    %bl,0xf(%esp)
4a5330:	89 4c 24 18          	mov    %ecx,0x18(%esp)
4a5334:	89 44 24 14          	mov    %eax,0x14(%esp)
4a5338:	f6 c3 40             	test   $0x40,%bl
4a533b:	75 0b                	jne    0x4a5348
4a533d:	50                   	push   %eax
4a533e:	8d 46 10             	lea    0x10(%esi),%eax
4a5341:	50                   	push   %eax
4a5342:	56                   	push   %esi
4a5343:	ff d1                	call   *%ecx
4a5345:	83 c4 0c             	add    $0xc,%esp
4a5348:	0f b6 c3             	movzbl %bl,%eax
4a534b:	ba 0f 00 00 00       	mov    $0xf,%edx
4a5350:	83 e0 07             	and    $0x7,%eax
4a5353:	33 c9                	xor    %ecx,%ecx
4a5355:	2b d0                	sub    %eax,%edx
4a5357:	88 06                	mov    %al,(%esi)
4a5359:	89 54 24 24          	mov    %edx,0x24(%esp)
4a535d:	83 fa 0f             	cmp    $0xf,%edx
4a5360:	73 13                	jae    0x4a5375
4a5362:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4a5366:	0b c8                	or     %eax,%ecx
4a5368:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4a536c:	42                   	inc    %edx
4a536d:	c1 e1 08             	shl    $0x8,%ecx
4a5370:	83 fa 0f             	cmp    $0xf,%edx
4a5373:	72 ed                	jb     0x4a5362
4a5375:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4a5379:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
4a537d:	0b c8                	or     %eax,%ecx
4a537f:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4a5383:	3b cb                	cmp    %ebx,%ecx
4a5385:	74 15                	je     0x4a539c
4a5387:	5e                   	pop    %esi
4a5388:	5d                   	pop    %ebp
4a5389:	83 c8 ff             	or     $0xffffffff,%eax
4a538c:	5b                   	pop    %ebx
4a538d:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4a5391:	33 cc                	xor    %esp,%ecx
4a5393:	e8 42 c1 13 00       	call   0x5e14da
4a5398:	83 c4 30             	add    $0x30,%esp
4a539b:	c3                   	ret
4a539c:	57                   	push   %edi
4a539d:	8b fb                	mov    %ebx,%edi
4a539f:	c1 ef 04             	shr    $0x4,%edi
4a53a2:	85 ff                	test   %edi,%edi
4a53a4:	74 30                	je     0x4a53d6
4a53a6:	8d 46 10             	lea    0x10(%esi),%eax
4a53a9:	50                   	push   %eax
4a53aa:	56                   	push   %esi
4a53ab:	ff 74 24 20          	push   0x20(%esp)
4a53af:	57                   	push   %edi
4a53b0:	ff 74 24 24          	push   0x24(%esp)
4a53b4:	55                   	push   %ebp
4a53b5:	ff 54 24 38          	call   *0x38(%esp)
4a53b9:	c1 e7 04             	shl    $0x4,%edi
4a53bc:	83 c4 18             	add    $0x18,%esp
4a53bf:	01 7c 24 14          	add    %edi,0x14(%esp)
4a53c3:	03 ef                	add    %edi,%ebp
4a53c5:	2b df                	sub    %edi,%ebx
4a53c7:	74 74                	je     0x4a543d
4a53c9:	c1 ef 04             	shr    $0x4,%edi
4a53cc:	57                   	push   %edi
4a53cd:	56                   	push   %esi
4a53ce:	e8 8d 07 00 00       	call   0x4a5b60
4a53d3:	83 c4 08             	add    $0x8,%esp
4a53d6:	85 db                	test   %ebx,%ebx
4a53d8:	74 63                	je     0x4a543d
4a53da:	ff 74 24 18          	push   0x18(%esp)
4a53de:	8d 44 24 30          	lea    0x30(%esp),%eax
4a53e2:	50                   	push   %eax
4a53e3:	56                   	push   %esi
4a53e4:	ff 54 24 28          	call   *0x28(%esp)
4a53e8:	83 c4 0c             	add    $0xc,%esp
4a53eb:	33 ff                	xor    %edi,%edi
4a53ed:	85 db                	test   %ebx,%ebx
4a53ef:	74 37                	je     0x4a5428
4a53f1:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4a53f5:	2b e8                	sub    %eax,%ebp
4a53f7:	29 44 24 14          	sub    %eax,0x14(%esp)
4a53fb:	8d 46 10             	lea    0x10(%esi),%eax
4a53fe:	8b 74 24 14          	mov    0x14(%esp),%esi
4a5402:	89 44 24 20          	mov    %eax,0x20(%esp)
4a5406:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
4a540a:	03 cf                	add    %edi,%ecx
4a540c:	0f b6 14 29          	movzbl (%ecx,%ebp,1),%edx
4a5410:	0f b6 01             	movzbl (%ecx),%eax
4a5413:	33 d0                	xor    %eax,%edx
4a5415:	8b 44 24 20          	mov    0x20(%esp),%eax
4a5419:	88 14 0e             	mov    %dl,(%esi,%ecx,1)
4a541c:	30 14 38             	xor    %dl,(%eax,%edi,1)
4a541f:	47                   	inc    %edi
4a5420:	3b fb                	cmp    %ebx,%edi
4a5422:	72 e2                	jb     0x4a5406
4a5424:	8b 74 24 24          	mov    0x24(%esp),%esi
4a5428:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a542c:	8d 46 10             	lea    0x10(%esi),%eax
4a542f:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a5433:	53                   	push   %ebx
4a5434:	50                   	push   %eax
4a5435:	50                   	push   %eax
4a5436:	ff d5                	call   *%ebp
4a5438:	83 c4 0c             	add    $0xc,%esp
4a543b:	eb 08                	jmp    0x4a5445
4a543d:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4a5441:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4a5445:	8b 54 24 28          	mov    0x28(%esp),%edx
4a5449:	83 fa 10             	cmp    $0x10,%edx
4a544c:	73 1a                	jae    0x4a5468
4a544e:	b9 10 00 00 00       	mov    $0x10,%ecx
4a5453:	8d 3c 32             	lea    (%edx,%esi,1),%edi
4a5456:	2b ca                	sub    %edx,%ecx
4a5458:	33 c0                	xor    %eax,%eax
4a545a:	8b d1                	mov    %ecx,%edx
4a545c:	c1 e9 02             	shr    $0x2,%ecx
4a545f:	f3 ab                	rep stos %eax,%es:(%edi)
4a5461:	8b ca                	mov    %edx,%ecx
4a5463:	83 e1 03             	and    $0x3,%ecx
4a5466:	f3 aa                	rep stos %al,%es:(%edi)
4a5468:	53                   	push   %ebx
4a5469:	8d 44 24 30          	lea    0x30(%esp),%eax
4a546d:	50                   	push   %eax
4a546e:	56                   	push   %esi
4a546f:	ff d5                	call   *%ebp
4a5471:	8b 44 24 38          	mov    0x38(%esp),%eax
4a5475:	83 c4 0c             	add    $0xc,%esp
4a5478:	31 46 10             	xor    %eax,0x10(%esi)
4a547b:	8b 44 24 30          	mov    0x30(%esp),%eax
4a547f:	31 46 14             	xor    %eax,0x14(%esi)
4a5482:	8b 44 24 34          	mov    0x34(%esp),%eax
4a5486:	31 46 18             	xor    %eax,0x18(%esi)
4a5489:	8b 44 24 38          	mov    0x38(%esp),%eax
4a548d:	31 46 1c             	xor    %eax,0x1c(%esi)
4a5490:	8a 44 24 13          	mov    0x13(%esp),%al
4a5494:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a5498:	5f                   	pop    %edi
4a5499:	88 06                	mov    %al,(%esi)
4a549b:	33 c0                	xor    %eax,%eax
4a549d:	5e                   	pop    %esi
4a549e:	5d                   	pop    %ebp
4a549f:	5b                   	pop    %ebx
4a54a0:	33 cc                	xor    %esp,%ecx
4a54a2:	e8 33 c0 13 00       	call   0x5e14da
4a54a7:	83 c4 30             	add    $0x30,%esp
4a54aa:	c3                   	ret
4a54ab:	cc                   	int3
4a54ac:	cc                   	int3
4a54ad:	cc                   	int3
4a54ae:	cc                   	int3
4a54af:	cc                   	int3
4a54b0:	b8 40 00 00 00       	mov    $0x40,%eax
4a54b5:	e8 36 c0 13 00       	call   0x5e14f0
4a54ba:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a54bf:	33 c4                	xor    %esp,%eax
4a54c1:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4a54c5:	53                   	push   %ebx
4a54c6:	55                   	push   %ebp
4a54c7:	8b 6c 24 54          	mov    0x54(%esp),%ebp
4a54cb:	56                   	push   %esi
4a54cc:	8b 74 24 50          	mov    0x50(%esp),%esi
4a54d0:	89 74 24 30          	mov    %esi,0x30(%esp)
4a54d4:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
4a54d8:	8a 1e                	mov    (%esi),%bl
4a54da:	8b 4e 28             	mov    0x28(%esi),%ecx
4a54dd:	8b 46 2c             	mov    0x2c(%esi),%eax
4a54e0:	88 5c 24 0f          	mov    %bl,0xf(%esp)
4a54e4:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4a54e8:	89 44 24 10          	mov    %eax,0x10(%esp)
4a54ec:	f6 c3 40             	test   $0x40,%bl
4a54ef:	75 13                	jne    0x4a5504
4a54f1:	50                   	push   %eax
4a54f2:	8d 46 10             	lea    0x10(%esi),%eax
4a54f5:	50                   	push   %eax
4a54f6:	56                   	push   %esi
4a54f7:	ff d1                	call   *%ecx
4a54f9:	83 c4 0c             	add    $0xc,%esp
4a54fc:	83 46 20 01          	addl   $0x1,0x20(%esi)
4a5500:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4a5504:	0f b6 c3             	movzbl %bl,%eax
4a5507:	ba 0f 00 00 00       	mov    $0xf,%edx
4a550c:	83 e0 07             	and    $0x7,%eax
4a550f:	33 c9                	xor    %ecx,%ecx
4a5511:	2b d0                	sub    %eax,%edx
4a5513:	88 06                	mov    %al,(%esi)
4a5515:	89 54 24 34          	mov    %edx,0x34(%esp)
4a5519:	83 fa 0f             	cmp    $0xf,%edx
4a551c:	73 15                	jae    0x4a5533
4a551e:	66 90                	xchg   %ax,%ax
4a5520:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4a5524:	0b c8                	or     %eax,%ecx
4a5526:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4a552a:	42                   	inc    %edx
4a552b:	c1 e1 08             	shl    $0x8,%ecx
4a552e:	83 fa 0f             	cmp    $0xf,%edx
4a5531:	72 ed                	jb     0x4a5520
4a5533:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4a5537:	8b 5c 24 5c          	mov    0x5c(%esp),%ebx
4a553b:	0b c8                	or     %eax,%ecx
4a553d:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4a5541:	3b cb                	cmp    %ebx,%ecx
4a5543:	74 15                	je     0x4a555a
4a5545:	5e                   	pop    %esi
4a5546:	5d                   	pop    %ebp
4a5547:	83 c8 ff             	or     $0xffffffff,%eax
4a554a:	5b                   	pop    %ebx
4a554b:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a554f:	33 cc                	xor    %esp,%ecx
4a5551:	e8 84 bf 13 00       	call   0x5e14da
4a5556:	83 c4 40             	add    $0x40,%esp
4a5559:	c3                   	ret
4a555a:	8d 43 0f             	lea    0xf(%ebx),%eax
4a555d:	83 c8 08             	or     $0x8,%eax
4a5560:	c1 e8 03             	shr    $0x3,%eax
4a5563:	01 46 20             	add    %eax,0x20(%esi)
4a5566:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4a556a:	81 7e 24 00 00 00 20 	cmpl   $0x20000000,0x24(%esi)
4a5571:	72 1f                	jb     0x4a5592
4a5573:	77 06                	ja     0x4a557b
4a5575:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
4a5579:	76 17                	jbe    0x4a5592
4a557b:	5e                   	pop    %esi
4a557c:	5d                   	pop    %ebp
4a557d:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4a5582:	5b                   	pop    %ebx
4a5583:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
4a5587:	33 cc                	xor    %esp,%ecx
4a5589:	e8 4c bf 13 00       	call   0x5e14da
4a558e:	83 c4 40             	add    $0x40,%esp
4a5591:	c3                   	ret
4a5592:	57                   	push   %edi
4a5593:	8b 7c 24 58          	mov    0x58(%esp),%edi
4a5597:	83 fb 10             	cmp    $0x10,%ebx
4a559a:	0f 82 94 00 00 00    	jb     0x4a5634
4a55a0:	8b c3                	mov    %ebx,%eax
4a55a2:	8d 4e 10             	lea    0x10(%esi),%ecx
4a55a5:	c1 e8 04             	shr    $0x4,%eax
4a55a8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a55ac:	0f 1f 40 00          	nopl   0x0(%eax)
4a55b0:	8b 07                	mov    (%edi),%eax
4a55b2:	31 01                	xor    %eax,(%ecx)
4a55b4:	8b 47 04             	mov    0x4(%edi),%eax
4a55b7:	31 41 04             	xor    %eax,0x4(%ecx)
4a55ba:	ff 74 24 14          	push   0x14(%esp)
4a55be:	8b 47 08             	mov    0x8(%edi),%eax
4a55c1:	31 46 18             	xor    %eax,0x18(%esi)
4a55c4:	8b 47 0c             	mov    0xc(%edi),%eax
4a55c7:	31 46 1c             	xor    %eax,0x1c(%esi)
4a55ca:	51                   	push   %ecx
4a55cb:	51                   	push   %ecx
4a55cc:	ff 54 24 24          	call   *0x24(%esp)
4a55d0:	ff 74 24 20          	push   0x20(%esp)
4a55d4:	8d 44 24 4c          	lea    0x4c(%esp),%eax
4a55d8:	50                   	push   %eax
4a55d9:	56                   	push   %esi
4a55da:	ff 54 24 30          	call   *0x30(%esp)
4a55de:	83 c4 18             	add    $0x18,%esp
4a55e1:	b9 08 00 00 00       	mov    $0x8,%ecx
4a55e6:	49                   	dec    %ecx
4a55e7:	80 44 31 08 01       	addb   $0x1,0x8(%ecx,%esi,1)
4a55ec:	75 04                	jne    0x4a55f2
4a55ee:	85 c9                	test   %ecx,%ecx
4a55f0:	75 f4                	jne    0x4a55e6
4a55f2:	8b 0f                	mov    (%edi),%ecx
4a55f4:	83 eb 10             	sub    $0x10,%ebx
4a55f7:	8b 47 04             	mov    0x4(%edi),%eax
4a55fa:	33 4c 24 3c          	xor    0x3c(%esp),%ecx
4a55fe:	33 44 24 40          	xor    0x40(%esp),%eax
4a5602:	89 4d 00             	mov    %ecx,0x0(%ebp)
4a5605:	89 45 04             	mov    %eax,0x4(%ebp)
4a5608:	8b 4f 08             	mov    0x8(%edi),%ecx
4a560b:	8b 47 0c             	mov    0xc(%edi),%eax
4a560e:	83 c7 10             	add    $0x10,%edi
4a5611:	33 4c 24 44          	xor    0x44(%esp),%ecx
4a5615:	33 44 24 48          	xor    0x48(%esp),%eax
4a5619:	89 4d 08             	mov    %ecx,0x8(%ebp)
4a561c:	8d 4e 10             	lea    0x10(%esi),%ecx
4a561f:	89 45 0c             	mov    %eax,0xc(%ebp)
4a5622:	83 c5 10             	add    $0x10,%ebp
4a5625:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)