14005417c:	c1 e9 07             	shr    $0x7,%ecx
14005417f:	80 c9 80             	or     $0x80,%cl
140054182:	88 48 01             	mov    %cl,0x1(%rax)
140054185:	44 89 c1             	mov    %r8d,%ecx
140054188:	c1 e9 0e             	shr    $0xe,%ecx
14005418b:	80 c9 80             	or     $0x80,%cl
14005418e:	88 48 02             	mov    %cl,0x2(%rax)
140054191:	41 c1 e8 15          	shr    $0x15,%r8d
140054195:	44 88 40 03          	mov    %r8b,0x3(%rax)
140054199:	b0 01                	mov    $0x1,%al
14005419b:	eb c7                	jmp    0x140054164
14005419d:	cc                   	int3
14005419e:	cc                   	int3
14005419f:	cc                   	int3
1400541a0:	41 56                	push   %r14
1400541a2:	56                   	push   %rsi
1400541a3:	57                   	push   %rdi
1400541a4:	53                   	push   %rbx
1400541a5:	48 83 ec 38          	sub    $0x38,%rsp
1400541a9:	89 d7                	mov    %edx,%edi
1400541ab:	48 89 ce             	mov    %rcx,%rsi
1400541ae:	48 8b 05 8b ce 0a 00 	mov    0xace8b(%rip),%rax        # 0x140101040
1400541b5:	48 31 e0             	xor    %rsp,%rax
1400541b8:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400541bd:	48 83 79 10 00       	cmpq   $0x0,0x10(%rcx)
1400541c2:	0f 85 bc 00 00 00    	jne    0x140054284
1400541c8:	89 f9                	mov    %edi,%ecx
1400541ca:	c1 e1 03             	shl    $0x3,%ecx
1400541cd:	8d 14 fd 02 00 00 00 	lea    0x2(,%rdi,8),%edx
1400541d4:	c6 44 24 2c aa       	movb   $0xaa,0x2c(%rsp)
1400541d9:	c7 44 24 28 aa aa aa 	movl   $0xaaaaaaaa,0x28(%rsp)
1400541e0:	aa
1400541e1:	48 8d 44 24 28       	lea    0x28(%rsp),%rax
1400541e6:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
1400541ec:	0f 83 ac 00 00 00    	jae    0x14005429e
1400541f2:	48 89 c1             	mov    %rax,%rcx
1400541f5:	41 89 d0             	mov    %edx,%r8d
1400541f8:	44 88 01             	mov    %r8b,(%rcx)
1400541fb:	48 f7 d8             	neg    %rax
1400541fe:	48 8d 1c 01          	lea    (%rcx,%rax,1),%rbx
140054202:	48 ff c3             	inc    %rbx
140054205:	48 8b 3e             	mov    (%rsi),%rdi
140054208:	41 89 d8             	mov    %ebx,%r8d
14005420b:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
14005420f:	4e 8d 34 01          	lea    (%rcx,%r8,1),%r14
140054213:	4c 3b 77 10          	cmp    0x10(%rdi),%r14
140054217:	0f 87 ab 00 00 00    	ja     0x1400542c8
14005421d:	4d 85 c0             	test   %r8,%r8
140054220:	74 0a                	je     0x14005422c
140054222:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140054227:	e8 44 99 04 00       	call   0x14009db70
14005422c:	4c 89 77 18          	mov    %r14,0x18(%rdi)
140054230:	01 5e 20             	add    %ebx,0x20(%rsi)
140054233:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140054237:	e8 14 01 00 00       	call   0x140054350
14005423c:	48 89 c7             	mov    %rax,%rdi
14005423f:	0f 10 06             	movups (%rsi),%xmm0
140054242:	0f 11 00             	movups %xmm0,(%rax)
140054245:	0f 57 c0             	xorps  %xmm0,%xmm0
140054248:	0f 11 40 10          	movups %xmm0,0x10(%rax)
14005424c:	48 c7 40 1d 00 00 00 	movq   $0x0,0x1d(%rax)
140054253:	00
140054254:	48 8b 0e             	mov    (%rsi),%rcx
140054257:	ba 04 00 00 00       	mov    $0x4,%edx
14005425c:	e8 8f 08 00 00       	call   0x140054af0
140054261:	48 89 47 18          	mov    %rax,0x18(%rdi)
140054265:	83 46 20 04          	addl   $0x4,0x20(%rsi)
140054269:	48 89 7e 10          	mov    %rdi,0x10(%rsi)
14005426d:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140054272:	48 31 e1             	xor    %rsp,%rcx
140054275:	48 3b 0d c4 cd 0a 00 	cmp    0xacdc4(%rip),%rcx        # 0x140101040
14005427c:	74 13                	je     0x140054291
14005427e:	e8 4d b0 01 00       	call   0x14006f2d0
140054283:	cc                   	int3
140054284:	48 89 f1             	mov    %rsi,%rcx
140054287:	e8 c4 fb ff ff       	call   0x140053e50
14005428c:	e9 37 ff ff ff       	jmp    0x1400541c8
140054291:	48 89 f8             	mov    %rdi,%rax
140054294:	48 83 c4 38          	add    $0x38,%rsp
140054298:	5b                   	pop    %rbx
140054299:	5f                   	pop    %rdi
14005429a:	5e                   	pop    %rsi
14005429b:	41 5e                	pop    %r14
14005429d:	c3                   	ret
14005429e:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
1400542a3:	41 89 d0             	mov    %edx,%r8d
1400542a6:	41 89 d1             	mov    %edx,%r9d
1400542a9:	41 80 c9 80          	or     $0x80,%r9b
1400542ad:	44 88 09             	mov    %r9b,(%rcx)
1400542b0:	48 ff c1             	inc    %rcx
1400542b3:	41 c1 e8 07          	shr    $0x7,%r8d
1400542b7:	81 fa ff 3f 00 00    	cmp    $0x3fff,%edx
1400542bd:	44 89 c2             	mov    %r8d,%edx
1400542c0:	0f 86 32 ff ff ff    	jbe    0x1400541f8
1400542c6:	eb de                	jmp    0x1400542a6
1400542c8:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
1400542cd:	48 89 f9             	mov    %rdi,%rcx
1400542d0:	e8 3b 07 00 00       	call   0x140054a10
1400542d5:	e9 56 ff ff ff       	jmp    0x140054230
1400542da:	cc                   	int3
1400542db:	cc                   	int3
1400542dc:	cc                   	int3
1400542dd:	cc                   	int3
1400542de:	cc                   	int3
1400542df:	cc                   	int3
1400542e0:	56                   	push   %rsi
1400542e1:	48 83 ec 20          	sub    $0x20,%rsp
1400542e5:	48 89 ce             	mov    %rcx,%rsi
1400542e8:	b9 90 02 00 00       	mov    $0x290,%ecx
1400542ed:	e8 a2 9b 01 00       	call   0x14006de94
1400542f2:	48 85 c0             	test   %rax,%rax
1400542f5:	74 1d                	je     0x140054314
1400542f7:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1400542fe:	c7 80 88 02 00 00 00 	movl   $0x0,0x288(%rax)
140054305:	00 00 00
140054308:	48 89 06             	mov    %rax,(%rsi)
14005430b:	48 89 f0             	mov    %rsi,%rax
14005430e:	48 83 c4 20          	add    $0x20,%rsp
140054312:	5e                   	pop    %rsi
140054313:	c3                   	ret
140054314:	0f 0b                	ud2
140054316:	cc                   	int3
140054317:	cc                   	int3
140054318:	cc                   	int3
140054319:	cc                   	int3
14005431a:	cc                   	int3
14005431b:	cc                   	int3
14005431c:	cc                   	int3
14005431d:	cc                   	int3
14005431e:	cc                   	int3
14005431f:	cc                   	int3
140054320:	56                   	push   %rsi
140054321:	57                   	push   %rdi
140054322:	48 83 ec 28          	sub    $0x28,%rsp
140054326:	48 89 ce             	mov    %rcx,%rsi
140054329:	48 8b 09             	mov    (%rcx),%rcx
14005432c:	48 85 c9             	test   %rcx,%rcx
14005432f:	74 10                	je     0x140054341
140054331:	48 8b 39             	mov    (%rcx),%rdi
140054334:	e8 97 9b 01 00       	call   0x14006ded0
140054339:	48 89 f9             	mov    %rdi,%rcx
14005433c:	48 85 ff             	test   %rdi,%rdi
14005433f:	75 f0                	jne    0x140054331
140054341:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
140054348:	48 83 c4 28          	add    $0x28,%rsp
14005434c:	5f                   	pop    %rdi
14005434d:	5e                   	pop    %rsi
14005434e:	c3                   	ret
14005434f:	cc                   	int3
140054350:	56                   	push   %rsi
140054351:	57                   	push   %rdi
140054352:	48 83 ec 28          	sub    $0x28,%rsp
140054356:	48 89 ce             	mov    %rcx,%rsi
140054359:	48 8b 39             	mov    (%rcx),%rdi
14005435c:	8b 8f 88 02 00 00    	mov    0x288(%rdi),%ecx
140054362:	83 f9 10             	cmp    $0x10,%ecx
140054365:	73 34                	jae    0x14005439b
140054367:	8d 41 01             	lea    0x1(%rcx),%eax
14005436a:	89 87 88 02 00 00    	mov    %eax,0x288(%rdi)
140054370:	89 c8                	mov    %ecx,%eax
140054372:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
140054376:	48 8d 04 cf          	lea    (%rdi,%rcx,8),%rax
14005437a:	48 83 c0 08          	add    $0x8,%rax
14005437e:	0f 57 c0             	xorps  %xmm0,%xmm0
140054381:	0f 11 44 cf 18       	movups %xmm0,0x18(%rdi,%rcx,8)
140054386:	0f 11 44 cf 08       	movups %xmm0,0x8(%rdi,%rcx,8)
14005438b:	48 c7 44 cf 28 00 00 	movq   $0x0,0x28(%rdi,%rcx,8)
140054392:	00 00
140054394:	48 83 c4 28          	add    $0x28,%rsp
140054398:	5f                   	pop    %rdi
140054399:	5e                   	pop    %rsi
14005439a:	c3                   	ret
14005439b:	b9 90 02 00 00       	mov    $0x290,%ecx
1400543a0:	e8 ef 9a 01 00       	call   0x14006de94
1400543a5:	48 85 c0             	test   %rax,%rax
1400543a8:	74 17                	je     0x1400543c1
1400543aa:	48 89 38             	mov    %rdi,(%rax)
1400543ad:	c7 80 88 02 00 00 00 	movl   $0x0,0x288(%rax)
1400543b4:	00 00 00
1400543b7:	48 89 06             	mov    %rax,(%rsi)
1400543ba:	31 c9                	xor    %ecx,%ecx
1400543bc:	48 89 c7             	mov    %rax,%rdi
1400543bf:	eb a6                	jmp    0x140054367
1400543c1:	0f 0b                	ud2
1400543c3:	cc                   	int3
1400543c4:	cc                   	int3
1400543c5:	cc                   	int3
1400543c6:	cc                   	int3
1400543c7:	cc                   	int3
1400543c8:	cc                   	int3
1400543c9:	cc                   	int3
1400543ca:	cc                   	int3
1400543cb:	cc                   	int3
1400543cc:	cc                   	int3
1400543cd:	cc                   	int3
1400543ce:	cc                   	int3
1400543cf:	cc                   	int3
1400543d0:	48 8b 01             	mov    (%rcx),%rax
1400543d3:	ff 88 88 02 00 00    	decl   0x288(%rax)
1400543d9:	75 0b                	jne    0x1400543e6
1400543db:	48 8b 01             	mov    (%rcx),%rax
1400543de:	48 8b 10             	mov    (%rax),%rdx
1400543e1:	48 85 d2             	test   %rdx,%rdx
1400543e4:	75 01                	jne    0x1400543e7
1400543e6:	c3                   	ret
1400543e7:	48 89 11             	mov    %rdx,(%rcx)
1400543ea:	48 85 c0             	test   %rax,%rax
1400543ed:	74 08                	je     0x1400543f7
1400543ef:	48 89 c1             	mov    %rax,%rcx
1400543f2:	e9 d9 9a 01 00       	jmp    0x14006ded0
1400543f7:	0f 0b                	ud2
1400543f9:	cc                   	int3
1400543fa:	cc                   	int3
1400543fb:	cc                   	int3
1400543fc:	cc                   	int3
1400543fd:	cc                   	int3
1400543fe:	cc                   	int3
1400543ff:	cc                   	int3
140054400:	48 89 c8             	mov    %rcx,%rax
140054403:	48 8d 0d 46 d9 08 00 	lea    0x8d946(%rip),%rcx        # 0x1400e1d50
14005440a:	48 89 08             	mov    %rcx,(%rax)
14005440d:	48 89 50 08          	mov    %rdx,0x8(%rax)
140054411:	4c 89 40 10          	mov    %r8,0x10(%rax)
140054415:	0f 57 c0             	xorps  %xmm0,%xmm0
140054418:	0f 11 40 18          	movups %xmm0,0x18(%rax)
14005441c:	0f 11 40 28          	movups %xmm0,0x28(%rax)
140054420:	0f 11 40 38          	movups %xmm0,0x38(%rax)
140054424:	48 c7 40 48 00 00 00 	movq   $0x0,0x48(%rax)
14005442b:	00
14005442c:	c3                   	ret
14005442d:	cc                   	int3
14005442e:	cc                   	int3
14005442f:	cc                   	int3
140054430:	56                   	push   %rsi
140054431:	57                   	push   %rdi
140054432:	53                   	push   %rbx
140054433:	48 83 ec 20          	sub    $0x20,%rsp
140054437:	48 89 ce             	mov    %rcx,%rsi
14005443a:	48 8d 05 0f d9 08 00 	lea    0x8d90f(%rip),%rax        # 0x1400e1d50
140054441:	48 89 01             	mov    %rax,(%rcx)
140054444:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140054448:	48 c7 46 38 00 00 00 	movq   $0x0,0x38(%rsi)
14005444f:	00
140054450:	48 85 c9             	test   %rcx,%rcx
140054453:	75 5a                	jne    0x1400544af
140054455:	48 8b 7e 20          	mov    0x20(%rsi),%rdi
140054459:	48 85 ff             	test   %rdi,%rdi
14005445c:	74 42                	je     0x1400544a0
14005445e:	48 8b 5e 28          	mov    0x28(%rsi),%rbx
140054462:	48 89 f9             	mov    %rdi,%rcx
140054465:	48 39 df             	cmp    %rbx,%rdi
140054468:	74 2d                	je     0x140054497
14005446a:	48 83 c3 e8          	add    $0xffffffffffffffe8,%rbx
14005446e:	48 85 db             	test   %rbx,%rbx
140054471:	74 43                	je     0x1400544b6
140054473:	48 8b 0b             	mov    (%rbx),%rcx
140054476:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
14005447d:	48 85 c9             	test   %rcx,%rcx
140054480:	74 05                	je     0x140054487
140054482:	e8 8d 9a 01 00       	call   0x14006df14
140054487:	48 8d 43 e8          	lea    -0x18(%rbx),%rax
14005448b:	48 39 fb             	cmp    %rdi,%rbx
14005448e:	48 89 c3             	mov    %rax,%rbx
140054491:	75 db                	jne    0x14005446e
140054493:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
140054497:	48 89 7e 28          	mov    %rdi,0x28(%rsi)
14005449b:	e8 30 9a 01 00       	call   0x14006ded0
1400544a0:	48 89 f1             	mov    %rsi,%rcx
1400544a3:	48 83 c4 20          	add    $0x20,%rsp
1400544a7:	5b                   	pop    %rbx
1400544a8:	5f                   	pop    %rdi
1400544a9:	5e                   	pop    %rsi
1400544aa:	e9 11 05 00 00       	jmp    0x1400549c0
1400544af:	e8 60 9a 01 00       	call   0x14006df14
1400544b4:	eb 9f                	jmp    0x140054455
1400544b6:	0f 0b                	ud2
1400544b8:	cc                   	int3
1400544b9:	cc                   	int3
1400544ba:	cc                   	int3
1400544bb:	cc                   	int3
1400544bc:	cc                   	int3
1400544bd:	cc                   	int3
1400544be:	cc                   	int3
1400544bf:	cc                   	int3
1400544c0:	41 57                	push   %r15
1400544c2:	41 56                	push   %r14
1400544c4:	41 55                	push   %r13
1400544c6:	41 54                	push   %r12
1400544c8:	56                   	push   %rsi
1400544c9:	57                   	push   %rdi
1400544ca:	55                   	push   %rbp
1400544cb:	53                   	push   %rbx
1400544cc:	48 83 ec 48          	sub    $0x48,%rsp
1400544d0:	48 8b 41 18          	mov    0x18(%rcx),%rax
1400544d4:	48 85 c0             	test   %rax,%rax
1400544d7:	0f 84 45 02 00 00    	je     0x140054722
1400544dd:	48 89 d6             	mov    %rdx,%rsi
1400544e0:	48 89 cf             	mov    %rcx,%rdi
1400544e3:	48 8b 49 28          	mov    0x28(%rcx),%rcx
1400544e7:	48 39 4f 20          	cmp    %rcx,0x20(%rdi)
1400544eb:	0f 85 58 01 00 00    	jne    0x140054649
1400544f1:	4c 8d 77 20          	lea    0x20(%rdi),%r14
1400544f5:	48 8b 47 38          	mov    0x38(%rdi),%rax
1400544f9:	48 85 c0             	test   %rax,%rax
1400544fc:	0f 85 58 01 00 00    	jne    0x14005465a
140054502:	48 8b 5f 28          	mov    0x28(%rdi),%rbx
140054506:	48 8b 4f 30          	mov    0x30(%rdi),%rcx
14005450a:	48 39 cb             	cmp    %rcx,%rbx
14005450d:	0f 82 d3 01 00 00    	jb     0x1400546e6
140054513:	48 b8 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%rax
14005451a:	aa aa 0a
14005451d:	49 8b 16             	mov    (%r14),%rdx
140054520:	48 29 d3             	sub    %rdx,%rbx
140054523:	48 c1 fb 03          	sar    $0x3,%rbx
140054527:	49 b8 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r8
14005452e:	aa aa aa
140054531:	49 0f af d8          	imul   %r8,%rbx
140054535:	4c 8d 6b 01          	lea    0x1(%rbx),%r13
140054539:	49 39 c5             	cmp    %rax,%r13
14005453c:	0f 87 c9 01 00 00    	ja     0x14005470b
140054542:	48 29 d1             	sub    %rdx,%rcx
140054545:	48 c1 f9 03          	sar    $0x3,%rcx
140054549:	49 0f af c8          	imul   %r8,%rcx
14005454d:	48 8d 14 09          	lea    (%rcx,%rcx,1),%rdx
140054551:	4c 39 ea             	cmp    %r13,%rdx
140054554:	4c 0f 47 ea          	cmova  %rdx,%r13
140054558:	48 ba 55 55 55 55 55 	movabs $0x555555555555555,%rdx
14005455f:	55 55 05
140054562:	48 39 d1             	cmp    %rdx,%rcx
140054565:	4c 0f 43 e8          	cmovae %rax,%r13
140054569:	4d 85 ed             	test   %r13,%r13
14005456c:	0f 84 a1 01 00 00    	je     0x140054713
140054572:	49 39 c5             	cmp    %rax,%r13
140054575:	0f 87 8b 01 00 00    	ja     0x140054706
14005457b:	4a 8d 04 ed 00 00 00 	lea    0x0(,%r13,8),%rax
140054582:	00
140054583:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140054587:	e8 08 99 01 00       	call   0x14006de94
14005458c:	49 89 c7             	mov    %rax,%r15
14005458f:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
140054594:	48 8d 1c 5b          	lea    (%rbx,%rbx,2),%rbx
140054598:	48 c1 e3 03          	shl    $0x3,%rbx
14005459c:	4c 01 fb             	add    %r15,%rbx
14005459f:	0f 84 5f 01 00 00    	je     0x140054704
1400545a5:	4c 8b 67 08          	mov    0x8(%rdi),%r12
1400545a9:	4c 89 e1             	mov    %r12,%rcx
1400545ac:	e8 5b 99 01 00       	call   0x14006df0c
1400545b1:	48 89 03             	mov    %rax,(%rbx)
1400545b4:	4c 89 63 08          	mov    %r12,0x8(%rbx)
1400545b8:	4c 89 63 10          	mov    %r12,0x10(%rbx)