140076430:	41 54                	push   %r12
140076432:	41 55                	push   %r13
140076434:	41 56                	push   %r14
140076436:	41 57                	push   %r15
140076438:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14007643d:	8b fa                	mov    %edx,%edi
14007643f:	41 bd 40 00 00 00    	mov    $0x40,%r13d
140076445:	45 8a f8             	mov    %r8b,%r15b
140076448:	4c 8b d9             	mov    %rcx,%r11
14007644b:	8a 45 08             	mov    0x8(%rbp),%al
14007644e:	f6 d8                	neg    %al
140076450:	1b d2                	sbb    %edx,%edx
140076452:	45 33 d2             	xor    %r10d,%r10d
140076455:	83 e2 1d             	and    $0x1d,%edx
140076458:	83 c2 17             	add    $0x17,%edx
14007645b:	41 3b fd             	cmp    %r13d,%edi
14007645e:	77 29                	ja     0x140076489
140076460:	44 39 11             	cmp    %r10d,(%rcx)
140076463:	76 0e                	jbe    0x140076473
140076465:	83 39 01             	cmpl   $0x1,(%rcx)
140076468:	8b 41 04             	mov    0x4(%rcx),%eax
14007646b:	76 09                	jbe    0x140076476
14007646d:	44 8b 51 08          	mov    0x8(%rcx),%r10d
140076471:	eb 03                	jmp    0x140076476
140076473:	41 8b c2             	mov    %r10d,%eax
140076476:	41 8b ca             	mov    %r10d,%ecx
140076479:	41 80 f1 01          	xor    $0x1,%r9b
14007647d:	48 c1 e1 20          	shl    $0x20,%rcx
140076481:	48 03 c8             	add    %rax,%rcx
140076484:	e9 d4 00 00 00       	jmp    0x14007655d
140076489:	44 8b c7             	mov    %edi,%r8d
14007648c:	c1 ef 05             	shr    $0x5,%edi
14007648f:	8d 77 fe             	lea    -0x2(%rdi),%esi
140076492:	44 8b 64 b1 04       	mov    0x4(%rcx,%rsi,4),%r12d
140076497:	8d 47 ff             	lea    -0x1(%rdi),%eax
14007649a:	8b 5c 81 04          	mov    0x4(%rcx,%rax,4),%ebx
14007649e:	44 8b f6             	mov    %esi,%r14d
1400764a1:	41 c1 e6 05          	shl    $0x5,%r14d
1400764a5:	41 83 e0 1f          	and    $0x1f,%r8d
1400764a9:	75 36                	jne    0x1400764e1
1400764ab:	48 c1 e3 20          	shl    $0x20,%rbx
1400764af:	41 03 d6             	add    %r14d,%edx
1400764b2:	49 03 dc             	add    %r12,%rbx
1400764b5:	41 80 f1 01          	xor    $0x1,%r9b
1400764b9:	41 8b fa             	mov    %r10d,%edi
1400764bc:	85 f6                	test   %esi,%esi
1400764be:	0f 84 93 00 00 00    	je     0x140076557
1400764c4:	8b cf                	mov    %edi,%ecx
1400764c6:	45 8b c2             	mov    %r10d,%r8d
1400764c9:	41 0f b6 c1          	movzbl %r9b,%eax
1400764cd:	45 39 54 8b 04       	cmp    %r10d,0x4(%r11,%rcx,4)
1400764d2:	44 0f 44 c0          	cmove  %eax,%r8d
1400764d6:	ff c7                	inc    %edi
1400764d8:	45 8a c8             	mov    %r8b,%r9b
1400764db:	3b fe                	cmp    %esi,%edi
1400764dd:	75 e5                	jne    0x1400764c4
1400764df:	eb 76                	jmp    0x140076557
1400764e1:	45 2b e8             	sub    %r8d,%r13d
1400764e4:	41 8b c8             	mov    %r8d,%ecx
1400764e7:	45 03 f0             	add    %r8d,%r14d
1400764ea:	b8 01 00 00 00       	mov    $0x1,%eax
1400764ef:	44 03 f2             	add    %edx,%r14d
1400764f2:	d3 e0                	shl    %cl,%eax
1400764f4:	41 8b 54 bb 04       	mov    0x4(%r11,%rdi,4),%edx
1400764f9:	ff c8                	dec    %eax
1400764fb:	41 8d 4d e0          	lea    -0x20(%r13),%ecx
1400764ff:	8b f8                	mov    %eax,%edi
140076501:	48 23 d7             	and    %rdi,%rdx
140076504:	48 d3 e3             	shl    %cl,%rbx
140076507:	41 8b cd             	mov    %r13d,%ecx
14007650a:	48 d3 e2             	shl    %cl,%rdx
14007650d:	41 8b c8             	mov    %r8d,%ecx
140076510:	48 03 da             	add    %rdx,%rbx
140076513:	8b d0                	mov    %eax,%edx
140076515:	f7 d2                	not    %edx
140076517:	49 23 d4             	and    %r12,%rdx
14007651a:	48 d3 ea             	shr    %cl,%rdx
14007651d:	48 03 da             	add    %rdx,%rbx
140076520:	45 84 c9             	test   %r9b,%r9b
140076523:	75 07                	jne    0x14007652c
140076525:	b0 01                	mov    $0x1,%al
140076527:	44 85 e7             	test   %r12d,%edi
14007652a:	74 03                	je     0x14007652f
14007652c:	41 8a c2             	mov    %r10b,%al
14007652f:	41 8b ca             	mov    %r10d,%ecx
140076532:	85 f6                	test   %esi,%esi
140076534:	74 1b                	je     0x140076551
140076536:	44 8b c1             	mov    %ecx,%r8d
140076539:	45 8b ca             	mov    %r10d,%r9d
14007653c:	0f b6 c0             	movzbl %al,%eax
14007653f:	47 39 54 83 04       	cmp    %r10d,0x4(%r11,%r8,4)
140076544:	44 0f 44 c8          	cmove  %eax,%r9d
140076548:	ff c1                	inc    %ecx
14007654a:	41 8a c1             	mov    %r9b,%al
14007654d:	3b ce                	cmp    %esi,%ecx
14007654f:	75 e5                	jne    0x140076536
140076551:	44 8a c8             	mov    %al,%r9b
140076554:	41 8b d6             	mov    %r14d,%edx
140076557:	48 8b cb             	mov    %rbx,%rcx
14007655a:	45 8a c7             	mov    %r15b,%r8b
14007655d:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
140076562:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140076567:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
14007656c:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140076571:	41 5f                	pop    %r15
140076573:	41 5e                	pop    %r14
140076575:	41 5d                	pop    %r13
140076577:	41 5c                	pop    %r12
140076579:	5f                   	pop    %rdi
14007657a:	e9 f5 fa ff ff       	jmp    0x140076074
14007657f:	cc                   	int3
140076580:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140076585:	55                   	push   %rbp
140076586:	56                   	push   %rsi
140076587:	57                   	push   %rdi
140076588:	41 54                	push   %r12
14007658a:	41 55                	push   %r13
14007658c:	41 56                	push   %r14
14007658e:	41 57                	push   %r15
140076590:	48 8d ac 24 80 f5 ff 	lea    -0xa80(%rsp),%rbp
140076597:	ff
140076598:	48 81 ec 80 0b 00 00 	sub    $0xb80,%rsp
14007659f:	48 8b 05 9a aa 08 00 	mov    0x8aa9a(%rip),%rax        # 0x140101040
1400765a6:	48 33 c4             	xor    %rsp,%rax
1400765a9:	48 89 85 70 0a 00 00 	mov    %rax,0xa70(%rbp)
1400765b0:	8a 42 08             	mov    0x8(%rdx),%al
1400765b3:	4c 8d 25 46 9a f8 ff 	lea    -0x765ba(%rip),%r12        # 0x140000000
1400765ba:	44 8b 11             	mov    (%rcx),%r10d
1400765bd:	f6 d8                	neg    %al
1400765bf:	4c 8b c9             	mov    %rcx,%r9
1400765c2:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
1400765c7:	8b 51 04             	mov    0x4(%rcx),%edx
1400765ca:	1b c0                	sbb    %eax,%eax
1400765cc:	83 e0 1d             	and    $0x1d,%eax
1400765cf:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
1400765d4:	83 c0 19             	add    $0x19,%eax
1400765d7:	45 33 db             	xor    %r11d,%r11d
1400765da:	45 85 d2             	test   %r10d,%r10d
1400765dd:	89 44 24 50          	mov    %eax,0x50(%rsp)
1400765e1:	4d 8d 41 08          	lea    0x8(%r9),%r8
1400765e5:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
1400765ec:	45 0f 48 d3          	cmovs  %r11d,%r10d
1400765f0:	45 8b f3             	mov    %r11d,%r14d
1400765f3:	44 3b d2             	cmp    %edx,%r10d
1400765f6:	41 8d 5b 26          	lea    0x26(%r11),%ebx
1400765fa:	41 8b c2             	mov    %r10d,%eax
1400765fd:	45 8b fb             	mov    %r11d,%r15d
140076600:	0f 43 c2             	cmovae %edx,%eax
140076603:	45 8b eb             	mov    %r11d,%r13d
140076606:	44 2b d0             	sub    %eax,%r10d
140076609:	8b c8                	mov    %eax,%ecx
14007660b:	4c 03 c1             	add    %rcx,%r8
14007660e:	44 89 54 24 34       	mov    %r10d,0x34(%rsp)
140076613:	49 8d 41 08          	lea    0x8(%r9),%rax
140076617:	4c 89 44 24 70       	mov    %r8,0x70(%rsp)
14007661c:	48 03 c2             	add    %rdx,%rax
14007661f:	4d 8d 51 08          	lea    0x8(%r9),%r10
140076623:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140076628:	41 2b c0             	sub    %r8d,%eax
14007662b:	89 44 24 40          	mov    %eax,0x40(%rsp)
14007662f:	89 45 80             	mov    %eax,-0x80(%rbp)
140076632:	4d 3b d0             	cmp    %r8,%r10
140076635:	0f 84 36 06 00 00    	je     0x140076c71
14007663b:	41 83 fd 09          	cmp    $0x9,%r13d
14007663f:	0f 85 f0 00 00 00    	jne    0x140076735
140076645:	45 85 f6             	test   %r14d,%r14d
140076648:	74 7a                	je     0x1400766c4
14007664a:	45 8b c3             	mov    %r11d,%r8d
14007664d:	45 8b cb             	mov    %r11d,%r9d
140076650:	41 8b d1             	mov    %r9d,%edx
140076653:	41 ff c1             	inc    %r9d
140076656:	8b 84 95 34 03 00 00 	mov    0x334(%rbp,%rdx,4),%eax
14007665d:	48 69 c8 00 ca 9a 3b 	imul   $0x3b9aca00,%rax,%rcx
140076664:	41 8b c0             	mov    %r8d,%eax
140076667:	48 03 c8             	add    %rax,%rcx
14007666a:	4c 8b c1             	mov    %rcx,%r8
14007666d:	89 8c 95 34 03 00 00 	mov    %ecx,0x334(%rbp,%rdx,4)
140076674:	49 c1 e8 20          	shr    $0x20,%r8
140076678:	45 3b ce             	cmp    %r14d,%r9d
14007667b:	75 d3                	jne    0x140076650
14007667d:	45 85 c0             	test   %r8d,%r8d
140076680:	74 36                	je     0x1400766b8
140076682:	83 bd 30 03 00 00 73 	cmpl   $0x73,0x330(%rbp)
140076689:	73 21                	jae    0x1400766ac
14007668b:	8b 85 30 03 00 00    	mov    0x330(%rbp),%eax
140076691:	44 89 84 85 34 03 00 	mov    %r8d,0x334(%rbp,%rax,4)
140076698:	00
140076699:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
1400766a0:	41 ff c6             	inc    %r14d
1400766a3:	44 89 b5 30 03 00 00 	mov    %r14d,0x330(%rbp)
1400766aa:	eb 13                	jmp    0x1400766bf
1400766ac:	45 8b f3             	mov    %r11d,%r14d
1400766af:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
1400766b6:	eb 07                	jmp    0x1400766bf
1400766b8:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
1400766bf:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
1400766c4:	45 85 ff             	test   %r15d,%r15d
1400766c7:	74 66                	je     0x14007672f
1400766c9:	41 8b d3             	mov    %r11d,%edx
1400766cc:	45 85 f6             	test   %r14d,%r14d
1400766cf:	74 30                	je     0x140076701
1400766d1:	8b ca                	mov    %edx,%ecx
1400766d3:	ff c2                	inc    %edx
1400766d5:	45 8b ff             	mov    %r15d,%r15d
1400766d8:	8b 84 8d 34 03 00 00 	mov    0x334(%rbp,%rcx,4),%eax
1400766df:	4c 03 f8             	add    %rax,%r15
1400766e2:	44 89 bc 8d 34 03 00 	mov    %r15d,0x334(%rbp,%rcx,4)
1400766e9:	00
1400766ea:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
1400766f1:	49 c1 ef 20          	shr    $0x20,%r15
1400766f5:	41 8b c7             	mov    %r15d,%eax
1400766f8:	41 3b d6             	cmp    %r14d,%edx
1400766fb:	75 d4                	jne    0x1400766d1
1400766fd:	85 c0                	test   %eax,%eax
1400766ff:	74 2e                	je     0x14007672f
140076701:	41 83 fe 73          	cmp    $0x73,%r14d
140076705:	73 1e                	jae    0x140076725
140076707:	41 8b c6             	mov    %r14d,%eax
14007670a:	44 89 bc 85 34 03 00 	mov    %r15d,0x334(%rbp,%rax,4)
140076711:	00
140076712:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140076719:	41 ff c6             	inc    %r14d
14007671c:	44 89 b5 30 03 00 00 	mov    %r14d,0x330(%rbp)
140076723:	eb 0a                	jmp    0x14007672f
140076725:	45 8b f3             	mov    %r11d,%r14d
140076728:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
14007672f:	45 8b fb             	mov    %r11d,%r15d
140076732:	45 8b eb             	mov    %r11d,%r13d
140076735:	41 0f b6 02          	movzbl (%r10),%eax
140076739:	43 8d 0c bf          	lea    (%r15,%r15,4),%ecx
14007673d:	41 ff c5             	inc    %r13d
140076740:	49 ff c2             	inc    %r10
140076743:	44 8d 3c 48          	lea    (%rax,%rcx,2),%r15d
140076747:	4d 3b d0             	cmp    %r8,%r10
14007674a:	0f 85 eb fe ff ff    	jne    0x14007663b
140076750:	45 85 ed             	test   %r13d,%r13d
140076753:	0f 84 18 05 00 00    	je     0x140076c71
140076759:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
14007675e:	41 f7 e5             	mul    %r13d
140076761:	8b c2                	mov    %edx,%eax
140076763:	c1 e8 03             	shr    $0x3,%eax
140076766:	89 44 24 38          	mov    %eax,0x38(%rsp)
14007676a:	8b c8                	mov    %eax,%ecx
14007676c:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
140076770:	85 c0                	test   %eax,%eax
140076772:	0f 84 d3 03 00 00    	je     0x140076b4b
140076778:	3b cb                	cmp    %ebx,%ecx
14007677a:	8b c1                	mov    %ecx,%eax
14007677c:	0f 47 c3             	cmova  %ebx,%eax
14007677f:	33 d2                	xor    %edx,%edx
140076781:	89 44 24 30          	mov    %eax,0x30(%rsp)
140076785:	ff c8                	dec    %eax
140076787:	8b f8                	mov    %eax,%edi
140076789:	41 0f b6 8c 84 a2 77 	movzbl 0xd77a2(%r12,%rax,4),%ecx
140076790:	0d 00
140076792:	41 0f b6 b4 84 a3 77 	movzbl 0xd77a3(%r12,%rax,4),%esi
140076799:	0d 00
14007679b:	48 8d 1c 8d 00 00 00 	lea    0x0(,%rcx,4),%rbx
1400767a2:	00
1400767a3:	8d 04 0e             	lea    (%rsi,%rcx,1),%eax
1400767a6:	4c 8b c3             	mov    %rbx,%r8
1400767a9:	48 8d 8d d4 06 00 00 	lea    0x6d4(%rbp),%rcx
1400767b0:	89 85 d0 06 00 00    	mov    %eax,0x6d0(%rbp)
1400767b6:	e8 55 7a 02 00       	call   0x14009e210
1400767bb:	41 0f b7 84 bc a0 77 	movzwl 0xd77a0(%r12,%rdi,4),%eax
1400767c2:	0d 00
1400767c4:	48 8d 8d d4 06 00 00 	lea    0x6d4(%rbp),%rcx
1400767cb:	48 c1 e6 02          	shl    $0x2,%rsi
1400767cf:	48 03 cb             	add    %rbx,%rcx
1400767d2:	4c 8b c6             	mov    %rsi,%r8
1400767d5:	48 8d 14 85 90 6e 0d 	lea    0xd6e90(,%rax,4),%rdx
1400767dc:	00
1400767dd:	49 03 d4             	add    %r12,%rdx
1400767e0:	e8 8b 73 02 00       	call   0x14009db70
1400767e5:	44 8b 95 d0 06 00 00 	mov    0x6d0(%rbp),%r10d
1400767ec:	41 83 fa 01          	cmp    $0x1,%r10d
1400767f0:	77 66                	ja     0x140076858
1400767f2:	8b 85 d4 06 00 00    	mov    0x6d4(%rbp),%eax
1400767f8:	45 33 db             	xor    %r11d,%r11d
1400767fb:	85 c0                	test   %eax,%eax
1400767fd:	75 0f                	jne    0x14007680e
1400767ff:	45 8b f3             	mov    %r11d,%r14d
140076802:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
140076809:	e9 42 01 00 00       	jmp    0x140076950
14007680e:	83 f8 01             	cmp    $0x1,%eax
140076811:	0f 84 39 01 00 00    	je     0x140076950
140076817:	45 85 f6             	test   %r14d,%r14d
14007681a:	0f 84 30 01 00 00    	je     0x140076950
140076820:	45 8b c3             	mov    %r11d,%r8d
140076823:	45 8b cb             	mov    %r11d,%r9d
140076826:	4c 8b d0             	mov    %rax,%r10
140076829:	41 8b d1             	mov    %r9d,%edx
14007682c:	41 ff c1             	inc    %r9d
14007682f:	41 8b c0             	mov    %r8d,%eax
140076832:	8b 8c 95 34 03 00 00 	mov    0x334(%rbp,%rdx,4),%ecx
140076839:	49 0f af ca          	imul   %r10,%rcx
14007683d:	48 03 c8             	add    %rax,%rcx
140076840:	4c 8b c1             	mov    %rcx,%r8
140076843:	89 8c 95 34 03 00 00 	mov    %ecx,0x334(%rbp,%rdx,4)
14007684a:	49 c1 e8 20          	shr    $0x20,%r8
14007684e:	45 3b ce             	cmp    %r14d,%r9d
140076851:	75 d6                	jne    0x140076829
140076853:	e9 b3 00 00 00       	jmp    0x14007690b
140076858:	41 83 fe 01          	cmp    $0x1,%r14d
14007685c:	0f 87 fd 00 00 00    	ja     0x14007695f
140076862:	8b 9d 34 03 00 00    	mov    0x334(%rbp),%ebx
140076868:	4d 8b c2             	mov    %r10,%r8
14007686b:	49 c1 e0 02          	shl    $0x2,%r8
14007686f:	45 33 db             	xor    %r11d,%r11d
140076872:	44 89 95 30 03 00 00 	mov    %r10d,0x330(%rbp)
140076879:	45 8b f2             	mov    %r10d,%r14d
14007687c:	4d 85 c0             	test   %r8,%r8
14007687f:	74 45                	je     0x1400768c6
140076881:	48 8d 8d 34 03 00 00 	lea    0x334(%rbp),%rcx
140076888:	49 81 f8 cc 01 00 00 	cmp    $0x1cc,%r8
14007688f:	77 0e                	ja     0x14007689f
140076891:	48 8d 95 d4 06 00 00 	lea    0x6d4(%rbp),%rdx
140076898:	e8 d3 72 02 00       	call   0x14009db70
14007689d:	eb 1d                	jmp    0x1400768bc
14007689f:	33 d2                	xor    %edx,%edx
1400768a1:	41 b8 cc 01 00 00    	mov    $0x1cc,%r8d
1400768a7:	e8 64 79 02 00       	call   0x14009e210
1400768ac:	e8 13 79 00 00       	call   0x14007e1c4
1400768b1:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
1400768b7:	e8 28 7f 01 00       	call   0x14008e7e4
1400768bc:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
1400768c3:	45 33 db             	xor    %r11d,%r11d
1400768c6:	85 db                	test   %ebx,%ebx
1400768c8:	0f 84 31 ff ff ff    	je     0x1400767ff
1400768ce:	83 fb 01             	cmp    $0x1,%ebx
1400768d1:	74 7d                	je     0x140076950
1400768d3:	45 85 f6             	test   %r14d,%r14d
1400768d6:	74 78                	je     0x140076950
1400768d8:	45 8b c3             	mov    %r11d,%r8d
1400768db:	45 8b cb             	mov    %r11d,%r9d
1400768de:	4c 8b d3             	mov    %rbx,%r10
1400768e1:	41 8b d1             	mov    %r9d,%edx
1400768e4:	41 ff c1             	inc    %r9d
1400768e7:	41 8b c0             	mov    %r8d,%eax
1400768ea:	8b 8c 95 34 03 00 00 	mov    0x334(%rbp,%rdx,4),%ecx
1400768f1:	49 0f af ca          	imul   %r10,%rcx
1400768f5:	48 03 c8             	add    %rax,%rcx
1400768f8:	4c 8b c1             	mov    %rcx,%r8
1400768fb:	89 8c 95 34 03 00 00 	mov    %ecx,0x334(%rbp,%rdx,4)
140076902:	49 c1 e8 20          	shr    $0x20,%r8
140076906:	45 3b ce             	cmp    %r14d,%r9d
140076909:	75 d6                	jne    0x1400768e1
14007690b:	45 85 c0             	test   %r8d,%r8d
14007690e:	74 39                	je     0x140076949
140076910:	83 bd 30 03 00 00 73 	cmpl   $0x73,0x330(%rbp)