18006aea5:	b1 20                	mov    $0x20,%cl
18006aea7:	41 8a 72 06          	mov    0x6(%r10),%sil
18006aeab:	45 8a 4a 02          	mov    0x2(%r10),%r9b
18006aeaf:	41 0f b7 3a          	movzwl (%r10),%edi
18006aeb3:	45 0f b7 5a 08       	movzwl 0x8(%r10),%r11d
18006aeb8:	eb 68                	jmp    0x18006af22
18006aeba:	66 83 79 0a 00       	cmpw   $0x0,0xa(%rcx)
18006aebf:	74 06                	je     0x18006aec7
18006aec1:	0f b7 49 0a          	movzwl 0xa(%rcx),%ecx
18006aec5:	eb 03                	jmp    0x18006aeca
18006aec7:	8b 49 18             	mov    0x18(%rcx),%ecx
18006aeca:	45 0f b7 5a 08       	movzwl 0x8(%r10),%r11d
18006aecf:	33 d2                	xor    %edx,%edx
18006aed1:	41 0f b7 3a          	movzwl (%r10),%edi
18006aed5:	41 8b c3             	mov    %r11d,%eax
18006aed8:	41 0f b6 72 06       	movzbl 0x6(%r10),%esi
18006aedd:	41 0f b7 6a 04       	movzwl 0x4(%r10),%ebp
18006aee2:	45 0f b6 4a 02       	movzbl 0x2(%r10),%r9d
18006aee7:	48 c1 e0 05          	shl    $0x5,%rax
18006aeeb:	48 f7 f7             	div    %rdi
18006aeee:	44 8b c1             	mov    %ecx,%r8d
18006aef1:	8b d6                	mov    %esi,%edx
18006aef3:	41 0f b7 4a 0e       	movzwl 0xe(%r10),%ecx
18006aef8:	4c 2b c0             	sub    %rax,%r8
18006aefb:	48 0f af d1          	imul   %rcx,%rdx
18006aeff:	4c 2b c2             	sub    %rdx,%r8
18006af02:	33 d2                	xor    %edx,%edx
18006af04:	4c 2b c5             	sub    %rbp,%r8
18006af07:	49 8b c0             	mov    %r8,%rax
18006af0a:	49 f7 f1             	div    %r9
18006af0d:	ba f7 0f 00 00       	mov    $0xff7,%edx
18006af12:	48 3b c2             	cmp    %rdx,%rax
18006af15:	1a c9                	sbb    %cl,%cl
18006af17:	80 e1 fc             	and    $0xfc,%cl
18006af1a:	80 c1 10             	add    $0x10,%cl
18006af1d:	48 3b c2             	cmp    %rdx,%rax
18006af20:	72 1f                	jb     0x18006af41
18006af22:	41 0f b6 d1          	movzbl %r9b,%edx
18006af26:	0f b7 c7             	movzwl %di,%eax
18006af29:	44 8b c8             	mov    %eax,%r9d
18006af2c:	4c 0f af ca          	imul   %rdx,%r9
18006af30:	80 f9 20             	cmp    $0x20,%cl
18006af33:	74 06                	je     0x18006af3b
18006af35:	49 c1 e1 10          	shl    $0x10,%r9
18006af39:	eb 14                	jmp    0x18006af4f
18006af3b:	49 c1 e1 20          	shl    $0x20,%r9
18006af3f:	eb 0e                	jmp    0x18006af4f
18006af41:	41 8a d1             	mov    %r9b,%dl
18006af44:	0f b7 c7             	movzwl %di,%eax
18006af47:	4c 0f af cf          	imul   %rdi,%r9
18006af4b:	49 c1 e1 0c          	shl    $0xc,%r9
18006af4f:	49 ff c9             	dec    %r9
18006af52:	44 0f b7 c0          	movzwl %ax,%r8d
18006af56:	66 41 83 7a 0e 00    	cmpw   $0x0,0xe(%r10)
18006af5c:	75 06                	jne    0x18006af64
18006af5e:	41 8b 42 1c          	mov    0x1c(%r10),%eax
18006af62:	eb 05                	jmp    0x18006af69
18006af64:	41 0f b7 42 0e       	movzwl 0xe(%r10),%eax
18006af69:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
18006af6e:	40 0f b6 ce          	movzbl %sil,%ecx
18006af72:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
18006af77:	0f af c8             	imul   %eax,%ecx
18006af7a:	0f b7 c5             	movzwl %bp,%eax
18006af7d:	48 8b 6c 24 08       	mov    0x8(%rsp),%rbp
18006af82:	03 c8                	add    %eax,%ecx
18006af84:	41 0f b7 c3          	movzwl %r11w,%eax
18006af88:	41 0f af c8          	imul   %r8d,%ecx
18006af8c:	c1 e0 05             	shl    $0x5,%eax
18006af8f:	03 c1                	add    %ecx,%eax
18006af91:	0f b6 ca             	movzbl %dl,%ecx
18006af94:	41 8d 56 fe          	lea    -0x2(%r14),%edx
18006af98:	44 0f af c1          	imul   %ecx,%r8d
18006af9c:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
18006afa1:	4c 0f af c2          	imul   %rdx,%r8
18006afa5:	49 03 c0             	add    %r8,%rax
18006afa8:	49 23 c1             	and    %r9,%rax
18006afab:	c3                   	ret
18006afac:	cc                   	int3
18006afad:	cc                   	int3
18006afae:	cc                   	int3
18006afaf:	cc                   	int3
18006afb0:	48 8b c4             	mov    %rsp,%rax
18006afb3:	48 89 58 08          	mov    %rbx,0x8(%rax)
18006afb7:	48 89 68 10          	mov    %rbp,0x10(%rax)
18006afbb:	48 89 70 18          	mov    %rsi,0x18(%rax)
18006afbf:	48 89 78 20          	mov    %rdi,0x20(%rax)
18006afc3:	44 0f b7 51 0e       	movzwl 0xe(%rcx),%r10d
18006afc8:	4c 8b c1             	mov    %rcx,%r8
18006afcb:	44 0f b7 19          	movzwl (%rcx),%r11d
18006afcf:	66 45 85 d2          	test   %r10w,%r10w
18006afd3:	75 05                	jne    0x18006afda
18006afd5:	8b 41 1c             	mov    0x1c(%rcx),%eax
18006afd8:	eb 03                	jmp    0x18006afdd
18006afda:	41 8b c2             	mov    %r10d,%eax
18006afdd:	0f b7 79 08          	movzwl 0x8(%rcx),%edi
18006afe1:	0f b6 59 06          	movzbl 0x6(%rcx),%ebx
18006afe5:	0f b7 69 04          	movzwl 0x4(%rcx),%ebp
18006afe9:	0f b6 71 02          	movzbl 0x2(%rcx),%esi
18006afed:	8b cb                	mov    %ebx,%ecx
18006afef:	0f af c8             	imul   %eax,%ecx
18006aff2:	8b c7                	mov    %edi,%eax
18006aff4:	c1 e0 05             	shl    $0x5,%eax
18006aff7:	03 cd                	add    %ebp,%ecx
18006aff9:	41 0f af cb          	imul   %r11d,%ecx
18006affd:	03 c1                	add    %ecx,%eax
18006afff:	8b ce                	mov    %esi,%ecx
18006b001:	48 2b d0             	sub    %rax,%rdx
18006b004:	41 0f af cb          	imul   %r11d,%ecx
18006b008:	48 8b c2             	mov    %rdx,%rax
18006b00b:	48 99                	cqto
18006b00d:	48 f7 f9             	idiv   %rcx
18006b010:	44 8d 48 02          	lea    0x2(%rax),%r9d
18006b014:	66 45 85 d2          	test   %r10w,%r10w
18006b018:	74 4c                	je     0x18006b066
18006b01a:	41 0f b7 40 0a       	movzwl 0xa(%r8),%eax
18006b01f:	66 85 c0             	test   %ax,%ax
18006b022:	74 05                	je     0x18006b029
18006b024:	44 8b c0             	mov    %eax,%r8d
18006b027:	eb 04                	jmp    0x18006b02d
18006b029:	45 8b 40 18          	mov    0x18(%r8),%r8d
18006b02d:	33 d2                	xor    %edx,%edx
18006b02f:	48 8b c7             	mov    %rdi,%rax
18006b032:	48 c1 e0 05          	shl    $0x5,%rax
18006b036:	49 f7 f3             	div    %r11
18006b039:	48 8b d3             	mov    %rbx,%rdx
18006b03c:	4c 2b c0             	sub    %rax,%r8
18006b03f:	49 0f af d2          	imul   %r10,%rdx
18006b043:	4c 2b c2             	sub    %rdx,%r8
18006b046:	33 d2                	xor    %edx,%edx
18006b048:	4c 2b c5             	sub    %rbp,%r8
18006b04b:	49 8b c0             	mov    %r8,%rax
18006b04e:	48 f7 f6             	div    %rsi
18006b051:	48 3d f7 0f 00 00    	cmp    $0xff7,%rax
18006b057:	72 06                	jb     0x18006b05f
18006b059:	45 0f b7 c9          	movzwl %r9w,%r9d
18006b05d:	eb 07                	jmp    0x18006b066
18006b05f:	41 81 e1 ff 0f 00 00 	and    $0xfff,%r9d
18006b066:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18006b06b:	41 8b c1             	mov    %r9d,%eax
18006b06e:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
18006b073:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
18006b078:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
18006b07d:	c3                   	ret
18006b07e:	cc                   	int3
18006b07f:	cc                   	int3
18006b080:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18006b085:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18006b08a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
18006b08f:	57                   	push   %rdi
18006b090:	41 54                	push   %r12
18006b092:	41 55                	push   %r13
18006b094:	41 56                	push   %r14
18006b096:	41 57                	push   %r15
18006b098:	48 83 ec 20          	sub    $0x20,%rsp
18006b09c:	48 8b 41 78          	mov    0x78(%rcx),%rax
18006b0a0:	4c 8b f1             	mov    %rcx,%r14
18006b0a3:	8b fa                	mov    %edx,%edi
18006b0a5:	44 8b 40 60          	mov    0x60(%rax),%r8d
18006b0a9:	48 8b 05 c8 9a 13 00 	mov    0x139ac8(%rip),%rax        # 0x1801a4b78
18006b0b0:	4a 8b 1c c0          	mov    (%rax,%r8,8),%rbx
18006b0b4:	83 fa 01             	cmp    $0x1,%edx
18006b0b7:	0f 86 5c 01 00 00    	jbe    0x18006b219
18006b0bd:	0f b7 6b 0e          	movzwl 0xe(%rbx),%ebp
18006b0c1:	0f b7 73 0a          	movzwl 0xa(%rbx),%esi
18006b0c5:	66 85 ed             	test   %bp,%bp
18006b0c8:	75 2e                	jne    0x18006b0f8
18006b0ca:	8b ce                	mov    %esi,%ecx
18006b0cc:	66 85 f6             	test   %si,%si
18006b0cf:	75 03                	jne    0x18006b0d4
18006b0d1:	8b 4b 18             	mov    0x18(%rbx),%ecx
18006b0d4:	44 0f b6 7b 06       	movzbl 0x6(%rbx),%r15d
18006b0d9:	33 d2                	xor    %edx,%edx
18006b0db:	8b 43 1c             	mov    0x1c(%rbx),%eax
18006b0de:	44 0f b7 63 04       	movzwl 0x4(%rbx),%r12d
18006b0e3:	44 0f b6 6b 02       	movzbl 0x2(%rbx),%r13d
18006b0e8:	41 0f af c7          	imul   %r15d,%eax
18006b0ec:	2b c8                	sub    %eax,%ecx
18006b0ee:	41 2b cc             	sub    %r12d,%ecx
18006b0f1:	8b c1                	mov    %ecx,%eax
18006b0f3:	41 f7 f5             	div    %r13d
18006b0f6:	eb 45                	jmp    0x18006b13d
18006b0f8:	66 85 f6             	test   %si,%si
18006b0fb:	74 05                	je     0x18006b102
18006b0fd:	44 8b c6             	mov    %esi,%r8d
18006b100:	eb 04                	jmp    0x18006b106
18006b102:	44 8b 43 18          	mov    0x18(%rbx),%r8d
18006b106:	0f b7 0b             	movzwl (%rbx),%ecx
18006b109:	33 d2                	xor    %edx,%edx
18006b10b:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18006b10f:	44 0f b6 7b 06       	movzbl 0x6(%rbx),%r15d
18006b114:	44 0f b7 63 04       	movzwl 0x4(%rbx),%r12d
18006b119:	44 0f b6 6b 02       	movzbl 0x2(%rbx),%r13d
18006b11e:	48 c1 e0 05          	shl    $0x5,%rax
18006b122:	48 f7 f1             	div    %rcx
18006b125:	41 8b cf             	mov    %r15d,%ecx
18006b128:	33 d2                	xor    %edx,%edx
18006b12a:	4c 2b c0             	sub    %rax,%r8
18006b12d:	48 0f af cd          	imul   %rbp,%rcx
18006b131:	4c 2b c1             	sub    %rcx,%r8
18006b134:	4d 2b c4             	sub    %r12,%r8
18006b137:	49 8b c0             	mov    %r8,%rax
18006b13a:	49 f7 f5             	div    %r13
18006b13d:	48 8d 48 02          	lea    0x2(%rax),%rcx
18006b141:	48 3b f9             	cmp    %rcx,%rdi
18006b144:	0f 83 cf 00 00 00    	jae    0x18006b219
18006b14a:	8b d7                	mov    %edi,%edx
18006b14c:	48 8b cb             	mov    %rbx,%rcx
18006b14f:	e8 5c 09 00 00       	call   0x18006bab0
18006b154:	83 f8 01             	cmp    $0x1,%eax
18006b157:	75 08                	jne    0x18006b161
18006b159:	8d 47 01             	lea    0x1(%rdi),%eax
18006b15c:	e9 bd 00 00 00       	jmp    0x18006b21e
18006b161:	45 33 c9             	xor    %r9d,%r9d
18006b164:	66 85 ed             	test   %bp,%bp
18006b167:	74 5c                	je     0x18006b1c5
18006b169:	66 85 f6             	test   %si,%si
18006b16c:	74 05                	je     0x18006b173
18006b16e:	44 8b c6             	mov    %esi,%r8d
18006b171:	eb 04                	jmp    0x18006b177
18006b173:	44 8b 43 18          	mov    0x18(%rbx),%r8d
18006b177:	0f b7 0b             	movzwl (%rbx),%ecx
18006b17a:	33 d2                	xor    %edx,%edx
18006b17c:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18006b180:	48 c1 e0 05          	shl    $0x5,%rax
18006b184:	48 f7 f1             	div    %rcx
18006b187:	33 d2                	xor    %edx,%edx
18006b189:	41 0f b6 cf          	movzbl %r15b,%ecx
18006b18d:	4c 2b c0             	sub    %rax,%r8
18006b190:	41 0f b7 c4          	movzwl %r12w,%eax
18006b194:	48 0f af cd          	imul   %rbp,%rcx
18006b198:	4c 2b c1             	sub    %rcx,%r8
18006b19b:	41 0f b6 cd          	movzbl %r13b,%ecx
18006b19f:	4c 2b c0             	sub    %rax,%r8
18006b1a2:	49 8b c0             	mov    %r8,%rax
18006b1a5:	41 b8 02 00 00 00    	mov    $0x2,%r8d
18006b1ab:	48 f7 f1             	div    %rcx
18006b1ae:	48 3d f7 0f 00 00    	cmp    $0xff7,%rax
18006b1b4:	72 05                	jb     0x18006b1bb
18006b1b6:	8d 34 3f             	lea    (%rdi,%rdi,1),%esi
18006b1b9:	eb 15                	jmp    0x18006b1d0
18006b1bb:	8d 34 7f             	lea    (%rdi,%rdi,2),%esi
18006b1be:	40 b5 01             	mov    $0x1,%bpl
18006b1c1:	d1 ee                	shr    $1,%esi
18006b1c3:	eb 0e                	jmp    0x18006b1d3
18006b1c5:	8b f7                	mov    %edi,%esi
18006b1c7:	41 b8 04 00 00 00    	mov    $0x4,%r8d
18006b1cd:	c1 e6 02             	shl    $0x2,%esi
18006b1d0:	41 8a e9             	mov    %r9b,%bpl
18006b1d3:	8b d6                	mov    %esi,%edx
18006b1d5:	49 8b ce             	mov    %r14,%rcx
18006b1d8:	e8 df 03 00 00       	call   0x18006b5bc
18006b1dd:	33 c9                	xor    %ecx,%ecx
18006b1df:	85 c0                	test   %eax,%eax
18006b1e1:	78 36                	js     0x18006b219
18006b1e3:	2b 73 34             	sub    0x34(%rbx),%esi
18006b1e6:	66 39 4b 0e          	cmp    %cx,0xe(%rbx)
18006b1ea:	75 06                	jne    0x18006b1f2
18006b1ec:	8b 44 1e 38          	mov    0x38(%rsi,%rbx,1),%eax
18006b1f0:	eb 2c                	jmp    0x18006b21e
18006b1f2:	0f b7 44 1e 38       	movzwl 0x38(%rsi,%rbx,1),%eax
18006b1f7:	89 4c 24 58          	mov    %ecx,0x58(%rsp)
18006b1fb:	66 89 44 24 58       	mov    %ax,0x58(%rsp)
18006b200:	8b 44 24 58          	mov    0x58(%rsp),%eax
18006b204:	40 84 ed             	test   %bpl,%bpl
18006b207:	74 15                	je     0x18006b21e
18006b209:	40 f6 c7 01          	test   $0x1,%dil
18006b20d:	74 03                	je     0x18006b212
18006b20f:	c1 e8 04             	shr    $0x4,%eax
18006b212:	25 ff 0f 00 00       	and    $0xfff,%eax
18006b217:	eb 05                	jmp    0x18006b21e
18006b219:	b8 01 00 00 00       	mov    $0x1,%eax
18006b21e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18006b223:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
18006b228:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
18006b22d:	48 83 c4 20          	add    $0x20,%rsp
18006b231:	41 5f                	pop    %r15
18006b233:	41 5e                	pop    %r14
18006b235:	41 5d                	pop    %r13
18006b237:	41 5c                	pop    %r12
18006b239:	5f                   	pop    %rdi
18006b23a:	c3                   	ret
18006b23b:	cc                   	int3
18006b23c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18006b241:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18006b246:	56                   	push   %rsi
18006b247:	57                   	push   %rdi
18006b248:	41 54                	push   %r12
18006b24a:	41 56                	push   %r14
18006b24c:	41 57                	push   %r15
18006b24e:	48 83 ec 20          	sub    $0x20,%rsp
18006b252:	48 8b 41 78          	mov    0x78(%rcx),%rax
18006b256:	41 8b f9             	mov    %r9d,%edi
18006b259:	45 33 e4             	xor    %r12d,%r12d
18006b25c:	45 8b f0             	mov    %r8d,%r14d
18006b25f:	8b f2                	mov    %edx,%esi
18006b261:	4c 8b f9             	mov    %rcx,%r15
18006b264:	44 8b 50 60          	mov    0x60(%rax),%r10d
18006b268:	48 8b 05 09 99 13 00 	mov    0x139909(%rip),%rax        # 0x1801a4b78
18006b26f:	4a 8b 1c d0          	mov    (%rax,%r10,8),%rbx
18006b273:	44 0f b7 4b 0e       	movzwl 0xe(%rbx),%r9d
18006b278:	66 45 85 c9          	test   %r9w,%r9w
18006b27c:	75 07                	jne    0x18006b285
18006b27e:	41 8d 6c 24 20       	lea    0x20(%r12),%ebp
18006b283:	eb 51                	jmp    0x18006b2d6
18006b285:	66 44 39 63 0a       	cmp    %r12w,0xa(%rbx)
18006b28a:	74 06                	je     0x18006b292
18006b28c:	0f b7 53 0a          	movzwl 0xa(%rbx),%edx
18006b290:	eb 03                	jmp    0x18006b295
18006b292:	8b 53 18             	mov    0x18(%rbx),%edx
18006b295:	0f b7 43 04          	movzwl 0x4(%rbx),%eax
18006b299:	0f b6 4b 06          	movzbl 0x6(%rbx),%ecx
18006b29d:	41 0f af c9          	imul   %r9d,%ecx
18006b2a1:	44 8b c2             	mov    %edx,%r8d
18006b2a4:	33 d2                	xor    %edx,%edx
18006b2a6:	03 c1                	add    %ecx,%eax
18006b2a8:	0f b7 0b             	movzwl (%rbx),%ecx
18006b2ab:	4c 2b c0             	sub    %rax,%r8
18006b2ae:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18006b2b2:	48 c1 e0 05          	shl    $0x5,%rax
18006b2b6:	48 f7 f1             	div    %rcx
18006b2b9:	0f b6 4b 02          	movzbl 0x2(%rbx),%ecx
18006b2bd:	33 d2                	xor    %edx,%edx
18006b2bf:	4c 2b c0             	sub    %rax,%r8
18006b2c2:	49 8b c0             	mov    %r8,%rax
18006b2c5:	48 f7 f1             	div    %rcx
18006b2c8:	48 3d f7 0f 00 00    	cmp    $0xff7,%rax
18006b2ce:	1b ed                	sbb    %ebp,%ebp
18006b2d0:	83 e5 fc             	and    $0xfffffffc,%ebp
18006b2d3:	83 c5 10             	add    $0x10,%ebp
18006b2d6:	45 8b d1             	mov    %r9d,%r10d
18006b2d9:	41 83 fe 01          	cmp    $0x1,%r14d
18006b2dd:	0f 86 45 01 00 00    	jbe    0x18006b428
18006b2e3:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
18006b2e7:	66 45 85 c9          	test   %r9w,%r9w
18006b2eb:	75 22                	jne    0x18006b30f
18006b2ed:	66 85 c0             	test   %ax,%ax
18006b2f0:	75 03                	jne    0x18006b2f5
18006b2f2:	8b 43 18             	mov    0x18(%rbx),%eax
18006b2f5:	0f b6 4b 06          	movzbl 0x6(%rbx),%ecx
18006b2f9:	33 d2                	xor    %edx,%edx
18006b2fb:	0f af 4b 1c          	imul   0x1c(%rbx),%ecx
18006b2ff:	2b c1                	sub    %ecx,%eax
18006b301:	0f b7 4b 04          	movzwl 0x4(%rbx),%ecx
18006b305:	2b c1                	sub    %ecx,%eax
18006b307:	0f b6 4b 02          	movzbl 0x2(%rbx),%ecx
18006b30b:	f7 f1                	div    %ecx
18006b30d:	eb 3d                	jmp    0x18006b34c
18006b30f:	8b d0                	mov    %eax,%edx
18006b311:	66 85 c0             	test   %ax,%ax
18006b314:	75 03                	jne    0x18006b319