14001978f:	8d 47 ff             	lea    -0x1(%rdi),%eax
140019792:	8b 5c 81 04          	mov    0x4(%rcx,%rax,4),%ebx
140019796:	44 8b f6             	mov    %esi,%r14d
140019799:	41 c1 e6 05          	shl    $0x5,%r14d
14001979d:	41 83 e0 1f          	and    $0x1f,%r8d
1400197a1:	75 36                	jne    0x1400197d9
1400197a3:	48 c1 e3 20          	shl    $0x20,%rbx
1400197a7:	41 03 d6             	add    %r14d,%edx
1400197aa:	49 03 dc             	add    %r12,%rbx
1400197ad:	41 80 f1 01          	xor    $0x1,%r9b
1400197b1:	41 8b fa             	mov    %r10d,%edi
1400197b4:	85 f6                	test   %esi,%esi
1400197b6:	0f 84 93 00 00 00    	je     0x14001984f
1400197bc:	8b cf                	mov    %edi,%ecx
1400197be:	45 8b c2             	mov    %r10d,%r8d
1400197c1:	41 0f b6 c1          	movzbl %r9b,%eax
1400197c5:	45 39 54 8b 04       	cmp    %r10d,0x4(%r11,%rcx,4)
1400197ca:	44 0f 44 c0          	cmove  %eax,%r8d
1400197ce:	ff c7                	inc    %edi
1400197d0:	45 8a c8             	mov    %r8b,%r9b
1400197d3:	3b fe                	cmp    %esi,%edi
1400197d5:	75 e5                	jne    0x1400197bc
1400197d7:	eb 76                	jmp    0x14001984f
1400197d9:	45 2b e8             	sub    %r8d,%r13d
1400197dc:	41 8b c8             	mov    %r8d,%ecx
1400197df:	45 03 f0             	add    %r8d,%r14d
1400197e2:	b8 01 00 00 00       	mov    $0x1,%eax
1400197e7:	44 03 f2             	add    %edx,%r14d
1400197ea:	d3 e0                	shl    %cl,%eax
1400197ec:	41 8b 54 bb 04       	mov    0x4(%r11,%rdi,4),%edx
1400197f1:	ff c8                	dec    %eax
1400197f3:	41 8d 4d e0          	lea    -0x20(%r13),%ecx
1400197f7:	8b f8                	mov    %eax,%edi
1400197f9:	48 23 d7             	and    %rdi,%rdx
1400197fc:	48 d3 e3             	shl    %cl,%rbx
1400197ff:	41 8b cd             	mov    %r13d,%ecx
140019802:	48 d3 e2             	shl    %cl,%rdx
140019805:	41 8b c8             	mov    %r8d,%ecx
140019808:	48 03 da             	add    %rdx,%rbx
14001980b:	8b d0                	mov    %eax,%edx
14001980d:	f7 d2                	not    %edx
14001980f:	49 23 d4             	and    %r12,%rdx
140019812:	48 d3 ea             	shr    %cl,%rdx
140019815:	48 03 da             	add    %rdx,%rbx
140019818:	45 84 c9             	test   %r9b,%r9b
14001981b:	75 07                	jne    0x140019824
14001981d:	b0 01                	mov    $0x1,%al
14001981f:	44 85 e7             	test   %r12d,%edi
140019822:	74 03                	je     0x140019827
140019824:	41 8a c2             	mov    %r10b,%al
140019827:	41 8b ca             	mov    %r10d,%ecx
14001982a:	85 f6                	test   %esi,%esi
14001982c:	74 1b                	je     0x140019849
14001982e:	44 8b c1             	mov    %ecx,%r8d
140019831:	45 8b ca             	mov    %r10d,%r9d
140019834:	0f b6 c0             	movzbl %al,%eax
140019837:	47 39 54 83 04       	cmp    %r10d,0x4(%r11,%r8,4)
14001983c:	44 0f 44 c8          	cmove  %eax,%r9d
140019840:	ff c1                	inc    %ecx
140019842:	41 8a c1             	mov    %r9b,%al
140019845:	3b ce                	cmp    %esi,%ecx
140019847:	75 e5                	jne    0x14001982e
140019849:	44 8a c8             	mov    %al,%r9b
14001984c:	41 8b d6             	mov    %r14d,%edx
14001984f:	48 8b cb             	mov    %rbx,%rcx
140019852:	45 8a c7             	mov    %r15b,%r8b
140019855:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
14001985a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14001985f:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140019864:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140019869:	41 5f                	pop    %r15
14001986b:	41 5e                	pop    %r14
14001986d:	41 5d                	pop    %r13
14001986f:	41 5c                	pop    %r12
140019871:	5f                   	pop    %rdi
140019872:	e9 f5 fa ff ff       	jmp    0x14001936c
140019877:	cc                   	int3
140019878:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14001987d:	55                   	push   %rbp
14001987e:	56                   	push   %rsi
14001987f:	57                   	push   %rdi
140019880:	41 54                	push   %r12
140019882:	41 55                	push   %r13
140019884:	41 56                	push   %r14
140019886:	41 57                	push   %r15
140019888:	48 8d ac 24 80 f5 ff 	lea    -0xa80(%rsp),%rbp
14001988f:	ff
140019890:	48 81 ec 80 0b 00 00 	sub    $0xb80,%rsp
140019897:	48 8b 05 22 49 03 00 	mov    0x34922(%rip),%rax        # 0x14004e1c0
14001989e:	48 33 c4             	xor    %rsp,%rax
1400198a1:	48 89 85 70 0a 00 00 	mov    %rax,0xa70(%rbp)
1400198a8:	8a 42 08             	mov    0x8(%rdx),%al
1400198ab:	4c 8d 25 4e 67 fe ff 	lea    -0x198b2(%rip),%r12        # 0x140000000
1400198b2:	44 8b 11             	mov    (%rcx),%r10d
1400198b5:	f6 d8                	neg    %al
1400198b7:	4c 8b c9             	mov    %rcx,%r9
1400198ba:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
1400198bf:	8b 51 04             	mov    0x4(%rcx),%edx
1400198c2:	1b c0                	sbb    %eax,%eax
1400198c4:	83 e0 1d             	and    $0x1d,%eax
1400198c7:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
1400198cc:	83 c0 19             	add    $0x19,%eax
1400198cf:	45 33 db             	xor    %r11d,%r11d
1400198d2:	45 85 d2             	test   %r10d,%r10d
1400198d5:	89 44 24 50          	mov    %eax,0x50(%rsp)
1400198d9:	4d 8d 41 08          	lea    0x8(%r9),%r8
1400198dd:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
1400198e4:	45 0f 48 d3          	cmovs  %r11d,%r10d
1400198e8:	45 8b f3             	mov    %r11d,%r14d
1400198eb:	44 3b d2             	cmp    %edx,%r10d
1400198ee:	41 8d 5b 26          	lea    0x26(%r11),%ebx
1400198f2:	41 8b c2             	mov    %r10d,%eax
1400198f5:	45 8b fb             	mov    %r11d,%r15d
1400198f8:	0f 43 c2             	cmovae %edx,%eax
1400198fb:	45 8b eb             	mov    %r11d,%r13d
1400198fe:	44 2b d0             	sub    %eax,%r10d
140019901:	8b c8                	mov    %eax,%ecx
140019903:	4c 03 c1             	add    %rcx,%r8
140019906:	44 89 54 24 34       	mov    %r10d,0x34(%rsp)
14001990b:	49 8d 41 08          	lea    0x8(%r9),%rax
14001990f:	4c 89 44 24 70       	mov    %r8,0x70(%rsp)
140019914:	48 03 c2             	add    %rdx,%rax
140019917:	4d 8d 51 08          	lea    0x8(%r9),%r10
14001991b:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140019920:	41 2b c0             	sub    %r8d,%eax
140019923:	89 44 24 40          	mov    %eax,0x40(%rsp)
140019927:	89 45 80             	mov    %eax,-0x80(%rbp)
14001992a:	4d 3b d0             	cmp    %r8,%r10
14001992d:	0f 84 36 06 00 00    	je     0x140019f69
140019933:	41 83 fd 09          	cmp    $0x9,%r13d
140019937:	0f 85 f0 00 00 00    	jne    0x140019a2d
14001993d:	45 85 f6             	test   %r14d,%r14d
140019940:	74 7a                	je     0x1400199bc
140019942:	45 8b c3             	mov    %r11d,%r8d
140019945:	45 8b cb             	mov    %r11d,%r9d
140019948:	41 8b d1             	mov    %r9d,%edx
14001994b:	41 ff c1             	inc    %r9d
14001994e:	8b 84 95 34 03 00 00 	mov    0x334(%rbp,%rdx,4),%eax
140019955:	48 69 c8 00 ca 9a 3b 	imul   $0x3b9aca00,%rax,%rcx
14001995c:	41 8b c0             	mov    %r8d,%eax
14001995f:	48 03 c8             	add    %rax,%rcx
140019962:	4c 8b c1             	mov    %rcx,%r8
140019965:	89 8c 95 34 03 00 00 	mov    %ecx,0x334(%rbp,%rdx,4)
14001996c:	49 c1 e8 20          	shr    $0x20,%r8
140019970:	45 3b ce             	cmp    %r14d,%r9d
140019973:	75 d3                	jne    0x140019948
140019975:	45 85 c0             	test   %r8d,%r8d
140019978:	74 36                	je     0x1400199b0
14001997a:	83 bd 30 03 00 00 73 	cmpl   $0x73,0x330(%rbp)
140019981:	73 21                	jae    0x1400199a4
140019983:	8b 85 30 03 00 00    	mov    0x330(%rbp),%eax
140019989:	44 89 84 85 34 03 00 	mov    %r8d,0x334(%rbp,%rax,4)
140019990:	00
140019991:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140019998:	41 ff c6             	inc    %r14d
14001999b:	44 89 b5 30 03 00 00 	mov    %r14d,0x330(%rbp)
1400199a2:	eb 13                	jmp    0x1400199b7
1400199a4:	45 8b f3             	mov    %r11d,%r14d
1400199a7:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
1400199ae:	eb 07                	jmp    0x1400199b7
1400199b0:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
1400199b7:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
1400199bc:	45 85 ff             	test   %r15d,%r15d
1400199bf:	74 66                	je     0x140019a27
1400199c1:	41 8b d3             	mov    %r11d,%edx
1400199c4:	45 85 f6             	test   %r14d,%r14d
1400199c7:	74 30                	je     0x1400199f9
1400199c9:	8b ca                	mov    %edx,%ecx
1400199cb:	ff c2                	inc    %edx
1400199cd:	45 8b ff             	mov    %r15d,%r15d
1400199d0:	8b 84 8d 34 03 00 00 	mov    0x334(%rbp,%rcx,4),%eax
1400199d7:	4c 03 f8             	add    %rax,%r15
1400199da:	44 89 bc 8d 34 03 00 	mov    %r15d,0x334(%rbp,%rcx,4)
1400199e1:	00
1400199e2:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
1400199e9:	49 c1 ef 20          	shr    $0x20,%r15
1400199ed:	41 8b c7             	mov    %r15d,%eax
1400199f0:	41 3b d6             	cmp    %r14d,%edx
1400199f3:	75 d4                	jne    0x1400199c9
1400199f5:	85 c0                	test   %eax,%eax
1400199f7:	74 2e                	je     0x140019a27
1400199f9:	41 83 fe 73          	cmp    $0x73,%r14d
1400199fd:	73 1e                	jae    0x140019a1d
1400199ff:	41 8b c6             	mov    %r14d,%eax
140019a02:	44 89 bc 85 34 03 00 	mov    %r15d,0x334(%rbp,%rax,4)
140019a09:	00
140019a0a:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140019a11:	41 ff c6             	inc    %r14d
140019a14:	44 89 b5 30 03 00 00 	mov    %r14d,0x330(%rbp)
140019a1b:	eb 0a                	jmp    0x140019a27
140019a1d:	45 8b f3             	mov    %r11d,%r14d
140019a20:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
140019a27:	45 8b fb             	mov    %r11d,%r15d
140019a2a:	45 8b eb             	mov    %r11d,%r13d
140019a2d:	41 0f b6 02          	movzbl (%r10),%eax
140019a31:	43 8d 0c bf          	lea    (%r15,%r15,4),%ecx
140019a35:	41 ff c5             	inc    %r13d
140019a38:	49 ff c2             	inc    %r10
140019a3b:	44 8d 3c 48          	lea    (%rax,%rcx,2),%r15d
140019a3f:	4d 3b d0             	cmp    %r8,%r10
140019a42:	0f 85 eb fe ff ff    	jne    0x140019933
140019a48:	45 85 ed             	test   %r13d,%r13d
140019a4b:	0f 84 18 05 00 00    	je     0x140019f69
140019a51:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140019a56:	41 f7 e5             	mul    %r13d
140019a59:	8b c2                	mov    %edx,%eax
140019a5b:	c1 e8 03             	shr    $0x3,%eax
140019a5e:	89 44 24 38          	mov    %eax,0x38(%rsp)
140019a62:	8b c8                	mov    %eax,%ecx
140019a64:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
140019a68:	85 c0                	test   %eax,%eax
140019a6a:	0f 84 d3 03 00 00    	je     0x140019e43
140019a70:	3b cb                	cmp    %ebx,%ecx
140019a72:	8b c1                	mov    %ecx,%eax
140019a74:	0f 47 c3             	cmova  %ebx,%eax
140019a77:	33 d2                	xor    %edx,%edx
140019a79:	89 44 24 30          	mov    %eax,0x30(%rsp)
140019a7d:	ff c8                	dec    %eax
140019a7f:	8b f8                	mov    %eax,%edi
140019a81:	41 0f b6 8c 84 32 ea 	movzbl 0x3ea32(%r12,%rax,4),%ecx
140019a88:	03 00
140019a8a:	41 0f b6 b4 84 33 ea 	movzbl 0x3ea33(%r12,%rax,4),%esi
140019a91:	03 00
140019a93:	48 8d 1c 8d 00 00 00 	lea    0x0(,%rcx,4),%rbx
140019a9a:	00
140019a9b:	8d 04 0e             	lea    (%rsi,%rcx,1),%eax
140019a9e:	4c 8b c3             	mov    %rbx,%r8
140019aa1:	48 8d 8d d4 06 00 00 	lea    0x6d4(%rbp),%rcx
140019aa8:	89 85 d0 06 00 00    	mov    %eax,0x6d0(%rbp)
140019aae:	e8 fd 13 02 00       	call   0x14003aeb0
140019ab3:	41 0f b7 84 bc 30 ea 	movzwl 0x3ea30(%r12,%rdi,4),%eax
140019aba:	03 00
140019abc:	48 8d 8d d4 06 00 00 	lea    0x6d4(%rbp),%rcx
140019ac3:	48 c1 e6 02          	shl    $0x2,%rsi
140019ac7:	48 03 cb             	add    %rbx,%rcx
140019aca:	4c 8b c6             	mov    %rsi,%r8
140019acd:	48 8d 14 85 20 e1 03 	lea    0x3e120(,%rax,4),%rdx
140019ad4:	00
140019ad5:	49 03 d4             	add    %r12,%rdx
140019ad8:	e8 33 0d 02 00       	call   0x14003a810
140019add:	44 8b 95 d0 06 00 00 	mov    0x6d0(%rbp),%r10d
140019ae4:	41 83 fa 01          	cmp    $0x1,%r10d
140019ae8:	77 66                	ja     0x140019b50
140019aea:	8b 85 d4 06 00 00    	mov    0x6d4(%rbp),%eax
140019af0:	45 33 db             	xor    %r11d,%r11d
140019af3:	85 c0                	test   %eax,%eax
140019af5:	75 0f                	jne    0x140019b06
140019af7:	45 8b f3             	mov    %r11d,%r14d
140019afa:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
140019b01:	e9 42 01 00 00       	jmp    0x140019c48
140019b06:	83 f8 01             	cmp    $0x1,%eax
140019b09:	0f 84 39 01 00 00    	je     0x140019c48
140019b0f:	45 85 f6             	test   %r14d,%r14d
140019b12:	0f 84 30 01 00 00    	je     0x140019c48
140019b18:	45 8b c3             	mov    %r11d,%r8d
140019b1b:	45 8b cb             	mov    %r11d,%r9d
140019b1e:	4c 8b d0             	mov    %rax,%r10
140019b21:	41 8b d1             	mov    %r9d,%edx
140019b24:	41 ff c1             	inc    %r9d
140019b27:	41 8b c0             	mov    %r8d,%eax
140019b2a:	8b 8c 95 34 03 00 00 	mov    0x334(%rbp,%rdx,4),%ecx
140019b31:	49 0f af ca          	imul   %r10,%rcx
140019b35:	48 03 c8             	add    %rax,%rcx
140019b38:	4c 8b c1             	mov    %rcx,%r8
140019b3b:	89 8c 95 34 03 00 00 	mov    %ecx,0x334(%rbp,%rdx,4)
140019b42:	49 c1 e8 20          	shr    $0x20,%r8
140019b46:	45 3b ce             	cmp    %r14d,%r9d
140019b49:	75 d6                	jne    0x140019b21
140019b4b:	e9 b3 00 00 00       	jmp    0x140019c03
140019b50:	41 83 fe 01          	cmp    $0x1,%r14d
140019b54:	0f 87 fd 00 00 00    	ja     0x140019c57
140019b5a:	8b 9d 34 03 00 00    	mov    0x334(%rbp),%ebx
140019b60:	4d 8b c2             	mov    %r10,%r8
140019b63:	49 c1 e0 02          	shl    $0x2,%r8
140019b67:	45 33 db             	xor    %r11d,%r11d
140019b6a:	44 89 95 30 03 00 00 	mov    %r10d,0x330(%rbp)
140019b71:	45 8b f2             	mov    %r10d,%r14d
140019b74:	4d 85 c0             	test   %r8,%r8
140019b77:	74 45                	je     0x140019bbe
140019b79:	48 8d 8d 34 03 00 00 	lea    0x334(%rbp),%rcx
140019b80:	49 81 f8 cc 01 00 00 	cmp    $0x1cc,%r8
140019b87:	77 0e                	ja     0x140019b97
140019b89:	48 8d 95 d4 06 00 00 	lea    0x6d4(%rbp),%rdx
140019b90:	e8 7b 0c 02 00       	call   0x14003a810
140019b95:	eb 1d                	jmp    0x140019bb4
140019b97:	33 d2                	xor    %edx,%edx
140019b99:	41 b8 cc 01 00 00    	mov    $0x1cc,%r8d
140019b9f:	e8 0c 13 02 00       	call   0x14003aeb0
140019ba4:	e8 33 75 00 00       	call   0x1400210dc
140019ba9:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140019baf:	e8 a0 53 ff ff       	call   0x14000ef54
140019bb4:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140019bbb:	45 33 db             	xor    %r11d,%r11d
140019bbe:	85 db                	test   %ebx,%ebx
140019bc0:	0f 84 31 ff ff ff    	je     0x140019af7
140019bc6:	83 fb 01             	cmp    $0x1,%ebx
140019bc9:	74 7d                	je     0x140019c48
140019bcb:	45 85 f6             	test   %r14d,%r14d
140019bce:	74 78                	je     0x140019c48
140019bd0:	45 8b c3             	mov    %r11d,%r8d
140019bd3:	45 8b cb             	mov    %r11d,%r9d
140019bd6:	4c 8b d3             	mov    %rbx,%r10
140019bd9:	41 8b d1             	mov    %r9d,%edx
140019bdc:	41 ff c1             	inc    %r9d
140019bdf:	41 8b c0             	mov    %r8d,%eax
140019be2:	8b 8c 95 34 03 00 00 	mov    0x334(%rbp,%rdx,4),%ecx
140019be9:	49 0f af ca          	imul   %r10,%rcx
140019bed:	48 03 c8             	add    %rax,%rcx
140019bf0:	4c 8b c1             	mov    %rcx,%r8
140019bf3:	89 8c 95 34 03 00 00 	mov    %ecx,0x334(%rbp,%rdx,4)
140019bfa:	49 c1 e8 20          	shr    $0x20,%r8
140019bfe:	45 3b ce             	cmp    %r14d,%r9d
140019c01:	75 d6                	jne    0x140019bd9
140019c03:	45 85 c0             	test   %r8d,%r8d
140019c06:	74 39                	je     0x140019c41
140019c08:	83 bd 30 03 00 00 73 	cmpl   $0x73,0x330(%rbp)
140019c0f:	73 21                	jae    0x140019c32
140019c11:	8b 85 30 03 00 00    	mov    0x330(%rbp),%eax
140019c17:	44 89 84 85 34 03 00 	mov    %r8d,0x334(%rbp,%rax,4)
140019c1e:	00
140019c1f:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140019c26:	41 ff c6             	inc    %r14d
140019c29:	44 89 b5 30 03 00 00 	mov    %r14d,0x330(%rbp)
140019c30:	eb 16                	jmp    0x140019c48
140019c32:	41 8a c3             	mov    %r11b,%al
140019c35:	44 89 9d 30 03 00 00 	mov    %r11d,0x330(%rbp)
140019c3c:	45 8b f3             	mov    %r11d,%r14d
140019c3f:	eb 09                	jmp    0x140019c4a
140019c41:	44 8b b5 30 03 00 00 	mov    0x330(%rbp),%r14d
140019c48:	b0 01                	mov    $0x1,%al
140019c4a:	84 c0                	test   %al,%al
140019c4c:	0f 84 93 02 00 00    	je     0x140019ee5
140019c52:	e9 d1 01 00 00       	jmp    0x140019e28
140019c57:	45 3b d6             	cmp    %r14d,%r10d
140019c5a:	48 8d 95 34 03 00 00 	lea    0x334(%rbp),%rdx
140019c61:	45 8b e6             	mov    %r14d,%r12d
140019c64:	48 8d 8d d4 06 00 00 	lea    0x6d4(%rbp),%rcx
140019c6b:	48 0f 43 ca          	cmovae %rdx,%rcx
140019c6f:	4c 8d 85 d4 06 00 00 	lea    0x6d4(%rbp),%r8
140019c76:	45 0f 42 e2          	cmovb  %r10d,%r12d
140019c7a:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
140019c7f:	0f 92 c0             	setb   %al
140019c82:	48 8d 95 34 03 00 00 	lea    0x334(%rbp),%rdx
140019c89:	49 0f 43 d0          	cmovae %r8,%rdx
140019c8d:	45 33 db             	xor    %r11d,%r11d
140019c90:	84 c0                	test   %al,%al
140019c92:	48 89 54 24 48       	mov    %rdx,0x48(%rsp)
140019c97:	44 89 9d 00 05 00 00 	mov    %r11d,0x500(%rbp)
140019c9e:	45 8b cb             	mov    %r11d,%r9d
140019ca1:	45 0f 45 d6          	cmovne %r14d,%r10d