469389:	cc                   	int3
46938a:	cc                   	int3
46938b:	cc                   	int3
46938c:	cc                   	int3
46938d:	cc                   	int3
46938e:	cc                   	int3
46938f:	cc                   	int3
469390:	55                   	push   %ebp
469391:	8b ec                	mov    %esp,%ebp
469393:	56                   	push   %esi
469394:	8b 75 08             	mov    0x8(%ebp),%esi
469397:	57                   	push   %edi
469398:	8b 7d 0c             	mov    0xc(%ebp),%edi
46939b:	3b f7                	cmp    %edi,%esi
46939d:	74 48                	je     0x4693e7
46939f:	90                   	nop
4693a0:	8b 4e 14             	mov    0x14(%esi),%ecx
4693a3:	83 f9 10             	cmp    $0x10,%ecx
4693a6:	72 27                	jb     0x4693cf
4693a8:	8b 06                	mov    (%esi),%eax
4693aa:	41                   	inc    %ecx
4693ab:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4693b1:	72 12                	jb     0x4693c5
4693b3:	8b 50 fc             	mov    -0x4(%eax),%edx
4693b6:	83 c1 23             	add    $0x23,%ecx
4693b9:	2b c2                	sub    %edx,%eax
4693bb:	83 c0 fc             	add    $0xfffffffc,%eax
4693be:	83 f8 1f             	cmp    $0x1f,%eax
4693c1:	77 28                	ja     0x4693eb
4693c3:	8b c2                	mov    %edx,%eax
4693c5:	51                   	push   %ecx
4693c6:	50                   	push   %eax
4693c7:	e8 89 7e 16 00       	call   0x5d1255
4693cc:	83 c4 08             	add    $0x8,%esp
4693cf:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4693d6:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
4693dd:	c6 06 00             	movb   $0x0,(%esi)
4693e0:	83 c6 18             	add    $0x18,%esi
4693e3:	3b f7                	cmp    %edi,%esi
4693e5:	75 b9                	jne    0x4693a0
4693e7:	5f                   	pop    %edi
4693e8:	5e                   	pop    %esi
4693e9:	5d                   	pop    %ebp
4693ea:	c3                   	ret
4693eb:	e8 00 ce 16 00       	call   0x5d61f0
4693f0:	cc                   	int3
4693f1:	cc                   	int3
4693f2:	cc                   	int3
4693f3:	cc                   	int3
4693f4:	cc                   	int3
4693f5:	cc                   	int3
4693f6:	cc                   	int3
4693f7:	cc                   	int3
4693f8:	cc                   	int3
4693f9:	cc                   	int3
4693fa:	cc                   	int3
4693fb:	cc                   	int3
4693fc:	cc                   	int3
4693fd:	cc                   	int3
4693fe:	cc                   	int3
4693ff:	cc                   	int3
469400:	55                   	push   %ebp
469401:	8b ec                	mov    %esp,%ebp
469403:	83 ec 08             	sub    $0x8,%esp
469406:	8b 55 08             	mov    0x8(%ebp),%edx
469409:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
46940e:	53                   	push   %ebx
46940f:	56                   	push   %esi
469410:	57                   	push   %edi
469411:	8b f9                	mov    %ecx,%edi
469413:	8b 37                	mov    (%edi),%esi
469415:	2b d6                	sub    %esi,%edx
469417:	8b 4f 04             	mov    0x4(%edi),%ecx
46941a:	f7 ea                	imul   %edx
46941c:	2b ce                	sub    %esi,%ecx
46941e:	c1 fa 02             	sar    $0x2,%edx
469421:	8b c2                	mov    %edx,%eax
469423:	c1 e8 1f             	shr    $0x1f,%eax
469426:	03 c2                	add    %edx,%eax
469428:	89 45 fc             	mov    %eax,-0x4(%ebp)
46942b:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
469430:	f7 e9                	imul   %ecx
469432:	c1 fa 02             	sar    $0x2,%edx
469435:	8b c2                	mov    %edx,%eax
469437:	c1 e8 1f             	shr    $0x1f,%eax
46943a:	03 c2                	add    %edx,%eax
46943c:	89 45 f8             	mov    %eax,-0x8(%ebp)
46943f:	3d aa aa aa 0a       	cmp    $0xaaaaaaa,%eax
469444:	0f 84 7d 01 00 00    	je     0x4695c7
46944a:	8b 4f 08             	mov    0x8(%edi),%ecx
46944d:	8d 58 01             	lea    0x1(%eax),%ebx
469450:	2b ce                	sub    %esi,%ecx
469452:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
469457:	f7 e9                	imul   %ecx
469459:	b8 aa aa aa 0a       	mov    $0xaaaaaaa,%eax
46945e:	c1 fa 02             	sar    $0x2,%edx
469461:	8b ca                	mov    %edx,%ecx
469463:	c1 e9 1f             	shr    $0x1f,%ecx
469466:	03 ca                	add    %edx,%ecx
469468:	8b d1                	mov    %ecx,%edx
46946a:	d1 ea                	shr    $1,%edx
46946c:	2b c2                	sub    %edx,%eax
46946e:	3b c8                	cmp    %eax,%ecx
469470:	0f 87 4c 01 00 00    	ja     0x4695c2
469476:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
469479:	8b cb                	mov    %ebx,%ecx
46947b:	3b c3                	cmp    %ebx,%eax
46947d:	0f 43 c8             	cmovae %eax,%ecx
469480:	81 f9 aa aa aa 0a    	cmp    $0xaaaaaaa,%ecx
469486:	0f 87 36 01 00 00    	ja     0x4695c2
46948c:	8d 1c 49             	lea    (%ecx,%ecx,2),%ebx
46948f:	c1 e3 03             	shl    $0x3,%ebx
469492:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
469498:	72 27                	jb     0x4694c1
46949a:	8d 43 23             	lea    0x23(%ebx),%eax
46949d:	3b c3                	cmp    %ebx,%eax
46949f:	0f 86 1d 01 00 00    	jbe    0x4695c2
4694a5:	50                   	push   %eax
4694a6:	e8 7a 7d 16 00       	call   0x5d1225
4694ab:	83 c4 04             	add    $0x4,%esp
4694ae:	85 c0                	test   %eax,%eax
4694b0:	0f 84 16 01 00 00    	je     0x4695cc
4694b6:	8d 70 23             	lea    0x23(%eax),%esi
4694b9:	83 e6 e0             	and    $0xffffffe0,%esi
4694bc:	89 46 fc             	mov    %eax,-0x4(%esi)
4694bf:	eb 13                	jmp    0x4694d4
4694c1:	85 db                	test   %ebx,%ebx
4694c3:	74 0d                	je     0x4694d2
4694c5:	53                   	push   %ebx
4694c6:	e8 5a 7d 16 00       	call   0x5d1225
4694cb:	83 c4 04             	add    $0x4,%esp
4694ce:	8b f0                	mov    %eax,%esi
4694d0:	eb 02                	jmp    0x4694d4
4694d2:	33 f6                	xor    %esi,%esi
4694d4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4694d7:	8d 04 40             	lea    (%eax,%eax,2),%eax
4694da:	8d 0c c6             	lea    (%esi,%eax,8),%ecx
4694dd:	8b 45 0c             	mov    0xc(%ebp),%eax
4694e0:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4694e6:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
4694ed:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
4694f4:	0f 10 00             	movups (%eax),%xmm0
4694f7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4694fa:	0f 11 01             	movups %xmm0,(%ecx)
4694fd:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
469502:	66 0f d6 41 10       	movq   %xmm0,0x10(%ecx)
469507:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
46950e:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
469515:	c6 00 00             	movb   $0x0,(%eax)
469518:	8b 57 04             	mov    0x4(%edi),%edx
46951b:	8b 45 08             	mov    0x8(%ebp),%eax
46951e:	8b 0f                	mov    (%edi),%ecx
469520:	3b c2                	cmp    %edx,%eax
469522:	75 04                	jne    0x469528
469524:	8b c6                	mov    %esi,%eax
469526:	eb 18                	jmp    0x469540
469528:	57                   	push   %edi
469529:	56                   	push   %esi
46952a:	50                   	push   %eax
46952b:	51                   	push   %ecx
46952c:	e8 af 00 00 00       	call   0x4695e0
469531:	8b 45 fc             	mov    -0x4(%ebp),%eax
469534:	83 c4 10             	add    $0x10,%esp
469537:	8b 4d 08             	mov    0x8(%ebp),%ecx
46953a:	83 c0 18             	add    $0x18,%eax
46953d:	8b 57 04             	mov    0x4(%edi),%edx
469540:	57                   	push   %edi
469541:	50                   	push   %eax
469542:	52                   	push   %edx
469543:	51                   	push   %ecx
469544:	e8 97 00 00 00       	call   0x4695e0
469549:	8b 0f                	mov    (%edi),%ecx
46954b:	83 c4 10             	add    $0x10,%esp
46954e:	85 c9                	test   %ecx,%ecx
469550:	74 4f                	je     0x4695a1
469552:	57                   	push   %edi
469553:	ff 77 04             	push   0x4(%edi)
469556:	51                   	push   %ecx
469557:	e8 34 fe ff ff       	call   0x469390
46955c:	8b 4f 08             	mov    0x8(%edi),%ecx
46955f:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
469564:	2b 0f                	sub    (%edi),%ecx
469566:	83 c4 0c             	add    $0xc,%esp
469569:	f7 e9                	imul   %ecx
46956b:	c1 fa 02             	sar    $0x2,%edx
46956e:	8b c2                	mov    %edx,%eax
469570:	c1 e8 1f             	shr    $0x1f,%eax
469573:	03 c2                	add    %edx,%eax
469575:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
469578:	8b 07                	mov    (%edi),%eax
46957a:	c1 e1 03             	shl    $0x3,%ecx
46957d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
469583:	72 12                	jb     0x469597
469585:	8b 50 fc             	mov    -0x4(%eax),%edx
469588:	83 c1 23             	add    $0x23,%ecx
46958b:	2b c2                	sub    %edx,%eax
46958d:	83 c0 fc             	add    $0xfffffffc,%eax
469590:	83 f8 1f             	cmp    $0x1f,%eax
469593:	77 37                	ja     0x4695cc
469595:	8b c2                	mov    %edx,%eax
469597:	51                   	push   %ecx
469598:	50                   	push   %eax
469599:	e8 b7 7c 16 00       	call   0x5d1255
46959e:	83 c4 08             	add    $0x8,%esp
4695a1:	8b 45 f8             	mov    -0x8(%ebp),%eax
4695a4:	40                   	inc    %eax
4695a5:	89 37                	mov    %esi,(%edi)
4695a7:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
4695aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4695ad:	8d 0c ce             	lea    (%esi,%ecx,8),%ecx
4695b0:	89 4f 04             	mov    %ecx,0x4(%edi)
4695b3:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
4695b6:	89 4f 08             	mov    %ecx,0x8(%edi)
4695b9:	5f                   	pop    %edi
4695ba:	5e                   	pop    %esi
4695bb:	5b                   	pop    %ebx
4695bc:	8b e5                	mov    %ebp,%esp
4695be:	5d                   	pop    %ebp
4695bf:	c2 08 00             	ret    $0x8
4695c2:	e8 29 e0 fd ff       	call   0x4475f0
4695c7:	e8 d4 31 ff ff       	call   0x45c7a0
4695cc:	e8 1f cc 16 00       	call   0x5d61f0
4695d1:	cc                   	int3
4695d2:	cc                   	int3
4695d3:	cc                   	int3
4695d4:	cc                   	int3
4695d5:	cc                   	int3
4695d6:	cc                   	int3
4695d7:	cc                   	int3
4695d8:	cc                   	int3
4695d9:	cc                   	int3
4695da:	cc                   	int3
4695db:	cc                   	int3
4695dc:	cc                   	int3
4695dd:	cc                   	int3
4695de:	cc                   	int3
4695df:	cc                   	int3
4695e0:	55                   	push   %ebp
4695e1:	8b ec                	mov    %esp,%ebp
4695e3:	8b 45 08             	mov    0x8(%ebp),%eax
4695e6:	8b 55 0c             	mov    0xc(%ebp),%edx
4695e9:	56                   	push   %esi
4695ea:	8b 75 10             	mov    0x10(%ebp),%esi
4695ed:	3b c2                	cmp    %edx,%eax
4695ef:	74 4f                	je     0x469640
4695f1:	8b ce                	mov    %esi,%ecx
4695f3:	2b c8                	sub    %eax,%ecx
4695f5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
4695fc:	00 00 00 00
469600:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
469606:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
46960d:	c7 44 01 14 00 00 00 	movl   $0x0,0x14(%ecx,%eax,1)
469614:	00
469615:	0f 10 00             	movups (%eax),%xmm0
469618:	0f 11 06             	movups %xmm0,(%esi)
46961b:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
469620:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
469625:	83 c6 18             	add    $0x18,%esi
469628:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
46962f:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
469636:	c6 00 00             	movb   $0x0,(%eax)
469639:	83 c0 18             	add    $0x18,%eax
46963c:	3b c2                	cmp    %edx,%eax
46963e:	75 c0                	jne    0x469600
469640:	ff 75 14             	push   0x14(%ebp)
469643:	56                   	push   %esi
469644:	56                   	push   %esi
469645:	e8 46 fd ff ff       	call   0x469390
46964a:	83 c4 0c             	add    $0xc,%esp
46964d:	8b c6                	mov    %esi,%eax
46964f:	5e                   	pop    %esi
469650:	5d                   	pop    %ebp
469651:	c3                   	ret
469652:	cc                   	int3
469653:	cc                   	int3
469654:	cc                   	int3
469655:	cc                   	int3
469656:	cc                   	int3
469657:	cc                   	int3
469658:	cc                   	int3
469659:	cc                   	int3
46965a:	cc                   	int3
46965b:	cc                   	int3
46965c:	cc                   	int3
46965d:	cc                   	int3
46965e:	cc                   	int3
46965f:	cc                   	int3
469660:	8b 09                	mov    (%ecx),%ecx
469662:	85 c9                	test   %ecx,%ecx
469664:	74 06                	je     0x46966c
469666:	8b 01                	mov    (%ecx),%eax
469668:	6a 01                	push   $0x1
46966a:	ff 10                	call   *(%eax)
46966c:	c3                   	ret
46966d:	cc                   	int3
46966e:	cc                   	int3
46966f:	cc                   	int3
469670:	56                   	push   %esi
469671:	8b f1                	mov    %ecx,%esi
469673:	8b 06                	mov    (%esi),%eax
469675:	85 c0                	test   %eax,%eax
469677:	74 40                	je     0x4696b9
469679:	8b 4e 08             	mov    0x8(%esi),%ecx
46967c:	2b c8                	sub    %eax,%ecx
46967e:	83 e1 fc             	and    $0xfffffffc,%ecx
469681:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
469687:	72 12                	jb     0x46969b
469689:	8b 50 fc             	mov    -0x4(%eax),%edx
46968c:	83 c1 23             	add    $0x23,%ecx
46968f:	2b c2                	sub    %edx,%eax
469691:	83 c0 fc             	add    $0xfffffffc,%eax
469694:	83 f8 1f             	cmp    $0x1f,%eax
469697:	77 22                	ja     0x4696bb
469699:	8b c2                	mov    %edx,%eax
46969b:	51                   	push   %ecx
46969c:	50                   	push   %eax
46969d:	e8 b3 7b 16 00       	call   0x5d1255
4696a2:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4696a8:	83 c4 08             	add    $0x8,%esp
4696ab:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4696b2:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4696b9:	5e                   	pop    %esi
4696ba:	c3                   	ret
4696bb:	e8 30 cb 16 00       	call   0x5d61f0
4696c0:	cc                   	int3
4696c1:	cc                   	int3
4696c2:	cc                   	int3
4696c3:	cc                   	int3
4696c4:	cc                   	int3
4696c5:	cc                   	int3
4696c6:	cc                   	int3
4696c7:	cc                   	int3
4696c8:	cc                   	int3
4696c9:	cc                   	int3
4696ca:	cc                   	int3
4696cb:	cc                   	int3
4696cc:	cc                   	int3
4696cd:	cc                   	int3
4696ce:	cc                   	int3
4696cf:	cc                   	int3
4696d0:	55                   	push   %ebp
4696d1:	8b ec                	mov    %esp,%ebp
4696d3:	6a ff                	push   $0xffffffff
4696d5:	68 cd 94 5f 00       	push   $0x5f94cd
4696da:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4696e0:	50                   	push   %eax
4696e1:	83 ec 10             	sub    $0x10,%esp
4696e4:	53                   	push   %ebx
4696e5:	56                   	push   %esi
4696e6:	57                   	push   %edi