18003f4ff:	45 33 c0             	xor    %r8d,%r8d
18003f502:	4a 8d 04 9d 00 00 00 	lea    0x0(,%r11,4),%rax
18003f509:	00
18003f50a:	49 03 c3             	add    %r11,%rax
18003f50d:	48 8b 74 c1 50       	mov    0x50(%rcx,%rax,8),%rsi
18003f512:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
18003f517:	4a 8b 4c d9 28       	mov    0x28(%rcx,%r11,8),%rcx
18003f51c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18003f521:	e8 46 fa 00 00       	call   0x18004ef6c
18003f526:	45 85 db             	test   %r11d,%r11d
18003f529:	74 3e                	je     0x18003f569
18003f52b:	41 8d 43 ff          	lea    -0x1(%r11),%eax
18003f52f:	83 f8 01             	cmp    $0x1,%eax
18003f532:	77 2e                	ja     0x18003f562
18003f534:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
18003f539:	41 83 eb 01          	sub    $0x1,%r11d
18003f53d:	74 0b                	je     0x18003f54a
18003f53f:	41 83 fb 01          	cmp    $0x1,%r11d
18003f543:	75 07                	jne    0x18003f54c
18003f545:	41 8b c3             	mov    %r11d,%eax
18003f548:	eb 02                	jmp    0x18003f54c
18003f54a:	33 c0                	xor    %eax,%eax
18003f54c:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
18003f551:	8b 84 87 f0 00 00 00 	mov    0xf0(%rdi,%rax,4),%eax
18003f558:	48 2b c8             	sub    %rax,%rcx
18003f55b:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
18003f560:	eb 48                	jmp    0x18003f5aa
18003f562:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
18003f567:	eb 41                	jmp    0x18003f5aa
18003f569:	4c 8b 4f 08          	mov    0x8(%rdi),%r9
18003f56d:	45 33 c0             	xor    %r8d,%r8d
18003f570:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
18003f575:	49 8b 89 60 01 00 00 	mov    0x160(%r9),%rcx
18003f57c:	41 8d 50 0d          	lea    0xd(%r8),%edx
18003f580:	4d 8b 49 68          	mov    0x68(%r9),%r9
18003f584:	48 8b 01             	mov    (%rcx),%rax
18003f587:	48 8b 40 60          	mov    0x60(%rax),%rax
18003f58b:	ff d0                	call   *%rax
18003f58d:	0f 1f 00             	nopl   (%rax)
18003f590:	48 8b 4c ef 28       	mov    0x28(%rdi,%rbp,8),%rcx
18003f595:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
18003f59a:	4c 8b c3             	mov    %rbx,%r8
18003f59d:	e8 4e fa 00 00       	call   0x18004eff0
18003f5a2:	48 8b c8             	mov    %rax,%rcx
18003f5a5:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
18003f5aa:	48 87 4e 50          	xchg   %rcx,0x50(%rsi)
18003f5ae:	48 8b c3             	mov    %rbx,%rax
18003f5b1:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18003f5b6:	48 83 c4 30          	add    $0x30,%rsp
18003f5ba:	5f                   	pop    %rdi
18003f5bb:	5e                   	pop    %rsi
18003f5bc:	5d                   	pop    %rbp
18003f5bd:	c3                   	ret
18003f5be:	cc                   	int3
18003f5bf:	cc                   	int3
18003f5c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18003f5c5:	57                   	push   %rdi
18003f5c6:	48 83 ec 30          	sub    $0x30,%rsp
18003f5ca:	48 83 64 24 40 00    	andq   $0x0,0x40(%rsp)
18003f5d0:	48 8b d9             	mov    %rcx,%rbx
18003f5d3:	8b fa                	mov    %edx,%edi
18003f5d5:	45 33 c9             	xor    %r9d,%r9d
18003f5d8:	45 33 c0             	xor    %r8d,%r8d
18003f5db:	33 d2                	xor    %edx,%edx
18003f5dd:	48 8d 04 bf          	lea    (%rdi,%rdi,4),%rax
18003f5e1:	4c 8b 5c c1 50       	mov    0x50(%rcx,%rax,8),%r11
18003f5e6:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
18003f5eb:	48 8b 4c f9 28       	mov    0x28(%rcx,%rdi,8),%rcx
18003f5f0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18003f5f5:	e8 72 f9 00 00       	call   0x18004ef6c
18003f5fa:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
18003f5ff:	44 8b c7             	mov    %edi,%r8d
18003f602:	49 87 43 58          	xchg   %rax,0x58(%r11)
18003f606:	48 8b 53 08          	mov    0x8(%rbx),%rdx
18003f60a:	b9 34 08 00 00       	mov    $0x834,%ecx
18003f60f:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
18003f614:	48 83 c2 18          	add    $0x18,%rdx
18003f618:	e8 5b 75 00 00       	call   0x180046b78
18003f61d:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
18003f622:	48 83 c4 30          	add    $0x30,%rsp
18003f626:	5f                   	pop    %rdi
18003f627:	c3                   	ret
18003f628:	cc                   	int3
18003f629:	cc                   	int3
18003f62a:	cc                   	int3
18003f62b:	cc                   	int3
18003f62c:	48 8b 41 08          	mov    0x8(%rcx),%rax
18003f630:	8b 40 78             	mov    0x78(%rax),%eax
18003f633:	c3                   	ret
18003f634:	cc                   	int3
18003f635:	cc                   	int3
18003f636:	cc                   	int3
18003f637:	cc                   	int3
18003f638:	48 8b c4             	mov    %rsp,%rax
18003f63b:	48 89 58 10          	mov    %rbx,0x10(%rax)
18003f63f:	48 89 70 18          	mov    %rsi,0x18(%rax)
18003f643:	57                   	push   %rdi
18003f644:	48 83 ec 30          	sub    $0x30,%rsp
18003f648:	4c 8b 1d f9 f5 10 00 	mov    0x10f5f9(%rip),%r11        # 0x18014ec48
18003f64f:	4c 8d 40 08          	lea    0x8(%rax),%r8
18003f653:	48 8b f2             	mov    %rdx,%rsi
18003f656:	48 89 50 e8          	mov    %rdx,-0x18(%rax)
18003f65a:	48 8b d9             	mov    %rcx,%rbx
18003f65d:	4c 89 58 08          	mov    %r11,0x8(%rax)
18003f661:	48 8b 49 28          	mov    0x28(%rcx),%rcx
18003f665:	33 d2                	xor    %edx,%edx
18003f667:	45 33 c9             	xor    %r9d,%r9d
18003f66a:	e8 fd f8 00 00       	call   0x18004ef6c
18003f66f:	8b f8                	mov    %eax,%edi
18003f671:	85 c0                	test   %eax,%eax
18003f673:	78 1d                	js     0x18003f692
18003f675:	48 8d 93 00 01 00 00 	lea    0x100(%rbx),%rdx
18003f67c:	4c 39 1a             	cmp    %r11,(%rdx)
18003f67f:	74 11                	je     0x18003f692
18003f681:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
18003f685:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
18003f68a:	e8 61 f9 00 00       	call   0x18004eff0
18003f68f:	48 89 06             	mov    %rax,(%rsi)
18003f692:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
18003f697:	8b c7                	mov    %edi,%eax
18003f699:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18003f69e:	48 83 c4 30          	add    $0x30,%rsp
18003f6a2:	5f                   	pop    %rdi
18003f6a3:	c3                   	ret
18003f6a4:	cc                   	int3
18003f6a5:	cc                   	int3
18003f6a6:	cc                   	int3
18003f6a7:	cc                   	int3
18003f6a8:	48 83 ec 28          	sub    $0x28,%rsp
18003f6ac:	45 0f b6 d0          	movzbl %r8b,%r10d
18003f6b0:	41 83 ea 1e          	sub    $0x1e,%r10d
18003f6b4:	74 17                	je     0x18003f6cd
18003f6b6:	41 83 fa 01          	cmp    $0x1,%r10d
18003f6ba:	74 07                	je     0x18003f6c3
18003f6bc:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18003f6c1:	eb 12                	jmp    0x18003f6d5
18003f6c3:	4d 8b c1             	mov    %r9,%r8
18003f6c6:	e8 d5 02 00 00       	call   0x18003f9a0
18003f6cb:	eb 08                	jmp    0x18003f6d5
18003f6cd:	4d 8b c1             	mov    %r9,%r8
18003f6d0:	e8 1f 01 00 00       	call   0x18003f7f4
18003f6d5:	48 83 c4 28          	add    $0x28,%rsp
18003f6d9:	c3                   	ret
18003f6da:	cc                   	int3
18003f6db:	cc                   	int3
18003f6dc:	48 83 ec 28          	sub    $0x28,%rsp
18003f6e0:	41 0f b6 c8          	movzbl %r8b,%ecx
18003f6e4:	83 e9 1e             	sub    $0x1e,%ecx
18003f6e7:	74 05                	je     0x18003f6ee
18003f6e9:	83 f9 01             	cmp    $0x1,%ecx
18003f6ec:	75 13                	jne    0x18003f701
18003f6ee:	48 8b 8a d8 00 00 00 	mov    0xd8(%rdx),%rcx
18003f6f5:	48 8b 01             	mov    (%rcx),%rax
18003f6f8:	48 8b 40 08          	mov    0x8(%rax),%rax
18003f6fc:	ff d0                	call   *%rax
18003f6fe:	0f 1f 00             	nopl   (%rax)
18003f701:	48 83 c4 28          	add    $0x28,%rsp
18003f705:	c3                   	ret
18003f706:	cc                   	int3
18003f707:	cc                   	int3
18003f708:	48 83 ec 38          	sub    $0x38,%rsp
18003f70c:	44 8b 82 a0 00 00 00 	mov    0xa0(%rdx),%r8d
18003f713:	4c 8b d2             	mov    %rdx,%r10
18003f716:	0f b6 8a 99 00 00 00 	movzbl 0x99(%rdx),%ecx
18003f71d:	83 e9 1e             	sub    $0x1e,%ecx
18003f720:	74 05                	je     0x18003f727
18003f722:	83 f9 01             	cmp    $0x1,%ecx
18003f725:	75 38                	jne    0x18003f75f
18003f727:	44 8b 82 a0 00 00 00 	mov    0xa0(%rdx),%r8d
18003f72e:	48 8b 82 e0 00 00 00 	mov    0xe0(%rdx),%rax
18003f735:	48 85 c0             	test   %rax,%rax
18003f738:	74 25                	je     0x18003f75f
18003f73a:	49 8b 8a e8 00 00 00 	mov    0xe8(%r10),%rcx
18003f741:	45 8b c8             	mov    %r8d,%r9d
18003f744:	45 8b 82 80 00 00 00 	mov    0x80(%r10),%r8d
18003f74b:	48 8b 52 68          	mov    0x68(%rdx),%rdx
18003f74f:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
18003f754:	49 8b ca             	mov    %r10,%rcx
18003f757:	ff d0                	call   *%rax
18003f759:	0f 1f 00             	nopl   (%rax)
18003f75c:	44 8b c0             	mov    %eax,%r8d
18003f75f:	41 8b c0             	mov    %r8d,%eax
18003f762:	48 83 c4 38          	add    $0x38,%rsp
18003f766:	c3                   	ret
18003f767:	cc                   	int3
18003f768:	44 8b 8a a0 00 00 00 	mov    0xa0(%rdx),%r9d
18003f76f:	4c 8b d9             	mov    %rcx,%r11
18003f772:	41 80 f8 1e          	cmp    $0x1e,%r8b
18003f776:	75 62                	jne    0x18003f7da
18003f778:	44 8b 8a a0 00 00 00 	mov    0xa0(%rdx),%r9d
18003f77f:	45 85 c9             	test   %r9d,%r9d
18003f782:	79 56                	jns    0x18003f7da
18003f784:	83 c8 ff             	or     $0xffffffff,%eax
18003f787:	39 82 88 00 00 00    	cmp    %eax,0x88(%rdx)
18003f78d:	75 4b                	jne    0x18003f7da
18003f78f:	8b 8a 8c 00 00 00    	mov    0x8c(%rdx),%ecx
18003f795:	3b c8                	cmp    %eax,%ecx
18003f797:	75 2b                	jne    0x18003f7c4
18003f799:	41 8d 81 e2 ff 18 3f 	lea    0x3f18ffe2(%r9),%eax
18003f7a0:	83 f8 01             	cmp    $0x1,%eax
18003f7a3:	77 35                	ja     0x18003f7da
18003f7a5:	8b 82 f8 00 00 00    	mov    0xf8(%rdx),%eax
18003f7ab:	49 8b 4c c3 10       	mov    0x10(%r11,%rax,8),%rcx
18003f7b0:	b8 01 00 00 00       	mov    $0x1,%eax
18003f7b5:	8b 49 58             	mov    0x58(%rcx),%ecx
18003f7b8:	d3 e0                	shl    %cl,%eax
18003f7ba:	ff c8                	dec    %eax
18003f7bc:	89 82 8c 00 00 00    	mov    %eax,0x8c(%rdx)
18003f7c2:	eb 10                	jmp    0x18003f7d4
18003f7c4:	0f bc c1             	bsf    %ecx,%eax
18003f7c7:	0f b3 c1             	btr    %eax,%ecx
18003f7ca:	89 8a 8c 00 00 00    	mov    %ecx,0x8c(%rdx)
18003f7d0:	85 c9                	test   %ecx,%ecx
18003f7d2:	74 06                	je     0x18003f7da
18003f7d4:	41 b9 2d 02 00 c0    	mov    $0xc000022d,%r9d
18003f7da:	41 8b c1             	mov    %r9d,%eax
18003f7dd:	c3                   	ret
18003f7de:	cc                   	int3
18003f7df:	cc                   	int3
18003f7e0:	48 83 ec 28          	sub    $0x28,%rsp
18003f7e4:	41 b0 1e             	mov    $0x1e,%r8b
18003f7e7:	e8 24 7d 00 00       	call   0x180047510
18003f7ec:	48 83 c4 28          	add    $0x28,%rsp
18003f7f0:	c3                   	ret
18003f7f1:	cc                   	int3
18003f7f2:	cc                   	int3
18003f7f3:	cc                   	int3
18003f7f4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18003f7f9:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18003f7fe:	56                   	push   %rsi
18003f7ff:	57                   	push   %rdi
18003f800:	41 56                	push   %r14
18003f802:	48 83 ec 50          	sub    $0x50,%rsp
18003f806:	45 33 c9             	xor    %r9d,%r9d
18003f809:	48 8b da             	mov    %rdx,%rbx
18003f80c:	48 8b f1             	mov    %rcx,%rsi
18003f80f:	4d 85 c0             	test   %r8,%r8
18003f812:	74 0a                	je     0x18003f81e
18003f814:	ba 02 00 00 c0       	mov    $0xc0000002,%edx
18003f819:	e9 19 01 00 00       	jmp    0x18003f937
18003f81e:	8b ba f4 00 00 00    	mov    0xf4(%rdx),%edi
18003f824:	4c 8b 5a 68          	mov    0x68(%rdx),%r11
18003f828:	8b 92 80 00 00 00    	mov    0x80(%rdx),%edx
18003f82e:	85 ff                	test   %edi,%edi
18003f830:	74 04                	je     0x18003f836
18003f832:	4d 8d 0c 13          	lea    (%r11,%rdx,1),%r9
18003f836:	8b 83 f8 00 00 00    	mov    0xf8(%rbx),%eax
18003f83c:	4c 8b 83 e0 00 00 00 	mov    0xe0(%rbx),%r8
18003f843:	48 8b ab e8 00 00 00 	mov    0xe8(%rbx),%rbp
18003f84a:	44 8b b3 f0 00 00 00 	mov    0xf0(%rbx),%r14d
18003f851:	48 8b 4c c1 28       	mov    0x28(%rcx,%rax,8),%rcx
18003f856:	44 3b 81 58 0e 00 00 	cmp    0xe58(%rcx),%r8d
18003f85d:	0f 83 cf 00 00 00    	jae    0x18003f932
18003f863:	44 3b 81 4c 0e 00 00 	cmp    0xe4c(%rcx),%r8d
18003f86a:	0f 82 c2 00 00 00    	jb     0x18003f932
18003f870:	44 8b 91 40 0e 00 00 	mov    0xe40(%rcx),%r10d
18003f877:	41 8d 42 fc          	lea    -0x4(%r10),%eax
18003f87b:	83 f8 02             	cmp    $0x2,%eax
18003f87e:	76 0a                	jbe    0x18003f88a
18003f880:	ba 84 01 00 c0       	mov    $0xc0000184,%edx
18003f885:	e9 ad 00 00 00       	jmp    0x18003f937
18003f88a:	4c 3b 41 18          	cmp    0x18(%rcx),%r8
18003f88e:	73 0a                	jae    0x18003f89a
18003f890:	ba 11 00 00 c0       	mov    $0xc0000011,%edx
18003f895:	e9 9d 00 00 00       	jmp    0x18003f937
18003f89a:	41 83 fa 06          	cmp    $0x6,%r10d
18003f89e:	75 06                	jne    0x18003f8a6
18003f8a0:	4c 3b 41 20          	cmp    0x20(%rcx),%r8
18003f8a4:	73 ea                	jae    0x18003f890
18003f8a6:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
18003f8ab:	89 54 24 38          	mov    %edx,0x38(%rsp)
18003f8af:	48 8b d3             	mov    %rbx,%rdx
18003f8b2:	4c 89 5c 24 30       	mov    %r11,0x30(%rsp)
18003f8b7:	89 7c 24 28          	mov    %edi,0x28(%rsp)
18003f8bb:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
18003f8c0:	45 8b ce             	mov    %r14d,%r9d
18003f8c3:	e8 ac ae 01 00       	call   0x18005a774
18003f8c8:	8b d0                	mov    %eax,%edx
18003f8ca:	85 c0                	test   %eax,%eax
18003f8cc:	78 69                	js     0x18003f937
18003f8ce:	44 8b 8b 88 00 00 00 	mov    0x88(%rbx),%r9d
18003f8d5:	83 c9 ff             	or     $0xffffffff,%ecx
18003f8d8:	44 3b c9             	cmp    %ecx,%r9d
18003f8db:	75 11                	jne    0x18003f8ee
18003f8dd:	8b 83 8c 00 00 00    	mov    0x8c(%rbx),%eax
18003f8e3:	44 8b c9             	mov    %ecx,%r9d
18003f8e6:	3b c1                	cmp    %ecx,%eax
18003f8e8:	74 04                	je     0x18003f8ee
18003f8ea:	44 0f bc c8          	bsf    %eax,%r9d
18003f8ee:	4c 8d 53 18          	lea    0x18(%rbx),%r10
18003f8f2:	4d 8b 02             	mov    (%r10),%r8
18003f8f5:	eb 34                	jmp    0x18003f92b
18003f8f7:	45 89 48 60          	mov    %r9d,0x60(%r8)
18003f8fb:	8b 83 f8 00 00 00    	mov    0xf8(%rbx),%eax
18003f901:	f7 d8                	neg    %eax
18003f903:	1a c9                	sbb    %cl,%cl
18003f905:	80 e1 02             	and    $0x2,%cl
18003f908:	80 c1 0a             	add    $0xa,%cl
18003f90b:	41 88 48 72          	mov    %cl,0x72(%r8)
18003f90f:	8b 83 f8 00 00 00    	mov    0xf8(%rbx),%eax
18003f915:	48 8b 4c c6 10       	mov    0x10(%rsi,%rax,8),%rcx
18003f91a:	48 8b 81 60 01 00 00 	mov    0x160(%rcx),%rax
18003f921:	49 89 80 b0 00 00 00 	mov    %rax,0xb0(%r8)
18003f928:	4d 8b 00             	mov    (%r8),%r8
18003f92b:	4d 3b c2             	cmp    %r10,%r8
18003f92e:	75 c7                	jne    0x18003f8f7
18003f930:	eb 05                	jmp    0x18003f937
18003f932:	ba 0d 00 00 c0       	mov    $0xc000000d,%edx
18003f937:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
18003f93c:	8b c2                	mov    %edx,%eax
18003f93e:	49 8b 5b 20          	mov    0x20(%r11),%rbx
18003f942:	49 8b 6b 30          	mov    0x30(%r11),%rbp
18003f946:	49 8b e3             	mov    %r11,%rsp
18003f949:	41 5e                	pop    %r14
18003f94b:	5f                   	pop    %rdi
18003f94c:	5e                   	pop    %rsi
18003f94d:	c3                   	ret
18003f94e:	cc                   	int3
18003f94f:	cc                   	int3
18003f950:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18003f955:	57                   	push   %rdi
18003f956:	48 83 ec 20          	sub    $0x20,%rsp
18003f95a:	83 4a 3c 04          	orl    $0x4,0x3c(%rdx)
18003f95e:	41 b0 1f             	mov    $0x1f,%r8b
18003f961:	c7 82 a0 00 00 00 00 	movl   $0x0,0xa0(%rdx)
18003f968:	00 00 00
18003f96b:	48 8b fa             	mov    %rdx,%rdi
18003f96e:	48 8b d9             	mov    %rcx,%rbx
18003f971:	e8 9a 7b 00 00       	call   0x180047510
18003f976:	8b 8f f8 00 00 00    	mov    0xf8(%rdi),%ecx
18003f97c:	48 8b 97 e0 00 00 00 	mov    0xe0(%rdi),%rdx
18003f983:	48 8b 4c cb 28       	mov    0x28(%rbx,%rcx,8),%rcx
18003f988:	e8 2b f4 00 00       	call   0x18004edb8
18003f98d:	8b 87 a0 00 00 00    	mov    0xa0(%rdi),%eax
18003f993:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18003f998:	48 83 c4 20          	add    $0x20,%rsp
18003f99c:	5f                   	pop    %rdi
18003f99d:	c3                   	ret
18003f99e:	cc                   	int3
18003f99f:	cc                   	int3
18003f9a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18003f9a5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18003f9aa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18003f9af:	57                   	push   %rdi
18003f9b0:	48 83 ec 50          	sub    $0x50,%rsp
18003f9b4:	48 8b da             	mov    %rdx,%rbx
18003f9b7:	48 8b f1             	mov    %rcx,%rsi
18003f9ba:	4d 85 c0             	test   %r8,%r8
18003f9bd:	74 0a                	je     0x18003f9c9
18003f9bf:	bf 02 00 00 c0       	mov    $0xc0000002,%edi