140454e8c:	00
140454e8d:	f2 0f 5c c7          	subsd  %xmm7,%xmm0
140454e91:	f2 0f 11 45 48       	movsd  %xmm0,0x48(%rbp)
140454e96:	49 8b 46 40          	mov    0x40(%r14),%rax
140454e9a:	48 8b 08             	mov    (%rax),%rcx
140454e9d:	80 79 38 00          	cmpb   $0x0,0x38(%rcx)
140454ea1:	75 04                	jne    0x140454ea7
140454ea3:	c6 41 38 01          	movb   $0x1,0x38(%rcx)
140454ea7:	48 8b 45 48          	mov    0x48(%rbp),%rax
140454eab:	48 89 41 30          	mov    %rax,0x30(%rcx)
140454eaf:	49 8d 56 20          	lea    0x20(%r14),%rdx
140454eb3:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140454eb8:	74 0c                	je     0x140454ec6
140454eba:	48 8d 0d 1f bb fd 00 	lea    0xfdbb1f(%rip),%rcx        # 0x1414309e0
140454ec1:	e8 7a 5c 33 00       	call   0x14078ab40
140454ec6:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140454eca:	0f 57 c0             	xorps  %xmm0,%xmm0
140454ecd:	48 85 c9             	test   %rcx,%rcx
140454ed0:	78 07                	js     0x140454ed9
140454ed2:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140454ed7:	eb 15                	jmp    0x140454eee
140454ed9:	48 8b c1             	mov    %rcx,%rax
140454edc:	48 d1 e8             	shr    $1,%rax
140454edf:	83 e1 01             	and    $0x1,%ecx
140454ee2:	48 0b c1             	or     %rcx,%rax
140454ee5:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
140454eea:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140454eee:	f2 0f 5e c6          	divsd  %xmm6,%xmm0
140454ef2:	f2 0f 5c c7          	subsd  %xmm7,%xmm0
140454ef6:	f2 0f 11 45 48       	movsd  %xmm0,0x48(%rbp)
140454efb:	49 8b 46 40          	mov    0x40(%r14),%rax
140454eff:	48 8b 08             	mov    (%rax),%rcx
140454f02:	80 79 48 00          	cmpb   $0x0,0x48(%rcx)
140454f06:	75 04                	jne    0x140454f0c
140454f08:	c6 41 48 01          	movb   $0x1,0x48(%rcx)
140454f0c:	48 8b 45 48          	mov    0x48(%rbp),%rax
140454f10:	48 89 41 40          	mov    %rax,0x40(%rcx)
140454f14:	49 8d 56 20          	lea    0x20(%r14),%rdx
140454f18:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140454f1d:	74 0c                	je     0x140454f2b
140454f1f:	48 8d 0d ba ba fd 00 	lea    0xfdbaba(%rip),%rcx        # 0x1414309e0
140454f26:	e8 15 5c 33 00       	call   0x14078ab40
140454f2b:	44 0f b7 43 06       	movzwl 0x6(%rbx),%r8d
140454f30:	49 8b 46 40          	mov    0x40(%r14),%rax
140454f34:	48 8b 10             	mov    (%rax),%rdx
140454f37:	80 7a 58 00          	cmpb   $0x0,0x58(%rdx)
140454f3b:	75 04                	jne    0x140454f41
140454f3d:	c6 42 58 01          	movb   $0x1,0x58(%rdx)
140454f41:	4c 89 42 50          	mov    %r8,0x50(%rdx)
140454f45:	49 8d 56 20          	lea    0x20(%r14),%rdx
140454f49:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
140454f4e:	74 0c                	je     0x140454f5c
140454f50:	48 8d 0d 89 ba fd 00 	lea    0xfdba89(%rip),%rcx        # 0x1414309e0
140454f57:	e8 e4 5b 33 00       	call   0x14078ab40
140454f5c:	b9 50 00 00 00       	mov    $0x50,%ecx
140454f61:	e8 a2 61 9c 00       	call   0x140e1b108
140454f66:	4c 8b c0             	mov    %rax,%r8
140454f69:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140454f6d:	48 85 c0             	test   %rax,%rax
140454f70:	74 3d                	je     0x140454faf
140454f72:	48 8b 0d ef 2d fd 00 	mov    0xfd2def(%rip),%rcx        # 0x141427d68
140454f79:	48 89 4d 48          	mov    %rcx,0x48(%rbp)
140454f7d:	48 85 c9             	test   %rcx,%rcx
140454f80:	74 1c                	je     0x140454f9e
140454f82:	8b 41 10             	mov    0x10(%rcx),%eax
140454f85:	ff c0                	inc    %eax
140454f87:	89 41 10             	mov    %eax,0x10(%rcx)
140454f8a:	83 f8 01             	cmp    $0x1,%eax
140454f8d:	0f 8e 45 02 00 00    	jle    0x1404551d8
140454f93:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140454f98:	0f 84 42 02 00 00    	je     0x1404551e0
140454f9e:	48 8d 55 48          	lea    0x48(%rbp),%rdx
140454fa2:	49 8b c8             	mov    %r8,%rcx
140454fa5:	e8 86 d8 2d 00       	call   0x140732830
140454faa:	4c 8b f8             	mov    %rax,%r15
140454fad:	eb 03                	jmp    0x140454fb2
140454faf:	4c 8b fe             	mov    %rsi,%r15
140454fb2:	4c 89 7d b8          	mov    %r15,-0x48(%rbp)
140454fb6:	b8 11 03 00 00       	mov    $0x311,%eax
140454fbb:	66 39 43 04          	cmp    %ax,0x4(%rbx)
140454fbf:	0f 85 40 01 00 00    	jne    0x140455105
140454fc5:	66 83 7b 06 00       	cmpw   $0x0,0x6(%rbx)
140454fca:	0f 86 35 01 00 00    	jbe    0x140455105
140454fd0:	8b fe                	mov    %esi,%edi
140454fd2:	48 8b cb             	mov    %rbx,%rcx
140454fd5:	e8 36 22 00 00       	call   0x140457210
140454fda:	48 8b 48 08          	mov    0x8(%rax),%rcx
140454fde:	48 8b 01             	mov    (%rcx),%rax
140454fe1:	48 8b 48 08          	mov    0x8(%rax),%rcx
140454fe5:	48 2b 08             	sub    (%rax),%rcx
140454fe8:	48 c1 f9 03          	sar    $0x3,%rcx
140454fec:	48 85 c9             	test   %rcx,%rcx
140454fef:	0f 84 93 00 00 00    	je     0x140455088
140454ff5:	48 8b cb             	mov    %rbx,%rcx
140454ff8:	e8 13 22 00 00       	call   0x140457210
140454ffd:	48 8b 48 08          	mov    0x8(%rax),%rcx
140455001:	48 8b 01             	mov    (%rcx),%rax
140455004:	48 8b 08             	mov    (%rax),%rcx
140455007:	48 8b 14 f1          	mov    (%rcx,%rsi,8),%rdx
14045500b:	48 8b 12             	mov    (%rdx),%rdx
14045500e:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
140455012:	e8 79 56 fe ff       	call   0x14043a690
140455017:	48 8b 08             	mov    (%rax),%rcx
14045501a:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140455021:	48 89 4d 48          	mov    %rcx,0x48(%rbp)
140455025:	48 8b 08             	mov    (%rax),%rcx
140455028:	48 85 c9             	test   %rcx,%rcx
14045502b:	74 24                	je     0x140455051
14045502d:	8b 41 10             	mov    0x10(%rcx),%eax
140455030:	ff c8                	dec    %eax
140455032:	89 41 10             	mov    %eax,0x10(%rcx)
140455035:	85 c0                	test   %eax,%eax
140455037:	7f 18                	jg     0x140455051
140455039:	0f 88 b7 01 00 00    	js     0x1404551f6
14045503f:	48 8b 01             	mov    (%rcx),%rax
140455042:	ba 01 00 00 00       	mov    $0x1,%edx
140455047:	48 8b 00             	mov    (%rax),%rax
14045504a:	ff 15 d0 e9 b2 00    	call   *0xb2e9d0(%rip)        # 0x140f83a20
140455050:	90                   	nop
140455051:	4c 8d 45 48          	lea    0x48(%rbp),%r8
140455055:	8b d7                	mov    %edi,%edx
140455057:	49 8b cf             	mov    %r15,%rcx
14045505a:	e8 a1 03 2e 00       	call   0x140735400
14045505f:	ff c7                	inc    %edi
140455061:	48 8b cb             	mov    %rbx,%rcx
140455064:	e8 a7 21 00 00       	call   0x140457210
140455069:	48 8b 48 08          	mov    0x8(%rax),%rcx
14045506d:	48 8b 01             	mov    (%rcx),%rax
140455070:	8b f7                	mov    %edi,%esi
140455072:	48 8b 48 08          	mov    0x8(%rax),%rcx
140455076:	48 2b 08             	sub    (%rax),%rcx
140455079:	48 c1 f9 03          	sar    $0x3,%rcx
14045507d:	48 3b f1             	cmp    %rcx,%rsi
140455080:	0f 82 6f ff ff ff    	jb     0x140454ff5
140455086:	33 f6                	xor    %esi,%esi
140455088:	48 8d 45 48          	lea    0x48(%rbp),%rax
14045508c:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140455090:	48 8b cb             	mov    %rbx,%rcx
140455093:	e8 78 21 00 00       	call   0x140457210
140455098:	48 8b 50 08          	mov    0x8(%rax),%rdx
14045509c:	48 8b 52 10          	mov    0x10(%rdx),%rdx
1404550a0:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
1404550a4:	e8 e7 55 fe ff       	call   0x14043a690
1404550a9:	48 8b 08             	mov    (%rax),%rcx
1404550ac:	48 89 30             	mov    %rsi,(%rax)
1404550af:	48 89 4d 48          	mov    %rcx,0x48(%rbp)
1404550b3:	48 8b 08             	mov    (%rax),%rcx
1404550b6:	48 85 c9             	test   %rcx,%rcx
1404550b9:	74 24                	je     0x1404550df
1404550bb:	8b 41 10             	mov    0x10(%rcx),%eax
1404550be:	ff c8                	dec    %eax
1404550c0:	89 41 10             	mov    %eax,0x10(%rcx)
1404550c3:	85 c0                	test   %eax,%eax
1404550c5:	7f 18                	jg     0x1404550df
1404550c7:	0f 88 1e 01 00 00    	js     0x1404551eb
1404550cd:	48 8b 01             	mov    (%rcx),%rax
1404550d0:	ba 01 00 00 00       	mov    $0x1,%edx
1404550d5:	48 8b 00             	mov    (%rax),%rax
1404550d8:	ff 15 42 e9 b2 00    	call   *0xb2e942(%rip)        # 0x140f83a20
1404550de:	90                   	nop
1404550df:	48 8b cb             	mov    %rbx,%rcx
1404550e2:	e8 29 21 00 00       	call   0x140457210
1404550e7:	48 8b 48 08          	mov    0x8(%rax),%rcx
1404550eb:	48 8b 01             	mov    (%rcx),%rax
1404550ee:	48 8b 50 08          	mov    0x8(%rax),%rdx
1404550f2:	48 2b 10             	sub    (%rax),%rdx
1404550f5:	48 c1 fa 03          	sar    $0x3,%rdx
1404550f9:	4c 8d 45 48          	lea    0x48(%rbp),%r8
1404550fd:	49 8b cf             	mov    %r15,%rcx
140455100:	e8 fb 02 2e 00       	call   0x140735400
140455105:	48 89 75 b8          	mov    %rsi,-0x48(%rbp)
140455109:	4c 89 7d 48          	mov    %r15,0x48(%rbp)
14045510d:	4c 8d 45 48          	lea    0x48(%rbp),%r8
140455111:	ba 06 00 00 00       	mov    $0x6,%edx
140455116:	49 8b ce             	mov    %r14,%rcx
140455119:	e8 e2 f9 2d 00       	call   0x140734b00
14045511e:	48 8d 45 48          	lea    0x48(%rbp),%rax
140455122:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
140455126:	48 89 75 c0          	mov    %rsi,-0x40(%rbp)
14045512a:	4c 89 75 48          	mov    %r14,0x48(%rbp)
14045512e:	49 8b d4             	mov    %r12,%rdx
140455131:	48 8d 4d c8          	lea    -0x38(%rbp),%rcx
140455135:	e8 06 5e fe ff       	call   0x14043af40
14045513a:	48 8b 08             	mov    (%rax),%rcx
14045513d:	48 89 30             	mov    %rsi,(%rax)
140455140:	48 89 4d b0          	mov    %rcx,-0x50(%rbp)
140455144:	48 8b 08             	mov    (%rax),%rcx
140455147:	48 85 c9             	test   %rcx,%rcx
14045514a:	74 20                	je     0x14045516c
14045514c:	8b 41 10             	mov    0x10(%rcx),%eax
14045514f:	ff c8                	dec    %eax
140455151:	89 41 10             	mov    %eax,0x10(%rcx)
140455154:	85 c0                	test   %eax,%eax
140455156:	7f 14                	jg     0x14045516c
140455158:	78 55                	js     0x1404551af
14045515a:	48 8b 01             	mov    (%rcx),%rax
14045515d:	ba 01 00 00 00       	mov    $0x1,%edx
140455162:	48 8b 00             	mov    (%rax),%rax
140455165:	ff 15 b5 e8 b2 00    	call   *0xb2e8b5(%rip)        # 0x140f83a20
14045516b:	90                   	nop
14045516c:	49 8b 8d b8 00 00 00 	mov    0xb8(%r13),%rcx
140455173:	4c 8d 4d 48          	lea    0x48(%rbp),%r9
140455177:	4c 8d 45 b0          	lea    -0x50(%rbp),%r8
14045517b:	48 8b 51 28          	mov    0x28(%rcx),%rdx
14045517f:	e8 dc 86 00 00       	call   0x14045d860
140455184:	90                   	nop
140455185:	b0 01                	mov    $0x1,%al
140455187:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
14045518c:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140455190:	49 8b 73 38          	mov    0x38(%r11),%rsi
140455194:	49 8b 7b 40          	mov    0x40(%r11),%rdi
140455198:	0f 28 74 24 60       	movaps 0x60(%rsp),%xmm6
14045519d:	0f 28 7c 24 50       	movaps 0x50(%rsp),%xmm7
1404551a2:	49 8b e3             	mov    %r11,%rsp
1404551a5:	41 5f                	pop    %r15
1404551a7:	41 5e                	pop    %r14
1404551a9:	41 5d                	pop    %r13
1404551ab:	41 5c                	pop    %r12
1404551ad:	5d                   	pop    %rbp
1404551ae:	c3                   	ret
1404551af:	b9 02 00 00 00       	mov    $0x2,%ecx
1404551b4:	e8 47 55 33 00       	call   0x14078a700
1404551b9:	90                   	nop
1404551ba:	33 c9                	xor    %ecx,%ecx
1404551bc:	e8 3f 55 33 00       	call   0x14078a700
1404551c1:	cc                   	int3
1404551c2:	b9 01 00 00 00       	mov    $0x1,%ecx
1404551c7:	e8 34 55 33 00       	call   0x14078a700
1404551cc:	90                   	nop
1404551cd:	b9 02 00 00 00       	mov    $0x2,%ecx
1404551d2:	e8 29 55 33 00       	call   0x14078a700
1404551d7:	90                   	nop
1404551d8:	33 c9                	xor    %ecx,%ecx
1404551da:	e8 21 55 33 00       	call   0x14078a700
1404551df:	cc                   	int3
1404551e0:	b9 01 00 00 00       	mov    $0x1,%ecx
1404551e5:	e8 16 55 33 00       	call   0x14078a700
1404551ea:	90                   	nop
1404551eb:	b9 02 00 00 00       	mov    $0x2,%ecx
1404551f0:	e8 0b 55 33 00       	call   0x14078a700
1404551f5:	90                   	nop
1404551f6:	b9 02 00 00 00       	mov    $0x2,%ecx
1404551fb:	e8 00 55 33 00       	call   0x14078a700
140455200:	cc                   	int3
140455201:	cc                   	int3
140455202:	cc                   	int3
140455203:	cc                   	int3
140455204:	cc                   	int3
140455205:	cc                   	int3
140455206:	cc                   	int3
140455207:	cc                   	int3
140455208:	cc                   	int3
140455209:	cc                   	int3
14045520a:	cc                   	int3
14045520b:	cc                   	int3
14045520c:	cc                   	int3
14045520d:	cc                   	int3
14045520e:	cc                   	int3
14045520f:	cc                   	int3
140455210:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140455215:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14045521a:	56                   	push   %rsi
14045521b:	57                   	push   %rdi
14045521c:	41 56                	push   %r14
14045521e:	48 83 ec 60          	sub    $0x60,%rsp
140455222:	49 8b f8             	mov    %r8,%rdi
140455225:	48 8b ea             	mov    %rdx,%rbp
140455228:	48 8b f1             	mov    %rcx,%rsi
14045522b:	48 8b 0d 66 2c fd 00 	mov    0xfd2c66(%rip),%rcx        # 0x141427e98
140455232:	48 85 c9             	test   %rcx,%rcx
140455235:	0f 84 dc 00 00 00    	je     0x140455317
14045523b:	e8 f0 02 3c 00       	call   0x140815530
140455240:	84 c0                	test   %al,%al
140455242:	0f 84 cf 00 00 00    	je     0x140455317
140455248:	8b 5f 04             	mov    0x4(%rdi),%ebx
14045524b:	4c 8b 77 08          	mov    0x8(%rdi),%r14
14045524f:	48 8d 84 24 98 00 00 	lea    0x98(%rsp),%rax
140455256:	00
140455257:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14045525c:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140455260:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140455265:	e8 26 5c fe ff       	call   0x14043ae90
14045526a:	48 8b 08             	mov    (%rax),%rcx
14045526d:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140455274:	48 89 8c 24 98 00 00 	mov    %rcx,0x98(%rsp)
14045527b:	00
14045527c:	48 8b 08             	mov    (%rax),%rcx
14045527f:	48 85 c9             	test   %rcx,%rcx
140455282:	74 24                	je     0x1404552a8
140455284:	8b 41 10             	mov    0x10(%rcx),%eax
140455287:	ff c8                	dec    %eax
140455289:	89 41 10             	mov    %eax,0x10(%rcx)
14045528c:	85 c0                	test   %eax,%eax
14045528e:	7f 18                	jg     0x1404552a8
140455290:	0f 88 f5 00 00 00    	js     0x14045538b
140455296:	48 8b 01             	mov    (%rcx),%rax
140455299:	ba 01 00 00 00       	mov    $0x1,%edx
14045529e:	48 8b 00             	mov    (%rax),%rax
1404552a1:	ff 15 79 e7 b2 00    	call   *0xb2e779(%rip)        # 0x140f83a20
1404552a7:	90                   	nop
1404552a8:	48 8b d5             	mov    %rbp,%rdx
1404552ab:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1404552b0:	e8 8b 5c fe ff       	call   0x14043af40
1404552b5:	48 8b 08             	mov    (%rax),%rcx
1404552b8:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1404552bf:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
1404552c4:	48 8b 08             	mov    (%rax),%rcx
1404552c7:	48 85 c9             	test   %rcx,%rcx
1404552ca:	74 24                	je     0x1404552f0
1404552cc:	8b 41 10             	mov    0x10(%rcx),%eax
1404552cf:	ff c8                	dec    %eax
1404552d1:	89 41 10             	mov    %eax,0x10(%rcx)
1404552d4:	85 c0                	test   %eax,%eax
1404552d6:	7f 18                	jg     0x1404552f0
1404552d8:	0f 88 a2 00 00 00    	js     0x140455380
1404552de:	48 8b 01             	mov    (%rcx),%rax
1404552e1:	ba 01 00 00 00       	mov    $0x1,%edx
1404552e6:	48 8b 00             	mov    (%rax),%rax
1404552e9:	ff 15 31 e7 b2 00    	call   *0xb2e731(%rip)        # 0x140f83a20
1404552ef:	90                   	nop
1404552f0:	48 8b 8e b8 00 00 00 	mov    0xb8(%rsi),%rcx
1404552f7:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
1404552fc:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140455301:	4c 8d 8c 24 98 00 00 	lea    0x98(%rsp),%r9
140455308:	00
140455309:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
14045530e:	48 8b 51 28          	mov    0x28(%rcx),%rdx
140455312:	e8 29 7e 00 00       	call   0x14045d140
140455317:	48 8b 5f 08          	mov    0x8(%rdi),%rbx
14045531b:	48 8b 45 18          	mov    0x18(%rbp),%rax
14045531f:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
140455326:	00
140455327:	48 8d 4e 70          	lea    0x70(%rsi),%rcx
14045532b:	48 8d 94 24 98 00 00 	lea    0x98(%rsp),%rdx
140455332:	00
140455333:	e8 d8 ca f6 ff       	call   0x1403c1e10
140455338:	48 89 18             	mov    %rbx,(%rax)
14045533b:	48 8b 47 10          	mov    0x10(%rdi),%rax
14045533f:	48 8b 58 08          	mov    0x8(%rax),%rbx
140455343:	48 03 18             	add    (%rax),%rbx
140455346:	48 8b 45 18          	mov    0x18(%rbp),%rax
14045534a:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
140455351:	00
140455352:	48 8d 8e 80 00 00 00 	lea    0x80(%rsi),%rcx
140455359:	48 8d 94 24 98 00 00 	lea    0x98(%rsp),%rdx
140455360:	00
140455361:	e8 aa ca f6 ff       	call   0x1403c1e10
140455366:	48 89 18             	mov    %rbx,(%rax)
140455369:	b0 01                	mov    $0x1,%al
14045536b:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11