140018241:	48 1b c0             	sbb    %rax,%rax
140018244:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
140018249:	83 e0 04             	and    $0x4,%eax
14001824c:	0f bd 44 05 a4       	bsr    -0x5c(%rbp,%rax,1),%eax
140018251:	74 04                	je     0x140018257
140018253:	ff c0                	inc    %eax
140018255:	eb 02                	jmp    0x140018259
140018257:	33 c0                	xor    %eax,%eax
140018259:	45 33 f6             	xor    %r14d,%r14d
14001825c:	2b f8                	sub    %eax,%edi
14001825e:	41 3b ff             	cmp    %r15d,%edi
140018261:	41 0f 92 c6          	setb   %r14b
140018265:	41 83 cb ff          	or     $0xffffffff,%r11d
140018269:	44 03 f2             	add    %edx,%r14d
14001826c:	41 83 fe 73          	cmp    $0x73,%r14d
140018270:	76 44                	jbe    0x1400182b6
140018272:	45 33 f6             	xor    %r14d,%r14d
140018275:	be 35 04 00 00       	mov    $0x435,%esi
14001827a:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
14001827e:	41 2b f4             	sub    %r12d,%esi
140018281:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
140018288:	8b fe                	mov    %esi,%edi
14001828a:	33 d2                	xor    %edx,%edx
14001828c:	c1 ef 05             	shr    $0x5,%edi
14001828f:	48 8d 1c bd 00 00 00 	lea    0x0(,%rdi,4),%rbx
140018296:	00
140018297:	4c 8b c3             	mov    %rbx,%r8
14001829a:	e8 c1 50 00 00       	call   0x14001d360
14001829f:	83 e6 1f             	and    $0x1f,%esi
1400182a2:	41 8b c7             	mov    %r15d,%eax
1400182a5:	40 8a ce             	mov    %sil,%cl
1400182a8:	d3 e0                	shl    %cl,%eax
1400182aa:	89 84 1d 44 03 00 00 	mov    %eax,0x344(%rbp,%rbx,1)
1400182b1:	e9 ee fe ff ff       	jmp    0x1400181a4
1400182b6:	41 8d 46 ff          	lea    -0x1(%r14),%eax
1400182ba:	41 3b c3             	cmp    %r11d,%eax
1400182bd:	74 b6                	je     0x140018275
1400182bf:	44 8b d0             	mov    %eax,%r10d
1400182c2:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
1400182c6:	3b c2                	cmp    %edx,%eax
1400182c8:	73 07                	jae    0x1400182d1
1400182ca:	46 8b 4c 95 a4       	mov    -0x5c(%rbp,%r10,4),%r9d
1400182cf:	eb 03                	jmp    0x1400182d4
1400182d1:	45 33 c9             	xor    %r9d,%r9d
1400182d4:	44 3b c2             	cmp    %edx,%r8d
1400182d7:	73 07                	jae    0x1400182e0
1400182d9:	42 8b 4c 85 a4       	mov    -0x5c(%rbp,%r8,4),%ecx
1400182de:	eb 02                	jmp    0x1400182e2
1400182e0:	33 c9                	xor    %ecx,%ecx
1400182e2:	c1 e9 1f             	shr    $0x1f,%ecx
1400182e5:	43 8d 04 09          	lea    (%r9,%r9,1),%eax
1400182e9:	0b c8                	or     %eax,%ecx
1400182eb:	41 8b c0             	mov    %r8d,%eax
1400182ee:	42 89 4c 95 a4       	mov    %ecx,-0x5c(%rbp,%r10,4)
1400182f3:	45 3b c3             	cmp    %r11d,%r8d
1400182f6:	0f 84 79 ff ff ff    	je     0x140018275
1400182fc:	8b 55 a0             	mov    -0x60(%rbp),%edx
1400182ff:	eb be                	jmp    0x1400182bf
140018301:	4c 8b c3             	mov    %rbx,%r8
140018304:	33 d2                	xor    %edx,%edx
140018306:	e8 55 50 00 00       	call   0x14001d360
14001830b:	e8 38 8c ff ff       	call   0x140010f48
140018310:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140018316:	e8 a9 3a ff ff       	call   0x14000bdc4
14001831b:	44 8b a5 70 01 00 00 	mov    0x170(%rbp),%r12d
140018322:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140018326:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
14001832b:	85 c9                	test   %ecx,%ecx
14001832d:	0f 88 e8 04 00 00    	js     0x14001881b
140018333:	f7 e1                	mul    %ecx
140018335:	8b c2                	mov    %edx,%eax
140018337:	48 8d 15 c2 7c fe ff 	lea    -0x1833e(%rip),%rdx        # 0x140000000
14001833e:	c1 e8 03             	shr    $0x3,%eax
140018341:	89 44 24 50          	mov    %eax,0x50(%rsp)
140018345:	8b c8                	mov    %eax,%ecx
140018347:	89 44 24 38          	mov    %eax,0x38(%rsp)
14001834b:	85 c0                	test   %eax,%eax
14001834d:	0f 84 26 04 00 00    	je     0x140018779
140018353:	41 b8 26 00 00 00    	mov    $0x26,%r8d
140018359:	41 3b c8             	cmp    %r8d,%ecx
14001835c:	8b c1                	mov    %ecx,%eax
14001835e:	41 0f 47 c0          	cmova  %r8d,%eax
140018362:	89 44 24 48          	mov    %eax,0x48(%rsp)
140018366:	ff c8                	dec    %eax
140018368:	8b f8                	mov    %eax,%edi
14001836a:	0f b6 8c 82 32 9d 02 	movzbl 0x29d32(%rdx,%rax,4),%ecx
140018371:	00
140018372:	0f b6 b4 82 33 9d 02 	movzbl 0x29d33(%rdx,%rax,4),%esi
140018379:	00
14001837a:	33 d2                	xor    %edx,%edx
14001837c:	48 8d 1c 8d 00 00 00 	lea    0x0(,%rcx,4),%rbx
140018383:	00
140018384:	8d 04 0e             	lea    (%rsi,%rcx,1),%eax
140018387:	4c 8b c3             	mov    %rbx,%r8
14001838a:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
140018391:	89 85 40 03 00 00    	mov    %eax,0x340(%rbp)
140018397:	e8 c4 4f 00 00       	call   0x14001d360
14001839c:	48 8d 0d 5d 7c fe ff 	lea    -0x183a3(%rip),%rcx        # 0x140000000
1400183a3:	48 c1 e6 02          	shl    $0x2,%rsi
1400183a7:	0f b7 84 b9 30 9d 02 	movzwl 0x29d30(%rcx,%rdi,4),%eax
1400183ae:	00
1400183af:	48 8d 91 20 94 02 00 	lea    0x29420(%rcx),%rdx
1400183b6:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
1400183bd:	4c 8b c6             	mov    %rsi,%r8
1400183c0:	48 03 cb             	add    %rbx,%rcx
1400183c3:	48 8d 14 82          	lea    (%rdx,%rax,4),%rdx
1400183c7:	e8 f4 48 00 00       	call   0x14001ccc0
1400183cc:	44 8b 8d 40 03 00 00 	mov    0x340(%rbp),%r9d
1400183d3:	45 3b cf             	cmp    %r15d,%r9d
1400183d6:	77 5b                	ja     0x140018433
1400183d8:	8b 85 44 03 00 00    	mov    0x344(%rbp),%eax
1400183de:	85 c0                	test   %eax,%eax
1400183e0:	75 08                	jne    0x1400183ea
1400183e2:	45 33 e4             	xor    %r12d,%r12d
1400183e5:	e9 18 01 00 00       	jmp    0x140018502
1400183ea:	41 3b c7             	cmp    %r15d,%eax
1400183ed:	0f 84 2d 01 00 00    	je     0x140018520
1400183f3:	45 85 e4             	test   %r12d,%r12d
1400183f6:	0f 84 24 01 00 00    	je     0x140018520
1400183fc:	45 33 c0             	xor    %r8d,%r8d
1400183ff:	4c 8b d0             	mov    %rax,%r10
140018402:	45 33 c9             	xor    %r9d,%r9d
140018405:	42 8b 8c 8d 74 01 00 	mov    0x174(%rbp,%r9,4),%ecx
14001840c:	00
14001840d:	41 8b c0             	mov    %r8d,%eax
140018410:	49 0f af ca          	imul   %r10,%rcx
140018414:	48 03 c8             	add    %rax,%rcx
140018417:	4c 8b c1             	mov    %rcx,%r8
14001841a:	42 89 8c 8d 74 01 00 	mov    %ecx,0x174(%rbp,%r9,4)
140018421:	00
140018422:	49 c1 e8 20          	shr    $0x20,%r8
140018426:	45 03 cf             	add    %r15d,%r9d
140018429:	45 3b cc             	cmp    %r12d,%r9d
14001842c:	75 d7                	jne    0x140018405
14001842e:	e9 a9 00 00 00       	jmp    0x1400184dc
140018433:	45 3b e7             	cmp    %r15d,%r12d
140018436:	0f 87 54 01 00 00    	ja     0x140018590
14001843c:	8b 9d 74 01 00 00    	mov    0x174(%rbp),%ebx
140018442:	4d 8b c1             	mov    %r9,%r8
140018445:	49 c1 e0 02          	shl    $0x2,%r8
140018449:	45 8b e1             	mov    %r9d,%r12d
14001844c:	44 89 8d 70 01 00 00 	mov    %r9d,0x170(%rbp)
140018453:	4d 85 c0             	test   %r8,%r8
140018456:	74 40                	je     0x140018498
140018458:	b8 cc 01 00 00       	mov    $0x1cc,%eax
14001845d:	48 8d 8d 74 01 00 00 	lea    0x174(%rbp),%rcx
140018464:	4c 3b c0             	cmp    %rax,%r8
140018467:	77 0e                	ja     0x140018477
140018469:	48 8d 95 44 03 00 00 	lea    0x344(%rbp),%rdx
140018470:	e8 4b 48 00 00       	call   0x14001ccc0
140018475:	eb 1a                	jmp    0x140018491
140018477:	4c 8b c0             	mov    %rax,%r8
14001847a:	33 d2                	xor    %edx,%edx
14001847c:	e8 df 4e 00 00       	call   0x14001d360
140018481:	e8 c2 8a ff ff       	call   0x140010f48
140018486:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14001848c:	e8 33 39 ff ff       	call   0x14000bdc4
140018491:	44 8b a5 70 01 00 00 	mov    0x170(%rbp),%r12d
140018498:	85 db                	test   %ebx,%ebx
14001849a:	0f 84 42 ff ff ff    	je     0x1400183e2
1400184a0:	41 3b df             	cmp    %r15d,%ebx
1400184a3:	74 7b                	je     0x140018520
1400184a5:	45 85 e4             	test   %r12d,%r12d
1400184a8:	74 76                	je     0x140018520
1400184aa:	45 33 c0             	xor    %r8d,%r8d
1400184ad:	4c 8b d3             	mov    %rbx,%r10
1400184b0:	45 33 c9             	xor    %r9d,%r9d
1400184b3:	42 8b 8c 8d 74 01 00 	mov    0x174(%rbp,%r9,4),%ecx
1400184ba:	00
1400184bb:	41 8b c0             	mov    %r8d,%eax
1400184be:	49 0f af ca          	imul   %r10,%rcx
1400184c2:	48 03 c8             	add    %rax,%rcx
1400184c5:	4c 8b c1             	mov    %rcx,%r8
1400184c8:	42 89 8c 8d 74 01 00 	mov    %ecx,0x174(%rbp,%r9,4)
1400184cf:	00
1400184d0:	49 c1 e8 20          	shr    $0x20,%r8
1400184d4:	45 03 cf             	add    %r15d,%r9d
1400184d7:	45 3b cc             	cmp    %r12d,%r9d
1400184da:	75 d7                	jne    0x1400184b3
1400184dc:	45 85 c0             	test   %r8d,%r8d
1400184df:	74 38                	je     0x140018519
1400184e1:	83 bd 70 01 00 00 73 	cmpl   $0x73,0x170(%rbp)
1400184e8:	73 21                	jae    0x14001850b
1400184ea:	8b 85 70 01 00 00    	mov    0x170(%rbp),%eax
1400184f0:	44 89 84 85 74 01 00 	mov    %r8d,0x174(%rbp,%rax,4)
1400184f7:	00
1400184f8:	44 8b a5 70 01 00 00 	mov    0x170(%rbp),%r12d
1400184ff:	45 03 e7             	add    %r15d,%r12d
140018502:	44 89 a5 70 01 00 00 	mov    %r12d,0x170(%rbp)
140018509:	eb 15                	jmp    0x140018520
14001850b:	45 33 e4             	xor    %r12d,%r12d
14001850e:	32 c0                	xor    %al,%al
140018510:	44 89 a5 70 01 00 00 	mov    %r12d,0x170(%rbp)
140018517:	eb 0a                	jmp    0x140018523
140018519:	44 8b a5 70 01 00 00 	mov    0x170(%rbp),%r12d
140018520:	41 8a c7             	mov    %r15b,%al
140018523:	84 c0                	test   %al,%al
140018525:	0f 85 2b 02 00 00    	jne    0x140018756
14001852b:	45 33 e4             	xor    %r12d,%r12d
14001852e:	44 89 a5 70 01 00 00 	mov    %r12d,0x170(%rbp)
140018535:	48 8b 75 88          	mov    -0x78(%rbp),%rsi
140018539:	48 8b de             	mov    %rsi,%rbx
14001853c:	45 85 f6             	test   %r14d,%r14d
14001853f:	0f 84 42 07 00 00    	je     0x140018c87
140018545:	45 33 c0             	xor    %r8d,%r8d
140018548:	45 33 c9             	xor    %r9d,%r9d
14001854b:	42 8b 44 8d a4       	mov    -0x5c(%rbp,%r9,4),%eax
140018550:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
140018554:	41 8b c0             	mov    %r8d,%eax
140018557:	4c 8d 04 48          	lea    (%rax,%rcx,2),%r8
14001855b:	46 89 44 8d a4       	mov    %r8d,-0x5c(%rbp,%r9,4)
140018560:	45 03 cf             	add    %r15d,%r9d
140018563:	49 c1 e8 20          	shr    $0x20,%r8
140018567:	45 3b ce             	cmp    %r14d,%r9d
14001856a:	75 df                	jne    0x14001854b
14001856c:	45 85 c0             	test   %r8d,%r8d
14001856f:	0f 84 12 07 00 00    	je     0x140018c87
140018575:	83 7d a0 73          	cmpl   $0x73,-0x60(%rbp)
140018579:	0f 83 e5 06 00 00    	jae    0x140018c64
14001857f:	8b 45 a0             	mov    -0x60(%rbp),%eax
140018582:	44 89 44 85 a4       	mov    %r8d,-0x5c(%rbp,%rax,4)
140018587:	44 01 7d a0          	add    %r15d,-0x60(%rbp)
14001858b:	e9 f7 06 00 00       	jmp    0x140018c87
140018590:	45 3b cc             	cmp    %r12d,%r9d
140018593:	48 8d 95 74 01 00 00 	lea    0x174(%rbp),%rdx
14001859a:	41 8b dc             	mov    %r12d,%ebx
14001859d:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
1400185a4:	48 0f 43 ca          	cmovae %rdx,%rcx
1400185a8:	4c 8d 85 44 03 00 00 	lea    0x344(%rbp),%r8
1400185af:	41 0f 42 d9          	cmovb  %r9d,%ebx
1400185b3:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
1400185b8:	0f 92 c0             	setb   %al
1400185bb:	89 5c 24 34          	mov    %ebx,0x34(%rsp)
1400185bf:	48 8d 95 74 01 00 00 	lea    0x174(%rbp),%rdx
1400185c6:	49 0f 43 d0          	cmovae %r8,%rdx
1400185ca:	84 c0                	test   %al,%al
1400185cc:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
1400185d1:	45 0f 45 cc          	cmovne %r12d,%r9d
1400185d5:	45 33 e4             	xor    %r12d,%r12d
1400185d8:	45 33 d2             	xor    %r10d,%r10d
1400185db:	44 89 a5 10 05 00 00 	mov    %r12d,0x510(%rbp)
1400185e2:	85 db                	test   %ebx,%ebx
1400185e4:	0f 84 19 01 00 00    	je     0x140018703
1400185ea:	42 8b 34 91          	mov    (%rcx,%r10,4),%esi
1400185ee:	85 f6                	test   %esi,%esi
1400185f0:	75 21                	jne    0x140018613
1400185f2:	45 3b d4             	cmp    %r12d,%r10d
1400185f5:	0f 85 fc 00 00 00    	jne    0x1400186f7
1400185fb:	42 21 b4 95 14 05 00 	and    %esi,0x514(%rbp,%r10,4)
140018602:	00
140018603:	45 8d 62 01          	lea    0x1(%r10),%r12d
140018607:	44 89 a5 10 05 00 00 	mov    %r12d,0x510(%rbp)
14001860e:	e9 e4 00 00 00       	jmp    0x1400186f7
140018613:	45 33 db             	xor    %r11d,%r11d
140018616:	45 8b c2             	mov    %r10d,%r8d
140018619:	45 85 c9             	test   %r9d,%r9d
14001861c:	0f 84 c1 00 00 00    	je     0x1400186e3
140018622:	41 8b da             	mov    %r10d,%ebx
140018625:	f7 db                	neg    %ebx
140018627:	41 83 f8 73          	cmp    $0x73,%r8d
14001862b:	74 60                	je     0x14001868d
14001862d:	41 8b f8             	mov    %r8d,%edi
140018630:	8b cb                	mov    %ebx,%ecx
140018632:	45 3b c4             	cmp    %r12d,%r8d
140018635:	75 12                	jne    0x140018649
140018637:	83 a4 bd 14 05 00 00 	andl   $0x0,0x514(%rbp,%rdi,4)
14001863e:	00
14001863f:	41 8d 40 01          	lea    0x1(%r8),%eax
140018643:	89 85 10 05 00 00    	mov    %eax,0x510(%rbp)
140018649:	41 8b c0             	mov    %r8d,%eax
14001864c:	45 03 c7             	add    %r15d,%r8d
14001864f:	03 c1                	add    %ecx,%eax
140018651:	8b 14 82             	mov    (%rdx,%rax,4),%edx
140018654:	41 8b c3             	mov    %r11d,%eax
140018657:	48 0f af d6          	imul   %rsi,%rdx
14001865b:	48 03 d0             	add    %rax,%rdx
14001865e:	8b 84 bd 14 05 00 00 	mov    0x514(%rbp,%rdi,4),%eax
140018665:	48 03 d0             	add    %rax,%rdx
140018668:	41 8d 04 18          	lea    (%r8,%rbx,1),%eax
14001866c:	4c 8b da             	mov    %rdx,%r11
14001866f:	89 94 bd 14 05 00 00 	mov    %edx,0x514(%rbp,%rdi,4)
140018676:	44 8b a5 10 05 00 00 	mov    0x510(%rbp),%r12d
14001867d:	49 c1 eb 20          	shr    $0x20,%r11
140018681:	41 3b c1             	cmp    %r9d,%eax
140018684:	74 07                	je     0x14001868d
140018686:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
14001868b:	eb 9a                	jmp    0x140018627
14001868d:	45 85 db             	test   %r11d,%r11d
140018690:	74 4d                	je     0x1400186df
140018692:	41 83 f8 73          	cmp    $0x73,%r8d
140018696:	0f 84 8f fe ff ff    	je     0x14001852b
14001869c:	41 8d 40 01          	lea    0x1(%r8),%eax
1400186a0:	41 8b d0             	mov    %r8d,%edx
1400186a3:	45 3b c4             	cmp    %r12d,%r8d
1400186a6:	44 8b c0             	mov    %eax,%r8d
1400186a9:	75 0e                	jne    0x1400186b9
1400186ab:	83 a4 95 14 05 00 00 	andl   $0x0,0x514(%rbp,%rdx,4)
1400186b2:	00
1400186b3:	89 85 10 05 00 00    	mov    %eax,0x510(%rbp)
1400186b9:	8b 84 95 14 05 00 00 	mov    0x514(%rbp,%rdx,4),%eax
1400186c0:	41 8b cb             	mov    %r11d,%ecx
1400186c3:	48 03 c8             	add    %rax,%rcx
1400186c6:	89 8c 95 14 05 00 00 	mov    %ecx,0x514(%rbp,%rdx,4)
1400186cd:	44 8b a5 10 05 00 00 	mov    0x510(%rbp),%r12d
1400186d4:	48 c1 e9 20          	shr    $0x20,%rcx
1400186d8:	44 8b d9             	mov    %ecx,%r11d
1400186db:	85 c9                	test   %ecx,%ecx
1400186dd:	75 b3                	jne    0x140018692
1400186df:	8b 5c 24 34          	mov    0x34(%rsp),%ebx
1400186e3:	41 83 f8 73          	cmp    $0x73,%r8d
1400186e7:	0f 84 3e fe ff ff    	je     0x14001852b
1400186ed:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
1400186f2:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
1400186f7:	45 03 d7             	add    %r15d,%r10d
1400186fa:	44 3b d3             	cmp    %ebx,%r10d
1400186fd:	0f 85 e7 fe ff ff    	jne    0x1400185ea
140018703:	45 8b c4             	mov    %r12d,%r8d
140018706:	49 c1 e0 02          	shl    $0x2,%r8
14001870a:	44 89 a5 70 01 00 00 	mov    %r12d,0x170(%rbp)
140018711:	4d 85 c0             	test   %r8,%r8
140018714:	74 40                	je     0x140018756
140018716:	b8 cc 01 00 00       	mov    $0x1cc,%eax
14001871b:	48 8d 8d 74 01 00 00 	lea    0x174(%rbp),%rcx
140018722:	4c 3b c0             	cmp    %rax,%r8
140018725:	77 0e                	ja     0x140018735
140018727:	48 8d 95 14 05 00 00 	lea    0x514(%rbp),%rdx
14001872e:	e8 8d 45 00 00       	call   0x14001ccc0
140018733:	eb 1a                	jmp    0x14001874f
140018735:	4c 8b c0             	mov    %rax,%r8
140018738:	33 d2                	xor    %edx,%edx
14001873a:	e8 21 4c 00 00       	call   0x14001d360
14001873f:	e8 04 88 ff ff       	call   0x140010f48
140018744:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14001874a:	e8 75 36 ff ff       	call   0x14000bdc4
14001874f:	44 8b a5 70 01 00 00 	mov    0x170(%rbp),%r12d
140018756:	8b 4c 24 38          	mov    0x38(%rsp),%ecx
14001875a:	48 8d 15 9f 78 fe ff 	lea    -0x18761(%rip),%rdx        # 0x140000000
140018761:	2b 4c 24 48          	sub    0x48(%rsp),%ecx
140018765:	41 b8 26 00 00 00    	mov    $0x26,%r8d
14001876b:	89 4c 24 38          	mov    %ecx,0x38(%rsp)
14001876f:	0f 85 e4 fb ff ff    	jne    0x140018359
140018775:	8b 44 24 50          	mov    0x50(%rsp),%eax
140018779:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
14001877d:	8d 04 80             	lea    (%rax,%rax,4),%eax
140018780:	03 c0                	add    %eax,%eax
140018782:	2b c8                	sub    %eax,%ecx
140018784:	0f 84 ab fd ff ff    	je     0x140018535
14001878a:	8d 41 ff             	lea    -0x1(%rcx),%eax
14001878d:	8b 84 82 c8 9d 02 00 	mov    0x29dc8(%rdx,%rax,4),%eax
140018794:	85 c0                	test   %eax,%eax