140095145:	33 c0                	xor    %eax,%eax
140095147:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
14009514b:	48 33 cd             	xor    %rbp,%rcx
14009514e:	e8 7d a1 fd ff       	call   0x14006f2d0
140095153:	48 8d 65 48          	lea    0x48(%rbp),%rsp
140095157:	41 5f                	pop    %r15
140095159:	41 5e                	pop    %r14
14009515b:	41 5d                	pop    %r13
14009515d:	41 5c                	pop    %r12
14009515f:	5f                   	pop    %rdi
140095160:	5e                   	pop    %rsi
140095161:	5b                   	pop    %rbx
140095162:	5d                   	pop    %rbp
140095163:	c3                   	ret
140095164:	b8 02 00 00 00       	mov    $0x2,%eax
140095169:	eb dc                	jmp    0x140095147
14009516b:	cc                   	int3
14009516c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140095171:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140095176:	55                   	push   %rbp
140095177:	57                   	push   %rdi
140095178:	41 54                	push   %r12
14009517a:	41 56                	push   %r14
14009517c:	41 57                	push   %r15
14009517e:	48 8b ec             	mov    %rsp,%rbp
140095181:	48 83 ec 70          	sub    $0x70,%rsp
140095185:	45 33 e4             	xor    %r12d,%r12d
140095188:	4d 8b f9             	mov    %r9,%r15
14009518b:	49 8b d8             	mov    %r8,%rbx
14009518e:	48 8b fa             	mov    %rdx,%rdi
140095191:	48 8b f1             	mov    %rcx,%rsi
140095194:	48 85 c9             	test   %rcx,%rcx
140095197:	75 17                	jne    0x1400951b0
140095199:	e8 26 90 fe ff       	call   0x14007e1c4
14009519e:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400951a4:	e8 3b 96 ff ff       	call   0x14008e7e4
1400951a9:	33 c0                	xor    %eax,%eax
1400951ab:	e9 16 01 00 00       	jmp    0x1400952c6
1400951b0:	48 85 ff             	test   %rdi,%rdi
1400951b3:	74 e4                	je     0x140095199
1400951b5:	66 44 89 21          	mov    %r12w,(%rcx)
1400951b9:	48 85 db             	test   %rbx,%rbx
1400951bc:	74 db                	je     0x140095199
1400951be:	48 8b 55 58          	mov    0x58(%rbp),%rdx
1400951c2:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
1400951c6:	e8 d5 07 fe ff       	call   0x1400759a0
1400951cb:	4c 8b 75 50          	mov    0x50(%rbp),%r14
1400951cf:	4d 85 f6             	test   %r14,%r14
1400951d2:	75 0b                	jne    0x1400951df
1400951d4:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
1400951d8:	4c 8b b0 20 01 00 00 	mov    0x120(%rax),%r14
1400951df:	48 8b ce             	mov    %rsi,%rcx
1400951e2:	48 8b c7             	mov    %rdi,%rax
1400951e5:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
1400951e9:	48 89 45 30          	mov    %rax,0x30(%rbp)
1400951ed:	0f b7 13             	movzwl (%rbx),%edx
1400951f0:	66 85 d2             	test   %dx,%dx
1400951f3:	0f 84 8e 00 00 00    	je     0x140095287
1400951f9:	66 83 fa 25          	cmp    $0x25,%dx
1400951fd:	74 1c                	je     0x14009521b
1400951ff:	66 89 11             	mov    %dx,(%rcx)
140095202:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
140095206:	48 8b 45 30          	mov    0x30(%rbp),%rax
14009520a:	48 83 c1 02          	add    $0x2,%rcx
14009520e:	48 ff c8             	dec    %rax
140095211:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
140095215:	48 89 45 30          	mov    %rax,0x30(%rbp)
140095219:	eb 5f                	jmp    0x14009527a
14009521b:	4d 85 ff             	test   %r15,%r15
14009521e:	74 7f                	je     0x14009529f
140095220:	48 83 c3 02          	add    $0x2,%rbx
140095224:	41 8a c4             	mov    %r12b,%al
140095227:	0f b7 13             	movzwl (%rbx),%edx
14009522a:	66 83 fa 23          	cmp    $0x23,%dx
14009522e:	75 09                	jne    0x140095239
140095230:	48 83 c3 02          	add    $0x2,%rbx
140095234:	b0 01                	mov    $0x1,%al
140095236:	0f b7 13             	movzwl (%rbx),%edx
140095239:	66 83 fa 45          	cmp    $0x45,%dx
14009523d:	74 06                	je     0x140095245
14009523f:	66 83 fa 4f          	cmp    $0x4f,%dx
140095243:	75 07                	jne    0x14009524c
140095245:	48 83 c3 02          	add    $0x2,%rbx
140095249:	0f b7 13             	movzwl (%rbx),%edx
14009524c:	88 44 24 30          	mov    %al,0x30(%rsp)
140095250:	4c 8d 4d d0          	lea    -0x30(%rbp),%r9
140095254:	48 8d 45 30          	lea    0x30(%rbp),%rax
140095258:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
14009525d:	4d 8b c7             	mov    %r15,%r8
140095260:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140095265:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140095269:	e8 ce 02 00 00       	call   0x14009553c
14009526e:	84 c0                	test   %al,%al
140095270:	48 8b 45 30          	mov    0x30(%rbp),%rax
140095274:	74 20                	je     0x140095296
140095276:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
14009527a:	48 83 c3 02          	add    $0x2,%rbx
14009527e:	48 85 c0             	test   %rax,%rax
140095281:	0f 85 66 ff ff ff    	jne    0x1400951ed
140095287:	48 85 c0             	test   %rax,%rax
14009528a:	74 53                	je     0x1400952df
14009528c:	66 44 89 21          	mov    %r12w,(%rcx)
140095290:	48 2b 7d 30          	sub    0x30(%rbp),%rdi
140095294:	eb 1c                	jmp    0x1400952b2
140095296:	48 85 c0             	test   %rax,%rax
140095299:	74 44                	je     0x1400952df
14009529b:	66 44 89 26          	mov    %r12w,(%rsi)
14009529f:	e8 20 8f fe ff       	call   0x14007e1c4
1400952a4:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400952aa:	e8 35 95 ff ff       	call   0x14008e7e4
1400952af:	49 8b fc             	mov    %r12,%rdi
1400952b2:	44 38 65 f0          	cmp    %r12b,-0x10(%rbp)
1400952b6:	74 0b                	je     0x1400952c3
1400952b8:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
1400952bc:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
1400952c3:	48 8b c7             	mov    %rdi,%rax
1400952c6:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1400952cb:	49 8b 5b 38          	mov    0x38(%r11),%rbx
1400952cf:	49 8b 73 40          	mov    0x40(%r11),%rsi
1400952d3:	49 8b e3             	mov    %r11,%rsp
1400952d6:	41 5f                	pop    %r15
1400952d8:	41 5e                	pop    %r14
1400952da:	41 5c                	pop    %r12
1400952dc:	5f                   	pop    %rdi
1400952dd:	5d                   	pop    %rbp
1400952de:	c3                   	ret
1400952df:	66 44 89 26          	mov    %r12w,(%rsi)
1400952e3:	48 85 c0             	test   %rax,%rax
1400952e6:	75 b7                	jne    0x14009529f
1400952e8:	e8 d7 8e fe ff       	call   0x14007e1c4
1400952ed:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
1400952f3:	eb ba                	jmp    0x1400952af
1400952f5:	cc                   	int3
1400952f6:	cc                   	int3
1400952f7:	cc                   	int3
1400952f8:	48 8b c4             	mov    %rsp,%rax
1400952fb:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400952ff:	48 89 68 10          	mov    %rbp,0x10(%rax)
140095303:	48 89 70 18          	mov    %rsi,0x18(%rax)
140095307:	48 89 78 20          	mov    %rdi,0x20(%rax)
14009530b:	41 56                	push   %r14
14009530d:	44 0f b7 5c 24 30    	movzwl 0x30(%rsp),%r11d
140095313:	45 33 f6             	xor    %r14d,%r14d
140095316:	4c 63 d2             	movslq %edx,%r10
140095319:	8b d9                	mov    %ecx,%ebx
14009531b:	41 8b d2             	mov    %r10d,%edx
14009531e:	66 45 85 db          	test   %r11w,%r11w
140095322:	0f 85 99 00 00 00    	jne    0x1400953c1
140095328:	49 8b 01             	mov    (%r9),%rax
14009532b:	4d 8b 18             	mov    (%r8),%r11
14009532e:	48 83 f8 01          	cmp    $0x1,%rax
140095332:	76 6a                	jbe    0x14009539e
140095334:	b8 67 66 66 66       	mov    $0x66666667,%eax
140095339:	4d 8b d3             	mov    %r11,%r10
14009533c:	f7 eb                	imul   %ebx
14009533e:	c1 fa 02             	sar    $0x2,%edx
140095341:	8b c2                	mov    %edx,%eax
140095343:	c1 e8 1f             	shr    $0x1f,%eax
140095346:	03 d0                	add    %eax,%edx
140095348:	0f b7 c2             	movzwl %dx,%eax
14009534b:	66 c1 e0 02          	shl    $0x2,%ax
14009534f:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
140095352:	66 03 c9             	add    %cx,%cx
140095355:	66 2b d9             	sub    %cx,%bx
140095358:	66 83 c3 30          	add    $0x30,%bx
14009535c:	66 41 89 1b          	mov    %bx,(%r11)
140095360:	49 83 c3 02          	add    $0x2,%r11
140095364:	49 8b 01             	mov    (%r9),%rax
140095367:	8b da                	mov    %edx,%ebx
140095369:	48 ff c8             	dec    %rax
14009536c:	49 89 01             	mov    %rax,(%r9)
14009536f:	85 d2                	test   %edx,%edx
140095371:	7e 06                	jle    0x140095379
140095373:	48 83 f8 01          	cmp    $0x1,%rax
140095377:	77 bb                	ja     0x140095334
140095379:	49 8b 10             	mov    (%r8),%rdx
14009537c:	4d 89 18             	mov    %r11,(%r8)
14009537f:	eb 16                	jmp    0x140095397
140095381:	0f b7 02             	movzwl (%rdx),%eax
140095384:	41 0f b7 0a          	movzwl (%r10),%ecx
140095388:	66 41 89 02          	mov    %ax,(%r10)
14009538c:	49 83 ea 02          	sub    $0x2,%r10
140095390:	66 89 0a             	mov    %cx,(%rdx)
140095393:	48 83 c2 02          	add    $0x2,%rdx
140095397:	49 3b d2             	cmp    %r10,%rdx
14009539a:	72 e5                	jb     0x140095381
14009539c:	eb 0c                	jmp    0x1400953aa
14009539e:	48 03 c0             	add    %rax,%rax
1400953a1:	4c 2b d8             	sub    %rax,%r11
1400953a4:	4d 89 18             	mov    %r11,(%r8)
1400953a7:	4d 89 31             	mov    %r14,(%r9)
1400953aa:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
1400953af:	48 8b 6c 24 18       	mov    0x18(%rsp),%rbp
1400953b4:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
1400953b9:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
1400953be:	41 5e                	pop    %r14
1400953c0:	c3                   	ret
1400953c1:	4d 3b 11             	cmp    (%r9),%r10
1400953c4:	73 e1                	jae    0x1400953a7
1400953c6:	41 ff ca             	dec    %r10d
1400953c9:	41 8b ce             	mov    %r14d,%ecx
1400953cc:	85 d2                	test   %edx,%edx
1400953ce:	74 63                	je     0x140095433
1400953d0:	49 63 c2             	movslq %r10d,%rax
1400953d3:	48 8d 3c 00          	lea    (%rax,%rax,1),%rdi
1400953d7:	49 8b 28             	mov    (%r8),%rbp
1400953da:	41 8b f2             	mov    %r10d,%esi
1400953dd:	85 db                	test   %ebx,%ebx
1400953df:	74 2a                	je     0x14009540b
1400953e1:	b8 67 66 66 66       	mov    $0x66666667,%eax
1400953e6:	f7 eb                	imul   %ebx
1400953e8:	c1 fa 02             	sar    $0x2,%edx
1400953eb:	8b c2                	mov    %edx,%eax
1400953ed:	c1 e8 1f             	shr    $0x1f,%eax
1400953f0:	03 d0                	add    %eax,%edx
1400953f2:	0f b7 c2             	movzwl %dx,%eax
1400953f5:	66 c1 e0 02          	shl    $0x2,%ax
1400953f9:	66 03 d0             	add    %ax,%dx
1400953fc:	0f b7 c3             	movzwl %bx,%eax
1400953ff:	66 03 d2             	add    %dx,%dx
140095402:	66 2b c2             	sub    %dx,%ax
140095405:	66 83 c0 30          	add    $0x30,%ax
140095409:	eb 04                	jmp    0x14009540f
14009540b:	41 0f b7 c3          	movzwl %r11w,%eax
14009540f:	66 89 04 2f          	mov    %ax,(%rdi,%rbp,1)
140095413:	ff c1                	inc    %ecx
140095415:	b8 67 66 66 66       	mov    $0x66666667,%eax
14009541a:	41 ff ca             	dec    %r10d
14009541d:	f7 eb                	imul   %ebx
14009541f:	48 83 ef 02          	sub    $0x2,%rdi
140095423:	8b da                	mov    %edx,%ebx
140095425:	c1 fb 02             	sar    $0x2,%ebx
140095428:	8b c3                	mov    %ebx,%eax
14009542a:	c1 e8 1f             	shr    $0x1f,%eax
14009542d:	03 d8                	add    %eax,%ebx
14009542f:	85 f6                	test   %esi,%esi
140095431:	75 a4                	jne    0x1400953d7
140095433:	48 63 c9             	movslq %ecx,%rcx
140095436:	48 8d 04 09          	lea    (%rcx,%rcx,1),%rax
14009543a:	49 01 00             	add    %rax,(%r8)
14009543d:	49 29 09             	sub    %rcx,(%r9)
140095440:	e9 65 ff ff ff       	jmp    0x1400953aa
140095445:	cc                   	int3
140095446:	cc                   	int3
140095447:	cc                   	int3
140095448:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14009544d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140095452:	57                   	push   %rdi
140095453:	48 83 ec 20          	sub    $0x20,%rsp
140095457:	44 8d 4a 06          	lea    0x6(%rdx),%r9d
14009545b:	8b f2                	mov    %edx,%esi
14009545d:	44 8b d1             	mov    %ecx,%r10d
140095460:	b8 93 24 49 92       	mov    $0x92492493,%eax
140095465:	41 f7 e9             	imul   %r9d
140095468:	41 8b c8             	mov    %r8d,%ecx
14009546b:	41 8b d8             	mov    %r8d,%ebx
14009546e:	41 03 d1             	add    %r9d,%edx
140095471:	c1 fa 02             	sar    $0x2,%edx
140095474:	8b c2                	mov    %edx,%eax
140095476:	c1 e8 1f             	shr    $0x1f,%eax
140095479:	03 d0                	add    %eax,%edx
14009547b:	6b c2 07             	imul   $0x7,%edx,%eax
14009547e:	44 2b c8             	sub    %eax,%r9d
140095481:	b8 93 24 49 92       	mov    $0x92492493,%eax
140095486:	41 2b c9             	sub    %r9d,%ecx
140095489:	83 c1 07             	add    $0x7,%ecx
14009548c:	f7 e9                	imul   %ecx
14009548e:	8d 3c 11             	lea    (%rcx,%rdx,1),%edi
140095491:	41 8b ca             	mov    %r10d,%ecx
140095494:	c1 ff 02             	sar    $0x2,%edi
140095497:	8b c7                	mov    %edi,%eax
140095499:	c1 e8 1f             	shr    $0x1f,%eax
14009549c:	03 f8                	add    %eax,%edi
14009549e:	e8 1d 97 fe ff       	call   0x14007ebc0
1400954a3:	44 0f b6 c0          	movzbl %al,%r8d
1400954a7:	2b f3                	sub    %ebx,%esi
1400954a9:	81 c6 73 01 00 00    	add    $0x173,%esi
1400954af:	b8 93 24 49 92       	mov    $0x92492493,%eax
1400954b4:	f7 ee                	imul   %esi
1400954b6:	b8 93 24 49 92       	mov    $0x92492493,%eax
1400954bb:	44 8b cb             	mov    %ebx,%r9d
1400954be:	03 d6                	add    %esi,%edx
1400954c0:	45 2b c8             	sub    %r8d,%r9d
1400954c3:	c1 fa 02             	sar    $0x2,%edx
1400954c6:	8b ca                	mov    %edx,%ecx
1400954c8:	c1 e9 1f             	shr    $0x1f,%ecx
1400954cb:	03 d1                	add    %ecx,%edx
1400954cd:	6b ca 07             	imul   $0x7,%edx,%ecx
1400954d0:	2b f1                	sub    %ecx,%esi
1400954d2:	41 8d 88 6d 01 00 00 	lea    0x16d(%r8),%ecx
1400954d9:	03 ce                	add    %esi,%ecx
1400954db:	f7 e9                	imul   %ecx
1400954dd:	03 d1                	add    %ecx,%edx
1400954df:	c1 fa 02             	sar    $0x2,%edx
1400954e2:	8b c2                	mov    %edx,%eax
1400954e4:	c1 e8 1f             	shr    $0x1f,%eax
1400954e7:	03 d0                	add    %eax,%edx
1400954e9:	6b c2 07             	imul   $0x7,%edx,%eax
1400954ec:	2b c8                	sub    %eax,%ecx
1400954ee:	41 81 f9 6c 01 00 00 	cmp    $0x16c,%r9d
1400954f5:	7c 05                	jl     0x1400954fc
1400954f7:	83 f9 02             	cmp    $0x2,%ecx
1400954fa:	74 1c                	je     0x140095518
1400954fc:	41 81 f9 6b 01 00 00 	cmp    $0x16b,%r9d
140095503:	7c 05                	jl     0x14009550a
140095505:	83 f9 03             	cmp    $0x3,%ecx
140095508:	74 0e                	je     0x140095518
14009550a:	41 81 f9 6a 01 00 00 	cmp    $0x16a,%r9d
140095511:	7c 0a                	jl     0x14009551d
140095513:	83 f9 04             	cmp    $0x4,%ecx
140095516:	75 05                	jne    0x14009551d
140095518:	83 c8 ff             	or     $0xffffffff,%eax
14009551b:	eb 0d                	jmp    0x14009552a
14009551d:	8d 4e fe             	lea    -0x2(%rsi),%ecx
140095520:	8b c7                	mov    %edi,%eax
140095522:	83 f9 02             	cmp    $0x2,%ecx
140095525:	77 03                	ja     0x14009552a
140095527:	8d 47 01             	lea    0x1(%rdi),%eax
14009552a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14009552f:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140095534:	48 83 c4 20          	add    $0x20,%rsp
140095538:	5f                   	pop    %rdi
140095539:	c3                   	ret
14009553a:	cc                   	int3
14009553b:	cc                   	int3
14009553c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140095541:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140095546:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14009554b:	55                   	push   %rbp
14009554c:	41 54                	push   %r12
14009554e:	41 55                	push   %r13
140095550:	41 56                	push   %r14
140095552:	41 57                	push   %r15
140095554:	48 8b ec             	mov    %rsp,%rbp
140095557:	48 83 ec 50          	sub    $0x50,%rsp
14009555b:	49 8b f9             	mov    %r9,%rdi
14009555e:	49 8b f0             	mov    %r8,%rsi
140095561:	44 0f b7 ca          	movzwl %dx,%r9d
140095565:	4c 8b f1             	mov    %rcx,%r14
140095568:	41 8b d1             	mov    %r9d,%edx
14009556b:	41 83 f9 5a          	cmp    $0x5a,%r9d
14009556f:	0f 86 04 08 00 00    	jbe    0x140095d79
140095575:	83 fa 6e             	cmp    $0x6e,%edx
140095578:	0f 87 39 04 00 00    	ja     0x1400959b7
14009557e:	0f 84 fa 03 00 00    	je     0x14009597e
140095584:	83 ea 61             	sub    $0x61,%edx
140095587:	0f 84 91 03 00 00    	je     0x14009591e
14009558d:	83 ea 01             	sub    $0x1,%edx
140095590:	0f 84 3b 03 00 00    	je     0x1400958d1
140095596:	83 ea 01             	sub    $0x1,%edx