180020eb6:	4d 89 5c c2 08       	mov    %r11,0x8(%r10,%rax,8)
180020ebb:	45 89 1c c2          	mov    %r11d,(%r10,%rax,8)
180020ebf:	41 8d 46 fd          	lea    -0x3(%r14),%eax
180020ec3:	83 f8 01             	cmp    $0x1,%eax
180020ec6:	77 24                	ja     0x180020eec
180020ec8:	83 fe 08             	cmp    $0x8,%esi
180020ecb:	0f 83 70 01 00 00    	jae    0x180021041
180020ed1:	8b c6                	mov    %esi,%eax
180020ed3:	48 03 c0             	add    %rax,%rax
180020ed6:	ff c6                	inc    %esi
180020ed8:	88 54 c5 83          	mov    %dl,-0x7d(%rbp,%rax,8)
180020edc:	b2 01                	mov    $0x1,%dl
180020ede:	48 89 5c c4 60       	mov    %rbx,0x60(%rsp,%rax,8)
180020ee3:	44 89 7c c4 68       	mov    %r15d,0x68(%rsp,%rax,8)
180020ee8:	88 54 24 20          	mov    %dl,0x20(%rsp)
180020eec:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
180020ef1:	41 ff c4             	inc    %r12d
180020ef4:	48 83 c0 10          	add    $0x10,%rax
180020ef8:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
180020efd:	44 3b 64 24 40       	cmp    0x40(%rsp),%r12d
180020f02:	0f 82 27 ff ff ff    	jb     0x180020e2f
180020f08:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
180020f0d:	2b df                	sub    %edi,%ebx
180020f0f:	8b fb                	mov    %ebx,%edi
180020f11:	45 89 20             	mov    %r12d,(%r8)
180020f14:	8b c7                	mov    %edi,%eax
180020f16:	48 8b 4d f7          	mov    -0x9(%rbp),%rcx
180020f1a:	48 33 cc             	xor    %rsp,%rcx
180020f1d:	e8 0a 4c ff ff       	call   0x180015b2c
180020f22:	48 81 c4 f8 00 00 00 	add    $0xf8,%rsp
180020f29:	41 5f                	pop    %r15
180020f2b:	41 5e                	pop    %r14
180020f2d:	41 5d                	pop    %r13
180020f2f:	41 5c                	pop    %r12
180020f31:	5f                   	pop    %rdi
180020f32:	5e                   	pop    %rsi
180020f33:	5b                   	pop    %rbx
180020f34:	5d                   	pop    %rbp
180020f35:	c3                   	ret
180020f36:	cc                   	int3
180020f37:	48 85 c9             	test   %rcx,%rcx
180020f3a:	74 35                	je     0x180020f71
180020f3c:	8a 01                	mov    (%rcx),%al
180020f3e:	8a 13                	mov    (%rbx),%dl
180020f40:	84 c0                	test   %al,%al
180020f42:	74 11                	je     0x180020f55
180020f44:	3a c2                	cmp    %dl,%al
180020f46:	74 09                	je     0x180020f51
180020f48:	48 ff c1             	inc    %rcx
180020f4b:	8a 01                	mov    (%rcx),%al
180020f4d:	84 c0                	test   %al,%al
180020f4f:	75 f3                	jne    0x180020f44
180020f51:	84 c0                	test   %al,%al
180020f53:	75 1c                	jne    0x180020f71
180020f55:	41 8d 46 fe          	lea    -0x2(%r14),%eax
180020f59:	a9 fd ff ff ff       	test   $0xfffffffd,%eax
180020f5e:	0f 85 dd 00 00 00    	jne    0x180021041
180020f64:	8b 44 24 24          	mov    0x24(%rsp),%eax
180020f68:	8a 54 24 20          	mov    0x20(%rsp),%dl
180020f6c:	e9 3d ff ff ff       	jmp    0x180020eae
180020f71:	4c 8d 4c 24 48       	lea    0x48(%rsp),%r9
180020f76:	41 8b d7             	mov    %r15d,%edx
180020f79:	4c 8d 44 24 28       	lea    0x28(%rsp),%r8
180020f7e:	48 8b cb             	mov    %rbx,%rcx
180020f81:	e8 52 fd ff ff       	call   0x180020cd8
180020f86:	45 33 db             	xor    %r11d,%r11d
180020f89:	85 c0                	test   %eax,%eax
180020f8b:	0f 8e b0 00 00 00    	jle    0x180021041
180020f91:	44 8b 44 24 28       	mov    0x28(%rsp),%r8d
180020f96:	4c 8b 4c 24 48       	mov    0x48(%rsp),%r9
180020f9b:	4c 8b 54 24 30       	mov    0x30(%rsp),%r10
180020fa0:	41 8d 14 00          	lea    (%r8,%rax,1),%edx
180020fa4:	44 38 5c 24 21       	cmp    %r11b,0x21(%rsp)
180020fa9:	74 49                	je     0x180020ff4
180020fab:	41 0f ba e5 1e       	bt     $0x1e,%r13d
180020fb0:	73 2d                	jae    0x180020fdf
180020fb2:	8b 4c 24 24          	mov    0x24(%rsp),%ecx
180020fb6:	48 03 c9             	add    %rcx,%rcx
180020fb9:	4d 89 4c ca 08       	mov    %r9,0x8(%r10,%rcx,8)
180020fbe:	45 89 04 ca          	mov    %r8d,(%r10,%rcx,8)
180020fc2:	80 3b 03             	cmpb   $0x3,(%rbx)
180020fc5:	75 2d                	jne    0x180020ff4
180020fc7:	45 85 c0             	test   %r8d,%r8d
180020fca:	74 28                	je     0x180020ff4
180020fcc:	49 8d 41 01          	lea    0x1(%r9),%rax
180020fd0:	49 89 44 ca 08       	mov    %rax,0x8(%r10,%rcx,8)
180020fd5:	41 8d 40 ff          	lea    -0x1(%r8),%eax
180020fd9:	41 89 04 ca          	mov    %eax,(%r10,%rcx,8)
180020fdd:	eb 15                	jmp    0x180020ff4
180020fdf:	45 85 ed             	test   %r13d,%r13d
180020fe2:	79 10                	jns    0x180020ff4
180020fe4:	8b 44 24 24          	mov    0x24(%rsp),%eax
180020fe8:	48 03 c0             	add    %rax,%rax
180020feb:	49 89 5c c2 08       	mov    %rbx,0x8(%r10,%rax,8)
180020ff0:	41 89 14 c2          	mov    %edx,(%r10,%rax,8)
180020ff4:	45 84 ed             	test   %r13b,%r13b
180020ff7:	74 48                	je     0x180021041
180020ff9:	41 83 fe 02          	cmp    $0x2,%r14d
180020ffd:	76 38                	jbe    0x180021037
180020fff:	41 83 fe 04          	cmp    $0x4,%r14d
180021003:	77 3c                	ja     0x180021041
180021005:	83 fe 08             	cmp    $0x8,%esi
180021008:	73 37                	jae    0x180021041
18002100a:	44 2b fa             	sub    %edx,%r15d
18002100d:	8b ce                	mov    %esi,%ecx
18002100f:	48 03 c9             	add    %rcx,%rcx
180021012:	8b c2                	mov    %edx,%eax
180021014:	48 03 c3             	add    %rbx,%rax
180021017:	49 8b d9             	mov    %r9,%rbx
18002101a:	ff c6                	inc    %esi
18002101c:	44 89 7c cc 68       	mov    %r15d,0x68(%rsp,%rcx,8)
180021021:	45 8b f8             	mov    %r8d,%r15d
180021024:	48 89 44 cc 60       	mov    %rax,0x60(%rsp,%rcx,8)
180021029:	44 88 5c cd 83       	mov    %r11b,-0x7d(%rbp,%rcx,8)
18002102e:	8a 54 24 20          	mov    0x20(%rsp),%dl
180021032:	e9 b5 fe ff ff       	jmp    0x180020eec
180021037:	8b c2                	mov    %edx,%eax
180021039:	48 03 d8             	add    %rax,%rbx
18002103c:	44 2b fa             	sub    %edx,%r15d
18002103f:	eb ed                	jmp    0x18002102e
180021041:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
180021046:	2b fb                	sub    %ebx,%edi
180021048:	ff cf                	dec    %edi
18002104a:	e9 c2 fe ff ff       	jmp    0x180020f11
18002104f:	cc                   	int3
180021050:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180021055:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18002105a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18002105f:	57                   	push   %rdi
180021060:	41 56                	push   %r14
180021062:	41 57                	push   %r15
180021064:	48 83 ec 20          	sub    $0x20,%rsp
180021068:	44 8b 31             	mov    (%rcx),%r14d
18002106b:	33 db                	xor    %ebx,%ebx
18002106d:	4c 8b 79 08          	mov    0x8(%rcx),%r15
180021071:	49 8b f0             	mov    %r8,%rsi
180021074:	8b ea                	mov    %edx,%ebp
180021076:	85 d2                	test   %edx,%edx
180021078:	74 26                	je     0x1800210a0
18002107a:	49 8d 78 28          	lea    0x28(%r8),%rdi
18002107e:	44 3b 77 f8          	cmp    -0x8(%rdi),%r14d
180021082:	75 12                	jne    0x180021096
180021084:	48 8b 17             	mov    (%rdi),%rdx
180021087:	4d 8b c6             	mov    %r14,%r8
18002108a:	49 8b cf             	mov    %r15,%rcx
18002108d:	e8 ee a0 10 00       	call   0x18012b180
180021092:	85 c0                	test   %eax,%eax
180021094:	74 26                	je     0x1800210bc
180021096:	ff c3                	inc    %ebx
180021098:	48 83 c7 50          	add    $0x50,%rdi
18002109c:	3b dd                	cmp    %ebp,%ebx
18002109e:	72 de                	jb     0x18002107e
1800210a0:	33 c0                	xor    %eax,%eax
1800210a2:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1800210a7:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1800210ac:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1800210b1:	48 83 c4 20          	add    $0x20,%rsp
1800210b5:	41 5f                	pop    %r15
1800210b7:	41 5e                	pop    %r14
1800210b9:	5f                   	pop    %rdi
1800210ba:	c3                   	ret
1800210bb:	cc                   	int3
1800210bc:	48 8d 04 9b          	lea    (%rbx,%rbx,4),%rax
1800210c0:	48 c1 e0 04          	shl    $0x4,%rax
1800210c4:	48 03 c6             	add    %rsi,%rax
1800210c7:	eb d9                	jmp    0x1800210a2
1800210c9:	cc                   	int3
1800210ca:	cc                   	int3
1800210cb:	cc                   	int3
1800210cc:	40 53                	rex push %rbx
1800210ce:	56                   	push   %rsi
1800210cf:	57                   	push   %rdi
1800210d0:	48 81 ec 60 01 00 00 	sub    $0x160,%rsp
1800210d7:	48 8b 05 92 b8 14 00 	mov    0x14b892(%rip),%rax        # 0x18016c970
1800210de:	48 33 c4             	xor    %rsp,%rax
1800210e1:	48 89 84 24 50 01 00 	mov    %rax,0x150(%rsp)
1800210e8:	00
1800210e9:	49 8b f8             	mov    %r8,%rdi
1800210ec:	49 8b f1             	mov    %r9,%rsi
1800210ef:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1800210f4:	48 8b d9             	mov    %rcx,%rbx
1800210f7:	e8 5c f2 ff ff       	call   0x180020358
1800210fc:	85 c0                	test   %eax,%eax
1800210fe:	7e 20                	jle    0x180021120
180021100:	4c 8b c6             	mov    %rsi,%r8
180021103:	48 8d 8c 24 90 00 00 	lea    0x90(%rsp),%rcx
18002110a:	00
18002110b:	48 8b d7             	mov    %rdi,%rdx
18002110e:	e8 81 f2 ff ff       	call   0x180020394
180021113:	85 c0                	test   %eax,%eax
180021115:	79 0c                	jns    0x180021123
180021117:	2b 9c 24 98 00 00 00 	sub    0x98(%rsp),%ebx
18002111e:	03 c3                	add    %ebx,%eax
180021120:	83 27 00             	andl   $0x0,(%rdi)
180021123:	48 8b 8c 24 50 01 00 	mov    0x150(%rsp),%rcx
18002112a:	00
18002112b:	48 33 cc             	xor    %rsp,%rcx
18002112e:	e8 f9 49 ff ff       	call   0x180015b2c
180021133:	48 81 c4 60 01 00 00 	add    $0x160,%rsp
18002113a:	5f                   	pop    %rdi
18002113b:	5e                   	pop    %rsi
18002113c:	5b                   	pop    %rbx
18002113d:	c3                   	ret
18002113e:	cc                   	int3
18002113f:	cc                   	int3
180021140:	48 8b c4             	mov    %rsp,%rax
180021143:	48 89 58 08          	mov    %rbx,0x8(%rax)
180021147:	48 89 70 18          	mov    %rsi,0x18(%rax)
18002114b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18002114f:	55                   	push   %rbp
180021150:	41 54                	push   %r12
180021152:	41 55                	push   %r13
180021154:	41 56                	push   %r14
180021156:	41 57                	push   %r15
180021158:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
18002115c:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
180021163:	48 8b 05 06 b8 14 00 	mov    0x14b806(%rip),%rax        # 0x18016c970
18002116a:	48 33 c4             	xor    %rsp,%rax
18002116d:	48 89 45 27          	mov    %rax,0x27(%rbp)
180021171:	44 8a 01             	mov    (%rcx),%r8b
180021174:	33 db                	xor    %ebx,%ebx
180021176:	21 5d a7             	and    %ebx,-0x59(%rbp)
180021179:	45 33 c9             	xor    %r9d,%r9d
18002117c:	48 8b f2             	mov    %rdx,%rsi
18002117f:	4c 8b d1             	mov    %rcx,%r10
180021182:	45 84 c0             	test   %r8b,%r8b
180021185:	0f 84 c8 01 00 00    	je     0x180021353
18002118b:	41 8d 40 d0          	lea    -0x30(%r8),%eax
18002118f:	3c 09                	cmp    $0x9,%al
180021191:	77 25                	ja     0x1800211b8
180021193:	8b 54 9d a7          	mov    -0x59(%rbp,%rbx,4),%edx
180021197:	41 0f be c0          	movsbl %r8b,%eax
18002119b:	8d 4a fa             	lea    -0x6(%rdx),%ecx
18002119e:	8d 0c 8a             	lea    (%rdx,%rcx,4),%ecx
1800211a1:	44 8d 04 48          	lea    (%rax,%rcx,2),%r8d
1800211a5:	44 3b c2             	cmp    %edx,%r8d
1800211a8:	0f 82 a5 01 00 00    	jb     0x180021353
1800211ae:	44 89 44 9d a7       	mov    %r8d,-0x59(%rbp,%rbx,4)
1800211b3:	41 ff c1             	inc    %r9d
1800211b6:	eb 2a                	jmp    0x1800211e2
1800211b8:	41 8d 41 ff          	lea    -0x1(%r9),%eax
1800211bc:	83 f8 09             	cmp    $0x9,%eax
1800211bf:	0f 87 8e 01 00 00    	ja     0x180021353
1800211c5:	41 80 f8 2e          	cmp    $0x2e,%r8b
1800211c9:	0f 85 84 01 00 00    	jne    0x180021353
1800211cf:	ff c3                	inc    %ebx
1800211d1:	83 fb 1f             	cmp    $0x1f,%ebx
1800211d4:	0f 83 79 01 00 00    	jae    0x180021353
1800211da:	83 64 9d a7 00       	andl   $0x0,-0x59(%rbp,%rbx,4)
1800211df:	45 33 c9             	xor    %r9d,%r9d
1800211e2:	49 ff c2             	inc    %r10
1800211e5:	45 8a 02             	mov    (%r10),%r8b
1800211e8:	45 84 c0             	test   %r8b,%r8b
1800211eb:	75 9e                	jne    0x18002118b
1800211ed:	45 85 c9             	test   %r9d,%r9d
1800211f0:	0f 84 5d 01 00 00    	je     0x180021353
1800211f6:	ff c3                	inc    %ebx
1800211f8:	83 fb 02             	cmp    $0x2,%ebx
1800211fb:	0f 82 52 01 00 00    	jb     0x180021353
180021201:	8b 45 ab             	mov    -0x55(%rbp),%eax
180021204:	83 f8 28             	cmp    $0x28,%eax
180021207:	0f 83 46 01 00 00    	jae    0x180021353
18002120d:	8d 04 80             	lea    (%rax,%rax,4),%eax
180021210:	c1 e0 03             	shl    $0x3,%eax
180021213:	83 f8 7f             	cmp    $0x7f,%eax
180021216:	0f 87 37 01 00 00    	ja     0x180021353
18002121c:	8b 0e                	mov    (%rsi),%ecx
18002121e:	83 f9 03             	cmp    $0x3,%ecx
180021221:	0f 82 2c 01 00 00    	jb     0x180021353
180021227:	b8 82 00 00 00       	mov    $0x82,%eax
18002122c:	bf 03 00 00 00       	mov    $0x3,%edi
180021231:	3b c8                	cmp    %eax,%ecx
180021233:	0f 42 c1             	cmovb  %ecx,%eax
180021236:	8a 4d a7             	mov    -0x59(%rbp),%cl
180021239:	89 06                	mov    %eax,(%rsi)
18002123b:	44 8d 6f ff          	lea    -0x1(%rdi),%r13d
18002123f:	48 8b 46 08          	mov    0x8(%rsi),%rax
180021243:	c6 00 06             	movb   $0x6,(%rax)
180021246:	8a c1                	mov    %cl,%al
180021248:	c0 e0 02             	shl    $0x2,%al
18002124b:	02 c8                	add    %al,%cl
18002124d:	48 8b 46 08          	mov    0x8(%rsi),%rax
180021251:	c0 e1 03             	shl    $0x3,%cl
180021254:	02 4d ab             	add    -0x55(%rbp),%cl
180021257:	88 48 02             	mov    %cl,0x2(%rax)
18002125a:	48 8b 46 08          	mov    0x8(%rsi),%rax
18002125e:	4c 8d 60 03          	lea    0x3(%rax),%r12
180021262:	41 3b dd             	cmp    %r13d,%ebx
180021265:	0f 86 da 00 00 00    	jbe    0x180021345
18002126b:	4c 8d 7d af          	lea    -0x51(%rbp),%r15
18002126f:	44 8d 57 7d          	lea    0x7d(%rdi),%r10d
180021273:	41 8b 0f             	mov    (%r15),%ecx
180021276:	8a d1                	mov    %cl,%dl
180021278:	41 3b ca             	cmp    %r10d,%ecx
18002127b:	73 0d                	jae    0x18002128a
18002127d:	88 4d 97             	mov    %cl,-0x69(%rbp)
180021280:	b8 01 00 00 00       	mov    $0x1,%eax
180021285:	e9 86 00 00 00       	jmp    0x180021310
18002128a:	8b c1                	mov    %ecx,%eax
18002128c:	80 e2 7f             	and    $0x7f,%dl
18002128f:	c1 e8 07             	shr    $0x7,%eax
180021292:	41 0a c2             	or     %r10b,%al
180021295:	81 f9 00 40 00 00    	cmp    $0x4000,%ecx
18002129b:	73 0d                	jae    0x1800212aa
18002129d:	88 45 97             	mov    %al,-0x69(%rbp)
1800212a0:	b8 02 00 00 00       	mov    $0x2,%eax
1800212a5:	88 55 98             	mov    %dl,-0x68(%rbp)
1800212a8:	eb 66                	jmp    0x180021310
1800212aa:	44 8b c1             	mov    %ecx,%r8d
1800212ad:	41 c1 e8 0e          	shr    $0xe,%r8d
1800212b1:	45 0a c2             	or     %r10b,%r8b
1800212b4:	81 f9 00 00 20 00    	cmp    $0x200000,%ecx
1800212ba:	73 11                	jae    0x1800212cd
1800212bc:	88 45 98             	mov    %al,-0x68(%rbp)
1800212bf:	b8 03 00 00 00       	mov    $0x3,%eax
1800212c4:	44 88 45 97          	mov    %r8b,-0x69(%rbp)
1800212c8:	88 55 99             	mov    %dl,-0x67(%rbp)
1800212cb:	eb 43                	jmp    0x180021310
1800212cd:	44 8b c9             	mov    %ecx,%r9d
1800212d0:	41 c1 e9 15          	shr    $0x15,%r9d
1800212d4:	45 0a ca             	or     %r10b,%r9b
1800212d7:	81 f9 00 00 00 10    	cmp    $0x10000000,%ecx
1800212dd:	73 15                	jae    0x1800212f4
1800212df:	88 45 99             	mov    %al,-0x67(%rbp)
1800212e2:	b8 04 00 00 00       	mov    $0x4,%eax
1800212e7:	44 88 4d 97          	mov    %r9b,-0x69(%rbp)
1800212eb:	44 88 45 98          	mov    %r8b,-0x68(%rbp)
1800212ef:	88 55 9a             	mov    %dl,-0x66(%rbp)
1800212f2:	eb 1c                	jmp    0x180021310
1800212f4:	c1 e9 1c             	shr    $0x1c,%ecx
1800212f7:	41 0a ca             	or     %r10b,%cl
1800212fa:	88 45 9a             	mov    %al,-0x66(%rbp)
1800212fd:	88 4d 97             	mov    %cl,-0x69(%rbp)
180021300:	b8 05 00 00 00       	mov    $0x5,%eax
180021305:	44 88 4d 98          	mov    %r9b,-0x68(%rbp)
180021309:	44 88 45 99          	mov    %r8b,-0x67(%rbp)
18002130d:	88 55 9b             	mov    %dl,-0x65(%rbp)
180021310:	03 f8                	add    %eax,%edi
180021312:	4c 8b f0             	mov    %rax,%r14
180021315:	3b 3e                	cmp    (%rsi),%edi
180021317:	77 3a                	ja     0x180021353
180021319:	4c 8b c0             	mov    %rax,%r8
18002131c:	48 8d 55 97          	lea    -0x69(%rbp),%rdx
180021320:	49 8b cc             	mov    %r12,%rcx
180021323:	e8 98 46 11 00       	call   0x1801359c0
180021328:	4d 03 e6             	add    %r14,%r12
18002132b:	41 ff c5             	inc    %r13d
18002132e:	49 83 c7 04          	add    $0x4,%r15
180021332:	41 ba 80 00 00 00    	mov    $0x80,%r10d
180021338:	44 3b eb             	cmp    %ebx,%r13d