18007c2c2:	48 8b 00             	mov    (%rax),%rax
18007c2c5:	ff d0                	call   *%rax
18007c2c7:	0f 1f 00             	nopl   (%rax)
18007c2ca:	e8 25 5e 00 00       	call   0x1800820f4
18007c2cf:	e8 20 80 05 00       	call   0x1800d42f4
18007c2d4:	e8 47 29 02 00       	call   0x18009ec20
18007c2d9:	48 83 3d bf 6c 12 00 	cmpq   $0x0,0x126cbf(%rip)        # 0x1801a2fa0
18007c2e0:	00
18007c2e1:	74 14                	je     0x18007c2f7
18007c2e3:	48 8d 0d b6 6c 12 00 	lea    0x126cb6(%rip),%rcx        # 0x1801a2fa0
18007c2ea:	e8 61 83 01 00       	call   0x180094650
18007c2ef:	48 83 25 a9 6c 12 00 	andq   $0x0,0x126ca9(%rip)        # 0x1801a2fa0
18007c2f6:	00
18007c2f7:	e8 18 d6 09 00       	call   0x180119914
18007c2fc:	85 c0                	test   %eax,%eax
18007c2fe:	0f 48 d8             	cmovs  %eax,%ebx
18007c301:	e8 9e bc 00 00       	call   0x180087fa4
18007c306:	80 3d 0b 91 11 00 00 	cmpb   $0x0,0x11910b(%rip)        # 0x180195418
18007c30d:	75 04                	jne    0x18007c313
18007c30f:	33 ff                	xor    %edi,%edi
18007c311:	eb 07                	jmp    0x18007c31a
18007c313:	e8 38 2a 00 00       	call   0x18007ed50
18007c318:	8b f8                	mov    %eax,%edi
18007c31a:	8b 0d 48 06 0f 00    	mov    0xf0648(%rip),%ecx        # 0x18016c968
18007c320:	85 ff                	test   %edi,%edi
18007c322:	b8 85 01 00 c0       	mov    $0xc0000185,%eax
18007c327:	0f 49 fb             	cmovns %ebx,%edi
18007c32a:	48 83 25 1e 91 11 00 	andq   $0x0,0x11911e(%rip)        # 0x180195450
18007c331:	00
18007c332:	85 c9                	test   %ecx,%ecx
18007c334:	0f 49 c8             	cmovns %eax,%ecx
18007c337:	89 0d 2b 06 0f 00    	mov    %ecx,0xf062b(%rip)        # 0x18016c968
18007c33d:	b9 01 00 00 00       	mov    $0x1,%ecx
18007c342:	e8 51 f2 01 00       	call   0x18009b598
18007c347:	85 c0                	test   %eax,%eax
18007c349:	b1 01                	mov    $0x1,%cl
18007c34b:	0f 48 f8             	cmovs  %eax,%edi
18007c34e:	e8 39 8a fa ff       	call   0x180024d8c
18007c353:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18007c358:	8b c7                	mov    %edi,%eax
18007c35a:	48 83 c4 20          	add    $0x20,%rsp
18007c35e:	5f                   	pop    %rdi
18007c35f:	c3                   	ret
18007c360:	cc                   	int3
18007c361:	cc                   	int3
18007c362:	cc                   	int3
18007c363:	cc                   	int3
18007c364:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18007c369:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18007c36e:	57                   	push   %rdi
18007c36f:	48 83 ec 20          	sub    $0x20,%rsp
18007c373:	48 8b f1             	mov    %rcx,%rsi
18007c376:	8b 49 08             	mov    0x8(%rcx),%ecx
18007c379:	e8 d2 da 01 00       	call   0x180099e50
18007c37e:	48 8b d8             	mov    %rax,%rbx
18007c381:	48 85 c0             	test   %rax,%rax
18007c384:	75 07                	jne    0x18007c38d
18007c386:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
18007c38b:	eb 5b                	jmp    0x18007c3e8
18007c38d:	4c 8b c6             	mov    %rsi,%r8
18007c390:	48 8d 0d 29 86 12 00 	lea    0x128629(%rip),%rcx        # 0x1801a49c0
18007c397:	ba 01 00 00 11       	mov    $0x11000001,%edx
18007c39c:	e8 77 05 00 00       	call   0x18007c918
18007c3a1:	8b f8                	mov    %eax,%edi
18007c3a3:	85 c0                	test   %eax,%eax
18007c3a5:	78 34                	js     0x18007c3db
18007c3a7:	44 8b 46 08          	mov    0x8(%rsi),%r8d
18007c3ab:	48 8b d6             	mov    %rsi,%rdx
18007c3ae:	48 8b cb             	mov    %rbx,%rcx
18007c3b1:	e8 0a 96 0b 00       	call   0x1801359c0
18007c3b6:	80 3d ec 40 0f 00 00 	cmpb   $0x0,0xf40ec(%rip)        # 0x1801704a9
18007c3bd:	74 0c                	je     0x18007c3cb
18007c3bf:	48 8b 0d f2 40 0f 00 	mov    0xf40f2(%rip),%rcx        # 0x1801704b8
18007c3c6:	e8 31 dc 01 00       	call   0x180099ffc
18007c3cb:	48 89 1d e6 40 0f 00 	mov    %rbx,0xf40e6(%rip)        # 0x1801704b8
18007c3d2:	33 db                	xor    %ebx,%ebx
18007c3d4:	c6 05 ce 40 0f 00 01 	movb   $0x1,0xf40ce(%rip)        # 0x1801704a9
18007c3db:	48 85 db             	test   %rbx,%rbx
18007c3de:	74 08                	je     0x18007c3e8
18007c3e0:	48 8b cb             	mov    %rbx,%rcx
18007c3e3:	e8 14 dc 01 00       	call   0x180099ffc
18007c3e8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18007c3ed:	8b c7                	mov    %edi,%eax
18007c3ef:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18007c3f4:	48 83 c4 20          	add    $0x20,%rsp
18007c3f8:	5f                   	pop    %rdi
18007c3f9:	c3                   	ret
18007c3fa:	cc                   	int3
18007c3fb:	cc                   	int3
18007c3fc:	48 83 ec 28          	sub    $0x28,%rsp
18007c400:	e8 bf 05 03 00       	call   0x1800ac9c4
18007c405:	48 85 c0             	test   %rax,%rax
18007c408:	0f 95 c0             	setne  %al
18007c40b:	48 83 c4 28          	add    $0x28,%rsp
18007c40f:	c3                   	ret
18007c410:	cc                   	int3
18007c411:	cc                   	int3
18007c412:	cc                   	int3
18007c413:	cc                   	int3
18007c414:	40 53                	rex push %rbx
18007c416:	48 83 ec 30          	sub    $0x30,%rsp
18007c41a:	8b c2                	mov    %edx,%eax
18007c41c:	49 8b d8             	mov    %r8,%rbx
18007c41f:	25 00 00 00 0f       	and    $0xf000000,%eax
18007c424:	44 8b ca             	mov    %edx,%r9d
18007c427:	3d 00 00 00 06       	cmp    $0x6000000,%eax
18007c42c:	74 07                	je     0x18007c435
18007c42e:	ba 0d 00 00 c0       	mov    $0xc000000d,%edx
18007c433:	eb 7f                	jmp    0x18007c4b4
18007c435:	e8 8a 05 03 00       	call   0x1800ac9c4
18007c43a:	4c 8b c0             	mov    %rax,%r8
18007c43d:	48 85 c0             	test   %rax,%rax
18007c440:	75 07                	jne    0x18007c449
18007c442:	ba 25 02 00 c0       	mov    $0xc0000225,%edx
18007c447:	eb 0d                	jmp    0x18007c456
18007c449:	8b 40 04             	mov    0x4(%rax),%eax
18007c44c:	33 d2                	xor    %edx,%edx
18007c44e:	42 8a 0c 00          	mov    (%rax,%r8,1),%cl
18007c452:	88 4c 24 48          	mov    %cl,0x48(%rsp)
18007c456:	f6 05 63 85 12 00 01 	testb  $0x1,0x128563(%rip)        # 0x1801a49c0
18007c45d:	74 0d                	je     0x18007c46c
18007c45f:	80 3d 49 37 0f 00 00 	cmpb   $0x0,0xf3749(%rip)        # 0x18016fbaf
18007c466:	75 04                	jne    0x18007c46c
18007c468:	33 c9                	xor    %ecx,%ecx
18007c46a:	eb 07                	jmp    0x18007c473
18007c46c:	48 8d 0d 51 85 12 00 	lea    0x128551(%rip),%rcx        # 0x1801a49c4
18007c473:	48 8b 05 36 40 0f 00 	mov    0xf4036(%rip),%rax        # 0x1801704b0
18007c47a:	48 85 c0             	test   %rax,%rax
18007c47d:	74 2b                	je     0x18007c4aa
18007c47f:	48 8b 00             	mov    (%rax),%rax
18007c482:	48 85 c0             	test   %rax,%rax
18007c485:	74 23                	je     0x18007c4aa
18007c487:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
18007c48c:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
18007c491:	45 33 c0             	xor    %r8d,%r8d
18007c494:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
18007c499:	4c 8b c9             	mov    %rcx,%r9
18007c49c:	48 8b 0d f5 3f 0f 00 	mov    0xf3ff5(%rip),%rcx        # 0x180170498
18007c4a3:	ff d0                	call   *%rax
18007c4a5:	0f 1f 00             	nopl   (%rax)
18007c4a8:	8b d0                	mov    %eax,%edx
18007c4aa:	85 d2                	test   %edx,%edx
18007c4ac:	78 06                	js     0x18007c4b4
18007c4ae:	8a 4c 24 48          	mov    0x48(%rsp),%cl
18007c4b2:	88 0b                	mov    %cl,(%rbx)
18007c4b4:	8b c2                	mov    %edx,%eax
18007c4b6:	48 83 c4 30          	add    $0x30,%rsp
18007c4ba:	5b                   	pop    %rbx
18007c4bb:	c3                   	ret
18007c4bc:	cc                   	int3
18007c4bd:	cc                   	int3
18007c4be:	cc                   	int3
18007c4bf:	cc                   	int3
18007c4c0:	48 83 ec 38          	sub    $0x38,%rsp
18007c4c4:	8b c2                	mov    %edx,%eax
18007c4c6:	44 8b ca             	mov    %edx,%r9d
18007c4c9:	25 00 00 00 0f       	and    $0xf000000,%eax
18007c4ce:	3d 00 00 00 05       	cmp    $0x5000000,%eax
18007c4d3:	74 07                	je     0x18007c4dc
18007c4d5:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
18007c4da:	eb 72                	jmp    0x18007c54e
18007c4dc:	e8 e3 04 03 00       	call   0x1800ac9c4
18007c4e1:	48 8b c8             	mov    %rax,%rcx
18007c4e4:	48 85 c0             	test   %rax,%rax
18007c4e7:	75 07                	jne    0x18007c4f0
18007c4e9:	b9 25 02 00 c0       	mov    $0xc0000225,%ecx
18007c4ee:	eb 0c                	jmp    0x18007c4fc
18007c4f0:	8b 40 04             	mov    0x4(%rax),%eax
18007c4f3:	48 8b 0c 08          	mov    (%rax,%rcx,1),%rcx
18007c4f7:	49 89 08             	mov    %rcx,(%r8)
18007c4fa:	33 c9                	xor    %ecx,%ecx
18007c4fc:	f6 05 bd 84 12 00 01 	testb  $0x1,0x1284bd(%rip)        # 0x1801a49c0
18007c503:	74 0d                	je     0x18007c512
18007c505:	80 3d a3 36 0f 00 00 	cmpb   $0x0,0xf36a3(%rip)        # 0x18016fbaf
18007c50c:	75 04                	jne    0x18007c512
18007c50e:	33 d2                	xor    %edx,%edx
18007c510:	eb 07                	jmp    0x18007c519
18007c512:	48 8d 15 ab 84 12 00 	lea    0x1284ab(%rip),%rdx        # 0x1801a49c4
18007c519:	48 8b 05 90 3f 0f 00 	mov    0xf3f90(%rip),%rax        # 0x1801704b0
18007c520:	48 85 c0             	test   %rax,%rax
18007c523:	74 29                	je     0x18007c54e
18007c525:	48 8b 40 08          	mov    0x8(%rax),%rax
18007c529:	48 85 c0             	test   %rax,%rax
18007c52c:	74 20                	je     0x18007c54e
18007c52e:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
18007c533:	45 33 c0             	xor    %r8d,%r8d
18007c536:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
18007c53b:	4c 8b ca             	mov    %rdx,%r9
18007c53e:	8b d1                	mov    %ecx,%edx
18007c540:	48 8b 0d 51 3f 0f 00 	mov    0xf3f51(%rip),%rcx        # 0x180170498
18007c547:	ff d0                	call   *%rax
18007c549:	0f 1f 00             	nopl   (%rax)
18007c54c:	8b c8                	mov    %eax,%ecx
18007c54e:	8b c1                	mov    %ecx,%eax
18007c550:	48 83 c4 38          	add    $0x38,%rsp
18007c554:	c3                   	ret
18007c555:	cc                   	int3
18007c556:	cc                   	int3
18007c557:	cc                   	int3
18007c558:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18007c55d:	55                   	push   %rbp
18007c55e:	56                   	push   %rsi
18007c55f:	57                   	push   %rdi
18007c560:	48 83 ec 40          	sub    $0x40,%rsp
18007c564:	33 ed                	xor    %ebp,%ebp
18007c566:	8b c2                	mov    %edx,%eax
18007c568:	25 00 00 00 0f       	and    $0xf000000,%eax
18007c56d:	49 8b f0             	mov    %r8,%rsi
18007c570:	44 8b d2             	mov    %edx,%r10d
18007c573:	44 8b cd             	mov    %ebp,%r9d
18007c576:	3d 00 00 00 02       	cmp    $0x2000000,%eax
18007c57b:	74 0a                	je     0x18007c587
18007c57d:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18007c582:	e9 d3 00 00 00       	jmp    0x18007c65a
18007c587:	e8 38 04 03 00       	call   0x1800ac9c4
18007c58c:	4c 8b c0             	mov    %rax,%r8
18007c58f:	48 85 c0             	test   %rax,%rax
18007c592:	75 0a                	jne    0x18007c59e
18007c594:	b8 25 02 00 c0       	mov    $0xc0000225,%eax
18007c599:	0f b7 cd             	movzwl %bp,%ecx
18007c59c:	eb 0e                	jmp    0x18007c5ac
18007c59e:	44 8b 48 04          	mov    0x4(%rax),%r9d
18007c5a2:	8b c5                	mov    %ebp,%eax
18007c5a4:	41 0f b7 48 08       	movzwl 0x8(%r8),%ecx
18007c5a9:	4d 03 c8             	add    %r8,%r9
18007c5ac:	0f b7 c9             	movzwl %cx,%ecx
18007c5af:	d1 e9                	shr    $1,%ecx
18007c5b1:	f6 05 08 84 12 00 01 	testb  $0x1,0x128408(%rip)        # 0x1801a49c0
18007c5b8:	4c 89 4c 24 78       	mov    %r9,0x78(%rsp)
18007c5bd:	89 4c 24 68          	mov    %ecx,0x68(%rsp)
18007c5c1:	74 0c                	je     0x18007c5cf
18007c5c3:	40 38 2d e5 35 0f 00 	cmp    %bpl,0xf35e5(%rip)        # 0x18016fbaf
18007c5ca:	48 8b d5             	mov    %rbp,%rdx
18007c5cd:	74 07                	je     0x18007c5d6
18007c5cf:	48 8d 15 ee 83 12 00 	lea    0x1283ee(%rip),%rdx        # 0x1801a49c4
18007c5d6:	48 39 2d d3 3e 0f 00 	cmp    %rbp,0xf3ed3(%rip)        # 0x1801704b0
18007c5dd:	74 26                	je     0x18007c605
18007c5df:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
18007c5e4:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
18007c5e9:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
18007c5ee:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
18007c5f3:	45 8b c2             	mov    %r10d,%r8d
18007c5f6:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
18007c5fa:	8b c8                	mov    %eax,%ecx
18007c5fc:	e8 6f 0f 00 00       	call   0x18007d570
18007c601:	8b 4c 24 68          	mov    0x68(%rsp),%ecx
18007c605:	85 c0                	test   %eax,%eax
18007c607:	78 51                	js     0x18007c65a
18007c609:	8d 41 01             	lea    0x1(%rcx),%eax
18007c60c:	3b c1                	cmp    %ecx,%eax
18007c60e:	72 45                	jb     0x18007c655
18007c610:	48 03 c0             	add    %rax,%rax
18007c613:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
18007c618:	48 3b c1             	cmp    %rcx,%rax
18007c61b:	77 38                	ja     0x18007c655
18007c61d:	8b c8                	mov    %eax,%ecx
18007c61f:	8b f8                	mov    %eax,%edi
18007c621:	e8 2a d8 01 00       	call   0x180099e50
18007c626:	48 8b d8             	mov    %rax,%rbx
18007c629:	48 85 c0             	test   %rax,%rax
18007c62c:	75 07                	jne    0x18007c635
18007c62e:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18007c633:	eb 25                	jmp    0x18007c65a
18007c635:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
18007c63a:	4c 8d 47 fe          	lea    -0x2(%rdi),%r8
18007c63e:	48 8b cb             	mov    %rbx,%rcx
18007c641:	e8 7a 93 0b 00       	call   0x1801359c0
18007c646:	8b 44 24 68          	mov    0x68(%rsp),%eax
18007c64a:	66 89 2c 43          	mov    %bp,(%rbx,%rax,2)
18007c64e:	8b c5                	mov    %ebp,%eax
18007c650:	48 89 1e             	mov    %rbx,(%rsi)
18007c653:	eb 05                	jmp    0x18007c65a
18007c655:	b8 95 00 00 c0       	mov    $0xc0000095,%eax
18007c65a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18007c65f:	48 83 c4 40          	add    $0x40,%rsp
18007c663:	5f                   	pop    %rdi
18007c664:	5e                   	pop    %rsi
18007c665:	5d                   	pop    %rbp
18007c666:	c3                   	ret
18007c667:	cc                   	int3
18007c668:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18007c66d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18007c672:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18007c677:	57                   	push   %rdi
18007c678:	41 54                	push   %r12
18007c67a:	41 55                	push   %r13
18007c67c:	41 56                	push   %r14
18007c67e:	41 57                	push   %r15
18007c680:	48 83 ec 50          	sub    $0x50,%rsp
18007c684:	8b c2                	mov    %edx,%eax
18007c686:	45 33 e4             	xor    %r12d,%r12d
18007c689:	25 00 00 00 0f       	and    $0xf000000,%eax
18007c68e:	33 db                	xor    %ebx,%ebx
18007c690:	33 ff                	xor    %edi,%edi
18007c692:	4d 8b f1             	mov    %r9,%r14
18007c695:	4d 8b e8             	mov    %r8,%r13
18007c698:	44 8b fa             	mov    %edx,%r15d
18007c69b:	3d 00 00 00 01       	cmp    $0x1000000,%eax
18007c6a0:	74 0a                	je     0x18007c6ac
18007c6a2:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
18007c6a7:	e9 5d 01 00 00       	jmp    0x18007c809
18007c6ac:	e8 13 03 03 00       	call   0x1800ac9c4
18007c6b1:	48 8b f0             	mov    %rax,%rsi
18007c6b4:	48 85 c0             	test   %rax,%rax
18007c6b7:	75 07                	jne    0x18007c6c0
18007c6b9:	be 25 02 00 c0       	mov    $0xc0000225,%esi
18007c6be:	eb 7a                	jmp    0x18007c73a
18007c6c0:	8b 68 04             	mov    0x4(%rax),%ebp
18007c6c3:	8b 4c 05 18          	mov    0x18(%rbp,%rax,1),%ecx
18007c6c7:	e8 84 d7 01 00       	call   0x180099e50
18007c6cc:	48 8b d8             	mov    %rax,%rbx
18007c6cf:	48 85 c0             	test   %rax,%rax
18007c6d2:	75 0a                	jne    0x18007c6de
18007c6d4:	be 17 00 00 c0       	mov    $0xc0000017,%esi
18007c6d9:	e9 2b 01 00 00       	jmp    0x18007c809
18007c6de:	44 8b 44 35 18       	mov    0x18(%rbp,%rsi,1),%r8d
18007c6e3:	48 8d 56 10          	lea    0x10(%rsi),%rdx
18007c6e7:	48 03 d5             	add    %rbp,%rdx
18007c6ea:	48 8b c8             	mov    %rax,%rcx
18007c6ed:	e8 ce 92 0b 00       	call   0x1801359c0
18007c6f2:	4d 85 f6             	test   %r14,%r14
18007c6f5:	74 41                	je     0x18007c738
18007c6f7:	39 7e 0c             	cmp    %edi,0xc(%rsi)
18007c6fa:	74 37                	je     0x18007c733
18007c6fc:	8b 6e 0c             	mov    0xc(%rsi),%ebp
18007c6ff:	48 03 ee             	add    %rsi,%rbp
18007c702:	48 8b cd             	mov    %rbp,%rcx
18007c705:	e8 5a 01 00 00       	call   0x18007c864
18007c70a:	8b c8                	mov    %eax,%ecx
18007c70c:	8b f0                	mov    %eax,%esi
18007c70e:	e8 3d d7 01 00       	call   0x180099e50
18007c713:	48 8b f8             	mov    %rax,%rdi
18007c716:	48 85 c0             	test   %rax,%rax
18007c719:	75 0a                	jne    0x18007c725
18007c71b:	be 17 00 00 c0       	mov    $0xc0000017,%esi
18007c720:	e9 d7 00 00 00       	jmp    0x18007c7fc
18007c725:	4c 8b c6             	mov    %rsi,%r8
18007c728:	48 8b d5             	mov    %rbp,%rdx
18007c72b:	48 8b c8             	mov    %rax,%rcx
18007c72e:	e8 8d 92 0b 00       	call   0x1801359c0
18007c733:	4c 8d 64 24 48       	lea    0x48(%rsp),%r12
18007c738:	33 f6                	xor    %esi,%esi
18007c73a:	f6 05 7f 82 12 00 01 	testb  $0x1,0x12827f(%rip)        # 0x1801a49c0
18007c741:	48 8b c3             	mov    %rbx,%rax
18007c744:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
18007c749:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
18007c74e:	74 0e                	je     0x18007c75e
18007c750:	80 3d 58 34 0f 00 00 	cmpb   $0x0,0xf3458(%rip)        # 0x18016fbaf
18007c757:	75 05                	jne    0x18007c75e
18007c759:	45 33 c9             	xor    %r9d,%r9d