557391:	57                   	push   %edi
557392:	8b 45 18             	mov    0x18(%ebp),%eax
557395:	85 c0                	test   %eax,%eax
557397:	0f 84 3a 01 00 00    	je     0x5574d7
55739d:	50                   	push   %eax
55739e:	e8 2d dc f8 ff       	call   0x4e4fd0
5573a3:	83 c4 04             	add    $0x4,%esp
5573a6:	85 c0                	test   %eax,%eax
5573a8:	75 21                	jne    0x5573cb
5573aa:	ff b5 84 00 00 00    	push   0x84(%ebp)
5573b0:	e8 0b ac f8 ff       	call   0x4e1fc0
5573b5:	ff 75 18             	push   0x18(%ebp)
5573b8:	e8 83 de f8 ff       	call   0x4e5240
5573bd:	ff b5 84 00 00 00    	push   0x84(%ebp)
5573c3:	e8 78 ac f8 ff       	call   0x4e2040
5573c8:	83 c4 0c             	add    $0xc,%esp
5573cb:	8b 74 24 44          	mov    0x44(%esp),%esi
5573cf:	8d 44 24 14          	lea    0x14(%esp),%eax
5573d3:	50                   	push   %eax
5573d4:	ff 75 18             	push   0x18(%ebp)
5573d7:	0f 10 06             	movups (%esi),%xmm0
5573da:	0f 11 44 24 1c       	movups %xmm0,0x1c(%esp)
5573df:	e8 ac da f8 ff       	call   0x4e4e90
5573e4:	8b d8                	mov    %eax,%ebx
5573e6:	83 c4 08             	add    $0x8,%esp
5573e9:	85 db                	test   %ebx,%ebx
5573eb:	0f 88 e6 00 00 00    	js     0x5574d7
5573f1:	ff 75 18             	push   0x18(%ebp)
5573f4:	e8 c7 dc f8 ff       	call   0x4e50c0
5573f9:	83 c4 04             	add    $0x4,%esp
5573fc:	89 44 24 10          	mov    %eax,0x10(%esp)
557400:	3b d8                	cmp    %eax,%ebx
557402:	0f 8d cf 00 00 00    	jge    0x5574d7
557408:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
55740f:	00
557410:	53                   	push   %ebx
557411:	ff 75 18             	push   0x18(%ebp)
557414:	e8 67 de f8 ff       	call   0x4e5280
557419:	8b f8                	mov    %eax,%edi
55741b:	56                   	push   %esi
55741c:	57                   	push   %edi
55741d:	e8 4e 1f fb ff       	call   0x509370
557422:	83 c4 10             	add    $0x10,%esp
557425:	85 c0                	test   %eax,%eax
557427:	0f 85 aa 00 00 00    	jne    0x5574d7
55742d:	8b 47 18             	mov    0x18(%edi),%eax
557430:	8b 74 24 48          	mov    0x48(%esp),%esi
557434:	89 74 24 3c          	mov    %esi,0x3c(%esp)
557438:	85 c0                	test   %eax,%eax
55743a:	75 34                	jne    0x557470
55743c:	85 f6                	test   %esi,%esi
55743e:	74 14                	je     0x557454
557440:	55                   	push   %ebp
557441:	e8 fa fd f8 ff       	call   0x4e7240
557446:	50                   	push   %eax
557447:	56                   	push   %esi
557448:	e8 03 07 00 00       	call   0x557b50
55744d:	83 c4 0c             	add    $0xc,%esp
557450:	85 c0                	test   %eax,%eax
557452:	75 73                	jne    0x5574c7
557454:	8b 44 24 40          	mov    0x40(%esp),%eax
557458:	85 c0                	test   %eax,%eax
55745a:	74 02                	je     0x55745e
55745c:	89 38                	mov    %edi,(%eax)
55745e:	33 c0                	xor    %eax,%eax
557460:	83 7f 1c 08          	cmpl   $0x8,0x1c(%edi)
557464:	5f                   	pop    %edi
557465:	5e                   	pop    %esi
557466:	0f 94 c0             	sete   %al
557469:	5d                   	pop    %ebp
55746a:	40                   	inc    %eax
55746b:	5b                   	pop    %ebx
55746c:	83 c4 28             	add    $0x28,%esp
55746f:	c3                   	ret
557470:	85 f6                	test   %esi,%esi
557472:	75 10                	jne    0x557484
557474:	55                   	push   %ebp
557475:	e8 c6 fd f8 ff       	call   0x4e7240
55747a:	89 44 24 40          	mov    %eax,0x40(%esp)
55747e:	83 c4 04             	add    $0x4,%esp
557481:	8b 47 18             	mov    0x18(%edi),%eax
557484:	50                   	push   %eax
557485:	33 f6                	xor    %esi,%esi
557487:	e8 34 dc f8 ff       	call   0x4e50c0
55748c:	83 c4 04             	add    $0x4,%esp
55748f:	85 c0                	test   %eax,%eax
557491:	7e 34                	jle    0x5574c7
557493:	56                   	push   %esi
557494:	ff 77 18             	push   0x18(%edi)
557497:	e8 e4 dd f8 ff       	call   0x4e5280
55749c:	83 c4 08             	add    $0x8,%esp
55749f:	83 38 04             	cmpl   $0x4,(%eax)
5574a2:	75 13                	jne    0x5574b7
5574a4:	ff 70 04             	push   0x4(%eax)
5574a7:	ff 74 24 40          	push   0x40(%esp)
5574ab:	e8 a0 06 00 00       	call   0x557b50
5574b0:	83 c4 08             	add    $0x8,%esp
5574b3:	85 c0                	test   %eax,%eax
5574b5:	74 9d                	je     0x557454
5574b7:	ff 77 18             	push   0x18(%edi)
5574ba:	46                   	inc    %esi
5574bb:	e8 00 dc f8 ff       	call   0x4e50c0
5574c0:	83 c4 04             	add    $0x4,%esp
5574c3:	3b f0                	cmp    %eax,%esi
5574c5:	7c cc                	jl     0x557493
5574c7:	43                   	inc    %ebx
5574c8:	3b 5c 24 10          	cmp    0x10(%esp),%ebx
5574cc:	7d 09                	jge    0x5574d7
5574ce:	8b 74 24 44          	mov    0x44(%esp),%esi
5574d2:	e9 39 ff ff ff       	jmp    0x557410
5574d7:	5f                   	pop    %edi
5574d8:	5e                   	pop    %esi
5574d9:	5d                   	pop    %ebp
5574da:	33 c0                	xor    %eax,%eax
5574dc:	5b                   	pop    %ebx
5574dd:	83 c4 28             	add    $0x28,%esp
5574e0:	c3                   	ret
5574e1:	cc                   	int3
5574e2:	cc                   	int3
5574e3:	cc                   	int3
5574e4:	cc                   	int3
5574e5:	cc                   	int3
5574e6:	cc                   	int3
5574e7:	cc                   	int3
5574e8:	cc                   	int3
5574e9:	cc                   	int3
5574ea:	cc                   	int3
5574eb:	cc                   	int3
5574ec:	cc                   	int3
5574ed:	cc                   	int3
5574ee:	cc                   	int3
5574ef:	cc                   	int3
5574f0:	8b 44 24 08          	mov    0x8(%esp),%eax
5574f4:	8b 00                	mov    (%eax),%eax
5574f6:	85 c0                	test   %eax,%eax
5574f8:	74 1c                	je     0x557516
5574fa:	8b 40 18             	mov    0x18(%eax),%eax
5574fd:	85 c0                	test   %eax,%eax
5574ff:	74 15                	je     0x557516
557501:	83 7c 24 04 05       	cmpl   $0x5,0x4(%esp)
557506:	75 0e                	jne    0x557516
557508:	68 f0 78 55 00       	push   $0x5578f0
55750d:	50                   	push   %eax
55750e:	e8 cd dc f8 ff       	call   0x4e51e0
557513:	83 c4 08             	add    $0x8,%esp
557516:	b8 01 00 00 00       	mov    $0x1,%eax
55751b:	c3                   	ret
55751c:	cc                   	int3
55751d:	cc                   	int3
55751e:	cc                   	int3
55751f:	cc                   	int3
557520:	8b 44 24 08          	mov    0x8(%esp),%eax
557524:	56                   	push   %esi
557525:	8b 30                	mov    (%eax),%esi
557527:	8b 44 24 08          	mov    0x8(%esp),%eax
55752b:	48                   	dec    %eax
55752c:	83 f8 04             	cmp    $0x4,%eax
55752f:	0f 87 0b 03 00 00    	ja     0x557840
557535:	ff 24 85 48 78 55 00 	jmp    *0x557848(,%eax,4)
55753c:	8b 46 7c             	mov    0x7c(%esi),%eax
55753f:	8b 40 08             	mov    0x8(%eax),%eax
557542:	85 c0                	test   %eax,%eax
557544:	74 0e                	je     0x557554
557546:	56                   	push   %esi
557547:	ff d0                	call   *%eax
557549:	83 c4 04             	add    $0x4,%esp
55754c:	85 c0                	test   %eax,%eax
55754e:	0f 84 b8 02 00 00    	je     0x55780c
557554:	ff 76 4c             	push   0x4c(%esi)
557557:	e8 54 48 01 00       	call   0x56bdb0
55755c:	ff 76 50             	push   0x50(%esi)
55755f:	e8 3c 52 01 00       	call   0x56c7a0
557564:	ff 76 5c             	push   0x5c(%esi)
557567:	e8 14 42 f9 ff       	call   0x4eb780
55756c:	ff 76 60             	push   0x60(%esi)
55756f:	e8 0c 42 f9 ff       	call   0x4eb780
557574:	68 20 be 56 00       	push   $0x56be20
557579:	ff 76 64             	push   0x64(%esi)
55757c:	e8 6f db f8 ff       	call   0x4e50f0
557581:	83 c4 18             	add    $0x18,%esp
557584:	a1 a4 e3 68 00       	mov    0x68e3a4,%eax
557589:	89 46 7c             	mov    %eax,0x7c(%esi)
55758c:	b8 01 00 00 00       	mov    $0x1,%eax
557591:	c7 46 50 00 00 00 00 	movl   $0x0,0x50(%esi)
557598:	c7 46 4c 00 00 00 00 	movl   $0x0,0x4c(%esi)
55759f:	c7 46 48 00 00 00 00 	movl   $0x0,0x48(%esi)
5575a6:	c7 46 54 00 00 00 00 	movl   $0x0,0x54(%esi)
5575ad:	c7 46 58 7f 80 00 00 	movl   $0x807f,0x58(%esi)
5575b4:	c7 86 80 00 00 00 00 	movl   $0x0,0x80(%esi)
5575bb:	00 00 00
5575be:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
5575c5:	c7 46 5c 00 00 00 00 	movl   $0x0,0x5c(%esi)
5575cc:	c7 46 60 00 00 00 00 	movl   $0x0,0x60(%esi)
5575d3:	5e                   	pop    %esi
5575d4:	c3                   	ret
5575d5:	8d 46 68             	lea    0x68(%esi),%eax
5575d8:	6a 00                	push   $0x0
5575da:	50                   	push   %eax
5575db:	e8 30 ef fb ff       	call   0x516510
5575e0:	50                   	push   %eax
5575e1:	56                   	push   %esi
5575e2:	e8 79 44 01 00       	call   0x56ba60
5575e7:	83 c4 10             	add    $0x10,%esp
5575ea:	85 c0                	test   %eax,%eax
5575ec:	75 07                	jne    0x5575f5
5575ee:	81 4e 48 80 00 00 00 	orl    $0x80,0x48(%esi)
5575f5:	53                   	push   %ebx
5575f6:	55                   	push   %ebp
5575f7:	57                   	push   %edi
5575f8:	6a 00                	push   $0x0
5575fa:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5575fe:	50                   	push   %eax
5575ff:	68 02 03 00 00       	push   $0x302
557604:	56                   	push   %esi
557605:	e8 a6 a4 01 00       	call   0x571ab0
55760a:	8b f8                	mov    %eax,%edi
55760c:	83 c4 10             	add    $0x10,%esp
55760f:	89 7e 50             	mov    %edi,0x50(%esi)
557612:	85 ff                	test   %edi,%edi
557614:	0f 84 a2 00 00 00    	je     0x5576bc
55761a:	8b 4e 54             	mov    0x54(%esi),%ecx
55761d:	33 c0                	xor    %eax,%eax
55761f:	83 c9 01             	or     $0x1,%ecx
557622:	89 4e 54             	mov    %ecx,0x54(%esi)
557625:	39 47 04             	cmp    %eax,0x4(%edi)
557628:	7e 0b                	jle    0x557635
55762a:	83 c9 04             	or     $0x4,%ecx
55762d:	b8 01 00 00 00       	mov    $0x1,%eax
557632:	89 4e 54             	mov    %ecx,0x54(%esi)
557635:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
557639:	7e 07                	jle    0x557642
55763b:	40                   	inc    %eax
55763c:	83 c9 08             	or     $0x8,%ecx
55763f:	89 4e 54             	mov    %ecx,0x54(%esi)
557642:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
557646:	7e 07                	jle    0x55764f
557648:	40                   	inc    %eax
557649:	83 c9 10             	or     $0x10,%ecx
55764c:	89 4e 54             	mov    %ecx,0x54(%esi)
55764f:	83 f8 01             	cmp    $0x1,%eax
557652:	76 06                	jbe    0x55765a
557654:	83 c9 02             	or     $0x2,%ecx
557657:	89 4e 54             	mov    %ecx,0x54(%esi)
55765a:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
55765e:	7e 06                	jle    0x557666
557660:	83 c9 20             	or     $0x20,%ecx
557663:	89 4e 54             	mov    %ecx,0x54(%esi)
557666:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
55766a:	74 39                	je     0x5576a5
55766c:	83 c9 40             	or     $0x40,%ecx
55766f:	89 4e 54             	mov    %ecx,0x54(%esi)
557672:	8b 47 0c             	mov    0xc(%edi),%eax
557675:	83 38 00             	cmpl   $0x0,(%eax)
557678:	7e 1f                	jle    0x557699
55767a:	8b 40 08             	mov    0x8(%eax),%eax
55767d:	0f b6 08             	movzbl (%eax),%ecx
557680:	89 4e 58             	mov    %ecx,0x58(%esi)
557683:	8b 47 0c             	mov    0xc(%edi),%eax
557686:	83 38 01             	cmpl   $0x1,(%eax)
557689:	7e 11                	jle    0x55769c
55768b:	8b 40 08             	mov    0x8(%eax),%eax
55768e:	0f b6 40 01          	movzbl 0x1(%eax),%eax
557692:	c1 e0 08             	shl    $0x8,%eax
557695:	0b c8                	or     %eax,%ecx
557697:	eb 03                	jmp    0x55769c
557699:	8b 4e 58             	mov    0x58(%esi),%ecx
55769c:	81 e1 7f 80 00 00    	and    $0x807f,%ecx
5576a2:	89 4e 58             	mov    %ecx,0x58(%esi)
5576a5:	56                   	push   %esi
5576a6:	e8 95 fb f8 ff       	call   0x4e7240
5576ab:	50                   	push   %eax
5576ac:	ff 37                	push   (%edi)
5576ae:	e8 4d 50 01 00       	call   0x56c700
5576b3:	83 c4 0c             	add    $0xc,%esp
5576b6:	85 c0                	test   %eax,%eax
5576b8:	75 10                	jne    0x5576ca
5576ba:	eb 07                	jmp    0x5576c3
5576bc:	83 7c 24 18 ff       	cmpl   $0xffffffff,0x18(%esp)
5576c1:	74 07                	je     0x5576ca
5576c3:	81 4e 48 80 00 00 00 	orl    $0x80,0x48(%esi)
5576ca:	6a 00                	push   $0x0
5576cc:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5576d0:	50                   	push   %eax
5576d1:	6a 5a                	push   $0x5a
5576d3:	56                   	push   %esi
5576d4:	e8 d7 a3 01 00       	call   0x571ab0
5576d9:	83 c4 10             	add    $0x10,%esp
5576dc:	89 46 4c             	mov    %eax,0x4c(%esi)
5576df:	85 c0                	test   %eax,%eax
5576e1:	75 0e                	jne    0x5576f1
5576e3:	83 7c 24 18 ff       	cmpl   $0xffffffff,0x18(%esp)
5576e8:	74 07                	je     0x5576f1
5576ea:	81 4e 48 80 00 00 00 	orl    $0x80,0x48(%esi)
5576f1:	6a 00                	push   $0x0
5576f3:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5576f7:	50                   	push   %eax
5576f8:	6a 58                	push   $0x58
5576fa:	56                   	push   %esi
5576fb:	e8 b0 a3 01 00       	call   0x571ab0
557700:	83 c4 10             	add    $0x10,%esp
557703:	89 46 5c             	mov    %eax,0x5c(%esi)
557706:	85 c0                	test   %eax,%eax
557708:	75 0e                	jne    0x557718
55770a:	83 7c 24 18 ff       	cmpl   $0xffffffff,0x18(%esp)
55770f:	74 07                	je     0x557718
557711:	81 4e 48 80 00 00 00 	orl    $0x80,0x48(%esi)
557718:	6a 00                	push   $0x0
55771a:	8d 44 24 1c          	lea    0x1c(%esp),%eax
55771e:	50                   	push   %eax
55771f:	68 8c 00 00 00       	push   $0x8c
557724:	56                   	push   %esi
557725:	e8 86 a3 01 00       	call   0x571ab0
55772a:	83 c4 10             	add    $0x10,%esp
55772d:	89 46 60             	mov    %eax,0x60(%esi)
557730:	85 c0                	test   %eax,%eax
557732:	75 09                	jne    0x55773d
557734:	83 7c 24 18 ff       	cmpl   $0xffffffff,0x18(%esp)
557739:	74 0f                	je     0x55774a
55773b:	eb 06                	jmp    0x557743
55773d:	83 7e 5c 00          	cmpl   $0x0,0x5c(%esi)
557741:	75 07                	jne    0x55774a
557743:	81 4e 48 80 00 00 00 	orl    $0x80,0x48(%esi)
55774a:	8b 6e 1c             	mov    0x1c(%esi),%ebp
55774d:	33 db                	xor    %ebx,%ebx
55774f:	55                   	push   %ebp
557750:	89 6c 24 18          	mov    %ebp,0x18(%esp)
557754:	e8 67 d9 f8 ff       	call   0x4e50c0
557759:	83 c4 04             	add    $0x4,%esp
55775c:	85 c0                	test   %eax,%eax
55775e:	7e 66                	jle    0x5577c6
557760:	53                   	push   %ebx
557761:	55                   	push   %ebp
557762:	e8 19 db f8 ff       	call   0x4e5280
557767:	8b e8                	mov    %eax,%ebp
557769:	55                   	push   %ebp
55776a:	e8 01 90 f9 ff       	call   0x4f0770
55776f:	50                   	push   %eax
557770:	e8 8b 7e f9 ff       	call   0x4ef600
557775:	8b f8                	mov    %eax,%edi
557777:	83 c4 10             	add    $0x10,%esp
55777a:	81 ff 59 03 00 00    	cmp    $0x359,%edi
557780:	75 07                	jne    0x557789
557782:	81 4e 48 00 10 00 00 	orl    $0x1000,0x48(%esi)
557789:	55                   	push   %ebp
55778a:	e8 f1 a3 01 00       	call   0x571b80
55778f:	83 c4 04             	add    $0x4,%esp
557792:	85 c0                	test   %eax,%eax
557794:	74 15                	je     0x5577ab
557796:	81 ff 02 03 00 00    	cmp    $0x302,%edi
55779c:	74 0d                	je     0x5577ab