548230:	03 c9                	add    %ecx,%ecx
548232:	ff 74 c8 04          	push   0x4(%eax,%ecx,8)
548236:	e8 b5 45 fd ff       	call   0x51c7f0
54823b:	83 c4 0c             	add    $0xc,%esp
54823e:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
548244:	85 c0                	test   %eax,%eax
548246:	0f 84 1a a9 ff ff    	je     0x542b66
54824c:	3c 06                	cmp    $0x6,%al
54824e:	0f 85 aa 0c 00 00    	jne    0x548efe
548254:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
54825a:	ff 70 10             	push   0x10(%eax)
54825d:	68 cc 8a 6b 00       	push   $0x6b8acc
548262:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
548268:	e8 43 a5 ff ff       	call   0x5427b0
54826d:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
548273:	83 c4 0c             	add    $0xc,%esp
548276:	e9 83 0c 00 00       	jmp    0x548efe
54827b:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
548281:	8b 72 10             	mov    0x10(%edx),%esi
548284:	56                   	push   %esi
548285:	57                   	push   %edi
548286:	e8 d5 5b 00 00       	call   0x54de60
54828b:	83 c4 08             	add    $0x8,%esp
54828e:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
548294:	85 f6                	test   %esi,%esi
548296:	0f 84 6d b6 ff ff    	je     0x543909
54829c:	ff 76 08             	push   0x8(%esi)
54829f:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
5482a5:	e8 76 65 00 00       	call   0x54e820
5482aa:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
5482b0:	83 c4 08             	add    $0x8,%esp
5482b3:	e9 51 b6 ff ff       	jmp    0x543909
5482b8:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
5482be:	0f 57 c0             	xorps  %xmm0,%xmm0
5482c1:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
5482c7:	66 0f d6 85 e8 fe ff 	movq   %xmm0,-0x118(%ebp)
5482ce:	ff
5482cf:	0f 11 85 c8 fe ff ff 	movups %xmm0,-0x138(%ebp)
5482d6:	8b 42 08             	mov    0x8(%edx),%eax
5482d9:	0f 11 85 d8 fe ff ff 	movups %xmm0,-0x128(%ebp)
5482e0:	89 bd e8 fe ff ff    	mov    %edi,-0x118(%ebp)
5482e6:	8d 04 80             	lea    (%eax,%eax,4),%eax
5482e9:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
5482ec:	50                   	push   %eax
5482ed:	8d 85 c8 fe ff ff    	lea    -0x138(%ebp),%eax
5482f3:	50                   	push   %eax
5482f4:	e8 17 30 00 00       	call   0x54b310
5482f9:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
5482ff:	8d 85 c8 fe ff ff    	lea    -0x138(%ebp),%eax
548305:	50                   	push   %eax
548306:	e8 35 a3 f9 ff       	call   0x4e2640
54830b:	83 c4 0c             	add    $0xc,%esp
54830e:	85 c0                	test   %eax,%eax
548310:	74 23                	je     0x548335
548312:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
548318:	83 c1 7c             	add    $0x7c,%ecx
54831b:	51                   	push   %ecx
54831c:	50                   	push   %eax
54831d:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
548323:	ff 70 04             	push   0x4(%eax)
548326:	57                   	push   %edi
548327:	e8 e4 5d 00 00       	call   0x54e110
54832c:	83 c4 10             	add    $0x10,%esp
54832f:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
548335:	8d 85 c8 fe ff ff    	lea    -0x138(%ebp),%eax
54833b:	50                   	push   %eax
54833c:	e8 2f 36 00 00       	call   0x54b970
548341:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
548347:	83 c4 04             	add    $0x4,%esp
54834a:	e9 ba b5 ff ff       	jmp    0x543909
54834f:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
548355:	ff 87 c0 00 00 00    	incl   0xc0(%edi)
54835b:	ff 72 10             	push   0x10(%edx)
54835e:	ff 72 04             	push   0x4(%edx)
548361:	57                   	push   %edi
548362:	e8 89 5e 00 00       	call   0x54e1f0
548367:	83 c4 0c             	add    $0xc,%esp
54836a:	ff 8f c0 00 00 00    	decl   0xc0(%edi)
548370:	e9 8e b5 ff ff       	jmp    0x543903
548375:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
54837b:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
548382:	8b 42 10             	mov    0x10(%edx),%eax
548385:	8b 70 08             	mov    0x8(%eax),%esi
548388:	85 f6                	test   %esi,%esi
54838a:	0f 84 b1 0c 00 00    	je     0x549041
548390:	8b 1e                	mov    (%esi),%ebx
548392:	85 db                	test   %ebx,%ebx
548394:	0f 84 a7 0c 00 00    	je     0x549041
54839a:	8d 45 a8             	lea    -0x58(%ebp),%eax
54839d:	50                   	push   %eax
54839e:	8b 43 18             	mov    0x18(%ebx),%eax
5483a1:	56                   	push   %esi
5483a2:	ff d0                	call   *%eax
5483a4:	56                   	push   %esi
5483a5:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
5483ab:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
5483b1:	e8 6a 64 00 00       	call   0x54e820
5483b6:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
5483bc:	83 c4 10             	add    $0x10,%esp
5483bf:	85 c0                	test   %eax,%eax
5483c1:	0f 85 37 0b 00 00    	jne    0x548efe
5483c7:	8b 45 a8             	mov    -0x58(%ebp),%eax
5483ca:	6a 02                	push   $0x2
5483cc:	6a ff                	push   $0xffffffff
5483ce:	6a 00                	push   $0x0
5483d0:	89 30                	mov    %esi,(%eax)
5483d2:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
5483d8:	ff 70 04             	push   0x4(%eax)
5483db:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
5483e1:	e8 6a a5 fa ff       	call   0x4f2950
5483e6:	83 c4 14             	add    $0x14,%esp
5483e9:	85 c0                	test   %eax,%eax
5483eb:	0f 84 d8 0b 00 00    	je     0x548fc9
5483f1:	8b 4d a8             	mov    -0x58(%ebp),%ecx
5483f4:	89 48 28             	mov    %ecx,0x28(%eax)
5483f7:	ff 46 04             	incl   0x4(%esi)
5483fa:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
548400:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
548406:	83 c6 14             	add    $0x14,%esi
548409:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
54840f:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
548415:	e9 9a a4 ff ff       	jmp    0x5428b4
54841a:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
548420:	8b 9d 8c fe ff ff    	mov    -0x174(%ebp),%ebx
548426:	83 c3 28             	add    $0x28,%ebx
548429:	8b 42 0c             	mov    0xc(%edx),%eax
54842c:	8d 14 80             	lea    (%eax,%eax,4),%edx
54842f:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
548435:	8b 34 d3             	mov    (%ebx,%edx,8),%esi
548438:	8d 1c d3             	lea    (%ebx,%edx,8),%ebx
54843b:	66 0f 6e c3          	movd   %ebx,%xmm0
54843f:	89 9d 78 fe ff ff    	mov    %ebx,-0x188(%ebp)
548445:	8b 48 04             	mov    0x4(%eax),%ecx
548448:	8b 85 9c fe ff ff    	mov    -0x164(%ebp),%eax
54844e:	66 0f 70 d8 00       	pshufd $0x0,%xmm0,%xmm3
548453:	8b 40 60             	mov    0x60(%eax),%eax
548456:	8b 04 88             	mov    (%eax,%ecx,4),%eax
548459:	33 c9                	xor    %ecx,%ecx
54845b:	89 85 40 fe ff ff    	mov    %eax,-0x1c0(%ebp)
548461:	8b 40 28             	mov    0x28(%eax),%eax
548464:	89 85 88 fe ff ff    	mov    %eax,-0x178(%ebp)
54846a:	8b 00                	mov    (%eax),%eax
54846c:	89 85 48 fe ff ff    	mov    %eax,-0x1b8(%ebp)
548472:	8b 00                	mov    (%eax),%eax
548474:	89 85 5c fe ff ff    	mov    %eax,-0x1a4(%ebp)
54847a:	8b 85 8c fe ff ff    	mov    -0x174(%ebp),%eax
548480:	8b 04 d0             	mov    (%eax,%edx,8),%eax
548483:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
548489:	8b 85 9c fe ff ff    	mov    -0x164(%ebp),%eax
54848f:	8b 50 5c             	mov    0x5c(%eax),%edx
548492:	85 f6                	test   %esi,%esi
548494:	0f 8e a1 00 00 00    	jle    0x54853b
54849a:	83 fe 08             	cmp    $0x8,%esi
54849d:	72 7e                	jb     0x54851d
54849f:	83 3d c0 0b 73 00 02 	cmpl   $0x2,0x730bc0
5484a6:	7c 75                	jl     0x54851d
5484a8:	0f 28 15 70 c6 6b 00 	movaps 0x6bc670,%xmm2
5484af:	8b c6                	mov    %esi,%eax
5484b1:	25 07 00 00 80       	and    $0x80000007,%eax
5484b6:	79 05                	jns    0x5484bd
5484b8:	48                   	dec    %eax
5484b9:	83 c8 f8             	or     $0xfffffff8,%eax
5484bc:	40                   	inc    %eax
5484bd:	0f 28 0d 80 c6 6b 00 	movaps 0x6bc680,%xmm1
5484c4:	8b de                	mov    %esi,%ebx
5484c6:	2b d8                	sub    %eax,%ebx
5484c8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
5484cf:	00
5484d0:	66 0f 6e c1          	movd   %ecx,%xmm0
5484d4:	8d 41 04             	lea    0x4(%ecx),%eax
5484d7:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
5484dc:	66 0f fe c2          	paddd  %xmm2,%xmm0
5484e0:	66 0f 38 40 c1       	pmulld %xmm1,%xmm0
5484e5:	66 0f fe c3          	paddd  %xmm3,%xmm0
5484e9:	66 0f fe c1          	paddd  %xmm1,%xmm0
5484ed:	0f 11 04 8a          	movups %xmm0,(%edx,%ecx,4)
5484f1:	66 0f 6e c0          	movd   %eax,%xmm0
5484f5:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
5484fa:	66 0f fe c2          	paddd  %xmm2,%xmm0
5484fe:	66 0f 38 40 c1       	pmulld %xmm1,%xmm0
548503:	66 0f fe c3          	paddd  %xmm3,%xmm0
548507:	66 0f fe c1          	paddd  %xmm1,%xmm0
54850b:	0f 11 44 8a 10       	movups %xmm0,0x10(%edx,%ecx,4)
548510:	83 c1 08             	add    $0x8,%ecx
548513:	3b cb                	cmp    %ebx,%ecx
548515:	7c b9                	jl     0x5484d0
548517:	8b 9d 78 fe ff ff    	mov    -0x188(%ebp),%ebx
54851d:	3b ce                	cmp    %esi,%ecx
54851f:	7d 1a                	jge    0x54853b
548521:	8d 41 01             	lea    0x1(%ecx),%eax
548524:	8d 04 80             	lea    (%eax,%eax,4),%eax
548527:	8d 04 c3             	lea    (%ebx,%eax,8),%eax
54852a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
548530:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
548533:	41                   	inc    %ecx
548534:	83 c0 28             	add    $0x28,%eax
548537:	3b ce                	cmp    %esi,%ecx
548539:	7c f5                	jl     0x548530
54853b:	8b 85 98 fe ff ff    	mov    -0x168(%ebp),%eax
548541:	8b 9d 5c fe ff ff    	mov    -0x1a4(%ebp),%ebx
548547:	52                   	push   %edx
548548:	56                   	push   %esi
548549:	ff 70 10             	push   0x10(%eax)
54854c:	8b b5 88 fe ff ff    	mov    -0x178(%ebp),%esi
548552:	ff b5 70 fe ff ff    	push   -0x190(%ebp)
548558:	8b 43 20             	mov    0x20(%ebx),%eax
54855b:	56                   	push   %esi
54855c:	ff d0                	call   *%eax
54855e:	ff b5 48 fe ff ff    	push   -0x1b8(%ebp)
548564:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
54856a:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
548570:	e8 ab 62 00 00       	call   0x54e820
548575:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
54857b:	83 c4 1c             	add    $0x1c,%esp
54857e:	85 c0                	test   %eax,%eax
548580:	0f 85 78 09 00 00    	jne    0x548efe
548586:	8b 43 28             	mov    0x28(%ebx),%eax
548589:	56                   	push   %esi
54858a:	ff d0                	call   *%eax
54858c:	8b 8d 40 fe ff ff    	mov    -0x1c0(%ebp),%ecx
548592:	83 c4 04             	add    $0x4,%esp
548595:	c6 41 02 00          	movb   $0x0,0x2(%ecx)
548599:	85 c0                	test   %eax,%eax
54859b:	0f 84 c5 a5 ff ff    	je     0x542b66
5485a1:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
5485a7:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5485ad:	e9 70 a3 ff ff       	jmp    0x542922
5485b2:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
5485b8:	8b 85 9c fe ff ff    	mov    -0x164(%ebp),%eax
5485be:	8b 4a 04             	mov    0x4(%edx),%ecx
5485c1:	8b 40 60             	mov    0x60(%eax),%eax
5485c4:	8b 1c 88             	mov    (%eax,%ecx,4),%ebx
5485c7:	8b 42 0c             	mov    0xc(%edx),%eax
5485ca:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
5485d0:	80 7b 02 00          	cmpb   $0x0,0x2(%ebx)
5485d4:	8d 04 80             	lea    (%eax,%eax,4),%eax
5485d7:	8d 34 c1             	lea    (%ecx,%eax,8),%esi
5485da:	74 29                	je     0x548605
5485dc:	56                   	push   %esi
5485dd:	e8 6e 34 00 00       	call   0x54ba50
5485e2:	83 c4 04             	add    $0x4,%esp
5485e5:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
5485eb:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
5485f1:	83 c6 14             	add    $0x14,%esi
5485f4:	8b bd 4c fe ff ff    	mov    -0x1b4(%ebp),%edi
5485fa:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
548600:	e9 af a2 ff ff       	jmp    0x5428b4
548605:	f6 42 02 01          	testb  $0x1,0x2(%edx)
548609:	0f 57 c0             	xorps  %xmm0,%xmm0
54860c:	8b 43 28             	mov    0x28(%ebx),%eax
54860f:	8b 00                	mov    (%eax),%eax
548611:	89 85 70 fe ff ff    	mov    %eax,-0x190(%ebp)
548617:	8b 00                	mov    (%eax),%eax
548619:	0f 11 85 18 ff ff ff 	movups %xmm0,-0xe8(%ebp)
548620:	89 85 78 fe ff ff    	mov    %eax,-0x188(%ebp)
548626:	0f 11 85 28 ff ff ff 	movups %xmm0,-0xd8(%ebp)
54862d:	89 b5 18 ff ff ff    	mov    %esi,-0xe8(%ebp)
548633:	74 1c                	je     0x548651
548635:	56                   	push   %esi
548636:	e8 15 34 00 00       	call   0x54ba50
54863b:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
548641:	83 c4 04             	add    $0x4,%esp
548644:	b8 01 40 00 00       	mov    $0x4001,%eax
548649:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
54864f:	eb 10                	jmp    0x548661
548651:	66 8b 46 08          	mov    0x8(%esi),%ax
548655:	b9 40 3e 00 00       	mov    $0x3e40,%ecx
54865a:	66 23 c1             	and    %cx,%ax
54865d:	66 83 c8 01          	or     $0x1,%ax
548661:	66 89 46 08          	mov    %ax,0x8(%esi)
548665:	8d 85 18 ff ff ff    	lea    -0xe8(%ebp),%eax
54866b:	ff 72 08             	push   0x8(%edx)
54866e:	50                   	push   %eax
54866f:	8b 85 78 fe ff ff    	mov    -0x188(%ebp),%eax
548675:	ff 73 28             	push   0x28(%ebx)
548678:	8b 40 2c             	mov    0x2c(%eax),%eax
54867b:	ff d0                	call   *%eax
54867d:	ff b5 70 fe ff ff    	push   -0x190(%ebp)
548683:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
548689:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
54868f:	e8 8c 61 00 00       	call   0x54e820
548694:	83 c4 14             	add    $0x14,%esp
548697:	83 bd 2c ff ff ff 00 	cmpl   $0x0,-0xd4(%ebp)
54869e:	7e 26                	jle    0x5486c6
5486a0:	56                   	push   %esi
5486a1:	e8 9a 9f f9 ff       	call   0x4e2640
5486a6:	50                   	push   %eax
5486a7:	68 04 d0 6a 00       	push   $0x6ad004
5486ac:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
5486b2:	e8 f9 a0 ff ff       	call   0x5427b0
5486b7:	8b 85 2c ff ff ff    	mov    -0xd4(%ebp),%eax
5486bd:	83 c4 10             	add    $0x10,%esp
5486c0:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
5486c6:	0f b6 85 60 fe ff ff 	movzbl -0x1a0(%ebp),%eax
5486cd:	50                   	push   %eax
5486ce:	56                   	push   %esi
5486cf:	e8 ec 97 ff ff       	call   0x541ec0
5486d4:	56                   	push   %esi
5486d5:	e8 36 37 00 00       	call   0x54be10
5486da:	83 c4 0c             	add    $0xc,%esp
5486dd:	85 c0                	test   %eax,%eax
5486df:	0f 85 6b f7 ff ff    	jne    0x547e50
5486e5:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
5486eb:	e9 19 b2 ff ff       	jmp    0x543909
5486f0:	8b 9d 98 fe ff ff    	mov    -0x168(%ebp),%ebx
5486f6:	8b 85 9c fe ff ff    	mov    -0x164(%ebp),%eax
5486fc:	8b 4b 04             	mov    0x4(%ebx),%ecx
5486ff:	8b 40 60             	mov    0x60(%eax),%eax
548702:	8b 1c 88             	mov    (%eax,%ecx,4),%ebx
548705:	80 7b 02 00          	cmpb   $0x0,0x2(%ebx)
548709:	0f 85 57 a4 ff ff    	jne    0x542b66
54870f:	8b 43 28             	mov    0x28(%ebx),%eax
548712:	50                   	push   %eax
548713:	8b 30                	mov    (%eax),%esi
548715:	8b 0e                	mov    (%esi),%ecx
548717:	89 8d 78 fe ff ff    	mov    %ecx,-0x188(%ebp)
54871d:	8b 41 24             	mov    0x24(%ecx),%eax
548720:	ff d0                	call   *%eax
548722:	56                   	push   %esi
548723:	ff b5 9c fe ff ff    	push   -0x164(%ebp)
548729:	89 85 94 fe ff ff    	mov    %eax,-0x16c(%ebp)
54872f:	e8 ec 60 00 00       	call   0x54e820
548734:	8b 85 94 fe ff ff    	mov    -0x16c(%ebp),%eax
54873a:	83 c4 0c             	add    $0xc,%esp
54873d:	85 c0                	test   %eax,%eax
54873f:	0f 85 b9 07 00 00    	jne    0x548efe
548745:	8b 85 78 fe ff ff    	mov    -0x188(%ebp),%eax
54874b:	ff 73 28             	push   0x28(%ebx)
54874e:	8b 40 28             	mov    0x28(%eax),%eax
548751:	ff d0                	call   *%eax
548753:	83 c4 04             	add    $0x4,%esp
548756:	85 c0                	test   %eax,%eax
548758:	0f 85 a1 c7 ff ff    	jne    0x544eff
54875e:	8b 8d 9c fe ff ff    	mov    -0x164(%ebp),%ecx
548764:	8b b5 98 fe ff ff    	mov    -0x168(%ebp),%esi
54876a:	8b 76 08             	mov    0x8(%esi),%esi
54876d:	8b 95 64 fe ff ff    	mov    -0x19c(%ebp),%edx
548773:	4e                   	dec    %esi
548774:	8d 34 b6             	lea    (%esi,%esi,4),%esi
548777:	8d 34 b2             	lea    (%edx,%esi,4),%esi
54877a:	89 b5 98 fe ff ff    	mov    %esi,-0x168(%ebp)
548780:	e9 86 c7 ff ff       	jmp    0x544f0b
548785:	8b 95 98 fe ff ff    	mov    -0x168(%ebp),%edx
54878b:	8b 5f 20             	mov    0x20(%edi),%ebx
54878e:	81 4f 20 00 00 00 04 	orl    $0x4000000,0x20(%edi)
548795:	81 e3 00 00 00 04    	and    $0x4000000,%ebx
54879b:	8b 47 24             	mov    0x24(%edi),%eax
54879e:	8b 8d 8c fe ff ff    	mov    -0x174(%ebp),%ecx
5487a4:	89 47 24             	mov    %eax,0x24(%edi)
5487a7:	8b 42 10             	mov    0x10(%edx),%eax