5860ef:	88 10                	mov    %dl,(%eax)
5860f1:	8b d3                	mov    %ebx,%edx
5860f3:	8b c2                	mov    %edx,%eax
5860f5:	89 55 fc             	mov    %edx,-0x4(%ebp)
5860f8:	0b c6                	or     %esi,%eax
5860fa:	0f 85 70 ff ff ff    	jne    0x586070
586100:	5f                   	pop    %edi
586101:	5e                   	pop    %esi
586102:	5b                   	pop    %ebx
586103:	8b e5                	mov    %ebp,%esp
586105:	5d                   	pop    %ebp
586106:	c3                   	ret
586107:	cc                   	int3
586108:	cc                   	int3
586109:	cc                   	int3
58610a:	cc                   	int3
58610b:	cc                   	int3
58610c:	cc                   	int3
58610d:	cc                   	int3
58610e:	cc                   	int3
58610f:	cc                   	int3
586110:	55                   	push   %ebp
586111:	8b ec                	mov    %esp,%ebp
586113:	6a ff                	push   $0xffffffff
586115:	68 5b d3 65 00       	push   $0x65d35b
58611a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
586120:	50                   	push   %eax
586121:	81 ec fc 00 00 00    	sub    $0xfc,%esp
586127:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58612c:	33 c5                	xor    %ebp,%eax
58612e:	89 45 f0             	mov    %eax,-0x10(%ebp)
586131:	56                   	push   %esi
586132:	57                   	push   %edi
586133:	50                   	push   %eax
586134:	8d 45 f4             	lea    -0xc(%ebp),%eax
586137:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58613d:	8b 75 0c             	mov    0xc(%ebp),%esi
586140:	8b 7d 08             	mov    0x8(%ebp),%edi
586143:	89 7d a4             	mov    %edi,-0x5c(%ebp)
586146:	89 7d a0             	mov    %edi,-0x60(%ebp)
586149:	89 75 b8             	mov    %esi,-0x48(%ebp)
58614c:	85 f6                	test   %esi,%esi
58614e:	75 21                	jne    0x586171
586150:	56                   	push   %esi
586151:	89 77 10             	mov    %esi,0x10(%edi)
586154:	8b cf                	mov    %edi,%ecx
586156:	c7 47 14 0f 00 00 00 	movl   $0xf,0x14(%edi)
58615d:	68 65 aa 68 00       	push   $0x68aa65
586162:	c6 07 00             	movb   $0x0,(%edi)
586165:	e8 d6 f0 eb ff       	call   0x445240
58616a:	8b c7                	mov    %edi,%eax
58616c:	e9 82 04 00 00       	jmp    0x5865f3
586171:	8b 45 10             	mov    0x10(%ebp),%eax
586174:	8b fe                	mov    %esi,%edi
586176:	03 c6                	add    %esi,%eax
586178:	89 45 b4             	mov    %eax,-0x4c(%ebp)
58617b:	3b f0                	cmp    %eax,%esi
58617d:	73 29                	jae    0x5861a8
58617f:	90                   	nop
586180:	8a 17                	mov    (%edi),%dl
586182:	b9 90 37 6c 00       	mov    $0x6c3790,%ecx
586187:	b0 22                	mov    $0x22,%al
586189:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
586190:	3a c2                	cmp    %dl,%al
586192:	0f 84 ef 00 00 00    	je     0x586287
586198:	8a 41 01             	mov    0x1(%ecx),%al
58619b:	41                   	inc    %ecx
58619c:	84 c0                	test   %al,%al
58619e:	75 f0                	jne    0x586190
5861a0:	8b 45 b4             	mov    -0x4c(%ebp),%eax
5861a3:	47                   	inc    %edi
5861a4:	3b f8                	cmp    %eax,%edi
5861a6:	72 d8                	jb     0x586180
5861a8:	8b ce                	mov    %esi,%ecx
5861aa:	3b c6                	cmp    %esi,%eax
5861ac:	74 1d                	je     0x5861cb
5861ae:	8b 7d b4             	mov    -0x4c(%ebp),%edi
5861b1:	8a 11                	mov    (%ecx),%dl
5861b3:	8d 42 ff             	lea    -0x1(%edx),%eax
5861b6:	3c 1e                	cmp    $0x1e,%al
5861b8:	0f 86 cc 00 00 00    	jbe    0x58628a
5861be:	84 d2                	test   %dl,%dl
5861c0:	0f 84 c4 00 00 00    	je     0x58628a
5861c6:	41                   	inc    %ecx
5861c7:	3b f9                	cmp    %ecx,%edi
5861c9:	75 e6                	jne    0x5861b1
5861cb:	6a 01                	push   $0x1
5861cd:	68 ec dc 68 00       	push   $0x68dcec
5861d2:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5861d5:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5861dc:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
5861e3:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
5861e7:	e8 54 f0 eb ff       	call   0x445240
5861ec:	56                   	push   %esi
5861ed:	8d 45 d8             	lea    -0x28(%ebp),%eax
5861f0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5861f7:	50                   	push   %eax
5861f8:	8d 45 c0             	lea    -0x40(%ebp),%eax
5861fb:	50                   	push   %eax
5861fc:	e8 6f ba ec ff       	call   0x451c70
586201:	83 c4 0c             	add    $0xc,%esp
586204:	6a 01                	push   $0x1
586206:	68 ec dc 68 00       	push   $0x68dcec
58620b:	8b c8                	mov    %eax,%ecx
58620d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
586211:	e8 aa ee eb ff       	call   0x4450c0
586216:	8b 75 a4             	mov    -0x5c(%ebp),%esi
586219:	8d 4d c0             	lea    -0x40(%ebp),%ecx
58621c:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
586223:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
58622a:	0f 10 00             	movups (%eax),%xmm0
58622d:	0f 11 06             	movups %xmm0,(%esi)
586230:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
586235:	66 0f d6 46 10       	movq   %xmm0,0x10(%esi)
58623a:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
586241:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
586248:	c6 00 00             	movb   $0x0,(%eax)
58624b:	e8 60 24 eb ff       	call   0x4386b0
586250:	8b 55 ec             	mov    -0x14(%ebp),%edx
586253:	83 fa 10             	cmp    $0x10,%edx
586256:	0f 82 95 03 00 00    	jb     0x5865f1
58625c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
58625f:	42                   	inc    %edx
586260:	8b c1                	mov    %ecx,%eax
586262:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
586268:	0f 82 79 03 00 00    	jb     0x5865e7
58626e:	8b 49 fc             	mov    -0x4(%ecx),%ecx
586271:	83 c2 23             	add    $0x23,%edx
586274:	2b c1                	sub    %ecx,%eax
586276:	83 c0 fc             	add    $0xfffffffc,%eax
586279:	83 f8 1f             	cmp    $0x1f,%eax
58627c:	0f 87 8c 03 00 00    	ja     0x58660e
586282:	e9 60 03 00 00       	jmp    0x5865e7
586287:	8b 7d b4             	mov    -0x4c(%ebp),%edi
58628a:	8b 45 10             	mov    0x10(%ebp),%eax
58628d:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
586294:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
58629b:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
58629f:	8d 04 45 03 00 00 00 	lea    0x3(,%eax,2),%eax
5862a6:	50                   	push   %eax
5862a7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5862aa:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
5862b1:	e8 ba d6 ec ff       	call   0x453970
5862b6:	6a 01                	push   $0x1
5862b8:	68 ec dc 68 00       	push   $0x68dcec
5862bd:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5862c0:	e8 fb ed eb ff       	call   0x4450c0
5862c5:	3b f7                	cmp    %edi,%esi
5862c7:	0f 84 e7 02 00 00    	je     0x5865b4
5862cd:	0f 1f 00             	nopl   (%eax)
5862d0:	8a 0e                	mov    (%esi),%cl
5862d2:	0f be c1             	movsbl %cl,%eax
5862d5:	83 c0 f8             	add    $0xfffffff8,%eax
5862d8:	88 4d bf             	mov    %cl,-0x41(%ebp)
5862db:	83 f8 54             	cmp    $0x54,%eax
5862de:	0f 87 9a 00 00 00    	ja     0x58637e
5862e4:	0f b6 80 38 66 58 00 	movzbl 0x586638(%eax),%eax
5862eb:	ff 24 85 18 66 58 00 	jmp    *0x586618(,%eax,4)
5862f2:	6a 02                	push   $0x2
5862f4:	68 98 37 6c 00       	push   $0x6c3798
5862f9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5862fc:	e8 bf ed eb ff       	call   0x4450c0
586301:	e9 a1 02 00 00       	jmp    0x5865a7
586306:	6a 02                	push   $0x2
586308:	68 9c 37 6c 00       	push   $0x6c379c
58630d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
586310:	e8 ab ed eb ff       	call   0x4450c0
586315:	e9 8d 02 00 00       	jmp    0x5865a7
58631a:	6a 02                	push   $0x2
58631c:	68 a0 37 6c 00       	push   $0x6c37a0
586321:	8d 4d d8             	lea    -0x28(%ebp),%ecx
586324:	e8 97 ed eb ff       	call   0x4450c0
586329:	e9 79 02 00 00       	jmp    0x5865a7
58632e:	6a 02                	push   $0x2
586330:	68 a4 37 6c 00       	push   $0x6c37a4
586335:	8d 4d d8             	lea    -0x28(%ebp),%ecx
586338:	e8 83 ed eb ff       	call   0x4450c0
58633d:	e9 65 02 00 00       	jmp    0x5865a7
586342:	6a 02                	push   $0x2
586344:	68 a8 37 6c 00       	push   $0x6c37a8
586349:	8d 4d d8             	lea    -0x28(%ebp),%ecx
58634c:	e8 6f ed eb ff       	call   0x4450c0
586351:	e9 51 02 00 00       	jmp    0x5865a7
586356:	6a 02                	push   $0x2
586358:	68 ac 37 6c 00       	push   $0x6c37ac
58635d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
586360:	e8 5b ed eb ff       	call   0x4450c0
586365:	e9 3d 02 00 00       	jmp    0x5865a7
58636a:	6a 02                	push   $0x2
58636c:	68 b0 37 6c 00       	push   $0x6c37b0
586371:	8d 4d d8             	lea    -0x28(%ebp),%ecx
586374:	e8 47 ed eb ff       	call   0x4450c0
586379:	e9 29 02 00 00       	jmp    0x5865a7
58637e:	8d 41 ff             	lea    -0x1(%ecx),%eax
586381:	3c 1e                	cmp    $0x1e,%al
586383:	0f 86 20 01 00 00    	jbe    0x5864a9
586389:	84 c9                	test   %cl,%cl
58638b:	0f 84 18 01 00 00    	je     0x5864a9
586391:	8b 7d e8             	mov    -0x18(%ebp),%edi
586394:	8b 55 ec             	mov    -0x14(%ebp),%edx
586397:	3b fa                	cmp    %edx,%edi
586399:	73 1d                	jae    0x5863b8
58639b:	8d 47 01             	lea    0x1(%edi),%eax
58639e:	83 fa 10             	cmp    $0x10,%edx
5863a1:	89 45 e8             	mov    %eax,-0x18(%ebp)
5863a4:	8d 45 d8             	lea    -0x28(%ebp),%eax
5863a7:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
5863ab:	88 0c 38             	mov    %cl,(%eax,%edi,1)
5863ae:	c6 44 38 01 00       	movb   $0x0,0x1(%eax,%edi,1)
5863b3:	e9 ef 01 00 00       	jmp    0x5865a7
5863b8:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5863bd:	2b c7                	sub    %edi,%eax
5863bf:	83 f8 01             	cmp    $0x1,%eax
5863c2:	0f 82 4b 02 00 00    	jb     0x586613
5863c8:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5863cb:	8d 77 01             	lea    0x1(%edi),%esi
5863ce:	83 ce 0f             	or     $0xf,%esi
5863d1:	89 4d b0             	mov    %ecx,-0x50(%ebp)
5863d4:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
5863da:	76 07                	jbe    0x5863e3
5863dc:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
5863e1:	eb 1e                	jmp    0x586401
5863e3:	8b d1                	mov    %ecx,%edx
5863e5:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5863ea:	d1 ea                	shr    $1,%edx
5863ec:	2b c2                	sub    %edx,%eax
5863ee:	3b c8                	cmp    %eax,%ecx
5863f0:	76 07                	jbe    0x5863f9
5863f2:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
5863f7:	eb 08                	jmp    0x586401
5863f9:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5863fc:	3b f0                	cmp    %eax,%esi
5863fe:	0f 42 f0             	cmovb  %eax,%esi
586401:	8d 46 01             	lea    0x1(%esi),%eax
586404:	50                   	push   %eax
586405:	8d 4d d8             	lea    -0x28(%ebp),%ecx
586408:	e8 43 30 eb ff       	call   0x439450
58640d:	8d 4f 01             	lea    0x1(%edi),%ecx
586410:	89 75 ec             	mov    %esi,-0x14(%ebp)
586413:	89 4d e8             	mov    %ecx,-0x18(%ebp)
586416:	8d 4f 01             	lea    0x1(%edi),%ecx
586419:	03 c8                	add    %eax,%ecx
58641b:	89 45 a8             	mov    %eax,-0x58(%ebp)
58641e:	83 7d b0 10          	cmpl   $0x10,-0x50(%ebp)
586422:	8d 34 38             	lea    (%eax,%edi,1),%esi
586425:	89 75 a0             	mov    %esi,-0x60(%ebp)
586428:	89 4d ac             	mov    %ecx,-0x54(%ebp)
58642b:	57                   	push   %edi
58642c:	72 55                	jb     0x586483
58642e:	8b 75 d8             	mov    -0x28(%ebp),%esi
586431:	56                   	push   %esi
586432:	50                   	push   %eax
586433:	e8 c8 ca 05 00       	call   0x5e2f00
586438:	8b 4d a0             	mov    -0x60(%ebp),%ecx
58643b:	83 c4 0c             	add    $0xc,%esp
58643e:	8a 45 bf             	mov    -0x41(%ebp),%al
586441:	88 01                	mov    %al,(%ecx)
586443:	8b 45 ac             	mov    -0x54(%ebp),%eax
586446:	8b 4d b0             	mov    -0x50(%ebp),%ecx
586449:	41                   	inc    %ecx
58644a:	c6 00 00             	movb   $0x0,(%eax)
58644d:	8b c6                	mov    %esi,%eax
58644f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
586455:	72 14                	jb     0x58646b
586457:	8b 76 fc             	mov    -0x4(%esi),%esi
58645a:	83 c1 23             	add    $0x23,%ecx
58645d:	2b c6                	sub    %esi,%eax
58645f:	83 c0 fc             	add    $0xfffffffc,%eax
586462:	83 f8 1f             	cmp    $0x1f,%eax
586465:	0f 87 a3 01 00 00    	ja     0x58660e
58646b:	51                   	push   %ecx
58646c:	56                   	push   %esi
58646d:	e8 00 ac 05 00       	call   0x5e1072
586472:	8b 45 a8             	mov    -0x58(%ebp),%eax
586475:	83 c4 08             	add    $0x8,%esp
586478:	8b 75 b8             	mov    -0x48(%ebp),%esi
58647b:	89 45 d8             	mov    %eax,-0x28(%ebp)
58647e:	e9 24 01 00 00       	jmp    0x5865a7
586483:	8d 4d d8             	lea    -0x28(%ebp),%ecx
586486:	51                   	push   %ecx
586487:	50                   	push   %eax
586488:	e8 73 ca 05 00       	call   0x5e2f00
58648d:	8a 45 bf             	mov    -0x41(%ebp),%al
586490:	83 c4 0c             	add    $0xc,%esp
586493:	88 06                	mov    %al,(%esi)
586495:	8b 45 ac             	mov    -0x54(%ebp),%eax
586498:	8b 75 b8             	mov    -0x48(%ebp),%esi
58649b:	c6 00 00             	movb   $0x0,(%eax)
58649e:	8b 45 a8             	mov    -0x58(%ebp),%eax
5864a1:	89 45 d8             	mov    %eax,-0x28(%ebp)
5864a4:	e9 fe 00 00 00       	jmp    0x5865a7
5864a9:	6a 01                	push   $0x1
5864ab:	6a 02                	push   $0x2
5864ad:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
5864b3:	e8 78 88 ff ff       	call   0x57ed30
5864b8:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
5864be:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5864c2:	68 b4 37 6c 00       	push   $0x6c37b4
5864c7:	50                   	push   %eax
5864c8:	e8 f3 4d f1 ff       	call   0x49b2c0
5864cd:	8b f8                	mov    %eax,%edi
5864cf:	6a 00                	push   $0x0
5864d1:	6a 04                	push   $0x4
5864d3:	8b 0f                	mov    (%edi),%ecx
5864d5:	8b 51 04             	mov    0x4(%ecx),%edx
5864d8:	8b 4c 3a 14          	mov    0x14(%edx,%edi,1),%ecx
5864dc:	81 e1 ff f9 ff ff    	and    $0xfffff9ff,%ecx
5864e2:	81 c9 00 08 00 00    	or     $0x800,%ecx
5864e8:	89 4c 3a 14          	mov    %ecx,0x14(%edx,%edi,1)
5864ec:	8b 07                	mov    (%edi),%eax
5864ee:	8b 40 04             	mov    0x4(%eax),%eax
5864f1:	83 4c 38 14 04       	orl    $0x4,0x14(%eax,%edi,1)
5864f6:	8b 07                	mov    (%edi),%eax
5864f8:	8b 40 04             	mov    0x4(%eax),%eax
5864fb:	c6 44 38 40 30       	movb   $0x30,0x40(%eax,%edi,1)
586500:	8d 45 90             	lea    -0x70(%ebp),%eax
586503:	50                   	push   %eax
586504:	e8 a8 8b 04 00       	call   0x5cf0b1
586509:	8b 0f                	mov    (%edi),%ecx
58650b:	83 c4 14             	add    $0x14,%esp
58650e:	8b 30                	mov    (%eax),%esi
586510:	ff 70 0c             	push   0xc(%eax)
586513:	8b 49 04             	mov    0x4(%ecx),%ecx
586516:	ff 70 08             	push   0x8(%eax)
586519:	03 cf                	add    %edi,%ecx
58651b:	51                   	push   %ecx
58651c:	8b ce                	mov    %esi,%ecx
58651e:	ff 15 e0 24 68 00    	call   *0x6824e0
586524:	ff d6                	call   *%esi
586526:	8b 75 b8             	mov    -0x48(%ebp),%esi
586529:	83 c4 0c             	add    $0xc,%esp
58652c:	8b cf                	mov    %edi,%ecx
58652e:	0f be 06             	movsbl (%esi),%eax
586531:	50                   	push   %eax
586532:	e8 c9 64 f1 ff       	call   0x49ca00
586537:	8d 45 c0             	lea    -0x40(%ebp),%eax
58653a:	50                   	push   %eax
58653b:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
586541:	e8 6a 89 ff ff       	call   0x57eeb0
586546:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
58654a:	8b c8                	mov    %eax,%ecx
58654c:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
586550:	72 02                	jb     0x586554
586552:	8b 08                	mov    (%eax),%ecx
586554:	ff 70 10             	push   0x10(%eax)
586557:	51                   	push   %ecx
586558:	8d 4d d8             	lea    -0x28(%ebp),%ecx
58655b:	e8 60 eb eb ff       	call   0x4450c0
586560:	8b 55 d4             	mov    -0x2c(%ebp),%edx
586563:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)