140017d68:	b8 04 00 00 00       	mov    $0x4,%eax
140017d6d:	eb 0f                	jmp    0x140017d7e
140017d6f:	48 8b c3             	mov    %rbx,%rax
140017d72:	48 c1 e8 33          	shr    $0x33,%rax
140017d76:	f7 d0                	not    %eax
140017d78:	41 23 c7             	and    %r15d,%eax
140017d7b:	83 c8 02             	or     $0x2,%eax
140017d7e:	45 89 7c 24 04       	mov    %r15d,0x4(%r12)
140017d83:	41 2b c7             	sub    %r15d,%eax
140017d86:	74 44                	je     0x140017dcc
140017d88:	41 2b c7             	sub    %r15d,%eax
140017d8b:	74 36                	je     0x140017dc3
140017d8d:	41 2b c7             	sub    %r15d,%eax
140017d90:	74 28                	je     0x140017dba
140017d92:	41 3b c7             	cmp    %r15d,%eax
140017d95:	75 5b                	jne    0x140017df2
140017d97:	4c 8d 05 6a 20 01 00 	lea    0x1206a(%rip),%r8        # 0x140029e08
140017d9e:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
140017da5:	49 8b ce             	mov    %r14,%rcx
140017da8:	e8 6b 88 ff ff       	call   0x140010618
140017dad:	85 c0                	test   %eax,%eax
140017daf:	0f 85 1f 11 00 00    	jne    0x140018ed4
140017db5:	e9 e5 10 00 00       	jmp    0x140018e9f
140017dba:	4c 8d 05 3f 20 01 00 	lea    0x1203f(%rip),%r8        # 0x140029e00
140017dc1:	eb db                	jmp    0x140017d9e
140017dc3:	4c 8d 05 2e 20 01 00 	lea    0x1202e(%rip),%r8        # 0x140029df8
140017dca:	eb d2                	jmp    0x140017d9e
140017dcc:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
140017dd3:	4c 8d 05 16 20 01 00 	lea    0x12016(%rip),%r8        # 0x140029df0
140017dda:	49 8b ce             	mov    %r14,%rcx
140017ddd:	e8 36 88 ff ff       	call   0x140010618
140017de2:	85 c0                	test   %eax,%eax
140017de4:	0f 85 ea 10 00 00    	jne    0x140018ed4
140017dea:	45 33 ff             	xor    %r15d,%r15d
140017ded:	e9 ad 10 00 00       	jmp    0x140018e9f
140017df2:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140017df9:	ff ff 7f
140017dfc:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140017e01:	48 23 d8             	and    %rax,%rbx
140017e04:	45 33 c0             	xor    %r8d,%r8d
140017e07:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140017e0c:	33 d2                	xor    %edx,%edx
140017e0e:	bb 1f 00 08 00       	mov    $0x8001f,%ebx
140017e13:	89 5c 24 6c          	mov    %ebx,0x6c(%rsp)
140017e17:	e8 2c 2b 00 00       	call   0x14001a948
140017e1c:	44 8b 44 24 6c       	mov    0x6c(%rsp),%r8d
140017e21:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140017e26:	8b d3                	mov    %ebx,%edx
140017e28:	e8 1b 2b 00 00       	call   0x14001a948
140017e2d:	f2 0f 10 44 24 50    	movsd  0x50(%rsp),%xmm0
140017e33:	ff c6                	inc    %esi
140017e35:	41 b9 ff 07 00 00    	mov    $0x7ff,%r9d
140017e3b:	f2 0f 11 44 24 58    	movsd  %xmm0,0x58(%rsp)
140017e41:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
140017e46:	4c 8b c2             	mov    %rdx,%r8
140017e49:	89 74 24 60          	mov    %esi,0x60(%rsp)
140017e4d:	49 c1 e8 34          	shr    $0x34,%r8
140017e51:	be 02 00 00 00       	mov    $0x2,%esi
140017e56:	49 8b c8             	mov    %r8,%rcx
140017e59:	49 23 c9             	and    %r9,%rcx
140017e5c:	48 8b c1             	mov    %rcx,%rax
140017e5f:	48 f7 d8             	neg    %rax
140017e62:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
140017e69:	00 10 00
140017e6c:	48 1b db             	sbb    %rbx,%rbx
140017e6f:	48 23 d8             	and    %rax,%rbx
140017e72:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
140017e79:	ff 0f 00
140017e7c:	48 23 d0             	and    %rax,%rdx
140017e7f:	48 03 da             	add    %rdx,%rbx
140017e82:	48 f7 d9             	neg    %rcx
140017e85:	1b c0                	sbb    %eax,%eax
140017e87:	45 23 c1             	and    %r9d,%r8d
140017e8a:	44 8d 24 06          	lea    (%rsi,%rax,1),%r12d
140017e8e:	45 03 e0             	add    %r8d,%r12d
140017e91:	e8 aa 2c 00 00       	call   0x14001ab40
140017e96:	e8 d9 2b 00 00       	call   0x14001aa74
140017e9b:	f2 0f 2c c8          	cvttsd2si %xmm0,%ecx
140017e9f:	89 5d a4             	mov    %ebx,-0x5c(%rbp)
140017ea2:	8d 81 01 00 00 80    	lea    -0x7fffffff(%rcx),%eax
140017ea8:	83 e0 fe             	and    $0xfffffffe,%eax
140017eab:	f7 d8                	neg    %eax
140017ead:	1b c0                	sbb    %eax,%eax
140017eaf:	48 c1 eb 20          	shr    $0x20,%rbx
140017eb3:	23 c1                	and    %ecx,%eax
140017eb5:	89 5d a8             	mov    %ebx,-0x58(%rbp)
140017eb8:	89 44 24 30          	mov    %eax,0x30(%rsp)
140017ebc:	8b c3                	mov    %ebx,%eax
140017ebe:	f7 d8                	neg    %eax
140017ec0:	1b d2                	sbb    %edx,%edx
140017ec2:	f7 da                	neg    %edx
140017ec4:	41 03 d7             	add    %r15d,%edx
140017ec7:	89 55 a0             	mov    %edx,-0x60(%rbp)
140017eca:	41 81 fc 34 04 00 00 	cmp    $0x434,%r12d
140017ed1:	0f 82 1a 02 00 00    	jb     0x1400180f1
140017ed7:	33 c0                	xor    %eax,%eax
140017ed9:	c7 85 48 03 00 00 00 	movl   $0x100000,0x348(%rbp)
140017ee0:	00 10 00
140017ee3:	89 85 44 03 00 00    	mov    %eax,0x344(%rbp)
140017ee9:	89 b5 40 03 00 00    	mov    %esi,0x340(%rbp)
140017eef:	85 db                	test   %ebx,%ebx
140017ef1:	0f 84 0c 01 00 00    	je     0x140018003
140017ef7:	45 33 c0             	xor    %r8d,%r8d
140017efa:	42 8b 44 85 a4       	mov    -0x5c(%rbp,%r8,4),%eax
140017eff:	42 39 84 85 44 03 00 	cmp    %eax,0x344(%rbp,%r8,4)
140017f06:	00
140017f07:	0f 85 f6 00 00 00    	jne    0x140018003
140017f0d:	45 03 c7             	add    %r15d,%r8d
140017f10:	44 3b c6             	cmp    %esi,%r8d
140017f13:	75 e5                	jne    0x140017efa
140017f15:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
140017f1a:	45 8d 9c 24 ce fb ff 	lea    -0x432(%r12),%r11d
140017f21:	ff
140017f22:	45 8b c3             	mov    %r11d,%r8d
140017f25:	8d 42 ff             	lea    -0x1(%rdx),%eax
140017f28:	41 83 e3 1f          	and    $0x1f,%r11d
140017f2c:	41 c1 e8 05          	shr    $0x5,%r8d
140017f30:	8b f7                	mov    %edi,%esi
140017f32:	49 8b df             	mov    %r15,%rbx
140017f35:	41 2b f3             	sub    %r11d,%esi
140017f38:	8b ce                	mov    %esi,%ecx
140017f3a:	48 d3 e3             	shl    %cl,%rbx
140017f3d:	41 2b df             	sub    %r15d,%ebx
140017f40:	0f bd 44 85 a4       	bsr    -0x5c(%rbp,%rax,4),%eax
140017f45:	44 8b e3             	mov    %ebx,%r12d
140017f48:	41 f7 d4             	not    %r12d
140017f4b:	74 04                	je     0x140017f51
140017f4d:	ff c0                	inc    %eax
140017f4f:	eb 02                	jmp    0x140017f53
140017f51:	33 c0                	xor    %eax,%eax
140017f53:	2b f8                	sub    %eax,%edi
140017f55:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
140017f59:	83 f8 73             	cmp    $0x73,%eax
140017f5c:	0f 87 81 00 00 00    	ja     0x140017fe3
140017f62:	45 33 f6             	xor    %r14d,%r14d
140017f65:	44 3b df             	cmp    %edi,%r11d
140017f68:	41 0f 97 c6          	seta   %r14b
140017f6c:	44 03 f2             	add    %edx,%r14d
140017f6f:	45 03 f0             	add    %r8d,%r14d
140017f72:	41 83 fe 73          	cmp    $0x73,%r14d
140017f76:	77 6b                	ja     0x140017fe3
140017f78:	41 8d 78 ff          	lea    -0x1(%r8),%edi
140017f7c:	45 8d 56 ff          	lea    -0x1(%r14),%r10d
140017f80:	44 3b d7             	cmp    %edi,%r10d
140017f83:	74 48                	je     0x140017fcd
140017f85:	41 8b c2             	mov    %r10d,%eax
140017f88:	41 2b c0             	sub    %r8d,%eax
140017f8b:	8d 48 ff             	lea    -0x1(%rax),%ecx
140017f8e:	3b c2                	cmp    %edx,%eax
140017f90:	73 07                	jae    0x140017f99
140017f92:	44 8b 4c 85 a4       	mov    -0x5c(%rbp,%rax,4),%r9d
140017f97:	eb 03                	jmp    0x140017f9c
140017f99:	45 33 c9             	xor    %r9d,%r9d
140017f9c:	3b ca                	cmp    %edx,%ecx
140017f9e:	73 06                	jae    0x140017fa6
140017fa0:	8b 54 8d a4          	mov    -0x5c(%rbp,%rcx,4),%edx
140017fa4:	eb 02                	jmp    0x140017fa8
140017fa6:	33 d2                	xor    %edx,%edx
140017fa8:	41 23 d4             	and    %r12d,%edx
140017fab:	8b ce                	mov    %esi,%ecx
140017fad:	d3 ea                	shr    %cl,%edx
140017faf:	44 23 cb             	and    %ebx,%r9d
140017fb2:	41 8b cb             	mov    %r11d,%ecx
140017fb5:	41 d3 e1             	shl    %cl,%r9d
140017fb8:	41 0b d1             	or     %r9d,%edx
140017fbb:	42 89 54 95 a4       	mov    %edx,-0x5c(%rbp,%r10,4)
140017fc0:	41 ff ca             	dec    %r10d
140017fc3:	44 3b d7             	cmp    %edi,%r10d
140017fc6:	74 05                	je     0x140017fcd
140017fc8:	8b 55 a0             	mov    -0x60(%rbp),%edx
140017fcb:	eb b8                	jmp    0x140017f85
140017fcd:	33 c9                	xor    %ecx,%ecx
140017fcf:	45 85 c0             	test   %r8d,%r8d
140017fd2:	74 12                	je     0x140017fe6
140017fd4:	83 64 8d a4 00       	andl   $0x0,-0x5c(%rbp,%rcx,4)
140017fd9:	41 03 cf             	add    %r15d,%ecx
140017fdc:	41 3b c8             	cmp    %r8d,%ecx
140017fdf:	75 f3                	jne    0x140017fd4
140017fe1:	eb 03                	jmp    0x140017fe6
140017fe3:	45 33 f6             	xor    %r14d,%r14d
140017fe6:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
140017fea:	45 8b e7             	mov    %r15d,%r12d
140017fed:	44 89 bd 70 01 00 00 	mov    %r15d,0x170(%rbp)
140017ff4:	c7 85 74 01 00 00 04 	movl   $0x4,0x174(%rbp)
140017ffb:	00 00 00
140017ffe:	e9 1f 03 00 00       	jmp    0x140018322
140018003:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
140018008:	45 8d 9c 24 cd fb ff 	lea    -0x433(%r12),%r11d
14001800f:	ff
140018010:	45 8b c3             	mov    %r11d,%r8d
140018013:	8d 42 ff             	lea    -0x1(%rdx),%eax
140018016:	41 83 e3 1f          	and    $0x1f,%r11d
14001801a:	41 c1 e8 05          	shr    $0x5,%r8d
14001801e:	8b f7                	mov    %edi,%esi
140018020:	49 8b df             	mov    %r15,%rbx
140018023:	41 2b f3             	sub    %r11d,%esi
140018026:	8b ce                	mov    %esi,%ecx
140018028:	48 d3 e3             	shl    %cl,%rbx
14001802b:	41 2b df             	sub    %r15d,%ebx
14001802e:	0f bd 44 85 a4       	bsr    -0x5c(%rbp,%rax,4),%eax
140018033:	44 8b e3             	mov    %ebx,%r12d
140018036:	41 f7 d4             	not    %r12d
140018039:	74 04                	je     0x14001803f
14001803b:	ff c0                	inc    %eax
14001803d:	eb 02                	jmp    0x140018041
14001803f:	33 c0                	xor    %eax,%eax
140018041:	2b f8                	sub    %eax,%edi
140018043:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
140018047:	83 f8 73             	cmp    $0x73,%eax
14001804a:	0f 87 81 00 00 00    	ja     0x1400180d1
140018050:	45 33 f6             	xor    %r14d,%r14d
140018053:	44 3b df             	cmp    %edi,%r11d
140018056:	41 0f 97 c6          	seta   %r14b
14001805a:	44 03 f2             	add    %edx,%r14d
14001805d:	45 03 f0             	add    %r8d,%r14d
140018060:	41 83 fe 73          	cmp    $0x73,%r14d
140018064:	77 6b                	ja     0x1400180d1
140018066:	41 8d 78 ff          	lea    -0x1(%r8),%edi
14001806a:	45 8d 56 ff          	lea    -0x1(%r14),%r10d
14001806e:	44 3b d7             	cmp    %edi,%r10d
140018071:	74 48                	je     0x1400180bb
140018073:	41 8b c2             	mov    %r10d,%eax
140018076:	41 2b c0             	sub    %r8d,%eax
140018079:	8d 48 ff             	lea    -0x1(%rax),%ecx
14001807c:	3b c2                	cmp    %edx,%eax
14001807e:	73 07                	jae    0x140018087
140018080:	44 8b 4c 85 a4       	mov    -0x5c(%rbp,%rax,4),%r9d
140018085:	eb 03                	jmp    0x14001808a
140018087:	45 33 c9             	xor    %r9d,%r9d
14001808a:	3b ca                	cmp    %edx,%ecx
14001808c:	73 06                	jae    0x140018094
14001808e:	8b 54 8d a4          	mov    -0x5c(%rbp,%rcx,4),%edx
140018092:	eb 02                	jmp    0x140018096
140018094:	33 d2                	xor    %edx,%edx
140018096:	41 23 d4             	and    %r12d,%edx
140018099:	8b ce                	mov    %esi,%ecx
14001809b:	d3 ea                	shr    %cl,%edx
14001809d:	44 23 cb             	and    %ebx,%r9d
1400180a0:	41 8b cb             	mov    %r11d,%ecx
1400180a3:	41 d3 e1             	shl    %cl,%r9d
1400180a6:	41 0b d1             	or     %r9d,%edx
1400180a9:	42 89 54 95 a4       	mov    %edx,-0x5c(%rbp,%r10,4)
1400180ae:	41 ff ca             	dec    %r10d
1400180b1:	44 3b d7             	cmp    %edi,%r10d
1400180b4:	74 05                	je     0x1400180bb
1400180b6:	8b 55 a0             	mov    -0x60(%rbp),%edx
1400180b9:	eb b8                	jmp    0x140018073
1400180bb:	33 c9                	xor    %ecx,%ecx
1400180bd:	45 85 c0             	test   %r8d,%r8d
1400180c0:	74 12                	je     0x1400180d4
1400180c2:	83 64 8d a4 00       	andl   $0x0,-0x5c(%rbp,%rcx,4)
1400180c7:	41 03 cf             	add    %r15d,%ecx
1400180ca:	41 3b c8             	cmp    %r8d,%ecx
1400180cd:	75 f3                	jne    0x1400180c2
1400180cf:	eb 03                	jmp    0x1400180d4
1400180d1:	45 33 f6             	xor    %r14d,%r14d
1400180d4:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
1400180d8:	45 8b e7             	mov    %r15d,%r12d
1400180db:	44 89 bd 70 01 00 00 	mov    %r15d,0x170(%rbp)
1400180e2:	c7 85 74 01 00 00 02 	movl   $0x2,0x174(%rbp)
1400180e9:	00 00 00
1400180ec:	e9 31 02 00 00       	jmp    0x140018322
1400180f1:	41 83 fc 36          	cmp    $0x36,%r12d
1400180f5:	0f 84 44 01 00 00    	je     0x14001823f
1400180fb:	33 c0                	xor    %eax,%eax
1400180fd:	c7 85 48 03 00 00 00 	movl   $0x100000,0x348(%rbp)
140018104:	00 10 00
140018107:	89 85 44 03 00 00    	mov    %eax,0x344(%rbp)
14001810d:	89 b5 40 03 00 00    	mov    %esi,0x340(%rbp)
140018113:	85 db                	test   %ebx,%ebx
140018115:	0f 84 24 01 00 00    	je     0x14001823f
14001811b:	45 33 c0             	xor    %r8d,%r8d
14001811e:	42 8b 44 85 a4       	mov    -0x5c(%rbp,%r8,4),%eax
140018123:	42 39 84 85 44 03 00 	cmp    %eax,0x344(%rbp,%r8,4)
14001812a:	00
14001812b:	0f 85 0e 01 00 00    	jne    0x14001823f
140018131:	45 03 c7             	add    %r15d,%r8d
140018134:	44 3b c6             	cmp    %esi,%r8d
140018137:	75 e5                	jne    0x14001811e
140018139:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
14001813e:	0f bd c3             	bsr    %ebx,%eax
140018141:	74 04                	je     0x140018147
140018143:	ff c0                	inc    %eax
140018145:	eb 02                	jmp    0x140018149
140018147:	33 c0                	xor    %eax,%eax
140018149:	45 33 f6             	xor    %r14d,%r14d
14001814c:	2b f8                	sub    %eax,%edi
14001814e:	3b fe                	cmp    %esi,%edi
140018150:	41 0f 92 c6          	setb   %r14b
140018154:	41 83 cb ff          	or     $0xffffffff,%r11d
140018158:	44 03 f2             	add    %edx,%r14d
14001815b:	41 83 fe 73          	cmp    $0x73,%r14d
14001815f:	0f 86 87 00 00 00    	jbe    0x1400181ec
140018165:	45 33 f6             	xor    %r14d,%r14d
140018168:	be 36 04 00 00       	mov    $0x436,%esi
14001816d:	44 89 75 a0          	mov    %r14d,-0x60(%rbp)
140018171:	41 2b f4             	sub    %r12d,%esi
140018174:	48 8d 8d 44 03 00 00 	lea    0x344(%rbp),%rcx
14001817b:	8b fe                	mov    %esi,%edi
14001817d:	33 d2                	xor    %edx,%edx
14001817f:	c1 ef 05             	shr    $0x5,%edi
140018182:	48 8d 1c bd 00 00 00 	lea    0x0(,%rdi,4),%rbx
140018189:	00
14001818a:	4c 8b c3             	mov    %rbx,%r8
14001818d:	e8 ce 51 00 00       	call   0x14001d360
140018192:	83 e6 1f             	and    $0x1f,%esi
140018195:	41 8b c7             	mov    %r15d,%eax
140018198:	40 8a ce             	mov    %sil,%cl
14001819b:	d3 e0                	shl    %cl,%eax
14001819d:	89 84 1d 44 03 00 00 	mov    %eax,0x344(%rbp,%rbx,1)
1400181a4:	44 8d 67 01          	lea    0x1(%rdi),%r12d
1400181a8:	45 8b c4             	mov    %r12d,%r8d
1400181ab:	49 c1 e0 02          	shl    $0x2,%r8
1400181af:	44 89 a5 40 03 00 00 	mov    %r12d,0x340(%rbp)
1400181b6:	44 89 a5 70 01 00 00 	mov    %r12d,0x170(%rbp)
1400181bd:	4d 85 c0             	test   %r8,%r8
1400181c0:	0f 84 5c 01 00 00    	je     0x140018322
1400181c6:	bb cc 01 00 00       	mov    $0x1cc,%ebx
1400181cb:	48 8d 8d 74 01 00 00 	lea    0x174(%rbp),%rcx
1400181d2:	4c 3b c3             	cmp    %rbx,%r8
1400181d5:	0f 87 26 01 00 00    	ja     0x140018301
1400181db:	48 8d 95 44 03 00 00 	lea    0x344(%rbp),%rdx
1400181e2:	e8 d9 4a 00 00       	call   0x14001ccc0
1400181e7:	e9 2f 01 00 00       	jmp    0x14001831b
1400181ec:	41 8d 46 ff          	lea    -0x1(%r14),%eax
1400181f0:	41 3b c3             	cmp    %r11d,%eax
1400181f3:	0f 84 6f ff ff ff    	je     0x140018168
1400181f9:	44 8b d0             	mov    %eax,%r10d
1400181fc:	44 8d 40 ff          	lea    -0x1(%rax),%r8d
140018200:	3b c2                	cmp    %edx,%eax
140018202:	73 07                	jae    0x14001820b
140018204:	46 8b 4c 95 a4       	mov    -0x5c(%rbp,%r10,4),%r9d
140018209:	eb 03                	jmp    0x14001820e
14001820b:	45 33 c9             	xor    %r9d,%r9d
14001820e:	44 3b c2             	cmp    %edx,%r8d
140018211:	73 07                	jae    0x14001821a
140018213:	42 8b 4c 85 a4       	mov    -0x5c(%rbp,%r8,4),%ecx
140018218:	eb 02                	jmp    0x14001821c
14001821a:	33 c9                	xor    %ecx,%ecx
14001821c:	c1 e9 1e             	shr    $0x1e,%ecx
14001821f:	42 8d 04 8d 00 00 00 	lea    0x0(,%r9,4),%eax
140018226:	00
140018227:	0b c8                	or     %eax,%ecx
140018229:	41 8b c0             	mov    %r8d,%eax
14001822c:	42 89 4c 95 a4       	mov    %ecx,-0x5c(%rbp,%r10,4)
140018231:	45 3b c3             	cmp    %r11d,%r8d
140018234:	0f 84 2e ff ff ff    	je     0x140018168
14001823a:	8b 55 a0             	mov    -0x60(%rbp),%edx
14001823d:	eb ba                	jmp    0x1400181f9
14001823f:	f7 db                	neg    %ebx