18000f7c7:	48 8b cf             	mov    %rdi,%rcx
18000f7ca:	e8 c5 5e 00 00       	call   0x180015694
18000f7cf:	48 63 e8             	movslq %eax,%rbp
18000f7d2:	33 f6                	xor    %esi,%esi
18000f7d4:	85 c0                	test   %eax,%eax
18000f7d6:	79 0a                	jns    0x18000f7e2
18000f7d8:	be 04 00 00 00       	mov    $0x4,%esi
18000f7dd:	e9 89 00 00 00       	jmp    0x18000f86b
18000f7e2:	e8 c1 46 0c 00       	call   0x1800d3ea8
18000f7e7:	84 c0                	test   %al,%al
18000f7e9:	74 52                	je     0x18000f83d
18000f7eb:	48 8b 87 f0 00 00 00 	mov    0xf0(%rdi),%rax
18000f7f2:	41 b8 10 00 00 00    	mov    $0x10,%r8d
18000f7f8:	83 88 84 00 00 00 08 	orl    $0x8,0x84(%rax)
18000f7ff:	0f b7 15 7a 59 19 00 	movzwl 0x19597a(%rip),%edx        # 0x1801a5180
18000f806:	48 8b 0d 75 59 19 00 	mov    0x195975(%rip),%rcx        # 0x1801a5182
18000f80d:	e8 6a 81 0c 00       	call   0x1800d797c
18000f812:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
18000f816:	48 39 1b             	cmp    %rbx,(%rbx)
18000f819:	74 22                	je     0x18000f83d
18000f81b:	f7 43 68 00 00 80 00 	testl  $0x800000,0x68(%rbx)
18000f822:	74 0d                	je     0x18000f831
18000f824:	48 8b 53 30          	mov    0x30(%rbx),%rdx
18000f828:	48 8d 4b 58          	lea    0x58(%rbx),%rcx
18000f82c:	e8 b7 46 0c 00       	call   0x1800d3ee8
18000f831:	48 8b 1b             	mov    (%rbx),%rbx
18000f834:	48 8b 47 10          	mov    0x10(%rdi),%rax
18000f838:	48 39 03             	cmp    %rax,(%rbx)
18000f83b:	75 de                	jne    0x18000f81b
18000f83d:	e8 c2 39 0c 00       	call   0x1800d3204
18000f842:	e8 cd 51 01 00       	call   0x180024a14
18000f847:	48 8b 15 ea 59 19 00 	mov    0x1959ea(%rip),%rdx        # 0x1801a5238
18000f84e:	48 8b cf             	mov    %rdi,%rcx
18000f851:	4c 8b 8a f0 00 00 00 	mov    0xf0(%rdx),%r9
18000f858:	48 8b 15 e1 59 19 00 	mov    0x1959e1(%rip),%rdx        # 0x1801a5240
18000f85f:	49 89 81 d0 00 00 00 	mov    %rax,0xd0(%r9)
18000f866:	e8 f5 41 12 00       	call   0x180133a60
18000f86b:	45 33 c9             	xor    %r9d,%r9d
18000f86e:	48 8b d5             	mov    %rbp,%rdx
18000f871:	4c 8b c6             	mov    %rsi,%r8
18000f874:	41 8d 49 15          	lea    0x15(%r9),%ecx
18000f878:	e8 9f c8 ff ff       	call   0x18000c11c
18000f87d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18000f882:	8b c5                	mov    %ebp,%eax
18000f884:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18000f889:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18000f88e:	48 83 c4 30          	add    $0x30,%rsp
18000f892:	5f                   	pop    %rdi
18000f893:	c3                   	ret
18000f894:	cc                   	int3
18000f895:	cc                   	int3
18000f896:	cc                   	int3
18000f897:	cc                   	int3
18000f898:	48 8b c4             	mov    %rsp,%rax
18000f89b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18000f89f:	48 89 68 10          	mov    %rbp,0x10(%rax)
18000f8a3:	48 89 70 18          	mov    %rsi,0x18(%rax)
18000f8a7:	48 89 78 20          	mov    %rdi,0x20(%rax)
18000f8ab:	41 56                	push   %r14
18000f8ad:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
18000f8b4:	8b 9c 24 00 01 00 00 	mov    0x100(%rsp),%ebx
18000f8bb:	48 8d 05 ee 31 13 00 	lea    0x1331ee(%rip),%rax        # 0x180142ab0
18000f8c2:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
18000f8c9:	00
18000f8ca:	44 8b d3             	mov    %ebx,%r10d
18000f8cd:	44 8b db             	mov    %ebx,%r11d
18000f8d0:	41 83 e2 fe          	and    $0xfffffffe,%r10d
18000f8d4:	41 83 e3 01          	and    $0x1,%r11d
18000f8d8:	8b fa                	mov    %edx,%edi
18000f8da:	8b f1                	mov    %ecx,%esi
18000f8dc:	49 8b e9             	mov    %r9,%rbp
18000f8df:	4c 8b 8c 24 c0 00 00 	mov    0xc0(%rsp),%r9
18000f8e6:	00
18000f8e7:	44 0f 44 d3          	cmove  %ebx,%r10d
18000f8eb:	41 8b c2             	mov    %r10d,%eax
18000f8ee:	41 8b d2             	mov    %r10d,%edx
18000f8f1:	83 e0 fd             	and    $0xfffffffd,%eax
18000f8f4:	4d 8b f0             	mov    %r8,%r14
18000f8f7:	83 e2 02             	and    $0x2,%edx
18000f8fa:	41 8b cb             	mov    %r11d,%ecx
18000f8fd:	4c 8b c5             	mov    %rbp,%r8
18000f900:	41 0f 44 c2          	cmove  %r10d,%eax
18000f904:	83 c9 02             	or     $0x2,%ecx
18000f907:	89 84 24 88 00 00 00 	mov    %eax,0x88(%rsp)
18000f90e:	85 d2                	test   %edx,%edx
18000f910:	48 8b 84 24 08 01 00 	mov    0x108(%rsp),%rax
18000f917:	00
18000f918:	49 8b d6             	mov    %r14,%rdx
18000f91b:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
18000f920:	41 0f 44 cb          	cmove  %r11d,%ecx
18000f924:	c1 e3 0d             	shl    $0xd,%ebx
18000f927:	48 8d 84 24 80 00 00 	lea    0x80(%rsp),%rax
18000f92e:	00
18000f92f:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
18000f934:	f7 d3                	not    %ebx
18000f936:	8b 84 24 f8 00 00 00 	mov    0xf8(%rsp),%eax
18000f93d:	81 e3 00 00 40 00    	and    $0x400000,%ebx
18000f943:	89 4c 24 68          	mov    %ecx,0x68(%rsp)
18000f947:	81 cb 00 40 02 00    	or     $0x24000,%ebx
18000f94d:	89 44 24 60          	mov    %eax,0x60(%rsp)
18000f951:	8b ce                	mov    %esi,%ecx
18000f953:	83 64 24 58 00       	andl   $0x0,0x58(%rsp)
18000f958:	83 64 24 50 00       	andl   $0x0,0x50(%rsp)
18000f95d:	8b 84 24 d0 00 00 00 	mov    0xd0(%rsp),%eax
18000f964:	89 44 24 48          	mov    %eax,0x48(%rsp)
18000f968:	48 8b 84 24 c8 00 00 	mov    0xc8(%rsp),%rax
18000f96f:	00
18000f970:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
18000f975:	48 8b 84 24 e0 00 00 	mov    0xe0(%rsp),%rax
18000f97c:	00
18000f97d:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
18000f982:	48 8b 84 24 d8 00 00 	mov    0xd8(%rsp),%rax
18000f989:	00
18000f98a:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
18000f98f:	89 5c 24 28          	mov    %ebx,0x28(%rsp)
18000f993:	89 7c 24 20          	mov    %edi,0x20(%rsp)
18000f997:	e8 70 89 07 00       	call   0x18008830c
18000f99c:	4c 8d 9c 24 90 00 00 	lea    0x90(%rsp),%r11
18000f9a3:	00
18000f9a4:	49 8b 5b 10          	mov    0x10(%r11),%rbx
18000f9a8:	49 8b 6b 18          	mov    0x18(%r11),%rbp
18000f9ac:	49 8b 73 20          	mov    0x20(%r11),%rsi
18000f9b0:	49 8b 7b 28          	mov    0x28(%r11),%rdi
18000f9b4:	49 8b e3             	mov    %r11,%rsp
18000f9b7:	41 5e                	pop    %r14
18000f9b9:	c3                   	ret
18000f9ba:	cc                   	int3
18000f9bb:	cc                   	int3
18000f9bc:	40 53                	rex push %rbx
18000f9be:	48 83 ec 20          	sub    $0x20,%rsp
18000f9c2:	33 db                	xor    %ebx,%ebx
18000f9c4:	48 39 1d bd 01 16 00 	cmp    %rbx,0x1601bd(%rip)        # 0x18016fb88
18000f9cb:	75 6f                	jne    0x18000fa3c
18000f9cd:	48 8b 0d 64 59 19 00 	mov    0x195964(%rip),%rcx        # 0x1801a5338
18000f9d4:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
18000f9d8:	48 ff c0             	inc    %rax
18000f9db:	66 39 1c 41          	cmp    %bx,(%rcx,%rax,2)
18000f9df:	75 f7                	jne    0x18000f9d8
18000f9e1:	66 83 c0 12          	add    $0x12,%ax
18000f9e5:	66 03 c0             	add    %ax,%ax
18000f9e8:	0f b7 c8             	movzwl %ax,%ecx
18000f9eb:	66 89 0d 90 01 16 00 	mov    %cx,0x160190(%rip)        # 0x18016fb82
18000f9f2:	e8 59 a4 08 00       	call   0x180099e50
18000f9f7:	48 89 05 8a 01 16 00 	mov    %rax,0x16018a(%rip)        # 0x18016fb88
18000f9fe:	48 85 c0             	test   %rax,%rax
18000fa01:	75 07                	jne    0x18000fa0a
18000fa03:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18000fa08:	eb 34                	jmp    0x18000fa3e
18000fa0a:	0f b7 15 71 01 16 00 	movzwl 0x160171(%rip),%edx        # 0x18016fb82
18000fa11:	4c 8d 05 28 7c 13 00 	lea    0x137c28(%rip),%r8        # 0x180147640
18000fa18:	4c 8b 0d 19 59 19 00 	mov    0x195919(%rip),%r9        # 0x1801a5338
18000fa1f:	48 8b c8             	mov    %rax,%rcx
18000fa22:	48 d1 ea             	shr    $1,%rdx
18000fa25:	e8 12 e1 11 00       	call   0x18012db3c
18000fa2a:	0f b7 05 51 01 16 00 	movzwl 0x160151(%rip),%eax        # 0x18016fb82
18000fa31:	66 83 e8 02          	sub    $0x2,%ax
18000fa35:	66 89 05 44 01 16 00 	mov    %ax,0x160144(%rip)        # 0x18016fb80
18000fa3c:	33 c0                	xor    %eax,%eax
18000fa3e:	48 83 c4 20          	add    $0x20,%rsp
18000fa42:	5b                   	pop    %rbx
18000fa43:	c3                   	ret
18000fa44:	cc                   	int3
18000fa45:	cc                   	int3
18000fa46:	cc                   	int3
18000fa47:	cc                   	int3
18000fa48:	48 8b c4             	mov    %rsp,%rax
18000fa4b:	48 89 58 10          	mov    %rbx,0x10(%rax)
18000fa4f:	48 89 68 18          	mov    %rbp,0x18(%rax)
18000fa53:	48 89 70 20          	mov    %rsi,0x20(%rax)
18000fa57:	57                   	push   %rdi
18000fa58:	48 83 ec 20          	sub    $0x20,%rsp
18000fa5c:	48 8b fa             	mov    %rdx,%rdi
18000fa5f:	4c 8d 48 08          	lea    0x8(%rax),%r9
18000fa63:	48 8b d9             	mov    %rcx,%rbx
18000fa66:	b2 01                	mov    $0x1,%dl
18000fa68:	48 8b 49 30          	mov    0x30(%rcx),%rcx
18000fa6c:	41 b8 05 00 00 00    	mov    $0x5,%r8d
18000fa72:	e8 f5 04 02 00       	call   0x18002ff6c
18000fa77:	33 f6                	xor    %esi,%esi
18000fa79:	4c 8b c0             	mov    %rax,%r8
18000fa7c:	48 85 c0             	test   %rax,%rax
18000fa7f:	0f 84 9b 00 00 00    	je     0x18000fb20
18000fa85:	44 8b 4c 24 30       	mov    0x30(%rsp),%r9d
18000fa8a:	45 85 c9             	test   %r9d,%r9d
18000fa8d:	0f 84 8d 00 00 00    	je     0x18000fb20
18000fa93:	8b 7f 10             	mov    0x10(%rdi),%edi
18000fa96:	8b d7                	mov    %edi,%edx
18000fa98:	48 03 53 30          	add    0x30(%rbx),%rdx
18000fa9c:	eb 04                	jmp    0x18000faa2
18000fa9e:	48 83 c2 08          	add    $0x8,%rdx
18000faa2:	48 39 32             	cmp    %rsi,(%rdx)
18000faa5:	75 f7                	jne    0x18000fa9e
18000faa7:	2b 53 30             	sub    0x30(%rbx),%edx
18000faaa:	45 85 c9             	test   %r9d,%r9d
18000faad:	74 71                	je     0x18000fb20
18000faaf:	bd ff 0f 00 00       	mov    $0xfff,%ebp
18000fab4:	41 8b 00             	mov    (%r8),%eax
18000fab7:	3b c2                	cmp    %edx,%eax
18000fab9:	73 59                	jae    0x18000fb14
18000fabb:	05 00 10 00 00       	add    $0x1000,%eax
18000fac0:	3b c7                	cmp    %edi,%eax
18000fac2:	76 50                	jbe    0x18000fb14
18000fac4:	41 8b 40 04          	mov    0x4(%r8),%eax
18000fac8:	4d 8d 50 08          	lea    0x8(%r8),%r10
18000facc:	49 8d 4a f8          	lea    -0x8(%r10),%rcx
18000fad0:	48 8b de             	mov    %rsi,%rbx
18000fad3:	48 03 c8             	add    %rax,%rcx
18000fad6:	4c 8b d9             	mov    %rcx,%r11
18000fad9:	4d 2b da             	sub    %r10,%r11
18000fadc:	49 ff c3             	inc    %r11
18000fadf:	49 d1 eb             	shr    $1,%r11
18000fae2:	4c 3b d1             	cmp    %rcx,%r10
18000fae5:	4c 0f 47 de          	cmova  %rsi,%r11
18000fae9:	4d 85 db             	test   %r11,%r11
18000faec:	74 26                	je     0x18000fb14
18000faee:	41 0f b7 0a          	movzwl (%r10),%ecx
18000faf2:	8b c1                	mov    %ecx,%eax
18000faf4:	23 c5                	and    %ebp,%eax
18000faf6:	41 03 00             	add    (%r8),%eax
18000faf9:	3b c7                	cmp    %edi,%eax
18000fafb:	72 0b                	jb     0x18000fb08
18000fafd:	3b c2                	cmp    %edx,%eax
18000faff:	73 07                	jae    0x18000fb08
18000fb01:	66 23 cd             	and    %bp,%cx
18000fb04:	66 41 89 0a          	mov    %cx,(%r10)
18000fb08:	49 83 c2 02          	add    $0x2,%r10
18000fb0c:	48 ff c3             	inc    %rbx
18000fb0f:	49 3b db             	cmp    %r11,%rbx
18000fb12:	72 da                	jb     0x18000faee
18000fb14:	41 8b 40 04          	mov    0x4(%r8),%eax
18000fb18:	4c 03 c0             	add    %rax,%r8
18000fb1b:	44 2b c8             	sub    %eax,%r9d
18000fb1e:	75 94                	jne    0x18000fab4
18000fb20:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
18000fb25:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
18000fb2a:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
18000fb2f:	48 83 c4 20          	add    $0x20,%rsp
18000fb33:	5f                   	pop    %rdi
18000fb34:	c3                   	ret
18000fb35:	cc                   	int3
18000fb36:	cc                   	int3
18000fb37:	cc                   	int3
18000fb38:	48 85 d2             	test   %rdx,%rdx
18000fb3b:	75 07                	jne    0x18000fb44
18000fb3d:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18000fb42:	c3                   	ret
18000fb43:	cc                   	int3
18000fb44:	83 22 00             	andl   $0x0,(%rdx)
18000fb47:	f6 c1 0c             	test   $0xc,%cl
18000fb4a:	75 10                	jne    0x18000fb5c
18000fb4c:	8b 0d ce 56 19 00    	mov    0x1956ce(%rip),%ecx        # 0x1801a5220
18000fb52:	89 0a                	mov    %ecx,(%rdx)
18000fb54:	03 0d a6 56 19 00    	add    0x1956a6(%rip),%ecx        # 0x1801a5200
18000fb5a:	89 0a                	mov    %ecx,(%rdx)
18000fb5c:	33 c0                	xor    %eax,%eax
18000fb5e:	c3                   	ret
18000fb5f:	cc                   	int3
18000fb60:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18000fb65:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18000fb6a:	57                   	push   %rdi
18000fb6b:	48 83 ec 20          	sub    $0x20,%rsp
18000fb6f:	49 8b f8             	mov    %r8,%rdi
18000fb72:	48 8b da             	mov    %rdx,%rbx
18000fb75:	48 8b f1             	mov    %rcx,%rsi
18000fb78:	48 85 c9             	test   %rcx,%rcx
18000fb7b:	74 42                	je     0x18000fbbf
18000fb7d:	48 85 d2             	test   %rdx,%rdx
18000fb80:	74 3d                	je     0x18000fbbf
18000fb82:	4d 85 c0             	test   %r8,%r8
18000fb85:	74 38                	je     0x18000fbbf
18000fb87:	e8 30 fe ff ff       	call   0x18000f9bc
18000fb8c:	85 c0                	test   %eax,%eax
18000fb8e:	78 34                	js     0x18000fbc4
18000fb90:	41 b0 01             	mov    $0x1,%r8b
18000fb93:	c6 03 00             	movb   $0x0,(%rbx)
18000fb96:	48 8d 15 e3 ff 15 00 	lea    0x15ffe3(%rip),%rdx        # 0x18016fb80
18000fb9d:	48 8b ce             	mov    %rsi,%rcx
18000fba0:	e8 5f db 06 00       	call   0x18007d704
18000fba5:	84 c0                	test   %al,%al
18000fba7:	75 12                	jne    0x18000fbbb
18000fba9:	48 8d 15 d0 ff 15 00 	lea    0x15ffd0(%rip),%rdx        # 0x18016fb80
18000fbb0:	c6 03 01             	movb   $0x1,(%rbx)
18000fbb3:	48 8b cf             	mov    %rdi,%rcx
18000fbb6:	e8 75 e3 06 00       	call   0x18007df30
18000fbbb:	33 c0                	xor    %eax,%eax
18000fbbd:	eb 05                	jmp    0x18000fbc4
18000fbbf:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18000fbc4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18000fbc9:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18000fbce:	48 83 c4 20          	add    $0x20,%rsp
18000fbd2:	5f                   	pop    %rdi
18000fbd3:	c3                   	ret
18000fbd4:	cc                   	int3
18000fbd5:	cc                   	int3
18000fbd6:	cc                   	int3
18000fbd7:	cc                   	int3
18000fbd8:	83 22 00             	andl   $0x0,(%rdx)
18000fbdb:	8b 02                	mov    (%rdx),%eax
18000fbdd:	f6 c1 0c             	test   $0xc,%cl
18000fbe0:	b9 10 00 00 00       	mov    $0x10,%ecx
18000fbe5:	0f 44 c1             	cmove  %ecx,%eax
18000fbe8:	89 02                	mov    %eax,(%rdx)
18000fbea:	33 c0                	xor    %eax,%eax
18000fbec:	c3                   	ret
18000fbed:	cc                   	int3
18000fbee:	cc                   	int3
18000fbef:	cc                   	int3
18000fbf0:	48 8b c4             	mov    %rsp,%rax
18000fbf3:	48 89 58 08          	mov    %rbx,0x8(%rax)
18000fbf7:	48 89 68 10          	mov    %rbp,0x10(%rax)
18000fbfb:	48 89 70 18          	mov    %rsi,0x18(%rax)
18000fbff:	48 89 78 20          	mov    %rdi,0x20(%rax)
18000fc03:	41 56                	push   %r14
18000fc05:	48 83 ec 20          	sub    $0x20,%rsp
18000fc09:	33 db                	xor    %ebx,%ebx
18000fc0b:	48 8b f2             	mov    %rdx,%rsi
18000fc0e:	48 85 c9             	test   %rcx,%rcx
18000fc11:	74 77                	je     0x18000fc8a
18000fc13:	66 39 19             	cmp    %bx,(%rcx)
18000fc16:	74 72                	je     0x18000fc8a
18000fc18:	48 85 d2             	test   %rdx,%rdx
18000fc1b:	74 6d                	je     0x18000fc8a
18000fc1d:	48 8b 15 14 57 19 00 	mov    0x195714(%rip),%rdx        # 0x1801a5338
18000fc24:	e8 cb bc 11 00       	call   0x18012b8f4
18000fc29:	48 8b c8             	mov    %rax,%rcx
18000fc2c:	48 85 c0             	test   %rax,%rax
18000fc2f:	74 52                	je     0x18000fc83
18000fc31:	48 8b 15 00 57 19 00 	mov    0x195700(%rip),%rdx        # 0x1801a5338
18000fc38:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
18000fc3c:	48 8b c7             	mov    %rdi,%rax
18000fc3f:	48 ff c0             	inc    %rax
18000fc42:	66 39 1c 42          	cmp    %bx,(%rdx,%rax,2)
18000fc46:	75 f7                	jne    0x18000fc3f
18000fc48:	4c 8d 34 41          	lea    (%rcx,%rax,2),%r14
18000fc4c:	48 ff c7             	inc    %rdi
18000fc4f:	66 41 39 1c 7e       	cmp    %bx,(%r14,%rdi,2)
18000fc54:	75 f6                	jne    0x18000fc4c
18000fc56:	48 83 c7 0d          	add    $0xd,%rdi
18000fc5a:	48 8d 0c 3f          	lea    (%rdi,%rdi,1),%rcx
18000fc5e:	e8 ed a1 08 00       	call   0x180099e50
18000fc63:	48 8b e8             	mov    %rax,%rbp
18000fc66:	48 85 c0             	test   %rax,%rax
18000fc69:	74 18                	je     0x18000fc83
18000fc6b:	4d 8b ce             	mov    %r14,%r9
18000fc6e:	4c 8d 05 f3 79 13 00 	lea    0x1379f3(%rip),%r8        # 0x180147668
18000fc75:	48 8b d7             	mov    %rdi,%rdx
18000fc78:	48 8b c8             	mov    %rax,%rcx
18000fc7b:	e8 bc de 11 00       	call   0x18012db3c
18000fc80:	48 8b dd             	mov    %rbp,%rbx
18000fc83:	48 89 1e             	mov    %rbx,(%rsi)