584009:	3b f8                	cmp    %eax,%edi
58400b:	76 07                	jbe    0x584014
58400d:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
584012:	eb 08                	jmp    0x58401c
584014:	8d 04 3a             	lea    (%edx,%edi,1),%eax
584017:	3b d8                	cmp    %eax,%ebx
584019:	0f 42 d8             	cmovb  %eax,%ebx
58401c:	8d 43 01             	lea    0x1(%ebx),%eax
58401f:	3d 00 10 00 00       	cmp    $0x1000,%eax
584024:	72 2a                	jb     0x584050
584026:	8d 48 23             	lea    0x23(%eax),%ecx
584029:	3b c8                	cmp    %eax,%ecx
58402b:	0f 86 ee 01 00 00    	jbe    0x58421f
584031:	51                   	push   %ecx
584032:	e8 0b d0 05 00       	call   0x5e1042
584037:	83 c4 04             	add    $0x4,%esp
58403a:	85 c0                	test   %eax,%eax
58403c:	0f 84 e2 01 00 00    	je     0x584224
584042:	8b 4d ec             	mov    -0x14(%ebp),%ecx
584045:	8d 78 23             	lea    0x23(%eax),%edi
584048:	83 e7 e0             	and    $0xffffffe0,%edi
58404b:	89 47 fc             	mov    %eax,-0x4(%edi)
58404e:	eb 16                	jmp    0x584066
584050:	85 c0                	test   %eax,%eax
584052:	74 10                	je     0x584064
584054:	50                   	push   %eax
584055:	e8 e8 cf 05 00       	call   0x5e1042
58405a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
58405d:	83 c4 04             	add    $0x4,%esp
584060:	8b f8                	mov    %eax,%edi
584062:	eb 02                	jmp    0x584066
584064:	33 ff                	xor    %edi,%edi
584066:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
58406a:	8d 41 01             	lea    0x1(%ecx),%eax
58406d:	89 5e 14             	mov    %ebx,0x14(%esi)
584070:	8d 1c 0f             	lea    (%edi,%ecx,1),%ebx
584073:	89 46 10             	mov    %eax,0x10(%esi)
584076:	89 5d ec             	mov    %ebx,-0x14(%ebp)
584079:	51                   	push   %ecx
58407a:	72 45                	jb     0x5840c1
58407c:	8b 1e                	mov    (%esi),%ebx
58407e:	53                   	push   %ebx
58407f:	57                   	push   %edi
584080:	e8 7b ee 05 00       	call   0x5e2f00
584085:	8b 45 ec             	mov    -0x14(%ebp),%eax
584088:	83 c4 0c             	add    $0xc,%esp
58408b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
58408e:	41                   	inc    %ecx
58408f:	66 c7 00 0a 00       	movw   $0xa,(%eax)
584094:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
58409a:	72 16                	jb     0x5840b2
58409c:	8b 53 fc             	mov    -0x4(%ebx),%edx
58409f:	83 c1 23             	add    $0x23,%ecx
5840a2:	2b da                	sub    %edx,%ebx
5840a4:	8d 43 fc             	lea    -0x4(%ebx),%eax
5840a7:	83 f8 1f             	cmp    $0x1f,%eax
5840aa:	0f 87 74 01 00 00    	ja     0x584224
5840b0:	8b da                	mov    %edx,%ebx
5840b2:	51                   	push   %ecx
5840b3:	53                   	push   %ebx
5840b4:	e8 b9 cf 05 00       	call   0x5e1072
5840b9:	83 c4 08             	add    $0x8,%esp
5840bc:	e9 35 01 00 00       	jmp    0x5841f6
5840c1:	56                   	push   %esi
5840c2:	57                   	push   %edi
5840c3:	e8 38 ee 05 00       	call   0x5e2f00
5840c8:	66 c7 03 0a 00       	movw   $0xa,(%ebx)
5840cd:	e9 21 01 00 00       	jmp    0x5841f3
5840d2:	8b 4e 10             	mov    0x10(%esi),%ecx
5840d5:	8b 7e 14             	mov    0x14(%esi),%edi
5840d8:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5840db:	89 7d ec             	mov    %edi,-0x14(%ebp)
5840de:	3b cf                	cmp    %edi,%ecx
5840e0:	73 1c                	jae    0x5840fe
5840e2:	8d 41 01             	lea    0x1(%ecx),%eax
5840e5:	89 46 10             	mov    %eax,0x10(%esi)
5840e8:	8b c6                	mov    %esi,%eax
5840ea:	83 ff 10             	cmp    $0x10,%edi
5840ed:	72 02                	jb     0x5840f1
5840ef:	8b 06                	mov    (%esi),%eax
5840f1:	88 14 08             	mov    %dl,(%eax,%ecx,1)
5840f4:	c6 44 08 01 00       	movb   $0x0,0x1(%eax,%ecx,1)
5840f9:	e9 fa 00 00 00       	jmp    0x5841f8
5840fe:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
584103:	2b c1                	sub    %ecx,%eax
584105:	83 f8 01             	cmp    $0x1,%eax
584108:	0f 82 0c 01 00 00    	jb     0x58421a
58410e:	8d 59 01             	lea    0x1(%ecx),%ebx
584111:	83 cb 0f             	or     $0xf,%ebx
584114:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
58411a:	76 07                	jbe    0x584123
58411c:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
584121:	eb 1e                	jmp    0x584141
584123:	8b d7                	mov    %edi,%edx
584125:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
58412a:	d1 ea                	shr    $1,%edx
58412c:	2b c2                	sub    %edx,%eax
58412e:	3b f8                	cmp    %eax,%edi
584130:	76 07                	jbe    0x584139
584132:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
584137:	eb 08                	jmp    0x584141
584139:	8d 04 3a             	lea    (%edx,%edi,1),%eax
58413c:	3b d8                	cmp    %eax,%ebx
58413e:	0f 42 d8             	cmovb  %eax,%ebx
584141:	8d 43 01             	lea    0x1(%ebx),%eax
584144:	3d 00 10 00 00       	cmp    $0x1000,%eax
584149:	72 2a                	jb     0x584175
58414b:	8d 48 23             	lea    0x23(%eax),%ecx
58414e:	3b c8                	cmp    %eax,%ecx
584150:	0f 86 c9 00 00 00    	jbe    0x58421f
584156:	51                   	push   %ecx
584157:	e8 e6 ce 05 00       	call   0x5e1042
58415c:	83 c4 04             	add    $0x4,%esp
58415f:	85 c0                	test   %eax,%eax
584161:	0f 84 bd 00 00 00    	je     0x584224
584167:	8b 4d e8             	mov    -0x18(%ebp),%ecx
58416a:	8d 78 23             	lea    0x23(%eax),%edi
58416d:	83 e7 e0             	and    $0xffffffe0,%edi
584170:	89 47 fc             	mov    %eax,-0x4(%edi)
584173:	eb 16                	jmp    0x58418b
584175:	85 c0                	test   %eax,%eax
584177:	74 10                	je     0x584189
584179:	50                   	push   %eax
58417a:	e8 c3 ce 05 00       	call   0x5e1042
58417f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
584182:	83 c4 04             	add    $0x4,%esp
584185:	8b f8                	mov    %eax,%edi
584187:	eb 02                	jmp    0x58418b
584189:	33 ff                	xor    %edi,%edi
58418b:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
58418f:	8d 41 01             	lea    0x1(%ecx),%eax
584192:	89 5e 14             	mov    %ebx,0x14(%esi)
584195:	8d 1c 0f             	lea    (%edi,%ecx,1),%ebx
584198:	89 46 10             	mov    %eax,0x10(%esi)
58419b:	89 5d e8             	mov    %ebx,-0x18(%ebp)
58419e:	51                   	push   %ecx
58419f:	72 42                	jb     0x5841e3
5841a1:	8b 1e                	mov    (%esi),%ebx
5841a3:	53                   	push   %ebx
5841a4:	57                   	push   %edi
5841a5:	e8 56 ed 05 00       	call   0x5e2f00
5841aa:	8b 45 e8             	mov    -0x18(%ebp),%eax
5841ad:	83 c4 0c             	add    $0xc,%esp
5841b0:	8a 4d f3             	mov    -0xd(%ebp),%cl
5841b3:	88 08                	mov    %cl,(%eax)
5841b5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5841b8:	41                   	inc    %ecx
5841b9:	c6 40 01 00          	movb   $0x0,0x1(%eax)
5841bd:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5841c3:	72 12                	jb     0x5841d7
5841c5:	8b 53 fc             	mov    -0x4(%ebx),%edx
5841c8:	83 c1 23             	add    $0x23,%ecx
5841cb:	2b da                	sub    %edx,%ebx
5841cd:	8d 43 fc             	lea    -0x4(%ebx),%eax
5841d0:	83 f8 1f             	cmp    $0x1f,%eax
5841d3:	77 4f                	ja     0x584224
5841d5:	8b da                	mov    %edx,%ebx
5841d7:	51                   	push   %ecx
5841d8:	53                   	push   %ebx
5841d9:	e8 94 ce 05 00       	call   0x5e1072
5841de:	83 c4 08             	add    $0x8,%esp
5841e1:	eb 13                	jmp    0x5841f6
5841e3:	56                   	push   %esi
5841e4:	57                   	push   %edi
5841e5:	e8 16 ed 05 00       	call   0x5e2f00
5841ea:	8a 4d f3             	mov    -0xd(%ebp),%cl
5841ed:	88 0b                	mov    %cl,(%ebx)
5841ef:	c6 43 01 00          	movb   $0x0,0x1(%ebx)
5841f3:	83 c4 0c             	add    $0xc,%esp
5841f6:	89 3e                	mov    %edi,(%esi)
5841f8:	8b 45 0c             	mov    0xc(%ebp),%eax
5841fb:	8b 7d 10             	mov    0x10(%ebp),%edi
5841fe:	3b c7                	cmp    %edi,%eax
584200:	0f 85 8a fd ff ff    	jne    0x583f90
584206:	8b c6                	mov    %esi,%eax
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