140011d40:	44 8b 7c 24 30       	mov    0x30(%rsp),%r15d
140011d45:	41 8b c1             	mov    %r9d,%eax
140011d48:	41 2b c0             	sub    %r8d,%eax
140011d4b:	8d 48 ff             	lea    -0x1(%rax),%ecx
140011d4e:	3b c2                	cmp    %edx,%eax
140011d50:	73 07                	jae    0x140011d59
140011d52:	44 8b 54 85 94       	mov    -0x6c(%rbp,%rax,4),%r10d
140011d57:	eb 03                	jmp    0x140011d5c
140011d59:	45 33 d2             	xor    %r10d,%r10d
140011d5c:	3b ca                	cmp    %edx,%ecx
140011d5e:	73 06                	jae    0x140011d66
140011d60:	8b 54 8d 94          	mov    -0x6c(%rbp,%rcx,4),%edx
140011d64:	eb 02                	jmp    0x140011d68
140011d66:	33 d2                	xor    %edx,%edx
140011d68:	41 23 d7             	and    %r15d,%edx
140011d6b:	8b ce                	mov    %esi,%ecx
140011d6d:	d3 ea                	shr    %cl,%edx
140011d6f:	44 23 d7             	and    %edi,%r10d
140011d72:	41 8b cb             	mov    %r11d,%ecx
140011d75:	41 d3 e2             	shl    %cl,%r10d
140011d78:	41 0b d2             	or     %r10d,%edx
140011d7b:	42 89 54 8d 94       	mov    %edx,-0x6c(%rbp,%r9,4)
140011d80:	41 ff c9             	dec    %r9d
140011d83:	44 3b cb             	cmp    %ebx,%r9d
140011d86:	74 05                	je     0x140011d8d
140011d88:	8b 55 90             	mov    -0x70(%rbp),%edx
140011d8b:	eb b8                	jmp    0x140011d45
140011d8d:	41 bf 01 00 00 00    	mov    $0x1,%r15d
140011d93:	33 c9                	xor    %ecx,%ecx
140011d95:	45 85 c0             	test   %r8d,%r8d
140011d98:	74 0d                	je     0x140011da7
140011d9a:	83 64 8d 94 00       	andl   $0x0,-0x6c(%rbp,%rcx,4)
140011d9f:	41 03 cf             	add    %r15d,%ecx
140011da2:	41 3b c8             	cmp    %r8d,%ecx
140011da5:	75 f3                	jne    0x140011d9a
140011da7:	44 89 75 90          	mov    %r14d,-0x70(%rbp)
140011dab:	c7 85 34 03 00 00 04 	movl   $0x4,0x334(%rbp)
140011db2:	00 00 00
140011db5:	83 a5 38 03 00 00 00 	andl   $0x0,0x338(%rbp)
140011dbc:	41 b9 04 00 00 00    	mov    $0x4,%r9d
140011dc2:	44 89 bd 30 03 00 00 	mov    %r15d,0x330(%rbp)
140011dc9:	44 89 bd 60 01 00 00 	mov    %r15d,0x160(%rbp)
140011dd0:	e9 d1 02 00 00       	jmp    0x1400120a6
140011dd5:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
140011dda:	45 8d 9c 24 cd fb ff 	lea    -0x433(%r12),%r11d
140011de1:	ff
140011de2:	45 8b c3             	mov    %r11d,%r8d
140011de5:	8b f3                	mov    %ebx,%esi
140011de7:	41 83 e3 1f          	and    $0x1f,%r11d
140011deb:	41 c1 e8 05          	shr    $0x5,%r8d
140011def:	41 2b f3             	sub    %r11d,%esi
140011df2:	49 8b ff             	mov    %r15,%rdi
140011df5:	8b ce                	mov    %esi,%ecx
140011df7:	48 d3 e7             	shl    %cl,%rdi
140011dfa:	41 2b ff             	sub    %r15d,%edi
140011dfd:	8b c7                	mov    %edi,%eax
140011dff:	f7 d0                	not    %eax
140011e01:	89 44 24 30          	mov    %eax,0x30(%rsp)
140011e05:	8d 42 ff             	lea    -0x1(%rdx),%eax
140011e08:	0f bd 4c 85 94       	bsr    -0x6c(%rbp,%rax,4),%ecx
140011e0d:	74 04                	je     0x140011e13
140011e0f:	ff c1                	inc    %ecx
140011e11:	eb 02                	jmp    0x140011e15
140011e13:	33 c9                	xor    %ecx,%ecx
140011e15:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
140011e19:	41 bc cc 01 00 00    	mov    $0x1cc,%r12d
140011e1f:	83 f8 73             	cmp    $0x73,%eax
140011e22:	76 2a                	jbe    0x140011e4e
140011e24:	83 a5 30 03 00 00 00 	andl   $0x0,0x330(%rbp)
140011e2b:	4c 8d 85 34 03 00 00 	lea    0x334(%rbp),%r8
140011e32:	83 65 90 00          	andl   $0x0,-0x70(%rbp)
140011e36:	48 8d 4d 94          	lea    -0x6c(%rbp),%rcx
140011e3a:	45 33 c9             	xor    %r9d,%r9d
140011e3d:	49 8b d4             	mov    %r12,%rdx
140011e40:	e8 17 0e 00 00       	call   0x140012c5c
140011e45:	44 8b 75 90          	mov    -0x70(%rbp),%r14d
140011e49:	e9 90 00 00 00       	jmp    0x140011ede
140011e4e:	45 33 f6             	xor    %r14d,%r14d
140011e51:	2b d9                	sub    %ecx,%ebx
140011e53:	44 3b db             	cmp    %ebx,%r11d
140011e56:	41 0f 97 c6          	seta   %r14b
140011e5a:	44 03 f2             	add    %edx,%r14d
140011e5d:	45 03 f0             	add    %r8d,%r14d
140011e60:	41 83 fe 73          	cmp    $0x73,%r14d
140011e64:	77 be                	ja     0x140011e24
140011e66:	41 8d 58 ff          	lea    -0x1(%r8),%ebx
140011e6a:	45 8d 56 ff          	lea    -0x1(%r14),%r10d
140011e6e:	44 3b d3             	cmp    %ebx,%r10d
140011e71:	74 53                	je     0x140011ec6
140011e73:	44 8b 7c 24 30       	mov    0x30(%rsp),%r15d
140011e78:	41 8b c2             	mov    %r10d,%eax
140011e7b:	41 2b c0             	sub    %r8d,%eax
140011e7e:	8d 48 ff             	lea    -0x1(%rax),%ecx
140011e81:	3b c2                	cmp    %edx,%eax
140011e83:	73 07                	jae    0x140011e8c
140011e85:	44 8b 4c 85 94       	mov    -0x6c(%rbp,%rax,4),%r9d
140011e8a:	eb 03                	jmp    0x140011e8f
140011e8c:	45 33 c9             	xor    %r9d,%r9d
140011e8f:	3b ca                	cmp    %edx,%ecx
140011e91:	73 06                	jae    0x140011e99
140011e93:	8b 54 8d 94          	mov    -0x6c(%rbp,%rcx,4),%edx
140011e97:	eb 02                	jmp    0x140011e9b
140011e99:	33 d2                	xor    %edx,%edx
140011e9b:	41 23 d7             	and    %r15d,%edx
140011e9e:	8b ce                	mov    %esi,%ecx
140011ea0:	d3 ea                	shr    %cl,%edx
140011ea2:	44 23 cf             	and    %edi,%r9d
140011ea5:	41 8b cb             	mov    %r11d,%ecx
140011ea8:	41 d3 e1             	shl    %cl,%r9d
140011eab:	41 0b d1             	or     %r9d,%edx
140011eae:	42 89 54 95 94       	mov    %edx,-0x6c(%rbp,%r10,4)
140011eb3:	41 ff ca             	dec    %r10d
140011eb6:	44 3b d3             	cmp    %ebx,%r10d
140011eb9:	74 05                	je     0x140011ec0
140011ebb:	8b 55 90             	mov    -0x70(%rbp),%edx
140011ebe:	eb b8                	jmp    0x140011e78
140011ec0:	41 bf 01 00 00 00    	mov    $0x1,%r15d
140011ec6:	33 c9                	xor    %ecx,%ecx
140011ec8:	45 85 c0             	test   %r8d,%r8d
140011ecb:	74 0d                	je     0x140011eda
140011ecd:	83 64 8d 94 00       	andl   $0x0,-0x6c(%rbp,%rcx,4)
140011ed2:	41 03 cf             	add    %r15d,%ecx
140011ed5:	41 3b c8             	cmp    %r8d,%ecx
140011ed8:	75 f3                	jne    0x140011ecd
140011eda:	44 89 75 90          	mov    %r14d,-0x70(%rbp)
140011ede:	c7 85 34 03 00 00 02 	movl   $0x2,0x334(%rbp)
140011ee5:	00 00 00
140011ee8:	e9 c8 fe ff ff       	jmp    0x140011db5
140011eed:	41 83 fc 36          	cmp    $0x36,%r12d
140011ef1:	0f 84 1d 01 00 00    	je     0x140012014
140011ef7:	33 c0                	xor    %eax,%eax
140011ef9:	c7 85 38 03 00 00 00 	movl   $0x100000,0x338(%rbp)
140011f00:	00 10 00
140011f03:	89 85 34 03 00 00    	mov    %eax,0x334(%rbp)
140011f09:	89 b5 30 03 00 00    	mov    %esi,0x330(%rbp)
140011f0f:	85 ff                	test   %edi,%edi
140011f11:	0f 84 fd 00 00 00    	je     0x140012014
140011f17:	45 33 c0             	xor    %r8d,%r8d
140011f1a:	42 8b 44 85 94       	mov    -0x6c(%rbp,%r8,4),%eax
140011f1f:	42 39 84 85 34 03 00 	cmp    %eax,0x334(%rbp,%r8,4)
140011f26:	00
140011f27:	0f 85 e7 00 00 00    	jne    0x140012014
140011f2d:	45 03 c7             	add    %r15d,%r8d
140011f30:	44 3b c6             	cmp    %esi,%r8d
140011f33:	75 e5                	jne    0x140011f1a
140011f35:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
140011f3a:	0f bd c7             	bsr    %edi,%eax
140011f3d:	74 04                	je     0x140011f43
140011f3f:	ff c0                	inc    %eax
140011f41:	eb 02                	jmp    0x140011f45
140011f43:	33 c0                	xor    %eax,%eax
140011f45:	45 33 f6             	xor    %r14d,%r14d
140011f48:	2b d8                	sub    %eax,%ebx
140011f4a:	3b de                	cmp    %esi,%ebx
140011f4c:	41 bc cc 01 00 00    	mov    $0x1cc,%r12d
140011f52:	41 0f 92 c6          	setb   %r14b
140011f56:	41 83 cb ff          	or     $0xffffffff,%r11d
140011f5a:	44 03 f2             	add    %edx,%r14d
140011f5d:	41 83 fe 73          	cmp    $0x73,%r14d
140011f61:	76 27                	jbe    0x140011f8a
140011f63:	83 a5 30 03 00 00 00 	andl   $0x0,0x330(%rbp)
140011f6a:	4c 8d 85 34 03 00 00 	lea    0x334(%rbp),%r8
140011f71:	83 65 90 00          	andl   $0x0,-0x70(%rbp)
140011f75:	48 8d 4d 94          	lea    -0x6c(%rbp),%rcx
140011f79:	45 33 c9             	xor    %r9d,%r9d
140011f7c:	41 8b d4             	mov    %r12d,%edx
140011f7f:	e8 d8 0c 00 00       	call   0x140012c5c
140011f84:	44 8b 75 90          	mov    -0x70(%rbp),%r14d
140011f88:	eb 4f                	jmp    0x140011fd9
140011f8a:	41 8d 46 ff          	lea    -0x1(%r14),%eax
140011f8e:	41 3b c3             	cmp    %r11d,%eax
140011f91:	74 42                	je     0x140011fd5
140011f93:	44 8b d0             	mov    %eax,%r10d
140011f96:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
140011f9a:	3b c2                	cmp    %edx,%eax
140011f9c:	73 07                	jae    0x140011fa5
140011f9e:	46 8b 4c 95 94       	mov    -0x6c(%rbp,%r10,4),%r9d
140011fa3:	eb 03                	jmp    0x140011fa8
140011fa5:	45 33 c9             	xor    %r9d,%r9d
140011fa8:	44 3b c2             	cmp    %edx,%r8d
140011fab:	73 07                	jae    0x140011fb4
140011fad:	42 8b 4c 85 94       	mov    -0x6c(%rbp,%r8,4),%ecx
140011fb2:	eb 02                	jmp    0x140011fb6
140011fb4:	33 c9                	xor    %ecx,%ecx
140011fb6:	c1 e9 1e             	shr    $0x1e,%ecx
140011fb9:	42 8d 04 8d 00 00 00 	lea    0x0(,%r9,4),%eax
140011fc0:	00
140011fc1:	0b c8                	or     %eax,%ecx
140011fc3:	41 8b c0             	mov    %r8d,%eax
140011fc6:	42 89 4c 95 94       	mov    %ecx,-0x6c(%rbp,%r10,4)
140011fcb:	45 3b c3             	cmp    %r11d,%r8d
140011fce:	74 05                	je     0x140011fd5
140011fd0:	8b 55 90             	mov    -0x70(%rbp),%edx
140011fd3:	eb be                	jmp    0x140011f93
140011fd5:	44 89 75 90          	mov    %r14d,-0x70(%rbp)
140011fd9:	be 36 04 00 00       	mov    $0x436,%esi
140011fde:	48 8d 8d 34 03 00 00 	lea    0x334(%rbp),%rcx
140011fe5:	2b 74 24 30          	sub    0x30(%rsp),%esi
140011fe9:	33 d2                	xor    %edx,%edx
140011feb:	8b fe                	mov    %esi,%edi
140011fed:	c1 ef 05             	shr    $0x5,%edi
140011ff0:	48 8d 1c bd 00 00 00 	lea    0x0(,%rdi,4),%rbx
140011ff7:	00
140011ff8:	4c 8b c3             	mov    %rbx,%r8
140011ffb:	e8 c0 4c 00 00       	call   0x140016cc0
140012000:	83 e6 1f             	and    $0x1f,%esi
140012003:	41 8b c7             	mov    %r15d,%eax
140012006:	40 8a ce             	mov    %sil,%cl
140012009:	d3 e0                	shl    %cl,%eax
14001200b:	89 84 1d 34 03 00 00 	mov    %eax,0x334(%rbp,%rbx,1)
140012012:	eb 7c                	jmp    0x140012090
140012014:	f7 df                	neg    %edi
140012016:	48 1b c0             	sbb    %rax,%rax
140012019:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
14001201e:	83 e0 04             	and    $0x4,%eax
140012021:	0f bd 44 05 94       	bsr    -0x6c(%rbp,%rax,1),%eax
140012026:	74 04                	je     0x14001202c
140012028:	ff c0                	inc    %eax
14001202a:	eb 02                	jmp    0x14001202e
14001202c:	33 c0                	xor    %eax,%eax
14001202e:	45 33 f6             	xor    %r14d,%r14d
140012031:	2b d8                	sub    %eax,%ebx
140012033:	41 3b df             	cmp    %r15d,%ebx
140012036:	41 0f 92 c6          	setb   %r14b
14001203a:	41 83 cb ff          	or     $0xffffffff,%r11d
14001203e:	44 03 f2             	add    %edx,%r14d
140012041:	41 83 fe 73          	cmp    $0x73,%r14d
140012045:	0f 86 45 01 00 00    	jbe    0x140012190
14001204b:	45 33 f6             	xor    %r14d,%r14d
14001204e:	be 35 04 00 00       	mov    $0x435,%esi
140012053:	44 89 75 90          	mov    %r14d,-0x70(%rbp)
140012057:	41 2b f4             	sub    %r12d,%esi
14001205a:	48 8d 8d 34 03 00 00 	lea    0x334(%rbp),%rcx
140012061:	8b fe                	mov    %esi,%edi
140012063:	33 d2                	xor    %edx,%edx
140012065:	c1 ef 05             	shr    $0x5,%edi
140012068:	48 8d 1c bd 00 00 00 	lea    0x0(,%rdi,4),%rbx
14001206f:	00
140012070:	4c 8b c3             	mov    %rbx,%r8
140012073:	e8 48 4c 00 00       	call   0x140016cc0
140012078:	83 e6 1f             	and    $0x1f,%esi
14001207b:	41 8b c7             	mov    %r15d,%eax
14001207e:	40 8a ce             	mov    %sil,%cl
140012081:	41 bc cc 01 00 00    	mov    $0x1cc,%r12d
140012087:	d3 e0                	shl    %cl,%eax
140012089:	89 84 1d 34 03 00 00 	mov    %eax,0x334(%rbp,%rbx,1)
140012090:	8d 47 01             	lea    0x1(%rdi),%eax
140012093:	44 8b c8             	mov    %eax,%r9d
140012096:	49 c1 e1 02          	shl    $0x2,%r9
14001209a:	89 85 60 01 00 00    	mov    %eax,0x160(%rbp)
1400120a0:	89 85 30 03 00 00    	mov    %eax,0x330(%rbp)
1400120a6:	4c 8d 85 34 03 00 00 	lea    0x334(%rbp),%r8
1400120ad:	49 8b d4             	mov    %r12,%rdx
1400120b0:	48 8d 8d 64 01 00 00 	lea    0x164(%rbp),%rcx
1400120b7:	e8 a0 0b 00 00       	call   0x140012c5c
1400120bc:	8b 4c 24 34          	mov    0x34(%rsp),%ecx
1400120c0:	4c 8d 05 39 df fe ff 	lea    -0x120c7(%rip),%r8        # 0x140000000
1400120c7:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
1400120cc:	85 c9                	test   %ecx,%ecx
1400120ce:	0f 88 e1 04 00 00    	js     0x1400125b5
1400120d4:	44 8b a5 60 01 00 00 	mov    0x160(%rbp),%r12d
1400120db:	f7 e1                	mul    %ecx
1400120dd:	8b c2                	mov    %edx,%eax
1400120df:	c1 e8 03             	shr    $0x3,%eax
1400120e2:	89 44 24 30          	mov    %eax,0x30(%rsp)
1400120e6:	85 c0                	test   %eax,%eax
1400120e8:	0f 84 22 04 00 00    	je     0x140012510
1400120ee:	ba 26 00 00 00       	mov    $0x26,%edx
1400120f3:	3b c2                	cmp    %edx,%eax
1400120f5:	8b c8                	mov    %eax,%ecx
1400120f7:	0f 47 ca             	cmova  %edx,%ecx
1400120fa:	33 d2                	xor    %edx,%edx
1400120fc:	89 4c 24 48          	mov    %ecx,0x48(%rsp)
140012100:	8d 41 ff             	lea    -0x1(%rcx),%eax
140012103:	41 0f b6 8c 80 92 ba 	movzbl 0x1ba92(%r8,%rax,4),%ecx
14001210a:	01 00
14001210c:	41 0f b6 b4 80 93 ba 	movzbl 0x1ba93(%r8,%rax,4),%esi
140012113:	01 00
140012115:	8b f8                	mov    %eax,%edi
140012117:	48 8d 1c 8d 00 00 00 	lea    0x0(,%rcx,4),%rbx
14001211e:	00
14001211f:	8d 04 0e             	lea    (%rsi,%rcx,1),%eax
140012122:	4c 8b c3             	mov    %rbx,%r8
140012125:	48 8d 8d 34 03 00 00 	lea    0x334(%rbp),%rcx
14001212c:	89 85 30 03 00 00    	mov    %eax,0x330(%rbp)
140012132:	e8 89 4b 00 00       	call   0x140016cc0
140012137:	48 8d 0d c2 de fe ff 	lea    -0x1213e(%rip),%rcx        # 0x140000000
14001213e:	48 c1 e6 02          	shl    $0x2,%rsi
140012142:	0f b7 84 b9 90 ba 01 	movzwl 0x1ba90(%rcx,%rdi,4),%eax
140012149:	00
14001214a:	48 8d 91 80 b1 01 00 	lea    0x1b180(%rcx),%rdx
140012151:	48 8d 8d 34 03 00 00 	lea    0x334(%rbp),%rcx
140012158:	4c 8b c6             	mov    %rsi,%r8
14001215b:	48 03 cb             	add    %rbx,%rcx
14001215e:	48 8d 14 82          	lea    (%rdx,%rax,4),%rdx
140012162:	e8 19 4f 00 00       	call   0x140017080
140012167:	44 8b 8d 30 03 00 00 	mov    0x330(%rbp),%r9d
14001216e:	45 3b cf             	cmp    %r15d,%r9d
140012171:	0f 87 ec 00 00 00    	ja     0x140012263
140012177:	8b 85 34 03 00 00    	mov    0x334(%rbp),%eax
14001217d:	85 c0                	test   %eax,%eax
14001217f:	75 5e                	jne    0x1400121df
140012181:	45 33 e4             	xor    %r12d,%r12d
140012184:	44 89 a5 60 01 00 00 	mov    %r12d,0x160(%rbp)
14001218b:	e9 4c 03 00 00       	jmp    0x1400124dc
140012190:	41 8d 46 ff          	lea    -0x1(%r14),%eax
140012194:	41 3b c3             	cmp    %r11d,%eax
140012197:	0f 84 b1 fe ff ff    	je     0x14001204e
14001219d:	44 8b d0             	mov    %eax,%r10d
1400121a0:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
1400121a4:	3b c2                	cmp    %edx,%eax
1400121a6:	73 07                	jae    0x1400121af
1400121a8:	46 8b 4c 95 94       	mov    -0x6c(%rbp,%r10,4),%r9d
1400121ad:	eb 03                	jmp    0x1400121b2
1400121af:	45 33 c9             	xor    %r9d,%r9d
1400121b2:	44 3b c2             	cmp    %edx,%r8d
1400121b5:	73 07                	jae    0x1400121be
1400121b7:	42 8b 4c 85 94       	mov    -0x6c(%rbp,%r8,4),%ecx
1400121bc:	eb 02                	jmp    0x1400121c0
1400121be:	33 c9                	xor    %ecx,%ecx
1400121c0:	c1 e9 1f             	shr    $0x1f,%ecx
1400121c3:	43 8d 04 09          	lea    (%r9,%r9,1),%eax
1400121c7:	0b c8                	or     %eax,%ecx
1400121c9:	41 8b c0             	mov    %r8d,%eax
1400121cc:	42 89 4c 95 94       	mov    %ecx,-0x6c(%rbp,%r10,4)
1400121d1:	45 3b c3             	cmp    %r11d,%r8d
1400121d4:	0f 84 74 fe ff ff    	je     0x14001204e
1400121da:	8b 55 90             	mov    -0x70(%rbp),%edx
1400121dd:	eb be                	jmp    0x14001219d
1400121df:	41 3b c7             	cmp    %r15d,%eax
1400121e2:	0f 84 f4 02 00 00    	je     0x1400124dc
1400121e8:	45 85 e4             	test   %r12d,%r12d
1400121eb:	0f 84 eb 02 00 00    	je     0x1400124dc
1400121f1:	45 33 c0             	xor    %r8d,%r8d
1400121f4:	4c 8b d0             	mov    %rax,%r10
1400121f7:	45 33 c9             	xor    %r9d,%r9d
1400121fa:	42 8b 8c 8d 64 01 00 	mov    0x164(%rbp,%r9,4),%ecx
140012201:	00
140012202:	41 8b c0             	mov    %r8d,%eax
140012205:	49 0f af ca          	imul   %r10,%rcx
140012209:	48 03 c8             	add    %rax,%rcx
14001220c:	4c 8b c1             	mov    %rcx,%r8
14001220f:	42 89 8c 8d 64 01 00 	mov    %ecx,0x164(%rbp,%r9,4)
140012216:	00
140012217:	49 c1 e8 20          	shr    $0x20,%r8
14001221b:	45 03 cf             	add    %r15d,%r9d
14001221e:	45 3b cc             	cmp    %r12d,%r9d
140012221:	75 d7                	jne    0x1400121fa
140012223:	45 85 c0             	test   %r8d,%r8d
140012226:	0f 84 a9 02 00 00    	je     0x1400124d5