4f53c3:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4f53c7:	0b c8                	or     %eax,%ecx
4f53c9:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4f53cd:	3b cb                	cmp    %ebx,%ecx
4f53cf:	74 16                	je     0x4f53e7
4f53d1:	5f                   	pop    %edi
4f53d2:	5e                   	pop    %esi
4f53d3:	5d                   	pop    %ebp
4f53d4:	83 c8 ff             	or     $0xffffffff,%eax
4f53d7:	5b                   	pop    %ebx
4f53d8:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4f53dc:	33 cc                	xor    %esp,%ecx
4f53de:	e8 43 c6 0d 00       	call   0x5d1a26
4f53e3:	83 c4 34             	add    $0x34,%esp
4f53e6:	c3                   	ret
4f53e7:	8b eb                	mov    %ebx,%ebp
4f53e9:	c1 ed 04             	shr    $0x4,%ebp
4f53ec:	85 ed                	test   %ebp,%ebp
4f53ee:	74 38                	je     0x4f5428
4f53f0:	57                   	push   %edi
4f53f1:	56                   	push   %esi
4f53f2:	ff 74 24 24          	push   0x24(%esp)
4f53f6:	55                   	push   %ebp
4f53f7:	ff 74 24 24          	push   0x24(%esp)
4f53fb:	ff 74 24 2c          	push   0x2c(%esp)
4f53ff:	ff 54 24 3c          	call   *0x3c(%esp)
4f5403:	c1 e5 04             	shl    $0x4,%ebp
4f5406:	83 c4 18             	add    $0x18,%esp
4f5409:	01 6c 24 18          	add    %ebp,0x18(%esp)
4f540d:	01 6c 24 14          	add    %ebp,0x14(%esp)
4f5411:	2b dd                	sub    %ebp,%ebx
4f5413:	74 78                	je     0x4f548d
4f5415:	c1 ed 04             	shr    $0x4,%ebp
4f5418:	55                   	push   %ebp
4f5419:	56                   	push   %esi
4f541a:	e8 41 08 00 00       	call   0x4f5c60
4f541f:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4f5423:	83 c4 08             	add    $0x8,%esp
4f5426:	eb 12                	jmp    0x4f543a
4f5428:	8b 44 24 14          	mov    0x14(%esp),%eax
4f542c:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4f5430:	89 44 24 14          	mov    %eax,0x14(%esp)
4f5434:	8b c3                	mov    %ebx,%eax
4f5436:	85 c0                	test   %eax,%eax
4f5438:	74 53                	je     0x4f548d
4f543a:	ff 74 24 1c          	push   0x1c(%esp)
4f543e:	8d 44 24 34          	lea    0x34(%esp),%eax
4f5442:	50                   	push   %eax
4f5443:	56                   	push   %esi
4f5444:	ff 54 24 2c          	call   *0x2c(%esp)
4f5448:	83 c4 0c             	add    $0xc,%esp
4f544b:	85 db                	test   %ebx,%ebx
4f544d:	74 29                	je     0x4f5478
4f544f:	8b 54 24 14          	mov    0x14(%esp),%edx
4f5453:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4f5457:	8b c1                	mov    %ecx,%eax
4f5459:	2b e8                	sub    %eax,%ebp
4f545b:	2b d0                	sub    %eax,%edx
4f545d:	0f 1f 00             	nopl   (%eax)
4f5460:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4f5463:	8d 49 01             	lea    0x1(%ecx),%ecx
4f5466:	32 41 ff             	xor    -0x1(%ecx),%al
4f5469:	8d 7f 01             	lea    0x1(%edi),%edi
4f546c:	88 44 0a ff          	mov    %al,-0x1(%edx,%ecx,1)
4f5470:	30 47 ff             	xor    %al,-0x1(%edi)
4f5473:	83 eb 01             	sub    $0x1,%ebx
4f5476:	75 e8                	jne    0x4f5460
4f5478:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4f547c:	8d 46 10             	lea    0x10(%esi),%eax
4f547f:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4f5483:	53                   	push   %ebx
4f5484:	50                   	push   %eax
4f5485:	50                   	push   %eax
4f5486:	ff d5                	call   *%ebp
4f5488:	83 c4 0c             	add    $0xc,%esp
4f548b:	eb 08                	jmp    0x4f5495
4f548d:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4f5491:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4f5495:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4f5499:	83 f9 10             	cmp    $0x10,%ecx
4f549c:	73 16                	jae    0x4f54b4
4f549e:	b8 10 00 00 00       	mov    $0x10,%eax
4f54a3:	2b c1                	sub    %ecx,%eax
4f54a5:	50                   	push   %eax
4f54a6:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4f54a9:	6a 00                	push   $0x0
4f54ab:	50                   	push   %eax
4f54ac:	e8 bf d7 0d 00       	call   0x5d2c70
4f54b1:	83 c4 0c             	add    $0xc,%esp
4f54b4:	53                   	push   %ebx
4f54b5:	8d 44 24 34          	lea    0x34(%esp),%eax
4f54b9:	50                   	push   %eax
4f54ba:	56                   	push   %esi
4f54bb:	ff d5                	call   *%ebp
4f54bd:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4f54c1:	83 c4 0c             	add    $0xc,%esp
4f54c4:	31 46 10             	xor    %eax,0x10(%esi)
4f54c7:	8b 44 24 34          	mov    0x34(%esp),%eax
4f54cb:	31 46 14             	xor    %eax,0x14(%esi)
4f54ce:	8b 44 24 38          	mov    0x38(%esp),%eax
4f54d2:	31 46 18             	xor    %eax,0x18(%esi)
4f54d5:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4f54d9:	31 46 1c             	xor    %eax,0x1c(%esi)
4f54dc:	8a 44 24 13          	mov    0x13(%esp),%al
4f54e0:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f54e4:	5f                   	pop    %edi
4f54e5:	88 06                	mov    %al,(%esi)
4f54e7:	33 c0                	xor    %eax,%eax
4f54e9:	5e                   	pop    %esi
4f54ea:	5d                   	pop    %ebp
4f54eb:	5b                   	pop    %ebx
4f54ec:	33 cc                	xor    %esp,%ecx
4f54ee:	e8 33 c5 0d 00       	call   0x5d1a26
4f54f3:	83 c4 34             	add    $0x34,%esp
4f54f6:	c3                   	ret
4f54f7:	cc                   	int3
4f54f8:	cc                   	int3
4f54f9:	cc                   	int3
4f54fa:	cc                   	int3
4f54fb:	cc                   	int3
4f54fc:	cc                   	int3
4f54fd:	cc                   	int3
4f54fe:	cc                   	int3
4f54ff:	cc                   	int3
4f5500:	b8 44 00 00 00       	mov    $0x44,%eax
4f5505:	e8 a6 c2 0d 00       	call   0x5d17b0
4f550a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4f550f:	33 c4                	xor    %esp,%eax
4f5511:	89 44 24 40          	mov    %eax,0x40(%esp)
4f5515:	53                   	push   %ebx
4f5516:	8b 5c 24 54          	mov    0x54(%esp),%ebx
4f551a:	55                   	push   %ebp
4f551b:	56                   	push   %esi
4f551c:	8b 74 24 54          	mov    0x54(%esp),%esi
4f5520:	89 74 24 20          	mov    %esi,0x20(%esp)
4f5524:	89 5c 24 24          	mov    %ebx,0x24(%esp)
4f5528:	8a 16                	mov    (%esi),%dl
4f552a:	8b 4e 28             	mov    0x28(%esi),%ecx
4f552d:	8b 46 2c             	mov    0x2c(%esi),%eax
4f5530:	88 54 24 0f          	mov    %dl,0xf(%esp)
4f5534:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4f5538:	89 44 24 10          	mov    %eax,0x10(%esp)
4f553c:	f6 c2 40             	test   $0x40,%dl
4f553f:	75 17                	jne    0x4f5558
4f5541:	50                   	push   %eax
4f5542:	8d 46 10             	lea    0x10(%esi),%eax
4f5545:	50                   	push   %eax
4f5546:	56                   	push   %esi
4f5547:	ff d1                	call   *%ecx
4f5549:	8a 54 24 1b          	mov    0x1b(%esp),%dl
4f554d:	83 c4 0c             	add    $0xc,%esp
4f5550:	83 46 20 01          	addl   $0x1,0x20(%esi)
4f5554:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4f5558:	0f b6 c2             	movzbl %dl,%eax
4f555b:	33 c9                	xor    %ecx,%ecx
4f555d:	83 e0 07             	and    $0x7,%eax
4f5560:	ba 0f 00 00 00       	mov    $0xf,%edx
4f5565:	2b d0                	sub    %eax,%edx
4f5567:	88 06                	mov    %al,(%esi)
4f5569:	89 54 24 38          	mov    %edx,0x38(%esp)
4f556d:	83 fa 0f             	cmp    $0xf,%edx
4f5570:	73 13                	jae    0x4f5585
4f5572:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4f5576:	0b c8                	or     %eax,%ecx
4f5578:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4f557c:	42                   	inc    %edx
4f557d:	c1 e1 08             	shl    $0x8,%ecx
4f5580:	83 fa 0f             	cmp    $0xf,%edx
4f5583:	72 ed                	jb     0x4f5572
4f5585:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4f5589:	8b 6c 24 60          	mov    0x60(%esp),%ebp
4f558d:	0b c8                	or     %eax,%ecx
4f558f:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4f5593:	3b cd                	cmp    %ebp,%ecx
4f5595:	74 15                	je     0x4f55ac
4f5597:	5e                   	pop    %esi
4f5598:	5d                   	pop    %ebp
4f5599:	83 c8 ff             	or     $0xffffffff,%eax
4f559c:	5b                   	pop    %ebx
4f559d:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f55a1:	33 cc                	xor    %esp,%ecx
4f55a3:	e8 7e c4 0d 00       	call   0x5d1a26
4f55a8:	83 c4 44             	add    $0x44,%esp
4f55ab:	c3                   	ret
4f55ac:	8d 45 0f             	lea    0xf(%ebp),%eax
4f55af:	83 c8 08             	or     $0x8,%eax
4f55b2:	c1 e8 03             	shr    $0x3,%eax
4f55b5:	01 46 20             	add    %eax,0x20(%esi)
4f55b8:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4f55bc:	81 7e 24 00 00 00 20 	cmpl   $0x20000000,0x24(%esi)
4f55c3:	72 1f                	jb     0x4f55e4
4f55c5:	77 06                	ja     0x4f55cd
4f55c7:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
4f55cb:	76 17                	jbe    0x4f55e4
4f55cd:	5e                   	pop    %esi
4f55ce:	5d                   	pop    %ebp
4f55cf:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
4f55d4:	5b                   	pop    %ebx
4f55d5:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f55d9:	33 cc                	xor    %esp,%ecx
4f55db:	e8 46 c4 0d 00       	call   0x5d1a26
4f55e0:	83 c4 44             	add    $0x44,%esp
4f55e3:	c3                   	ret
4f55e4:	57                   	push   %edi
4f55e5:	8b 7c 24 5c          	mov    0x5c(%esp),%edi
4f55e9:	83 fd 10             	cmp    $0x10,%ebp
4f55ec:	0f 82 91 00 00 00    	jb     0x4f5683
4f55f2:	8b c5                	mov    %ebp,%eax
4f55f4:	8d 4e 10             	lea    0x10(%esi),%ecx
4f55f7:	c1 e8 04             	shr    $0x4,%eax
4f55fa:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4f55fe:	66 90                	xchg   %ax,%ax
4f5600:	8b 07                	mov    (%edi),%eax
4f5602:	31 01                	xor    %eax,(%ecx)
4f5604:	8b 47 04             	mov    0x4(%edi),%eax
4f5607:	31 41 04             	xor    %eax,0x4(%ecx)
4f560a:	ff 74 24 14          	push   0x14(%esp)
4f560e:	8b 47 08             	mov    0x8(%edi),%eax
4f5611:	31 46 18             	xor    %eax,0x18(%esi)
4f5614:	8b 47 0c             	mov    0xc(%edi),%eax
4f5617:	31 46 1c             	xor    %eax,0x1c(%esi)
4f561a:	51                   	push   %ecx
4f561b:	51                   	push   %ecx
4f561c:	ff 54 24 24          	call   *0x24(%esp)
4f5620:	ff 74 24 20          	push   0x20(%esp)
4f5624:	8d 44 24 50          	lea    0x50(%esp),%eax
4f5628:	50                   	push   %eax
4f5629:	56                   	push   %esi
4f562a:	ff 54 24 30          	call   *0x30(%esp)
4f562e:	83 c4 18             	add    $0x18,%esp
4f5631:	b8 08 00 00 00       	mov    $0x8,%eax
4f5636:	48                   	dec    %eax
4f5637:	80 44 30 08 01       	addb   $0x1,0x8(%eax,%esi,1)
4f563c:	75 04                	jne    0x4f5642
4f563e:	85 c0                	test   %eax,%eax
4f5640:	75 f4                	jne    0x4f5636
4f5642:	8b 0f                	mov    (%edi),%ecx
4f5644:	83 ed 10             	sub    $0x10,%ebp
4f5647:	8b 47 04             	mov    0x4(%edi),%eax
4f564a:	33 4c 24 40          	xor    0x40(%esp),%ecx
4f564e:	33 44 24 44          	xor    0x44(%esp),%eax
4f5652:	89 0b                	mov    %ecx,(%ebx)
4f5654:	8b 4c 24 48          	mov    0x48(%esp),%ecx
4f5658:	89 43 04             	mov    %eax,0x4(%ebx)
4f565b:	33 4f 08             	xor    0x8(%edi),%ecx
4f565e:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4f5662:	33 47 0c             	xor    0xc(%edi),%eax
4f5665:	83 c7 10             	add    $0x10,%edi
4f5668:	89 4b 08             	mov    %ecx,0x8(%ebx)
4f566b:	8d 4e 10             	lea    0x10(%esi),%ecx
4f566e:	89 43 0c             	mov    %eax,0xc(%ebx)
4f5671:	83 c3 10             	add    $0x10,%ebx
4f5674:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
4f5679:	75 85                	jne    0x4f5600
4f567b:	89 6c 24 64          	mov    %ebp,0x64(%esp)
4f567f:	89 5c 24 28          	mov    %ebx,0x28(%esp)
4f5683:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4f5687:	85 ed                	test   %ebp,%ebp
4f5689:	0f 84 44 01 00 00    	je     0x4f57d3
4f568f:	8d 4e 10             	lea    0x10(%esi),%ecx
4f5692:	8b d7                	mov    %edi,%edx
4f5694:	8b f5                	mov    %ebp,%esi
4f5696:	8a 02                	mov    (%edx),%al
4f5698:	8d 52 01             	lea    0x1(%edx),%edx
4f569b:	30 01                	xor    %al,(%ecx)
4f569d:	8d 49 01             	lea    0x1(%ecx),%ecx
4f56a0:	83 ee 01             	sub    $0x1,%esi
4f56a3:	75 f1                	jne    0x4f5696
4f56a5:	8b 74 24 24          	mov    0x24(%esp),%esi
4f56a9:	ff 74 24 14          	push   0x14(%esp)
4f56ad:	8d 46 10             	lea    0x10(%esi),%eax
4f56b0:	50                   	push   %eax
4f56b1:	50                   	push   %eax
4f56b2:	ff 54 24 24          	call   *0x24(%esp)
4f56b6:	ff 74 24 20          	push   0x20(%esp)
4f56ba:	8d 44 24 50          	lea    0x50(%esp),%eax
4f56be:	50                   	push   %eax
4f56bf:	56                   	push   %esi
4f56c0:	ff 54 24 30          	call   *0x30(%esp)
4f56c4:	83 c4 18             	add    $0x18,%esp
4f56c7:	33 d2                	xor    %edx,%edx
4f56c9:	85 ed                	test   %ebp,%ebp
4f56cb:	0f 84 02 01 00 00    	je     0x4f57d3
4f56d1:	83 fd 40             	cmp    $0x40,%ebp
4f56d4:	0f 82 d9 00 00 00    	jb     0x4f57b3
4f56da:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4f56dd:	8d 44 2c 3f          	lea    0x3f(%esp,%ebp,1),%eax
4f56e1:	03 cb                	add    %ebx,%ecx
4f56e3:	3b d8                	cmp    %eax,%ebx
4f56e5:	77 0c                	ja     0x4f56f3
4f56e7:	8d 44 24 40          	lea    0x40(%esp),%eax
4f56eb:	3b c8                	cmp    %eax,%ecx
4f56ed:	0f 83 c0 00 00 00    	jae    0x4f57b3
4f56f3:	8d 45 ff             	lea    -0x1(%ebp),%eax
4f56f6:	03 c7                	add    %edi,%eax
4f56f8:	3b d8                	cmp    %eax,%ebx
4f56fa:	77 08                	ja     0x4f5704
4f56fc:	3b cf                	cmp    %edi,%ecx
4f56fe:	0f 83 af 00 00 00    	jae    0x4f57b3
4f5704:	8b c5                	mov    %ebp,%eax
4f5706:	8d 4f 30             	lea    0x30(%edi),%ecx
4f5709:	8d 6c 24 40          	lea    0x40(%esp),%ebp
4f570d:	8b f7                	mov    %edi,%esi
4f570f:	2b eb                	sub    %ebx,%ebp
4f5711:	2b f3                	sub    %ebx,%esi
4f5713:	89 6c 24 30          	mov    %ebp,0x30(%esp)
4f5717:	83 e0 c0             	and    $0xffffffc0,%eax
4f571a:	8b 7c 24 30          	mov    0x30(%esp),%edi
4f571e:	8d 6c 24 50          	lea    0x50(%esp),%ebp
4f5722:	2b eb                	sub    %ebx,%ebp
4f5724:	89 44 24 20          	mov    %eax,0x20(%esp)
4f5728:	89 6c 24 34          	mov    %ebp,0x34(%esp)
4f572c:	8d 43 10             	lea    0x10(%ebx),%eax
4f572f:	8d 6c 24 60          	lea    0x60(%esp),%ebp
4f5733:	89 74 24 2c          	mov    %esi,0x2c(%esp)
4f5737:	2b eb                	sub    %ebx,%ebp
4f5739:	8b 5c 24 34          	mov    0x34(%esp),%ebx
4f573d:	89 6c 24 38          	mov    %ebp,0x38(%esp)
4f5741:	8b ee                	mov    %esi,%ebp
4f5743:	0f 10 41 d0          	movups -0x30(%ecx),%xmm0
4f5747:	8b 74 24 38          	mov    0x38(%esp),%esi
4f574b:	8d 49 40             	lea    0x40(%ecx),%ecx
4f574e:	0f 10 4c 14 40       	movups 0x40(%esp,%edx,1),%xmm1
4f5753:	83 c2 40             	add    $0x40,%edx
4f5756:	8d 40 40             	lea    0x40(%eax),%eax
4f5759:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f575d:	0f 10 44 28 c0       	movups -0x40(%eax,%ebp,1),%xmm0
4f5762:	0f 11 48 b0          	movups %xmm1,-0x50(%eax)
4f5766:	0f 10 4c 07 c0       	movups -0x40(%edi,%eax,1),%xmm1
4f576b:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f576f:	0f 10 41 b0          	movups -0x50(%ecx),%xmm0
4f5773:	0f 11 48 c0          	movups %xmm1,-0x40(%eax)
4f5777:	0f 10 4c 03 c0       	movups -0x40(%ebx,%eax,1),%xmm1
4f577c:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f5780:	0f 10 41 c0          	movups -0x40(%ecx),%xmm0
4f5784:	0f 11 48 d0          	movups %xmm1,-0x30(%eax)
4f5788:	0f 10 4c 06 c0       	movups -0x40(%esi,%eax,1),%xmm1
4f578d:	8b 74 24 24          	mov    0x24(%esp),%esi
4f5791:	66 0f ef c8          	pxor   %xmm0,%xmm1
4f5795:	0f 11 48 e0          	movups %xmm1,-0x20(%eax)
4f5799:	3b 54 24 20          	cmp    0x20(%esp),%edx
4f579d:	72 a4                	jb     0x4f5743
4f579f:	8b 6c 24 64          	mov    0x64(%esp),%ebp
4f57a3:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4f57a7:	8b 5c 24 28          	mov    0x28(%esp),%ebx
4f57ab:	89 54 24 20          	mov    %edx,0x20(%esp)
4f57af:	3b d5                	cmp    %ebp,%edx
4f57b1:	73 20                	jae    0x4f57d3
4f57b3:	8d 44 24 40          	lea    0x40(%esp),%eax
4f57b7:	2b f8                	sub    %eax,%edi