46037f:	50                   	push   %eax
460380:	53                   	push   %ebx
460381:	8b 5d fc             	mov    -0x4(%ebp),%ebx
460384:	8d 43 10             	lea    0x10(%ebx),%eax
460387:	50                   	push   %eax
460388:	e8 43 2a 17 00       	call   0x5d2dd0
46038d:	83 c4 18             	add    $0x18,%esp
460390:	57                   	push   %edi
460391:	ff 75 f8             	push   -0x8(%ebp)
460394:	8b ce                	mov    %esi,%ecx
460396:	ff 75 f4             	push   -0xc(%ebp)
460399:	e8 42 0c 00 00       	call   0x460fe0
46039e:	5f                   	pop    %edi
46039f:	5e                   	pop    %esi
4603a0:	8b c3                	mov    %ebx,%eax
4603a2:	5b                   	pop    %ebx
4603a3:	8b e5                	mov    %ebp,%esp
4603a5:	5d                   	pop    %ebp
4603a6:	c2 08 00             	ret    $0x8
4603a9:	e8 f2 c3 ff ff       	call   0x45c7a0
4603ae:	cc                   	int3
4603af:	cc                   	int3
4603b0:	55                   	push   %ebp
4603b1:	8b ec                	mov    %esp,%ebp
4603b3:	83 ec 20             	sub    $0x20,%esp
4603b6:	8b 01                	mov    (%ecx),%eax
4603b8:	53                   	push   %ebx
4603b9:	8b 5d 08             	mov    0x8(%ebp),%ebx
4603bc:	56                   	push   %esi
4603bd:	8b 75 10             	mov    0x10(%ebp),%esi
4603c0:	2b 75 0c             	sub    0xc(%ebp),%esi
4603c3:	c1 fe 04             	sar    $0x4,%esi
4603c6:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4603c9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4603cc:	57                   	push   %edi
4603cd:	8b 79 04             	mov    0x4(%ecx),%edi
4603d0:	85 f6                	test   %esi,%esi
4603d2:	0f 84 76 01 00 00    	je     0x46054e
4603d8:	8b 51 08             	mov    0x8(%ecx),%edx
4603db:	8b c2                	mov    %edx,%eax
4603dd:	2b c7                	sub    %edi,%eax
4603df:	c1 f8 04             	sar    $0x4,%eax
4603e2:	3b f0                	cmp    %eax,%esi
4603e4:	0f 86 e1 00 00 00    	jbe    0x4604cb
4603ea:	8b c7                	mov    %edi,%eax
4603ec:	2b 45 fc             	sub    -0x4(%ebp),%eax
4603ef:	89 45 e8             	mov    %eax,-0x18(%ebp)
4603f2:	c1 f8 04             	sar    $0x4,%eax
4603f5:	89 45 f8             	mov    %eax,-0x8(%ebp)
4603f8:	b8 ff ff ff 0f       	mov    $0xfffffff,%eax
4603fd:	2b 45 f8             	sub    -0x8(%ebp),%eax
460400:	3b f0                	cmp    %eax,%esi
460402:	0f 87 4f 01 00 00    	ja     0x460557
460408:	8b 45 f8             	mov    -0x8(%ebp),%eax
46040b:	2b 55 fc             	sub    -0x4(%ebp),%edx
46040e:	03 c6                	add    %esi,%eax
460410:	89 45 ec             	mov    %eax,-0x14(%ebp)
460413:	c1 fa 04             	sar    $0x4,%edx
460416:	8b c2                	mov    %edx,%eax
460418:	d1 e8                	shr    $1,%eax
46041a:	89 45 f8             	mov    %eax,-0x8(%ebp)
46041d:	b8 ff ff ff 0f       	mov    $0xfffffff,%eax
460422:	2b 45 f8             	sub    -0x8(%ebp),%eax
460425:	3b d0                	cmp    %eax,%edx
460427:	76 07                	jbe    0x460430
460429:	b8 ff ff ff 0f       	mov    $0xfffffff,%eax
46042e:	eb 0c                	jmp    0x46043c
460430:	8b 45 f8             	mov    -0x8(%ebp),%eax
460433:	03 c2                	add    %edx,%eax
460435:	3b 45 ec             	cmp    -0x14(%ebp),%eax
460438:	0f 42 45 ec          	cmovb  -0x14(%ebp),%eax
46043c:	50                   	push   %eax
46043d:	89 45 f0             	mov    %eax,-0x10(%ebp)
460440:	e8 ab 0c 00 00       	call   0x4610f0
460445:	8b 55 10             	mov    0x10(%ebp),%edx
460448:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46044b:	2b d1                	sub    %ecx,%edx
46044d:	89 45 f8             	mov    %eax,-0x8(%ebp)
460450:	8b c3                	mov    %ebx,%eax
460452:	2b 45 fc             	sub    -0x4(%ebp),%eax
460455:	89 45 e4             	mov    %eax,-0x1c(%ebp)
460458:	c1 f8 04             	sar    $0x4,%eax
46045b:	89 45 e0             	mov    %eax,-0x20(%ebp)
46045e:	52                   	push   %edx
46045f:	c1 e0 04             	shl    $0x4,%eax
460462:	03 45 f8             	add    -0x8(%ebp),%eax
460465:	51                   	push   %ecx
460466:	50                   	push   %eax
460467:	e8 64 29 17 00       	call   0x5d2dd0
46046c:	83 c4 0c             	add    $0xc,%esp
46046f:	83 fe 01             	cmp    $0x1,%esi
460472:	75 17                	jne    0x46048b
460474:	3b df                	cmp    %edi,%ebx
460476:	75 13                	jne    0x46048b
460478:	ff 75 e8             	push   -0x18(%ebp)
46047b:	ff 75 fc             	push   -0x4(%ebp)
46047e:	ff 75 f8             	push   -0x8(%ebp)
460481:	e8 4a 29 17 00       	call   0x5d2dd0
460486:	83 c4 0c             	add    $0xc,%esp
460489:	eb 26                	jmp    0x4604b1
46048b:	ff 75 e4             	push   -0x1c(%ebp)
46048e:	ff 75 fc             	push   -0x4(%ebp)
460491:	ff 75 f8             	push   -0x8(%ebp)
460494:	e8 37 29 17 00       	call   0x5d2dd0
460499:	8b 45 e0             	mov    -0x20(%ebp),%eax
46049c:	2b fb                	sub    %ebx,%edi
46049e:	03 c6                	add    %esi,%eax
4604a0:	57                   	push   %edi
4604a1:	c1 e0 04             	shl    $0x4,%eax
4604a4:	03 45 f8             	add    -0x8(%ebp),%eax
4604a7:	53                   	push   %ebx
4604a8:	50                   	push   %eax
4604a9:	e8 22 29 17 00       	call   0x5d2dd0
4604ae:	83 c4 18             	add    $0x18,%esp
4604b1:	ff 75 f0             	push   -0x10(%ebp)
4604b4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4604b7:	ff 75 ec             	push   -0x14(%ebp)
4604ba:	ff 75 f8             	push   -0x8(%ebp)
4604bd:	e8 1e 0b 00 00       	call   0x460fe0
4604c2:	5f                   	pop    %edi
4604c3:	5e                   	pop    %esi
4604c4:	5b                   	pop    %ebx
4604c5:	8b e5                	mov    %ebp,%esp
4604c7:	5d                   	pop    %ebp
4604c8:	c2 10 00             	ret    $0x10
4604cb:	8b d7                	mov    %edi,%edx
4604cd:	8b ce                	mov    %esi,%ecx
4604cf:	2b d3                	sub    %ebx,%edx
4604d1:	c1 e1 04             	shl    $0x4,%ecx
4604d4:	8b c2                	mov    %edx,%eax
4604d6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
4604d9:	c1 f8 04             	sar    $0x4,%eax
4604dc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4604df:	3b f0                	cmp    %eax,%esi
4604e1:	73 3f                	jae    0x460522
4604e3:	8b f7                	mov    %edi,%esi
4604e5:	51                   	push   %ecx
4604e6:	2b f1                	sub    %ecx,%esi
4604e8:	56                   	push   %esi
4604e9:	57                   	push   %edi
4604ea:	e8 e1 28 17 00       	call   0x5d2dd0
4604ef:	8b 45 e0             	mov    -0x20(%ebp),%eax
4604f2:	2b f3                	sub    %ebx,%esi
4604f4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4604f7:	03 c7                	add    %edi,%eax
4604f9:	56                   	push   %esi
4604fa:	53                   	push   %ebx
4604fb:	2b fe                	sub    %esi,%edi
4604fd:	57                   	push   %edi
4604fe:	89 41 04             	mov    %eax,0x4(%ecx)
460501:	e8 ca 28 17 00       	call   0x5d2dd0
460506:	8b 4d 10             	mov    0x10(%ebp),%ecx
460509:	8b 45 0c             	mov    0xc(%ebp),%eax
46050c:	2b c8                	sub    %eax,%ecx
46050e:	51                   	push   %ecx
46050f:	50                   	push   %eax
460510:	53                   	push   %ebx
460511:	e8 ba 28 17 00       	call   0x5d2dd0
460516:	83 c4 24             	add    $0x24,%esp
460519:	5f                   	pop    %edi
46051a:	5e                   	pop    %esi
46051b:	5b                   	pop    %ebx
46051c:	8b e5                	mov    %ebp,%esp
46051e:	5d                   	pop    %ebp
46051f:	c2 10 00             	ret    $0x10
460522:	52                   	push   %edx
460523:	8d 34 0b             	lea    (%ebx,%ecx,1),%esi
460526:	53                   	push   %ebx
460527:	56                   	push   %esi
460528:	e8 a3 28 17 00       	call   0x5d2dd0
46052d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
460530:	8b 4d f4             	mov    -0xc(%ebp),%ecx
460533:	c1 e0 04             	shl    $0x4,%eax
460536:	03 c6                	add    %esi,%eax
460538:	89 41 04             	mov    %eax,0x4(%ecx)
46053b:	8b 4d 10             	mov    0x10(%ebp),%ecx
46053e:	8b 45 0c             	mov    0xc(%ebp),%eax
460541:	2b c8                	sub    %eax,%ecx
460543:	51                   	push   %ecx
460544:	50                   	push   %eax
460545:	53                   	push   %ebx
460546:	e8 85 28 17 00       	call   0x5d2dd0
46054b:	83 c4 18             	add    $0x18,%esp
46054e:	5f                   	pop    %edi
46054f:	5e                   	pop    %esi
460550:	5b                   	pop    %ebx
460551:	8b e5                	mov    %ebp,%esp
460553:	5d                   	pop    %ebp
460554:	c2 10 00             	ret    $0x10
460557:	e8 44 c2 ff ff       	call   0x45c7a0
46055c:	cc                   	int3
46055d:	cc                   	int3
46055e:	cc                   	int3
46055f:	cc                   	int3
460560:	c7 01 ec 66 60 00    	movl   $0x6066ec,(%ecx)
460566:	c3                   	ret
460567:	cc                   	int3
460568:	cc                   	int3
460569:	cc                   	int3
46056a:	cc                   	int3
46056b:	cc                   	int3
46056c:	cc                   	int3
46056d:	cc                   	int3
46056e:	cc                   	int3
46056f:	cc                   	int3
460570:	55                   	push   %ebp
460571:	8b ec                	mov    %esp,%ebp
460573:	83 ec 10             	sub    $0x10,%esp
460576:	8b 45 08             	mov    0x8(%ebp),%eax
460579:	89 45 f0             	mov    %eax,-0x10(%ebp)
46057c:	8b 45 0c             	mov    0xc(%ebp),%eax
46057f:	89 45 f8             	mov    %eax,-0x8(%ebp)
460582:	8b 41 04             	mov    0x4(%ecx),%eax
460585:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
46058c:	3b 41 08             	cmp    0x8(%ecx),%eax
46058f:	74 11                	je     0x4605a2
460591:	0f 10 45 f0          	movups -0x10(%ebp),%xmm0
460595:	0f 11 00             	movups %xmm0,(%eax)
460598:	83 41 04 10          	addl   $0x10,0x4(%ecx)
46059c:	8b e5                	mov    %ebp,%esp
46059e:	5d                   	pop    %ebp
46059f:	c2 08 00             	ret    $0x8
4605a2:	8d 55 f0             	lea    -0x10(%ebp),%edx
4605a5:	52                   	push   %edx
4605a6:	50                   	push   %eax
4605a7:	e8 34 fd ff ff       	call   0x4602e0
4605ac:	8b e5                	mov    %ebp,%esp
4605ae:	5d                   	pop    %ebp
4605af:	c2 08 00             	ret    $0x8
4605b2:	cc                   	int3
4605b3:	cc                   	int3
4605b4:	cc                   	int3
4605b5:	cc                   	int3
4605b6:	cc                   	int3
4605b7:	cc                   	int3
4605b8:	cc                   	int3
4605b9:	cc                   	int3
4605ba:	cc                   	int3
4605bb:	cc                   	int3
4605bc:	cc                   	int3
4605bd:	cc                   	int3
4605be:	cc                   	int3
4605bf:	cc                   	int3
4605c0:	55                   	push   %ebp
4605c1:	8b ec                	mov    %esp,%ebp
4605c3:	83 ec 10             	sub    $0x10,%esp
4605c6:	8b 41 04             	mov    0x4(%ecx),%eax
4605c9:	8b 55 08             	mov    0x8(%ebp),%edx
4605cc:	56                   	push   %esi
4605cd:	8b 75 0c             	mov    0xc(%ebp),%esi
4605d0:	57                   	push   %edi
4605d1:	8b 7d 10             	mov    0x10(%ebp),%edi
4605d4:	89 55 f0             	mov    %edx,-0x10(%ebp)
4605d7:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
4605de:	89 75 f8             	mov    %esi,-0x8(%ebp)
4605e1:	89 7d fc             	mov    %edi,-0x4(%ebp)
4605e4:	3b 41 08             	cmp    0x8(%ecx),%eax
4605e7:	74 1b                	je     0x460604
4605e9:	89 10                	mov    %edx,(%eax)
4605eb:	c7 40 04 02 00 00 00 	movl   $0x2,0x4(%eax)
4605f2:	89 70 08             	mov    %esi,0x8(%eax)
4605f5:	89 78 0c             	mov    %edi,0xc(%eax)
4605f8:	83 41 04 10          	addl   $0x10,0x4(%ecx)
4605fc:	5f                   	pop    %edi
4605fd:	5e                   	pop    %esi
4605fe:	8b e5                	mov    %ebp,%esp
460600:	5d                   	pop    %ebp
460601:	c2 0c 00             	ret    $0xc
460604:	8d 55 f0             	lea    -0x10(%ebp),%edx
460607:	52                   	push   %edx
460608:	50                   	push   %eax
460609:	e8 d2 fc ff ff       	call   0x4602e0
46060e:	5f                   	pop    %edi
46060f:	5e                   	pop    %esi
460610:	8b e5                	mov    %ebp,%esp
460612:	5d                   	pop    %ebp
460613:	c2 0c 00             	ret    $0xc
460616:	cc                   	int3
460617:	cc                   	int3
460618:	cc                   	int3
460619:	cc                   	int3
46061a:	cc                   	int3
46061b:	cc                   	int3
46061c:	cc                   	int3
46061d:	cc                   	int3
46061e:	cc                   	int3
46061f:	cc                   	int3
460620:	55                   	push   %ebp
460621:	8b ec                	mov    %esp,%ebp
460623:	83 ec 10             	sub    $0x10,%esp
460626:	8b 45 08             	mov    0x8(%ebp),%eax
460629:	56                   	push   %esi
46062a:	57                   	push   %edi
46062b:	6a 0c                	push   $0xc
46062d:	8b f9                	mov    %ecx,%edi
46062f:	89 45 f0             	mov    %eax,-0x10(%ebp)
460632:	c7 45 f4 04 00 00 00 	movl   $0x4,-0xc(%ebp)
460639:	e8 e7 0b 17 00       	call   0x5d1225
46063e:	8b f0                	mov    %eax,%esi
460640:	83 c4 04             	add    $0x4,%esp
460643:	89 75 08             	mov    %esi,0x8(%ebp)
460646:	85 f6                	test   %esi,%esi
460648:	74 16                	je     0x460660
46064a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
460650:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
460657:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
46065e:	eb 02                	jmp    0x460662
460660:	33 f6                	xor    %esi,%esi
460662:	8b 47 04             	mov    0x4(%edi),%eax
460665:	89 75 f8             	mov    %esi,-0x8(%ebp)
460668:	3b 47 08             	cmp    0x8(%edi),%eax
46066b:	74 15                	je     0x460682
46066d:	0f 10 45 f0          	movups -0x10(%ebp),%xmm0
460671:	0f 11 00             	movups %xmm0,(%eax)
460674:	83 47 04 10          	addl   $0x10,0x4(%edi)
460678:	8b c6                	mov    %esi,%eax
46067a:	5f                   	pop    %edi
46067b:	5e                   	pop    %esi
46067c:	8b e5                	mov    %ebp,%esp
46067e:	5d                   	pop    %ebp
46067f:	c2 04 00             	ret    $0x4
460682:	8d 4d f0             	lea    -0x10(%ebp),%ecx
460685:	51                   	push   %ecx
460686:	50                   	push   %eax
460687:	8b cf                	mov    %edi,%ecx
460689:	e8 52 fc ff ff       	call   0x4602e0
46068e:	5f                   	pop    %edi
46068f:	8b c6                	mov    %esi,%eax
460691:	5e                   	pop    %esi
460692:	8b e5                	mov    %ebp,%esp
460694:	5d                   	pop    %ebp
460695:	c2 04 00             	ret    $0x4
460698:	cc                   	int3
460699:	cc                   	int3
46069a:	cc                   	int3
46069b:	cc                   	int3
46069c:	cc                   	int3
46069d:	cc                   	int3
46069e:	cc                   	int3
46069f:	cc                   	int3
4606a0:	55                   	push   %ebp
4606a1:	8b ec                	mov    %esp,%ebp
4606a3:	83 ec 10             	sub    $0x10,%esp
4606a6:	8b 45 08             	mov    0x8(%ebp),%eax
4606a9:	56                   	push   %esi
4606aa:	57                   	push   %edi
4606ab:	6a 18                	push   $0x18
4606ad:	8b f9                	mov    %ecx,%edi
4606af:	89 45 f0             	mov    %eax,-0x10(%ebp)
4606b2:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)