489378:	66 0f d6 45 e0       	movq   %xmm0,-0x20(%ebp)
48937d:	50                   	push   %eax
48937e:	8d 49 20             	lea    0x20(%ecx),%ecx
489381:	e8 3a 19 ff ff       	call   0x47acc0
489386:	8b 47 0c             	mov    0xc(%edi),%eax
489389:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
48938d:	72 02                	jb     0x489391
48938f:	8b 00                	mov    (%eax),%eax
489391:	8b 8d 48 fc ff ff    	mov    -0x3b8(%ebp),%ecx
489397:	89 4d cc             	mov    %ecx,-0x34(%ebp)
48939a:	33 c9                	xor    %ecx,%ecx
48939c:	89 45 d0             	mov    %eax,-0x30(%ebp)
48939f:	89 8d 5c fc ff ff    	mov    %ecx,-0x3a4(%ebp)
4893a5:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
4893a8:	85 c0                	test   %eax,%eax
4893aa:	74 17                	je     0x4893c3
4893ac:	8b c8                	mov    %eax,%ecx
4893ae:	8d 51 01             	lea    0x1(%ecx),%edx
4893b1:	8a 01                	mov    (%ecx),%al
4893b3:	41                   	inc    %ecx
4893b4:	84 c0                	test   %al,%al
4893b6:	75 f9                	jne    0x4893b1
4893b8:	2b ca                	sub    %edx,%ecx
4893ba:	89 8d 5c fc ff ff    	mov    %ecx,-0x3a4(%ebp)
4893c0:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
4893c3:	f3 0f 7e 45 cc       	movq   -0x34(%ebp),%xmm0
4893c8:	8d 45 e0             	lea    -0x20(%ebp),%eax
4893cb:	50                   	push   %eax
4893cc:	8d 85 3c fc ff ff    	lea    -0x3c4(%ebp),%eax
4893d2:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4893d5:	50                   	push   %eax
4893d6:	8b 85 4c fc ff ff    	mov    -0x3b4(%ebp),%eax
4893dc:	66 0f d6 45 e0       	movq   %xmm0,-0x20(%ebp)
4893e1:	89 7d ec             	mov    %edi,-0x14(%ebp)
4893e4:	8b 48 68             	mov    0x68(%eax),%ecx
4893e7:	e8 d4 18 ff ff       	call   0x47acc0
4893ec:	80 bd 40 fc ff ff 00 	cmpb   $0x0,-0x3c0(%ebp)
4893f3:	75 44                	jne    0x489439
4893f5:	8d 45 cc             	lea    -0x34(%ebp),%eax
4893f8:	50                   	push   %eax
4893f9:	8b 85 4c fc ff ff    	mov    -0x3b4(%ebp),%eax
4893ff:	ff 70 68             	push   0x68(%eax)
489402:	e8 59 f3 fe ff       	call   0x478760
489407:	8b 8d 5c fc ff ff    	mov    -0x3a4(%ebp),%ecx
48940d:	83 c4 08             	add    $0x8,%esp
489410:	f3 0f 7e 45 cc       	movq   -0x34(%ebp),%xmm0
489415:	89 4d e8             	mov    %ecx,-0x18(%ebp)
489418:	8b 8d 4c fc ff ff    	mov    -0x3b4(%ebp),%ecx
48941e:	89 45 ec             	mov    %eax,-0x14(%ebp)
489421:	8d 45 e0             	lea    -0x20(%ebp),%eax
489424:	50                   	push   %eax
489425:	8d 85 3c fc ff ff    	lea    -0x3c4(%ebp),%eax
48942b:	66 0f d6 45 e0       	movq   %xmm0,-0x20(%ebp)
489430:	50                   	push   %eax
489431:	8d 49 48             	lea    0x48(%ecx),%ecx
489434:	e8 87 18 ff ff       	call   0x47acc0
489439:	8b 46 08             	mov    0x8(%esi),%eax
48943c:	d1 e8                	shr    $1,%eax
48943e:	24 01                	and    $0x1,%al
489440:	0f 84 5b 03 00 00    	je     0x4897a1
489446:	8b 46 14             	mov    0x14(%esi),%eax
489449:	8b 8d 64 fc ff ff    	mov    -0x39c(%ebp),%ecx
48944f:	83 e0 fe             	and    $0xfffffffe,%eax
489452:	6a 01                	push   $0x1
489454:	6a 00                	push   $0x0
489456:	ff 77 04             	push   0x4(%edi)
489459:	89 85 48 fc ff ff    	mov    %eax,-0x3b8(%ebp)
48945f:	50                   	push   %eax
489460:	8d 85 58 fc ff ff    	lea    -0x3a8(%ebp),%eax
489466:	50                   	push   %eax
489467:	e8 64 ba 00 00       	call   0x494ed0
48946c:	8b 8d 58 fc ff ff    	mov    -0x3a8(%ebp),%ecx
489472:	85 c9                	test   %ecx,%ecx
489474:	0f 85 80 00 00 00    	jne    0x4894fa
48947a:	8b 8d 64 fc ff ff    	mov    -0x39c(%ebp),%ecx
489480:	8b 01                	mov    (%ecx),%eax
489482:	80 78 16 00          	cmpb   $0x0,0x16(%eax)
489486:	74 5b                	je     0x4894e3
489488:	8b 85 48 fc ff ff    	mov    -0x3b8(%ebp),%eax
48948e:	8b d0                	mov    %eax,%edx
489490:	6a 02                	push   $0x2
489492:	83 ec 08             	sub    $0x8,%esp
489495:	89 a5 5c fc ff ff    	mov    %esp,-0x3a4(%ebp)
48949b:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
48949f:	72 02                	jb     0x4894a3
4894a1:	8b 10                	mov    (%eax),%edx
4894a3:	8b b5 5c fc ff ff    	mov    -0x3a4(%ebp),%esi
4894a9:	89 16                	mov    %edx,(%esi)
4894ab:	8b d6                	mov    %esi,%edx
4894ad:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
4894b4:	8b 40 10             	mov    0x10(%eax),%eax
4894b7:	89 42 04             	mov    %eax,0x4(%edx)
4894ba:	8d 85 3c fc ff ff    	lea    -0x3c4(%ebp),%eax
4894c0:	8b 09                	mov    (%ecx),%ecx
4894c2:	50                   	push   %eax
4894c3:	e8 48 c6 00 00       	call   0x495b10
4894c8:	8b b5 54 fc ff ff    	mov    -0x3ac(%ebp),%esi
4894ce:	8b 08                	mov    (%eax),%ecx
4894d0:	8b 40 04             	mov    0x4(%eax),%eax
4894d3:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
4894d9:	85 c9                	test   %ecx,%ecx
4894db:	75 29                	jne    0x489506
4894dd:	8b 8d 64 fc ff ff    	mov    -0x39c(%ebp),%ecx
4894e3:	8b 46 14             	mov    0x14(%esi),%eax
4894e6:	83 e0 fe             	and    $0xfffffffe,%eax
4894e9:	50                   	push   %eax
4894ea:	6a 03                	push   $0x3
4894ec:	56                   	push   %esi
4894ed:	ff 77 04             	push   0x4(%edi)
4894f0:	e8 1b 59 ff ff       	call   0x47ee10
4894f5:	e9 83 0e 00 00       	jmp    0x48a37d
4894fa:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
489500:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
489506:	83 f9 01             	cmp    $0x1,%ecx
489509:	0f 84 ef 00 00 00    	je     0x4895fe
48950f:	8b 4e 14             	mov    0x14(%esi),%ecx
489512:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
489517:	83 e1 fe             	and    $0xfffffffe,%ecx
48951a:	8b 51 10             	mov    0x10(%ecx),%edx
48951d:	2b c2                	sub    %edx,%eax
48951f:	83 f8 01             	cmp    $0x1,%eax
489522:	0f 82 72 0e 00 00    	jb     0x48a39a
489528:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
48952c:	8b c1                	mov    %ecx,%eax
48952e:	72 02                	jb     0x489532
489530:	8b 01                	mov    (%ecx),%eax
489532:	52                   	push   %edx
489533:	50                   	push   %eax
489534:	6a 01                	push   $0x1
489536:	68 58 81 60 00       	push   $0x608158
48953b:	51                   	push   %ecx
48953c:	ff b5 5c fc ff ff    	push   -0x3a4(%ebp)
489542:	8d 4d c0             	lea    -0x40(%ebp),%ecx
489545:	e8 36 26 ff ff       	call   0x47bb80
48954a:	6a 18                	push   $0x18
48954c:	68 68 90 60 00       	push   $0x609068
489551:	8d 4d c0             	lea    -0x40(%ebp),%ecx
489554:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
48955b:	e8 20 f9 fc ff       	call   0x458e80
489560:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
489567:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
48956e:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
489575:	0f 10 00             	movups (%eax),%xmm0
489578:	0f 11 45 d8          	movups %xmm0,-0x28(%ebp)
48957c:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
489581:	66 0f d6 45 e8       	movq   %xmm0,-0x18(%ebp)
489586:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
48958d:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
489594:	c6 00 00             	movb   $0x0,(%eax)
489597:	8b 8d 64 fc ff ff    	mov    -0x39c(%ebp),%ecx
48959d:	8d 45 d8             	lea    -0x28(%ebp),%eax
4895a0:	50                   	push   %eax
4895a1:	6a 03                	push   $0x3
4895a3:	56                   	push   %esi
4895a4:	ff 77 04             	push   0x4(%edi)
4895a7:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4895ab:	e8 00 52 ff ff       	call   0x47e7b0
4895b0:	8b 55 ec             	mov    -0x14(%ebp),%edx
4895b3:	83 fa 10             	cmp    $0x10,%edx
4895b6:	72 2c                	jb     0x4895e4
4895b8:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4895bb:	42                   	inc    %edx
4895bc:	8b c1                	mov    %ecx,%eax
4895be:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4895c4:	72 14                	jb     0x4895da
4895c6:	8b 49 fc             	mov    -0x4(%ecx),%ecx
4895c9:	83 c2 23             	add    $0x23,%edx
4895cc:	2b c1                	sub    %ecx,%eax
4895ce:	83 c0 fc             	add    $0xfffffffc,%eax
4895d1:	83 f8 1f             	cmp    $0x1f,%eax
4895d4:	0f 87 c5 0d 00 00    	ja     0x48a39f
4895da:	52                   	push   %edx
4895db:	51                   	push   %ecx
4895dc:	e8 74 7c 14 00       	call   0x5d1255
4895e1:	83 c4 08             	add    $0x8,%esp
4895e4:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4895eb:	8d 4d c0             	lea    -0x40(%ebp),%ecx
4895ee:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
4895f5:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
4895f9:	e9 7a 0d 00 00       	jmp    0x48a378
4895fe:	8b 57 28             	mov    0x28(%edi),%edx
489601:	33 c9                	xor    %ecx,%ecx
489603:	89 47 30             	mov    %eax,0x30(%edi)
489606:	39 48 48             	cmp    %ecx,0x48(%eax)
489609:	7e 27                	jle    0x489632
48960b:	8b 40 24             	mov    0x24(%eax),%eax
48960e:	66 90                	xchg   %ax,%ax
489610:	3b 10                	cmp    (%eax),%edx
489612:	7c 09                	jl     0x48961d
489614:	3b 50 04             	cmp    0x4(%eax),%edx
489617:	0f 8c 84 01 00 00    	jl     0x4897a1
48961d:	8b b5 5c fc ff ff    	mov    -0x3a4(%ebp),%esi
489623:	41                   	inc    %ecx
489624:	83 c0 0c             	add    $0xc,%eax
489627:	3b 4e 48             	cmp    0x48(%esi),%ecx
48962a:	8b b5 54 fc ff ff    	mov    -0x3ac(%ebp),%esi
489630:	7c de                	jl     0x489610
489632:	8b 85 64 fc ff ff    	mov    -0x39c(%ebp),%eax
489638:	8b 00                	mov    (%eax),%eax
48963a:	80 78 16 00          	cmpb   $0x0,0x16(%eax)
48963e:	74 2e                	je     0x48966e
489640:	8b 46 14             	mov    0x14(%esi),%eax
489643:	83 e0 fe             	and    $0xfffffffe,%eax
489646:	8b c8                	mov    %eax,%ecx
489648:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
48964c:	72 02                	jb     0x489650
48964e:	8b 08                	mov    (%eax),%ecx
489650:	6a 21                	push   $0x21
489652:	68 84 90 60 00       	push   $0x609084
489657:	ff 70 10             	push   0x10(%eax)
48965a:	51                   	push   %ecx
48965b:	e8 d0 0e ff ff       	call   0x47a530
489660:	83 c4 10             	add    $0x10,%esp
489663:	84 c0                	test   %al,%al
489665:	0f 85 36 01 00 00    	jne    0x4897a1
48966b:	8b 57 28             	mov    0x28(%edi),%edx
48966e:	52                   	push   %edx
48966f:	8d 8d b8 fc ff ff    	lea    -0x348(%ebp),%ecx
489675:	e8 66 2f ff ff       	call   0x47c5e0
48967a:	8b 47 30             	mov    0x30(%edi),%eax
48967d:	8d 8d 90 fc ff ff    	lea    -0x370(%ebp),%ecx
489683:	ff 70 04             	push   0x4(%eax)
489686:	e8 35 2f ff ff       	call   0x47c5c0
48968b:	8d 85 10 ff ff ff    	lea    -0xf0(%ebp),%eax
489691:	c7 85 10 ff ff ff 00 	movl   $0x0,-0xf0(%ebp)
489698:	00 00 00
48969b:	50                   	push   %eax
48969c:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
4896a2:	c7 85 14 ff ff ff ff 	movl   $0xffffffff,-0xec(%ebp)
4896a9:	ff ff ff
4896ac:	50                   	push   %eax
4896ad:	8d 45 b0             	lea    -0x50(%ebp),%eax
4896b0:	c7 85 38 ff ff ff 00 	movl   $0x0,-0xc8(%ebp)
4896b7:	00 00 00
4896ba:	50                   	push   %eax
4896bb:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
4896c1:	c7 85 3c ff ff ff ff 	movl   $0xffffffff,-0xc4(%ebp)
4896c8:	ff ff ff
4896cb:	50                   	push   %eax
4896cc:	8d 85 c0 fe ff ff    	lea    -0x140(%ebp),%eax
4896d2:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
4896d9:	50                   	push   %eax
4896da:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
4896e0:	c7 45 b4 ff ff ff ff 	movl   $0xffffffff,-0x4c(%ebp)
4896e7:	50                   	push   %eax
4896e8:	8d 85 70 fe ff ff    	lea    -0x190(%ebp),%eax
4896ee:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
4896f5:	00 00 00
4896f8:	50                   	push   %eax
4896f9:	8d 85 48 fe ff ff    	lea    -0x1b8(%ebp),%eax
4896ff:	c7 85 ec fe ff ff ff 	movl   $0xffffffff,-0x114(%ebp)
489706:	ff ff ff
489709:	50                   	push   %eax
48970a:	8d 85 b8 fc ff ff    	lea    -0x348(%ebp),%eax
489710:	c7 85 c0 fe ff ff 00 	movl   $0x0,-0x140(%ebp)
489717:	00 00 00
48971a:	50                   	push   %eax
48971b:	8d 85 90 fc ff ff    	lea    -0x370(%ebp),%eax
489721:	c7 85 c4 fe ff ff ff 	movl   $0xffffffff,-0x13c(%ebp)
489728:	ff ff ff
48972b:	50                   	push   %eax
48972c:	8d 45 d8             	lea    -0x28(%ebp),%eax
48972f:	c7 85 98 fe ff ff 00 	movl   $0x0,-0x168(%ebp)
489736:	00 00 00
489739:	68 a8 90 60 00       	push   $0x6090a8
48973e:	50                   	push   %eax
48973f:	c7 85 9c fe ff ff ff 	movl   $0xffffffff,-0x164(%ebp)
489746:	ff ff ff
489749:	c7 85 70 fe ff ff 00 	movl   $0x0,-0x190(%ebp)
489750:	00 00 00
489753:	c7 85 74 fe ff ff ff 	movl   $0xffffffff,-0x18c(%ebp)
48975a:	ff ff ff
48975d:	c7 85 48 fe ff ff 00 	movl   $0x0,-0x1b8(%ebp)
489764:	00 00 00
489767:	c7 85 4c fe ff ff ff 	movl   $0xffffffff,-0x1b4(%ebp)
48976e:	ff ff ff
489771:	e8 5a c0 04 00       	call   0x4d57d0
489776:	83 c4 30             	add    $0x30,%esp
489779:	8b 8d 64 fc ff ff    	mov    -0x39c(%ebp),%ecx
48977f:	50                   	push   %eax
489780:	6a 01                	push   $0x1
489782:	56                   	push   %esi
489783:	ff 77 04             	push   0x4(%edi)
489786:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
48978d:	e8 1e 50 ff ff       	call   0x47e7b0
489792:	8d 4d d8             	lea    -0x28(%ebp),%ecx
489795:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
48979c:	e8 ff d2 fc ff       	call   0x456aa0
4897a1:	83 7f 34 00          	cmpl   $0x0,0x34(%edi)
4897a5:	74 1c                	je     0x4897c3
4897a7:	83 7f 20 01          	cmpl   $0x1,0x20(%edi)
4897ab:	74 16                	je     0x4897c3
4897ad:	8b 8d 64 fc ff ff    	mov    -0x39c(%ebp),%ecx
4897b3:	68 dc 90 60 00       	push   $0x6090dc
4897b8:	6a 00                	push   $0x0
4897ba:	56                   	push   %esi
4897bb:	ff 77 04             	push   0x4(%edi)
4897be:	e8 1d 51 ff ff       	call   0x47e8e0
4897c3:	8b 4e 08             	mov    0x8(%esi),%ecx
4897c6:	8b c1                	mov    %ecx,%eax
4897c8:	c1 e8 02             	shr    $0x2,%eax
4897cb:	24 01                	and    $0x1,%al
4897cd:	0f 84 0c 05 00 00    	je     0x489cdf
4897d3:	83 7e 38 0e          	cmpl   $0xe,0x38(%esi)
4897d7:	74 12                	je     0x4897eb
4897d9:	c1 e9 03             	shr    $0x3,%ecx
4897dc:	c7 85 5c fc ff ff 00 	movl   $0x0,-0x3a4(%ebp)
4897e3:	00 00 00
4897e6:	80 e1 01             	and    $0x1,%cl
4897e9:	74 0a                	je     0x4897f5
4897eb:	c7 85 5c fc ff ff 01 	movl   $0x1,-0x3a4(%ebp)
4897f2:	00 00 00
4897f5:	8b 95 64 fc ff ff    	mov    -0x39c(%ebp),%edx
4897fb:	8b 02                	mov    (%edx),%eax
4897fd:	80 78 17 00          	cmpb   $0x0,0x17(%eax)
489801:	75 17                	jne    0x48981a
489803:	8b 46 24             	mov    0x24(%esi),%eax
489806:	b9 94 d8 68 00       	mov    $0x68d894,%ecx
48980b:	85 c0                	test   %eax,%eax
48980d:	0f 45 c8             	cmovne %eax,%ecx
489810:	80 79 37 00          	cmpb   $0x0,0x37(%ecx)
489814:	74 04                	je     0x48981a
489816:	b0 01                	mov    $0x1,%al
489818:	eb 02                	jmp    0x48981c
48981a:	32 c0                	xor    %al,%al
48981c:	8b 0a                	mov    (%edx),%ecx
48981e:	88 85 63 fc ff ff    	mov    %al,-0x39d(%ebp)
489824:	80 79 15 00          	cmpb   $0x0,0x15(%ecx)
489828:	74 08                	je     0x489832
48982a:	84 c0                	test   %al,%al
48982c:	75 04                	jne    0x489832
48982e:	b0 01                	mov    $0x1,%al
489830:	eb 02                	jmp    0x489834
489832:	32 c0                	xor    %al,%al
489834:	88 85 53 fc ff ff    	mov    %al,-0x3ad(%ebp)
48983a:	8b ca                	mov    %edx,%ecx
48983c:	34 01                	xor    $0x1,%al
48983e:	0f b6 c0             	movzbl %al,%eax
489841:	50                   	push   %eax
489842:	8b 46 18             	mov    0x18(%esi),%eax
489845:	6a 01                	push   $0x1
489847:	ff b5 5c fc ff ff    	push   -0x3a4(%ebp)
48984d:	83 e0 fe             	and    $0xfffffffe,%eax
489850:	ff 77 04             	push   0x4(%edi)
489853:	50                   	push   %eax
489854:	8d 85 58 fc ff ff    	lea    -0x3a8(%ebp),%eax
48985a:	50                   	push   %eax
48985b:	e8 00 b6 00 00       	call   0x494e60
489860:	8b 8d 58 fc ff ff    	mov    -0x3a8(%ebp),%ecx
489866:	89 8d 4c fc ff ff    	mov    %ecx,-0x3b4(%ebp)