18002f30c:	48 8b c4             	mov    %rsp,%rax
18002f30f:	48 89 58 10          	mov    %rbx,0x10(%rax)
18002f313:	48 89 70 18          	mov    %rsi,0x18(%rax)
18002f317:	55                   	push   %rbp
18002f318:	57                   	push   %rdi
18002f319:	41 54                	push   %r12
18002f31b:	41 55                	push   %r13
18002f31d:	41 56                	push   %r14
18002f31f:	48 8b ec             	mov    %rsp,%rbp
18002f322:	48 83 ec 60          	sub    $0x60,%rsp
18002f326:	44 89 40 a8          	mov    %r8d,-0x58(%rax)
18002f32a:	48 8d 1d 3f 63 11 00 	lea    0x11633f(%rip),%rbx        # 0x180145670
18002f331:	4d 85 c9             	test   %r9,%r9
18002f334:	48 89 50 a0          	mov    %rdx,-0x60(%rax)
18002f338:	48 8b f2             	mov    %rdx,%rsi
18002f33b:	48 89 48 98          	mov    %rcx,-0x68(%rax)
18002f33f:	49 0f 45 d9          	cmovne %r9,%rbx
18002f343:	41 8b f8             	mov    %r8d,%edi
18002f346:	33 d2                	xor    %edx,%edx
18002f348:	4c 8d 05 b1 c6 11 00 	lea    0x11c6b1(%rip),%r8        # 0x18014ba00
18002f34f:	4c 8b f1             	mov    %rcx,%r14
18002f352:	4c 8b cb             	mov    %rbx,%r9
18002f355:	8d 4a 65             	lea    0x65(%rdx),%ecx
18002f358:	e8 73 fc ff ff       	call   0x18002efd0
18002f35d:	41 bd 02 00 00 00    	mov    $0x2,%r13d
18002f363:	4c 8d 25 d6 c6 11 00 	lea    0x11c6d6(%rip),%r12        # 0x18014ba40
18002f36a:	eb 50                	jmp    0x18002f3bc
18002f36c:	0f bf 45 30          	movswl 0x30(%rbp),%eax
18002f370:	0f be d0             	movsbl %al,%edx
18002f373:	83 fa 62             	cmp    $0x62,%edx
18002f376:	7f 16                	jg     0x18002f38e
18002f378:	74 19                	je     0x18002f393
18002f37a:	83 ea 42             	sub    $0x42,%edx
18002f37d:	74 14                	je     0x18002f393
18002f37f:	83 ea 07             	sub    $0x7,%edx
18002f382:	74 64                	je     0x18002f3e8
18002f384:	83 ea 06             	sub    $0x6,%edx
18002f387:	74 0a                	je     0x18002f393
18002f389:	83 fa 01             	cmp    $0x1,%edx
18002f38c:	eb 0a                	jmp    0x18002f398
18002f38e:	83 ea 69             	sub    $0x69,%edx
18002f391:	eb ef                	jmp    0x18002f382
18002f393:	cc                   	int3
18002f394:	2c 4f                	sub    $0x4f,%al
18002f396:	a8 df                	test   $0xdf,%al
18002f398:	74 4e                	je     0x18002f3e8
18002f39a:	33 d2                	xor    %edx,%edx
18002f39c:	89 7c 24 30          	mov    %edi,0x30(%rsp)
18002f3a0:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
18002f3a5:	4c 8d 05 54 c6 11 00 	lea    0x11c654(%rip),%r8        # 0x18014ba00
18002f3ac:	4c 8b cb             	mov    %rbx,%r9
18002f3af:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
18002f3b4:	8d 4a 65             	lea    0x65(%rdx),%ecx
18002f3b7:	e8 14 fc ff ff       	call   0x18002efd0
18002f3bc:	48 8d 45 30          	lea    0x30(%rbp),%rax
18002f3c0:	66 44 89 6d e2       	mov    %r13w,-0x1e(%rbp)
18002f3c5:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
18002f3c9:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
18002f3cd:	b8 56 00 00 00       	mov    $0x56,%eax
18002f3d2:	4c 89 65 f8          	mov    %r12,-0x8(%rbp)
18002f3d6:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18002f3da:	66 89 45 f0          	mov    %ax,-0x10(%rbp)
18002f3de:	e8 bd 4d 10 00       	call   0x1801341a0
18002f3e3:	85 c0                	test   %eax,%eax
18002f3e5:	75 85                	jne    0x18002f36c
18002f3e7:	cc                   	int3
18002f3e8:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
18002f3ed:	49 8b 5b 38          	mov    0x38(%r11),%rbx
18002f3f1:	49 8b 73 40          	mov    0x40(%r11),%rsi
18002f3f5:	49 8b e3             	mov    %r11,%rsp
18002f3f8:	41 5e                	pop    %r14
18002f3fa:	41 5d                	pop    %r13
18002f3fc:	41 5c                	pop    %r12
18002f3fe:	5f                   	pop    %rdi
18002f3ff:	5d                   	pop    %rbp
18002f400:	c3                   	ret
18002f401:	cc                   	int3
18002f402:	cc                   	int3
18002f403:	cc                   	int3
18002f404:	44 89 01             	mov    %r8d,(%rcx)
18002f407:	48 89 51 08          	mov    %rdx,0x8(%rcx)
18002f40b:	c3                   	ret
18002f40c:	cc                   	int3
18002f40d:	cc                   	int3
18002f40e:	cc                   	int3
18002f40f:	cc                   	int3
18002f410:	48 8b 41 08          	mov    0x8(%rcx),%rax
18002f414:	0f b3 10             	btr    %edx,(%rax)
18002f417:	c3                   	ret
18002f418:	cc                   	int3
18002f419:	cc                   	int3
18002f41a:	cc                   	int3
18002f41b:	cc                   	int3
18002f41c:	48 8b 41 08          	mov    0x8(%rcx),%rax
18002f420:	0f ab 10             	bts    %edx,(%rax)
18002f423:	c3                   	ret
18002f424:	cc                   	int3
18002f425:	cc                   	int3
18002f426:	cc                   	int3
18002f427:	cc                   	int3
18002f428:	8b 01                	mov    (%rcx),%eax
18002f42a:	ba 00 00 00 00       	mov    $0x0,%edx
18002f42f:	48 8b 49 08          	mov    0x8(%rcx),%rcx
18002f433:	a8 1f                	test   $0x1f,%al
18002f435:	0f 95 c2             	setne  %dl
18002f438:	c1 e8 05             	shr    $0x5,%eax
18002f43b:	44 8d 04 10          	lea    (%rax,%rdx,1),%r8d
18002f43f:	33 d2                	xor    %edx,%edx
18002f441:	41 c1 e0 02          	shl    $0x2,%r8d
18002f445:	e9 36 68 10 00       	jmp    0x180135c80
18002f44a:	cc                   	int3
18002f44b:	cc                   	int3
18002f44c:	48 89 7c 24 08       	mov    %rdi,0x8(%rsp)
18002f451:	8b 11                	mov    (%rcx),%edx
18002f453:	b8 00 00 00 00       	mov    $0x0,%eax
18002f458:	4c 8b 41 08          	mov    0x8(%rcx),%r8
18002f45c:	f6 c2 1f             	test   $0x1f,%dl
18002f45f:	0f 95 c0             	setne  %al
18002f462:	c1 ea 05             	shr    $0x5,%edx
18002f465:	03 d0                	add    %eax,%edx
18002f467:	c1 e2 02             	shl    $0x2,%edx
18002f46a:	48 c1 ea 02          	shr    $0x2,%rdx
18002f46e:	48 85 d2             	test   %rdx,%rdx
18002f471:	74 31                	je     0x18002f4a4
18002f473:	41 83 c9 ff          	or     $0xffffffff,%r9d
18002f477:	41 f6 c0 04          	test   $0x4,%r8b
18002f47b:	74 0d                	je     0x18002f48a
18002f47d:	45 89 08             	mov    %r9d,(%r8)
18002f480:	48 83 ea 01          	sub    $0x1,%rdx
18002f484:	74 1e                	je     0x18002f4a4
18002f486:	49 83 c0 04          	add    $0x4,%r8
18002f48a:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
18002f48e:	48 8b ca             	mov    %rdx,%rcx
18002f491:	48 d1 e9             	shr    $1,%rcx
18002f494:	49 8b f8             	mov    %r8,%rdi
18002f497:	f3 48 ab             	rep stos %rax,%es:(%rdi)
18002f49a:	f6 c2 01             	test   $0x1,%dl
18002f49d:	74 05                	je     0x18002f4a4
18002f49f:	45 89 4c 90 fc       	mov    %r9d,-0x4(%r8,%rdx,4)
18002f4a4:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
18002f4a9:	c3                   	ret
18002f4aa:	cc                   	int3
18002f4ab:	cc                   	int3
18002f4ac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18002f4b1:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18002f4b6:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
18002f4bb:	57                   	push   %rdi
18002f4bc:	41 55                	push   %r13
18002f4be:	41 56                	push   %r14
18002f4c0:	41 57                	push   %r15
18002f4c2:	8b 5c 24 48          	mov    0x48(%rsp),%ebx
18002f4c6:	41 8b c1             	mov    %r9d,%eax
18002f4c9:	41 2b c0             	sub    %r8d,%eax
18002f4cc:	8b fa                	mov    %edx,%edi
18002f4ce:	ff c0                	inc    %eax
18002f4d0:	4c 8b f1             	mov    %rcx,%r14
18002f4d3:	3b c2                	cmp    %edx,%eax
18002f4d5:	0f 82 9a 02 00 00    	jb     0x18002f775
18002f4db:	41 bd 3f 00 00 00    	mov    $0x3f,%r13d
18002f4e1:	41 8b e9             	mov    %r9d,%ebp
18002f4e4:	2b ea                	sub    %edx,%ebp
18002f4e6:	ff c5                	inc    %ebp
18002f4e8:	8b c5                	mov    %ebp,%eax
18002f4ea:	48 c1 e8 06          	shr    $0x6,%rax
18002f4ee:	45 8d 5d 01          	lea    0x1(%r13),%r11d
18002f4f2:	48 8d 34 c1          	lea    (%rcx,%rax,8),%rsi
18002f4f6:	41 8b c0             	mov    %r8d,%eax
18002f4f9:	48 c1 e8 06          	shr    $0x6,%rax
18002f4fd:	41 8b c8             	mov    %r8d,%ecx
18002f500:	45 8d 45 c2          	lea    -0x3e(%r13),%r8d
18002f504:	41 22 cd             	and    %r13b,%cl
18002f507:	49 d3 e0             	shl    %cl,%r8
18002f50a:	49 8d 14 c6          	lea    (%r14,%rax,8),%rdx
18002f50e:	49 ff c8             	dec    %r8
18002f511:	48 8b 02             	mov    (%rdx),%rax
18002f514:	85 db                	test   %ebx,%ebx
18002f516:	48 f7 d0             	not    %rax
18002f519:	48 0f 44 02          	cmove  (%rdx),%rax
18002f51d:	4c 0b c0             	or     %rax,%r8
18002f520:	83 ff 7f             	cmp    $0x7f,%edi
18002f523:	0f 86 e3 00 00 00    	jbe    0x18002f60c
18002f529:	41 84 ed             	test   %bpl,%r13b
18002f52c:	4c 8d 56 08          	lea    0x8(%rsi),%r10
18002f530:	4c 0f 44 d6          	cmove  %rsi,%r10
18002f534:	4d 85 c0             	test   %r8,%r8
18002f537:	75 04                	jne    0x18002f53d
18002f539:	33 c9                	xor    %ecx,%ecx
18002f53b:	eb 5f                	jmp    0x18002f59c
18002f53d:	48 83 c2 08          	add    $0x8,%rdx
18002f541:	85 db                	test   %ebx,%ebx
18002f543:	48 8b 02             	mov    (%rdx),%rax
18002f546:	48 f7 d0             	not    %rax
18002f549:	48 0f 44 02          	cmove  (%rdx),%rax
18002f54d:	48 85 c0             	test   %rax,%rax
18002f550:	75 12                	jne    0x18002f564
18002f552:	49 0f bd c0          	bsr    %r8,%rax
18002f556:	75 05                	jne    0x18002f55d
18002f558:	41 8b cb             	mov    %r11d,%ecx
18002f55b:	eb 3f                	jmp    0x18002f59c
18002f55d:	41 8b cd             	mov    %r13d,%ecx
18002f560:	2b c8                	sub    %eax,%ecx
18002f562:	eb 38                	jmp    0x18002f59c
18002f564:	49 3b d2             	cmp    %r10,%rdx
18002f567:	0f 87 08 02 00 00    	ja     0x18002f775
18002f56d:	48 83 c2 08          	add    $0x8,%rdx
18002f571:	85 db                	test   %ebx,%ebx
18002f573:	48 8b 02             	mov    (%rdx),%rax
18002f576:	48 f7 d0             	not    %rax
18002f579:	48 0f 44 02          	cmove  (%rdx),%rax
18002f57d:	48 85 c0             	test   %rax,%rax
18002f580:	75 e2                	jne    0x18002f564
18002f582:	48 8b 42 f8          	mov    -0x8(%rdx),%rax
18002f586:	85 db                	test   %ebx,%ebx
18002f588:	48 f7 d0             	not    %rax
18002f58b:	48 0f 44 42 f8       	cmove  -0x8(%rdx),%rax
18002f590:	4c 0f bd c0          	bsr    %rax,%r8
18002f594:	74 c2                	je     0x18002f558
18002f596:	41 8b cd             	mov    %r13d,%ecx
18002f599:	41 2b c8             	sub    %r8d,%ecx
18002f59c:	4c 8b ca             	mov    %rdx,%r9
18002f59f:	4d 2b ce             	sub    %r14,%r9
18002f5a2:	49 c1 f9 03          	sar    $0x3,%r9
18002f5a6:	41 c1 e1 06          	shl    $0x6,%r9d
18002f5aa:	44 2b c9             	sub    %ecx,%r9d
18002f5ad:	44 3b cd             	cmp    %ebp,%r9d
18002f5b0:	0f 87 bf 01 00 00    	ja     0x18002f775
18002f5b6:	8b c7                	mov    %edi,%eax
18002f5b8:	2b c1                	sub    %ecx,%eax
18002f5ba:	44 8b c0             	mov    %eax,%r8d
18002f5bd:	48 c1 e8 06          	shr    $0x6,%rax
18002f5c1:	48 8d 0c c2          	lea    (%rdx,%rax,8),%rcx
18002f5c5:	eb 11                	jmp    0x18002f5d8
18002f5c7:	48 8b 02             	mov    (%rdx),%rax
18002f5ca:	85 db                	test   %ebx,%ebx
18002f5cc:	48 f7 d0             	not    %rax
18002f5cf:	48 0f 44 02          	cmove  (%rdx),%rax
18002f5d3:	48 85 c0             	test   %rax,%rax
18002f5d6:	75 8c                	jne    0x18002f564
18002f5d8:	48 83 c2 08          	add    $0x8,%rdx
18002f5dc:	48 3b d1             	cmp    %rcx,%rdx
18002f5df:	75 e6                	jne    0x18002f5c7
18002f5e1:	45 23 c5             	and    %r13d,%r8d
18002f5e4:	0f 84 db 01 00 00    	je     0x18002f7c5
18002f5ea:	48 8b 02             	mov    (%rdx),%rax
18002f5ed:	85 db                	test   %ebx,%ebx
18002f5ef:	48 f7 d0             	not    %rax
18002f5f2:	48 0f 44 02          	cmove  (%rdx),%rax
18002f5f6:	48 0f bc c8          	bsf    %rax,%rcx
18002f5fa:	41 0f 44 cb          	cmove  %r11d,%ecx
18002f5fe:	41 3b c8             	cmp    %r8d,%ecx
18002f601:	0f 83 be 01 00 00    	jae    0x18002f7c5
18002f607:	e9 58 ff ff ff       	jmp    0x18002f564
18002f60c:	41 3b fb             	cmp    %r11d,%edi
18002f60f:	0f 83 97 00 00 00    	jae    0x18002f6ac
18002f615:	83 ff 01             	cmp    $0x1,%edi
18002f618:	0f 86 87 01 00 00    	jbe    0x18002f7a5
18002f61e:	33 c9                	xor    %ecx,%ecx
18002f620:	41 8b c1             	mov    %r9d,%eax
18002f623:	48 c1 e8 06          	shr    $0x6,%rax
18002f627:	4d 8d 3c c6          	lea    (%r14,%rax,8),%r15
18002f62b:	49 83 f8 ff          	cmp    $0xffffffffffffffff,%r8
18002f62f:	75 21                	jne    0x18002f652
18002f631:	48 83 c2 08          	add    $0x8,%rdx
18002f635:	48 3b d6             	cmp    %rsi,%rdx
18002f638:	0f 87 37 01 00 00    	ja     0x18002f775
18002f63e:	4c 8b 02             	mov    (%rdx),%r8
18002f641:	85 db                	test   %ebx,%ebx
18002f643:	49 f7 d0             	not    %r8
18002f646:	4c 0f 44 02          	cmove  (%rdx),%r8
18002f64a:	49 83 f8 ff          	cmp    $0xffffffffffffffff,%r8
18002f64e:	74 e1                	je     0x18002f631
18002f650:	33 c9                	xor    %ecx,%ecx
18002f652:	49 0f bc c0          	bsf    %r8,%rax
18002f656:	41 0f 44 c3          	cmove  %r11d,%eax
18002f65a:	03 c1                	add    %ecx,%eax
18002f65c:	3b c7                	cmp    %edi,%eax
18002f65e:	0f 83 fa 00 00 00    	jae    0x18002f75e
18002f664:	4d 8b c8             	mov    %r8,%r9
18002f667:	44 8b d7             	mov    %edi,%r10d
18002f66a:	49 f7 d1             	not    %r9
18002f66d:	49 8b c1             	mov    %r9,%rax
18002f670:	41 8b ca             	mov    %r10d,%ecx
18002f673:	d1 e9                	shr    $1,%ecx
18002f675:	48 d3 e8             	shr    %cl,%rax
18002f678:	4c 23 c8             	and    %rax,%r9
18002f67b:	0f 84 b3 00 00 00    	je     0x18002f734
18002f681:	44 2b d1             	sub    %ecx,%r10d
18002f684:	41 83 fa 01          	cmp    $0x1,%r10d
18002f688:	77 e3                	ja     0x18002f66d
18002f68a:	4d 0f bc c9          	bsf    %r9,%r9
18002f68e:	e9 d0 00 00 00       	jmp    0x18002f763
18002f693:	48 83 c2 08          	add    $0x8,%rdx
18002f697:	48 3b d6             	cmp    %rsi,%rdx
18002f69a:	0f 87 d5 00 00 00    	ja     0x18002f775
18002f6a0:	4c 8b 02             	mov    (%rdx),%r8
18002f6a3:	85 db                	test   %ebx,%ebx
18002f6a5:	49 f7 d0             	not    %r8
18002f6a8:	4c 0f 44 02          	cmove  (%rdx),%r8
18002f6ac:	4d 85 c0             	test   %r8,%r8
18002f6af:	78 e2                	js     0x18002f693
18002f6b1:	49 0f bd c0          	bsr    %r8,%rax
18002f6b5:	75 05                	jne    0x18002f6bc
18002f6b7:	41 8b cb             	mov    %r11d,%ecx
18002f6ba:	eb 05                	jmp    0x18002f6c1
18002f6bc:	41 8b cd             	mov    %r13d,%ecx
18002f6bf:	2b c8                	sub    %eax,%ecx
18002f6c1:	48 8b c2             	mov    %rdx,%rax
18002f6c4:	49 2b c6             	sub    %r14,%rax
18002f6c7:	48 c1 f8 03          	sar    $0x3,%rax
18002f6cb:	ff c0                	inc    %eax
18002f6cd:	c1 e0 06             	shl    $0x6,%eax
18002f6d0:	2b c1                	sub    %ecx,%eax
18002f6d2:	44 8b c8             	mov    %eax,%r9d
18002f6d5:	3b c5                	cmp    %ebp,%eax
18002f6d7:	0f 87 98 00 00 00    	ja     0x18002f775
18002f6dd:	44 8b d7             	mov    %edi,%r10d
18002f6e0:	44 2b d1             	sub    %ecx,%r10d
18002f6e3:	0f 84 dc 00 00 00    	je     0x18002f7c5
18002f6e9:	48 83 c2 08          	add    $0x8,%rdx
18002f6ed:	85 db                	test   %ebx,%ebx
18002f6ef:	48 8b 02             	mov    (%rdx),%rax
18002f6f2:	48 f7 d0             	not    %rax
18002f6f5:	48 0f 44 02          	cmove  (%rdx),%rax
18002f6f9:	4c 8b c0             	mov    %rax,%r8
18002f6fc:	45 3b d3             	cmp    %r11d,%r10d
18002f6ff:	72 1d                	jb     0x18002f71e
18002f701:	48 85 c0             	test   %rax,%rax
18002f704:	75 a6                	jne    0x18002f6ac
18002f706:	41 83 c2 c0          	add    $0xffffffc0,%r10d
18002f70a:	0f 84 b5 00 00 00    	je     0x18002f7c5
18002f710:	48 83 c2 08          	add    $0x8,%rdx
18002f714:	4c 8b 02             	mov    (%rdx),%r8
18002f717:	85 db                	test   %ebx,%ebx
18002f719:	74 03                	je     0x18002f71e
18002f71b:	49 f7 d0             	not    %r8
18002f71e:	49 0f bc c0          	bsf    %r8,%rax
18002f722:	41 0f 44 c3          	cmove  %r11d,%eax
18002f726:	41 3b c2             	cmp    %r10d,%eax
18002f729:	0f 83 96 00 00 00    	jae    0x18002f7c5
18002f72f:	e9 78 ff ff ff       	jmp    0x18002f6ac
18002f734:	49 3b d7             	cmp    %r15,%rdx
18002f737:	74 3c                	je     0x18002f775
18002f739:	49 0f bd c0          	bsr    %r8,%rax
18002f73d:	75 05                	jne    0x18002f744
18002f73f:	41 8b cb             	mov    %r11d,%ecx
18002f742:	eb 05                	jmp    0x18002f749
18002f744:	41 8b cd             	mov    %r13d,%ecx
18002f747:	2b c8                	sub    %eax,%ecx
18002f749:	48 83 c2 08          	add    $0x8,%rdx
18002f74d:	85 db                	test   %ebx,%ebx