18003d42b:	49 8b ce             	mov    %r14,%rcx
18003d42e:	e8 e1 01 00 00       	call   0x18003d614
18003d433:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
18003d437:	4c 8b f0             	mov    %rax,%r14
18003d43a:	48 85 c0             	test   %rax,%rax
18003d43d:	75 0a                	jne    0x18003d449
18003d43f:	bf 0f 00 00 c0       	mov    $0xc000000f,%edi
18003d444:	e9 b6 01 00 00       	jmp    0x18003d5ff
18003d449:	48 8b 06             	mov    (%rsi),%rax
18003d44c:	48 85 c0             	test   %rax,%rax
18003d44f:	74 3e                	je     0x18003d48f
18003d451:	83 78 04 0c          	cmpl   $0xc,0x4(%rax)
18003d455:	48 8d 48 0c          	lea    0xc(%rax),%rcx
18003d459:	49 0f 46 cc          	cmovbe %r12,%rcx
18003d45d:	48 85 c9             	test   %rcx,%rcx
18003d460:	74 dd                	je     0x18003d43f
18003d462:	45 33 c9             	xor    %r9d,%r9d
18003d465:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
18003d46a:	33 d2                	xor    %edx,%edx
18003d46c:	45 8d 41 0a          	lea    0xa(%r9),%r8d
18003d470:	e8 4f ba fe ff       	call   0x180028ec4
18003d475:	8b f8                	mov    %eax,%edi
18003d477:	85 c0                	test   %eax,%eax
18003d479:	0f 88 80 01 00 00    	js     0x18003d5ff
18003d47f:	48 8b 0e             	mov    (%rsi),%rcx
18003d482:	e8 8d 01 00 00       	call   0x18003d614
18003d487:	4c 8b f8             	mov    %rax,%r15
18003d48a:	48 85 c0             	test   %rax,%rax
18003d48d:	74 b0                	je     0x18003d43f
18003d48f:	4d 03 f7             	add    %r15,%r14
18003d492:	4d 3b f7             	cmp    %r15,%r14
18003d495:	73 0a                	jae    0x18003d4a1
18003d497:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
18003d49c:	e9 5e 01 00 00       	jmp    0x18003d5ff
18003d4a1:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
18003d4a8:	00
18003d4a9:	48 8d 4d 50          	lea    0x50(%rbp),%rcx
18003d4ad:	41 b9 00 00 10 00    	mov    $0x100000,%r9d
18003d4b3:	44 89 64 24 20       	mov    %r12d,0x20(%rsp)
18003d4b8:	41 b8 08 00 00 d0    	mov    $0xd0000008,%r8d
18003d4be:	49 8b d6             	mov    %r14,%rdx
18003d4c1:	e8 7a 27 04 00       	call   0x18007fc40
18003d4c6:	4c 8b 65 50          	mov    0x50(%rbp),%r12
18003d4ca:	8b f8                	mov    %eax,%edi
18003d4cc:	85 c0                	test   %eax,%eax
18003d4ce:	0f 88 03 01 00 00    	js     0x18003d5d7
18003d4d4:	4d 85 e4             	test   %r12,%r12
18003d4d7:	74 16                	je     0x18003d4ef
18003d4d9:	45 33 c9             	xor    %r9d,%r9d
18003d4dc:	48 8d 55 60          	lea    0x60(%rbp),%rdx
18003d4e0:	45 33 c0             	xor    %r8d,%r8d
18003d4e3:	49 8b cc             	mov    %r12,%rcx
18003d4e6:	e8 a1 00 06 00       	call   0x18009d58c
18003d4eb:	48 8b 5d 60          	mov    0x60(%rbp),%rbx
18003d4ef:	4d 85 ff             	test   %r15,%r15
18003d4f2:	74 27                	je     0x18003d51b
18003d4f4:	4c 21 6c 24 30       	and    %r13,0x30(%rsp)
18003d4f9:	4d 8b c7             	mov    %r15,%r8
18003d4fc:	4c 21 6c 24 28       	and    %r13,0x28(%rsp)
18003d501:	49 8b d4             	mov    %r12,%rdx
18003d504:	48 8b 0e             	mov    (%rsi),%rcx
18003d507:	44 88 6c 24 20       	mov    %r13b,0x20(%rsp)
18003d50c:	e8 03 02 00 00       	call   0x18003d714
18003d511:	8b f8                	mov    %eax,%edi
18003d513:	85 c0                	test   %eax,%eax
18003d515:	0f 88 bc 00 00 00    	js     0x18003d5d7
18003d51b:	8b 05 bf 79 16 00    	mov    0x1679bf(%rip),%eax        # 0x1801a4ee0
18003d521:	4b 8d 14 27          	lea    (%r15,%r12,1),%rdx
18003d525:	4c 8b 7d f0          	mov    -0x10(%rbp),%r15
18003d529:	48 8d 4d 48          	lea    0x48(%rbp),%rcx
18003d52d:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
18003d531:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
18003d536:	48 8d 4d 58          	lea    0x58(%rbp),%rcx
18003d53a:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18003d53f:	c1 e8 11             	shr    $0x11,%eax
18003d542:	49 8d 4f 14          	lea    0x14(%r15),%rcx
18003d546:	24 01                	and    $0x1,%al
18003d548:	88 44 24 20          	mov    %al,0x20(%rsp)
18003d54c:	e8 c3 01 00 00       	call   0x18003d714
18003d551:	8b f8                	mov    %eax,%edi
18003d553:	85 c0                	test   %eax,%eax
18003d555:	78 7c                	js     0x18003d5d3
18003d557:	48 8d 45 60          	lea    0x60(%rbp),%rax
18003d55b:	41 b8 03 00 00 00    	mov    $0x3,%r8d
18003d561:	4c 8d 4d 50          	lea    0x50(%rbp),%r9
18003d565:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18003d56a:	49 8b d6             	mov    %r14,%rdx
18003d56d:	49 8b cc             	mov    %r12,%rcx
18003d570:	e8 b7 09 00 00       	call   0x18003df2c
18003d575:	8b f8                	mov    %eax,%edi
18003d577:	85 c0                	test   %eax,%eax
18003d579:	79 2d                	jns    0x18003d5a8
18003d57b:	8b 56 08             	mov    0x8(%rsi),%edx
18003d57e:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
18003d582:	8b c2                	mov    %edx,%eax
18003d584:	49 3b d6             	cmp    %r14,%rdx
18003d587:	72 04                	jb     0x18003d58d
18003d589:	33 d2                	xor    %edx,%edx
18003d58b:	33 c0                	xor    %eax,%eax
18003d58d:	44 8b c0             	mov    %eax,%r8d
18003d590:	48 85 c9             	test   %rcx,%rcx
18003d593:	74 09                	je     0x18003d59e
18003d595:	4a 8d 04 01          	lea    (%rcx,%r8,1),%rax
18003d599:	49 3b c6             	cmp    %r14,%rax
18003d59c:	76 06                	jbe    0x18003d5a4
18003d59e:	49 8b ce             	mov    %r14,%rcx
18003d5a1:	49 2b c8             	sub    %r8,%rcx
18003d5a4:	33 ff                	xor    %edi,%edi
18003d5a6:	eb 07                	jmp    0x18003d5af
18003d5a8:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
18003d5ac:	8b 55 50             	mov    0x50(%rbp),%edx
18003d5af:	49 89 1f             	mov    %rbx,(%r15)
18003d5b2:	41 89 57 10          	mov    %edx,0x10(%r15)
18003d5b6:	8b c2                	mov    %edx,%eax
18003d5b8:	48 03 c1             	add    %rcx,%rax
18003d5bb:	49 89 47 08          	mov    %rax,0x8(%r15)
18003d5bf:	48 8b 45 58          	mov    0x58(%rbp),%rax
18003d5c3:	48 89 46 38          	mov    %rax,0x38(%rsi)
18003d5c7:	8b 45 48             	mov    0x48(%rbp),%eax
18003d5ca:	89 46 40             	mov    %eax,0x40(%rsi)
18003d5cd:	85 ff                	test   %edi,%edi
18003d5cf:	79 2e                	jns    0x18003d5ff
18003d5d1:	eb 04                	jmp    0x18003d5d7
18003d5d3:	4c 8b 6d 58          	mov    0x58(%rbp),%r13
18003d5d7:	4d 85 e4             	test   %r12,%r12
18003d5da:	74 16                	je     0x18003d5f2
18003d5dc:	45 33 c0             	xor    %r8d,%r8d
18003d5df:	49 8b d6             	mov    %r14,%rdx
18003d5e2:	49 8b cc             	mov    %r12,%rcx
18003d5e5:	e8 82 d2 05 00       	call   0x18009a86c
18003d5ea:	48 8b cb             	mov    %rbx,%rcx
18003d5ed:	e8 6a a5 05 00       	call   0x180097b5c
18003d5f2:	4d 85 ed             	test   %r13,%r13
18003d5f5:	74 08                	je     0x18003d5ff
18003d5f7:	49 8b cd             	mov    %r13,%rcx
18003d5fa:	e8 fd c9 05 00       	call   0x180099ffc
18003d5ff:	8b c7                	mov    %edi,%eax
18003d601:	48 83 c4 58          	add    $0x58,%rsp
18003d605:	41 5f                	pop    %r15
18003d607:	41 5e                	pop    %r14
18003d609:	41 5d                	pop    %r13
18003d60b:	41 5c                	pop    %r12
18003d60d:	5f                   	pop    %rdi
18003d60e:	5e                   	pop    %rsi
18003d60f:	5b                   	pop    %rbx
18003d610:	5d                   	pop    %rbp
18003d611:	c3                   	ret
18003d612:	cc                   	int3
18003d613:	cc                   	int3
18003d614:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18003d619:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
18003d61e:	41 56                	push   %r14
18003d620:	48 83 ec 40          	sub    $0x40,%rsp
18003d624:	33 db                	xor    %ebx,%ebx
18003d626:	48 85 c9             	test   %rcx,%rcx
18003d629:	74 0f                	je     0x18003d63a
18003d62b:	83 79 04 0c          	cmpl   $0xc,0x4(%rcx)
18003d62f:	76 09                	jbe    0x18003d63a
18003d631:	48 8d 41 0c          	lea    0xc(%rcx),%rax
18003d635:	4c 8b d0             	mov    %rax,%r10
18003d638:	eb 07                	jmp    0x18003d641
18003d63a:	4c 8b d3             	mov    %rbx,%r10
18003d63d:	48 8d 41 0c          	lea    0xc(%rcx),%rax
18003d641:	48 85 c9             	test   %rcx,%rcx
18003d644:	74 06                	je     0x18003d64c
18003d646:	83 79 04 0c          	cmpl   $0xc,0x4(%rcx)
18003d64a:	77 03                	ja     0x18003d64f
18003d64c:	48 8b c3             	mov    %rbx,%rax
18003d64f:	48 85 c0             	test   %rax,%rax
18003d652:	74 08                	je     0x18003d65c
18003d654:	8b 78 08             	mov    0x8(%rax),%edi
18003d657:	48 03 f8             	add    %rax,%rdi
18003d65a:	eb 03                	jmp    0x18003d65f
18003d65c:	48 8b fb             	mov    %rbx,%rdi
18003d65f:	83 4c 24 50 ff       	orl    $0xffffffff,0x50(%rsp)
18003d664:	83 4c 24 58 ff       	orl    $0xffffffff,0x58(%rsp)
18003d669:	4d 85 d2             	test   %r10,%r10
18003d66c:	0f 84 8b 00 00 00    	je     0x18003d6fd
18003d672:	48 85 ff             	test   %rdi,%rdi
18003d675:	0f 84 82 00 00 00    	je     0x18003d6fd
18003d67b:	41 8b 02             	mov    (%r10),%eax
18003d67e:	83 f8 05             	cmp    $0x5,%eax
18003d681:	75 0a                	jne    0x18003d68d
18003d683:	4c 8b 15 2e 2e 13 00 	mov    0x132e2e(%rip),%r10        # 0x1801704b8
18003d68a:	41 8b 02             	mov    (%r10),%eax
18003d68d:	ba 03 00 00 00       	mov    $0x3,%edx
18003d692:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
18003d697:	83 f8 04             	cmp    $0x4,%eax
18003d69a:	49 8b ca             	mov    %r10,%rcx
18003d69d:	44 8d 72 fe          	lea    -0x2(%rdx),%r14d
18003d6a1:	41 0f 45 d6          	cmovne %r14d,%edx
18003d6a5:	45 33 c0             	xor    %r8d,%r8d
18003d6a8:	e8 63 9b fe ff       	call   0x180027210
18003d6ad:	85 c0                	test   %eax,%eax
18003d6af:	78 3c                	js     0x18003d6ed
18003d6b1:	8b 4c 24 50          	mov    0x50(%rsp),%ecx
18003d6b5:	4c 8d 4c 24 58       	lea    0x58(%rsp),%r9
18003d6ba:	45 8b c6             	mov    %r14d,%r8d
18003d6bd:	48 8b d7             	mov    %rdi,%rdx
18003d6c0:	e8 57 ad 02 00       	call   0x18006841c
18003d6c5:	8b 7c 24 58          	mov    0x58(%rsp),%edi
18003d6c9:	85 c0                	test   %eax,%eax
18003d6cb:	78 14                	js     0x18003d6e1
18003d6cd:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
18003d6d2:	8b cf                	mov    %edi,%ecx
18003d6d4:	e8 3f b6 02 00       	call   0x180068d18
18003d6d9:	85 c0                	test   %eax,%eax
18003d6db:	48 0f 49 5c 24 20    	cmovns 0x20(%rsp),%rbx
18003d6e1:	83 ff ff             	cmp    $0xffffffff,%edi
18003d6e4:	74 07                	je     0x18003d6ed
18003d6e6:	8b cf                	mov    %edi,%ecx
18003d6e8:	e8 13 ae 02 00       	call   0x180068500
18003d6ed:	83 7c 24 50 ff       	cmpl   $0xffffffff,0x50(%rsp)
18003d6f2:	74 09                	je     0x18003d6fd
18003d6f4:	8b 4c 24 50          	mov    0x50(%rsp),%ecx
18003d6f8:	e8 bb 92 fe ff       	call   0x1800269b8
18003d6fd:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
18003d702:	48 8b c3             	mov    %rbx,%rax
18003d705:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18003d70a:	48 83 c4 40          	add    $0x40,%rsp
18003d70e:	41 5e                	pop    %r14
18003d710:	c3                   	ret
18003d711:	cc                   	int3
18003d712:	cc                   	int3
18003d713:	cc                   	int3
18003d714:	48 8b c4             	mov    %rsp,%rax
18003d717:	48 89 58 08          	mov    %rbx,0x8(%rax)
18003d71b:	44 88 48 20          	mov    %r9b,0x20(%rax)
18003d71f:	4c 89 40 18          	mov    %r8,0x18(%rax)
18003d723:	48 89 50 10          	mov    %rdx,0x10(%rax)
18003d727:	55                   	push   %rbp
18003d728:	56                   	push   %rsi
18003d729:	57                   	push   %rdi
18003d72a:	41 54                	push   %r12
18003d72c:	41 55                	push   %r13
18003d72e:	41 56                	push   %r14
18003d730:	41 57                	push   %r15
18003d732:	48 8d a8 48 fe ff ff 	lea    -0x1b8(%rax),%rbp
18003d739:	48 81 ec 80 02 00 00 	sub    $0x280,%rsp
18003d740:	45 33 ed             	xor    %r13d,%r13d
18003d743:	48 85 c9             	test   %rcx,%rcx
18003d746:	74 0f                	je     0x18003d757
18003d748:	83 79 04 0c          	cmpl   $0xc,0x4(%rcx)
18003d74c:	76 09                	jbe    0x18003d757
18003d74e:	48 8d 41 0c          	lea    0xc(%rcx),%rax
18003d752:	48 8b f8             	mov    %rax,%rdi
18003d755:	eb 07                	jmp    0x18003d75e
18003d757:	49 8b fd             	mov    %r13,%rdi
18003d75a:	48 8d 41 0c          	lea    0xc(%rcx),%rax
18003d75e:	48 85 c9             	test   %rcx,%rcx
18003d761:	74 06                	je     0x18003d769
18003d763:	83 79 04 0c          	cmpl   $0xc,0x4(%rcx)
18003d767:	77 03                	ja     0x18003d76c
18003d769:	49 8b c5             	mov    %r13,%rax
18003d76c:	48 85 c0             	test   %rax,%rax
18003d76f:	74 08                	je     0x18003d779
18003d771:	8b 58 08             	mov    0x8(%rax),%ebx
18003d774:	48 03 d8             	add    %rax,%rbx
18003d777:	eb 03                	jmp    0x18003d77c
18003d779:	49 8b dd             	mov    %r13,%rbx
18003d77c:	48 83 ce ff          	or     $0xffffffffffffffff,%rsi
18003d780:	4c 8b f6             	mov    %rsi,%r14
18003d783:	49 ff c6             	inc    %r14
18003d786:	66 46 39 2c 73       	cmp    %r13w,(%rbx,%r14,2)
18003d78b:	75 f6                	jne    0x18003d783
18003d78d:	48 85 ff             	test   %rdi,%rdi
18003d790:	0f 84 49 02 00 00    	je     0x18003d9df
18003d796:	48 85 db             	test   %rbx,%rbx
18003d799:	0f 84 40 02 00 00    	je     0x18003d9df
18003d79f:	4c 8b bd e8 01 00 00 	mov    0x1e8(%rbp),%r15
18003d7a6:	4d 85 ff             	test   %r15,%r15
18003d7a9:	74 03                	je     0x18003d7ae
18003d7ab:	4d 89 2f             	mov    %r13,(%r15)
18003d7ae:	4c 8b a5 f0 01 00 00 	mov    0x1f0(%rbp),%r12
18003d7b5:	4d 85 e4             	test   %r12,%r12
18003d7b8:	74 04                	je     0x18003d7be
18003d7ba:	45 89 2c 24          	mov    %r13d,(%r12)
18003d7be:	8b 07                	mov    (%rdi),%eax
18003d7c0:	83 f8 05             	cmp    $0x5,%eax
18003d7c3:	75 09                	jne    0x18003d7ce
18003d7c5:	48 8b 3d ec 2c 13 00 	mov    0x132cec(%rip),%rdi        # 0x1801704b8
18003d7cc:	8b 07                	mov    (%rdi),%eax
18003d7ce:	83 f8 04             	cmp    $0x4,%eax
18003d7d1:	0f 84 96 00 00 00    	je     0x18003d86d
18003d7d7:	83 f8 09             	cmp    $0x9,%eax
18003d7da:	0f 84 8d 00 00 00    	je     0x18003d86d
18003d7e0:	45 33 c0             	xor    %r8d,%r8d
18003d7e3:	4c 8d 8d d8 01 00 00 	lea    0x1d8(%rbp),%r9
18003d7ea:	48 8b cf             	mov    %rdi,%rcx
18003d7ed:	41 8d 50 01          	lea    0x1(%r8),%edx
18003d7f1:	e8 1a 9a fe ff       	call   0x180027210
18003d7f6:	85 c0                	test   %eax,%eax
18003d7f8:	0f 88 e6 01 00 00    	js     0x18003d9e4
18003d7fe:	8b bd d8 01 00 00    	mov    0x1d8(%rbp),%edi
18003d804:	48 8d 85 d0 01 00 00 	lea    0x1d0(%rbp),%rax
18003d80b:	33 d2                	xor    %edx,%edx
18003d80d:	4c 8d 8d c8 01 00 00 	lea    0x1c8(%rbp),%r9
18003d814:	4c 8b c3             	mov    %rbx,%r8
18003d817:	8b cf                	mov    %edi,%ecx
18003d819:	44 38 ad e0 01 00 00 	cmp    %r13b,0x1e0(%rbp)
18003d820:	75 19                	jne    0x18003d83b
18003d822:	4c 89 6c 24 50       	mov    %r13,0x50(%rsp)
18003d827:	4c 89 6c 24 48       	mov    %r13,0x48(%rsp)
18003d82c:	c6 44 24 40 01       	movb   $0x1,0x40(%rsp)
18003d831:	c7 44 24 38 04 00 00 	movl   $0x4,0x38(%rsp)
18003d838:	00
18003d839:	eb 17                	jmp    0x18003d852
18003d83b:	4c 89 64 24 50       	mov    %r12,0x50(%rsp)
18003d840:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
18003d845:	c6 44 24 40 01       	movb   $0x1,0x40(%rsp)
18003d84a:	c7 44 24 38 04 00 04 	movl   $0x40004,0x38(%rsp)
18003d851:	00
18003d852:	44 89 6c 24 30       	mov    %r13d,0x30(%rsp)
18003d857:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
18003d85c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18003d861:	e8 72 1c 04 00       	call   0x18007f4d8
18003d866:	8b cf                	mov    %edi,%ecx
18003d868:	e9 67 01 00 00       	jmp    0x18003d9d4
18003d86d:	45 33 c0             	xor    %r8d,%r8d
18003d870:	4c 8d 8d d8 01 00 00 	lea    0x1d8(%rbp),%r9
18003d877:	48 8b cf             	mov    %rdi,%rcx
18003d87a:	41 8d 50 03          	lea    0x3(%r8),%edx
18003d87e:	e8 8d 99 fe ff       	call   0x180027210
18003d883:	85 c0                	test   %eax,%eax
18003d885:	0f 88 59 01 00 00    	js     0x18003d9e4
18003d88b:	83 3f 04             	cmpl   $0x4,(%rdi)
18003d88e:	44 8b bd d8 01 00 00 	mov    0x1d8(%rbp),%r15d
18003d895:	0f 85 09 01 00 00    	jne    0x18003d9a4
18003d89b:	48 8d 55 60          	lea    0x60(%rbp),%rdx
18003d89f:	41 8b cf             	mov    %r15d,%ecx
18003d8a2:	e8 81 94 fe ff       	call   0x180026d28
18003d8a7:	85 c0                	test   %eax,%eax
18003d8a9:	0f 88 f5 00 00 00    	js     0x18003d9a4
18003d8af:	44 8b 85 80 00 00 00 	mov    0x80(%rbp),%r8d
18003d8b6:	41 8b c0             	mov    %r8d,%eax
18003d8b9:	c1 e8 10             	shr    $0x10,%eax
18003d8bc:	45 8b d0             	mov    %r8d,%r10d
18003d8bf:	0f b6 d0             	movzbl %al,%edx
18003d8c2:	41 8b c0             	mov    %r8d,%eax
18003d8c5:	c1 e8 08             	shr    $0x8,%eax
18003d8c8:	0f b6 c8             	movzbl %al,%ecx
18003d8cb:	41 c1 ea 18          	shr    $0x18,%r10d
18003d8cf:	44 89 54 24 30       	mov    %r10d,0x30(%rsp)
18003d8d4:	89 54 24 28          	mov    %edx,0x28(%rsp)
18003d8d8:	ba 10 00 00 00       	mov    $0x10,%edx
18003d8dd:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
18003d8e1:	48 8d 4d 00          	lea    0x0(%rbp),%rcx
18003d8e5:	45 0f b6 c8          	movzbl %r8b,%r9d
18003d8e9:	4c 8d 05 d0 5b 11 00 	lea    0x115bd0(%rip),%r8        # 0x1801534c0
18003d8f0:	e8 47 02 0f 00       	call   0x18012db3c