18009a21f:	8b ca                	mov    %edx,%ecx
18009a221:	48 89 1c cf          	mov    %rbx,(%rdi,%rcx,8)
18009a225:	48 8b c3             	mov    %rbx,%rax
18009a228:	eb 0a                	jmp    0x18009a234
18009a22a:	48 8b cb             	mov    %rbx,%rcx
18009a22d:	e8 22 fe ff ff       	call   0x18009a054
18009a232:	33 c0                	xor    %eax,%eax
18009a234:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
18009a239:	48 83 c4 60          	add    $0x60,%rsp
18009a23d:	5f                   	pop    %rdi
18009a23e:	c3                   	ret
18009a23f:	cc                   	int3
18009a240:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18009a245:	57                   	push   %rdi
18009a246:	48 83 ec 20          	sub    $0x20,%rsp
18009a24a:	48 8b 59 18          	mov    0x18(%rcx),%rbx
18009a24e:	48 8b d1             	mov    %rcx,%rdx
18009a251:	48 8b 79 10          	mov    0x10(%rcx),%rdi
18009a255:	48 83 e3 f8          	and    $0xfffffffffffffff8,%rbx
18009a259:	48 83 e7 f8          	and    $0xfffffffffffffff8,%rdi
18009a25d:	74 0d                	je     0x18009a26c
18009a25f:	48 8b 47 18          	mov    0x18(%rdi),%rax
18009a263:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
18009a267:	48 3b c1             	cmp    %rcx,%rax
18009a26a:	75 12                	jne    0x18009a27e
18009a26c:	48 85 db             	test   %rbx,%rbx
18009a26f:	74 14                	je     0x18009a285
18009a271:	48 8b 43 10          	mov    0x10(%rbx),%rax
18009a275:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
18009a279:	48 3b c1             	cmp    %rcx,%rax
18009a27c:	74 07                	je     0x18009a285
18009a27e:	e8 d1 fd ff ff       	call   0x18009a054
18009a283:	33 d2                	xor    %edx,%edx
18009a285:	48 85 d2             	test   %rdx,%rdx
18009a288:	75 04                	jne    0x18009a28e
18009a28a:	33 c0                	xor    %eax,%eax
18009a28c:	eb 53                	jmp    0x18009a2e1
18009a28e:	48 85 ff             	test   %rdi,%rdi
18009a291:	74 04                	je     0x18009a297
18009a293:	48 89 5f 18          	mov    %rbx,0x18(%rdi)
18009a297:	48 85 db             	test   %rbx,%rbx
18009a29a:	74 06                	je     0x18009a2a2
18009a29c:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
18009a2a0:	eb 3c                	jmp    0x18009a2de
18009a2a2:	4c 8b 02             	mov    (%rdx),%r8
18009a2a5:	49 83 e0 f8          	and    $0xfffffffffffffff8,%r8
18009a2a9:	4c 2b c2             	sub    %rdx,%r8
18009a2ac:	49 81 f8 00 10 00 00 	cmp    $0x1000,%r8
18009a2b3:	73 19                	jae    0x18009a2ce
18009a2b5:	33 c9                	xor    %ecx,%ecx
18009a2b7:	4d 85 c0             	test   %r8,%r8
18009a2ba:	74 0d                	je     0x18009a2c9
18009a2bc:	ff c1                	inc    %ecx
18009a2be:	49 8b c0             	mov    %r8,%rax
18009a2c1:	48 d3 e8             	shr    %cl,%rax
18009a2c4:	48 85 c0             	test   %rax,%rax
18009a2c7:	75 f3                	jne    0x18009a2bc
18009a2c9:	83 c1 fa             	add    $0xfffffffa,%ecx
18009a2cc:	eb 05                	jmp    0x18009a2d3
18009a2ce:	b9 06 00 00 00       	mov    $0x6,%ecx
18009a2d3:	48 8b 05 b6 b1 0f 00 	mov    0xfb1b6(%rip),%rax        # 0x180195490
18009a2da:	48 89 3c c8          	mov    %rdi,(%rax,%rcx,8)
18009a2de:	48 8b c2             	mov    %rdx,%rax
18009a2e1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18009a2e6:	48 83 c4 20          	add    $0x20,%rsp
18009a2ea:	5f                   	pop    %rdi
18009a2eb:	c3                   	ret
18009a2ec:	cc                   	int3
18009a2ed:	cc                   	int3
18009a2ee:	cc                   	int3
18009a2ef:	cc                   	int3
18009a2f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18009a2f5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18009a2fa:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
18009a2ff:	57                   	push   %rdi
18009a300:	41 56                	push   %r14
18009a302:	41 57                	push   %r15
18009a304:	48 83 ec 40          	sub    $0x40,%rsp
18009a308:	48 8d 99 00 20 00 00 	lea    0x2000(%rcx),%rbx
18009a30f:	48 3b d9             	cmp    %rcx,%rbx
18009a312:	0f 82 83 01 00 00    	jb     0x18009a49b
18009a318:	8b 05 ea 89 10 00    	mov    0x1089ea(%rip),%eax        # 0x1801a2d08
18009a31e:	48 3b c3             	cmp    %rbx,%rax
18009a321:	48 0f 47 d8          	cmova  %rax,%rbx
18009a325:	48 81 c3 ff 0f 00 00 	add    $0xfff,%rbx
18009a32c:	48 81 e3 00 f0 ff ff 	and    $0xfffffffffffff000,%rbx
18009a333:	0f 84 62 01 00 00    	je     0x18009a49b
18009a339:	48 8b 3d d0 89 10 00 	mov    0x1089d0(%rip),%rdi        # 0x1801a2d10
18009a340:	4c 8d 3d c9 89 10 00 	lea    0x1089c9(%rip),%r15        # 0x1801a2d10
18009a347:	bd 02 00 00 00       	mov    $0x2,%ebp
18009a34c:	44 8d 75 ff          	lea    -0x1(%rbp),%r14d
18009a350:	49 3b ff             	cmp    %r15,%rdi
18009a353:	74 50                	je     0x18009a3a5
18009a355:	48 8b 77 18          	mov    0x18(%rdi),%rsi
18009a359:	48 81 c6 00 10 00 00 	add    $0x1000,%rsi
18009a360:	48 3b 77 10          	cmp    0x10(%rdi),%rsi
18009a364:	77 3f                	ja     0x18009a3a5
18009a366:	48 8b 47 28          	mov    0x28(%rdi),%rax
18009a36a:	8b cd                	mov    %ebp,%ecx
18009a36c:	48 89 77 18          	mov    %rsi,0x18(%rdi)
18009a370:	48 83 c6 f0          	add    $0xfffffffffffffff0,%rsi
18009a374:	48 89 30             	mov    %rsi,(%rax)
18009a377:	48 8b 47 28          	mov    0x28(%rdi),%rax
18009a37b:	48 89 46 08          	mov    %rax,0x8(%rsi)
18009a37f:	41 8b c6             	mov    %r14d,%eax
18009a382:	48 09 06             	or     %rax,(%rsi)
18009a385:	49 03 c6             	add    %r14,%rax
18009a388:	49 2b ce             	sub    %r14,%rcx
18009a38b:	75 f5                	jne    0x18009a382
18009a38d:	48 8b 47 28          	mov    0x28(%rdi),%rax
18009a391:	41 8a d6             	mov    %r14b,%dl
18009a394:	48 83 20 fd          	andq   $0xfffffffffffffffd,(%rax)
18009a398:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
18009a39c:	e8 33 fd ff ff       	call   0x18009a0d4
18009a3a1:	48 89 77 28          	mov    %rsi,0x28(%rdi)
18009a3a5:	44 8b 0d 60 89 10 00 	mov    0x108960(%rip),%r9d        # 0x1801a2d0c
18009a3ac:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
18009a3b1:	33 ff                	xor    %edi,%edi
18009a3b3:	48 8b d3             	mov    %rbx,%rdx
18009a3b6:	89 7c 24 30          	mov    %edi,0x30(%rsp)
18009a3ba:	41 b8 05 00 00 d0    	mov    $0xd0000005,%r8d
18009a3c0:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
18009a3c5:	48 c1 ea 0c          	shr    $0xc,%rdx
18009a3c9:	89 7c 24 20          	mov    %edi,0x20(%rsp)
18009a3cd:	48 89 7c 24 60       	mov    %rdi,0x60(%rsp)
18009a3d2:	e8 1d d4 ff ff       	call   0x1800977f4
18009a3d7:	85 c0                	test   %eax,%eax
18009a3d9:	79 0c                	jns    0x18009a3e7
18009a3db:	44 89 35 a2 b0 0f 00 	mov    %r14d,0xfb0a2(%rip)        # 0x180195484
18009a3e2:	e9 b9 00 00 00       	jmp    0x18009a4a0
18009a3e7:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
18009a3ec:	4c 8d 42 10          	lea    0x10(%rdx),%r8
18009a3f0:	49 8d 48 30          	lea    0x30(%r8),%rcx
18009a3f4:	49 89 50 20          	mov    %rdx,0x20(%r8)
18009a3f8:	49 89 48 28          	mov    %rcx,0x28(%r8)
18009a3fc:	48 8d 04 1a          	lea    (%rdx,%rbx,1),%rax
18009a400:	49 89 40 18          	mov    %rax,0x18(%r8)
18009a404:	48 8b c1             	mov    %rcx,%rax
18009a407:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
18009a40b:	48 89 7a 08          	mov    %rdi,0x8(%rdx)
18009a40f:	48 89 02             	mov    %rax,(%rdx)
18009a412:	48 89 51 08          	mov    %rdx,0x8(%rcx)
18009a416:	49 8b ce             	mov    %r14,%rcx
18009a419:	49 8b 40 28          	mov    0x28(%r8),%rax
18009a41d:	48 89 00             	mov    %rax,(%rax)
18009a420:	49 8b 40 28          	mov    0x28(%r8),%rax
18009a424:	48 09 08             	or     %rcx,(%rax)
18009a427:	49 03 ce             	add    %r14,%rcx
18009a42a:	49 2b ee             	sub    %r14,%rbp
18009a42d:	75 f1                	jne    0x18009a420
18009a42f:	4c 39 3d da 88 10 00 	cmp    %r15,0x1088da(%rip)        # 0x1801a2d10
18009a436:	75 27                	jne    0x18009a45f
18009a438:	49 8b 40 18          	mov    0x18(%r8),%rax
18009a43c:	0f 57 c0             	xorps  %xmm0,%xmm0
18009a43f:	48 83 c0 c8          	add    $0xffffffffffffffc8,%rax
18009a443:	49 89 40 18          	mov    %rax,0x18(%r8)
18009a447:	33 c9                	xor    %ecx,%ecx
18009a449:	48 89 05 40 b0 0f 00 	mov    %rax,0xfb040(%rip)        # 0x180195490
18009a450:	0f 11 00             	movups %xmm0,(%rax)
18009a453:	0f 11 40 10          	movups %xmm0,0x10(%rax)
18009a457:	0f 11 40 20          	movups %xmm0,0x20(%rax)
18009a45b:	48 89 48 30          	mov    %rcx,0x30(%rax)
18009a45f:	49 8b 40 18          	mov    0x18(%r8),%rax
18009a463:	49 89 40 10          	mov    %rax,0x10(%r8)
18009a467:	48 05 00 f0 ff ff    	add    $0xfffffffffffff000,%rax
18009a46d:	49 89 40 18          	mov    %rax,0x18(%r8)
18009a471:	48 8b 05 98 88 10 00 	mov    0x108898(%rip),%rax        # 0x1801a2d10
18009a478:	4c 39 78 08          	cmp    %r15,0x8(%rax)
18009a47c:	74 07                	je     0x18009a485
18009a47e:	b9 03 00 00 00       	mov    $0x3,%ecx
18009a483:	cd 29                	int    $0x29
18009a485:	49 89 00             	mov    %rax,(%r8)
18009a488:	4d 89 78 08          	mov    %r15,0x8(%r8)
18009a48c:	4c 89 40 08          	mov    %r8,0x8(%rax)
18009a490:	33 c0                	xor    %eax,%eax
18009a492:	4c 89 05 77 88 10 00 	mov    %r8,0x108877(%rip)        # 0x1801a2d10
18009a499:	eb 05                	jmp    0x18009a4a0
18009a49b:	b8 95 00 00 c0       	mov    $0xc0000095,%eax
18009a4a0:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
18009a4a5:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
18009a4aa:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
18009a4af:	48 83 c4 40          	add    $0x40,%rsp
18009a4b3:	41 5f                	pop    %r15
18009a4b5:	41 5e                	pop    %r14
18009a4b7:	5f                   	pop    %rdi
18009a4b8:	c3                   	ret
18009a4b9:	cc                   	int3
18009a4ba:	cc                   	int3
18009a4bb:	cc                   	int3
18009a4bc:	8b 05 b6 24 0d 00    	mov    0xd24b6(%rip),%eax        # 0x18016c978
18009a4c2:	c3                   	ret
18009a4c3:	cc                   	int3
18009a4c4:	48 83 ec 28          	sub    $0x28,%rsp
18009a4c8:	33 c0                	xor    %eax,%eax
18009a4ca:	48 85 c9             	test   %rcx,%rcx
18009a4cd:	74 10                	je     0x18009a4df
18009a4cf:	48 85 d2             	test   %rdx,%rdx
18009a4d2:	74 0b                	je     0x18009a4df
18009a4d4:	45 33 c9             	xor    %r9d,%r9d
18009a4d7:	45 33 c0             	xor    %r8d,%r8d
18009a4da:	e8 ad 30 00 00       	call   0x18009d58c
18009a4df:	48 83 c4 28          	add    $0x28,%rsp
18009a4e3:	c3                   	ret
18009a4e4:	cc                   	int3
18009a4e5:	cc                   	int3
18009a4e6:	cc                   	int3
18009a4e7:	cc                   	int3
18009a4e8:	48 83 ec 28          	sub    $0x28,%rsp
18009a4ec:	33 c0                	xor    %eax,%eax
18009a4ee:	48 85 c9             	test   %rcx,%rcx
18009a4f1:	74 10                	je     0x18009a503
18009a4f3:	48 85 d2             	test   %rdx,%rdx
18009a4f6:	74 0b                	je     0x18009a503
18009a4f8:	4d 8b c8             	mov    %r8,%r9
18009a4fb:	45 33 c0             	xor    %r8d,%r8d
18009a4fe:	e8 89 30 00 00       	call   0x18009d58c
18009a503:	48 83 c4 28          	add    $0x28,%rsp
18009a507:	c3                   	ret
18009a508:	cc                   	int3
18009a509:	cc                   	int3
18009a50a:	cc                   	int3
18009a50b:	cc                   	int3
18009a50c:	48 83 ec 38          	sub    $0x38,%rsp
18009a510:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
18009a515:	e8 06 00 00 00       	call   0x18009a520
18009a51a:	48 83 c4 38          	add    $0x38,%rsp
18009a51e:	c3                   	ret
18009a51f:	cc                   	int3
18009a520:	48 8b c4             	mov    %rsp,%rax
18009a523:	48 89 58 10          	mov    %rbx,0x10(%rax)
18009a527:	48 89 70 18          	mov    %rsi,0x18(%rax)
18009a52b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18009a52f:	48 89 48 08          	mov    %rcx,0x8(%rax)
18009a533:	55                   	push   %rbp
18009a534:	41 54                	push   %r12
18009a536:	41 55                	push   %r13
18009a538:	41 56                	push   %r14
18009a53a:	41 57                	push   %r15
18009a53c:	48 8b ec             	mov    %rsp,%rbp
18009a53f:	48 83 ec 50          	sub    $0x50,%rsp
18009a543:	ff 05 33 87 10 00    	incl   0x108733(%rip)        # 0x1801a2c7c
18009a549:	45 33 e4             	xor    %r12d,%r12d
18009a54c:	4d 8b f8             	mov    %r8,%r15
18009a54f:	48 8b da             	mov    %rdx,%rbx
18009a552:	4c 8b c1             	mov    %rcx,%r8
18009a555:	48 85 c9             	test   %rcx,%rcx
18009a558:	0f 84 01 03 00 00    	je     0x18009a85f
18009a55e:	4d 85 ff             	test   %r15,%r15
18009a561:	0f 84 f8 02 00 00    	je     0x18009a85f
18009a567:	83 65 50 01          	andl   $0x1,0x50(%rbp)
18009a56b:	74 11                	je     0x18009a57e
18009a56d:	41 0f ba e1 12       	bt     $0x12,%r9d
18009a572:	72 0a                	jb     0x18009a57e
18009a574:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
18009a579:	e9 f7 00 00 00       	jmp    0x18009a675
18009a57e:	41 8b c9             	mov    %r9d,%ecx
18009a581:	b8 00 00 06 00       	mov    $0x60000,%eax
18009a586:	23 c8                	and    %eax,%ecx
18009a588:	f7 c1 ff ff f9 ff    	test   $0xfff9ffff,%ecx
18009a58e:	75 e4                	jne    0x18009a574
18009a590:	3b c8                	cmp    %eax,%ecx
18009a592:	74 e0                	je     0x18009a574
18009a594:	41 0f b6 d1          	movzbl %r9b,%edx
18009a598:	8d 42 ff             	lea    -0x1(%rdx),%eax
18009a59b:	85 c2                	test   %eax,%edx
18009a59d:	75 d5                	jne    0x18009a574
18009a59f:	4d 8b 00             	mov    (%r8),%r8
18009a5a2:	41 8b f9             	mov    %r9d,%edi
18009a5a5:	81 e7 00 ff ff ff    	and    $0xffffff00,%edi
18009a5ab:	83 fa 20             	cmp    $0x20,%edx
18009a5ae:	48 8b d3             	mov    %rbx,%rdx
18009a5b1:	41 0f 45 f9          	cmovne %r9d,%edi
18009a5b5:	4d 8b cf             	mov    %r15,%r9
18009a5b8:	89 7c 24 28          	mov    %edi,0x28(%rsp)
18009a5bc:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
18009a5c0:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18009a5c4:	e8 2f 08 00 00       	call   0x18009adf8
18009a5c9:	8b f0                	mov    %eax,%esi
18009a5cb:	85 c0                	test   %eax,%eax
18009a5cd:	0f 88 a2 00 00 00    	js     0x18009a675
18009a5d3:	f6 05 9e 22 0d 00 02 	testb  $0x2,0xd229e(%rip)        # 0x18016c878
18009a5da:	44 8b f7             	mov    %edi,%r14d
18009a5dd:	74 0b                	je     0x18009a5ea
18009a5df:	0f ba e7 0e          	bt     $0xe,%edi
18009a5e3:	72 05                	jb     0x18009a5ea
18009a5e5:	41 0f ba ee 0a       	bts    $0xa,%r14d
18009a5ea:	45 8b ce             	mov    %r14d,%r9d
18009a5ed:	48 89 5d e0          	mov    %rbx,-0x20(%rbp)
18009a5f1:	4c 8d 45 e8          	lea    -0x18(%rbp),%r8
18009a5f5:	4c 89 7d e8          	mov    %r15,-0x18(%rbp)
18009a5f9:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
18009a5fd:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
18009a601:	e8 62 0b 00 00       	call   0x18009b168
18009a606:	8b f0                	mov    %eax,%esi
18009a608:	85 c0                	test   %eax,%eax
18009a60a:	78 69                	js     0x18009a675
18009a60c:	4c 8b 6d f0          	mov    -0x10(%rbp),%r13
18009a610:	48 8b 7d e0          	mov    -0x20(%rbp),%rdi
18009a614:	4d 8b e5             	mov    %r13,%r12
18009a617:	4c 2b e7             	sub    %rdi,%r12
18009a61a:	4c 03 e3             	add    %rbx,%r12
18009a61d:	83 3d 54 23 0d 00 00 	cmpl   $0x0,0xd2354(%rip)        # 0x18016c978
18009a624:	4c 89 65 f8          	mov    %r12,-0x8(%rbp)
18009a628:	74 40                	je     0x18009a66a
18009a62a:	83 7d 50 00          	cmpl   $0x0,0x50(%rbp)
18009a62e:	75 71                	jne    0x18009a6a1
18009a630:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
18009a634:	48 8d 0d a5 86 10 00 	lea    0x1086a5(%rip),%rcx        # 0x1801a2ce0
18009a63b:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18009a641:	49 8b d5             	mov    %r13,%rdx
18009a644:	49 c1 e8 0c          	shr    $0xc,%r8
18009a648:	41 b9 00 00 00 80    	mov    $0x80000000,%r9d
18009a64e:	48 c1 ea 0c          	shr    $0xc,%rdx
18009a652:	e8 61 25 00 00       	call   0x18009cbb8
18009a657:	8b f0                	mov    %eax,%esi
18009a659:	85 c0                	test   %eax,%eax
18009a65b:	79 44                	jns    0x18009a6a1
18009a65d:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
18009a661:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18009a665:	e8 0e 0d 00 00       	call   0x18009b378
18009a66a:	4c 8b 45 30          	mov    0x30(%rbp),%r8
18009a66e:	85 f6                	test   %esi,%esi
18009a670:	78 03                	js     0x18009a675
18009a672:	4d 89 20             	mov    %r12,(%r8)
18009a675:	e8 22 1c 00 00       	call   0x18009c29c
18009a67a:	ff 0d fc 85 10 00    	decl   0x1085fc(%rip)        # 0x1801a2c7c
18009a680:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
18009a685:	49 8b 5b 38          	mov    0x38(%r11),%rbx
18009a689:	8b c6                	mov    %esi,%eax
18009a68b:	49 8b 73 40          	mov    0x40(%r11),%rsi
18009a68f:	49 8b 7b 48          	mov    0x48(%r11),%rdi
18009a693:	49 8b e3             	mov    %r11,%rsp
18009a696:	41 5f                	pop    %r15
18009a698:	41 5e                	pop    %r14
18009a69a:	41 5d                	pop    %r13
18009a69c:	41 5c                	pop    %r12
18009a69e:	5d                   	pop    %rbp
18009a69f:	c3                   	ret
18009a6a0:	cc                   	int3
18009a6a1:	45 8b ce             	mov    %r14d,%r9d
18009a6a4:	4d 8b c7             	mov    %r15,%r8
18009a6a7:	48 8b d3             	mov    %rbx,%rdx
18009a6aa:	49 8b cc             	mov    %r12,%rcx
18009a6ad:	e8 d6 09 00 00       	call   0x18009b088
18009a6b2:	89 45 e0             	mov    %eax,-0x20(%rbp)
18009a6b5:	8b f0                	mov    %eax,%esi
18009a6b7:	85 c0                	test   %eax,%eax
18009a6b9:	78 a2                	js     0x18009a65d
18009a6bb:	48 83 fb ff          	cmp    $0xffffffffffffffff,%rbx
18009a6bf:	74 a9                	je     0x18009a66a