140315013:	0f 1f 40 00          	nopl   0x0(%rax)
140315017:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14031501e:	00 00
140315020:	48 3b e8             	cmp    %rax,%rbp
140315023:	44 8b fd             	mov    %ebp,%r15d
140315026:	49 8b cc             	mov    %r12,%rcx
140315029:	44 0f 47 f8          	cmova  %eax,%r15d
14031502d:	41 8b d7             	mov    %r15d,%edx
140315030:	e8 02 0b 00 00       	call   0x140315b37
140315035:	84 c0                	test   %al,%al
140315037:	0f 85 7e 01 00 00    	jne    0x1403151bb
14031503d:	41 b9 89 00 00 00    	mov    $0x89,%r9d
140315043:	c7 44 24 20 04 00 00 	movl   $0x4,0x20(%rsp)
14031504a:	00
14031504b:	4c 8d 05 0e e9 0a 00 	lea    0xae90e(%rip),%r8        # 0x1403c3960
140315052:	41 83 ce 01          	or     $0x1,%r14d
140315056:	48 8d 15 63 e9 0a 00 	lea    0xae963(%rip),%rdx        # 0x1403c39c0
14031505d:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140315062:	e8 f9 ed ff ff       	call   0x140313e60
140315067:	48 8b f8             	mov    %rax,%rdi
14031506a:	41 8b f5             	mov    %r13d,%esi
14031506d:	48 8b 10             	mov    (%rax),%rdx
140315070:	48 63 4a 04          	movslq 0x4(%rdx),%rcx
140315074:	48 8b 5c 01 28       	mov    0x28(%rcx,%rax,1),%rbx
140315079:	48 83 fb 16          	cmp    $0x16,%rbx
14031507d:	7c 06                	jl     0x140315085
14031507f:	48 83 c3 eb          	add    $0xffffffffffffffeb,%rbx
140315083:	eb 03                	jmp    0x140315088
140315085:	49 8b dd             	mov    %r13,%rbx
140315088:	48 8b 4c 01 48       	mov    0x48(%rcx,%rax,1),%rcx
14031508d:	4c 8b c2             	mov    %rdx,%r8
140315090:	48 85 c9             	test   %rcx,%rcx
140315093:	74 0c                	je     0x1403150a1
140315095:	48 8b 01             	mov    (%rcx),%rax
140315098:	ff 50 08             	call   *0x8(%rax)
14031509b:	48 8b 17             	mov    (%rdi),%rdx
14031509e:	4c 8b c2             	mov    %rdx,%r8
1403150a1:	48 63 42 04          	movslq 0x4(%rdx),%rax
1403150a5:	39 74 38 10          	cmp    %esi,0x10(%rax,%rdi,1)
1403150a9:	75 25                	jne    0x1403150d0
1403150ab:	48 8b 4c 38 50       	mov    0x50(%rax,%rdi,1),%rcx
1403150b0:	48 85 c9             	test   %rcx,%rcx
1403150b3:	74 25                	je     0x1403150da
1403150b5:	48 3b cf             	cmp    %rdi,%rcx
1403150b8:	74 20                	je     0x1403150da
1403150ba:	ff 15 18 47 01 00    	call   *0x14718(%rip)        # 0x1403297d8
1403150c0:	48 8b 17             	mov    (%rdi),%rdx
1403150c3:	4c 8b c2             	mov    %rdx,%r8
1403150c6:	48 63 42 04          	movslq 0x4(%rdx),%rax
1403150ca:	39 74 38 10          	cmp    %esi,0x10(%rax,%rdi,1)
1403150ce:	74 0a                	je     0x1403150da
1403150d0:	be 04 00 00 00       	mov    $0x4,%esi
1403150d5:	e9 a0 00 00 00       	jmp    0x14031517a
1403150da:	48 63 42 04          	movslq 0x4(%rdx),%rax
1403150de:	8b 4c 38 18          	mov    0x18(%rax,%rdi,1),%ecx
1403150e2:	81 e1 c0 01 00 00    	and    $0x1c0,%ecx
1403150e8:	83 f9 40             	cmp    $0x40,%ecx
1403150eb:	74 2c                	je     0x140315119
1403150ed:	48 85 db             	test   %rbx,%rbx
1403150f0:	7e 27                	jle    0x140315119
1403150f2:	48 8b 07             	mov    (%rdi),%rax
1403150f5:	48 63 48 04          	movslq 0x4(%rax),%rcx
1403150f9:	0f b6 54 39 58       	movzbl 0x58(%rcx,%rdi,1),%edx
1403150fe:	48 8b 4c 39 48       	mov    0x48(%rcx,%rdi,1),%rcx
140315103:	ff 15 6f 45 01 00    	call   *0x1456f(%rip)        # 0x140329678
140315109:	83 f8 ff             	cmp    $0xffffffff,%eax
14031510c:	74 58                	je     0x140315166
14031510e:	48 ff cb             	dec    %rbx
140315111:	48 85 db             	test   %rbx,%rbx
140315114:	7f dc                	jg     0x1403150f2
140315116:	4c 8b 07             	mov    (%rdi),%r8
140315119:	49 63 40 04          	movslq 0x4(%r8),%rax
14031511d:	48 8d 15 84 e8 0a 00 	lea    0xae884(%rip),%rdx        # 0x1403c39a8
140315124:	41 b8 15 00 00 00    	mov    $0x15,%r8d
14031512a:	48 8b 4c 38 48       	mov    0x48(%rax,%rdi,1),%rcx
14031512f:	ff 15 4b 45 01 00    	call   *0x1454b(%rip)        # 0x140329680
140315135:	48 83 f8 15          	cmp    $0x15,%rax
140315139:	75 2b                	jne    0x140315166
14031513b:	48 85 db             	test   %rbx,%rbx
14031513e:	7e 2b                	jle    0x14031516b
140315140:	48 8b 07             	mov    (%rdi),%rax
140315143:	48 63 48 04          	movslq 0x4(%rax),%rcx
140315147:	0f b6 54 39 58       	movzbl 0x58(%rcx,%rdi,1),%edx
14031514c:	48 8b 4c 39 48       	mov    0x48(%rcx,%rdi,1),%rcx
140315151:	ff 15 21 45 01 00    	call   *0x14521(%rip)        # 0x140329678
140315157:	83 f8 ff             	cmp    $0xffffffff,%eax
14031515a:	74 0a                	je     0x140315166
14031515c:	48 ff cb             	dec    %rbx
14031515f:	48 85 db             	test   %rbx,%rbx
140315162:	7f dc                	jg     0x140315140
140315164:	eb 05                	jmp    0x14031516b
140315166:	be 04 00 00 00       	mov    $0x4,%esi
14031516b:	48 8b 07             	mov    (%rdi),%rax
14031516e:	48 63 48 04          	movslq 0x4(%rax),%rcx
140315172:	4c 89 6c 39 28       	mov    %r13,0x28(%rcx,%rdi,1)
140315177:	48 8b 17             	mov    (%rdi),%rdx
14031517a:	48 63 4a 04          	movslq 0x4(%rdx),%rcx
14031517e:	45 33 c0             	xor    %r8d,%r8d
140315181:	48 03 cf             	add    %rdi,%rcx
140315184:	8b d6                	mov    %esi,%edx
140315186:	ff 15 cc 45 01 00    	call   *0x145cc(%rip)        # 0x140329758
14031518c:	48 8b cf             	mov    %rdi,%rcx
14031518f:	ff 15 2b 46 01 00    	call   *0x1462b(%rip)        # 0x1403297c0
140315195:	48 8b 07             	mov    (%rdi),%rax
140315198:	48 63 48 04          	movslq 0x4(%rax),%rcx
14031519c:	48 8b 4c 39 48       	mov    0x48(%rcx,%rdi,1),%rcx
1403151a1:	48 85 c9             	test   %rcx,%rcx
1403151a4:	74 06                	je     0x1403151ac
1403151a6:	48 8b 01             	mov    (%rcx),%rax
1403151a9:	ff 50 10             	call   *0x10(%rax)
1403151ac:	48 8d 15 49 48 03 00 	lea    0x34849(%rip),%rdx        # 0x1403499fc
1403151b3:	48 8b cf             	mov    %rdi,%rcx
1403151b6:	e8 f5 41 d7 ff       	call   0x1400893b0
1403151bb:	41 f6 c6 01          	test   $0x1,%r14b
1403151bf:	74 0e                	je     0x1403151cf
1403151c1:	41 83 e6 fe          	and    $0xfffffffe,%r14d
1403151c5:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1403151ca:	e8 e1 ef ff ff       	call   0x1403141b0
1403151cf:	41 8b c7             	mov    %r15d,%eax
1403151d2:	4c 03 e0             	add    %rax,%r12
1403151d5:	48 2b e8             	sub    %rax,%rbp
1403151d8:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1403151dd:	0f 85 3d fe ff ff    	jne    0x140315020
1403151e3:	4c 8b bc 24 30 01 00 	mov    0x130(%rsp),%r15
1403151ea:	00
1403151eb:	48 8b bc 24 78 01 00 	mov    0x178(%rsp),%rdi
1403151f2:	00
1403151f3:	48 8b b4 24 70 01 00 	mov    0x170(%rsp),%rsi
1403151fa:	00
1403151fb:	48 8b 9c 24 60 01 00 	mov    0x160(%rsp),%rbx
140315202:	00
140315203:	48 81 c4 38 01 00 00 	add    $0x138,%rsp
14031520a:	41 5e                	pop    %r14
14031520c:	41 5d                	pop    %r13
14031520e:	41 5c                	pop    %r12
140315210:	5d                   	pop    %rbp
140315211:	c3                   	ret
140315212:	cc                   	int3
140315213:	cc                   	int3
140315214:	cc                   	int3
140315215:	cc                   	int3
140315216:	cc                   	int3
140315217:	cc                   	int3
140315218:	cc                   	int3
140315219:	cc                   	int3
14031521a:	cc                   	int3
14031521b:	cc                   	int3
14031521c:	cc                   	int3
14031521d:	cc                   	int3
14031521e:	cc                   	int3
14031521f:	cc                   	int3
140315220:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140315225:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14031522a:	57                   	push   %rdi
14031522b:	48 83 ec 20          	sub    $0x20,%rsp
14031522f:	48 63 fa             	movslq %edx,%rdi
140315232:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140315239:	33 d2                	xor    %edx,%edx
14031523b:	48 63 f1             	movslq %ecx,%rsi
14031523e:	48 2b fe             	sub    %rsi,%rdi
140315241:	48 ff c7             	inc    %rdi
140315244:	48 f7 f7             	div    %rdi
140315247:	48 8b da             	mov    %rdx,%rbx
14031524a:	48 f7 d3             	not    %rbx
14031524d:	48 ff cb             	dec    %rbx
140315250:	ba 08 00 00 00       	mov    $0x8,%edx
140315255:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14031525a:	e8 71 fd ff ff       	call   0x140314fd0
14031525f:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140315264:	48 3b c3             	cmp    %rbx,%rax
140315267:	77 e7                	ja     0x140315250
140315269:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14031526e:	33 d2                	xor    %edx,%edx
140315270:	48 f7 f7             	div    %rdi
140315273:	8d 04 16             	lea    (%rsi,%rdx,1),%eax
140315276:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14031527b:	48 83 c4 20          	add    $0x20,%rsp
14031527f:	5f                   	pop    %rdi
140315280:	c3                   	ret
140315281:	cc                   	int3
140315282:	cc                   	int3
140315283:	cc                   	int3
140315284:	cc                   	int3
140315285:	cc                   	int3
140315286:	cc                   	int3
140315287:	cc                   	int3
140315288:	cc                   	int3
140315289:	cc                   	int3
14031528a:	cc                   	int3
14031528b:	cc                   	int3
14031528c:	cc                   	int3
14031528d:	cc                   	int3
14031528e:	cc                   	int3
14031528f:	cc                   	int3
140315290:	45 33 c9             	xor    %r9d,%r9d
140315293:	49 8b c0             	mov    %r8,%rax
140315296:	4d 89 48 10          	mov    %r9,0x10(%r8)
14031529a:	49 83 78 18 08       	cmpq   $0x8,0x18(%r8)
14031529f:	72 03                	jb     0x1403152a4
1403152a1:	49 8b 00             	mov    (%r8),%rax
1403152a4:	66 44 89 08          	mov    %r9w,(%rax)
1403152a8:	48 85 d2             	test   %rdx,%rdx
1403152ab:	74 10                	je     0x1403152bd
1403152ad:	80 39 80             	cmpb   $0x80,(%rcx)
1403152b0:	49 8b c8             	mov    %r8,%rcx
1403152b3:	72 03                	jb     0x1403152b8
1403152b5:	48 d1 ea             	shr    $1,%rdx
1403152b8:	e9 f3 e5 eb ff       	jmp    0x1401d38b0
1403152bd:	c3                   	ret
1403152be:	cc                   	int3
1403152bf:	cc                   	int3
1403152c0:	49 c7 40 10 00 00 00 	movq   $0x0,0x10(%r8)
1403152c7:	00
1403152c8:	49 8b c0             	mov    %r8,%rax
1403152cb:	49 83 78 18 10       	cmpq   $0x10,0x18(%r8)
1403152d0:	72 03                	jb     0x1403152d5
1403152d2:	49 8b 00             	mov    (%r8),%rax
1403152d5:	c6 00 00             	movb   $0x0,(%rax)
1403152d8:	48 85 d2             	test   %rdx,%rdx
1403152db:	74 16                	je     0x1403152f3
1403152dd:	b8 80 00 00 00       	mov    $0x80,%eax
1403152e2:	66 39 01             	cmp    %ax,(%rcx)
1403152e5:	49 8b c8             	mov    %r8,%rcx
1403152e8:	72 04                	jb     0x1403152ee
1403152ea:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1403152ee:	e9 9d de da ff       	jmp    0x1400c3190
1403152f3:	c3                   	ret
1403152f4:	cc                   	int3
1403152f5:	cc                   	int3
1403152f6:	cc                   	int3
1403152f7:	cc                   	int3
1403152f8:	cc                   	int3
1403152f9:	cc                   	int3
1403152fa:	cc                   	int3
1403152fb:	cc                   	int3
1403152fc:	cc                   	int3
1403152fd:	cc                   	int3
1403152fe:	cc                   	int3
1403152ff:	cc                   	int3
140315300:	48 83 ec 38          	sub    $0x38,%rsp
140315304:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140315309:	4c 8b d1             	mov    %rcx,%r10
14031530c:	49 63 08             	movslq (%r8),%rcx
14031530f:	49 8b d8             	mov    %r8,%rbx
140315312:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
140315317:	49 8b f1             	mov    %r9,%rsi
14031531a:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14031531f:	48 8b f9             	mov    %rcx,%rdi
140315322:	46 0f b6 0c 11       	movzbl (%rcx,%r10,1),%r9d
140315327:	44 8d 41 01          	lea    0x1(%rcx),%r8d
14031532b:	44 89 03             	mov    %r8d,(%rbx)
14031532e:	45 84 c9             	test   %r9b,%r9b
140315331:	0f 89 c3 00 00 00    	jns    0x1403153fa
140315337:	41 81 f9 e0 00 00 00 	cmp    $0xe0,%r9d
14031533e:	72 71                	jb     0x1403153b1
140315340:	41 81 f9 f0 00 00 00 	cmp    $0xf0,%r9d
140315347:	73 68                	jae    0x1403153b1
140315349:	41 8d 40 01          	lea    0x1(%r8),%eax
14031534d:	3b c2                	cmp    %edx,%eax
14031534f:	7c 04                	jl     0x140315355
140315351:	85 d2                	test   %edx,%edx
140315353:	79 5c                	jns    0x1403153b1
140315355:	46 0f b6 5c 11 01    	movzbl 0x1(%rcx,%r10,1),%r11d
14031535b:	41 8b c3             	mov    %r11d,%eax
14031535e:	48 89 6c 24 48       	mov    %rbp,0x48(%rsp)
140315363:	c1 e8 05             	shr    $0x5,%eax
140315366:	48 8d 2d 8b e6 0a 00 	lea    0xae68b(%rip),%rbp        # 0x1403c39f8
14031536d:	0f b6 c8             	movzbl %al,%ecx
140315370:	41 8b c1             	mov    %r9d,%eax
140315373:	83 e0 0f             	and    $0xf,%eax
140315376:	0f be 04 28          	movsbl (%rax,%rbp,1),%eax
14031537a:	0f a3 c8             	bt     %ecx,%eax
14031537d:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140315382:	73 2d                	jae    0x1403153b1
140315384:	42 0f b6 44 17 02    	movzbl 0x2(%rdi,%r10,1),%eax
14031538a:	04 80                	add    $0x80,%al
14031538c:	3c 3f                	cmp    $0x3f,%al
14031538e:	77 21                	ja     0x1403153b1
140315390:	41 83 e1 0f          	and    $0xf,%r9d
140315394:	0f b6 c0             	movzbl %al,%eax
140315397:	41 c1 e1 06          	shl    $0x6,%r9d
14031539b:	41 83 e3 3f          	and    $0x3f,%r11d
14031539f:	45 0b cb             	or     %r11d,%r9d
1403153a2:	41 c1 e1 06          	shl    $0x6,%r9d
1403153a6:	44 0b c8             	or     %eax,%r9d
1403153a9:	41 8d 40 02          	lea    0x2(%r8),%eax
1403153ad:	89 03                	mov    %eax,(%rbx)
1403153af:	eb 49                	jmp    0x1403153fa
1403153b1:	41 8d 81 3e ff ff ff 	lea    -0xc2(%r9),%eax
1403153b8:	83 f8 1d             	cmp    $0x1d,%eax
1403153bb:	77 27                	ja     0x1403153e4
1403153bd:	44 3b c2             	cmp    %edx,%r8d
1403153c0:	74 22                	je     0x1403153e4
1403153c2:	42 0f b6 44 17 01    	movzbl 0x1(%rdi,%r10,1),%eax
1403153c8:	04 80                	add    $0x80,%al
1403153ca:	3c 3f                	cmp    $0x3f,%al
1403153cc:	77 16                	ja     0x1403153e4
1403153ce:	41 83 e1 1f          	and    $0x1f,%r9d
1403153d2:	0f b6 c0             	movzbl %al,%eax
1403153d5:	41 c1 e1 06          	shl    $0x6,%r9d
1403153d9:	44 0b c8             	or     %eax,%r9d
1403153dc:	41 8d 40 01          	lea    0x1(%r8),%eax
1403153e0:	89 03                	mov    %eax,(%rbx)
1403153e2:	eb 16                	jmp    0x1403153fa
1403153e4:	44 8b c2             	mov    %edx,%r8d
1403153e7:	c6 44 24 20 ff       	movb   $0xff,0x20(%rsp)
1403153ec:	48 8b d3             	mov    %rbx,%rdx
1403153ef:	49 8b ca             	mov    %r10,%rcx
1403153f2:	e8 d9 04 00 00       	call   0x1403158d0
1403153f7:	44 8b c8             	mov    %eax,%r9d
1403153fa:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
1403153ff:	41 8d 81 00 28 ff ff 	lea    -0xd800(%r9),%eax
140315406:	44 89 0e             	mov    %r9d,(%rsi)
140315409:	ff 0b                	decl   (%rbx)
14031540b:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140315410:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140315415:	3d ff 07 00 00       	cmp    $0x7ff,%eax
14031541a:	76 10                	jbe    0x14031542c
14031541c:	41 81 f9 00 00 11 00 	cmp    $0x110000,%r9d
140315423:	73 07                	jae    0x14031542c
140315425:	b0 01                	mov    $0x1,%al
140315427:	48 83 c4 38          	add    $0x38,%rsp
14031542b:	c3                   	ret
14031542c:	32 c0                	xor    %al,%al
14031542e:	48 83 c4 38          	add    $0x38,%rsp
140315432:	c3                   	ret
140315433:	cc                   	int3
140315434:	cc                   	int3
140315435:	cc                   	int3
140315436:	cc                   	int3
140315437:	cc                   	int3
140315438:	cc                   	int3
140315439:	cc                   	int3
14031543a:	cc                   	int3
14031543b:	cc                   	int3
14031543c:	cc                   	int3
14031543d:	cc                   	int3
14031543e:	cc                   	int3
14031543f:	cc                   	int3
140315440:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140315445:	4d 63 18             	movslq (%r8),%r11
140315448:	46 0f b7 14 59       	movzwl (%rcx,%r11,2),%r10d
14031544d:	41 8b c2             	mov    %r10d,%eax
140315450:	25 00 f8 ff ff       	and    $0xfffff800,%eax
140315455:	3d 00 d8 00 00       	cmp    $0xd800,%eax
14031545a:	75 3c                	jne    0x140315498
14031545c:	66 41 0f ba e2 0a    	bt     $0xa,%r10w
140315462:	72 56                	jb     0x1403154ba
140315464:	41 8d 43 01          	lea    0x1(%r11),%eax
140315468:	3b c2                	cmp    %edx,%eax