140940e9d:	0f b6 c2             	movzbl %dl,%eax
140940ea0:	c0 e0 02             	shl    $0x2,%al
140940ea3:	44 8d 0c 10          	lea    (%rax,%rdx,1),%r9d
140940ea7:	45 02 c9             	add    %r9b,%r9b
140940eaa:	41 2a c9             	sub    %r9b,%cl
140940ead:	80 c1 30             	add    $0x30,%cl
140940eb0:	41 88 0a             	mov    %cl,(%r10)
140940eb3:	49 ff c2             	inc    %r10
140940eb6:	48 8b ca             	mov    %rdx,%rcx
140940eb9:	48 85 d2             	test   %rdx,%rdx
140940ebc:	75 d2                	jne    0x140940e90
140940ebe:	41 88 12             	mov    %dl,(%r10)
140940ec1:	4d 8b cb             	mov    %r11,%r9
140940ec4:	4d 3b c3             	cmp    %r11,%r8
140940ec7:	76 20                	jbe    0x140940ee9
140940ec9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140940ed0:	41 0f b6 09          	movzbl (%r9),%ecx
140940ed4:	41 0f b6 10          	movzbl (%r8),%edx
140940ed8:	41 88 08             	mov    %cl,(%r8)
140940edb:	49 ff c8             	dec    %r8
140940ede:	41 88 11             	mov    %dl,(%r9)
140940ee1:	49 ff c1             	inc    %r9
140940ee4:	4d 3b c1             	cmp    %r9,%r8
140940ee7:	77 e7                	ja     0x140940ed0
140940ee9:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140940eee:	4d 2b d3             	sub    %r11,%r10
140940ef1:	49 8b c2             	mov    %r10,%rax
140940ef4:	c3                   	ret
140940ef5:	cc                   	int3
140940ef6:	cc                   	int3
140940ef7:	cc                   	int3
140940ef8:	cc                   	int3
140940ef9:	cc                   	int3
140940efa:	cc                   	int3
140940efb:	cc                   	int3
140940efc:	cc                   	int3
140940efd:	cc                   	int3
140940efe:	cc                   	int3
140940eff:	cc                   	int3
140940f00:	0f b6 01             	movzbl (%rcx),%eax
140940f03:	3c 2e                	cmp    $0x2e,%al
140940f05:	74 13                	je     0x140940f1a
140940f07:	84 c0                	test   %al,%al
140940f09:	0f 84 a7 00 00 00    	je     0x140940fb6
140940f0f:	0f b6 41 01          	movzbl 0x1(%rcx),%eax
140940f13:	48 ff c1             	inc    %rcx
140940f16:	3c 2e                	cmp    $0x2e,%al
140940f18:	75 ed                	jne    0x140940f07
140940f1a:	48 8d 51 01          	lea    0x1(%rcx),%rdx
140940f1e:	48 85 d2             	test   %rdx,%rdx
140940f21:	0f 84 8f 00 00 00    	je     0x140940fb6
140940f27:	44 0f b6 0a          	movzbl (%rdx),%r9d
140940f2b:	33 c0                	xor    %eax,%eax
140940f2d:	4c 8b d2             	mov    %rdx,%r10
140940f30:	44 8b c0             	mov    %eax,%r8d
140940f33:	45 84 c9             	test   %r9b,%r9b
140940f36:	74 39                	je     0x140940f71
140940f38:	41 0f b6 c9          	movzbl %r9b,%ecx
140940f3c:	0f 1f 40 00          	nopl   0x0(%rax)
140940f40:	41 80 f9 65          	cmp    $0x65,%r9b
140940f44:	74 28                	je     0x140940f6e
140940f46:	80 f9 30             	cmp    $0x30,%cl
140940f49:	75 0f                	jne    0x140940f5a
140940f4b:	4d 85 c0             	test   %r8,%r8
140940f4e:	48 8b ca             	mov    %rdx,%rcx
140940f51:	49 0f 45 c8          	cmovne %r8,%rcx
140940f55:	4c 8b c1             	mov    %rcx,%r8
140940f58:	eb 03                	jmp    0x140940f5d
140940f5a:	4c 8b c0             	mov    %rax,%r8
140940f5d:	0f b6 4a 01          	movzbl 0x1(%rdx),%ecx
140940f61:	48 ff c2             	inc    %rdx
140940f64:	44 0f b6 c9          	movzbl %cl,%r9d
140940f68:	84 c9                	test   %cl,%cl
140940f6a:	75 d4                	jne    0x140940f40
140940f6c:	eb 03                	jmp    0x140940f71
140940f6e:	48 8b c2             	mov    %rdx,%rax
140940f71:	4d 3b c2             	cmp    %r10,%r8
140940f74:	49 8d 50 ff          	lea    -0x1(%r8),%rdx
140940f78:	49 0f 45 d0          	cmovne %r8,%rdx
140940f7c:	48 85 d2             	test   %rdx,%rdx
140940f7f:	74 35                	je     0x140940fb6
140940f81:	48 85 c0             	test   %rax,%rax
140940f84:	74 30                	je     0x140940fb6
140940f86:	0f b6 08             	movzbl (%rax),%ecx
140940f89:	4c 8b c0             	mov    %rax,%r8
140940f8c:	88 0a                	mov    %cl,(%rdx)
140940f8e:	80 38 00             	cmpb   $0x0,(%rax)
140940f91:	74 1f                	je     0x140940fb2
140940f93:	0f 1f 40 00          	nopl   0x0(%rax)
140940f97:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140940f9e:	00 00
140940fa0:	0f b6 48 01          	movzbl 0x1(%rax),%ecx
140940fa4:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140940fa8:	48 ff c0             	inc    %rax
140940fab:	88 0a                	mov    %cl,(%rdx)
140940fad:	80 38 00             	cmpb   $0x0,(%rax)
140940fb0:	75 ee                	jne    0x140940fa0
140940fb2:	49 2b c0             	sub    %r8,%rax
140940fb5:	c3                   	ret
140940fb6:	33 c0                	xor    %eax,%eax
140940fb8:	c3                   	ret
140940fb9:	cc                   	int3
140940fba:	cc                   	int3
140940fbb:	cc                   	int3
140940fbc:	cc                   	int3
140940fbd:	cc                   	int3
140940fbe:	cc                   	int3
140940fbf:	cc                   	int3
140940fc0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140940fc5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140940fca:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140940fcf:	53                   	push   %rbx
140940fd0:	56                   	push   %rsi
140940fd1:	57                   	push   %rdi
140940fd2:	48 83 ec 30          	sub    $0x30,%rsp
140940fd6:	48 8b da             	mov    %rdx,%rbx
140940fd9:	48 8d 74 24 60       	lea    0x60(%rsp),%rsi
140940fde:	48 8b f9             	mov    %rcx,%rdi
140940fe1:	e8 fa d4 85 ff       	call   0x14019e4e0
140940fe6:	4c 8b cb             	mov    %rbx,%r9
140940fe9:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140940fee:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
140940ff5:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
140940ffc:	00 00
140940ffe:	4c 8b c3             	mov    %rbx,%r8
140941001:	48 8b d7             	mov    %rdi,%rdx
140941004:	48 8b 08             	mov    (%rax),%rcx
140941007:	48 83 c9 01          	or     $0x1,%rcx
14094100b:	e8 58 e5 4e 00       	call   0x140e2f568
140941010:	85 c0                	test   %eax,%eax
140941012:	0f 48 c3             	cmovs  %ebx,%eax
140941015:	48 83 c4 30          	add    $0x30,%rsp
140941019:	5f                   	pop    %rdi
14094101a:	5e                   	pop    %rsi
14094101b:	5b                   	pop    %rbx
14094101c:	c3                   	ret
14094101d:	cc                   	int3
14094101e:	cc                   	int3
14094101f:	cc                   	int3
140941020:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140941025:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14094102a:	57                   	push   %rdi
14094102b:	45 33 c9             	xor    %r9d,%r9d
14094102e:	45 33 db             	xor    %r11d,%r11d
140941031:	33 ff                	xor    %edi,%edi
140941033:	8b f2                	mov    %edx,%esi
140941035:	48 8b d9             	mov    %rcx,%rbx
140941038:	85 d2                	test   %edx,%edx
14094103a:	0f 84 19 02 00 00    	je     0x140941259
140941040:	44 8b 53 08          	mov    0x8(%rbx),%r10d
140941044:	45 85 d2             	test   %r10d,%r10d
140941047:	0f 84 ec 01 00 00    	je     0x140941239
14094104d:	48 8b 03             	mov    (%rbx),%rax
140941050:	41 83 fb ff          	cmp    $0xffffffff,%r11d
140941054:	75 15                	jne    0x14094106b
140941056:	0f b6 08             	movzbl (%rax),%ecx
140941059:	48 ff c0             	inc    %rax
14094105c:	88 4c 24 19          	mov    %cl,0x19(%rsp)
140941060:	0f b7 4c 24 18       	movzwl 0x18(%rsp),%ecx
140941065:	44 03 c9             	add    %ecx,%r9d
140941068:	41 ff ca             	dec    %r10d
14094106b:	a8 01                	test   $0x1,%al
14094106d:	74 3b                	je     0x1409410aa
14094106f:	45 85 d2             	test   %r10d,%r10d
140941072:	7e 36                	jle    0x1409410aa
140941074:	41 0f b7 c9          	movzwl %r9w,%ecx
140941078:	45 8b c1             	mov    %r9d,%r8d
14094107b:	41 c1 e8 10          	shr    $0x10,%r8d
14094107f:	bf 01 00 00 00       	mov    $0x1,%edi
140941084:	44 03 c1             	add    %ecx,%r8d
140941087:	0f b6 08             	movzbl (%rax),%ecx
14094108a:	41 81 f8 ff ff 00 00 	cmp    $0xffff,%r8d
140941091:	88 4c 24 18          	mov    %cl,0x18(%rsp)
140941095:	45 8d 88 01 00 ff ff 	lea    -0xffff(%r8),%r9d
14094109c:	45 0f 46 c8          	cmovbe %r8d,%r9d
1409410a0:	48 ff c0             	inc    %rax
1409410a3:	41 c1 e1 08          	shl    $0x8,%r9d
1409410a7:	41 ff ca             	dec    %r10d
1409410aa:	41 8b ca             	mov    %r10d,%ecx
1409410ad:	41 83 ea 20          	sub    $0x20,%r10d
1409410b1:	0f 88 84 00 00 00    	js     0x14094113b
1409410b7:	44 8b c1             	mov    %ecx,%r8d
1409410ba:	49 c1 e8 05          	shr    $0x5,%r8
1409410be:	41 8b c8             	mov    %r8d,%ecx
1409410c1:	f7 d9                	neg    %ecx
1409410c3:	c1 e1 05             	shl    $0x5,%ecx
1409410c6:	44 03 d1             	add    %ecx,%r10d
1409410c9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1409410d0:	0f b7 48 1c          	movzwl 0x1c(%rax),%ecx
1409410d4:	0f b7 50 1e          	movzwl 0x1e(%rax),%edx
1409410d8:	03 d1                	add    %ecx,%edx
1409410da:	0f b7 48 1a          	movzwl 0x1a(%rax),%ecx
1409410de:	03 d1                	add    %ecx,%edx
1409410e0:	0f b7 48 18          	movzwl 0x18(%rax),%ecx
1409410e4:	03 d1                	add    %ecx,%edx
1409410e6:	0f b7 48 16          	movzwl 0x16(%rax),%ecx
1409410ea:	03 d1                	add    %ecx,%edx
1409410ec:	0f b7 48 14          	movzwl 0x14(%rax),%ecx
1409410f0:	03 d1                	add    %ecx,%edx
1409410f2:	0f b7 48 12          	movzwl 0x12(%rax),%ecx
1409410f6:	03 d1                	add    %ecx,%edx
1409410f8:	0f b7 48 10          	movzwl 0x10(%rax),%ecx
1409410fc:	03 d1                	add    %ecx,%edx
1409410fe:	0f b7 48 0e          	movzwl 0xe(%rax),%ecx
140941102:	03 d1                	add    %ecx,%edx
140941104:	0f b7 48 0c          	movzwl 0xc(%rax),%ecx
140941108:	03 d1                	add    %ecx,%edx
14094110a:	0f b7 48 0a          	movzwl 0xa(%rax),%ecx
14094110e:	03 d1                	add    %ecx,%edx
140941110:	0f b7 48 08          	movzwl 0x8(%rax),%ecx
140941114:	03 d1                	add    %ecx,%edx
140941116:	0f b7 48 06          	movzwl 0x6(%rax),%ecx
14094111a:	03 d1                	add    %ecx,%edx
14094111c:	0f b7 48 04          	movzwl 0x4(%rax),%ecx
140941120:	03 d1                	add    %ecx,%edx
140941122:	0f b7 48 02          	movzwl 0x2(%rax),%ecx
140941126:	03 d1                	add    %ecx,%edx
140941128:	0f b7 08             	movzwl (%rax),%ecx
14094112b:	44 03 c9             	add    %ecx,%r9d
14094112e:	48 83 c0 20          	add    $0x20,%rax
140941132:	44 03 ca             	add    %edx,%r9d
140941135:	49 83 e8 01          	sub    $0x1,%r8
140941139:	75 95                	jne    0x1409410d0
14094113b:	41 83 c2 18          	add    $0x18,%r10d
14094113f:	78 42                	js     0x140941183
140941141:	45 8d 42 08          	lea    0x8(%r10),%r8d
140941145:	49 c1 e8 03          	shr    $0x3,%r8
140941149:	41 8b c8             	mov    %r8d,%ecx
14094114c:	f7 d9                	neg    %ecx
14094114e:	45 8d 14 ca          	lea    (%r10,%rcx,8),%r10d
140941152:	0f 1f 40 00          	nopl   0x0(%rax)
140941156:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14094115d:	00 00 00
140941160:	0f b7 48 04          	movzwl 0x4(%rax),%ecx
140941164:	0f b7 50 06          	movzwl 0x6(%rax),%edx
140941168:	03 d1                	add    %ecx,%edx
14094116a:	0f b7 48 02          	movzwl 0x2(%rax),%ecx
14094116e:	03 d1                	add    %ecx,%edx
140941170:	0f b7 08             	movzwl (%rax),%ecx
140941173:	44 03 c9             	add    %ecx,%r9d
140941176:	48 83 c0 08          	add    $0x8,%rax
14094117a:	44 03 ca             	add    %edx,%r9d
14094117d:	49 83 e8 01          	sub    $0x1,%r8
140941181:	75 dd                	jne    0x140941160
140941183:	45 8d 5a 08          	lea    0x8(%r10),%r11d
140941187:	45 8b d3             	mov    %r11d,%r10d
14094118a:	45 85 db             	test   %r11d,%r11d
14094118d:	75 08                	jne    0x140941197
14094118f:	85 ff                	test   %edi,%edi
140941191:	0f 84 a2 00 00 00    	je     0x140941239
140941197:	45 8b c1             	mov    %r9d,%r8d
14094119a:	41 0f b7 c9          	movzwl %r9w,%ecx
14094119e:	41 c1 e8 10          	shr    $0x10,%r8d
1409411a2:	44 03 c1             	add    %ecx,%r8d
1409411a5:	41 81 f8 ff ff 00 00 	cmp    $0xffff,%r8d
1409411ac:	45 8d 88 01 00 ff ff 	lea    -0xffff(%r8),%r9d
1409411b3:	45 0f 46 c8          	cmovbe %r8d,%r9d
1409411b7:	41 83 eb 02          	sub    $0x2,%r11d
1409411bb:	78 23                	js     0x1409411e0
1409411bd:	49 8b d2             	mov    %r10,%rdx
1409411c0:	48 d1 ea             	shr    $1,%rdx
1409411c3:	8b ca                	mov    %edx,%ecx
1409411c5:	f7 d9                	neg    %ecx
1409411c7:	45 8d 1c 4b          	lea    (%r11,%rcx,2),%r11d
1409411cb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1409411d0:	0f b7 08             	movzwl (%rax),%ecx
1409411d3:	48 83 c0 02          	add    $0x2,%rax
1409411d7:	44 03 c9             	add    %ecx,%r9d
1409411da:	48 83 ea 01          	sub    $0x1,%rdx
1409411de:	75 f0                	jne    0x1409411d0
1409411e0:	85 ff                	test   %edi,%edi
1409411e2:	74 48                	je     0x14094122c
1409411e4:	45 8b c1             	mov    %r9d,%r8d
1409411e7:	41 0f b7 c9          	movzwl %r9w,%ecx
1409411eb:	41 c1 e8 10          	shr    $0x10,%r8d
1409411ef:	44 03 c1             	add    %ecx,%r8d
1409411f2:	41 81 f8 ff ff 00 00 	cmp    $0xffff,%r8d
1409411f9:	45 8d 88 01 00 ff ff 	lea    -0xffff(%r8),%r9d
140941200:	45 0f 46 c8          	cmovbe %r8d,%r9d
140941204:	33 ff                	xor    %edi,%edi
140941206:	41 c1 e1 08          	shl    $0x8,%r9d
14094120a:	41 83 fb ff          	cmp    $0xffffffff,%r11d
14094120e:	75 14                	jne    0x140941224
140941210:	0f b6 08             	movzbl (%rax),%ecx
140941213:	88 4c 24 19          	mov    %cl,0x19(%rsp)
140941217:	0f b7 44 24 18       	movzwl 0x18(%rsp),%eax
14094121c:	44 03 c8             	add    %eax,%r9d
14094121f:	45 33 db             	xor    %r11d,%r11d
140941222:	eb 15                	jmp    0x140941239
140941224:	41 bb ff ff ff ff    	mov    $0xffffffff,%r11d
14094122a:	eb 0d                	jmp    0x140941239
14094122c:	41 83 fb ff          	cmp    $0xffffffff,%r11d
140941230:	75 07                	jne    0x140941239
140941232:	0f b6 08             	movzbl (%rax),%ecx
140941235:	88 4c 24 18          	mov    %cl,0x18(%rsp)
140941239:	48 83 c3 10          	add    $0x10,%rbx
14094123d:	83 ee 01             	sub    $0x1,%esi
140941240:	0f 85 fa fd ff ff    	jne    0x140941040
140941246:	41 83 fb ff          	cmp    $0xffffffff,%r11d
14094124a:	75 0d                	jne    0x140941259
14094124c:	40 88 74 24 19       	mov    %sil,0x19(%rsp)
140941251:	0f b7 44 24 18       	movzwl 0x18(%rsp),%eax
140941256:	44 03 c8             	add    %eax,%r9d
140941259:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
14094125e:	41 8b d1             	mov    %r9d,%edx
140941261:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
140941266:	c1 ea 10             	shr    $0x10,%edx
140941269:	41 0f b7 c1          	movzwl %r9w,%eax
14094126d:	03 d0                	add    %eax,%edx
14094126f:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
140941275:	8d 42 01             	lea    0x1(%rdx),%eax
140941278:	66 0f 46 c2          	cmovbe %dx,%ax
14094127c:	5f                   	pop    %rdi
14094127d:	c3                   	ret
14094127e:	cc                   	int3
14094127f:	cc                   	int3
140941280:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140941285:	57                   	push   %rdi
140941286:	41 54                	push   %r12
140941288:	41 56                	push   %r14
14094128a:	41 57                	push   %r15
14094128c:	4c 8b 19             	mov    (%rcx),%r11
14094128f:	33 ff                	xor    %edi,%edi
140941291:	4d 8b 10             	mov    (%r8),%r10
140941294:	4d 8b e1             	mov    %r9,%r12
140941297:	4d 8b f0             	mov    %r8,%r14
14094129a:	48 8b f2             	mov    %rdx,%rsi
14094129d:	4c 8b f9             	mov    %rcx,%r15
1409412a0:	4c 3b da             	cmp    %rdx,%r11
1409412a3:	0f 83 53 01 00 00    	jae    0x1409413fc
1409412a9:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1409412ae:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1409412b3:	8b 6c 24 48          	mov    0x48(%rsp),%ebp
1409412b7:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
1409412bc:	4c 8d 2d 95 2b 71 00 	lea    0x712b95(%rip),%r13        # 0x141053e58
1409412c3:	41 0f b7 03          	movzwl (%r11),%eax
1409412c7:	4d 8b c3             	mov    %r11,%r8
1409412ca:	49 8b db             	mov    %r11,%rbx
1409412cd:	4d 8b ca             	mov    %r10,%r9
1409412d0:	49 83 c3 02          	add    $0x2,%r11
1409412d4:	8d 88 00 28 ff ff    	lea    -0xd800(%rax),%ecx
1409412da:	81 f9 ff 03 00 00    	cmp    $0x3ff,%ecx
1409412e0:	77 3c                	ja     0x14094131e
1409412e2:	4c 3b de             	cmp    %rsi,%r11
1409412e5:	0f 83 ed 00 00 00    	jae    0x1409413d8
1409412eb:	41 0f b7 13          	movzwl (%r11),%edx
1409412ef:	8d 8a 00 24 ff ff    	lea    -0xdc00(%rdx),%ecx
1409412f5:	81 f9 ff 03 00 00    	cmp    $0x3ff,%ecx
1409412fb:	77 10                	ja     0x14094130d
1409412fd:	c1 e0 0a             	shl    $0xa,%eax