5082be:	33 c5                	xor    %ebp,%eax
5082c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
5082c3:	8b 45 08             	mov    0x8(%ebp),%eax
5082c6:	0f 57 c0             	xorps  %xmm0,%xmm0
5082c9:	0f 11 45 d0          	movups %xmm0,-0x30(%ebp)
5082cd:	56                   	push   %esi
5082ce:	8b 75 0c             	mov    0xc(%ebp),%esi
5082d1:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
5082d5:	57                   	push   %edi
5082d6:	0f 10 00             	movups (%eax),%xmm0
5082d9:	8b 7d 10             	mov    0x10(%ebp),%edi
5082dc:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5082e3:	0f 11 45 a0          	movups %xmm0,-0x60(%ebp)
5082e7:	0f 10 40 10          	movups 0x10(%eax),%xmm0
5082eb:	0f 11 45 b0          	movups %xmm0,-0x50(%ebp)
5082ef:	0f 10 40 20          	movups 0x20(%eax),%xmm0
5082f3:	8d 45 a0             	lea    -0x60(%ebp),%eax
5082f6:	50                   	push   %eax
5082f7:	0f 11 45 c0          	movups %xmm0,-0x40(%ebp)
5082fb:	e8 d0 31 ff ff       	call   0x4fb4d0
508300:	8d 45 a0             	lea    -0x60(%ebp),%eax
508303:	50                   	push   %eax
508304:	e8 c7 2d ff ff       	call   0x4fb0d0
508309:	8b 45 a8             	mov    -0x58(%ebp),%eax
50830c:	83 c4 08             	add    $0x8,%esp
50830f:	05 4d f8 ff ff       	add    $0xfffff84d,%eax
508314:	83 f8 42             	cmp    $0x42,%eax
508317:	77 1b                	ja     0x508334
508319:	f2 0f 10 45 c0       	movsd  -0x40(%ebp),%xmm0
50831e:	f2 0f 58 05 f8 9b 6a 	addsd  0x6a9bf8,%xmm0
508325:	00
508326:	f2 0f 2c c0          	cvttsd2si %xmm0,%eax
50832a:	66 0f 6e c0          	movd   %eax,%xmm0
50832e:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
508332:	eb 15                	jmp    0x508349
508334:	0f 28 05 60 c6 6b 00 	movaps 0x6bc660,%xmm0
50833b:	0f 11 45 a8          	movups %xmm0,-0x58(%ebp)
50833f:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
508346:	0f 57 c0             	xorps  %xmm0,%xmm0
508349:	8d 45 a0             	lea    -0x60(%ebp),%eax
50834c:	f2 0f 11 45 c0       	movsd  %xmm0,-0x40(%ebp)
508351:	50                   	push   %eax
508352:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
508359:	c6 45 c8 00          	movb   $0x0,-0x38(%ebp)
50835d:	e8 2e 2e ff ff       	call   0x4fb190
508362:	83 c4 04             	add    $0x4,%esp
508365:	6a 00                	push   $0x0
508367:	68 e8 03 00 00       	push   $0x3e8
50836c:	ff 75 a4             	push   -0x5c(%ebp)
50836f:	ff 75 a0             	push   -0x60(%ebp)
508372:	e8 c9 97 0d 00       	call   0x5e1b40
508377:	2d 40 69 a3 18       	sub    $0x18a36940,%eax
50837c:	89 45 f4             	mov    %eax,-0xc(%ebp)
50837f:	83 da 31             	sbb    $0x31,%edx
508382:	83 3d 08 19 72 00 00 	cmpl   $0x0,0x721908
508389:	89 55 f8             	mov    %edx,-0x8(%ebp)
50838c:	0f 85 92 00 00 00    	jne    0x508424
508392:	8d 45 f4             	lea    -0xc(%ebp),%eax
508395:	50                   	push   %eax
508396:	8d 45 d0             	lea    -0x30(%ebp),%eax
508399:	50                   	push   %eax
50839a:	e8 5e fb 0e 00       	call   0x5f7efd
50839f:	83 c4 08             	add    $0x8,%esp
5083a2:	85 c0                	test   %eax,%eax
5083a4:	75 7e                	jne    0x508424
5083a6:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5083a9:	66 0f 6e 45 d0       	movd   -0x30(%ebp),%xmm0
5083ae:	05 6c 07 00 00       	add    $0x76c,%eax
5083b3:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
5083b9:	8b 45 e0             	mov    -0x20(%ebp),%eax
5083bc:	40                   	inc    %eax
5083bd:	c7 45 98 00 00 01 01 	movl   $0x1010000,-0x68(%ebp)
5083c4:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
5083ca:	8b 45 dc             	mov    -0x24(%ebp),%eax
5083cd:	89 45 80             	mov    %eax,-0x80(%ebp)
5083d0:	8b 45 d8             	mov    -0x28(%ebp),%eax
5083d3:	f3 0f e6 c0          	cvtdq2pd %xmm0,%xmm0
5083d7:	89 45 84             	mov    %eax,-0x7c(%ebp)
5083da:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5083dd:	89 45 88             	mov    %eax,-0x78(%ebp)
5083e0:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
5083e6:	50                   	push   %eax
5083e7:	c6 45 9c 00          	movb   $0x0,-0x64(%ebp)
5083eb:	c6 45 9e 00          	movb   $0x0,-0x62(%ebp)
5083ef:	f2 0f 11 45 90       	movsd  %xmm0,-0x70(%ebp)
5083f4:	e8 97 2d ff ff       	call   0x4fb190
5083f9:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
5083ff:	83 c4 04             	add    $0x4,%esp
508402:	2b 45 a0             	sub    -0x60(%ebp),%eax
508405:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
50840b:	1b 55 a4             	sbb    -0x5c(%ebp),%edx
50840e:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
508414:	5f                   	pop    %edi
508415:	5e                   	pop    %esi
508416:	8b 4d fc             	mov    -0x4(%ebp),%ecx
508419:	33 cd                	xor    %ebp,%ecx
50841b:	e8 ba 90 0d 00       	call   0x5e14da
508420:	8b e5                	mov    %ebp,%esp
508422:	5d                   	pop    %ebp
508423:	c3                   	ret
508424:	6a ff                	push   $0xffffffff
508426:	6a 01                	push   $0x1
508428:	6a ff                	push   $0xffffffff
50842a:	68 d8 78 6b 00       	push   $0x6b78d8
50842f:	ff 36                	push   (%esi)
508431:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
508438:	e8 a3 36 04 00       	call   0x54bae0
50843d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
508440:	83 c4 14             	add    $0x14,%esp
508443:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
508449:	33 cd                	xor    %ebp,%ecx
50844b:	33 c0                	xor    %eax,%eax
50844d:	33 d2                	xor    %edx,%edx
50844f:	5f                   	pop    %edi
508450:	5e                   	pop    %esi
508451:	e8 84 90 0d 00       	call   0x5e14da
508456:	8b e5                	mov    %ebp,%esp
508458:	5d                   	pop    %ebp
508459:	c3                   	ret
50845a:	cc                   	int3
50845b:	cc                   	int3
50845c:	cc                   	int3
50845d:	cc                   	int3
50845e:	cc                   	int3
50845f:	cc                   	int3
508460:	55                   	push   %ebp
508461:	8b ec                	mov    %esp,%ebp
508463:	83 ec 18             	sub    $0x18,%esp
508466:	a1 d4 89 72 00       	mov    0x7289d4,%eax
50846b:	33 c5                	xor    %ebp,%eax
50846d:	89 45 fc             	mov    %eax,-0x4(%ebp)
508470:	57                   	push   %edi
508471:	8b 7d 08             	mov    0x8(%ebp),%edi
508474:	ff 37                	push   (%edi)
508476:	e8 75 b1 02 00       	call   0x5335f0
50847b:	83 c4 04             	add    $0x4,%esp
50847e:	85 c0                	test   %eax,%eax
508480:	0f 85 bd 02 00 00    	jne    0x508743
508486:	8b 07                	mov    (%edi),%eax
508488:	8d 4d f8             	lea    -0x8(%ebp),%ecx
50848b:	6a 00                	push   $0x0
50848d:	51                   	push   %ecx
50848e:	6a 01                	push   $0x1
508490:	50                   	push   %eax
508491:	8b 80 cc 00 00 00    	mov    0xcc(%eax),%eax
508497:	ff d0                	call   *%eax
508499:	83 c4 10             	add    $0x10,%esp
50849c:	85 c0                	test   %eax,%eax
50849e:	0f 85 9f 02 00 00    	jne    0x508743
5084a4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5084a7:	53                   	push   %ebx
5084a8:	8b 59 08             	mov    0x8(%ecx),%ebx
5084ab:	83 7b 04 01          	cmpl   $0x1,0x4(%ebx)
5084af:	74 17                	je     0x5084c8
5084b1:	8b 41 04             	mov    0x4(%ecx),%eax
5084b4:	89 43 38             	mov    %eax,0x38(%ebx)
5084b7:	89 4b 48             	mov    %ecx,0x48(%ebx)
5084ba:	89 7b 34             	mov    %edi,0x34(%ebx)
5084bd:	c7 43 04 01 00 00 00 	movl   $0x1,0x4(%ebx)
5084c4:	c6 43 09 64          	movb   $0x64,0x9(%ebx)
5084c8:	8b 53 38             	mov    0x38(%ebx),%edx
5084cb:	8b 07                	mov    (%edi),%eax
5084cd:	56                   	push   %esi
5084ce:	89 55 ec             	mov    %edx,-0x14(%ebp)
5084d1:	8b 4a 1c             	mov    0x1c(%edx),%ecx
5084d4:	8b 70 18             	mov    0x18(%eax),%esi
5084d7:	0f c9                	bswap  %ecx
5084d9:	89 4d f0             	mov    %ecx,-0x10(%ebp)
5084dc:	89 75 e8             	mov    %esi,-0x18(%ebp)
5084df:	85 c9                	test   %ecx,%ecx
5084e1:	74 08                	je     0x5084eb
5084e3:	8b 42 18             	mov    0x18(%edx),%eax
5084e6:	3b 42 5c             	cmp    0x5c(%edx),%eax
5084e9:	74 05                	je     0x5084f0
5084eb:	8b ce                	mov    %esi,%ecx
5084ed:	89 75 f0             	mov    %esi,-0x10(%ebp)
5084f0:	8b 47 04             	mov    0x4(%edi),%eax
5084f3:	8b 40 20             	mov    0x20(%eax),%eax
5084f6:	25 00 00 00 02       	and    $0x2000000,%eax
5084fb:	83 c8 00             	or     $0x0,%eax
5084fe:	74 63                	je     0x508563
508500:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
508507:	8b 77 24             	mov    0x24(%edi),%esi
50850a:	b8 81 80 80 80       	mov    $0x80808081,%eax
50850f:	8b ce                	mov    %esi,%ecx
508511:	c1 e6 05             	shl    $0x5,%esi
508514:	c1 e1 06             	shl    $0x6,%ecx
508517:	81 ee 80 01 00 00    	sub    $0x180,%esi
50851d:	81 e9 00 03 00 00    	sub    $0x300,%ecx
508523:	f7 e1                	mul    %ecx
508525:	b8 81 80 80 80       	mov    $0x80808081,%eax
50852a:	c1 ea 07             	shr    $0x7,%edx
50852d:	8d 4a e9             	lea    -0x17(%edx),%ecx
508530:	f7 e6                	mul    %esi
508532:	66 8b 47 24          	mov    0x24(%edi),%ax
508536:	c1 ea 07             	shr    $0x7,%edx
508539:	66 83 e8 23          	sub    $0x23,%ax
50853d:	83 c2 e9             	add    $0xffffffe9,%edx
508540:	66 89 4f 18          	mov    %cx,0x18(%edi)
508544:	66 89 57 1a          	mov    %dx,0x1a(%edi)
508548:	66 89 47 1c          	mov    %ax,0x1c(%edi)
50854c:	66 89 57 1e          	mov    %dx,0x1e(%edi)
508550:	66 83 f9 7f          	cmp    $0x7f,%cx
508554:	0f 86 d7 01 00 00    	jbe    0x508731
50855a:	c6 47 15 7f          	movb   $0x7f,0x15(%edi)
50855e:	e9 d3 01 00 00       	jmp    0x508736
508563:	85 c9                	test   %ecx,%ecx
508565:	74 a0                	je     0x508507
508567:	8b ca                	mov    %edx,%ecx
508569:	c7 45 f4 0c 00 00 00 	movl   $0xc,-0xc(%ebp)
508570:	be 64 1e 6b 00       	mov    $0x6b1e64,%esi
508575:	8b 01                	mov    (%ecx),%eax
508577:	3b 06                	cmp    (%esi),%eax
508579:	0f 85 6f 01 00 00    	jne    0x5086ee
50857f:	83 c1 04             	add    $0x4,%ecx
508582:	83 c6 04             	add    $0x4,%esi
508585:	83 6d f4 04          	subl   $0x4,-0xc(%ebp)
508589:	73 ea                	jae    0x508575
50858b:	80 7a 12 02          	cmpb   $0x2,0x12(%edx)
50858f:	76 05                	jbe    0x508596
508591:	66 83 4f 16 01       	orw    $0x1,0x16(%edi)
508596:	8a 42 13             	mov    0x13(%edx),%al
508599:	3c 02                	cmp    $0x2,%al
50859b:	0f 87 4d 01 00 00    	ja     0x5086ee
5085a1:	75 49                	jne    0x5085ec
5085a3:	f6 47 16 20          	testb  $0x20,0x16(%edi)
5085a7:	75 43                	jne    0x5085ec
5085a9:	8d 45 f4             	lea    -0xc(%ebp),%eax
5085ac:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5085b3:	50                   	push   %eax
5085b4:	ff 37                	push   (%edi)
5085b6:	e8 c5 aa 02 00       	call   0x533080
5085bb:	8b f0                	mov    %eax,%esi
5085bd:	83 c4 08             	add    $0x8,%esp
5085c0:	85 f6                	test   %esi,%esi
5085c2:	0f 85 2b 01 00 00    	jne    0x5086f3
5085c8:	39 45 f4             	cmp    %eax,-0xc(%ebp)
5085cb:	75 1c                	jne    0x5085e9
5085cd:	53                   	push   %ebx
5085ce:	e8 4d 9b 00 00       	call   0x512120
5085d3:	83 c4 04             	add    $0x4,%esp
5085d6:	33 c0                	xor    %eax,%eax
5085d8:	5e                   	pop    %esi
5085d9:	5b                   	pop    %ebx
5085da:	5f                   	pop    %edi
5085db:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5085de:	33 cd                	xor    %ebp,%ecx
5085e0:	e8 f5 8e 0d 00       	call   0x5e14da
5085e5:	8b e5                	mov    %ebp,%esp
5085e7:	5d                   	pop    %ebp
5085e8:	c3                   	ret
5085e9:	8b 55 ec             	mov    -0x14(%ebp),%edx
5085ec:	0f b6 42 15          	movzbl 0x15(%edx),%eax
5085f0:	3c 40                	cmp    $0x40,%al
5085f2:	75 10                	jne    0x508604
5085f4:	80 7a 16 20          	cmpb   $0x20,0x16(%edx)
5085f8:	75 0a                	jne    0x508604
5085fa:	80 7a 17 20          	cmpb   $0x20,0x17(%edx)
5085fe:	75 04                	jne    0x508604
508600:	33 c0                	xor    %eax,%eax
508602:	eb 05                	jmp    0x508609
508604:	1b c0                	sbb    %eax,%eax
508606:	83 c8 01             	or     $0x1,%eax
508609:	be 1a 00 00 00       	mov    $0x1a,%esi
50860e:	85 c0                	test   %eax,%eax
508610:	0f 85 dd 00 00 00    	jne    0x5086f3
508616:	0f b6 72 11          	movzbl 0x11(%edx),%esi
50861a:	0f b6 42 10          	movzbl 0x10(%edx),%eax
50861e:	c1 e6 08             	shl    $0x8,%esi
508621:	0b f0                	or     %eax,%esi
508623:	c1 e6 08             	shl    $0x8,%esi
508626:	8d 46 ff             	lea    -0x1(%esi),%eax
508629:	85 c6                	test   %eax,%esi
50862b:	0f 85 bd 00 00 00    	jne    0x5086ee
508631:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
508637:	0f 87 b1 00 00 00    	ja     0x5086ee
50863d:	81 fe 00 01 00 00    	cmp    $0x100,%esi
508643:	0f 86 a5 00 00 00    	jbe    0x5086ee
508649:	66 83 4f 16 02       	orw    $0x2,0x16(%edi)
50864e:	8b c6                	mov    %esi,%eax
508650:	0f b6 4a 14          	movzbl 0x14(%edx),%ecx
508654:	2b c1                	sub    %ecx,%eax
508656:	89 4d ec             	mov    %ecx,-0x14(%ebp)
508659:	89 45 f4             	mov    %eax,-0xc(%ebp)
50865c:	3b 77 20             	cmp    0x20(%edi),%esi
50865f:	74 36                	je     0x508697
508661:	53                   	push   %ebx
508662:	e8 b9 9a 00 00       	call   0x512120
508667:	8b 45 f4             	mov    -0xc(%ebp),%eax
50866a:	8d 5f 20             	lea    0x20(%edi),%ebx
50866d:	57                   	push   %edi
50866e:	89 47 24             	mov    %eax,0x24(%edi)
508671:	89 33                	mov    %esi,(%ebx)
508673:	e8 38 bd ff ff       	call   0x5043b0
508678:	ff 75 ec             	push   -0x14(%ebp)
50867b:	53                   	push   %ebx
50867c:	ff 37                	push   (%edi)
50867e:	e8 2d ae 02 00       	call   0x5334b0
508683:	83 c4 14             	add    $0x14,%esp
508686:	5e                   	pop    %esi
508687:	5b                   	pop    %ebx
508688:	5f                   	pop    %edi
508689:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50868c:	33 cd                	xor    %ebp,%ecx
50868e:	e8 47 8e 0d 00       	call   0x5e14da
508693:	8b e5                	mov    %ebp,%esp
508695:	5d                   	pop    %ebp
508696:	c3                   	ret
508697:	ff 77 04             	push   0x4(%edi)
50869a:	e8 b1 e4 04 00       	call   0x556b50
50869f:	83 c4 04             	add    $0x4,%esp
5086a2:	85 c0                	test   %eax,%eax
5086a4:	75 19                	jne    0x5086bf
5086a6:	8b 45 e8             	mov    -0x18(%ebp),%eax
5086a9:	39 45 f0             	cmp    %eax,-0x10(%ebp)
5086ac:	76 11                	jbe    0x5086bf
5086ae:	68 d6 06 01 00       	push   $0x106d6
5086b3:	e8 f8 76 01 00       	call   0x51fdb0
5086b8:	83 c4 04             	add    $0x4,%esp
5086bb:	8b f0                	mov    %eax,%esi
5086bd:	eb 34                	jmp    0x5086f3
5086bf:	8b 45 f4             	mov    -0xc(%ebp),%eax
5086c2:	3d e0 01 00 00       	cmp    $0x1e0,%eax
5086c7:	72 25                	jb     0x5086ee
5086c9:	89 47 24             	mov    %eax,0x24(%edi)
5086cc:	89 77 20             	mov    %esi,0x20(%edi)
5086cf:	8b 42 34             	mov    0x34(%edx),%eax
5086d2:	0f c8                	bswap  %eax
5086d4:	85 c0                	test   %eax,%eax
5086d6:	0f 95 c0             	setne  %al
5086d9:	88 47 11             	mov    %al,0x11(%edi)
5086dc:	8b 42 40             	mov    0x40(%edx),%eax
5086df:	0f c8                	bswap  %eax
5086e1:	85 c0                	test   %eax,%eax
5086e3:	0f 95 c0             	setne  %al
5086e6:	88 47 12             	mov    %al,0x12(%edi)
5086e9:	e9 19 fe ff ff       	jmp    0x508507
5086ee:	be 1a 00 00 00       	mov    $0x1a,%esi
5086f3:	8b 43 48             	mov    0x48(%ebx),%eax
5086f6:	50                   	push   %eax
5086f7:	8b 58 14             	mov    0x14(%eax),%ebx
5086fa:	e8 f1 be 02 00       	call   0x5345f0
5086ff:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
508705:	83 c4 04             	add    $0x4,%esp
508708:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
50870c:	75 09                	jne    0x508717
50870e:	53                   	push   %ebx
50870f:	e8 dc 4c 00 00       	call   0x50d3f0
508714:	83 c4 04             	add    $0x4,%esp
508717:	8b c6                	mov    %esi,%eax