14002dff2:	83 65 a0 00          	andl   $0x0,-0x60(%rbp)
14002dff6:	48 8d 4d a4          	lea    -0x5c(%rbp),%rcx
14002dffa:	45 33 c9             	xor    %r9d,%r9d
14002dffd:	ba cc 01 00 00       	mov    $0x1cc,%edx
14002e002:	e8 65 e8 fe ff       	call   0x14001c86c
14002e007:	48 8d 95 70 01 00 00 	lea    0x170(%rbp),%rdx
14002e00e:	48 8d 4d a0          	lea    -0x60(%rbp),%rcx
14002e012:	e8 99 d7 fe ff       	call   0x14001b7b0
14002e017:	8b 7c 24 30          	mov    0x30(%rsp),%edi
14002e01b:	83 f8 0a             	cmp    $0xa,%eax
14002e01e:	0f 85 90 00 00 00    	jne    0x14002e0b4
14002e024:	41 03 ff             	add    %r15d,%edi
14002e027:	c6 06 31             	movb   $0x31,(%rsi)
14002e02a:	48 8d 5e 01          	lea    0x1(%rsi),%rbx
14002e02e:	45 85 e4             	test   %r12d,%r12d
14002e031:	0f 84 8e 00 00 00    	je     0x14002e0c5
14002e037:	45 33 c0             	xor    %r8d,%r8d
14002e03a:	45 33 c9             	xor    %r9d,%r9d
14002e03d:	42 8b 84 8d 74 01 00 	mov    0x174(%rbp,%r9,4),%eax
14002e044:	00
14002e045:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
14002e049:	41 8b c0             	mov    %r8d,%eax
14002e04c:	4c 8d 04 48          	lea    (%rax,%rcx,2),%r8
14002e050:	46 89 84 8d 74 01 00 	mov    %r8d,0x174(%rbp,%r9,4)
14002e057:	00
14002e058:	45 03 cf             	add    %r15d,%r9d
14002e05b:	49 c1 e8 20          	shr    $0x20,%r8
14002e05f:	45 3b cc             	cmp    %r12d,%r9d
14002e062:	75 d9                	jne    0x14002e03d
14002e064:	45 85 c0             	test   %r8d,%r8d
14002e067:	74 5c                	je     0x14002e0c5
14002e069:	83 bd 70 01 00 00 73 	cmpl   $0x73,0x170(%rbp)
14002e070:	73 17                	jae    0x14002e089
14002e072:	8b 85 70 01 00 00    	mov    0x170(%rbp),%eax
14002e078:	44 89 84 85 74 01 00 	mov    %r8d,0x174(%rbp,%rax,4)
14002e07f:	00
14002e080:	44 01 bd 70 01 00 00 	add    %r15d,0x170(%rbp)
14002e087:	eb 3c                	jmp    0x14002e0c5
14002e089:	83 a5 40 03 00 00 00 	andl   $0x0,0x340(%rbp)
14002e090:	4c 8d 85 44 03 00 00 	lea    0x344(%rbp),%r8
14002e097:	83 a5 70 01 00 00 00 	andl   $0x0,0x170(%rbp)
14002e09e:	48 8d 8d 74 01 00 00 	lea    0x174(%rbp),%rcx
14002e0a5:	45 33 c9             	xor    %r9d,%r9d
14002e0a8:	ba cc 01 00 00       	mov    $0x1cc,%edx
14002e0ad:	e8 ba e7 fe ff       	call   0x14001c86c
14002e0b2:	eb 11                	jmp    0x14002e0c5
14002e0b4:	85 c0                	test   %eax,%eax
14002e0b6:	75 05                	jne    0x14002e0bd
14002e0b8:	41 2b ff             	sub    %r15d,%edi
14002e0bb:	eb 08                	jmp    0x14002e0c5
14002e0bd:	04 30                	add    $0x30,%al
14002e0bf:	48 8d 5e 01          	lea    0x1(%rsi),%rbx
14002e0c3:	88 06                	mov    %al,(%rsi)
14002e0c5:	48 8b 45 98          	mov    -0x68(%rbp),%rax
14002e0c9:	89 78 04             	mov    %edi,0x4(%rax)
14002e0cc:	8b 44 24 60          	mov    0x60(%rsp),%eax
14002e0d0:	85 ff                	test   %edi,%edi
14002e0d2:	78 10                	js     0x14002e0e4
14002e0d4:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14002e0d9:	77 09                	ja     0x14002e0e4
14002e0db:	83 7c 24 64 00       	cmpl   $0x0,0x64(%rsp)
14002e0e0:	75 02                	jne    0x14002e0e4
14002e0e2:	03 c7                	add    %edi,%eax
14002e0e4:	8b f8                	mov    %eax,%edi
14002e0e6:	48 8b 85 58 07 00 00 	mov    0x758(%rbp),%rax
14002e0ed:	48 ff c8             	dec    %rax
14002e0f0:	48 3b c7             	cmp    %rdi,%rax
14002e0f3:	48 0f 42 f8          	cmovb  %rax,%rdi
14002e0f7:	48 03 fe             	add    %rsi,%rdi
14002e0fa:	40 32 f6             	xor    %sil,%sil
14002e0fd:	48 3b df             	cmp    %rdi,%rbx
14002e100:	0f 84 f2 00 00 00    	je     0x14002e1f8
14002e106:	41 be 09 00 00 00    	mov    $0x9,%r14d
14002e10c:	44 8b 4d a0          	mov    -0x60(%rbp),%r9d
14002e110:	45 85 c9             	test   %r9d,%r9d
14002e113:	0f 84 e3 00 00 00    	je     0x14002e1fc
14002e119:	45 33 c0             	xor    %r8d,%r8d
14002e11c:	45 33 d2             	xor    %r10d,%r10d
14002e11f:	42 8b 44 95 a4       	mov    -0x5c(%rbp,%r10,4),%eax
14002e124:	48 69 c8 00 ca 9a 3b 	imul   $0x3b9aca00,%rax,%rcx
14002e12b:	41 8b c0             	mov    %r8d,%eax
14002e12e:	48 03 c8             	add    %rax,%rcx
14002e131:	4c 8b c1             	mov    %rcx,%r8
14002e134:	42 89 4c 95 a4       	mov    %ecx,-0x5c(%rbp,%r10,4)
14002e139:	49 c1 e8 20          	shr    $0x20,%r8
14002e13d:	45 03 d7             	add    %r15d,%r10d
14002e140:	45 3b d1             	cmp    %r9d,%r10d
14002e143:	75 da                	jne    0x14002e11f
14002e145:	45 85 c0             	test   %r8d,%r8d
14002e148:	74 37                	je     0x14002e181
14002e14a:	83 7d a0 73          	cmpl   $0x73,-0x60(%rbp)
14002e14e:	73 0e                	jae    0x14002e15e
14002e150:	8b 45 a0             	mov    -0x60(%rbp),%eax
14002e153:	44 89 44 85 a4       	mov    %r8d,-0x5c(%rbp,%rax,4)
14002e158:	44 01 7d a0          	add    %r15d,-0x60(%rbp)
14002e15c:	eb 23                	jmp    0x14002e181
14002e15e:	83 a5 40 03 00 00 00 	andl   $0x0,0x340(%rbp)
14002e165:	4c 8d 85 44 03 00 00 	lea    0x344(%rbp),%r8
14002e16c:	83 65 a0 00          	andl   $0x0,-0x60(%rbp)
14002e170:	48 8d 4d a4          	lea    -0x5c(%rbp),%rcx
14002e174:	45 33 c9             	xor    %r9d,%r9d
14002e177:	ba cc 01 00 00       	mov    $0x1cc,%edx
14002e17c:	e8 eb e6 fe ff       	call   0x14001c86c
14002e181:	48 8d 95 70 01 00 00 	lea    0x170(%rbp),%rdx
14002e188:	48 8d 4d a0          	lea    -0x60(%rbp),%rcx
14002e18c:	e8 1f d6 fe ff       	call   0x14001b7b0
14002e191:	44 8b d7             	mov    %edi,%r10d
14002e194:	4c 8b c0             	mov    %rax,%r8
14002e197:	44 2b d3             	sub    %ebx,%r10d
14002e19a:	41 b9 08 00 00 00    	mov    $0x8,%r9d
14002e1a0:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
14002e1a5:	41 f7 e0             	mul    %r8d
14002e1a8:	c1 ea 03             	shr    $0x3,%edx
14002e1ab:	8a ca                	mov    %dl,%cl
14002e1ad:	c0 e1 02             	shl    $0x2,%cl
14002e1b0:	8d 04 11             	lea    (%rcx,%rdx,1),%eax
14002e1b3:	02 c0                	add    %al,%al
14002e1b5:	44 2a c0             	sub    %al,%r8b
14002e1b8:	41 8d 48 30          	lea    0x30(%r8),%ecx
14002e1bc:	44 8b c2             	mov    %edx,%r8d
14002e1bf:	45 3b d1             	cmp    %r9d,%r10d
14002e1c2:	77 0a                	ja     0x14002e1ce
14002e1c4:	80 f9 30             	cmp    $0x30,%cl
14002e1c7:	74 0b                	je     0x14002e1d4
14002e1c9:	41 8a f7             	mov    %r15b,%sil
14002e1cc:	eb 06                	jmp    0x14002e1d4
14002e1ce:	41 8b c1             	mov    %r9d,%eax
14002e1d1:	88 0c 18             	mov    %cl,(%rax,%rbx,1)
14002e1d4:	83 c8 ff             	or     $0xffffffff,%eax
14002e1d7:	44 03 c8             	add    %eax,%r9d
14002e1da:	44 3b c8             	cmp    %eax,%r9d
14002e1dd:	75 c1                	jne    0x14002e1a0
14002e1df:	48 8b c7             	mov    %rdi,%rax
14002e1e2:	48 2b c3             	sub    %rbx,%rax
14002e1e5:	49 3b c6             	cmp    %r14,%rax
14002e1e8:	49 0f 4f c6          	cmovg  %r14,%rax
14002e1ec:	48 03 d8             	add    %rax,%rbx
14002e1ef:	48 3b df             	cmp    %rdi,%rbx
14002e1f2:	0f 85 14 ff ff ff    	jne    0x14002e10c
14002e1f8:	44 8b 4d a0          	mov    -0x60(%rbp),%r9d
14002e1fc:	c6 03 00             	movb   $0x0,(%rbx)
14002e1ff:	45 85 c9             	test   %r9d,%r9d
14002e202:	75 05                	jne    0x14002e209
14002e204:	40 84 f6             	test   %sil,%sil
14002e207:	74 03                	je     0x14002e20c
14002e209:	45 33 ff             	xor    %r15d,%r15d
14002e20c:	44 8b 44 24 6c       	mov    0x6c(%rsp),%r8d
14002e211:	48 8d 4c 24 64       	lea    0x64(%rsp),%rcx
14002e216:	8b 54 24 68          	mov    0x68(%rsp),%edx
14002e21a:	e8 79 37 00 00       	call   0x140031998
14002e21f:	80 7c 24 78 00       	cmpb   $0x0,0x78(%rsp)
14002e224:	74 0a                	je     0x14002e230
14002e226:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
14002e22b:	e8 ec 37 00 00       	call   0x140031a1c
14002e230:	41 8b c7             	mov    %r15d,%eax
14002e233:	48 8b 8d e0 06 00 00 	mov    0x6e0(%rbp),%rcx
14002e23a:	48 33 cc             	xor    %rsp,%rcx
14002e23d:	e8 5e b1 fd ff       	call   0x1400093a0
14002e242:	48 81 c4 f0 07 00 00 	add    $0x7f0,%rsp
14002e249:	41 5f                	pop    %r15
14002e24b:	41 5e                	pop    %r14
14002e24d:	41 5c                	pop    %r12
14002e24f:	5f                   	pop    %rdi
14002e250:	5e                   	pop    %rsi
14002e251:	5b                   	pop    %rbx
14002e252:	5d                   	pop    %rbp
14002e253:	c3                   	ret
14002e254:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14002e25a:	45 33 c9             	xor    %r9d,%r9d
14002e25d:	45 33 c0             	xor    %r8d,%r8d
14002e260:	33 d2                	xor    %edx,%edx
14002e262:	33 c9                	xor    %ecx,%ecx
14002e264:	e8 3b 0d fe ff       	call   0x14000efa4
14002e269:	cc                   	int3
14002e26a:	cc                   	int3
14002e26b:	cc                   	int3
14002e26c:	33 c0                	xor    %eax,%eax
14002e26e:	4c 8b d1             	mov    %rcx,%r10
14002e271:	48 85 c9             	test   %rcx,%rcx
14002e274:	75 09                	jne    0x14002e27f
14002e276:	49 89 00             	mov    %rax,(%r8)
14002e279:	b8 01 00 00 00       	mov    $0x1,%eax
14002e27e:	c3                   	ret
14002e27f:	85 d2                	test   %edx,%edx
14002e281:	75 04                	jne    0x14002e287
14002e283:	88 01                	mov    %al,(%rcx)
14002e285:	eb ef                	jmp    0x14002e276
14002e287:	f7 c2 80 ff ff ff    	test   $0xffffff80,%edx
14002e28d:	75 04                	jne    0x14002e293
14002e28f:	88 11                	mov    %dl,(%rcx)
14002e291:	eb e6                	jmp    0x14002e279
14002e293:	f7 c2 00 f8 ff ff    	test   $0xfffff800,%edx
14002e299:	75 0a                	jne    0x14002e2a5
14002e29b:	b9 01 00 00 00       	mov    $0x1,%ecx
14002e2a0:	41 b1 c0             	mov    $0xc0,%r9b
14002e2a3:	eb 37                	jmp    0x14002e2dc
14002e2a5:	f7 c2 00 00 ff ff    	test   $0xffff0000,%edx
14002e2ab:	75 17                	jne    0x14002e2c4
14002e2ad:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
14002e2b3:	3d ff 07 00 00       	cmp    $0x7ff,%eax
14002e2b8:	76 49                	jbe    0x14002e303
14002e2ba:	b9 02 00 00 00       	mov    $0x2,%ecx
14002e2bf:	41 b1 e0             	mov    $0xe0,%r9b
14002e2c2:	eb 18                	jmp    0x14002e2dc
14002e2c4:	f7 c2 00 00 e0 ff    	test   $0xffe00000,%edx
14002e2ca:	75 37                	jne    0x14002e303
14002e2cc:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
14002e2d2:	77 2f                	ja     0x14002e303
14002e2d4:	b9 03 00 00 00       	mov    $0x3,%ecx
14002e2d9:	41 b1 f0             	mov    $0xf0,%r9b
14002e2dc:	4c 8b d9             	mov    %rcx,%r11
14002e2df:	8a c2                	mov    %dl,%al
14002e2e1:	c1 ea 06             	shr    $0x6,%edx
14002e2e4:	24 3f                	and    $0x3f,%al
14002e2e6:	0c 80                	or     $0x80,%al
14002e2e8:	43 88 04 13          	mov    %al,(%r11,%r10,1)
14002e2ec:	49 83 eb 01          	sub    $0x1,%r11
14002e2f0:	75 ed                	jne    0x14002e2df
14002e2f2:	41 0a d1             	or     %r9b,%dl
14002e2f5:	41 88 12             	mov    %dl,(%r10)
14002e2f8:	48 ff c1             	inc    %rcx
14002e2fb:	49 8b d0             	mov    %r8,%rdx
14002e2fe:	e9 39 3e 00 00       	jmp    0x14003213c
14002e303:	49 8b d1             	mov    %r9,%rdx
14002e306:	49 8b c8             	mov    %r8,%rcx
14002e309:	e9 36 3e 00 00       	jmp    0x140032144
14002e30e:	cc                   	int3
14002e30f:	cc                   	int3
14002e310:	40 53                	rex push %rbx
14002e312:	48 83 ec 40          	sub    $0x40,%rsp
14002e316:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
14002e31b:	48 8b d9             	mov    %rcx,%rbx
14002e31e:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14002e323:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14002e328:	e8 2b 3e 00 00       	call   0x140032158
14002e32d:	48 83 f8 04          	cmp    $0x4,%rax
14002e331:	77 1a                	ja     0x14002e34d
14002e333:	8b 54 24 30          	mov    0x30(%rsp),%edx
14002e337:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
14002e33c:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
14002e342:	0f 47 d1             	cmova  %ecx,%edx
14002e345:	48 85 db             	test   %rbx,%rbx
14002e348:	74 03                	je     0x14002e34d
14002e34a:	66 89 13             	mov    %dx,(%rbx)
14002e34d:	48 83 c4 40          	add    $0x40,%rsp
14002e351:	5b                   	pop    %rbx
14002e352:	c3                   	ret
14002e353:	cc                   	int3
14002e354:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14002e359:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14002e35e:	57                   	push   %rdi
14002e35f:	41 54                	push   %r12
14002e361:	41 55                	push   %r13
14002e363:	41 56                	push   %r14
14002e365:	41 57                	push   %r15
14002e367:	48 83 ec 30          	sub    $0x30,%rsp
14002e36b:	48 8b 3a             	mov    (%rdx),%rdi
14002e36e:	33 c0                	xor    %eax,%eax
14002e370:	4d 8b e1             	mov    %r9,%r12
14002e373:	49 8b e8             	mov    %r8,%rbp
14002e376:	4c 8b fa             	mov    %rdx,%r15
14002e379:	4c 8b f1             	mov    %rcx,%r14
14002e37c:	48 85 c9             	test   %rcx,%rcx
14002e37f:	0f 84 e7 00 00 00    	je     0x14002e46c
14002e385:	48 8b d9             	mov    %rcx,%rbx
14002e388:	4d 85 c0             	test   %r8,%r8
14002e38b:	0f 84 b0 00 00 00    	je     0x14002e441
14002e391:	4c 8b ac 24 80 00 00 	mov    0x80(%rsp),%r13
14002e398:	00
14002e399:	38 07                	cmp    %al,(%rdi)
14002e39b:	75 08                	jne    0x14002e3a5
14002e39d:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14002e3a3:	eb 1c                	jmp    0x14002e3c1
14002e3a5:	38 47 01             	cmp    %al,0x1(%rdi)
14002e3a8:	75 08                	jne    0x14002e3b2
14002e3aa:	41 b8 02 00 00 00    	mov    $0x2,%r8d
14002e3b0:	eb 0f                	jmp    0x14002e3c1
14002e3b2:	8a 47 02             	mov    0x2(%rdi),%al
14002e3b5:	f6 d8                	neg    %al
14002e3b7:	4d 1b c0             	sbb    %r8,%r8
14002e3ba:	49 f7 d8             	neg    %r8
14002e3bd:	49 83 c0 03          	add    $0x3,%r8
14002e3c1:	4d 8b cc             	mov    %r12,%r9
14002e3c4:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
14002e3c9:	48 8b d7             	mov    %rdi,%rdx
14002e3cc:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
14002e3d1:	e8 82 3d 00 00       	call   0x140032158
14002e3d6:	48 8b d0             	mov    %rax,%rdx
14002e3d9:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14002e3dd:	74 7b                	je     0x14002e45a
14002e3df:	33 c0                	xor    %eax,%eax
14002e3e1:	48 85 d2             	test   %rdx,%rdx
14002e3e4:	74 6c                	je     0x14002e452
14002e3e6:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
14002e3ea:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
14002e3f0:	76 3b                	jbe    0x14002e42d
14002e3f2:	48 83 fd 01          	cmp    $0x1,%rbp
14002e3f6:	76 49                	jbe    0x14002e441
14002e3f8:	81 c1 00 00 ff ff    	add    $0xffff0000,%ecx
14002e3fe:	41 b8 00 d8 00 00    	mov    $0xd800,%r8d
14002e404:	8b c1                	mov    %ecx,%eax
14002e406:	89 4c 24 60          	mov    %ecx,0x60(%rsp)
14002e40a:	c1 e8 0a             	shr    $0xa,%eax
14002e40d:	48 ff cd             	dec    %rbp
14002e410:	66 41 0b c0          	or     %r8w,%ax
14002e414:	66 89 03             	mov    %ax,(%rbx)
14002e417:	b8 ff 03 00 00       	mov    $0x3ff,%eax
14002e41c:	66 23 c8             	and    %ax,%cx
14002e41f:	48 83 c3 02          	add    $0x2,%rbx
14002e423:	b8 00 dc 00 00       	mov    $0xdc00,%eax
14002e428:	66 0b c8             	or     %ax,%cx
14002e42b:	33 c0                	xor    %eax,%eax
14002e42d:	66 89 0b             	mov    %cx,(%rbx)
14002e430:	48 03 fa             	add    %rdx,%rdi
14002e433:	48 83 c3 02          	add    $0x2,%rbx
14002e437:	48 83 ed 01          	sub    $0x1,%rbp
14002e43b:	0f 85 58 ff ff ff    	jne    0x14002e399
14002e441:	49 2b de             	sub    %r14,%rbx
14002e444:	49 89 3f             	mov    %rdi,(%r15)
14002e447:	48 d1 fb             	sar    $1,%rbx
14002e44a:	48 8b c3             	mov    %rbx,%rax
14002e44d:	e9 8c 00 00 00       	jmp    0x14002e4de
14002e452:	48 8b f8             	mov    %rax,%rdi
14002e455:	66 89 03             	mov    %ax,(%rbx)
14002e458:	eb e7                	jmp    0x14002e441
14002e45a:	49 89 3f             	mov    %rdi,(%r15)
14002e45d:	41 c6 45 30 01       	movb   $0x1,0x30(%r13)
14002e462:	41 c7 45 2c 2a 00 00 	movl   $0x2a,0x2c(%r13)
14002e469:	00
14002e46a:	eb 6e                	jmp    0x14002e4da
14002e46c:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
14002e473:	00
14002e474:	48 8b d8             	mov    %rax,%rbx
14002e477:	38 07                	cmp    %al,(%rdi)
14002e479:	75 08                	jne    0x14002e483
14002e47b:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14002e481:	eb 1c                	jmp    0x14002e49f
14002e483:	38 47 01             	cmp    %al,0x1(%rdi)
14002e486:	75 08                	jne    0x14002e490
14002e488:	41 b8 02 00 00 00    	mov    $0x2,%r8d
14002e48e:	eb 0f                	jmp    0x14002e49f
14002e490:	8a 47 02             	mov    0x2(%rdi),%al
14002e493:	f6 d8                	neg    %al
14002e495:	4d 1b c0             	sbb    %r8,%r8
14002e498:	49 f7 d8             	neg    %r8
14002e49b:	49 83 c0 03          	add    $0x3,%r8
14002e49f:	4d 8b cc             	mov    %r12,%r9
14002e4a2:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14002e4a7:	48 8b d7             	mov    %rdi,%rdx
14002e4aa:	33 c9                	xor    %ecx,%ecx