18006ed15:	4c 8b d1             	mov    %rcx,%r10
18006ed18:	45 32 ff             	xor    %r15b,%r15b
18006ed1b:	41 8b 2c 24          	mov    (%r12),%ebp
18006ed1f:	45 8b 30             	mov    (%r8),%r14d
18006ed22:	45 8b 48 30          	mov    0x30(%r8),%r9d
18006ed26:	41 8d 1c 2e          	lea    (%r14,%rbp,1),%ebx
18006ed2a:	4e 8b 2c c8          	mov    (%rax,%r9,8),%r13
18006ed2e:	81 e3 00 f8 ff ff    	and    $0xfffff800,%ebx
18006ed34:	44 2b f3             	sub    %ebx,%r14d
18006ed37:	44 03 f5             	add    %ebp,%r14d
18006ed3a:	41 2b f6             	sub    %r14d,%esi
18006ed3d:	49 8b 4d 18          	mov    0x18(%r13),%rcx
18006ed41:	48 89 8c 24 90 00 00 	mov    %rcx,0x90(%rsp)
18006ed48:	00
18006ed49:	49 3b 68 10          	cmp    0x10(%r8),%rbp
18006ed4d:	0f 83 e0 00 00 00    	jae    0x18006ee33
18006ed53:	41 3b 5d 20          	cmp    0x20(%r13),%ebx
18006ed57:	0f 95 c2             	setne  %dl
18006ed5a:	8b fe                	mov    %esi,%edi
18006ed5c:	83 fe 21             	cmp    $0x21,%esi
18006ed5f:	73 10                	jae    0x18006ed71
18006ed61:	41 03 db             	add    %r11d,%ebx
18006ed64:	41 8b f3             	mov    %r11d,%esi
18006ed67:	45 33 f6             	xor    %r14d,%r14d
18006ed6a:	b2 01                	mov    $0x1,%dl
18006ed6c:	e9 b4 00 00 00       	jmp    0x18006ee25
18006ed71:	84 d2                	test   %dl,%dl
18006ed73:	74 48                	je     0x18006edbd
18006ed75:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18006ed7a:	4c 8b c9             	mov    %rcx,%r9
18006ed7d:	41 8b 4a 08          	mov    0x8(%r10),%ecx
18006ed81:	45 8b c3             	mov    %r11d,%r8d
18006ed84:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18006ed8a:	8b d3                	mov    %ebx,%edx
18006ed8c:	e8 8b 81 fb ff       	call   0x180026f1c
18006ed91:	85 c0                	test   %eax,%eax
18006ed93:	0f 88 9f 00 00 00    	js     0x18006ee38
18006ed99:	4c 8b 84 24 98 00 00 	mov    0x98(%rsp),%r8
18006eda0:	00
18006eda1:	32 d2                	xor    %dl,%dl
18006eda3:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
18006edaa:	00
18006edab:	41 bb 00 08 00 00    	mov    $0x800,%r11d
18006edb1:	4c 8b 94 24 80 00 00 	mov    0x80(%rsp),%r10
18006edb8:	00
18006edb9:	41 89 5d 20          	mov    %ebx,0x20(%r13)
18006edbd:	41 8b c6             	mov    %r14d,%eax
18006edc0:	48 03 c8             	add    %rax,%rcx
18006edc3:	80 39 00             	cmpb   $0x0,(%rcx)
18006edc6:	75 0d                	jne    0x18006edd5
18006edc8:	41 03 db             	add    %r11d,%ebx
18006edcb:	41 8b f3             	mov    %r11d,%esi
18006edce:	45 33 f6             	xor    %r14d,%r14d
18006edd1:	b2 01                	mov    $0x1,%dl
18006edd3:	eb 48                	jmp    0x18006ee1d
18006edd5:	0f b6 39             	movzbl (%rcx),%edi
18006edd8:	3b fe                	cmp    %esi,%edi
18006edda:	77 57                	ja     0x18006ee33
18006eddc:	41 8a 45 10          	mov    0x10(%r13),%al
18006ede0:	45 84 ff             	test   %r15b,%r15b
18006ede3:	74 12                	je     0x18006edf7
18006ede5:	84 c0                	test   %al,%al
18006ede7:	74 05                	je     0x18006edee
18006ede9:	8a 41 19             	mov    0x19(%rcx),%al
18006edec:	eb 03                	jmp    0x18006edf1
18006edee:	8a 41 18             	mov    0x18(%rcx),%al
18006edf1:	84 c0                	test   %al,%al
18006edf3:	78 23                	js     0x18006ee18
18006edf5:	eb 10                	jmp    0x18006ee07
18006edf7:	84 c0                	test   %al,%al
18006edf9:	74 05                	je     0x18006ee00
18006edfb:	8a 41 19             	mov    0x19(%rcx),%al
18006edfe:	eb 03                	jmp    0x18006ee03
18006ee00:	8a 41 18             	mov    0x18(%rcx),%al
18006ee03:	84 c0                	test   %al,%al
18006ee05:	79 05                	jns    0x18006ee0c
18006ee07:	41 b7 01             	mov    $0x1,%r15b
18006ee0a:	eb 0c                	jmp    0x18006ee18
18006ee0c:	80 79 20 01          	cmpb   $0x1,0x20(%rcx)
18006ee10:	75 38                	jne    0x18006ee4a
18006ee12:	80 79 21 01          	cmpb   $0x1,0x21(%rcx)
18006ee16:	77 32                	ja     0x18006ee4a
18006ee18:	44 03 f7             	add    %edi,%r14d
18006ee1b:	2b f7                	sub    %edi,%esi
18006ee1d:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
18006ee24:	00
18006ee25:	03 ef                	add    %edi,%ebp
18006ee27:	8b c5                	mov    %ebp,%eax
18006ee29:	49 3b 40 10          	cmp    0x10(%r8),%rax
18006ee2d:	0f 82 27 ff ff ff    	jb     0x18006ed5a
18006ee33:	b8 0f 00 00 c0       	mov    $0xc000000f,%eax
18006ee38:	48 83 c4 38          	add    $0x38,%rsp
18006ee3c:	41 5f                	pop    %r15
18006ee3e:	41 5e                	pop    %r14
18006ee40:	41 5d                	pop    %r13
18006ee42:	41 5c                	pop    %r12
18006ee44:	5f                   	pop    %rdi
18006ee45:	5e                   	pop    %rsi
18006ee46:	5d                   	pop    %rbp
18006ee47:	5b                   	pop    %rbx
18006ee48:	c3                   	ret
18006ee49:	cc                   	int3
18006ee4a:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
18006ee51:	00
18006ee52:	41 89 2c 24          	mov    %ebp,(%r12)
18006ee56:	48 89 08             	mov    %rcx,(%rax)
18006ee59:	33 c0                	xor    %eax,%eax
18006ee5b:	eb db                	jmp    0x18006ee38
18006ee5d:	cc                   	int3
18006ee5e:	cc                   	int3
18006ee5f:	cc                   	int3
18006ee60:	48 8b c4             	mov    %rsp,%rax
18006ee63:	48 89 58 08          	mov    %rbx,0x8(%rax)
18006ee67:	48 89 68 10          	mov    %rbp,0x10(%rax)
18006ee6b:	48 89 70 18          	mov    %rsi,0x18(%rax)
18006ee6f:	48 89 78 20          	mov    %rdi,0x20(%rax)
18006ee73:	41 56                	push   %r14
18006ee75:	41 57                	push   %r15
18006ee77:	44 0f b7 0a          	movzwl (%rdx),%r9d
18006ee7b:	48 8b c2             	mov    %rdx,%rax
18006ee7e:	66 41 d1 e9          	shr    $1,%r9w
18006ee82:	4c 8b d9             	mov    %rcx,%r11
18006ee85:	66 44 39 09          	cmp    %r9w,(%rcx)
18006ee89:	73 06                	jae    0x18006ee91
18006ee8b:	44 0f b7 01          	movzwl (%rcx),%r8d
18006ee8f:	eb 07                	jmp    0x18006ee98
18006ee91:	44 0f b7 02          	movzwl (%rdx),%r8d
18006ee95:	41 d1 e8             	shr    $1,%r8d
18006ee98:	33 d2                	xor    %edx,%edx
18006ee9a:	44 8b d2             	mov    %edx,%r10d
18006ee9d:	45 85 c0             	test   %r8d,%r8d
18006eea0:	74 40                	je     0x18006eee2
18006eea2:	4c 8b 71 08          	mov    0x8(%rcx),%r14
18006eea6:	4c 8b 78 08          	mov    0x8(%rax),%r15
18006eeaa:	41 8b c2             	mov    %r10d,%eax
18006eead:	42 0f be 3c 30       	movsbl (%rax,%r14,1),%edi
18006eeb2:	42 8a 34 30          	mov    (%rax,%r14,1),%sil
18006eeb6:	41 0f b7 1c 47       	movzwl (%r15,%rax,2),%ebx
18006eebb:	40 80 ee 61          	sub    $0x61,%sil
18006eebf:	40 80 fe 19          	cmp    $0x19,%sil
18006eec3:	8d 4f e0             	lea    -0x20(%rdi),%ecx
18006eec6:	0f 47 cf             	cmova  %edi,%ecx
18006eec9:	8d 6b 9f             	lea    -0x61(%rbx),%ebp
18006eecc:	66 83 fd 19          	cmp    $0x19,%bp
18006eed0:	8d 43 e0             	lea    -0x20(%rbx),%eax
18006eed3:	0f 47 c3             	cmova  %ebx,%eax
18006eed6:	3b c8                	cmp    %eax,%ecx
18006eed8:	75 13                	jne    0x18006eeed
18006eeda:	41 ff c2             	inc    %r10d
18006eedd:	45 3b d0             	cmp    %r8d,%r10d
18006eee0:	72 c8                	jb     0x18006eeaa
18006eee2:	66 45 39 0b          	cmp    %r9w,(%r11)
18006eee6:	73 1d                	jae    0x18006ef05
18006eee8:	83 c8 ff             	or     $0xffffffff,%eax
18006eeeb:	eb 1d                	jmp    0x18006ef0a
18006eeed:	40 80 fe 19          	cmp    $0x19,%sil
18006eef1:	8d 47 e0             	lea    -0x20(%rdi),%eax
18006eef4:	8d 4b e0             	lea    -0x20(%rbx),%ecx
18006eef7:	0f 47 c7             	cmova  %edi,%eax
18006eefa:	66 83 fd 19          	cmp    $0x19,%bp
18006eefe:	0f 47 cb             	cmova  %ebx,%ecx
18006ef01:	2b c1                	sub    %ecx,%eax
18006ef03:	eb 05                	jmp    0x18006ef0a
18006ef05:	0f 97 c2             	seta   %dl
18006ef08:	8b c2                	mov    %edx,%eax
18006ef0a:	48 8b 5c 24 18       	mov    0x18(%rsp),%rbx
18006ef0f:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
18006ef14:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
18006ef19:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
18006ef1e:	41 5f                	pop    %r15
18006ef20:	41 5e                	pop    %r14
18006ef22:	c3                   	ret
18006ef23:	cc                   	int3
18006ef24:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18006ef29:	0f b7 42 02          	movzwl 0x2(%rdx),%eax
18006ef2d:	4d 8b d9             	mov    %r9,%r11
18006ef30:	66 41 89 00          	mov    %ax,(%r8)
18006ef34:	48 8b d9             	mov    %rcx,%rbx
18006ef37:	0f b7 42 04          	movzwl 0x4(%rdx),%eax
18006ef3b:	66 41 89 40 02       	mov    %ax,0x2(%r8)
18006ef40:	45 8b 10             	mov    (%r8),%r10d
18006ef43:	44 0f af 51 08       	imul   0x8(%rcx),%r10d
18006ef48:	45 89 10             	mov    %r10d,(%r8)
18006ef4b:	44 0f b6 4a 01       	movzbl 0x1(%rdx),%r9d
18006ef50:	44 0f af 49 08       	imul   0x8(%rcx),%r9d
18006ef55:	45 03 ca             	add    %r10d,%r9d
18006ef58:	45 89 08             	mov    %r9d,(%r8)
18006ef5b:	41 81 e1 ff 07 00 00 	and    $0x7ff,%r9d
18006ef62:	0f b7 42 0a          	movzwl 0xa(%rdx),%eax
18006ef66:	66 41 89 03          	mov    %ax,(%r11)
18006ef6a:	0f b7 42 0c          	movzwl 0xc(%rdx),%eax
18006ef6e:	66 41 89 43 02       	mov    %ax,0x2(%r11)
18006ef73:	80 79 10 00          	cmpb   $0x0,0x10(%rcx)
18006ef77:	74 05                	je     0x18006ef7e
18006ef79:	8a 42 19             	mov    0x19(%rdx),%al
18006ef7c:	eb 03                	jmp    0x18006ef81
18006ef7e:	8a 42 18             	mov    0x18(%rdx),%al
18006ef81:	a8 02                	test   $0x2,%al
18006ef83:	74 18                	je     0x18006ef9d
18006ef85:	41 8b 0b             	mov    (%r11),%ecx
18006ef88:	81 c1 ff 07 00 00    	add    $0x7ff,%ecx
18006ef8e:	41 03 c9             	add    %r9d,%ecx
18006ef91:	81 e1 00 f8 ff ff    	and    $0xfffff800,%ecx
18006ef97:	41 2b c9             	sub    %r9d,%ecx
18006ef9a:	41 89 0b             	mov    %ecx,(%r11)
18006ef9d:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
18006efa2:	48 85 c9             	test   %rcx,%rcx
18006efa5:	74 12                	je     0x18006efb9
18006efa7:	80 7b 10 00          	cmpb   $0x0,0x10(%rbx)
18006efab:	74 05                	je     0x18006efb2
18006efad:	8a 42 19             	mov    0x19(%rdx),%al
18006efb0:	eb 03                	jmp    0x18006efb5
18006efb2:	8a 42 18             	mov    0x18(%rdx),%al
18006efb5:	24 02                	and    $0x2,%al
18006efb7:	88 01                	mov    %al,(%rcx)
18006efb9:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18006efbe:	c3                   	ret
18006efbf:	cc                   	int3
18006efc0:	0f b6 51 20          	movzbl 0x20(%rcx),%edx
18006efc4:	4c 8d 41 20          	lea    0x20(%rcx),%r8
18006efc8:	4c 03 c2             	add    %rdx,%r8
18006efcb:	41 83 c9 ff          	or     $0xffffffff,%r9d
18006efcf:	8b c2                	mov    %edx,%eax
18006efd1:	85 d2                	test   %edx,%edx
18006efd3:	74 15                	je     0x18006efea
18006efd5:	41 03 c1             	add    %r9d,%eax
18006efd8:	41 80 38 3b          	cmpb   $0x3b,(%r8)
18006efdc:	74 09                	je     0x18006efe7
18006efde:	49 ff c8             	dec    %r8
18006efe1:	85 c0                	test   %eax,%eax
18006efe3:	75 f0                	jne    0x18006efd5
18006efe5:	eb 03                	jmp    0x18006efea
18006efe7:	0f b7 d0             	movzwl %ax,%edx
18006efea:	0f b7 c2             	movzwl %dx,%eax
18006efed:	48 83 c1 20          	add    $0x20,%rcx
18006eff1:	48 03 c8             	add    %rax,%rcx
18006eff4:	0f b7 c2             	movzwl %dx,%eax
18006eff7:	eb 0e                	jmp    0x18006f007
18006eff9:	41 03 c1             	add    %r9d,%eax
18006effc:	80 39 2e             	cmpb   $0x2e,(%rcx)
18006efff:	75 0a                	jne    0x18006f00b
18006f001:	0f b7 d0             	movzwl %ax,%edx
18006f004:	48 ff c9             	dec    %rcx
18006f007:	85 c0                	test   %eax,%eax
18006f009:	75 ee                	jne    0x18006eff9
18006f00b:	0f b7 c2             	movzwl %dx,%eax
18006f00e:	c3                   	ret
18006f00f:	cc                   	int3
18006f010:	4c 8b dc             	mov    %rsp,%r11
18006f013:	45 89 4b 20          	mov    %r9d,0x20(%r11)
18006f017:	48 83 ec 68          	sub    $0x68,%rsp
18006f01b:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
18006f022:	00
18006f023:	49 8d 43 20          	lea    0x20(%r11),%rax
18006f027:	45 33 c0             	xor    %r8d,%r8d
18006f02a:	49 89 43 d8          	mov    %rax,-0x28(%r11)
18006f02e:	49 c7 43 e0 04 00 00 	movq   $0x4,-0x20(%r11)
18006f035:	00
18006f036:	48 85 c9             	test   %rcx,%rcx
18006f039:	74 17                	je     0x18006f052
18006f03b:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
18006f03f:	48 ff c0             	inc    %rax
18006f042:	66 44 39 04 41       	cmp    %r8w,(%rcx,%rax,2)
18006f047:	75 f6                	jne    0x18006f03f
18006f049:	8d 14 45 02 00 00 00 	lea    0x2(,%rax,2),%edx
18006f050:	eb 05                	jmp    0x18006f057
18006f052:	ba 0a 00 00 00       	mov    $0xa,%edx
18006f057:	48 85 c9             	test   %rcx,%rcx
18006f05a:	89 54 24 58          	mov    %edx,0x58(%rsp)
18006f05e:	48 8d 05 93 5a 0d 00 	lea    0xd5a93(%rip),%rax        # 0x180144af8
18006f065:	44 89 44 24 5c       	mov    %r8d,0x5c(%rsp)
18006f06a:	48 0f 45 c1          	cmovne %rcx,%rax
18006f06e:	48 8d 15 9b 65 0d 00 	lea    0xd659b(%rip),%rdx        # 0x180145610
18006f075:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
18006f07a:	41 b9 03 00 00 00    	mov    $0x3,%r9d
18006f080:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
18006f085:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18006f08a:	e8 01 28 f9 ff       	call   0x180001890
18006f08f:	48 83 c4 68          	add    $0x68,%rsp
18006f093:	c3                   	ret
18006f094:	cc                   	int3
18006f095:	cc                   	int3
18006f096:	cc                   	int3
18006f097:	cc                   	int3
18006f098:	48 83 ec 28          	sub    $0x28,%rsp
18006f09c:	b9 10 00 00 00       	mov    $0x10,%ecx
18006f0a1:	c7 05 8d 5a 13 00 02 	movl   $0x2,0x135a8d(%rip)        # 0x1801a4b38
18006f0a8:	00 00 00
18006f0ab:	e8 a0 ad 02 00       	call   0x180099e50
18006f0b0:	48 89 05 79 5a 13 00 	mov    %rax,0x135a79(%rip)        # 0x1801a4b30
18006f0b7:	48 85 c0             	test   %rax,%rax
18006f0ba:	75 07                	jne    0x18006f0c3
18006f0bc:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18006f0c1:	eb 17                	jmp    0x18006f0da
18006f0c3:	44 8b 05 6e 5a 13 00 	mov    0x135a6e(%rip),%r8d        # 0x1801a4b38
18006f0ca:	33 d2                	xor    %edx,%edx
18006f0cc:	49 c1 e0 03          	shl    $0x3,%r8
18006f0d0:	48 8b c8             	mov    %rax,%rcx
18006f0d3:	e8 a8 6b 0c 00       	call   0x180135c80
18006f0d8:	33 c0                	xor    %eax,%eax
18006f0da:	48 83 c4 28          	add    $0x28,%rsp
18006f0de:	c3                   	ret
18006f0df:	cc                   	int3
18006f0e0:	40 53                	rex push %rbx
18006f0e2:	48 83 ec 20          	sub    $0x20,%rsp
18006f0e6:	8b 15 4c 5a 13 00    	mov    0x135a4c(%rip),%edx        # 0x1801a4b38
18006f0ec:	4c 8d 05 69 20 00 00 	lea    0x2069(%rip),%r8        # 0x18007115c
18006f0f3:	48 8b 0d 36 5a 13 00 	mov    0x135a36(%rip),%rcx        # 0x1801a4b30
18006f0fa:	e8 f5 16 02 00       	call   0x1800907f4
18006f0ff:	48 8b 0d 2a 5a 13 00 	mov    0x135a2a(%rip),%rcx        # 0x1801a4b30
18006f106:	8b d8                	mov    %eax,%ebx
18006f108:	e8 ef ae 02 00       	call   0x180099ffc
18006f10d:	e8 f2 28 00 00       	call   0x180071a04
18006f112:	8b c3                	mov    %ebx,%eax
18006f114:	48 83 c4 20          	add    $0x20,%rsp
18006f118:	5b                   	pop    %rbx
18006f119:	c3                   	ret
18006f11a:	cc                   	int3
18006f11b:	cc                   	int3
18006f11c:	48 8b c4             	mov    %rsp,%rax
18006f11f:	48 89 58 08          	mov    %rbx,0x8(%rax)
18006f123:	48 89 70 10          	mov    %rsi,0x10(%rax)
18006f127:	48 89 78 18          	mov    %rdi,0x18(%rax)
18006f12b:	55                   	push   %rbp
18006f12c:	41 54                	push   %r12
18006f12e:	41 55                	push   %r13
18006f130:	41 56                	push   %r14
18006f132:	41 57                	push   %r15
18006f134:	48 8d a8 88 fd ff ff 	lea    -0x278(%rax),%rbp
18006f13b:	48 81 ec 50 03 00 00 	sub    $0x350,%rsp
18006f142:	45 33 e4             	xor    %r12d,%r12d
18006f145:	48 8d 95 30 01 00 00 	lea    0x130(%rbp),%rdx
18006f14c:	4c 89 a5 98 02 00 00 	mov    %r12,0x298(%rbp)
18006f153:	4d 8b f8             	mov    %r8,%r15
18006f156:	44 8b f1             	mov    %ecx,%r14d
18006f159:	e8 ca 7b fb ff       	call   0x180026d28
18006f15e:	8b 9d 40 01 00 00    	mov    0x140(%rbp),%ebx
18006f164:	41 8d 7c 24 01       	lea    0x1(%r12),%edi
18006f169:	8b c3                	mov    %ebx,%eax
18006f16b:	4c 89 a5 58 01 00 00 	mov    %r12,0x158(%rbp)
18006f172:	0b c7                	or     %edi,%eax
18006f174:	48 8d 95 30 01 00 00 	lea    0x130(%rbp),%rdx
18006f17b:	41 8b ce             	mov    %r14d,%ecx
18006f17e:	89 85 40 01 00 00    	mov    %eax,0x140(%rbp)
18006f184:	e8 07 7c fb ff       	call   0x180026d90
18006f189:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
18006f18e:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
18006f193:	41 bd 00 02 00 00    	mov    $0x200,%r13d
18006f199:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18006f19e:	45 8b cd             	mov    %r13d,%r9d