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)
4a562a:	75 84                	jne    0x4a55b0
4a562c:	89 6c 24 20          	mov    %ebp,0x20(%esp)
4a5630:	89 5c 24 60          	mov    %ebx,0x60(%esp)
4a5634:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4a5638:	85 db                	test   %ebx,%ebx
4a563a:	0f 84 03 01 00 00    	je     0x4a5743
4a5640:	33 c9                	xor    %ecx,%ecx
4a5642:	85 db                	test   %ebx,%ebx
4a5644:	74 0c                	je     0x4a5652
4a5646:	8a 04 39             	mov    (%ecx,%edi,1),%al
4a5649:	30 44 0e 10          	xor    %al,0x10(%esi,%ecx,1)
4a564d:	41                   	inc    %ecx
4a564e:	3b cb                	cmp    %ebx,%ecx
4a5650:	72 f4                	jb     0x4a5646
4a5652:	ff 74 24 14          	push   0x14(%esp)
4a5656:	8d 46 10             	lea    0x10(%esi),%eax
4a5659:	50                   	push   %eax
4a565a:	50                   	push   %eax
4a565b:	ff 54 24 24          	call   *0x24(%esp)
4a565f:	ff 74 24 20          	push   0x20(%esp)
4a5663:	8d 44 24 4c          	lea    0x4c(%esp),%eax
4a5667:	50                   	push   %eax
4a5668:	56                   	push   %esi
4a5669:	ff 54 24 30          	call   *0x30(%esp)
4a566d:	83 c4 18             	add    $0x18,%esp
4a5670:	33 d2                	xor    %edx,%edx
4a5672:	85 db                	test   %ebx,%ebx
4a5674:	0f 84 c9 00 00 00    	je     0x4a5743
4a567a:	83 fb 20             	cmp    $0x20,%ebx
4a567d:	0f 82 9e 00 00 00    	jb     0x4a5721
4a5683:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4a5686:	8d 44 1c 3b          	lea    0x3b(%esp,%ebx,1),%eax
4a568a:	03 cb                	add    %ebx,%ecx
4a568c:	3b e8                	cmp    %eax,%ebp
4a568e:	77 0c                	ja     0x4a569c
4a5690:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4a5694:	3b c8                	cmp    %eax,%ecx
4a5696:	0f 83 85 00 00 00    	jae    0x4a5721
4a569c:	8d 47 ff             	lea    -0x1(%edi),%eax
4a569f:	03 c3                	add    %ebx,%eax
4a56a1:	3b e8                	cmp    %eax,%ebp
4a56a3:	77 04                	ja     0x4a56a9
4a56a5:	3b cf                	cmp    %edi,%ecx
4a56a7:	73 78                	jae    0x4a5721
4a56a9:	8b c3                	mov    %ebx,%eax
4a56ab:	8b cb                	mov    %ebx,%ecx
4a56ad:	8d 5c 24 3c          	lea    0x3c(%esp),%ebx
4a56b1:	83 e0 1f             	and    $0x1f,%eax
4a56b4:	2b df                	sub    %edi,%ebx
4a56b6:	8b f5                	mov    %ebp,%esi
4a56b8:	89 5c 24 28          	mov    %ebx,0x28(%esp)
4a56bc:	2b f7                	sub    %edi,%esi
4a56be:	2b c8                	sub    %eax,%ecx
4a56c0:	89 74 24 24          	mov    %esi,0x24(%esp)
4a56c4:	8d 5c 24 4c          	lea    0x4c(%esp),%ebx
4a56c8:	8b c7                	mov    %edi,%eax
4a56ca:	2b df                	sub    %edi,%ebx
4a56cc:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
4a56d0:	8d 5d 10             	lea    0x10(%ebp),%ebx
4a56d3:	8b 6c 24 28          	mov    0x28(%esp),%ebp
4a56d7:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
4a56db:	89 5c 24 30          	mov    %ebx,0x30(%esp)
4a56df:	8b de                	mov    %esi,%ebx
4a56e1:	0f 10 00             	movups (%eax),%xmm0
4a56e4:	8b 74 24 30          	mov    0x30(%esp),%esi
4a56e8:	8d 40 20             	lea    0x20(%eax),%eax
4a56eb:	0f 10 4c 28 e0       	movups -0x20(%eax,%ebp,1),%xmm1
4a56f0:	66 0f ef c8          	pxor   %xmm0,%xmm1
4a56f4:	0f 11 4c 03 e0       	movups %xmm1,-0x20(%ebx,%eax,1)
4a56f9:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
4a56fd:	0f 10 4c 07 e0       	movups -0x20(%edi,%eax,1),%xmm1
4a5702:	66 0f ef c8          	pxor   %xmm0,%xmm1
4a5706:	0f 11 0c 16          	movups %xmm1,(%esi,%edx,1)
4a570a:	8b 74 24 34          	mov    0x34(%esp),%esi
4a570e:	83 c2 20             	add    $0x20,%edx
4a5711:	3b d1                	cmp    %ecx,%edx
4a5713:	72 cc                	jb     0x4a56e1
4a5715:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4a5719:	8b 5c 24 60          	mov    0x60(%esp),%ebx
4a571d:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4a5721:	3b d3                	cmp    %ebx,%edx
4a5723:	73 1e                	jae    0x4a5743
4a5725:	8d 44 24 3c          	lea    0x3c(%esp),%eax
4a5729:	2b f8                	sub    %eax,%edi
4a572b:	2b e8                	sub    %eax,%ebp
4a572d:	0f 1f 00             	nopl   (%eax)
4a5730:	8d 4c 24 3c          	lea    0x3c(%esp),%ecx
4a5734:	03 ca                	add    %edx,%ecx
4a5736:	42                   	inc    %edx
4a5737:	8a 04 39             	mov    (%ecx,%edi,1),%al
4a573a:	32 01                	xor    (%ecx),%al
4a573c:	88 04 29             	mov    %al,(%ecx,%ebp,1)
4a573f:	3b d3                	cmp    %ebx,%edx
4a5741:	72 ed                	jb     0x4a5730
4a5743:	8b 54 24 38          	mov    0x38(%esp),%edx
4a5747:	83 fa 10             	cmp    $0x10,%edx
4a574a:	73 1a                	jae    0x4a5766
4a574c:	b9 10 00 00 00       	mov    $0x10,%ecx
4a5751:	8d 3c 32             	lea    (%edx,%esi,1),%edi
4a5754:	2b ca                	sub    %edx,%ecx
4a5756:	33 c0                	xor    %eax,%eax
4a5758:	8b d1                	mov    %ecx,%edx
4a575a:	c1 e9 02             	shr    $0x2,%ecx
4a575d:	f3 ab                	rep stos %eax,%es:(%edi)
4a575f:	8b ca                	mov    %edx,%ecx
4a5761:	83 e1 03             	and    $0x3,%ecx
4a5764:	f3 aa                	rep stos %al,%es:(%edi)
4a5766:	ff 74 24 14          	push   0x14(%esp)
4a576a:	8d 44 24 40          	lea    0x40(%esp),%eax
4a576e:	50                   	push   %eax
4a576f:	56                   	push   %esi
4a5770:	ff 54 24 24          	call   *0x24(%esp)
4a5774:	8b 44 24 48          	mov    0x48(%esp),%eax
4a5778:	83 c4 0c             	add    $0xc,%esp
4a577b:	31 46 10             	xor    %eax,0x10(%esi)
4a577e:	8b 44 24 40          	mov    0x40(%esp),%eax
4a5782:	31 46 14             	xor    %eax,0x14(%esi)
4a5785:	8b 44 24 44          	mov    0x44(%esp),%eax
4a5789:	31 46 18             	xor    %eax,0x18(%esi)
4a578c:	8b 44 24 48          	mov    0x48(%esp),%eax
4a5790:	31 46 1c             	xor    %eax,0x1c(%esi)
4a5793:	8a 44 24 13          	mov    0x13(%esp),%al
4a5797:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4a579b:	5f                   	pop    %edi
4a579c:	88 06                	mov    %al,(%esi)
4a579e:	33 c0                	xor    %eax,%eax
4a57a0:	5e                   	pop    %esi
4a57a1:	5d                   	pop    %ebp
4a57a2:	5b                   	pop    %ebx
4a57a3:	33 cc                	xor    %esp,%ecx
4a57a5:	e8 30 bd 13 00       	call   0x5e14da
4a57aa:	83 c4 40             	add    $0x40,%esp
4a57ad:	c3                   	ret
4a57ae:	cc                   	int3
4a57af:	cc                   	int3
4a57b0:	b8 40 00 00 00       	mov    $0x40,%eax
4a57b5:	e8 36 bd 13 00       	call   0x5e14f0
4a57ba:	a1 d4 89 72 00       	mov    0x7289d4,%eax
4a57bf:	33 c4                	xor    %esp,%eax
4a57c1:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4a57c5:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4a57c9:	53                   	push   %ebx
4a57ca:	8b 5c 24 4c          	mov    0x4c(%esp),%ebx
4a57ce:	56                   	push   %esi
4a57cf:	8b 74 24 4c          	mov    0x4c(%esp),%esi
4a57d3:	89 44 24 0c          	mov    %eax,0xc(%esp)
4a57d7:	8b 44 24 5c          	mov    0x5c(%esp),%eax
4a57db:	89 44 24 18          	mov    %eax,0x18(%esp)
4a57df:	8a 16                	mov    (%esi),%dl
4a57e1:	8b 4e 28             	mov    0x28(%esi),%ecx
4a57e4:	8b 46 2c             	mov    0x2c(%esi),%eax
4a57e7:	89 74 24 2c          	mov    %esi,0x2c(%esp)
4a57eb:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4a57ef:	88 54 24 0b          	mov    %dl,0xb(%esp)
4a57f3:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4a57f7:	89 44 24 10          	mov    %eax,0x10(%esp)
4a57fb:	57                   	push   %edi
4a57fc:	f6 c2 40             	test   $0x40,%dl
4a57ff:	75 17                	jne    0x4a5818
4a5801:	50                   	push   %eax
4a5802:	8d 46 10             	lea    0x10(%esi),%eax
4a5805:	50                   	push   %eax
4a5806:	56                   	push   %esi
4a5807:	ff d1                	call   *%ecx
4a5809:	8a 54 24 1b          	mov    0x1b(%esp),%dl
4a580d:	83 c4 0c             	add    $0xc,%esp
4a5810:	83 46 20 01          	addl   $0x1,0x20(%esi)
4a5814:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4a5818:	0f b6 c2             	movzbl %dl,%eax
4a581b:	33 c9                	xor    %ecx,%ecx
4a581d:	83 e0 07             	and    $0x7,%eax
4a5820:	ba 0f 00 00 00       	mov    $0xf,%edx
4a5825:	2b d0                	sub    %eax,%edx
4a5827:	88 06                	mov    %al,(%esi)
4a5829:	89 54 24 34          	mov    %edx,0x34(%esp)