49632e:	57                   	push   %edi
49632f:	8b c8                	mov    %eax,%ecx
496331:	e8 0a fc fc ff       	call   0x465f40
496336:	8b 95 54 ff ff ff    	mov    -0xac(%ebp),%edx
49633c:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
496342:	89 95 74 ff ff ff    	mov    %edx,-0x8c(%ebp)
496348:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
49634e:	3b d0                	cmp    %eax,%edx
496350:	0f 84 23 06 00 00    	je     0x496979
496356:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
49635d:	00 00 00
496360:	8b 32                	mov    (%edx),%esi
496362:	b8 01 00 00 00       	mov    $0x1,%eax
496367:	89 b5 68 ff ff ff    	mov    %esi,-0x98(%ebp)
49636d:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
496373:	c6 45 8f 00          	movb   $0x0,-0x71(%ebp)
496377:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
49637b:	75 1d                	jne    0x49639a
49637d:	8b 8d 50 ff ff ff    	mov    -0xb0(%ebp),%ecx
496383:	56                   	push   %esi
496384:	57                   	push   %edi
496385:	e8 66 dd fc ff       	call   0x4640f0
49638a:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
496390:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
496396:	c6 45 8f 01          	movb   $0x1,-0x71(%ebp)
49639a:	33 ff                	xor    %edi,%edi
49639c:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
4963a2:	85 c0                	test   %eax,%eax
4963a4:	0f 8e a7 05 00 00    	jle    0x496951
4963aa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4963b0:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4963b7:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4963be:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4963c5:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4963c9:	8b ce                	mov    %esi,%ecx
4963cb:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4963cf:	e8 cc 2d fc ff       	call   0x4591a0
4963d4:	8b 04 85 98 7b 60 00 	mov    0x607b98(,%eax,4),%eax
4963db:	83 f8 0a             	cmp    $0xa,%eax
4963de:	0f 85 81 03 00 00    	jne    0x496765
4963e4:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
4963eb:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4963f2:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
4963f9:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
4963fd:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
496403:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
496407:	e8 c4 8b 01 00       	call   0x4aefd0
49640c:	8b 45 08             	mov    0x8(%ebp),%eax
49640f:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
496415:	40                   	inc    %eax
496416:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
49641a:	89 85 20 ff ff ff    	mov    %eax,-0xe0(%ebp)
496420:	8d 45 c0             	lea    -0x40(%ebp),%eax
496423:	50                   	push   %eax
496424:	83 c8 ff             	or     $0xffffffff,%eax
496427:	80 7d 8f 00          	cmpb   $0x0,-0x71(%ebp)
49642b:	0f 45 c7             	cmovne %edi,%eax
49642e:	50                   	push   %eax
49642f:	56                   	push   %esi
496430:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
496436:	e8 e5 fb 01 00       	call   0x4b6020
49643b:	6a 02                	push   $0x2
49643d:	68 b8 81 60 00       	push   $0x6081b8
496442:	8d 4d d8             	lea    -0x28(%ebp),%ecx
496445:	e8 36 2a fc ff       	call   0x458e80
49644a:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
49644e:	8d 45 c0             	lea    -0x40(%ebp),%eax
496451:	ff 75 d0             	push   -0x30(%ebp)
496454:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
496458:	8d 4d d8             	lea    -0x28(%ebp),%ecx
49645b:	50                   	push   %eax
49645c:	e8 1f 2a fc ff       	call   0x458e80
496461:	8b 45 08             	mov    0x8(%ebp),%eax
496464:	8b 55 ec             	mov    -0x14(%ebp),%edx
496467:	8b 4d e8             	mov    -0x18(%ebp),%ecx
49646a:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
49646d:	8d 3c 00             	lea    (%eax,%eax,1),%edi
496470:	89 95 7c ff ff ff    	mov    %edx,-0x84(%ebp)
496476:	8b c2                	mov    %edx,%eax
496478:	2b c1                	sub    %ecx,%eax
49647a:	3b f8                	cmp    %eax,%edi
49647c:	77 27                	ja     0x4964a5
49647e:	83 fa 10             	cmp    $0x10,%edx
496481:	8d 75 d8             	lea    -0x28(%ebp),%esi
496484:	57                   	push   %edi
496485:	0f 43 75 d8          	cmovae -0x28(%ebp),%esi
496489:	8d 04 39             	lea    (%ecx,%edi,1),%eax
49648c:	03 f1                	add    %ecx,%esi
49648e:	89 45 e8             	mov    %eax,-0x18(%ebp)
496491:	6a 20                	push   $0x20
496493:	56                   	push   %esi
496494:	e8 d7 c7 13 00       	call   0x5d2c70
496499:	83 c4 0c             	add    $0xc,%esp
49649c:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
4964a0:	e9 39 01 00 00       	jmp    0x4965de
4964a5:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4964aa:	2b c1                	sub    %ecx,%eax
4964ac:	3b c7                	cmp    %edi,%eax
4964ae:	0f 82 26 05 00 00    	jb     0x4969da
4964b4:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
4964b7:	8b f0                	mov    %eax,%esi
4964b9:	89 45 80             	mov    %eax,-0x80(%ebp)
4964bc:	83 ce 0f             	or     $0xf,%esi
4964bf:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
4964c5:	76 0a                	jbe    0x4964d1
4964c7:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
4964cc:	8d 46 24             	lea    0x24(%esi),%eax
4964cf:	eb 3b                	jmp    0x49650c
4964d1:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
4964d7:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4964dc:	d1 ea                	shr    $1,%edx
4964de:	2b c2                	sub    %edx,%eax
4964e0:	3b f8                	cmp    %eax,%edi
4964e2:	76 0a                	jbe    0x4964ee
4964e4:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
4964e9:	8d 46 24             	lea    0x24(%esi),%eax
4964ec:	eb 1e                	jmp    0x49650c
4964ee:	8d 04 17             	lea    (%edi,%edx,1),%eax
4964f1:	3b f0                	cmp    %eax,%esi
4964f3:	0f 42 f0             	cmovb  %eax,%esi
4964f6:	8d 56 01             	lea    0x1(%esi),%edx
4964f9:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4964ff:	72 2a                	jb     0x49652b
496501:	8d 42 23             	lea    0x23(%edx),%eax
496504:	3b c2                	cmp    %edx,%eax
496506:	0f 86 c9 04 00 00    	jbe    0x4969d5
49650c:	50                   	push   %eax
49650d:	e8 13 ad 13 00       	call   0x5d1225
496512:	83 c4 04             	add    $0x4,%esp
496515:	85 c0                	test   %eax,%eax
496517:	0f 84 c2 04 00 00    	je     0x4969df
49651d:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
496520:	8d 78 23             	lea    0x23(%eax),%edi
496523:	83 e7 e0             	and    $0xffffffe0,%edi
496526:	89 47 fc             	mov    %eax,-0x4(%edi)
496529:	eb 16                	jmp    0x496541
49652b:	85 d2                	test   %edx,%edx
49652d:	74 10                	je     0x49653f
49652f:	52                   	push   %edx
496530:	e8 f0 ac 13 00       	call   0x5d1225
496535:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
496538:	83 c4 04             	add    $0x4,%esp
49653b:	8b f8                	mov    %eax,%edi
49653d:	eb 02                	jmp    0x496541
49653f:	33 ff                	xor    %edi,%edi
496541:	8b 45 80             	mov    -0x80(%ebp),%eax
496544:	8b 55 08             	mov    0x8(%ebp),%edx
496547:	89 45 e8             	mov    %eax,-0x18(%ebp)
49654a:	8d 04 39             	lea    (%ecx,%edi,1),%eax
49654d:	89 45 84             	mov    %eax,-0x7c(%ebp)
496550:	8d 04 39             	lea    (%ecx,%edi,1),%eax
496553:	89 75 ec             	mov    %esi,-0x14(%ebp)
496556:	8d 34 12             	lea    (%edx,%edx,1),%esi
496559:	03 c6                	add    %esi,%eax
49655b:	83 bd 7c ff ff ff 10 	cmpl   $0x10,-0x84(%ebp)
496562:	89 45 80             	mov    %eax,-0x80(%ebp)
496565:	51                   	push   %ecx
496566:	72 55                	jb     0x4965bd
496568:	8b 75 d8             	mov    -0x28(%ebp),%esi
49656b:	56                   	push   %esi
49656c:	57                   	push   %edi
49656d:	e8 5e c8 13 00       	call   0x5d2dd0
496572:	8b 4d 08             	mov    0x8(%ebp),%ecx
496575:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
496578:	50                   	push   %eax
496579:	6a 20                	push   $0x20
49657b:	ff 75 84             	push   -0x7c(%ebp)
49657e:	e8 ed c6 13 00       	call   0x5d2c70
496583:	8b 45 80             	mov    -0x80(%ebp),%eax
496586:	83 c4 18             	add    $0x18,%esp
496589:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
49658f:	41                   	inc    %ecx
496590:	c6 00 00             	movb   $0x0,(%eax)
496593:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
496599:	72 16                	jb     0x4965b1
49659b:	8b 56 fc             	mov    -0x4(%esi),%edx
49659e:	83 c1 23             	add    $0x23,%ecx
4965a1:	2b f2                	sub    %edx,%esi
4965a3:	8d 46 fc             	lea    -0x4(%esi),%eax
4965a6:	83 f8 1f             	cmp    $0x1f,%eax
4965a9:	0f 87 30 04 00 00    	ja     0x4969df
4965af:	8b f2                	mov    %edx,%esi
4965b1:	51                   	push   %ecx
4965b2:	56                   	push   %esi
4965b3:	e8 9d ac 13 00       	call   0x5d1255
4965b8:	83 c4 08             	add    $0x8,%esp
4965bb:	eb 1e                	jmp    0x4965db
4965bd:	8d 45 d8             	lea    -0x28(%ebp),%eax
4965c0:	50                   	push   %eax
4965c1:	57                   	push   %edi
4965c2:	e8 09 c8 13 00       	call   0x5d2dd0
4965c7:	56                   	push   %esi
4965c8:	6a 20                	push   $0x20
4965ca:	ff 75 84             	push   -0x7c(%ebp)
4965cd:	e8 9e c6 13 00       	call   0x5d2c70
4965d2:	8b 45 80             	mov    -0x80(%ebp),%eax
4965d5:	83 c4 18             	add    $0x18,%esp
4965d8:	c6 00 00             	movb   $0x0,(%eax)
4965db:	89 7d d8             	mov    %edi,-0x28(%ebp)
4965de:	6a 01                	push   $0x1
4965e0:	68 bc 81 60 00       	push   $0x6081bc
4965e5:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4965e8:	e8 93 28 fc ff       	call   0x458e80
4965ed:	8b 85 44 ff ff ff    	mov    -0xbc(%ebp),%eax
4965f3:	ff 70 04             	push   0x4(%eax)
4965f6:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
4965fc:	50                   	push   %eax
4965fd:	8b c8                	mov    %eax,%ecx
4965ff:	e8 7c 33 fe ff       	call   0x479980
496604:	6a 18                	push   $0x18
496606:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
49660c:	e8 44 ac 13 00       	call   0x5d1255
496611:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
496617:	83 c4 08             	add    $0x8,%esp
49661a:	ff 70 04             	push   0x4(%eax)
49661d:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
496623:	50                   	push   %eax
496624:	8b c8                	mov    %eax,%ecx
496626:	e8 55 33 fe ff       	call   0x479980
49662b:	6a 18                	push   $0x18
49662d:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
496633:	e8 1d ac 13 00       	call   0x5d1255
496638:	8b 8d 38 ff ff ff    	mov    -0xc8(%ebp),%ecx
49663e:	83 c4 08             	add    $0x8,%esp
496641:	85 c9                	test   %ecx,%ecx
496643:	74 06                	je     0x49664b
496645:	8b 01                	mov    (%ecx),%eax
496647:	6a 01                	push   $0x1
496649:	ff 10                	call   *(%eax)
49664b:	8b 55 d4             	mov    -0x2c(%ebp),%edx
49664e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
496652:	83 fa 10             	cmp    $0x10,%edx
496655:	72 2c                	jb     0x496683
496657:	8b 4d c0             	mov    -0x40(%ebp),%ecx
49665a:	42                   	inc    %edx
49665b:	8b c1                	mov    %ecx,%eax
49665d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
496663:	72 14                	jb     0x496679
496665:	8b 49 fc             	mov    -0x4(%ecx),%ecx
496668:	83 c2 23             	add    $0x23,%edx
49666b:	2b c1                	sub    %ecx,%eax
49666d:	83 c0 fc             	add    $0xfffffffc,%eax
496670:	83 f8 1f             	cmp    $0x1f,%eax
496673:	0f 87 66 03 00 00    	ja     0x4969df
496679:	52                   	push   %edx
49667a:	51                   	push   %ecx
49667b:	e8 d5 ab 13 00       	call   0x5d1255
496680:	83 c4 08             	add    $0x8,%esp
496683:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
496689:	8b b5 68 ff ff ff    	mov    -0x98(%ebp),%esi
49668f:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
496696:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
49669d:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
4966a4:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
4966a8:	80 7e 27 00          	cmpb   $0x0,0x27(%esi)
4966ac:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4966b0:	0f 84 d2 00 00 00    	je     0x496788
4966b6:	8b 4e 04             	mov    0x4(%esi),%ecx
4966b9:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4966be:	8b 51 10             	mov    0x10(%ecx),%edx
4966c1:	2b c2                	sub    %edx,%eax
4966c3:	83 f8 02             	cmp    $0x2,%eax
4966c6:	0f 82 0e 03 00 00    	jb     0x4969da
4966cc:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4966d0:	8b c1                	mov    %ecx,%eax
4966d2:	72 02                	jb     0x4966d6
4966d4:	8b 01                	mov    (%ecx),%eax
4966d6:	52                   	push   %edx
4966d7:	50                   	push   %eax
4966d8:	6a 02                	push   $0x2
4966da:	68 c0 81 60 00       	push   $0x6081c0
4966df:	51                   	push   %ecx
4966e0:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4966e6:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4966e9:	e8 92 54 fe ff       	call   0x47bb80
4966ee:	83 4d 88 01          	orl    $0x1,-0x78(%ebp)
4966f2:	6a 01                	push   $0x1
4966f4:	68 c4 76 60 00       	push   $0x6076c4
4966f9:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4966fc:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
496700:	e8 7b 27 fc ff       	call   0x458e80
496705:	83 4d 88 02          	orl    $0x2,-0x78(%ebp)
496709:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
49670d:	0f 10 00             	movups (%eax),%xmm0
496710:	f3 0f 7e 48 10       	movq   0x10(%eax),%xmm1
496715:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
49671c:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
496723:	c6 00 00             	movb   $0x0,(%eax)
496726:	8b 55 d4             	mov    -0x2c(%ebp),%edx
496729:	66 0f d6 4d b8       	movq   %xmm1,-0x48(%ebp)
49672e:	0f 11 45 a8          	movups %xmm0,-0x58(%ebp)
496732:	83 fa 10             	cmp    $0x10,%edx
496735:	72 70                	jb     0x4967a7
496737:	8b 4d c0             	mov    -0x40(%ebp),%ecx
49673a:	42                   	inc    %edx
49673b:	8b c1                	mov    %ecx,%eax
49673d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
496743:	72 14                	jb     0x496759
496745:	8b 49 fc             	mov    -0x4(%ecx),%ecx
496748:	83 c2 23             	add    $0x23,%edx
49674b:	2b c1                	sub    %ecx,%eax
49674d:	83 c0 fc             	add    $0xfffffffc,%eax
496750:	83 f8 1f             	cmp    $0x1f,%eax
496753:	0f 87 86 02 00 00    	ja     0x4969df
496759:	52                   	push   %edx
49675a:	51                   	push   %ecx
49675b:	e8 f5 aa 13 00       	call   0x5d1255
496760:	83 c4 08             	add    $0x8,%esp
496763:	eb 42                	jmp    0x4967a7
496765:	8d 45 d8             	lea    -0x28(%ebp),%eax
496768:	50                   	push   %eax
496769:	83 c8 ff             	or     $0xffffffff,%eax
49676c:	80 7d 8f 00          	cmpb   $0x0,-0x71(%ebp)
496770:	0f 45 c7             	cmovne %edi,%eax
496773:	50                   	push   %eax
496774:	56                   	push   %esi
496775:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
49677b:	e8 80 f9 01 00       	call   0x4b6100
496780:	83 c4 10             	add    $0x10,%esp
496783:	e9 07 ff ff ff       	jmp    0x49668f
496788:	8b 06                	mov    (%esi),%eax
49678a:	8d 4d a8             	lea    -0x58(%ebp),%ecx
49678d:	3b c8                	cmp    %eax,%ecx
49678f:	74 16                	je     0x4967a7
496791:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
496795:	8b c8                	mov    %eax,%ecx
496797:	72 02                	jb     0x49679b
496799:	8b 08                	mov    (%eax),%ecx
49679b:	ff 70 10             	push   0x10(%eax)
49679e:	51                   	push   %ecx
49679f:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4967a2:	e8 79 0e fb ff       	call   0x447620
4967a7:	8b 4d b8             	mov    -0x48(%ebp),%ecx
4967aa:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4967af:	2b c1                	sub    %ecx,%eax
4967b1:	83 f8 03             	cmp    $0x3,%eax
4967b4:	0f 82 20 02 00 00    	jb     0x4969da
4967ba:	83 7d bc 10          	cmpl   $0x10,-0x44(%ebp)
4967be:	8d 45 a8             	lea    -0x58(%ebp),%eax
4967c1:	6a 03                	push   $0x3
4967c3:	0f 43 45 a8          	cmovae -0x58(%ebp),%eax
4967c7:	68 c4 81 60 00       	push   $0x6081c4
4967cc:	51                   	push   %ecx
4967cd:	50                   	push   %eax
4967ce:	8d 45 a8             	lea    -0x58(%ebp),%eax
4967d1:	50                   	push   %eax
4967d2:	ff b5 6c ff ff ff    	push   -0x94(%ebp)
4967d8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4967db:	e8 a0 53 fe ff       	call   0x47bb80
4967e0:	83 4d 88 04          	orl    $0x4,-0x78(%ebp)