581449:	8b f8                	mov    %eax,%edi
58144b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
581450:	8d 4d f4             	lea    -0xc(%ebp),%ecx
581453:	e8 08 06 f1 ff       	call   0x491a60
581458:	56                   	push   %esi
581459:	8b cf                	mov    %edi,%ecx
58145b:	e8 80 15 f1 ff       	call   0x4929e0
581460:	8b f0                	mov    %eax,%esi
581462:	8d 4e 18             	lea    0x18(%esi),%ecx
581465:	e8 16 ec ff ff       	call   0x580080
58146a:	8b 4e 10             	mov    0x10(%esi),%ecx
58146d:	85 c9                	test   %ecx,%ecx
58146f:	74 12                	je     0x581483
581471:	8b 46 14             	mov    0x14(%esi),%eax
581474:	24 03                	and    $0x3,%al
581476:	3c 01                	cmp    $0x1,%al
581478:	75 09                	jne    0x581483
58147a:	51                   	push   %ecx
58147b:	e8 f0 d1 06 00       	call   0x5ee670
581480:	83 c4 04             	add    $0x4,%esp
581483:	6a 30                	push   $0x30
581485:	56                   	push   %esi
581486:	e8 e7 fb 05 00       	call   0x5e1072
58148b:	8b 75 f4             	mov    -0xc(%ebp),%esi
58148e:	83 c4 08             	add    $0x8,%esp
581491:	3b f3                	cmp    %ebx,%esi
581493:	75 bb                	jne    0x581450
581495:	8b 45 f8             	mov    -0x8(%ebp),%eax
581498:	5f                   	pop    %edi
581499:	5e                   	pop    %esi
58149a:	5b                   	pop    %ebx
58149b:	8b e5                	mov    %ebp,%esp
58149d:	5d                   	pop    %ebp
58149e:	c2 04 00             	ret    $0x4
5814a1:	5f                   	pop    %edi
5814a2:	5e                   	pop    %esi
5814a3:	8b c1                	mov    %ecx,%eax
5814a5:	5b                   	pop    %ebx
5814a6:	8b e5                	mov    %ebp,%esp
5814a8:	5d                   	pop    %ebp
5814a9:	c2 04 00             	ret    $0x4
5814ac:	cc                   	int3
5814ad:	cc                   	int3
5814ae:	cc                   	int3
5814af:	cc                   	int3
5814b0:	55                   	push   %ebp
5814b1:	8b ec                	mov    %esp,%ebp
5814b3:	6a ff                	push   $0xffffffff
5814b5:	68 1b cd 65 00       	push   $0x65cd1b
5814ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5814c0:	50                   	push   %eax
5814c1:	81 ec c4 00 00 00    	sub    $0xc4,%esp
5814c7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5814cc:	33 c5                	xor    %ebp,%eax
5814ce:	89 45 f0             	mov    %eax,-0x10(%ebp)
5814d1:	53                   	push   %ebx
5814d2:	56                   	push   %esi
5814d3:	57                   	push   %edi
5814d4:	50                   	push   %eax
5814d5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5814d8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5814de:	89 4d d0             	mov    %ecx,-0x30(%ebp)
5814e1:	8a 41 08             	mov    0x8(%ecx),%al
5814e4:	84 c0                	test   %al,%al
5814e6:	74 70                	je     0x581558
5814e8:	3c 07                	cmp    $0x7,%al
5814ea:	0f 85 a2 00 00 00    	jne    0x581592
5814f0:	8b 75 08             	mov    0x8(%ebp),%esi
5814f3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5814f6:	2b de                	sub    %esi,%ebx
5814f8:	89 75 c8             	mov    %esi,-0x38(%ebp)
5814fb:	c1 e3 02             	shl    $0x2,%ebx
5814fe:	89 5d cc             	mov    %ebx,-0x34(%ebp)
581501:	8b 01                	mov    (%ecx),%eax
581503:	8d 4d c8             	lea    -0x38(%ebp),%ecx
581506:	51                   	push   %ecx
581507:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
58150a:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
581511:	51                   	push   %ecx
581512:	8b c8                	mov    %eax,%ecx
581514:	89 45 d4             	mov    %eax,-0x2c(%ebp)
581517:	e8 a4 e0 ff ff       	call   0x57f5c0
58151c:	8b 7d ec             	mov    -0x14(%ebp),%edi
58151f:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
581523:	75 10                	jne    0x581535
581525:	8d 47 10             	lea    0x10(%edi),%eax
581528:	50                   	push   %eax
581529:	8d 4d c8             	lea    -0x38(%ebp),%ecx
58152c:	e8 8f f2 ff ff       	call   0x5807c0
581531:	84 c0                	test   %al,%al
581533:	74 05                	je     0x58153a
581535:	8b 7d d4             	mov    -0x2c(%ebp),%edi
581538:	8b 3f                	mov    (%edi),%edi
58153a:	8b 45 d0             	mov    -0x30(%ebp),%eax
58153d:	8b 00                	mov    (%eax),%eax
58153f:	3b 38                	cmp    (%eax),%edi
581541:	75 35                	jne    0x581578
581543:	85 f6                	test   %esi,%esi
581545:	74 11                	je     0x581558
581547:	80 e3 03             	and    $0x3,%bl
58154a:	80 fb 01             	cmp    $0x1,%bl
58154d:	75 09                	jne    0x581558
58154f:	56                   	push   %esi
581550:	e8 1b d1 06 00       	call   0x5ee670
581555:	83 c4 04             	add    $0x4,%esp
581558:	33 c0                	xor    %eax,%eax
58155a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
58155d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
581564:	59                   	pop    %ecx
581565:	5f                   	pop    %edi
581566:	5e                   	pop    %esi
581567:	5b                   	pop    %ebx
581568:	8b 4d f0             	mov    -0x10(%ebp),%ecx
58156b:	33 cd                	xor    %ebp,%ecx
58156d:	e8 68 ff 05 00       	call   0x5e14da
581572:	8b e5                	mov    %ebp,%esp
581574:	5d                   	pop    %ebp
581575:	c2 08 00             	ret    $0x8
581578:	85 f6                	test   %esi,%esi
58157a:	74 11                	je     0x58158d
58157c:	80 e3 03             	and    $0x3,%bl
58157f:	80 fb 01             	cmp    $0x1,%bl
581582:	75 09                	jne    0x58158d
581584:	56                   	push   %esi
581585:	e8 e6 d0 06 00       	call   0x5ee670
58158a:	83 c4 04             	add    $0x4,%esp
58158d:	8d 47 18             	lea    0x18(%edi),%eax
581590:	eb c8                	jmp    0x58155a
581592:	6a 01                	push   $0x1
581594:	6a 02                	push   $0x2
581596:	8d 8d 30 ff ff ff    	lea    -0xd0(%ebp),%ecx
58159c:	e8 8f d7 ff ff       	call   0x57ed30
5815a1:	8d 85 30 ff ff ff    	lea    -0xd0(%ebp),%eax
5815a7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5815ae:	68 f0 33 6c 00       	push   $0x6c33f0
5815b3:	50                   	push   %eax
5815b4:	e8 07 9d f1 ff       	call   0x49b2c0
5815b9:	83 c4 08             	add    $0x8,%esp
5815bc:	8d 45 d8             	lea    -0x28(%ebp),%eax
5815bf:	8d 8d 30 ff ff ff    	lea    -0xd0(%ebp),%ecx
5815c5:	50                   	push   %eax
5815c6:	e8 e5 d8 ff ff       	call   0x57eeb0
5815cb:	50                   	push   %eax
5815cc:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5815d0:	e8 eb 0a 00 00       	call   0x5820c0
5815d5:	cc                   	int3
5815d6:	cc                   	int3
5815d7:	cc                   	int3
5815d8:	cc                   	int3
5815d9:	cc                   	int3
5815da:	cc                   	int3
5815db:	cc                   	int3
5815dc:	cc                   	int3
5815dd:	cc                   	int3
5815de:	cc                   	int3
5815df:	cc                   	int3
5815e0:	55                   	push   %ebp
5815e1:	8b ec                	mov    %esp,%ebp
5815e3:	6a ff                	push   $0xffffffff
5815e5:	68 73 cd 65 00       	push   $0x65cd73
5815ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5815f0:	50                   	push   %eax
5815f1:	81 ec c8 00 00 00    	sub    $0xc8,%esp
5815f7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5815fc:	33 c5                	xor    %ebp,%eax
5815fe:	89 45 f0             	mov    %eax,-0x10(%ebp)
581601:	56                   	push   %esi
581602:	57                   	push   %edi
581603:	50                   	push   %eax
581604:	8d 45 f4             	lea    -0xc(%ebp),%eax
581607:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58160d:	8b c1                	mov    %ecx,%eax
58160f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
581612:	8a 48 08             	mov    0x8(%eax),%cl
581615:	8b 7d 08             	mov    0x8(%ebp),%edi
581618:	89 7d c4             	mov    %edi,-0x3c(%ebp)
58161b:	84 c9                	test   %cl,%cl
58161d:	0f 84 28 01 00 00    	je     0x58174b
581623:	80 f9 07             	cmp    $0x7,%cl
581626:	0f 85 52 01 00 00    	jne    0x58177e
58162c:	33 f6                	xor    %esi,%esi
58162e:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
581635:	89 75 cc             	mov    %esi,-0x34(%ebp)
581638:	89 75 d0             	mov    %esi,-0x30(%ebp)
58163b:	8b 08                	mov    (%eax),%ecx
58163d:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
581644:	8b 41 04             	mov    0x4(%ecx),%eax
581647:	85 c0                	test   %eax,%eax
581649:	74 1c                	je     0x581667
58164b:	3d aa aa aa 0a       	cmp    $0xaaaaaaa,%eax
581650:	0f 87 6b 01 00 00    	ja     0x5817c1
581656:	50                   	push   %eax
581657:	8d 4d c8             	lea    -0x38(%ebp),%ecx
58165a:	e8 e1 f2 ff ff       	call   0x580940
58165f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
581662:	8b 75 cc             	mov    -0x34(%ebp),%esi
581665:	8b 08                	mov    (%eax),%ecx
581667:	8b 09                	mov    (%ecx),%ecx
581669:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
58166c:	8b 01                	mov    (%ecx),%eax
58166e:	89 45 d4             	mov    %eax,-0x2c(%ebp)
581671:	3b c1                	cmp    %ecx,%eax
581673:	0f 84 c2 00 00 00    	je     0x58173b
581679:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
581680:	8b 48 14             	mov    0x14(%eax),%ecx
581683:	c1 e9 02             	shr    $0x2,%ecx
581686:	51                   	push   %ecx
581687:	ff 70 10             	push   0x10(%eax)
58168a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
58168d:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
581694:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
58169b:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
58169f:	e8 9c 3b ec ff       	call   0x445240
5816a4:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5816a8:	3b 75 d0             	cmp    -0x30(%ebp),%esi
5816ab:	74 30                	je     0x5816dd
5816ad:	0f 10 45 d8          	movups -0x28(%ebp),%xmm0
5816b1:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5816b8:	b8 0f 00 00 00       	mov    $0xf,%eax
5816bd:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
5816c4:	0f 11 06             	movups %xmm0,(%esi)
5816c7:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
5816cb:	f3 0f 7e 45 e8       	movq   -0x18(%ebp),%xmm0
5816d0:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
5816d5:	83 c6 18             	add    $0x18,%esi
5816d8:	89 75 cc             	mov    %esi,-0x34(%ebp)
5816db:	eb 13                	jmp    0x5816f0
5816dd:	8d 45 d8             	lea    -0x28(%ebp),%eax
5816e0:	50                   	push   %eax
5816e1:	56                   	push   %esi
5816e2:	8d 4d c8             	lea    -0x38(%ebp),%ecx
5816e5:	e8 66 2e ec ff       	call   0x444550
5816ea:	8b 75 cc             	mov    -0x34(%ebp),%esi
5816ed:	8b 45 ec             	mov    -0x14(%ebp),%eax
5816f0:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5816f4:	83 f8 10             	cmp    $0x10,%eax
5816f7:	72 2e                	jb     0x581727
5816f9:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5816fc:	8d 50 01             	lea    0x1(%eax),%edx
5816ff:	8b c1                	mov    %ecx,%eax
581701:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
581707:	72 14                	jb     0x58171d
581709:	8b 49 fc             	mov    -0x4(%ecx),%ecx
58170c:	83 c2 23             	add    $0x23,%edx
58170f:	2b c1                	sub    %ecx,%eax
581711:	83 c0 fc             	add    $0xfffffffc,%eax
581714:	83 f8 1f             	cmp    $0x1f,%eax
581717:	0f 87 a9 00 00 00    	ja     0x5817c6
58171d:	52                   	push   %edx
58171e:	51                   	push   %ecx
58171f:	e8 4e f9 05 00       	call   0x5e1072
581724:	83 c4 08             	add    $0x8,%esp
581727:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
58172a:	e8 31 03 f1 ff       	call   0x491a60
58172f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
581732:	3b 45 c4             	cmp    -0x3c(%ebp),%eax
581735:	0f 85 45 ff ff ff    	jne    0x581680
58173b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
58173e:	8b 45 d0             	mov    -0x30(%ebp),%eax
581741:	89 0f                	mov    %ecx,(%edi)
581743:	89 77 04             	mov    %esi,0x4(%edi)
581746:	89 47 08             	mov    %eax,0x8(%edi)
581749:	eb 14                	jmp    0x58175f
58174b:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
581751:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
581758:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
58175f:	8b c7                	mov    %edi,%eax
581761:	8b 4d f4             	mov    -0xc(%ebp),%ecx
581764:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
58176b:	59                   	pop    %ecx
58176c:	5f                   	pop    %edi
58176d:	5e                   	pop    %esi
58176e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
581771:	33 cd                	xor    %ebp,%ecx
581773:	e8 62 fd 05 00       	call   0x5e14da
581778:	8b e5                	mov    %ebp,%esp
58177a:	5d                   	pop    %ebp
58177b:	c2 04 00             	ret    $0x4
58177e:	6a 01                	push   $0x1
581780:	6a 02                	push   $0x2
581782:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
581788:	e8 a3 d5 ff ff       	call   0x57ed30
58178d:	8d 85 2c ff ff ff    	lea    -0xd4(%ebp),%eax
581793:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
58179a:	68 3c 34 6c 00       	push   $0x6c343c
58179f:	50                   	push   %eax
5817a0:	e8 1b 9b f1 ff       	call   0x49b2c0
5817a5:	83 c4 08             	add    $0x8,%esp
5817a8:	8d 45 d8             	lea    -0x28(%ebp),%eax
5817ab:	8d 8d 2c ff ff ff    	lea    -0xd4(%ebp),%ecx
5817b1:	50                   	push   %eax
5817b2:	e8 f9 d6 ff ff       	call   0x57eeb0
5817b7:	50                   	push   %eax
5817b8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5817bc:	e8 ff 08 00 00       	call   0x5820c0
5817c1:	e8 7a 38 ec ff       	call   0x445040
5817c6:	e8 64 b7 06 00       	call   0x5ecf2f
5817cb:	cc                   	int3
5817cc:	cc                   	int3
5817cd:	cc                   	int3
5817ce:	cc                   	int3
5817cf:	cc                   	int3
5817d0:	55                   	push   %ebp
5817d1:	8b ec                	mov    %esp,%ebp
5817d3:	80 79 08 04          	cmpb   $0x4,0x8(%ecx)
5817d7:	75 4a                	jne    0x581823
5817d9:	8b 11                	mov    (%ecx),%edx
5817db:	85 d2                	test   %edx,%edx
5817dd:	74 44                	je     0x581823
5817df:	8b 41 08             	mov    0x8(%ecx),%eax
5817e2:	c1 e8 08             	shr    $0x8,%eax
5817e5:	a8 01                	test   $0x1,%al
5817e7:	75 23                	jne    0x58180c
5817e9:	8b ca                	mov    %edx,%ecx
5817eb:	56                   	push   %esi
5817ec:	8d 71 01             	lea    0x1(%ecx),%esi
5817ef:	90                   	nop
5817f0:	8a 01                	mov    (%ecx),%al
5817f2:	41                   	inc    %ecx
5817f3:	84 c0                	test   %al,%al
5817f5:	75 f9                	jne    0x5817f0
5817f7:	8b 45 08             	mov    0x8(%ebp),%eax
5817fa:	2b ce                	sub    %esi,%ecx
5817fc:	03 ca                	add    %edx,%ecx
5817fe:	5e                   	pop    %esi
5817ff:	89 10                	mov    %edx,(%eax)
581801:	8b 45 0c             	mov    0xc(%ebp),%eax
581804:	89 08                	mov    %ecx,(%eax)
581806:	b0 01                	mov    $0x1,%al
581808:	5d                   	pop    %ebp
581809:	c2 08 00             	ret    $0x8
58180c:	8b 0a                	mov    (%edx),%ecx
58180e:	83 c2 04             	add    $0x4,%edx
581811:	8b 45 08             	mov    0x8(%ebp),%eax
581814:	03 ca                	add    %edx,%ecx
581816:	89 10                	mov    %edx,(%eax)
581818:	8b 45 0c             	mov    0xc(%ebp),%eax
58181b:	89 08                	mov    %ecx,(%eax)
58181d:	b0 01                	mov    $0x1,%al
58181f:	5d                   	pop    %ebp
581820:	c2 08 00             	ret    $0x8
581823:	32 c0                	xor    %al,%al
581825:	5d                   	pop    %ebp
581826:	c2 08 00             	ret    $0x8
581829:	cc                   	int3
58182a:	cc                   	int3
58182b:	cc                   	int3
58182c:	cc                   	int3
58182d:	cc                   	int3
58182e:	cc                   	int3