1400a02a1:	b2 aa                	mov    $0xaa,%dl
1400a02a3:	e8 68 df ff ff       	call   0x14009e210
1400a02a8:	4c 8d b4 24 3a 01 00 	lea    0x13a(%rsp),%r14
1400a02af:	00
1400a02b0:	41 c6 06 2e          	movb   $0x2e,(%r14)
1400a02b4:	48 8d b4 24 3b 01 00 	lea    0x13b(%rsp),%rsi
1400a02bb:	00
1400a02bc:	83 fb 40             	cmp    $0x40,%ebx
1400a02bf:	0f 8e cc 00 00 00    	jle    0x1400a0391
1400a02c5:	41 83 fc 75          	cmp    $0x75,%r12d
1400a02c9:	0f 82 e6 06 00 00    	jb     0x1400a09b5
1400a02cf:	41 80 c4 8b          	add    $0x8b,%r12b
1400a02d3:	49 89 f8             	mov    %rdi,%r8
1400a02d6:	44 89 e1             	mov    %r12d,%ecx
1400a02d9:	49 d3 e0             	shl    %cl,%r8
1400a02dc:	31 ff                	xor    %edi,%edi
1400a02de:	4d 85 c0             	test   %r8,%r8
1400a02e1:	74 78                	je     0x1400a035b
1400a02e3:	49 b9 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%r9
1400a02ea:	cc cc cc
1400a02ed:	49 ba 99 99 99 99 99 	movabs $0x1999999999999999,%r10
1400a02f4:	99 99 19
1400a02f7:	4c 89 c0             	mov    %r8,%rax
1400a02fa:	49 f7 e1             	mul    %r9
1400a02fd:	48 89 d1             	mov    %rdx,%rcx
1400a0300:	48 c1 e9 03          	shr    $0x3,%rcx
1400a0304:	48 8d 04 09          	lea    (%rcx,%rcx,1),%rax
1400a0308:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
1400a030c:	4d 89 c3             	mov    %r8,%r11
1400a030f:	49 29 c3             	sub    %rax,%r11
1400a0312:	43 8d 1c 5b          	lea    (%r11,%r11,2),%ebx
1400a0316:	48 89 f8             	mov    %rdi,%rax
1400a0319:	49 f7 e1             	mul    %r9
1400a031c:	48 c1 ea 03          	shr    $0x3,%rdx
1400a0320:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
1400a0323:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a0326:	29 c7                	sub    %eax,%edi
1400a0328:	8d 04 5f             	lea    (%rdi,%rbx,2),%eax
1400a032b:	4d 0f af da          	imul   %r10,%r11
1400a032f:	49 01 d3             	add    %rdx,%r11
1400a0332:	69 d0 cd 00 00 00    	imul   $0xcd,%eax,%edx
1400a0338:	0f b7 d2             	movzwl %dx,%edx
1400a033b:	c1 ea 0b             	shr    $0xb,%edx
1400a033e:	4a 8d 3c 1a          	lea    (%rdx,%r11,1),%rdi
1400a0342:	01 d2                	add    %edx,%edx
1400a0344:	8d 14 92             	lea    (%rdx,%rdx,4),%edx
1400a0347:	28 d0                	sub    %dl,%al
1400a0349:	0c 30                	or     $0x30,%al
1400a034b:	41 88 46 ff          	mov    %al,-0x1(%r14)
1400a034f:	49 ff ce             	dec    %r14
1400a0352:	49 83 f8 0a          	cmp    $0xa,%r8
1400a0356:	49 89 c8             	mov    %rcx,%r8
1400a0359:	73 9c                	jae    0x1400a02f7
1400a035b:	48 b9 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rcx
1400a0362:	cc cc cc
1400a0365:	48 89 f8             	mov    %rdi,%rax
1400a0368:	48 f7 e1             	mul    %rcx
1400a036b:	48 c1 ea 03          	shr    $0x3,%rdx
1400a036f:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
1400a0372:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a0375:	41 89 f8             	mov    %edi,%r8d
1400a0378:	41 29 c0             	sub    %eax,%r8d
1400a037b:	41 80 c8 30          	or     $0x30,%r8b
1400a037f:	45 88 46 ff          	mov    %r8b,-0x1(%r14)
1400a0383:	49 ff ce             	dec    %r14
1400a0386:	48 83 ff 0a          	cmp    $0xa,%rdi
1400a038a:	48 89 d7             	mov    %rdx,%rdi
1400a038d:	73 d6                	jae    0x1400a0365
1400a038f:	eb 39                	jmp    0x1400a03ca
1400a0391:	89 e9                	mov    %ebp,%ecx
1400a0393:	48 d3 e7             	shl    %cl,%rdi
1400a0396:	48 b9 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rcx
1400a039d:	cc cc cc
1400a03a0:	48 89 f8             	mov    %rdi,%rax
1400a03a3:	48 f7 e1             	mul    %rcx
1400a03a6:	48 c1 ea 03          	shr    $0x3,%rdx
1400a03aa:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
1400a03ad:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a03b0:	41 89 f8             	mov    %edi,%r8d
1400a03b3:	41 29 c0             	sub    %eax,%r8d
1400a03b6:	41 80 c8 30          	or     $0x30,%r8b
1400a03ba:	45 88 46 ff          	mov    %r8b,-0x1(%r14)
1400a03be:	49 ff ce             	dec    %r14
1400a03c1:	48 83 ff 0a          	cmp    $0xa,%rdi
1400a03c5:	48 89 d7             	mov    %rdx,%rdi
1400a03c8:	73 d6                	jae    0x1400a03a0
1400a03ca:	48 89 f1             	mov    %rsi,%rcx
1400a03cd:	e9 46 01 00 00       	jmp    0x1400a0518
1400a03d2:	41 83 fc b4          	cmp    $0xffffffb4,%r12d
1400a03d6:	0f 8e 5b 06 00 00    	jle    0x1400a0a37
1400a03dc:	48 8d b4 24 10 01 00 	lea    0x110(%rsp),%rsi
1400a03e3:	00
1400a03e4:	41 b8 ab 00 00 00    	mov    $0xab,%r8d
1400a03ea:	48 89 f1             	mov    %rsi,%rcx
1400a03ed:	b2 aa                	mov    $0xaa,%dl
1400a03ef:	e8 1c de ff ff       	call   0x14009e210
1400a03f4:	41 b8 35 00 00 00    	mov    $0x35,%r8d
1400a03fa:	45 29 e0             	sub    %r12d,%r8d
1400a03fd:	48 89 f8             	mov    %rdi,%rax
1400a0400:	44 89 c1             	mov    %r8d,%ecx
1400a0403:	48 d3 e8             	shr    %cl,%rax
1400a0406:	c6 46 2a 2e          	movb   $0x2e,0x2a(%rsi)
1400a040a:	31 c9                	xor    %ecx,%ecx
1400a040c:	41 83 fc f6          	cmp    $0xfffffff6,%r12d
1400a0410:	48 0f 4d c8          	cmovge %rax,%rcx
1400a0414:	4c 8d bc 24 39 01 00 	lea    0x139(%rsp),%r15
1400a041b:	00
1400a041c:	49 b9 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%r9
1400a0423:	cc cc cc
1400a0426:	48 89 c8             	mov    %rcx,%rax
1400a0429:	49 f7 e1             	mul    %r9
1400a042c:	48 c1 ea 03          	shr    $0x3,%rdx
1400a0430:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
1400a0433:	8d 04 80             	lea    (%rax,%rax,4),%eax
1400a0436:	41 89 ca             	mov    %ecx,%r10d
1400a0439:	41 29 c2             	sub    %eax,%r10d
1400a043c:	41 80 ca 30          	or     $0x30,%r10b
1400a0440:	45 88 17             	mov    %r10b,(%r15)
1400a0443:	49 ff cf             	dec    %r15
1400a0446:	48 83 f9 09          	cmp    $0x9,%rcx
1400a044a:	48 89 d1             	mov    %rdx,%rcx
1400a044d:	77 d7                	ja     0x1400a0426
1400a044f:	48 8d b4 24 3b 01 00 	lea    0x13b(%rsp),%rsi
1400a0456:	00
1400a0457:	41 c6 07 30          	movb   $0x30,(%r15)
1400a045b:	4d 8d 77 01          	lea    0x1(%r15),%r14
1400a045f:	41 83 fc f5          	cmp    $0xfffffff5,%r12d
1400a0463:	0f 8c 86 00 00 00    	jl     0x1400a04ef
1400a0469:	41 80 c4 0b          	add    $0xb,%r12b
1400a046d:	44 89 e1             	mov    %r12d,%ecx
1400a0470:	48 d3 e7             	shl    %cl,%rdi
1400a0473:	45 85 ed             	test   %r13d,%r13d
1400a0476:	74 2a                	je     0x1400a04a2
1400a0478:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
1400a047e:	48 89 f1             	mov    %rsi,%rcx
1400a0481:	48 85 ff             	test   %rdi,%rdi
1400a0484:	0f 84 86 00 00 00    	je     0x1400a0510
1400a048a:	48 89 f8             	mov    %rdi,%rax
1400a048d:	49 f7 e0             	mul    %r8
1400a0490:	80 ca 30             	or     $0x30,%dl
1400a0493:	88 11                	mov    %dl,(%rcx)
1400a0495:	48 ff c1             	inc    %rcx
1400a0498:	48 89 c7             	mov    %rax,%rdi
1400a049b:	48 ff cb             	dec    %rbx
1400a049e:	75 e1                	jne    0x1400a0481
1400a04a0:	eb 03                	jmp    0x1400a04a5
1400a04a2:	48 89 f1             	mov    %rsi,%rcx
1400a04a5:	48 85 ff             	test   %rdi,%rdi
1400a04a8:	79 66                	jns    0x1400a0510
1400a04aa:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
1400a04ae:	48 f7 df             	neg    %rdi
1400a04b1:	71 2a                	jno    0x1400a04dd
1400a04b3:	31 d2                	xor    %edx,%edx
1400a04b5:	80 79 ff 2e          	cmpb   $0x2e,-0x1(%rcx)
1400a04b9:	0f 94 c2             	sete   %dl
1400a04bc:	48 29 d0             	sub    %rdx,%rax
1400a04bf:	0f be 10             	movsbl (%rax),%edx
1400a04c2:	41 89 d0             	mov    %edx,%r8d
1400a04c5:	41 81 e0 01 00 00 80 	and    $0x80000001,%r8d
1400a04cc:	41 83 f8 01          	cmp    $0x1,%r8d
1400a04d0:	75 3e                	jne    0x1400a0510
1400a04d2:	e9 c6 04 00 00       	jmp    0x1400a099d
1400a04d7:	c6 00 30             	movb   $0x30,(%rax)
1400a04da:	48 ff c8             	dec    %rax
1400a04dd:	0f b6 10             	movzbl (%rax),%edx
1400a04e0:	83 fa 2e             	cmp    $0x2e,%edx
1400a04e3:	74 f5                	je     0x1400a04da
1400a04e5:	83 fa 39             	cmp    $0x39,%edx
1400a04e8:	74 ed                	je     0x1400a04d7
1400a04ea:	e9 bd 04 00 00       	jmp    0x1400a09ac
1400a04ef:	48 8d 8c 24 c0 01 00 	lea    0x1c0(%rsp),%rcx
1400a04f6:	00
1400a04f7:	48 89 39             	mov    %rdi,(%rcx)
1400a04fa:	48 c7 41 08 00 00 00 	movq   $0x0,0x8(%rcx)
1400a0501:	00
1400a0502:	48 89 f2             	mov    %rsi,%rdx
1400a0505:	49 89 d9             	mov    %rbx,%r9
1400a0508:	e8 c3 14 00 00       	call   0x1400a19d0
1400a050d:	48 89 c1             	mov    %rax,%rcx
1400a0510:	41 80 3f 30          	cmpb   $0x30,(%r15)
1400a0514:	4d 0f 45 f7          	cmovne %r15,%r14
1400a0518:	48 89 ca             	mov    %rcx,%rdx
1400a051b:	4c 29 f2             	sub    %r14,%rdx
1400a051e:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
1400a0525:	00
1400a0526:	48 85 c0             	test   %rax,%rax
1400a0529:	75 1f                	jne    0x1400a054a
1400a052b:	4c 8b 84 24 90 00 00 	mov    0x90(%rsp),%r8
1400a0532:	00
1400a0533:	45 0f b6 40 01       	movzbl 0x1(%r8),%r8d
1400a0538:	45 31 c9             	xor    %r9d,%r9d
1400a053b:	41 0f ba e0 03       	bt     $0x3,%r8d
1400a0540:	41 80 d1 ff          	adc    $0xff,%r9b
1400a0544:	4d 0f be c1          	movsbq %r9b,%r8
1400a0548:	eb 03                	jmp    0x1400a054d
1400a054a:	45 31 c0             	xor    %r8d,%r8d
1400a054d:	49 01 d0             	add    %rdx,%r8
1400a0550:	48 8d 15 d5 26 04 00 	lea    0x426d5(%rip),%rdx        # 0x1400e2c2c
1400a0557:	48 89 54 24 70       	mov    %rdx,0x70(%rsp)
1400a055c:	48 c7 44 24 78 00 00 	movq   $0x0,0x78(%rsp)
1400a0563:	00 00
1400a0565:	4c 89 74 24 60       	mov    %r14,0x60(%rsp)
1400a056a:	4c 89 44 24 68       	mov    %r8,0x68(%rsp)
1400a056f:	0f 88 a1 04 00 00    	js     0x1400a0a16
1400a0575:	4d 85 f6             	test   %r14,%r14
1400a0578:	75 09                	jne    0x1400a0583
1400a057a:	4d 85 c0             	test   %r8,%r8
1400a057d:	0f 85 93 04 00 00    	jne    0x1400a0a16
1400a0583:	48 29 ce             	sub    %rcx,%rsi
1400a0586:	48 01 c6             	add    %rax,%rsi
1400a0589:	48 8d 44 24 70       	lea    0x70(%rsp),%rax
1400a058e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400a0593:	48 8d 8c 24 80 00 00 	lea    0x80(%rsp),%rcx
1400a059a:	00
1400a059b:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1400a05a0:	45 31 c0             	xor    %r8d,%r8d
1400a05a3:	e9 69 02 00 00       	jmp    0x1400a0811
1400a05a8:	40 88 ac 24 80 00 00 	mov    %bpl,0x80(%rsp)
1400a05af:	00
1400a05b0:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
1400a05b7:	00
1400a05b8:	48 89 b4 24 90 00 00 	mov    %rsi,0x90(%rsp)
1400a05bf:	00
1400a05c0:	4c 89 b4 24 98 00 00 	mov    %r14,0x98(%rsp)
1400a05c7:	00
1400a05c8:	41 83 c4 0b          	add    $0xb,%r12d
1400a05cc:	48 85 ff             	test   %rdi,%rdi
1400a05cf:	7e 28                	jle    0x1400a05f9
1400a05d1:	b8 02 fc ff ff       	mov    $0xfffffc02,%eax
1400a05d6:	41 81 fc 02 fc ff ff 	cmp    $0xfffffc02,%r12d
1400a05dd:	41 0f 4c c4          	cmovl  %r12d,%eax
1400a05e1:	41 81 fc 02 fc ff ff 	cmp    $0xfffffc02,%r12d
1400a05e8:	0f 8e ea 03 00 00    	jle    0x1400a09d8
1400a05ee:	48 01 ff             	add    %rdi,%rdi
1400a05f1:	41 ff cc             	dec    %r12d
1400a05f4:	48 85 ff             	test   %rdi,%rdi
1400a05f7:	7f e8                	jg     0x1400a05e1
1400a05f9:	49 89 fa             	mov    %rdi,%r10
1400a05fc:	49 c1 ea 3f          	shr    $0x3f,%r10
1400a0600:	41 ff cc             	dec    %r12d
1400a0603:	45 31 c9             	xor    %r9d,%r9d
1400a0606:	48 85 ff             	test   %rdi,%rdi
1400a0609:	45 0f 45 cc          	cmovne %r12d,%r9d
1400a060d:	48 01 ff             	add    %rdi,%rdi
1400a0610:	45 85 ff             	test   %r15d,%r15d
1400a0613:	0f 98 c1             	sets   %cl
1400a0616:	31 c0                	xor    %eax,%eax
1400a0618:	ba 10 00 00 00       	mov    $0x10,%edx
1400a061d:	48 29 da             	sub    %rbx,%rdx
1400a0620:	48 0f 43 c2          	cmovae %rdx,%rax
1400a0624:	41 83 fd 10          	cmp    $0x10,%r13d
1400a0628:	0f 93 c2             	setae  %dl
1400a062b:	08 ca                	or     %cl,%dl
1400a062d:	74 0d                	je     0x1400a063c
1400a062f:	48 89 fa             	mov    %rdi,%rdx
1400a0632:	45 85 ff             	test   %r15d,%r15d
1400a0635:	79 7e                	jns    0x1400a06b5
1400a0637:	e9 a2 00 00 00       	jmp    0x1400a06de
1400a063c:	48 8d 14 85 00 00 00 	lea    0x0(,%rax,4),%rdx
1400a0643:	00
1400a0644:	89 d1                	mov    %edx,%ecx
1400a0646:	f6 d9                	neg    %cl
1400a0648:	49 89 fb             	mov    %rdi,%r11
1400a064b:	49 d3 e3             	shl    %cl,%r11
1400a064e:	49 d3 eb             	shr    %cl,%r11
1400a0651:	8d 4a fc             	lea    -0x4(%rdx),%ecx
1400a0654:	41 be 08 00 00 00    	mov    $0x8,%r14d
1400a065a:	49 d3 e6             	shl    %cl,%r14
1400a065d:	4d 39 f3             	cmp    %r14,%r11
1400a0660:	74 04                	je     0x1400a0666
1400a0662:	76 51                	jbe    0x1400a06b5
1400a0664:	eb 22                	jmp    0x1400a0688
1400a0666:	41 bb 0f 00 00 00    	mov    $0xf,%r11d
1400a066c:	89 d1                	mov    %edx,%ecx
1400a066e:	49 d3 e3             	shl    %cl,%r11
1400a0671:	49 21 fb             	and    %rdi,%r11
1400a0674:	49 d3 eb             	shr    %cl,%r11
1400a0677:	48 83 f8 10          	cmp    $0x10,%rax
1400a067b:	41 0f b6 ca          	movzbl %r10b,%ecx
1400a067f:	41 0f 45 cb          	cmovne %r11d,%ecx
1400a0683:	f6 c1 01             	test   $0x1,%cl
1400a0686:	74 2d                	je     0x1400a06b5
1400a0688:	41 bb 01 00 00 00    	mov    $0x1,%r11d
1400a068e:	89 d1                	mov    %edx,%ecx
1400a0690:	49 d3 e3             	shl    %cl,%r11
1400a0693:	31 c9                	xor    %ecx,%ecx
1400a0695:	48 83 f8 10          	cmp    $0x10,%rax
1400a0699:	49 0f 42 cb          	cmovb  %r11,%rcx
1400a069d:	0f 93 c2             	setae  %dl
1400a06a0:	48 85 ff             	test   %rdi,%rdi
1400a06a3:	41 0f 98 c3          	sets   %r11b
1400a06a7:	48 01 cf             	add    %rcx,%rdi
1400a06aa:	0f 99 c1             	setns  %cl
1400a06ad:	44 20 d9             	and    %r11b,%cl
1400a06b0:	08 d1                	or     %dl,%cl
1400a06b2:	41 00 ca             	add    %cl,%r10b
1400a06b5:	c1 e0 02             	shl    $0x2,%eax
1400a06b8:	f6 d8                	neg    %al
1400a06ba:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
1400a06c1:	89 c1                	mov    %eax,%ecx
1400a06c3:	48 d3 ea             	shr    %cl,%rdx
1400a06c6:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
1400a06cd:	41 83 fd 10          	cmp    $0x10,%r13d
1400a06d1:	48 f7 d2             	not    %rdx
1400a06d4:	48 0f 43 d0          	cmovae %rax,%rdx
1400a06d8:	48 21 fa             	and    %rdi,%rdx
1400a06db:	48 89 df             	mov    %rbx,%rdi
1400a06de:	45 31 db             	xor    %r11d,%r11d
1400a06e1:	41 80 f8 0f          	cmp    $0xf,%r8b
1400a06e5:	41 0f 95 c3          	setne  %r11b
1400a06e9:	44 89 d8             	mov    %r11d,%eax
1400a06ec:	c1 e0 04             	shl    $0x4,%eax
1400a06ef:	48 8d 0d ca 29 04 00 	lea    0x429ca(%rip),%rcx        # 0x1400e30c0
1400a06f6:	4c 8d 34 01          	lea    (%rcx,%rax,1),%r14
1400a06fa:	0f 29 8c 24 c0 01 00 	movaps %xmm1,0x1c0(%rsp)
1400a0701:	00
1400a0702:	c6 84 24 d0 01 00 00 	movb   $0xaa,0x1d0(%rsp)
1400a0709:	aa
1400a070a:	c6 84 24 c0 01 00 00 	movb   $0x30,0x1c0(%rsp)
1400a0711:	30
1400a0712:	41 c0 e3 05          	shl    $0x5,%r11b
1400a0716:	41 80 cb 58          	or     $0x58,%r11b
1400a071a:	44 88 9c 24 c1 01 00 	mov    %r11b,0x1c1(%rsp)
1400a0721:	00
1400a0722:	45 0f b6 d2          	movzbl %r10b,%r10d
1400a0726:	47 8a 14 32          	mov    (%r10,%r14,1),%r10b
1400a072a:	44 88 94 24 c2 01 00 	mov    %r10b,0x1c2(%rsp)
1400a0731:	00
1400a0732:	48 85 ff             	test   %rdi,%rdi
1400a0735:	75 10                	jne    0x1400a0747
1400a0737:	f6 46 01 08          	testb  $0x8,0x1(%rsi)
1400a073b:	75 0a                	jne    0x1400a0747
1400a073d:	48 8d bc 24 c3 01 00 	lea    0x1c3(%rsp),%rdi
1400a0744:	00
1400a0745:	eb 0c                	jmp    0x1400a0753
1400a0747:	48 8d bc 24 c4 01 00 	lea    0x1c4(%rsp),%rdi
1400a074e:	00
1400a074f:	c6 47 ff 2e          	movb   $0x2e,-0x1(%rdi)
1400a0753:	45 31 d2             	xor    %r10d,%r10d
1400a0756:	48 85 d2             	test   %rdx,%rdx
1400a0759:	74 21                	je     0x1400a077c
1400a075b:	49 89 d3             	mov    %rdx,%r11
1400a075e:	49 c1 eb 3c          	shr    $0x3c,%r11
1400a0762:	49 01 c3             	add    %rax,%r11
1400a0765:	46 8a 1c 19          	mov    (%rcx,%r11,1),%r11b
1400a0769:	46 88 1c 17          	mov    %r11b,(%rdi,%r10,1)
1400a076d:	48 c1 e2 04          	shl    $0x4,%rdx
1400a0771:	49 ff c2             	inc    %r10
1400a0774:	48 85 d2             	test   %rdx,%rdx
1400a0777:	75 e2                	jne    0x1400a075b