fffff8000022d150:	49 8b 54 24 10       	mov    0x10(%r12),%rdx
fffff8000022d155:	45 8b 4c 24 0c       	mov    0xc(%r12),%r9d
fffff8000022d15a:	e8 a9 f7 ff ff       	call   0xfffff8000022c908
fffff8000022d15f:	66 41 89 44 24 08    	mov    %ax,0x8(%r12)
fffff8000022d165:	48 8b 9c 24 d0 00 00 	mov    0xd0(%rsp),%rbx
fffff8000022d16c:	00
fffff8000022d16d:	0f b7 c7             	movzwl %di,%eax
fffff8000022d170:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
fffff8000022d177:	41 5f                	pop    %r15
fffff8000022d179:	41 5e                	pop    %r14
fffff8000022d17b:	41 5d                	pop    %r13
fffff8000022d17d:	41 5c                	pop    %r12
fffff8000022d17f:	5f                   	pop    %rdi
fffff8000022d180:	5e                   	pop    %rsi
fffff8000022d181:	5d                   	pop    %rbp
fffff8000022d182:	c3                   	ret
fffff8000022d183:	cc                   	int3
fffff8000022d184:	41 3b cf             	cmp    %r15d,%ecx
fffff8000022d187:	75 82                	jne    0xfffff8000022d10b
fffff8000022d189:	8b fe                	mov    %esi,%edi
fffff8000022d18b:	e9 7b ff ff ff       	jmp    0xfffff8000022d10b
fffff8000022d190:	cc                   	int3
fffff8000022d191:	cc                   	int3
fffff8000022d192:	cc                   	int3
fffff8000022d193:	cc                   	int3
fffff8000022d194:	cc                   	int3
fffff8000022d195:	cc                   	int3
fffff8000022d196:	cc                   	int3
fffff8000022d197:	cc                   	int3
fffff8000022d198:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
fffff8000022d19d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
fffff8000022d1a2:	57                   	push   %rdi
fffff8000022d1a3:	48 83 ec 30          	sub    $0x30,%rsp
fffff8000022d1a7:	4c 8b 5c 24 78       	mov    0x78(%rsp),%r11
fffff8000022d1ac:	33 f6                	xor    %esi,%esi
fffff8000022d1ae:	4d 8b d0             	mov    %r8,%r10
fffff8000022d1b1:	48 8b da             	mov    %rdx,%rbx
fffff8000022d1b4:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
fffff8000022d1b9:	48 8b f9             	mov    %rcx,%rdi
fffff8000022d1bc:	41 89 33             	mov    %esi,(%r11)
fffff8000022d1bf:	41 f6 42 0a 02       	testb  $0x2,0xa(%r10)
fffff8000022d1c4:	41 89 30             	mov    %esi,(%r8)
fffff8000022d1c7:	75 09                	jne    0xfffff8000022d1d2
fffff8000022d1c9:	45 85 c9             	test   %r9d,%r9d
fffff8000022d1cc:	0f 85 62 41 02 00    	jne    0xfffff80000251334
fffff8000022d1d2:	41 0f b7 42 0c       	movzwl 0xc(%r10),%eax
fffff8000022d1d7:	66 85 c0             	test   %ax,%ax
fffff8000022d1da:	0f 84 5e 41 02 00    	je     0xfffff8000025133e
fffff8000022d1e0:	41 0f b7 52 0e       	movzwl 0xe(%r10),%edx
fffff8000022d1e5:	41 8d 0c 01          	lea    (%r9,%rax,1),%ecx
fffff8000022d1e9:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
fffff8000022d1ee:	4c 8b cf             	mov    %rdi,%r9
fffff8000022d1f1:	44 8b 44 24 60       	mov    0x60(%rsp),%r8d
fffff8000022d1f6:	e8 51 00 00 00       	call   0xfffff8000022d24c
fffff8000022d1fb:	66 85 c0             	test   %ax,%ax
fffff8000022d1fe:	75 32                	jne    0xfffff8000022d232
fffff8000022d200:	41 0f b7 42 10       	movzwl 0x10(%r10),%eax
fffff8000022d205:	66 85 c0             	test   %ax,%ax
fffff8000022d208:	75 07                	jne    0xfffff8000022d211
fffff8000022d20a:	66 41 39 72 12       	cmp    %si,0x12(%r10)
fffff8000022d20f:	74 1e                	je     0xfffff8000022d22f
fffff8000022d211:	41 0f b7 52 12       	movzwl 0x12(%r10),%edx
fffff8000022d216:	8b c8                	mov    %eax,%ecx
fffff8000022d218:	44 8b 44 24 60       	mov    0x60(%rsp),%r8d
fffff8000022d21d:	4c 8b cb             	mov    %rbx,%r9
fffff8000022d220:	4c 89 5c 24 20       	mov    %r11,0x20(%rsp)
fffff8000022d225:	e8 22 00 00 00       	call   0xfffff8000022d24c
fffff8000022d22a:	66 85 c0             	test   %ax,%ax
fffff8000022d22d:	75 03                	jne    0xfffff8000022d232
fffff8000022d22f:	0f b7 c6             	movzwl %si,%eax
fffff8000022d232:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
fffff8000022d237:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
fffff8000022d23c:	48 83 c4 30          	add    $0x30,%rsp
fffff8000022d240:	5f                   	pop    %rdi
fffff8000022d241:	c3                   	ret
fffff8000022d242:	cc                   	int3
fffff8000022d243:	cc                   	int3
fffff8000022d244:	cc                   	int3
fffff8000022d245:	cc                   	int3
fffff8000022d246:	cc                   	int3
fffff8000022d247:	cc                   	int3
fffff8000022d248:	cc                   	int3
fffff8000022d249:	cc                   	int3
fffff8000022d24a:	cc                   	int3
fffff8000022d24b:	cc                   	int3
fffff8000022d24c:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
fffff8000022d251:	41 0f af d0          	imul   %r8d,%edx
fffff8000022d255:	03 d1                	add    %ecx,%edx
fffff8000022d257:	89 10                	mov    %edx,(%rax)
fffff8000022d259:	8b c2                	mov    %edx,%eax
fffff8000022d25b:	49 8b c9             	mov    %r9,%rcx
fffff8000022d25e:	33 d2                	xor    %edx,%edx
fffff8000022d260:	81 e1 ff 0f 00 00    	and    $0xfff,%ecx
fffff8000022d266:	48 03 c8             	add    %rax,%rcx
fffff8000022d269:	45 8a c1             	mov    %r9b,%r8b
fffff8000022d26c:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
fffff8000022d273:	48 b8 00 00 00 00 00 	movabs $0xfff0000000000000,%rax
fffff8000022d27a:	00 f0 ff
fffff8000022d27d:	0f 97 c2             	seta   %dl
fffff8000022d280:	4c 85 c8             	test   %r9,%rax
fffff8000022d283:	b8 00 00 00 00       	mov    $0x0,%eax
fffff8000022d288:	0f 95 c0             	setne  %al
fffff8000022d28b:	0b d0                	or     %eax,%edx
fffff8000022d28d:	b8 01 00 00 00       	mov    $0x1,%eax
fffff8000022d292:	41 80 e0 07          	and    $0x7,%r8b
fffff8000022d296:	0f 45 d0             	cmovne %eax,%edx
fffff8000022d299:	f7 da                	neg    %edx
fffff8000022d29b:	66 1b c0             	sbb    %ax,%ax
fffff8000022d29e:	66 83 e0 04          	and    $0x4,%ax
fffff8000022d2a2:	c3                   	ret
fffff8000022d2a3:	cc                   	int3
fffff8000022d2a4:	cc                   	int3
fffff8000022d2a5:	cc                   	int3
fffff8000022d2a6:	cc                   	int3
fffff8000022d2a7:	cc                   	int3
fffff8000022d2a8:	cc                   	int3
fffff8000022d2a9:	cc                   	int3
fffff8000022d2aa:	cc                   	int3
fffff8000022d2ab:	cc                   	int3
fffff8000022d2ac:	48 8b 02             	mov    (%rdx),%rax
fffff8000022d2af:	48 8b 90 80 0b 00 00 	mov    0xb80(%rax),%rdx
fffff8000022d2b6:	84 c9                	test   %cl,%cl
fffff8000022d2b8:	0f 84 9a 40 02 00    	je     0xfffff80000251358
fffff8000022d2be:	48 8b 42 40          	mov    0x40(%rdx),%rax
fffff8000022d2c2:	c3                   	ret
fffff8000022d2c3:	cc                   	int3
fffff8000022d2c4:	cc                   	int3
fffff8000022d2c5:	cc                   	int3
fffff8000022d2c6:	cc                   	int3
fffff8000022d2c7:	cc                   	int3
fffff8000022d2c8:	cc                   	int3
fffff8000022d2c9:	cc                   	int3
fffff8000022d2ca:	cc                   	int3
fffff8000022d2cb:	cc                   	int3
fffff8000022d2cc:	48 8b 02             	mov    (%rdx),%rax
fffff8000022d2cf:	48 8b 90 80 0b 00 00 	mov    0xb80(%rax),%rdx
fffff8000022d2d6:	84 c9                	test   %cl,%cl
fffff8000022d2d8:	0f 84 8c 40 02 00    	je     0xfffff8000025136a
fffff8000022d2de:	48 8b 42 10          	mov    0x10(%rdx),%rax
fffff8000022d2e2:	c3                   	ret
fffff8000022d2e3:	cc                   	int3
fffff8000022d2e4:	cc                   	int3
fffff8000022d2e5:	cc                   	int3
fffff8000022d2e6:	cc                   	int3
fffff8000022d2e7:	cc                   	int3
fffff8000022d2e8:	cc                   	int3
fffff8000022d2e9:	cc                   	int3
fffff8000022d2ea:	cc                   	int3
fffff8000022d2eb:	cc                   	int3
fffff8000022d2ec:	4c 8b ca             	mov    %rdx,%r9
fffff8000022d2ef:	41 8b c0             	mov    %r8d,%eax
fffff8000022d2f2:	48 8d 15 27 97 3d 00 	lea    0x3d9727(%rip),%rdx        # 0xfffff80000606a20
fffff8000022d2f9:	48 8b 14 c2          	mov    (%rdx,%rax,8),%rdx
fffff8000022d2fd:	39 8a 40 08 01 00    	cmp    %ecx,0x10840(%rdx)
fffff8000022d303:	75 54                	jne    0xfffff8000022d359
fffff8000022d305:	44 8b 92 44 08 01 00 	mov    0x10844(%rdx),%r10d
fffff8000022d30c:	45 8b c2             	mov    %r10d,%r8d
fffff8000022d30f:	49 8b 01             	mov    (%r9),%rax
fffff8000022d312:	41 83 e2 3f          	and    $0x3f,%r10d
fffff8000022d316:	48 8b c8             	mov    %rax,%rcx
fffff8000022d319:	41 c1 e8 06          	shr    $0x6,%r8d
fffff8000022d31d:	48 c1 e9 20          	shr    $0x20,%rcx
fffff8000022d321:	ba 01 00 00 00       	mov    $0x1,%edx
fffff8000022d326:	44 3b c1             	cmp    %ecx,%r8d
fffff8000022d329:	72 23                	jb     0xfffff8000022d34e
fffff8000022d32b:	48 c1 e8 10          	shr    $0x10,%rax
fffff8000022d32f:	66 85 c0             	test   %ax,%ax
fffff8000022d332:	74 25                	je     0xfffff8000022d359
fffff8000022d334:	8b c1                	mov    %ecx,%eax
fffff8000022d336:	03 ca                	add    %edx,%ecx
fffff8000022d338:	49 83 4c c1 08 ff    	orq    $0xffffffffffffffff,0x8(%r9,%rax,8)
fffff8000022d33e:	41 3b c8             	cmp    %r8d,%ecx
fffff8000022d341:	76 f1                	jbe    0xfffff8000022d334
fffff8000022d343:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
fffff8000022d347:	0f b7 c0             	movzwl %ax,%eax
fffff8000022d34a:	41 89 41 04          	mov    %eax,0x4(%r9)
fffff8000022d34e:	41 8b ca             	mov    %r10d,%ecx
fffff8000022d351:	4b 0f b3 4c c1 08    	btr    %rcx,0x8(%r9,%r8,8)
fffff8000022d357:	72 02                	jb     0xfffff8000022d35b
fffff8000022d359:	32 d2                	xor    %dl,%dl
fffff8000022d35b:	8a c2                	mov    %dl,%al
fffff8000022d35d:	c3                   	ret
fffff8000022d35e:	cc                   	int3
fffff8000022d35f:	cc                   	int3
fffff8000022d360:	cc                   	int3
fffff8000022d361:	cc                   	int3
fffff8000022d362:	cc                   	int3
fffff8000022d363:	cc                   	int3
fffff8000022d364:	cc                   	int3
fffff8000022d365:	cc                   	int3
fffff8000022d366:	cc                   	int3
fffff8000022d367:	cc                   	int3
fffff8000022d368:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
fffff8000022d36d:	57                   	push   %rdi
fffff8000022d36e:	48 83 ec 20          	sub    $0x20,%rsp
fffff8000022d372:	33 ff                	xor    %edi,%edi
fffff8000022d374:	48 8b da             	mov    %rdx,%rbx
fffff8000022d377:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
fffff8000022d37c:	c7 44 24 40 ff 3f 00 	movl   $0x3fff,0x40(%rsp)
fffff8000022d383:	00
fffff8000022d384:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
fffff8000022d389:	48 f7 d0             	not    %rax
fffff8000022d38c:	49 85 c0             	test   %rax,%r8
fffff8000022d38f:	0f 85 e7 3f 02 00    	jne    0xfffff8000025137c
fffff8000022d395:	49 8b 01             	mov    (%r9),%rax
fffff8000022d398:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
fffff8000022d39d:	8a 54 24 58          	mov    0x58(%rsp),%dl
fffff8000022d3a1:	e8 da fa 00 00       	call   0xfffff8000023ce80
fffff8000022d3a6:	66 85 c0             	test   %ax,%ax
fffff8000022d3a9:	0f 85 cd 3f 02 00    	jne    0xfffff8000025137c
fffff8000022d3af:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
fffff8000022d3b4:	48 83 c4 20          	add    $0x20,%rsp
fffff8000022d3b8:	5f                   	pop    %rdi
fffff8000022d3b9:	c3                   	ret
fffff8000022d3ba:	cc                   	int3
fffff8000022d3bb:	cc                   	int3
fffff8000022d3bc:	cc                   	int3
fffff8000022d3bd:	cc                   	int3
fffff8000022d3be:	cc                   	int3
fffff8000022d3bf:	cc                   	int3
fffff8000022d3c0:	cc                   	int3
fffff8000022d3c1:	cc                   	int3
fffff8000022d3c2:	cc                   	int3
fffff8000022d3c3:	cc                   	int3
fffff8000022d3c4:	83 b9 78 10 00 00 03 	cmpl   $0x3,0x1078(%rcx)
fffff8000022d3cb:	0f 94 c0             	sete   %al
fffff8000022d3ce:	c3                   	ret
fffff8000022d3cf:	cc                   	int3
fffff8000022d3d0:	cc                   	int3
fffff8000022d3d1:	cc                   	int3
fffff8000022d3d2:	cc                   	int3
fffff8000022d3d3:	cc                   	int3
fffff8000022d3d4:	cc                   	int3
fffff8000022d3d5:	cc                   	int3
fffff8000022d3d6:	cc                   	int3
fffff8000022d3d7:	cc                   	int3
fffff8000022d3d8:	48 83 ec 28          	sub    $0x28,%rsp
fffff8000022d3dc:	48 8b c1             	mov    %rcx,%rax
fffff8000022d3df:	44 8b c2             	mov    %edx,%r8d
fffff8000022d3e2:	65 48 8b 0c 25 00 00 	mov    %gs:0x0,%rcx
fffff8000022d3e9:	00 00
fffff8000022d3eb:	48 8b d0             	mov    %rax,%rdx
fffff8000022d3ee:	e8 c5 ae fd ff       	call   0xfffff800002082b8
fffff8000022d3f3:	48 83 c4 28          	add    $0x28,%rsp
fffff8000022d3f7:	c3                   	ret
fffff8000022d3f8:	cc                   	int3
fffff8000022d3f9:	cc                   	int3
fffff8000022d3fa:	cc                   	int3
fffff8000022d3fb:	cc                   	int3
fffff8000022d3fc:	cc                   	int3
fffff8000022d3fd:	cc                   	int3
fffff8000022d3fe:	cc                   	int3
fffff8000022d3ff:	cc                   	int3
fffff8000022d400:	48 83 ec 28          	sub    $0x28,%rsp
fffff8000022d404:	e8 33 00 00 00       	call   0xfffff8000022d43c
fffff8000022d409:	48 85 c0             	test   %rax,%rax
fffff8000022d40c:	74 24                	je     0xfffff8000022d432
fffff8000022d40e:	48 8b 88 b0 03 01 00 	mov    0x103b0(%rax),%rcx
fffff8000022d415:	48 85 c9             	test   %rcx,%rcx
fffff8000022d418:	74 18                	je     0xfffff8000022d432
fffff8000022d41a:	48 8b 89 08 01 00 00 	mov    0x108(%rcx),%rcx
fffff8000022d421:	8a 41 10             	mov    0x10(%rcx),%al
fffff8000022d424:	8b 49 34             	mov    0x34(%rcx),%ecx
fffff8000022d427:	84 c0                	test   %al,%al
fffff8000022d429:	0f 9f c0             	setg   %al
fffff8000022d42c:	48 83 c4 28          	add    $0x28,%rsp
fffff8000022d430:	c3                   	ret
fffff8000022d431:	cc                   	int3
fffff8000022d432:	32 c0                	xor    %al,%al
fffff8000022d434:	eb f6                	jmp    0xfffff8000022d42c
fffff8000022d436:	cc                   	int3
fffff8000022d437:	cc                   	int3
fffff8000022d438:	cc                   	int3
fffff8000022d439:	cc                   	int3
fffff8000022d43a:	cc                   	int3
fffff8000022d43b:	cc                   	int3
fffff8000022d43c:	8b 81 88 c9 02 00    	mov    0x2c988(%rcx),%eax
fffff8000022d442:	83 f8 ff             	cmp    $0xffffffff,%eax
fffff8000022d445:	74 0d                	je     0xfffff8000022d454
fffff8000022d447:	48 8d 0d d2 95 3d 00 	lea    0x3d95d2(%rip),%rcx        # 0xfffff80000606a20
fffff8000022d44e:	48 8b 04 c1          	mov    (%rcx,%rax,8),%rax
fffff8000022d452:	c3                   	ret
fffff8000022d453:	cc                   	int3
fffff8000022d454:	33 c0                	xor    %eax,%eax
fffff8000022d456:	c3                   	ret
fffff8000022d457:	cc                   	int3
fffff8000022d458:	cc                   	int3
fffff8000022d459:	cc                   	int3
fffff8000022d45a:	cc                   	int3
fffff8000022d45b:	cc                   	int3
fffff8000022d45c:	cc                   	int3
fffff8000022d45d:	cc                   	int3
fffff8000022d45e:	cc                   	int3
fffff8000022d45f:	cc                   	int3
fffff8000022d460:	48 83 ec 28          	sub    $0x28,%rsp
fffff8000022d464:	45 33 c9             	xor    %r9d,%r9d
fffff8000022d467:	44 38 89 1c 01 00 00 	cmp    %r9b,0x11c(%rcx)
fffff8000022d46e:	0f 84 24 3f 02 00    	je     0xfffff80000251398
fffff8000022d474:	81 fa 30 08 00 00    	cmp    $0x830,%edx
fffff8000022d47a:	0f 84 36 3f 02 00    	je     0xfffff800002513b6
fffff8000022d480:	81 fa 3f 08 00 00    	cmp    $0x83f,%edx
fffff8000022d486:	74 1c                	je     0xfffff8000022d4a4
fffff8000022d488:	8d 8a 00 f8 ff ff    	lea    -0x800(%rdx),%ecx
fffff8000022d48e:	4d 89 08             	mov    %r9,(%r8)
fffff8000022d491:	c1 e1 04             	shl    $0x4,%ecx
fffff8000022d494:	ba 04 00 00 00       	mov    $0x4,%edx
fffff8000022d499:	e8 2e b8 fd ff       	call   0xfffff80000208ccc
fffff8000022d49e:	48 83 c4 28          	add    $0x28,%rsp
fffff8000022d4a2:	c3                   	ret
fffff8000022d4a3:	cc                   	int3
fffff8000022d4a4:	b8 13 10 00 00       	mov    $0x1013,%eax
fffff8000022d4a9:	eb f3                	jmp    0xfffff8000022d49e
fffff8000022d4ab:	cc                   	int3
fffff8000022d4ac:	cc                   	int3
fffff8000022d4ad:	cc                   	int3
fffff8000022d4ae:	cc                   	int3
fffff8000022d4af:	cc                   	int3
fffff8000022d4b0:	cc                   	int3
fffff8000022d4b1:	cc                   	int3
fffff8000022d4b2:	cc                   	int3
fffff8000022d4b3:	cc                   	int3
fffff8000022d4b4:	48 83 ec 28          	sub    $0x28,%rsp
fffff8000022d4b8:	4c 8b c9             	mov    %rcx,%r9
fffff8000022d4bb:	48 8b 09             	mov    (%rcx),%rcx
fffff8000022d4be:	48 8b 81 08 03 00 00 	mov    0x308(%rcx),%rax
fffff8000022d4c5:	44 8b 80 20 01 00 00 	mov    0x120(%rax),%r8d
fffff8000022d4cc:	49 0f ba e0 15       	bt     $0x15,%r8
fffff8000022d4d1:	72 16                	jb     0xfffff8000022d4e9
fffff8000022d4d3:	41 08 51 15          	or     %dl,0x15(%r9)
fffff8000022d4d7:	8b 81 18 01 00 00    	mov    0x118(%rcx),%eax
fffff8000022d4dd:	a8 04                	test   $0x4,%al
fffff8000022d4df:	75 0e                	jne    0xfffff8000022d4ef
fffff8000022d4e1:	84 c0                	test   %al,%al
fffff8000022d4e3:	0f 88 e3 3e 02 00    	js     0xfffff800002513cc
fffff8000022d4e9:	48 83 c4 28          	add    $0x28,%rsp
fffff8000022d4ed:	c3                   	ret
fffff8000022d4ee:	cc                   	int3
fffff8000022d4ef:	e8 28 c2 fd ff       	call   0xfffff8000020971c
fffff8000022d4f4:	eb f3                	jmp    0xfffff8000022d4e9
fffff8000022d4f6:	cc                   	int3
fffff8000022d4f7:	cc                   	int3
fffff8000022d4f8:	cc                   	int3
fffff8000022d4f9:	cc                   	int3
fffff8000022d4fa:	cc                   	int3
fffff8000022d4fb:	cc                   	int3
fffff8000022d4fc:	cc                   	int3
fffff8000022d4fd:	cc                   	int3
fffff8000022d4fe:	cc                   	int3
fffff8000022d4ff:	cc                   	int3
fffff8000022d500:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)