18006bec1:	41 b8 20 00 00 00    	mov    $0x20,%r8d
18006bec7:	49 8b d7             	mov    %r15,%rdx
18006beca:	48 8b cd             	mov    %rbp,%rcx
18006becd:	e8 de f7 ff ff       	call   0x18006b6b0
18006bed2:	85 c0                	test   %eax,%eax
18006bed4:	78 04                	js     0x18006beda
18006bed6:	48 01 73 40          	add    %rsi,0x40(%rbx)
18006beda:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
18006bedf:	49 8b 5b 38          	mov    0x38(%r11),%rbx
18006bee3:	49 8b 6b 40          	mov    0x40(%r11),%rbp
18006bee7:	49 8b e3             	mov    %r11,%rsp
18006beea:	41 5f                	pop    %r15
18006beec:	41 5e                	pop    %r14
18006beee:	41 5c                	pop    %r12
18006bef0:	5f                   	pop    %rdi
18006bef1:	5e                   	pop    %rsi
18006bef2:	c3                   	ret
18006bef3:	cc                   	int3
18006bef4:	48 8b c4             	mov    %rsp,%rax
18006bef7:	48 89 58 08          	mov    %rbx,0x8(%rax)
18006befb:	48 89 68 10          	mov    %rbp,0x10(%rax)
18006beff:	48 89 70 18          	mov    %rsi,0x18(%rax)
18006bf03:	48 89 78 20          	mov    %rdi,0x20(%rax)
18006bf07:	41 56                	push   %r14
18006bf09:	48 83 ec 20          	sub    $0x20,%rsp
18006bf0d:	48 8b 59 08          	mov    0x8(%rcx),%rbx
18006bf11:	48 b8 20 20 20 20 20 	movabs $0x2020202020202020,%rax
18006bf18:	20 20 20
18006bf1b:	33 ed                	xor    %ebp,%ebp
18006bf1d:	48 89 02             	mov    %rax,(%rdx)
18006bf20:	66 89 42 08          	mov    %ax,0x8(%rdx)
18006bf24:	4c 8b f2             	mov    %rdx,%r14
18006bf27:	88 42 0a             	mov    %al,0xa(%rdx)
18006bf2a:	48 8b f1             	mov    %rcx,%rsi
18006bf2d:	0f b7 01             	movzwl (%rcx),%eax
18006bf30:	8b fd                	mov    %ebp,%edi
18006bf32:	4c 8d 04 43          	lea    (%rbx,%rax,2),%r8
18006bf36:	49 3b d8             	cmp    %r8,%rbx
18006bf39:	73 34                	jae    0x18006bf6f
18006bf3b:	66 39 2b             	cmp    %bp,(%rbx)
18006bf3e:	74 2f                	je     0x18006bf6f
18006bf40:	83 ff 0b             	cmp    $0xb,%edi
18006bf43:	73 2a                	jae    0x18006bf6f
18006bf45:	0f b7 0b             	movzwl (%rbx),%ecx
18006bf48:	e8 7b fb 0b 00       	call   0x18012bac8
18006bf4d:	85 c0                	test   %eax,%eax
18006bf4f:	74 0a                	je     0x18006bf5b
18006bf51:	8a 03                	mov    (%rbx),%al
18006bf53:	8b cf                	mov    %edi,%ecx
18006bf55:	ff c7                	inc    %edi
18006bf57:	42 88 04 31          	mov    %al,(%rcx,%r14,1)
18006bf5b:	0f b7 0e             	movzwl (%rsi),%ecx
18006bf5e:	48 83 c3 02          	add    $0x2,%rbx
18006bf62:	48 8b 46 08          	mov    0x8(%rsi),%rax
18006bf66:	48 8d 0c 48          	lea    (%rax,%rcx,2),%rcx
18006bf6a:	48 3b d9             	cmp    %rcx,%rbx
18006bf6d:	72 cc                	jb     0x18006bf3b
18006bf6f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18006bf74:	33 c0                	xor    %eax,%eax
18006bf76:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18006bf7b:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18006bf80:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
18006bf85:	48 83 c4 20          	add    $0x20,%rsp
18006bf89:	41 5e                	pop    %r14
18006bf8b:	c3                   	ret
18006bf8c:	cc                   	int3
18006bf8d:	cc                   	int3
18006bf8e:	cc                   	int3
18006bf8f:	cc                   	int3
18006bf90:	48 8b c4             	mov    %rsp,%rax
18006bf93:	48 89 58 20          	mov    %rbx,0x20(%rax)
18006bf97:	44 89 40 18          	mov    %r8d,0x18(%rax)
18006bf9b:	48 89 50 10          	mov    %rdx,0x10(%rax)
18006bf9f:	55                   	push   %rbp
18006bfa0:	56                   	push   %rsi
18006bfa1:	57                   	push   %rdi
18006bfa2:	41 54                	push   %r12
18006bfa4:	41 55                	push   %r13
18006bfa6:	41 56                	push   %r14
18006bfa8:	41 57                	push   %r15
18006bfaa:	48 8d 68 a9          	lea    -0x57(%rax),%rbp
18006bfae:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
18006bfb5:	4c 8b f1             	mov    %rcx,%r14
18006bfb8:	45 8b e1             	mov    %r9d,%r12d
18006bfbb:	33 c9                	xor    %ecx,%ecx
18006bfbd:	41 8b f0             	mov    %r8d,%esi
18006bfc0:	4c 8b ea             	mov    %rdx,%r13
18006bfc3:	4d 85 f6             	test   %r14,%r14
18006bfc6:	0f 84 5c 02 00 00    	je     0x18006c228
18006bfcc:	48 85 d2             	test   %rdx,%rdx
18006bfcf:	0f 84 53 02 00 00    	je     0x18006c228
18006bfd5:	49 8b 46 78          	mov    0x78(%r14),%rax
18006bfd9:	44 8b f9             	mov    %ecx,%r15d
18006bfdc:	88 4d bf             	mov    %cl,-0x41(%rbp)
18006bfdf:	48 89 4d d7          	mov    %rcx,-0x29(%rbp)
18006bfe3:	88 4d 5f             	mov    %cl,0x5f(%rbp)
18006bfe6:	48 8d 4d 0f          	lea    0xf(%rbp),%rcx
18006bfea:	44 8b 50 60          	mov    0x60(%rax),%r10d
18006bfee:	48 8b 05 83 8b 13 00 	mov    0x138b83(%rip),%rax        # 0x1801a4b78
18006bff5:	4a 8b 3c d0          	mov    (%rax,%r10,8),%rdi
18006bff9:	e8 c6 16 01 00       	call   0x18007d6c4
18006bffe:	48 8d 55 df          	lea    -0x21(%rbp),%rdx
18006c002:	48 8d 4d 0f          	lea    0xf(%rbp),%rcx
18006c006:	e8 e9 fe ff ff       	call   0x18006bef4
18006c00b:	8b d8                	mov    %eax,%ebx
18006c00d:	85 c0                	test   %eax,%eax
18006c00f:	0f 88 08 02 00 00    	js     0x18006c21d
18006c015:	49 8b ce             	mov    %r14,%rcx
18006c018:	e8 7b f4 ff ff       	call   0x18006b498
18006c01d:	0f b7 45 e7          	movzwl -0x19(%rbp),%eax
18006c021:	0f 57 c0             	xorps  %xmm0,%xmm0
18006c024:	0f 11 45 ef          	movups %xmm0,-0x11(%rbp)
18006c028:	66 89 45 f7          	mov    %ax,-0x9(%rbp)
18006c02c:	8a 45 e9             	mov    -0x17(%rbp),%al
18006c02f:	88 45 f9             	mov    %al,-0x7(%rbp)
18006c032:	0f 11 45 ff          	movups %xmm0,-0x1(%rbp)
18006c036:	f2 0f 10 45 df       	movsd  -0x21(%rbp),%xmm0
18006c03b:	f2 0f 11 45 ef       	movsd  %xmm0,-0x11(%rbp)
18006c040:	41 f6 c4 01          	test   $0x1,%r12b
18006c044:	74 18                	je     0x18006c05e
18006c046:	80 4d fa 10          	orb    $0x10,-0x6(%rbp)
18006c04a:	0f b6 77 02          	movzbl 0x2(%rdi),%esi
18006c04e:	0f b7 07             	movzwl (%rdi),%eax
18006c051:	0f af f0             	imul   %eax,%esi
18006c054:	c6 45 5f 01          	movb   $0x1,0x5f(%rbp)
18006c058:	c1 e6 02             	shl    $0x2,%esi
18006c05b:	89 75 6f             	mov    %esi,0x6f(%rbp)
18006c05e:	33 db                	xor    %ebx,%ebx
18006c060:	44 8b e3             	mov    %ebx,%r12d
18006c063:	85 f6                	test   %esi,%esi
18006c065:	0f 84 27 01 00 00    	je     0x18006c192
18006c06b:	44 0f b7 0f          	movzwl (%rdi),%r9d
18006c06f:	44 0f b6 47 02       	movzbl 0x2(%rdi),%r8d
18006c074:	41 8b c9             	mov    %r9d,%ecx
18006c077:	41 0f af c8          	imul   %r8d,%ecx
18006c07b:	83 f9 01             	cmp    $0x1,%ecx
18006c07e:	75 04                	jne    0x18006c084
18006c080:	8b c6                	mov    %esi,%eax
18006c082:	eb 11                	jmp    0x18006c095
18006c084:	33 d2                	xor    %edx,%edx
18006c086:	8d 41 ff             	lea    -0x1(%rcx),%eax
18006c089:	03 c6                	add    %esi,%eax
18006c08b:	f7 f1                	div    %ecx
18006c08d:	41 0f af c1          	imul   %r9d,%eax
18006c091:	41 0f af c0          	imul   %r8d,%eax
18006c095:	33 d2                	xor    %edx,%edx
18006c097:	89 5d c3             	mov    %ebx,-0x3d(%rbp)
18006c09a:	f7 f1                	div    %ecx
18006c09c:	44 8b eb             	mov    %ebx,%r13d
18006c09f:	89 45 d3             	mov    %eax,-0x2d(%rbp)
18006c0a2:	85 c0                	test   %eax,%eax
18006c0a4:	0f 84 dc 00 00 00    	je     0x18006c186
18006c0aa:	4c 8d 45 c7          	lea    -0x39(%rbp),%r8
18006c0ae:	41 8b d5             	mov    %r13d,%edx
18006c0b1:	49 8b ce             	mov    %r14,%rcx
18006c0b4:	e8 8b fc ff ff       	call   0x18006bd44
18006c0b9:	8b d8                	mov    %eax,%ebx
18006c0bb:	85 c0                	test   %eax,%eax
18006c0bd:	0f 88 4d 01 00 00    	js     0x18006c210
18006c0c3:	44 8b 6d c7          	mov    -0x39(%rbp),%r13d
18006c0c7:	33 db                	xor    %ebx,%ebx
18006c0c9:	45 85 e4             	test   %r12d,%r12d
18006c0cc:	45 0f 44 e5          	cmove  %r13d,%r12d
18006c0d0:	44 89 65 cf          	mov    %r12d,-0x31(%rbp)
18006c0d4:	38 5d 5f             	cmp    %bl,0x5f(%rbp)
18006c0d7:	0f 84 98 00 00 00    	je     0x18006c175
18006c0dd:	4d 85 ff             	test   %r15,%r15
18006c0e0:	75 22                	jne    0x18006c104
18006c0e2:	0f b7 0f             	movzwl (%rdi),%ecx
18006c0e5:	e8 66 dd 02 00       	call   0x180099e50
18006c0ea:	4c 8b f8             	mov    %rax,%r15
18006c0ed:	48 85 c0             	test   %rax,%rax
18006c0f0:	0f 84 2b 01 00 00    	je     0x18006c221
18006c0f6:	44 0f b7 07          	movzwl (%rdi),%r8d
18006c0fa:	33 d2                	xor    %edx,%edx
18006c0fc:	48 8b c8             	mov    %rax,%rcx
18006c0ff:	e8 7c 9b 0c 00       	call   0x180135c80
18006c104:	0f b7 17             	movzwl (%rdi),%edx
18006c107:	66 39 5f 0e          	cmp    %bx,0xe(%rdi)
18006c10b:	75 05                	jne    0x18006c112
18006c10d:	8b 47 1c             	mov    0x1c(%rdi),%eax
18006c110:	eb 04                	jmp    0x18006c116
18006c112:	0f b7 47 0e          	movzwl 0xe(%rdi),%eax
18006c116:	0f b6 4f 02          	movzbl 0x2(%rdi),%ecx
18006c11a:	0f b6 5f 06          	movzbl 0x6(%rdi),%ebx
18006c11e:	0f af d8             	imul   %eax,%ebx
18006c121:	41 8d 45 fe          	lea    -0x2(%r13),%eax
18006c125:	0f af c1             	imul   %ecx,%eax
18006c128:	03 d8                	add    %eax,%ebx
18006c12a:	0f b7 47 04          	movzwl 0x4(%rdi),%eax
18006c12e:	03 d8                	add    %eax,%ebx
18006c130:	0f b7 47 08          	movzwl 0x8(%rdi),%eax
18006c134:	c1 e0 05             	shl    $0x5,%eax
18006c137:	0f af da             	imul   %edx,%ebx
18006c13a:	03 d8                	add    %eax,%ebx
18006c13c:	33 c0                	xor    %eax,%eax
18006c13e:	85 c9                	test   %ecx,%ecx
18006c140:	74 33                	je     0x18006c175
18006c142:	8b f0                	mov    %eax,%esi
18006c144:	45 33 e4             	xor    %r12d,%r12d
18006c147:	44 0f b7 07          	movzwl (%rdi),%r8d
18006c14b:	4d 8b cf             	mov    %r15,%r9
18006c14e:	41 8b 4e 08          	mov    0x8(%r14),%ecx
18006c152:	41 8b d0             	mov    %r8d,%edx
18006c155:	0f af d6             	imul   %esi,%edx
18006c158:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
18006c15d:	03 d3                	add    %ebx,%edx
18006c15f:	e8 84 ae fb ff       	call   0x180026fe8
18006c164:	0f b6 47 02          	movzbl 0x2(%rdi),%eax
18006c168:	ff c6                	inc    %esi
18006c16a:	3b f0                	cmp    %eax,%esi
18006c16c:	72 d9                	jb     0x18006c147
18006c16e:	8b 75 6f             	mov    0x6f(%rbp),%esi
18006c171:	44 8b 65 cf          	mov    -0x31(%rbp),%r12d
18006c175:	8b 45 c3             	mov    -0x3d(%rbp),%eax
18006c178:	ff c0                	inc    %eax
18006c17a:	89 45 c3             	mov    %eax,-0x3d(%rbp)
18006c17d:	3b 45 d3             	cmp    -0x2d(%rbp),%eax
18006c180:	0f 82 24 ff ff ff    	jb     0x18006c0aa
18006c186:	4c 8b 6d 67          	mov    0x67(%rbp),%r13
18006c18a:	66 44 89 65 09       	mov    %r12w,0x9(%rbp)
18006c18f:	89 75 0b             	mov    %esi,0xb(%rbp)
18006c192:	41 b9 01 00 02 00    	mov    $0x20001,%r9d
18006c198:	48 8d 55 ef          	lea    -0x11(%rbp),%rdx
18006c19c:	41 b8 0b 00 00 00    	mov    $0xb,%r8d
18006c1a2:	33 c9                	xor    %ecx,%ecx
18006c1a4:	e8 d3 6c 02 00       	call   0x180092e7c
18006c1a9:	4c 8d 4d bf          	lea    -0x41(%rbp),%r9
18006c1ad:	8a d0                	mov    %al,%dl
18006c1af:	4c 8d 45 d7          	lea    -0x29(%rbp),%r8
18006c1b3:	48 8d 4d 0f          	lea    0xf(%rbp),%rcx
18006c1b7:	e8 04 fa ff ff       	call   0x18006bbc0
18006c1bc:	48 8b 7d d7          	mov    -0x29(%rbp),%rdi
18006c1c0:	8b d8                	mov    %eax,%ebx
18006c1c2:	85 c0                	test   %eax,%eax
18006c1c4:	78 3d                	js     0x18006c203
18006c1c6:	44 8a 4d bf          	mov    -0x41(%rbp),%r9b
18006c1ca:	48 8d 55 ef          	lea    -0x11(%rbp),%rdx
18006c1ce:	4c 8b c7             	mov    %rdi,%r8
18006c1d1:	49 8b ce             	mov    %r14,%rcx
18006c1d4:	e8 43 fc ff ff       	call   0x18006be1c
18006c1d9:	8b d8                	mov    %eax,%ebx
18006c1db:	85 c0                	test   %eax,%eax
18006c1dd:	78 24                	js     0x18006c203
18006c1df:	49 8b ce             	mov    %r14,%rcx
18006c1e2:	e8 61 f2 ff ff       	call   0x18006b448
18006c1e7:	4c 8b 4d 7f          	mov    0x7f(%rbp),%r9
18006c1eb:	4d 85 c9             	test   %r9,%r9
18006c1ee:	74 13                	je     0x18006c203
18006c1f0:	41 b8 03 00 00 00    	mov    $0x3,%r8d
18006c1f6:	49 8b d5             	mov    %r13,%rdx
18006c1f9:	49 8b ce             	mov    %r14,%rcx
18006c1fc:	e8 0b e4 ff ff       	call   0x18006a60c
18006c201:	8b d8                	mov    %eax,%ebx
18006c203:	48 85 ff             	test   %rdi,%rdi
18006c206:	74 08                	je     0x18006c210
18006c208:	48 8b cf             	mov    %rdi,%rcx
18006c20b:	e8 ec dd 02 00       	call   0x180099ffc
18006c210:	4d 85 ff             	test   %r15,%r15
18006c213:	74 08                	je     0x18006c21d
18006c215:	49 8b cf             	mov    %r15,%rcx
18006c218:	e8 df dd 02 00       	call   0x180099ffc
18006c21d:	8b c3                	mov    %ebx,%eax
18006c21f:	eb 0c                	jmp    0x18006c22d
18006c221:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18006c226:	eb f5                	jmp    0x18006c21d
18006c228:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18006c22d:	48 8b 9c 24 e8 00 00 	mov    0xe8(%rsp),%rbx
18006c234:	00
18006c235:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
18006c23c:	41 5f                	pop    %r15
18006c23e:	41 5e                	pop    %r14
18006c240:	41 5d                	pop    %r13
18006c242:	41 5c                	pop    %r12
18006c244:	5f                   	pop    %rdi
18006c245:	5e                   	pop    %rsi
18006c246:	5d                   	pop    %rbp
18006c247:	c3                   	ret
18006c248:	cc                   	int3
18006c249:	cc                   	int3
18006c24a:	cc                   	int3
18006c24b:	cc                   	int3
18006c24c:	40 53                	rex push %rbx
18006c24e:	48 83 ec 20          	sub    $0x20,%rsp
18006c252:	8b 15 04 89 13 00    	mov    0x138904(%rip),%edx        # 0x1801a4b5c
18006c258:	4c 8d 05 1d 09 00 00 	lea    0x91d(%rip),%r8        # 0x18006cb7c
18006c25f:	48 8b 0d ea 88 13 00 	mov    0x1388ea(%rip),%rcx        # 0x1801a4b50
18006c266:	e8 89 45 02 00       	call   0x1800907f4
18006c26b:	48 8b 0d de 88 13 00 	mov    0x1388de(%rip),%rcx        # 0x1801a4b50
18006c272:	8b d8                	mov    %eax,%ebx
18006c274:	e8 83 dd 02 00       	call   0x180099ffc
18006c279:	8b c3                	mov    %ebx,%eax
18006c27b:	48 83 c4 20          	add    $0x20,%rsp
18006c27f:	5b                   	pop    %rbx
18006c280:	c3                   	ret
18006c281:	cc                   	int3
18006c282:	cc                   	int3
18006c283:	cc                   	int3
18006c284:	48 83 ec 28          	sub    $0x28,%rsp
18006c288:	b9 10 00 00 00       	mov    $0x10,%ecx
18006c28d:	c7 05 c5 88 13 00 02 	movl   $0x2,0x1388c5(%rip)        # 0x1801a4b5c
18006c294:	00 00 00
18006c297:	e8 b4 db 02 00       	call   0x180099e50
18006c29c:	48 89 05 ad 88 13 00 	mov    %rax,0x1388ad(%rip)        # 0x1801a4b50
18006c2a3:	48 85 c0             	test   %rax,%rax
18006c2a6:	75 07                	jne    0x18006c2af
18006c2a8:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18006c2ad:	eb 17                	jmp    0x18006c2c6
18006c2af:	44 8b 05 a6 88 13 00 	mov    0x1388a6(%rip),%r8d        # 0x1801a4b5c
18006c2b6:	33 d2                	xor    %edx,%edx
18006c2b8:	49 c1 e0 03          	shl    $0x3,%r8
18006c2bc:	48 8b c8             	mov    %rax,%rcx
18006c2bf:	e8 bc 99 0c 00       	call   0x180135c80
18006c2c4:	33 c0                	xor    %eax,%eax
18006c2c6:	48 83 c4 28          	add    $0x28,%rsp
18006c2ca:	c3                   	ret
18006c2cb:	cc                   	int3
18006c2cc:	48 8b c4             	mov    %rsp,%rax
18006c2cf:	48 89 58 08          	mov    %rbx,0x8(%rax)
18006c2d3:	48 89 70 10          	mov    %rsi,0x10(%rax)
18006c2d7:	48 89 78 18          	mov    %rdi,0x18(%rax)
18006c2db:	55                   	push   %rbp
18006c2dc:	41 54                	push   %r12
18006c2de:	41 55                	push   %r13
18006c2e0:	41 56                	push   %r14
18006c2e2:	41 57                	push   %r15
18006c2e4:	48 8d 68 b8          	lea    -0x48(%rax),%rbp
18006c2e8:	48 81 ec 20 01 00 00 	sub    $0x120,%rsp
18006c2ef:	45 33 ed             	xor    %r13d,%r13d
18006c2f2:	44 8b f9             	mov    %ecx,%r15d
18006c2f5:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
18006c2fa:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
18006c2ff:	41 8b f5             	mov    %r13d,%esi
18006c302:	41 8b fd             	mov    %r13d,%edi
18006c305:	4d 8b e0             	mov    %r8,%r12
18006c308:	e8 f7 8d 00 00       	call   0x180075104
18006c30d:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
18006c312:	8b d8                	mov    %eax,%ebx
18006c314:	85 c0                	test   %eax,%eax
18006c316:	0f 88 0d 01 00 00    	js     0x18006c429
18006c31c:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
18006c321:	41 b9 d0 00 00 00    	mov    $0xd0,%r9d
18006c327:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18006c32c:	45 33 c0             	xor    %r8d,%r8d
18006c32f:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
18006c334:	41 8b d7             	mov    %r15d,%edx
18006c337:	49 8b ce             	mov    %r14,%rcx
18006c33a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18006c33f:	e8 14 93 00 00       	call   0x180075658
18006c344:	8b d8                	mov    %eax,%ebx