584208:	8b 4d f4             	mov    -0xc(%ebp),%ecx
58420b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
584212:	59                   	pop    %ecx
584213:	5f                   	pop    %edi
584214:	5e                   	pop    %esi
584215:	5b                   	pop    %ebx
584216:	8b e5                	mov    %ebp,%esp
584218:	5d                   	pop    %ebp
584219:	c3                   	ret
58421a:	e8 11 0e ec ff       	call   0x445030
58421f:	e8 bc 0c ec ff       	call   0x444ee0
584224:	e8 06 8d 06 00       	call   0x5ecf2f
584229:	cc                   	int3
58422a:	cc                   	int3
58422b:	cc                   	int3
58422c:	cc                   	int3
58422d:	cc                   	int3
58422e:	cc                   	int3
58422f:	cc                   	int3
584230:	55                   	push   %ebp
584231:	8b ec                	mov    %esp,%ebp
584233:	6a ff                	push   $0xffffffff
584235:	68 08 d7 64 00       	push   $0x64d708
58423a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
584240:	50                   	push   %eax
584241:	83 ec 20             	sub    $0x20,%esp
584244:	a1 d4 89 72 00       	mov    0x7289d4,%eax
584249:	33 c5                	xor    %ebp,%eax
58424b:	89 45 f0             	mov    %eax,-0x10(%ebp)
58424e:	56                   	push   %esi
58424f:	57                   	push   %edi
584250:	50                   	push   %eax
584251:	8d 45 f4             	lea    -0xc(%ebp),%eax
584254:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58425a:	8b f1                	mov    %ecx,%esi
58425c:	8b 45 08             	mov    0x8(%ebp),%eax
58425f:	8b d0                	mov    %eax,%edx
584261:	8b 7d 0c             	mov    0xc(%ebp),%edi
584264:	8b 48 14             	mov    0x14(%eax),%ecx
584267:	83 f9 10             	cmp    $0x10,%ecx
58426a:	72 04                	jb     0x584270
58426c:	8b 10                	mov    (%eax),%edx
58426e:	8b c2                	mov    %edx,%eax
584270:	03 ca                	add    %edx,%ecx
584272:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
584279:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
584280:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
584284:	3b c1                	cmp    %ecx,%eax
584286:	74 0c                	je     0x584294
584288:	2b c8                	sub    %eax,%ecx
58428a:	51                   	push   %ecx
58428b:	50                   	push   %eax
58428c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
58428f:	e8 ac 0f ec ff       	call   0x445240
584294:	0f 10 46 28          	movups 0x28(%esi),%xmm0
584298:	8d 56 28             	lea    0x28(%esi),%edx
58429b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5842a2:	0f 10 4d d8          	movups -0x28(%ebp),%xmm1
5842a6:	f3 0f 7e 55 e8       	movq   -0x18(%ebp),%xmm2
5842ab:	0f 11 45 d8          	movups %xmm0,-0x28(%ebp)
5842af:	f3 0f 7e 42 10       	movq   0x10(%edx),%xmm0
5842b4:	0f 11 0a             	movups %xmm1,(%edx)
5842b7:	66 0f d6 52 10       	movq   %xmm2,0x10(%edx)
5842bc:	83 7a 14 10          	cmpl   $0x10,0x14(%edx)
5842c0:	66 0f d6 45 e8       	movq   %xmm0,-0x18(%ebp)
5842c5:	72 02                	jb     0x5842c9
5842c7:	8b 12                	mov    (%edx),%edx
5842c9:	ff 75 10             	push   0x10(%ebp)
5842cc:	8b 46 38             	mov    0x38(%esi),%eax
5842cf:	8b ce                	mov    %esi,%ecx
5842d1:	57                   	push   %edi
5842d2:	03 c2                	add    %edx,%eax
5842d4:	50                   	push   %eax
5842d5:	52                   	push   %edx
5842d6:	e8 65 00 00 00       	call   0x584340
5842db:	8b 55 ec             	mov    -0x14(%ebp),%edx
5842de:	88 45 d7             	mov    %al,-0x29(%ebp)
5842e1:	83 fa 10             	cmp    $0x10,%edx
5842e4:	72 2b                	jb     0x584311
5842e6:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5842e9:	42                   	inc    %edx
5842ea:	8b c1                	mov    %ecx,%eax
5842ec:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5842f2:	72 10                	jb     0x584304
5842f4:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5842f7:	83 c2 23             	add    $0x23,%edx
5842fa:	2b c1                	sub    %ecx,%eax
5842fc:	83 c0 fc             	add    $0xfffffffc,%eax
5842ff:	83 f8 1f             	cmp    $0x1f,%eax
584302:	77 2a                	ja     0x58432e
584304:	52                   	push   %edx
584305:	51                   	push   %ecx
584306:	e8 67 cd 05 00       	call   0x5e1072
58430b:	8a 45 d7             	mov    -0x29(%ebp),%al
58430e:	83 c4 08             	add    $0x8,%esp
584311:	8b 4d f4             	mov    -0xc(%ebp),%ecx
584314:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
58431b:	59                   	pop    %ecx
58431c:	5f                   	pop    %edi
58431d:	5e                   	pop    %esi
58431e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
584321:	33 cd                	xor    %ebp,%ecx
584323:	e8 b2 d1 05 00       	call   0x5e14da
584328:	8b e5                	mov    %ebp,%esp
58432a:	5d                   	pop    %ebp
58432b:	c2 0c 00             	ret    $0xc
58432e:	e8 fc 8b 06 00       	call   0x5ecf2f
584333:	cc                   	int3
584334:	cc                   	int3
584335:	cc                   	int3
584336:	cc                   	int3
584337:	cc                   	int3
584338:	cc                   	int3
584339:	cc                   	int3
58433a:	cc                   	int3
58433b:	cc                   	int3
58433c:	cc                   	int3
58433d:	cc                   	int3
58433e:	cc                   	int3
58433f:	cc                   	int3
584340:	55                   	push   %ebp
584341:	8b ec                	mov    %esp,%ebp
584343:	6a ff                	push   $0xffffffff
584345:	68 b8 91 65 00       	push   $0x6591b8
58434a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
584350:	50                   	push   %eax
584351:	83 ec 34             	sub    $0x34,%esp
584354:	a1 d4 89 72 00       	mov    0x7289d4,%eax
584359:	33 c5                	xor    %ebp,%eax
58435b:	89 45 f0             	mov    %eax,-0x10(%ebp)
58435e:	53                   	push   %ebx
58435f:	56                   	push   %esi
584360:	57                   	push   %edi
584361:	50                   	push   %eax
584362:	8d 45 f4             	lea    -0xc(%ebp),%eax
584365:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58436b:	8b f1                	mov    %ecx,%esi
58436d:	8b 45 0c             	mov    0xc(%ebp),%eax
584370:	33 c9                	xor    %ecx,%ecx
584372:	38 4e 6c             	cmp    %cl,0x6c(%esi)
584375:	8b 55 08             	mov    0x8(%ebp),%edx
584378:	8b 7d 10             	mov    0x10(%ebp),%edi
58437b:	89 45 cc             	mov    %eax,-0x34(%ebp)
58437e:	89 46 44             	mov    %eax,0x44(%esi)
584381:	0f b6 45 14          	movzbl 0x14(%ebp),%eax
584385:	0f 45 c8             	cmovne %eax,%ecx
584388:	89 55 d0             	mov    %edx,-0x30(%ebp)
58438b:	6a 00                	push   $0x0
58438d:	88 4e 70             	mov    %cl,0x70(%esi)
584390:	8d 4e 54             	lea    0x54(%esi),%ecx
584393:	68 65 aa 68 00       	push   $0x68aa65
584398:	89 56 40             	mov    %edx,0x40(%esi)
58439b:	89 56 48             	mov    %edx,0x48(%esi)
58439e:	c7 46 4c 00 00 00 00 	movl   $0x0,0x4c(%esi)
5843a5:	c7 46 50 00 00 00 00 	movl   $0x0,0x50(%esi)
5843ac:	e8 8f 0e ec ff       	call   0x445240
5843b1:	8d 4e 14             	lea    0x14(%esi),%ecx
5843b4:	e8 e7 ea ff ff       	call   0x582ea0
5843b9:	8b 4e 10             	mov    0x10(%esi),%ecx
5843bc:	85 c9                	test   %ecx,%ecx
5843be:	74 13                	je     0x5843d3
5843c0:	8d 41 ff             	lea    -0x1(%ecx),%eax
5843c3:	89 46 10             	mov    %eax,0x10(%esi)
5843c6:	8b c8                	mov    %eax,%ecx
5843c8:	85 c0                	test   %eax,%eax
5843ca:	75 03                	jne    0x5843cf
5843cc:	89 46 0c             	mov    %eax,0xc(%esi)
5843cf:	85 c9                	test   %ecx,%ecx
5843d1:	75 ed                	jne    0x5843c0
5843d3:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5843d6:	89 7d d4             	mov    %edi,-0x2c(%ebp)
5843d9:	50                   	push   %eax
5843da:	8b ce                	mov    %esi,%ecx
5843dc:	e8 ff 00 00 00       	call   0x5844e0
5843e1:	8b ce                	mov    %esi,%ecx
5843e3:	e8 08 0f 00 00       	call   0x5852f0
5843e8:	8a d8                	mov    %al,%bl
5843ea:	8b ce                	mov    %esi,%ecx
5843ec:	8d 45 c0             	lea    -0x40(%ebp),%eax
5843ef:	50                   	push   %eax
5843f0:	e8 7b 15 00 00       	call   0x585970
5843f5:	80 7e 70 00          	cmpb   $0x0,0x70(%esi)
5843f9:	74 13                	je     0x58440e
5843fb:	83 7e 64 00          	cmpl   $0x0,0x64(%esi)
5843ff:	74 0d                	je     0x58440e
584401:	6a 02                	push   $0x2
584403:	8d 46 54             	lea    0x54(%esi),%eax
584406:	8b cf                	mov    %edi,%ecx
584408:	50                   	push   %eax
584409:	e8 92 da ff ff       	call   0x581ea0
58440e:	80 7e 6d 00          	cmpb   $0x0,0x6d(%esi)
584412:	0f 84 9e 00 00 00    	je     0x5844b6
584418:	8b cf                	mov    %edi,%ecx
58441a:	e8 11 d4 ff ff       	call   0x581830
58441f:	84 c0                	test   %al,%al
584421:	0f 85 8f 00 00 00    	jne    0x5844b6
584427:	8b cf                	mov    %edi,%ecx
584429:	e8 72 d4 ff ff       	call   0x5818a0
58442e:	84 c0                	test   %al,%al
584430:	0f 85 80 00 00 00    	jne    0x5844b6
584436:	8b 45 d0             	mov    -0x30(%ebp),%eax
584439:	8d 4d d8             	lea    -0x28(%ebp),%ecx
58443c:	6a 41                	push   $0x41
58443e:	89 45 c4             	mov    %eax,-0x3c(%ebp)
584441:	8b 45 cc             	mov    -0x34(%ebp),%eax
584444:	68 80 34 6c 00       	push   $0x6c3480
584449:	c7 45 c0 0d 00 00 00 	movl   $0xd,-0x40(%ebp)
584450:	89 45 c8             	mov    %eax,-0x38(%ebp)
584453:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
58445a:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
584461:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
584465:	e8 d6 0d ec ff       	call   0x445240
58446a:	6a 00                	push   $0x0
58446c:	8d 45 c0             	lea    -0x40(%ebp),%eax
58446f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
584476:	50                   	push   %eax
584477:	8d 45 d8             	lea    -0x28(%ebp),%eax
58447a:	8b ce                	mov    %esi,%ecx
58447c:	50                   	push   %eax
58447d:	e8 0e eb ff ff       	call   0x582f90
584482:	8b 55 ec             	mov    -0x14(%ebp),%edx
584485:	83 fa 10             	cmp    $0x10,%edx
584488:	72 28                	jb     0x5844b2
58448a:	8b 4d d8             	mov    -0x28(%ebp),%ecx
58448d:	42                   	inc    %edx
58448e:	8b c1                	mov    %ecx,%eax
584490:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
584496:	72 10                	jb     0x5844a8
584498:	8b 49 fc             	mov    -0x4(%ecx),%ecx
58449b:	83 c2 23             	add    $0x23,%edx
58449e:	2b c1                	sub    %ecx,%eax
5844a0:	83 c0 fc             	add    $0xfffffffc,%eax
5844a3:	83 f8 1f             	cmp    $0x1f,%eax
5844a6:	77 2e                	ja     0x5844d6
5844a8:	52                   	push   %edx
5844a9:	51                   	push   %ecx
5844aa:	e8 c3 cb 05 00       	call   0x5e1072
5844af:	83 c4 08             	add    $0x8,%esp
5844b2:	32 c0                	xor    %al,%al
5844b4:	eb 02                	jmp    0x5844b8
5844b6:	8a c3                	mov    %bl,%al
5844b8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5844bb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5844c2:	59                   	pop    %ecx
5844c3:	5f                   	pop    %edi
5844c4:	5e                   	pop    %esi
5844c5:	5b                   	pop    %ebx
5844c6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5844c9:	33 cd                	xor    %ebp,%ecx
5844cb:	e8 0a d0 05 00       	call   0x5e14da
5844d0:	8b e5                	mov    %ebp,%esp
5844d2:	5d                   	pop    %ebp
5844d3:	c2 10 00             	ret    $0x10
5844d6:	e8 54 8a 06 00       	call   0x5ecf2f
5844db:	cc                   	int3
5844dc:	cc                   	int3
5844dd:	cc                   	int3
5844de:	cc                   	int3
5844df:	cc                   	int3
5844e0:	55                   	push   %ebp
5844e1:	8b ec                	mov    %esp,%ebp
5844e3:	53                   	push   %ebx
5844e4:	56                   	push   %esi
5844e5:	8b f1                	mov    %ecx,%esi
5844e7:	57                   	push   %edi
5844e8:	8b 4e 10             	mov    0x10(%esi),%ecx
5844eb:	8b f9                	mov    %ecx,%edi
5844ed:	8b 56 0c             	mov    0xc(%esi),%edx
5844f0:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5844f3:	a8 03                	test   $0x3,%al
5844f5:	75 1a                	jne    0x584511
5844f7:	8d 41 04             	lea    0x4(%ecx),%eax
5844fa:	c1 e8 02             	shr    $0x2,%eax
5844fd:	39 46 08             	cmp    %eax,0x8(%esi)
584500:	77 0f                	ja     0x584511
584502:	6a 01                	push   $0x1
584504:	8b ce                	mov    %esi,%ecx
584506:	e8 f5 e5 ff ff       	call   0x582b00
58450b:	8b 56 0c             	mov    0xc(%esi),%edx
58450e:	8b 7e 10             	mov    0x10(%esi),%edi
584511:	8b 4e 08             	mov    0x8(%esi),%ecx
584514:	8d 04 8d ff ff ff ff 	lea    -0x1(,%ecx,4),%eax
58451b:	49                   	dec    %ecx
58451c:	23 c2                	and    %edx,%eax
58451e:	89 46 0c             	mov    %eax,0xc(%esi)
584521:	03 f8                	add    %eax,%edi
584523:	8b c7                	mov    %edi,%eax
584525:	c1 e8 02             	shr    $0x2,%eax
584528:	23 c8                	and    %eax,%ecx
58452a:	8d 1c 8d 00 00 00 00 	lea    0x0(,%ecx,4),%ebx
584531:	8b 4e 04             	mov    0x4(%esi),%ecx
584534:	83 3c 19 00          	cmpl   $0x0,(%ecx,%ebx,1)
584538:	75 13                	jne    0x58454d
58453a:	6a 10                	push   $0x10
58453c:	e8 01 cb 05 00       	call   0x5e1042
584541:	8b 4e 04             	mov    0x4(%esi),%ecx
584544:	83 c4 04             	add    $0x4,%esp
584547:	89 04 0b             	mov    %eax,(%ebx,%ecx,1)
58454a:	8b 4e 04             	mov    0x4(%esi),%ecx
58454d:	8b 0c 0b             	mov    (%ebx,%ecx,1),%ecx
584550:	83 e7 03             	and    $0x3,%edi
584553:	8b 45 08             	mov    0x8(%ebp),%eax
584556:	8b 00                	mov    (%eax),%eax
584558:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
58455b:	ff 46 10             	incl   0x10(%esi)
58455e:	5f                   	pop    %edi
58455f:	5e                   	pop    %esi
584560:	5b                   	pop    %ebx
584561:	5d                   	pop    %ebp
584562:	c2 04 00             	ret    $0x4
584565:	cc                   	int3
584566:	cc                   	int3
584567:	cc                   	int3
584568:	cc                   	int3
584569:	cc                   	int3
58456a:	cc                   	int3
58456b:	cc                   	int3
58456c:	cc                   	int3
58456d:	cc                   	int3
58456e:	cc                   	int3
58456f:	cc                   	int3
584570:	55                   	push   %ebp
584571:	8b ec                	mov    %esp,%ebp
584573:	53                   	push   %ebx
584574:	8b d9                	mov    %ecx,%ebx
584576:	56                   	push   %esi
584577:	57                   	push   %edi
584578:	8b 4b 10             	mov    0x10(%ebx),%ecx
58457b:	8b 53 08             	mov    0x8(%ebx),%edx
58457e:	8d 41 01             	lea    0x1(%ecx),%eax
584581:	3b d0                	cmp    %eax,%edx
584583:	77 0f                	ja     0x584594
584585:	6a 01                	push   $0x1
584587:	8b cb                	mov    %ebx,%ecx
584589:	e8 12 e7 ff ff       	call   0x582ca0
58458e:	8b 53 08             	mov    0x8(%ebx),%edx
584591:	8b 4b 10             	mov    0x10(%ebx),%ecx
584594:	8d 42 ff             	lea    -0x1(%edx),%eax
584597:	21 43 0c             	and    %eax,0xc(%ebx)
58459a:	8d 42 ff             	lea    -0x1(%edx),%eax
58459d:	03 4b 0c             	add    0xc(%ebx),%ecx
5845a0:	23 c8                	and    %eax,%ecx
5845a2:	8b 43 04             	mov    0x4(%ebx),%eax
5845a5:	83 3c 88 00          	cmpl   $0x0,(%eax,%ecx,4)
5845a9:	8d 3c 8d 00 00 00 00 	lea    0x0(,%ecx,4),%edi
5845b0:	75 13                	jne    0x5845c5
5845b2:	6a 28                	push   $0x28
5845b4:	e8 89 ca 05 00       	call   0x5e1042
5845b9:	8b 4b 04             	mov    0x4(%ebx),%ecx
5845bc:	83 c4 04             	add    $0x4,%esp