18008c5ce:	8b d9                	mov    %ecx,%ebx
18008c5d0:	48 83 65 1f 00       	andq   $0x0,0x1f(%rbp)
18008c5d5:	49 8b cf             	mov    %r15,%rcx
18008c5d8:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18008c5de:	45 33 c0             	xor    %r8d,%r8d
18008c5e1:	33 d2                	xor    %edx,%edx
18008c5e3:	e8 9c 69 06 00       	call   0x1800f2f84
18008c5e8:	8b f8                	mov    %eax,%edi
18008c5ea:	85 c0                	test   %eax,%eax
18008c5ec:	0f 88 e7 00 00 00    	js     0x18008c6d9
18008c5f2:	48 8b 55 27          	mov    0x27(%rbp),%rdx
18008c5f6:	48 8d 45 7f          	lea    0x7f(%rbp),%rax
18008c5fa:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
18008c5ff:	8b cb                	mov    %ebx,%ecx
18008c601:	48 8d 45 2f          	lea    0x2f(%rbp),%rax
18008c605:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18008c60a:	e8 d1 e9 ff ff       	call   0x18008afe0
18008c60f:	4c 8b 75 2f          	mov    0x2f(%rbp),%r14
18008c613:	8b f8                	mov    %eax,%edi
18008c615:	85 c0                	test   %eax,%eax
18008c617:	0f 88 af 00 00 00    	js     0x18008c6cc
18008c61d:	8b 45 7f             	mov    0x7f(%rbp),%eax
18008c620:	45 33 c9             	xor    %r9d,%r9d
18008c623:	89 45 2f             	mov    %eax,0x2f(%rbp)
18008c626:	45 33 c0             	xor    %r8d,%r8d
18008c629:	48 8d 45 1f          	lea    0x1f(%rbp),%rax
18008c62d:	4c 89 75 33          	mov    %r14,0x33(%rbp)
18008c631:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
18008c638:	00
18008c639:	33 d2                	xor    %edx,%edx
18008c63b:	48 83 64 24 78 00    	andq   $0x0,0x78(%rsp)
18008c641:	48 8d 45 17          	lea    0x17(%rbp),%rax
18008c645:	48 83 64 24 70 00    	andq   $0x0,0x70(%rsp)
18008c64b:	b1 01                	mov    $0x1,%cl
18008c64d:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
18008c652:	48 8d 45 7f          	lea    0x7f(%rbp),%rax
18008c656:	c6 44 24 60 00       	movb   $0x0,0x60(%rsp)
18008c65b:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
18008c660:	48 8d 45 2f          	lea    0x2f(%rbp),%rax
18008c664:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
18008c669:	c6 44 24 48 01       	movb   $0x1,0x48(%rsp)
18008c66e:	4c 89 7c 24 40       	mov    %r15,0x40(%rsp)
18008c673:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
18008c679:	c6 44 24 30 01       	movb   $0x1,0x30(%rsp)
18008c67e:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
18008c683:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
18008c688:	e8 cf 8e 06 00       	call   0x1800f555c
18008c68d:	48 8b 5d 1f          	mov    0x1f(%rbp),%rbx
18008c691:	8b f8                	mov    %eax,%edi
18008c693:	85 c0                	test   %eax,%eax
18008c695:	78 28                	js     0x18008c6bf
18008c697:	4c 39 63 20          	cmp    %r12,0x20(%rbx)
18008c69b:	73 07                	jae    0x18008c6a4
18008c69d:	bf 01 00 e9 c0       	mov    $0xc0e90001,%edi
18008c6a2:	eb 1b                	jmp    0x18008c6bf
18008c6a4:	48 8b d3             	mov    %rbx,%rdx
18008c6a7:	49 8b cf             	mov    %r15,%rcx
18008c6aa:	e8 51 3a 06 00       	call   0x1800f0100
18008c6af:	8b f8                	mov    %eax,%edi
18008c6b1:	85 c0                	test   %eax,%eax
18008c6b3:	78 0a                	js     0x18008c6bf
18008c6b5:	48 8b cb             	mov    %rbx,%rcx
18008c6b8:	e8 ef f2 ff ff       	call   0x18008b9ac
18008c6bd:	33 db                	xor    %ebx,%ebx
18008c6bf:	48 85 db             	test   %rbx,%rbx
18008c6c2:	74 08                	je     0x18008c6cc
18008c6c4:	48 8b cb             	mov    %rbx,%rcx
18008c6c7:	e8 5c 37 06 00       	call   0x1800efe28
18008c6cc:	4d 85 f6             	test   %r14,%r14
18008c6cf:	74 08                	je     0x18008c6d9
18008c6d1:	49 8b ce             	mov    %r14,%rcx
18008c6d4:	e8 23 d9 00 00       	call   0x180099ffc
18008c6d9:	48 83 7d 27 00       	cmpq   $0x0,0x27(%rbp)
18008c6de:	74 09                	je     0x18008c6e9
18008c6e0:	48 8b 4d 27          	mov    0x27(%rbp),%rcx
18008c6e4:	e8 13 d9 00 00       	call   0x180099ffc
18008c6e9:	4c 8d 9c 24 c0 00 00 	lea    0xc0(%rsp),%r11
18008c6f0:	00
18008c6f1:	8b c7                	mov    %edi,%eax
18008c6f3:	49 8b 5b 20          	mov    0x20(%r11),%rbx
18008c6f7:	49 8b 7b 28          	mov    0x28(%r11),%rdi
18008c6fb:	4d 8b 63 30          	mov    0x30(%r11),%r12
18008c6ff:	49 8b e3             	mov    %r11,%rsp
18008c702:	41 5f                	pop    %r15
18008c704:	41 5e                	pop    %r14
18008c706:	5d                   	pop    %rbp
18008c707:	c3                   	ret
18008c708:	cc                   	int3
18008c709:	cc                   	int3
18008c70a:	cc                   	int3
18008c70b:	cc                   	int3
18008c70c:	48 8b c4             	mov    %rsp,%rax
18008c70f:	48 89 58 08          	mov    %rbx,0x8(%rax)
18008c713:	48 89 68 10          	mov    %rbp,0x10(%rax)
18008c717:	48 89 70 18          	mov    %rsi,0x18(%rax)
18008c71b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18008c71f:	41 56                	push   %r14
18008c721:	48 83 ec 20          	sub    $0x20,%rsp
18008c725:	0f b7 1a             	movzwl (%rdx),%ebx
18008c728:	44 8b f1             	mov    %ecx,%r14d
18008c72b:	83 c3 0a             	add    $0xa,%ebx
18008c72e:	48 8b f2             	mov    %rdx,%rsi
18008c731:	8b cb                	mov    %ebx,%ecx
18008c733:	8b eb                	mov    %ebx,%ebp
18008c735:	e8 16 d7 00 00       	call   0x180099e50
18008c73a:	48 8b f8             	mov    %rax,%rdi
18008c73d:	48 85 c0             	test   %rax,%rax
18008c740:	74 3f                	je     0x18008c781
18008c742:	44 8b c5             	mov    %ebp,%r8d
18008c745:	33 d2                	xor    %edx,%edx
18008c747:	48 8b c8             	mov    %rax,%rcx
18008c74a:	e8 31 95 0a 00       	call   0x180135c80
18008c74f:	89 1f                	mov    %ebx,(%rdi)
18008c751:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
18008c755:	44 89 77 04          	mov    %r14d,0x4(%rdi)
18008c759:	44 0f b7 06          	movzwl (%rsi),%r8d
18008c75d:	48 8b 56 08          	mov    0x8(%rsi),%rdx
18008c761:	e8 5a 92 0a 00       	call   0x1801359c0
18008c766:	ba 56 00 00 00       	mov    $0x56,%edx
18008c76b:	44 8b cb             	mov    %ebx,%r9d
18008c76e:	4c 8b c7             	mov    %rdi,%r8
18008c771:	8d 4a ab             	lea    -0x55(%rdx),%ecx
18008c774:	e8 5b 1f ff ff       	call   0x18007e6d4
18008c779:	48 8b cf             	mov    %rdi,%rcx
18008c77c:	e8 7b d8 00 00       	call   0x180099ffc
18008c781:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18008c786:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18008c78b:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18008c790:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
18008c795:	48 83 c4 20          	add    $0x20,%rsp
18008c799:	41 5e                	pop    %r14
18008c79b:	c3                   	ret
18008c79c:	cc                   	int3
18008c79d:	cc                   	int3
18008c79e:	cc                   	int3
18008c79f:	cc                   	int3
18008c7a0:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
18008c7a5:	c3                   	ret
18008c7a6:	cc                   	int3
18008c7a7:	cc                   	int3
18008c7a8:	b8 25 02 00 c0       	mov    $0xc0000225,%eax
18008c7ad:	c3                   	ret
18008c7ae:	cc                   	int3
18008c7af:	cc                   	int3
18008c7b0:	4c 8b dc             	mov    %rsp,%r11
18008c7b3:	48 83 ec 68          	sub    $0x68,%rsp
18008c7b7:	4d 89 4b d8          	mov    %r9,-0x28(%r11)
18008c7bb:	49 8d 43 28          	lea    0x28(%r11),%rax
18008c7bf:	83 64 24 4c 00       	andl   $0x0,0x4c(%rsp)
18008c7c4:	48 8d 15 dd 8a 0b 00 	lea    0xb8add(%rip),%rdx        # 0x1801452a8
18008c7cb:	c7 44 24 48 10 00 00 	movl   $0x10,0x48(%rsp)
18008c7d2:	00
18008c7d3:	41 b9 03 00 00 00    	mov    $0x3,%r9d
18008c7d9:	49 89 43 e8          	mov    %rax,-0x18(%r11)
18008c7dd:	49 8d 43 c8          	lea    -0x38(%r11),%rax
18008c7e1:	83 64 24 5c 00       	andl   $0x0,0x5c(%rsp)
18008c7e6:	49 89 43 b8          	mov    %rax,-0x48(%r11)
18008c7ea:	c7 44 24 58 04 00 00 	movl   $0x4,0x58(%rsp)
18008c7f1:	00
18008c7f2:	e8 99 50 f7 ff       	call   0x180001890
18008c7f7:	48 83 c4 68          	add    $0x68,%rsp
18008c7fb:	c3                   	ret
18008c7fc:	cc                   	int3
18008c7fd:	cc                   	int3
18008c7fe:	cc                   	int3
18008c7ff:	cc                   	int3
18008c800:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18008c805:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18008c80a:	55                   	push   %rbp
18008c80b:	57                   	push   %rdi
18008c80c:	41 56                	push   %r14
18008c80e:	48 8b ec             	mov    %rsp,%rbp
18008c811:	48 83 ec 40          	sub    $0x40,%rsp
18008c815:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18008c819:	c7 45 e0 93 29 83 6f 	movl   $0x6f832993,-0x20(%rbp)
18008c820:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
18008c824:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
18008c828:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18008c82c:	c7 45 e4 85 51 00 40 	movl   $0x40005185,-0x1c(%rbp)
18008c833:	33 d2                	xor    %edx,%edx
18008c835:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
18008c839:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18008c83d:	c7 45 e8 98 5e 16 46 	movl   $0x46165e98,-0x18(%rbp)
18008c844:	c7 45 ec fd 6e ba 78 	movl   $0x78ba6efd,-0x14(%rbp)
18008c84b:	e8 c8 d8 ff ff       	call   0x18008a118
18008c850:	8b d8                	mov    %eax,%ebx
18008c852:	3d 25 02 00 c0       	cmp    $0xc0000225,%eax
18008c857:	74 2f                	je     0x18008c888
18008c859:	85 c0                	test   %eax,%eax
18008c85b:	78 2d                	js     0x18008c88a
18008c85d:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
18008c861:	eb 1c                	jmp    0x18008c87f
18008c863:	48 8b 51 10          	mov    0x10(%rcx),%rdx
18008c867:	48 8b 09             	mov    (%rcx),%rcx
18008c86a:	83 7a 24 10          	cmpl   $0x10,0x24(%rdx)
18008c86e:	0f 82 e3 00 00 00    	jb     0x18008c957
18008c874:	8b 7a 28             	mov    0x28(%rdx),%edi
18008c877:	48 03 fa             	add    %rdx,%rdi
18008c87a:	83 3f ff             	cmpl   $0xffffffff,(%rdi)
18008c87d:	75 2a                	jne    0x18008c8a9
18008c87f:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
18008c883:	48 3b c8             	cmp    %rax,%rcx
18008c886:	75 db                	jne    0x18008c863
18008c888:	33 db                	xor    %ebx,%ebx
18008c88a:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18008c88e:	e8 cd d5 ff ff       	call   0x180089e60
18008c893:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18008c898:	8b c3                	mov    %ebx,%eax
18008c89a:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
18008c89f:	48 83 c4 40          	add    $0x40,%rsp
18008c8a3:	41 5e                	pop    %r14
18008c8a5:	5f                   	pop    %rdi
18008c8a6:	5d                   	pop    %rbp
18008c8a7:	c3                   	ret
18008c8a8:	cc                   	int3
18008c8a9:	8b 47 04             	mov    0x4(%rdi),%eax
18008c8ac:	89 05 76 95 10 00    	mov    %eax,0x109576(%rip)        # 0x180195e28
18008c8b2:	83 7f 0c 00          	cmpl   $0x0,0xc(%rdi)
18008c8b6:	74 d2                	je     0x18008c88a
18008c8b8:	8b 47 08             	mov    0x8(%rdi),%eax
18008c8bb:	48 8d 4f 3c          	lea    0x3c(%rdi),%rcx
18008c8bf:	48 03 c8             	add    %rax,%rcx
18008c8c2:	4c 8d 45 20          	lea    0x20(%rbp),%r8
18008c8c6:	8b 54 38 38          	mov    0x38(%rax,%rdi,1),%edx
18008c8ca:	e8 75 0f 06 00       	call   0x1800ed844
18008c8cf:	8b d8                	mov    %eax,%ebx
18008c8d1:	85 c0                	test   %eax,%eax
18008c8d3:	78 b5                	js     0x18008c88a
18008c8d5:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18008c8d9:	e8 26 06 06 00       	call   0x1800ecf04
18008c8de:	83 3f 02             	cmpl   $0x2,(%rdi)
18008c8e1:	72 a7                	jb     0x18008c88a
18008c8e3:	8b 77 14             	mov    0x14(%rdi),%esi
18008c8e6:	85 f6                	test   %esi,%esi
18008c8e8:	74 a0                	je     0x18008c88a
18008c8ea:	44 8b 77 10          	mov    0x10(%rdi),%r14d
18008c8ee:	8b ce                	mov    %esi,%ecx
18008c8f0:	4c 03 f7             	add    %rdi,%r14
18008c8f3:	e8 58 d5 00 00       	call   0x180099e50
18008c8f8:	48 8b d8             	mov    %rax,%rbx
18008c8fb:	48 85 c0             	test   %rax,%rax
18008c8fe:	75 07                	jne    0x18008c907
18008c900:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18008c905:	eb 83                	jmp    0x18008c88a
18008c907:	4c 8b c6             	mov    %rsi,%r8
18008c90a:	49 8b d6             	mov    %r14,%rdx
18008c90d:	48 8b cb             	mov    %rbx,%rcx
18008c910:	e8 ab 90 0a 00       	call   0x1801359c0
18008c915:	8b 03                	mov    (%rbx),%eax
18008c917:	48 8d 53 18          	lea    0x18(%rbx),%rdx
18008c91b:	48 69 c8 14 01 00 00 	imul   $0x114,%rax,%rcx
18008c922:	48 89 53 08          	mov    %rdx,0x8(%rbx)
18008c926:	48 03 ca             	add    %rdx,%rcx
18008c929:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
18008c92d:	48 8b 0d 8c 92 10 00 	mov    0x10928c(%rip),%rcx        # 0x180195bc0
18008c934:	48 85 c9             	test   %rcx,%rcx
18008c937:	74 05                	je     0x18008c93e
18008c939:	e8 be d6 00 00       	call   0x180099ffc
18008c93e:	83 0d e3 94 10 00 20 	orl    $0x20,0x1094e3(%rip)        # 0x180195e28
18008c945:	48 89 1d 74 92 10 00 	mov    %rbx,0x109274(%rip)        # 0x180195bc0
18008c94c:	89 35 66 92 10 00    	mov    %esi,0x109266(%rip)        # 0x180195bb8
18008c952:	e9 31 ff ff ff       	jmp    0x18008c888
18008c957:	bb 03 00 43 c0       	mov    $0xc0430003,%ebx
18008c95c:	e9 29 ff ff ff       	jmp    0x18008c88a
18008c961:	cc                   	int3
18008c962:	cc                   	int3
18008c963:	cc                   	int3
18008c964:	89 0d 9a 3b 0e 00    	mov    %ecx,0xe3b9a(%rip)        # 0x180170504
18008c96a:	c3                   	ret
18008c96b:	cc                   	int3
18008c96c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18008c971:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
18008c976:	8b 05 88 3b 0e 00    	mov    0xe3b88(%rip),%eax        # 0x180170504
18008c97c:	44 8b da             	mov    %edx,%r11d
18008c97f:	4c 8b d1             	mov    %rcx,%r10
18008c982:	85 c0                	test   %eax,%eax
18008c984:	74 08                	je     0x18008c98e
18008c986:	3b d0                	cmp    %eax,%edx
18008c988:	75 04                	jne    0x18008c98e
18008c98a:	33 c0                	xor    %eax,%eax
18008c98c:	eb 75                	jmp    0x18008ca03
18008c98e:	4c 8b 41 48          	mov    0x48(%rcx),%r8
18008c992:	0f b7 41 24          	movzwl 0x24(%rcx),%eax
18008c996:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18008c99a:	49 8d 1c 88          	lea    (%r8,%rcx,4),%rbx
18008c99e:	4c 3b c3             	cmp    %rbx,%r8
18008c9a1:	73 5a                	jae    0x18008c9fd
18008c9a3:	8b 3d 57 3b 0e 00    	mov    0xe3b57(%rip),%edi        # 0x180170500
18008c9a9:	8b 05 79 94 10 00    	mov    0x109479(%rip),%eax        # 0x180195e28
18008c9af:	45 39 58 04          	cmp    %r11d,0x4(%r8)
18008c9b3:	75 3f                	jne    0x18008c9f4
18008c9b5:	41 83 38 00          	cmpl   $0x0,(%r8)
18008c9b9:	74 05                	je     0x18008c9c0
18008c9bb:	41 39 38             	cmp    %edi,(%r8)
18008c9be:	75 34                	jne    0x18008c9f4
18008c9c0:	41 8b 50 08          	mov    0x8(%r8),%edx
18008c9c4:	41 b1 01             	mov    $0x1,%r9b
18008c9c7:	49 8b 4a 58          	mov    0x58(%r10),%rcx
18008c9cb:	f6 04 0a 20          	testb  $0x20,(%rdx,%rcx,1)
18008c9cf:	74 0d                	je     0x18008c9de
18008c9d1:	44 8b c8             	mov    %eax,%r9d
18008c9d4:	41 c1 e9 02          	shr    $0x2,%r9d
18008c9d8:	41 80 e1 01          	and    $0x1,%r9b
18008c9dc:	74 16                	je     0x18008c9f4
18008c9de:	f6 04 0a 40          	testb  $0x40,(%rdx,%rcx,1)
18008c9e2:	74 0b                	je     0x18008c9ef
18008c9e4:	44 8b c8             	mov    %eax,%r9d
18008c9e7:	41 c1 e9 04          	shr    $0x4,%r9d
18008c9eb:	41 80 e1 01          	and    $0x1,%r9b
18008c9ef:	45 84 c9             	test   %r9b,%r9b
18008c9f2:	75 0c                	jne    0x18008ca00
18008c9f4:	49 83 c0 0c          	add    $0xc,%r8
18008c9f8:	4c 3b c3             	cmp    %rbx,%r8
18008c9fb:	72 b2                	jb     0x18008c9af
18008c9fd:	45 33 c0             	xor    %r8d,%r8d
18008ca00:	49 8b c0             	mov    %r8,%rax
18008ca03:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18008ca08:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
18008ca0d:	c3                   	ret
18008ca0e:	cc                   	int3
18008ca0f:	cc                   	int3
18008ca10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18008ca15:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18008ca1a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18008ca1f:	57                   	push   %rdi
18008ca20:	41 54                	push   %r12
18008ca22:	41 55                	push   %r13
18008ca24:	41 56                	push   %r14
18008ca26:	41 57                	push   %r15
18008ca28:	48 83 ec 40          	sub    $0x40,%rsp
18008ca2c:	44 8b b4 24 90 00 00 	mov    0x90(%rsp),%r14d
18008ca33:	00
18008ca34:	8b da                	mov    %edx,%ebx
18008ca36:	45 33 ed             	xor    %r13d,%r13d
18008ca39:	41 8b d6             	mov    %r14d,%edx
18008ca3c:	41 8a f5             	mov    %r13b,%sil
18008ca3f:	41 8a ed             	mov    %r13b,%bpl
18008ca42:	49 8b f9             	mov    %r9,%rdi
18008ca45:	45 8b e0             	mov    %r8d,%r12d
18008ca48:	4c 8b f9             	mov    %rcx,%r15
18008ca4b:	e8 1c ff ff ff       	call   0x18008c96c
18008ca50:	48 85 c0             	test   %rax,%rax
18008ca53:	0f 84 a4 00 00 00    	je     0x18008cafd
18008ca59:	8b 40 08             	mov    0x8(%rax),%eax
18008ca5c:	49 03 47 58          	add    0x58(%r15),%rax
18008ca60:	0f b7 08             	movzwl (%rax),%ecx
18008ca63:	66 83 e1 1f          	and    $0x1f,%cx
18008ca67:	66 83 f9 01          	cmp    $0x1,%cx
18008ca6b:	75 0b                	jne    0x18008ca78
18008ca6d:	66 44 39 68 02       	cmp    %r13w,0x2(%rax)