140016eed:	66 0b d0             	or     %ax,%dx
140016ef0:	b8 60 ff 00 00       	mov    $0xff60,%eax
140016ef5:	66 ff ca             	dec    %dx
140016ef8:	66 0b d0             	or     %ax,%dx
140016efb:	0f b6 c1             	movzbl %cl,%eax
140016efe:	66 c1 e2 04          	shl    $0x4,%dx
140016f02:	66 0b d0             	or     %ax,%dx
140016f05:	8a 45 00             	mov    0x0(%rbp),%al
140016f08:	c0 e8 04             	shr    $0x4,%al
140016f0b:	24 03                	and    $0x3,%al
140016f0d:	66 c1 e2 02          	shl    $0x2,%dx
140016f11:	0f b6 c0             	movzbl %al,%eax
140016f14:	66 0b d0             	or     %ax,%dx
140016f17:	66 41 89 12          	mov    %dx,(%r10)
140016f1b:	8a 45 00             	mov    0x0(%rbp),%al
140016f1e:	24 0f                	and    $0xf,%al
140016f20:	0f b6 d0             	movzbl %al,%edx
140016f23:	b8 70 ff 00 00       	mov    $0xff70,%eax
140016f28:	66 0b d0             	or     %ax,%dx
140016f2b:	41 8a 45 00          	mov    0x0(%r13),%al
140016f2f:	24 3f                	and    $0x3f,%al
140016f31:	66 c1 e2 06          	shl    $0x6,%dx
140016f35:	0f b6 c8             	movzbl %al,%ecx
140016f38:	66 0b d1             	or     %cx,%dx
140016f3b:	66 89 17             	mov    %dx,(%rdi)
140016f3e:	ba 04 00 00 00       	mov    $0x4,%edx
140016f43:	4c 03 d2             	add    %rdx,%r10
140016f46:	48 03 fa             	add    %rdx,%rdi
140016f49:	48 8b ca             	mov    %rdx,%rcx
140016f4c:	48 8b c2             	mov    %rdx,%rax
140016f4f:	4c 03 da             	add    %rdx,%r11
140016f52:	4c 03 ea             	add    %rdx,%r13
140016f55:	48 03 e9             	add    %rcx,%rbp
140016f58:	4c 03 f0             	add    %rax,%r14
140016f5b:	4d 3b d8             	cmp    %r8,%r11
140016f5e:	0f 82 7f fe ff ff    	jb     0x140016de3
140016f64:	45 85 c9             	test   %r9d,%r9d
140016f67:	74 34                	je     0x140016f9d
140016f69:	4d 3b d4             	cmp    %r12,%r10
140016f6c:	72 2f                	jb     0x140016f9d
140016f6e:	4d 3b d8             	cmp    %r8,%r11
140016f71:	73 2a                	jae    0x140016f9d
140016f73:	b9 7a 00 00 00       	mov    $0x7a,%ecx
140016f78:	ff 15 92 b0 1f 00    	call   *0x1fb092(%rip)        # 0x140212010
140016f7e:	33 c0                	xor    %eax,%eax
140016f80:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140016f85:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140016f8a:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140016f8f:	48 83 c4 20          	add    $0x20,%rsp
140016f93:	41 5f                	pop    %r15
140016f95:	41 5e                	pop    %r14
140016f97:	41 5d                	pop    %r13
140016f99:	41 5c                	pop    %r12
140016f9b:	5f                   	pop    %rdi
140016f9c:	c3                   	ret
140016f9d:	44 2b db             	sub    %ebx,%r11d
140016fa0:	4c 2b d6             	sub    %rsi,%r10
140016fa3:	49 d1 fa             	sar    $1,%r10
140016fa6:	45 89 1f             	mov    %r11d,(%r15)
140016fa9:	78 0e                	js     0x140016fb9
140016fab:	49 81 fa ff ff ff 7f 	cmp    $0x7fffffff,%r10
140016fb2:	77 05                	ja     0x140016fb9
140016fb4:	41 8b c2             	mov    %r10d,%eax
140016fb7:	eb c7                	jmp    0x140016f80
140016fb9:	e8 06 58 ff ff       	call   0x14000c7c4
140016fbe:	cc                   	int3
140016fbf:	33 d2                	xor    %edx,%edx
140016fc1:	b9 d5 d3 48 00       	mov    $0x48d3d5,%ecx
140016fc6:	e8 19 43 ff ff       	call   0x14000b2e4
140016fcb:	cc                   	int3
140016fcc:	33 d2                	xor    %edx,%edx
140016fce:	b9 8c c1 34 00       	mov    $0x34c18c,%ecx
140016fd3:	e8 0c 43 ff ff       	call   0x14000b2e4
140016fd8:	cc                   	int3
140016fd9:	b9 42 a2 10 00       	mov    $0x10a242,%ecx
140016fde:	e8 01 43 ff ff       	call   0x14000b2e4
140016fe3:	cc                   	int3
140016fe4:	33 d2                	xor    %edx,%edx
140016fe6:	b9 d6 d3 48 00       	mov    $0x48d3d6,%ecx
140016feb:	e8 f4 42 ff ff       	call   0x14000b2e4
140016ff0:	cc                   	int3
140016ff1:	90                   	nop
140016ff2:	90                   	nop
140016ff3:	90                   	nop
140016ff4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016ff9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140016ffe:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140017003:	41 54                	push   %r12
140017005:	48 83 ec 20          	sub    $0x20,%rsp
140017009:	45 33 d2             	xor    %r10d,%r10d
14001700c:	49 8b f8             	mov    %r8,%rdi
14001700f:	44 8b da             	mov    %edx,%r11d
140017012:	48 8b d9             	mov    %rcx,%rbx
140017015:	48 85 c9             	test   %rcx,%rcx
140017018:	0f 84 d9 01 00 00    	je     0x1400171f7
14001701e:	44 8b 44 24 50       	mov    0x50(%rsp),%r8d
140017023:	85 d2                	test   %edx,%edx
140017025:	0f 84 94 01 00 00    	je     0x1400171bf
14001702b:	41 bc 00 fc 00 00    	mov    $0xfc00,%r12d
140017031:	45 3b d0             	cmp    %r8d,%r10d
140017034:	7c 09                	jl     0x14001703f
140017036:	45 85 c0             	test   %r8d,%r8d
140017039:	0f 85 80 01 00 00    	jne    0x1400171bf
14001703f:	0f b7 0b             	movzwl (%rbx),%ecx
140017042:	66 83 f9 7f          	cmp    $0x7f,%cx
140017046:	77 17                	ja     0x14001705f
140017048:	45 85 c0             	test   %r8d,%r8d
14001704b:	0f 84 56 01 00 00    	je     0x1400171a7
140017051:	8a 03                	mov    (%rbx),%al
140017053:	49 63 ca             	movslq %r10d,%rcx
140017056:	42 88 04 09          	mov    %al,(%rcx,%r9,1)
14001705a:	e9 48 01 00 00       	jmp    0x1400171a7
14001705f:	b8 ff 07 00 00       	mov    $0x7ff,%eax
140017064:	66 39 03             	cmp    %ax,(%rbx)
140017067:	77 22                	ja     0x14001708b
140017069:	41 8d 42 02          	lea    0x2(%r10),%eax
14001706d:	45 85 c0             	test   %r8d,%r8d
140017070:	0f 84 36 01 00 00    	je     0x1400171ac
140017076:	41 3b c0             	cmp    %r8d,%eax
140017079:	0f 8f 40 01 00 00    	jg     0x1400171bf
14001707f:	66 c1 e9 06          	shr    $0x6,%cx
140017083:	80 c9 c0             	or     $0xc0,%cl
140017086:	e9 03 01 00 00       	jmp    0x14001718e
14001708b:	0f b7 c1             	movzwl %cx,%eax
14001708e:	ba 00 d8 00 00       	mov    $0xd800,%edx
140017093:	66 41 23 c4          	and    %r12w,%ax
140017097:	66 3b c2             	cmp    %dx,%ax
14001709a:	0f 85 c2 00 00 00    	jne    0x140017162
1400170a0:	33 d2                	xor    %edx,%edx
1400170a2:	41 83 fb 02          	cmp    $0x2,%r11d
1400170a6:	7c 15                	jl     0x1400170bd
1400170a8:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
1400170ac:	be 00 dc 00 00       	mov    $0xdc00,%esi
1400170b1:	66 41 23 c4          	and    %r12w,%ax
1400170b5:	66 3b c6             	cmp    %si,%ax
1400170b8:	0f 95 c2             	setne  %dl
1400170bb:	eb 06                	jmp    0x1400170c3
1400170bd:	48 85 ff             	test   %rdi,%rdi
1400170c0:	0f 94 c2             	sete   %dl
1400170c3:	85 d2                	test   %edx,%edx
1400170c5:	0f 85 97 00 00 00    	jne    0x140017162
1400170cb:	41 83 fb 02          	cmp    $0x2,%r11d
1400170cf:	0f 8c ea 00 00 00    	jl     0x1400171bf
1400170d5:	41 8d 42 04          	lea    0x4(%r10),%eax
1400170d9:	45 85 c0             	test   %r8d,%r8d
1400170dc:	74 77                	je     0x140017155
1400170de:	41 3b c0             	cmp    %r8d,%eax
1400170e1:	0f 8f d8 00 00 00    	jg     0x1400171bf
1400170e7:	c1 e9 06             	shr    $0x6,%ecx
1400170ea:	83 e1 0f             	and    $0xf,%ecx
1400170ed:	49 63 c2             	movslq %r10d,%rax
1400170f0:	41 ff c2             	inc    %r10d
1400170f3:	8d 51 01             	lea    0x1(%rcx),%edx
1400170f6:	8b ca                	mov    %edx,%ecx
1400170f8:	80 e2 03             	and    $0x3,%dl
1400170fb:	c1 e9 02             	shr    $0x2,%ecx
1400170fe:	80 ca f8             	or     $0xf8,%dl
140017101:	80 c9 f0             	or     $0xf0,%cl
140017104:	c0 e2 04             	shl    $0x4,%dl
140017107:	42 88 0c 08          	mov    %cl,(%rax,%r9,1)
14001710b:	8a 0b                	mov    (%rbx),%cl
14001710d:	c0 e9 02             	shr    $0x2,%cl
140017110:	80 e1 0f             	and    $0xf,%cl
140017113:	49 63 c2             	movslq %r10d,%rax
140017116:	0a ca                	or     %dl,%cl
140017118:	41 ff c2             	inc    %r10d
14001711b:	42 88 0c 08          	mov    %cl,(%rax,%r9,1)
14001711f:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
140017123:	8a 0b                	mov    (%rbx),%cl
140017125:	80 e1 03             	and    $0x3,%cl
140017128:	66 c1 e8 06          	shr    $0x6,%ax
14001712c:	80 c9 f8             	or     $0xf8,%cl
14001712f:	24 0f                	and    $0xf,%al
140017131:	c0 e1 04             	shl    $0x4,%cl
140017134:	0a c8                	or     %al,%cl
140017136:	49 63 c2             	movslq %r10d,%rax
140017139:	41 ff c2             	inc    %r10d
14001713c:	42 88 0c 08          	mov    %cl,(%rax,%r9,1)
140017140:	8a 4b 02             	mov    0x2(%rbx),%cl
140017143:	49 63 c2             	movslq %r10d,%rax
140017146:	80 e1 3f             	and    $0x3f,%cl
140017149:	80 c9 80             	or     $0x80,%cl
14001714c:	41 ff c2             	inc    %r10d
14001714f:	42 88 0c 08          	mov    %cl,(%rax,%r9,1)
140017153:	eb 03                	jmp    0x140017158
140017155:	44 8b d0             	mov    %eax,%r10d
140017158:	48 83 c3 04          	add    $0x4,%rbx
14001715c:	41 83 eb 02          	sub    $0x2,%r11d
140017160:	eb 54                	jmp    0x1400171b6
140017162:	41 8d 42 03          	lea    0x3(%r10),%eax
140017166:	45 85 c0             	test   %r8d,%r8d
140017169:	74 41                	je     0x1400171ac
14001716b:	41 3b c0             	cmp    %r8d,%eax
14001716e:	7f 4f                	jg     0x1400171bf
140017170:	66 c1 e9 0c          	shr    $0xc,%cx
140017174:	80 c9 e0             	or     $0xe0,%cl
140017177:	49 63 c2             	movslq %r10d,%rax
14001717a:	41 ff c2             	inc    %r10d
14001717d:	42 88 0c 08          	mov    %cl,(%rax,%r9,1)
140017181:	0f b7 0b             	movzwl (%rbx),%ecx
140017184:	66 c1 e9 06          	shr    $0x6,%cx
140017188:	80 e1 3f             	and    $0x3f,%cl
14001718b:	80 c9 80             	or     $0x80,%cl
14001718e:	49 63 c2             	movslq %r10d,%rax
140017191:	41 ff c2             	inc    %r10d
140017194:	42 88 0c 08          	mov    %cl,(%rax,%r9,1)
140017198:	8a 0b                	mov    (%rbx),%cl
14001719a:	49 63 c2             	movslq %r10d,%rax
14001719d:	80 e1 3f             	and    $0x3f,%cl
1400171a0:	80 c9 80             	or     $0x80,%cl
1400171a3:	42 88 0c 08          	mov    %cl,(%rax,%r9,1)
1400171a7:	41 ff c2             	inc    %r10d
1400171aa:	eb 03                	jmp    0x1400171af
1400171ac:	44 8b d0             	mov    %eax,%r10d
1400171af:	48 83 c3 02          	add    $0x2,%rbx
1400171b3:	41 ff cb             	dec    %r11d
1400171b6:	45 85 db             	test   %r11d,%r11d
1400171b9:	0f 85 72 fe ff ff    	jne    0x140017031
1400171bf:	48 85 ff             	test   %rdi,%rdi
1400171c2:	75 17                	jne    0x1400171db
1400171c4:	45 85 c0             	test   %r8d,%r8d
1400171c7:	74 15                	je     0x1400171de
1400171c9:	45 85 db             	test   %r11d,%r11d
1400171cc:	7e 10                	jle    0x1400171de
1400171ce:	8d 4f 7a             	lea    0x7a(%rdi),%ecx
1400171d1:	ff 15 39 ae 1f 00    	call   *0x1fae39(%rip)        # 0x140212010
1400171d7:	33 c0                	xor    %eax,%eax
1400171d9:	eb 06                	jmp    0x1400171e1
1400171db:	44 89 1f             	mov    %r11d,(%rdi)
1400171de:	41 8b c2             	mov    %r10d,%eax
1400171e1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400171e6:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1400171eb:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1400171f0:	48 83 c4 20          	add    $0x20,%rsp
1400171f4:	41 5c                	pop    %r12
1400171f6:	c3                   	ret
1400171f7:	33 d2                	xor    %edx,%edx
1400171f9:	b9 59 96 65 01       	mov    $0x1659659,%ecx
1400171fe:	e8 e1 40 ff ff       	call   0x14000b2e4
140017203:	cc                   	int3
140017204:	48 8d 05 55 3e 23 00 	lea    0x233e55(%rip),%rax        # 0x14024b060
14001720b:	48 8b d0             	mov    %rax,%rdx
14001720e:	48 83 c0 06          	add    $0x6,%rax
140017212:	66 3b 48 fc          	cmp    -0x4(%rax),%cx
140017216:	77 f3                	ja     0x14001720b
140017218:	66 3b 0a             	cmp    (%rdx),%cx
14001721b:	72 35                	jb     0x140017252
14001721d:	0f b7 50 fe          	movzwl -0x2(%rax),%edx
140017221:	b8 ff 00 00 00       	mov    $0xff,%eax
140017226:	66 2b ca             	sub    %dx,%cx
140017229:	66 3b d0             	cmp    %ax,%dx
14001722c:	7e 13                	jle    0x140017241
14001722e:	0f ae e8             	lfence
140017231:	0f b7 c1             	movzwl %cx,%eax
140017234:	48 8d 0d c5 38 23 00 	lea    0x2338c5(%rip),%rcx        # 0x14024ab00
14001723b:	0f b7 0c 41          	movzwl (%rcx,%rax,2),%ecx
14001723f:	eb 11                	jmp    0x140017252
140017241:	66 83 fa 01          	cmp    $0x1,%dx
140017245:	77 0b                	ja     0x140017252
140017247:	b8 fe ff 00 00       	mov    $0xfffe,%eax
14001724c:	66 23 c8             	and    %ax,%cx
14001724f:	66 03 ca             	add    %dx,%cx
140017252:	0f b7 c1             	movzwl %cx,%eax
140017255:	c3                   	ret
140017256:	90                   	nop
140017257:	90                   	nop
140017258:	48 8d 05 21 38 23 00 	lea    0x233821(%rip),%rax        # 0x14024aa80
14001725f:	48 8b d0             	mov    %rax,%rdx
140017262:	48 83 c0 06          	add    $0x6,%rax
140017266:	66 3b 48 fc          	cmp    -0x4(%rax),%cx
14001726a:	77 f3                	ja     0x14001725f
14001726c:	66 3b 0a             	cmp    (%rdx),%cx
14001726f:	72 1c                	jb     0x14001728d
140017271:	66 03 48 fe          	add    -0x2(%rax),%cx
140017275:	66 83 78 fe 00       	cmpw   $0x0,-0x2(%rax)
14001727a:	7d 11                	jge    0x14001728d
14001727c:	0f ae e8             	lfence
14001727f:	0f b7 c1             	movzwl %cx,%eax
140017282:	48 8d 0d b7 41 23 00 	lea    0x2341b7(%rip),%rcx        # 0x14024b440
140017289:	0f b7 0c 41          	movzwl (%rcx,%rax,2),%ecx
14001728d:	0f b7 c1             	movzwl %cx,%eax
140017290:	c3                   	ret
140017291:	90                   	nop
140017292:	90                   	nop
140017293:	90                   	nop
140017294:	48 85 c9             	test   %rcx,%rcx
140017297:	0f 84 a8 00 00 00    	je     0x140017345
14001729d:	48 85 d2             	test   %rdx,%rdx
1400172a0:	0f 84 9f 00 00 00    	je     0x140017345
1400172a6:	b8 01 d8 00 00       	mov    $0xd801,%eax
1400172ab:	66 3b 01             	cmp    (%rcx),%ax
1400172ae:	75 23                	jne    0x1400172d3
1400172b0:	0f b7 0a             	movzwl (%rdx),%ecx
1400172b3:	b8 00 24 00 00       	mov    $0x2400,%eax
1400172b8:	03 c1                	add    %ecx,%eax
1400172ba:	66 83 f8 27          	cmp    $0x27,%ax
1400172be:	76 0d                	jbe    0x1400172cd
1400172c0:	b8 50 23 00 00       	mov    $0x2350,%eax
1400172c5:	03 c1                	add    %ecx,%eax
1400172c7:	66 83 f8 23          	cmp    $0x23,%ax
1400172cb:	77 78                	ja     0x140017345
1400172cd:	66 83 c1 28          	add    $0x28,%cx
1400172d1:	eb 6f                	jmp    0x140017342
1400172d3:	b8 03 d8 00 00       	mov    $0xd803,%eax
1400172d8:	66 3b 01             	cmp    (%rcx),%ax
1400172db:	75 16                	jne    0x1400172f3
1400172dd:	0f b7 0a             	movzwl (%rdx),%ecx
1400172e0:	b8 80 23 00 00       	mov    $0x2380,%eax
1400172e5:	03 c1                	add    %ecx,%eax
1400172e7:	66 83 f8 32          	cmp    $0x32,%ax
1400172eb:	77 58                	ja     0x140017345
1400172ed:	66 83 c1 40          	add    $0x40,%cx
1400172f1:	eb 4f                	jmp    0x140017342
1400172f3:	b8 06 d8 00 00       	mov    $0xd806,%eax
1400172f8:	66 3b 01             	cmp    (%rcx),%ax
1400172fb:	75 16                	jne    0x140017313
1400172fd:	b8 60 23 00 00       	mov    $0x2360,%eax
140017302:	0f b7 0a             	movzwl (%rdx),%ecx
140017305:	03 c1                	add    %ecx,%eax
140017307:	66 83 f8 1f          	cmp    $0x1f,%ax
14001730b:	77 38                	ja     0x140017345
14001730d:	66 83 c1 20          	add    $0x20,%cx
140017311:	eb 2f                	jmp    0x140017342
140017313:	b8 1b d8 00 00       	mov    $0xd81b,%eax
140017318:	66 3b 01             	cmp    (%rcx),%ax
14001731b:	75 07                	jne    0x140017324
14001731d:	b8 c0 21 00 00       	mov    $0x21c0,%eax
140017322:	eb de                	jmp    0x140017302
140017324:	b8 3a d8 00 00       	mov    $0xd83a,%eax
140017329:	66 3b 01             	cmp    (%rcx),%ax
14001732c:	75 17                	jne    0x140017345
14001732e:	0f b7 0a             	movzwl (%rdx),%ecx
140017331:	b8 00 23 00 00       	mov    $0x2300,%eax
140017336:	03 c1                	add    %ecx,%eax
140017338:	66 83 f8 21          	cmp    $0x21,%ax
14001733c:	77 07                	ja     0x140017345
14001733e:	66 83 c1 22          	add    $0x22,%cx
140017342:	66 89 0a             	mov    %cx,(%rdx)
140017345:	c3                   	ret
140017346:	90                   	nop
140017347:	90                   	nop
140017348:	48 83 ec 38          	sub    $0x38,%rsp
14001734c:	45 33 db             	xor    %r11d,%r11d
14001734f:	4c 8b c1             	mov    %rcx,%r8
140017352:	85 d2                	test   %edx,%edx
140017354:	0f 8e 93 00 00 00    	jle    0x1400173ed
14001735a:	4c 63 d2             	movslq %edx,%r10
14001735d:	45 0f b7 cb          	movzwl %r11w,%r9d
140017361:	49 ff ca             	dec    %r10
140017364:	66 44 89 5c 24 20    	mov    %r11w,0x20(%rsp)