47436b:	5f                   	pop    %edi
47436c:	0f 44 f0             	cmove  %eax,%esi
47436f:	8b c6                	mov    %esi,%eax
474371:	5e                   	pop    %esi
474372:	5b                   	pop    %ebx
474373:	8b e5                	mov    %ebp,%esp
474375:	5d                   	pop    %ebp
474376:	c3                   	ret
474377:	8d 47 ff             	lea    -0x1(%edi),%eax
47437a:	89 43 3c             	mov    %eax,0x3c(%ebx)
47437d:	5f                   	pop    %edi
47437e:	8b c6                	mov    %esi,%eax
474380:	5e                   	pop    %esi
474381:	5b                   	pop    %ebx
474382:	8b e5                	mov    %ebp,%esp
474384:	5d                   	pop    %ebp
474385:	c3                   	ret
474386:	cc                   	int3
474387:	cc                   	int3
474388:	cc                   	int3
474389:	cc                   	int3
47438a:	cc                   	int3
47438b:	cc                   	int3
47438c:	cc                   	int3
47438d:	cc                   	int3
47438e:	cc                   	int3
47438f:	cc                   	int3
474390:	55                   	push   %ebp
474391:	8b ec                	mov    %esp,%ebp
474393:	6a ff                	push   $0xffffffff
474395:	68 85 9f 5f 00       	push   $0x5f9f85
47439a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4743a0:	50                   	push   %eax
4743a1:	83 ec 6c             	sub    $0x6c,%esp
4743a4:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4743a9:	33 c5                	xor    %ebp,%eax
4743ab:	89 45 f0             	mov    %eax,-0x10(%ebp)
4743ae:	56                   	push   %esi
4743af:	57                   	push   %edi
4743b0:	50                   	push   %eax
4743b1:	8d 45 f4             	lea    -0xc(%ebp),%eax
4743b4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4743ba:	8b 45 14             	mov    0x14(%ebp),%eax
4743bd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4743c0:	8b 75 20             	mov    0x20(%ebp),%esi
4743c3:	8b 55 10             	mov    0x10(%ebp),%edx
4743c6:	8b 7d 08             	mov    0x8(%ebp),%edi
4743c9:	89 45 88             	mov    %eax,-0x78(%ebp)
4743cc:	8b 45 18             	mov    0x18(%ebp),%eax
4743cf:	89 45 98             	mov    %eax,-0x68(%ebp)
4743d2:	8b 45 1c             	mov    0x1c(%ebp),%eax
4743d5:	89 4d ac             	mov    %ecx,-0x54(%ebp)
4743d8:	89 4d 90             	mov    %ecx,-0x70(%ebp)
4743db:	89 55 a8             	mov    %edx,-0x58(%ebp)
4743de:	89 45 b0             	mov    %eax,-0x50(%ebp)
4743e1:	85 f6                	test   %esi,%esi
4743e3:	75 1e                	jne    0x474403
4743e5:	52                   	push   %edx
4743e6:	51                   	push   %ecx
4743e7:	57                   	push   %edi
4743e8:	8b c8                	mov    %eax,%ecx
4743ea:	e8 41 25 ff ff       	call   0x466930
4743ef:	50                   	push   %eax
4743f0:	ff 75 98             	push   -0x68(%ebp)
4743f3:	ff 75 88             	push   -0x78(%ebp)
4743f6:	e8 b5 cb fe ff       	call   0x460fb0
4743fb:	83 c4 14             	add    $0x14,%esp
4743fe:	e9 b7 03 00 00       	jmp    0x4747ba
474403:	8b ce                	mov    %esi,%ecx
474405:	e8 96 4d fe ff       	call   0x4591a0
47440a:	8b 4d 88             	mov    -0x78(%ebp),%ecx
47440d:	83 e1 07             	and    $0x7,%ecx
474410:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
474413:	3b 0c 85 e0 bd 60 00 	cmp    0x60bde0(,%eax,4),%ecx
47441a:	0f 84 d7 03 00 00    	je     0x4747f7
474420:	83 7e 20 03          	cmpl   $0x3,0x20(%esi)
474424:	0f 85 ab 03 00 00    	jne    0x4747d5
47442a:	8b ce                	mov    %esi,%ecx
47442c:	e8 6f 4d fe ff       	call   0x4591a0
474431:	83 f8 09             	cmp    $0x9,%eax
474434:	0f 84 9b 03 00 00    	je     0x4747d5
47443a:	83 f8 0a             	cmp    $0xa,%eax
47443d:	0f 84 92 03 00 00    	je     0x4747d5
474443:	83 f8 0b             	cmp    $0xb,%eax
474446:	0f 84 89 03 00 00    	je     0x4747d5
47444c:	83 f8 0c             	cmp    $0xc,%eax
47444f:	0f 84 80 03 00 00    	je     0x4747d5
474455:	83 7d a4 02          	cmpl   $0x2,-0x5c(%ebp)
474459:	0f 85 76 03 00 00    	jne    0x4747d5
47445f:	8b ce                	mov    %esi,%ecx
474461:	e8 3a 4d fe ff       	call   0x4591a0
474466:	48                   	dec    %eax
474467:	83 f8 11             	cmp    $0x11,%eax
47446a:	0f 87 87 03 00 00    	ja     0x4747f7
474470:	ff 24 85 74 4d 47 00 	jmp    *0x474d74(,%eax,4)
474477:	8b 45 a8             	mov    -0x58(%ebp),%eax
47447a:	8b 55 ac             	mov    -0x54(%ebp),%edx
47447d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474480:	50                   	push   %eax
474481:	52                   	push   %edx
474482:	56                   	push   %esi
474483:	57                   	push   %edi
474484:	e8 07 ce fe ff       	call   0x461290
474489:	50                   	push   %eax
47448a:	e8 11 af fe ff       	call   0x45f3a0
47448f:	83 c4 0c             	add    $0xc,%esp
474492:	e9 23 03 00 00       	jmp    0x4747ba
474497:	8b 45 a8             	mov    -0x58(%ebp),%eax
47449a:	8b 55 ac             	mov    -0x54(%ebp),%edx
47449d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4744a0:	50                   	push   %eax
4744a1:	52                   	push   %edx
4744a2:	56                   	push   %esi
4744a3:	57                   	push   %edi
4744a4:	e8 67 ce fe ff       	call   0x461310
4744a9:	50                   	push   %eax
4744aa:	e8 11 af fe ff       	call   0x45f3c0
4744af:	83 c4 0c             	add    $0xc,%esp
4744b2:	e9 03 03 00 00       	jmp    0x4747ba
4744b7:	8b 45 a8             	mov    -0x58(%ebp),%eax
4744ba:	8b 55 ac             	mov    -0x54(%ebp),%edx
4744bd:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4744c0:	50                   	push   %eax
4744c1:	52                   	push   %edx
4744c2:	56                   	push   %esi
4744c3:	57                   	push   %edi
4744c4:	e8 c7 cd fe ff       	call   0x461290
4744c9:	50                   	push   %eax
4744ca:	e8 01 af fe ff       	call   0x45f3d0
4744cf:	83 c4 0c             	add    $0xc,%esp
4744d2:	e9 e3 02 00 00       	jmp    0x4747ba
4744d7:	8b 45 a8             	mov    -0x58(%ebp),%eax
4744da:	8b 55 ac             	mov    -0x54(%ebp),%edx
4744dd:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4744e0:	50                   	push   %eax
4744e1:	52                   	push   %edx
4744e2:	56                   	push   %esi
4744e3:	57                   	push   %edi
4744e4:	e8 27 ce fe ff       	call   0x461310
4744e9:	50                   	push   %eax
4744ea:	e8 f1 ae fe ff       	call   0x45f3e0
4744ef:	83 c4 0c             	add    $0xc,%esp
4744f2:	e9 c3 02 00 00       	jmp    0x4747ba
4744f7:	8b 45 a8             	mov    -0x58(%ebp),%eax
4744fa:	8b 55 ac             	mov    -0x54(%ebp),%edx
4744fd:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474500:	50                   	push   %eax
474501:	52                   	push   %edx
474502:	56                   	push   %esi
474503:	57                   	push   %edi
474504:	e8 a7 cd fe ff       	call   0x4612b0
474509:	50                   	push   %eax
47450a:	e8 91 ae fe ff       	call   0x45f3a0
47450f:	83 c4 0c             	add    $0xc,%esp
474512:	e9 a3 02 00 00       	jmp    0x4747ba
474517:	8b 45 a8             	mov    -0x58(%ebp),%eax
47451a:	8b 55 ac             	mov    -0x54(%ebp),%edx
47451d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474520:	50                   	push   %eax
474521:	52                   	push   %edx
474522:	56                   	push   %esi
474523:	57                   	push   %edi
474524:	e8 07 ce fe ff       	call   0x461330
474529:	50                   	push   %eax
47452a:	e8 91 ae fe ff       	call   0x45f3c0
47452f:	83 c4 0c             	add    $0xc,%esp
474532:	e9 83 02 00 00       	jmp    0x4747ba
474537:	8b 45 a8             	mov    -0x58(%ebp),%eax
47453a:	8b 55 ac             	mov    -0x54(%ebp),%edx
47453d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474540:	50                   	push   %eax
474541:	52                   	push   %edx
474542:	56                   	push   %esi
474543:	57                   	push   %edi
474544:	e8 67 cd fe ff       	call   0x4612b0
474549:	50                   	push   %eax
47454a:	e8 61 ae fe ff       	call   0x45f3b0
47454f:	83 c4 0c             	add    $0xc,%esp
474552:	e9 63 02 00 00       	jmp    0x4747ba
474557:	8b 45 a8             	mov    -0x58(%ebp),%eax
47455a:	8b 55 ac             	mov    -0x54(%ebp),%edx
47455d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474560:	50                   	push   %eax
474561:	52                   	push   %edx
474562:	56                   	push   %esi
474563:	57                   	push   %edi
474564:	e8 c7 cd fe ff       	call   0x461330
474569:	50                   	push   %eax
47456a:	e8 21 ae fe ff       	call   0x45f390
47456f:	83 c4 0c             	add    $0xc,%esp
474572:	e9 43 02 00 00       	jmp    0x4747ba
474577:	8b 45 a8             	mov    -0x58(%ebp),%eax
47457a:	8b 55 ac             	mov    -0x54(%ebp),%edx
47457d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474580:	50                   	push   %eax
474581:	52                   	push   %edx
474582:	56                   	push   %esi
474583:	57                   	push   %edi
474584:	e8 07 cd fe ff       	call   0x461290
474589:	50                   	push   %eax
47458a:	e8 21 ae fe ff       	call   0x45f3b0
47458f:	83 c4 0c             	add    $0xc,%esp
474592:	e9 23 02 00 00       	jmp    0x4747ba
474597:	8b 45 a8             	mov    -0x58(%ebp),%eax
47459a:	8b 55 ac             	mov    -0x54(%ebp),%edx
47459d:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4745a0:	50                   	push   %eax
4745a1:	52                   	push   %edx
4745a2:	56                   	push   %esi
4745a3:	57                   	push   %edi
4745a4:	e8 67 cd fe ff       	call   0x461310
4745a9:	50                   	push   %eax
4745aa:	e8 e1 ad fe ff       	call   0x45f390
4745af:	83 c4 0c             	add    $0xc,%esp
4745b2:	e9 03 02 00 00       	jmp    0x4747ba
4745b7:	8b 45 a8             	mov    -0x58(%ebp),%eax
4745ba:	8b 55 ac             	mov    -0x54(%ebp),%edx
4745bd:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4745c0:	50                   	push   %eax
4745c1:	52                   	push   %edx
4745c2:	56                   	push   %esi
4745c3:	57                   	push   %edi
4745c4:	e8 07 cd fe ff       	call   0x4612d0
4745c9:	50                   	push   %eax
4745ca:	e8 e1 ad fe ff       	call   0x45f3b0
4745cf:	83 c4 0c             	add    $0xc,%esp
4745d2:	e9 e3 01 00 00       	jmp    0x4747ba
4745d7:	8b 45 a8             	mov    -0x58(%ebp),%eax
4745da:	8b 55 ac             	mov    -0x54(%ebp),%edx
4745dd:	8b 4d b0             	mov    -0x50(%ebp),%ecx
4745e0:	50                   	push   %eax
4745e1:	52                   	push   %edx
4745e2:	56                   	push   %esi
4745e3:	57                   	push   %edi
4745e4:	e8 07 cd fe ff       	call   0x4612f0
4745e9:	50                   	push   %eax
4745ea:	e8 a1 ad fe ff       	call   0x45f390
4745ef:	83 c4 0c             	add    $0xc,%esp
4745f2:	e9 c3 01 00 00       	jmp    0x4747ba
4745f7:	8b 45 a8             	mov    -0x58(%ebp),%eax
4745fa:	8b 55 ac             	mov    -0x54(%ebp),%edx
4745fd:	8b 4d b0             	mov    -0x50(%ebp),%ecx
474600:	50                   	push   %eax
474601:	52                   	push   %edx
474602:	56                   	push   %esi
474603:	57                   	push   %edi
474604:	e8 47 cd fe ff       	call   0x461350
474609:	50                   	push   %eax
47460a:	e8 71 ad fe ff       	call   0x45f380
47460f:	83 c4 0c             	add    $0xc,%esp
474612:	e9 a3 01 00 00       	jmp    0x4747ba
474617:	8b 4d b0             	mov    -0x50(%ebp),%ecx
47461a:	56                   	push   %esi
47461b:	57                   	push   %edi
47461c:	e8 6f cc fe ff       	call   0x461290
474621:	8b 4e 14             	mov    0x14(%esi),%ecx
474624:	8b 55 ac             	mov    -0x54(%ebp),%edx
474627:	89 45 a4             	mov    %eax,-0x5c(%ebp)
47462a:	83 79 2c 03          	cmpl   $0x3,0x2c(%ecx)
47462e:	0f 84 3a 01 00 00    	je     0x47476e
474634:	89 45 e0             	mov    %eax,-0x20(%ebp)
474637:	8b 45 b0             	mov    -0x50(%ebp),%eax
47463a:	89 45 e8             	mov    %eax,-0x18(%ebp)
47463d:	0f b6 02             	movzbl (%edx),%eax
474640:	89 75 e4             	mov    %esi,-0x1c(%ebp)
474643:	89 7d ec             	mov    %edi,-0x14(%ebp)
474646:	89 45 ac             	mov    %eax,-0x54(%ebp)
474649:	3d 80 00 00 00       	cmp    $0x80,%eax
47464e:	73 03                	jae    0x474653
474650:	42                   	inc    %edx
474651:	eb 17                	jmp    0x47466a
474653:	50                   	push   %eax
474654:	52                   	push   %edx
474655:	8d 45 8c             	lea    -0x74(%ebp),%eax
474658:	50                   	push   %eax
474659:	e8 12 b2 fe ff       	call   0x45f870
47465e:	8b 45 90             	mov    -0x70(%ebp),%eax
474661:	83 c4 0c             	add    $0xc,%esp
474664:	8b 55 8c             	mov    -0x74(%ebp),%edx
474667:	89 45 ac             	mov    %eax,-0x54(%ebp)
47466a:	85 d2                	test   %edx,%edx
47466c:	75 09                	jne    0x474677
47466e:	33 c9                	xor    %ecx,%ecx
474670:	8b c1                	mov    %ecx,%eax
474672:	e9 43 01 00 00       	jmp    0x4747ba
474677:	8b 75 a8             	mov    -0x58(%ebp),%esi
47467a:	0f 10 45 e0          	movups -0x20(%ebp),%xmm0
47467e:	8b 4e 04             	mov    0x4(%esi),%ecx
474681:	8b f9                	mov    %ecx,%edi
474683:	2b fa                	sub    %edx,%edi
474685:	3b c7                	cmp    %edi,%eax
474687:	7e 65                	jle    0x4746ee
474689:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
474690:	83 ec 10             	sub    $0x10,%esp
474693:	8b c4                	mov    %esp,%eax
474695:	51                   	push   %ecx
474696:	52                   	push   %edx
474697:	0f 11 00             	movups %xmm0,(%eax)
47469a:	e8 11 6a ff ff       	call   0x46b0b0
47469f:	8b d0                	mov    %eax,%edx
4746a1:	83 c4 18             	add    $0x18,%esp
4746a4:	85 d2                	test   %edx,%edx
4746a6:	74 c6                	je     0x47466e
4746a8:	8b 4d ac             	mov    -0x54(%ebp),%ecx
4746ab:	8b c1                	mov    %ecx,%eax
4746ad:	2b 56 04             	sub    0x4(%esi),%edx
4746b0:	2b c7                	sub    %edi,%eax
4746b2:	89 55 a4             	mov    %edx,-0x5c(%ebp)
4746b5:	83 f8 10             	cmp    $0x10,%eax
4746b8:	7e 57                	jle    0x474711
4746ba:	8d 04 3a             	lea    (%edx,%edi,1),%eax
4746bd:	2b c8                	sub    %eax,%ecx
4746bf:	83 7e 10 10          	cmpl   $0x10,0x10(%esi)
4746c3:	89 4d ac             	mov    %ecx,-0x54(%ebp)
4746c6:	7e a6                	jle    0x47466e
4746c8:	8b ce                	mov    %esi,%ecx
4746ca:	e8 41 ab fe ff       	call   0x45f210
4746cf:	8b d0                	mov    %eax,%edx
4746d1:	85 d2                	test   %edx,%edx
4746d3:	74 99                	je     0x47466e
4746d5:	03 55 a4             	add    -0x5c(%ebp),%edx
4746d8:	8b 4e 04             	mov    0x4(%esi),%ecx
4746db:	8b f9                	mov    %ecx,%edi
4746dd:	8b 45 ac             	mov    -0x54(%ebp),%eax
4746e0:	2b fa                	sub    %edx,%edi
4746e2:	0f 10 45 e0          	movups -0x20(%ebp),%xmm0
4746e6:	3b c7                	cmp    %edi,%eax
4746e8:	7f a6                	jg     0x474690
4746ea:	0f 10 45 e0          	movups -0x20(%ebp),%xmm0
4746ee:	83 ec 10             	sub    $0x10,%esp
4746f1:	8d 34 02             	lea    (%edx,%eax,1),%esi
4746f4:	8b c4                	mov    %esp,%eax
4746f6:	56                   	push   %esi
4746f7:	52                   	push   %edx
4746f8:	0f 11 00             	movups %xmm0,(%eax)
4746fb:	e8 b0 69 ff ff       	call   0x46b0b0
474700:	33 c9                	xor    %ecx,%ecx
474702:	83 c4 18             	add    $0x18,%esp
474705:	3b f0                	cmp    %eax,%esi
474707:	0f 44 c8             	cmove  %eax,%ecx
47470a:	8b c1                	mov    %ecx,%eax
47470c:	e9 a9 00 00 00       	jmp    0x4747ba
474711:	33 c9                	xor    %ecx,%ecx
474713:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
47471a:	66 89 4d d4          	mov    %cx,-0x2c(%ebp)
47471e:	8d 7d bc             	lea    -0x44(%ebp),%edi
474721:	8b 4e 04             	mov    0x4(%esi),%ecx
474724:	0f 57 c0             	xorps  %xmm0,%xmm0
474727:	66 0f 13 45 cc       	movlpd %xmm0,-0x34(%ebp)
47472c:	03 f8                	add    %eax,%edi