140045f68:	41 b8 00 20 00 00    	mov    $0x2000,%r8d
140045f6e:	eb 04                	jmp    0x140045f74
140045f70:	44 0f b7 c6          	movzwl %si,%r8d
140045f74:	0f ba e2 00          	bt     $0x0,%edx
140045f78:	73 07                	jae    0x140045f81
140045f7a:	b9 00 10 00 00       	mov    $0x1000,%ecx
140045f7f:	eb 03                	jmp    0x140045f84
140045f81:	0f b7 ce             	movzwl %si,%ecx
140045f84:	0f ba e2 01          	bt     $0x1,%edx
140045f88:	72 04                	jb     0x140045f8e
140045f8a:	44 0f b7 de          	movzwl %si,%r11d
140045f8e:	66 41 0b cb          	or     %r11w,%cx
140045f92:	0f ba e2 02          	bt     $0x2,%edx
140045f96:	72 03                	jb     0x140045f9b
140045f98:	0f b7 fe             	movzwl %si,%edi
140045f9b:	66 0b cf             	or     %di,%cx
140045f9e:	0f ba e2 03          	bt     $0x3,%edx
140045fa2:	72 04                	jb     0x140045fa8
140045fa4:	44 0f b7 d6          	movzwl %si,%r10d
140045fa8:	66 41 0b ca          	or     %r10w,%cx
140045fac:	0f ba e2 04          	bt     $0x4,%edx
140045fb0:	73 07                	jae    0x140045fb9
140045fb2:	b8 80 00 00 00       	mov    $0x80,%eax
140045fb7:	eb 03                	jmp    0x140045fbc
140045fb9:	0f b7 c6             	movzwl %si,%eax
140045fbc:	66 0b c8             	or     %ax,%cx
140045fbf:	0f ba e2 05          	bt     $0x5,%edx
140045fc3:	72 03                	jb     0x140045fc8
140045fc5:	0f b7 de             	movzwl %si,%ebx
140045fc8:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
140045fcd:	66 0b cb             	or     %bx,%cx
140045fd0:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140045fd5:	66 44 0b c1          	or     %cx,%r8w
140045fd9:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140045fde:	b8 c0 ff 00 00       	mov    $0xffc0,%eax
140045fe3:	0f ae 5c 24 08       	stmxcsr 0x8(%rsp)
140045fe8:	66 45 0b c1          	or     %r9w,%r8w
140045fec:	66 44 23 c0          	and    %ax,%r8w
140045ff0:	8b 44 24 08          	mov    0x8(%rsp),%eax
140045ff4:	25 3f 00 ff ff       	and    $0xffff003f,%eax
140045ff9:	41 0f b7 c8          	movzwl %r8w,%ecx
140045ffd:	0b c1                	or     %ecx,%eax
140045fff:	89 44 24 08          	mov    %eax,0x8(%rsp)
140046003:	0f ae 54 24 08       	ldmxcsr 0x8(%rsp)
140046008:	c3                   	ret
140046009:	cc                   	int3
14004600a:	cc                   	int3
14004600b:	cc                   	int3
14004600c:	8b d1                	mov    %ecx,%edx
14004600e:	c1 ea 18             	shr    $0x18,%edx
140046011:	83 e2 3f             	and    $0x3f,%edx
140046014:	8b c2                	mov    %edx,%eax
140046016:	83 e0 01             	and    $0x1,%eax
140046019:	f7 d8                	neg    %eax
14004601b:	8b c2                	mov    %edx,%eax
14004601d:	1b c9                	sbb    %ecx,%ecx
14004601f:	83 e0 02             	and    $0x2,%eax
140046022:	83 e1 20             	and    $0x20,%ecx
140046025:	f7 d8                	neg    %eax
140046027:	0f ae 5c 24 08       	stmxcsr 0x8(%rsp)
14004602c:	1b c0                	sbb    %eax,%eax
14004602e:	83 e0 10             	and    $0x10,%eax
140046031:	0b c8                	or     %eax,%ecx
140046033:	8b c2                	mov    %edx,%eax
140046035:	83 e0 04             	and    $0x4,%eax
140046038:	f7 d8                	neg    %eax
14004603a:	1b c0                	sbb    %eax,%eax
14004603c:	83 e0 08             	and    $0x8,%eax
14004603f:	0b c8                	or     %eax,%ecx
140046041:	8b c2                	mov    %edx,%eax
140046043:	83 e0 08             	and    $0x8,%eax
140046046:	f7 d8                	neg    %eax
140046048:	1b c0                	sbb    %eax,%eax
14004604a:	83 e0 04             	and    $0x4,%eax
14004604d:	0b c8                	or     %eax,%ecx
14004604f:	b8 00 00 00 00       	mov    $0x0,%eax
140046054:	0f ba e2 04          	bt     $0x4,%edx
140046058:	0f 92 c0             	setb   %al
14004605b:	83 e2 20             	and    $0x20,%edx
14004605e:	0b c8                	or     %eax,%ecx
140046060:	f7 da                	neg    %edx
140046062:	1b c0                	sbb    %eax,%eax
140046064:	83 e0 02             	and    $0x2,%eax
140046067:	0b c8                	or     %eax,%ecx
140046069:	8b 44 24 08          	mov    0x8(%rsp),%eax
14004606d:	83 e0 c0             	and    $0xffffffc0,%eax
140046070:	83 e1 3f             	and    $0x3f,%ecx
140046073:	0b c1                	or     %ecx,%eax
140046075:	89 44 24 08          	mov    %eax,0x8(%rsp)
140046079:	0f ae 54 24 08       	ldmxcsr 0x8(%rsp)
14004607e:	c3                   	ret
14004607f:	cc                   	int3
140046080:	48 8b c4             	mov    %rsp,%rax
140046083:	53                   	push   %rbx
140046084:	48 83 ec 50          	sub    $0x50,%rsp
140046088:	f2 0f 10 84 24 80 00 	movsd  0x80(%rsp),%xmm0
14004608f:	00 00
140046091:	8b d9                	mov    %ecx,%ebx
140046093:	f2 0f 10 8c 24 88 00 	movsd  0x88(%rsp),%xmm1
14004609a:	00 00
14004609c:	ba c0 ff 00 00       	mov    $0xffc0,%edx
1400460a1:	89 48 c8             	mov    %ecx,-0x38(%rax)
1400460a4:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
1400460ab:	00
1400460ac:	f2 0f 11 40 e0       	movsd  %xmm0,-0x20(%rax)
1400460b1:	f2 0f 11 48 e8       	movsd  %xmm1,-0x18(%rax)
1400460b6:	f2 0f 11 58 d8       	movsd  %xmm3,-0x28(%rax)
1400460bb:	4c 89 40 d0          	mov    %r8,-0x30(%rax)
1400460bf:	e8 b8 61 ff ff       	call   0x14003c27c
1400460c4:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1400460c9:	e8 02 01 ff ff       	call   0x1400361d0
1400460ce:	85 c0                	test   %eax,%eax
1400460d0:	75 07                	jne    0x1400460d9
1400460d2:	8b cb                	mov    %ebx,%ecx
1400460d4:	e8 db 5e ff ff       	call   0x14003bfb4
1400460d9:	f2 0f 10 44 24 40    	movsd  0x40(%rsp),%xmm0
1400460df:	48 83 c4 50          	add    $0x50,%rsp
1400460e3:	5b                   	pop    %rbx
1400460e4:	c3                   	ret
1400460e5:	cc                   	int3
1400460e6:	cc                   	int3
1400460e7:	cc                   	int3
1400460e8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400460ed:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400460f2:	57                   	push   %rdi
1400460f3:	48 83 ec 20          	sub    $0x20,%rsp
1400460f7:	8b d9                	mov    %ecx,%ebx
1400460f9:	48 8b f2             	mov    %rdx,%rsi
1400460fc:	83 e3 1f             	and    $0x1f,%ebx
1400460ff:	8b f9                	mov    %ecx,%edi
140046101:	f6 c1 08             	test   $0x8,%cl
140046104:	74 14                	je     0x14004611a
140046106:	40 84 f6             	test   %sil,%sil
140046109:	79 0f                	jns    0x14004611a
14004610b:	b9 01 00 00 00       	mov    $0x1,%ecx
140046110:	e8 e3 61 ff ff       	call   0x14003c2f8
140046115:	83 e3 f7             	and    $0xfffffff7,%ebx
140046118:	eb 57                	jmp    0x140046171
14004611a:	b9 04 00 00 00       	mov    $0x4,%ecx
14004611f:	40 84 f9             	test   %dil,%cl
140046122:	74 11                	je     0x140046135
140046124:	48 0f ba e6 09       	bt     $0x9,%rsi
140046129:	73 0a                	jae    0x140046135
14004612b:	e8 c8 61 ff ff       	call   0x14003c2f8
140046130:	83 e3 fb             	and    $0xfffffffb,%ebx
140046133:	eb 3c                	jmp    0x140046171
140046135:	40 f6 c7 01          	test   $0x1,%dil
140046139:	74 16                	je     0x140046151
14004613b:	48 0f ba e6 0a       	bt     $0xa,%rsi
140046140:	73 0f                	jae    0x140046151
140046142:	b9 08 00 00 00       	mov    $0x8,%ecx
140046147:	e8 ac 61 ff ff       	call   0x14003c2f8
14004614c:	83 e3 fe             	and    $0xfffffffe,%ebx
14004614f:	eb 20                	jmp    0x140046171
140046151:	40 f6 c7 02          	test   $0x2,%dil
140046155:	74 1a                	je     0x140046171
140046157:	48 0f ba e6 0b       	bt     $0xb,%rsi
14004615c:	73 13                	jae    0x140046171
14004615e:	40 f6 c7 10          	test   $0x10,%dil
140046162:	74 0a                	je     0x14004616e
140046164:	b9 10 00 00 00       	mov    $0x10,%ecx
140046169:	e8 8a 61 ff ff       	call   0x14003c2f8
14004616e:	83 e3 fd             	and    $0xfffffffd,%ebx
140046171:	40 f6 c7 10          	test   $0x10,%dil
140046175:	74 14                	je     0x14004618b
140046177:	48 0f ba e6 0c       	bt     $0xc,%rsi
14004617c:	73 0d                	jae    0x14004618b
14004617e:	b9 20 00 00 00       	mov    $0x20,%ecx
140046183:	e8 70 61 ff ff       	call   0x14003c2f8
140046188:	83 e3 ef             	and    $0xffffffef,%ebx
14004618b:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140046190:	33 c0                	xor    %eax,%eax
140046192:	85 db                	test   %ebx,%ebx
140046194:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140046199:	0f 94 c0             	sete   %al
14004619c:	48 83 c4 20          	add    $0x20,%rsp
1400461a0:	5f                   	pop    %rdi
1400461a1:	c3                   	ret
1400461a2:	cc                   	int3
1400461a3:	cc                   	int3
1400461a4:	48 8b c4             	mov    %rsp,%rax
1400461a7:	55                   	push   %rbp
1400461a8:	53                   	push   %rbx
1400461a9:	56                   	push   %rsi
1400461aa:	57                   	push   %rdi
1400461ab:	41 56                	push   %r14
1400461ad:	48 8d 68 c9          	lea    -0x37(%rax),%rbp
1400461b1:	48 81 ec e0 00 00 00 	sub    $0xe0,%rsp
1400461b8:	0f 29 70 c8          	movaps %xmm6,-0x38(%rax)
1400461bc:	48 8b 05 55 be 02 00 	mov    0x2be55(%rip),%rax        # 0x140072018
1400461c3:	48 33 c4             	xor    %rsp,%rax
1400461c6:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
1400461ca:	8b f2                	mov    %edx,%esi
1400461cc:	4c 8b f1             	mov    %rcx,%r14
1400461cf:	ba c0 ff 00 00       	mov    $0xffc0,%edx
1400461d4:	b9 80 1f 00 00       	mov    $0x1f80,%ecx
1400461d9:	41 8b f9             	mov    %r9d,%edi
1400461dc:	49 8b d8             	mov    %r8,%rbx
1400461df:	e8 98 60 ff ff       	call   0x14003c27c
1400461e4:	8b 4d 5f             	mov    0x5f(%rbp),%ecx
1400461e7:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1400461ec:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
1400461f1:	f2 0f 10 44 24 40    	movsd  0x40(%rsp),%xmm0
1400461f7:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
1400461fc:	f2 0f 11 44 24 40    	movsd  %xmm0,0x40(%rsp)
140046202:	e8 e1 fe ff ff       	call   0x1400460e8
140046207:	f2 0f 10 75 77       	movsd  0x77(%rbp),%xmm6
14004620c:	85 c0                	test   %eax,%eax
14004620e:	75 40                	jne    0x140046250
140046210:	83 7d 7f 02          	cmpl   $0x2,0x7f(%rbp)
140046214:	75 11                	jne    0x140046227
140046216:	8b 45 bf             	mov    -0x41(%rbp),%eax
140046219:	83 e0 e3             	and    $0xffffffe3,%eax
14004621c:	f2 0f 11 75 af       	movsd  %xmm6,-0x51(%rbp)
140046221:	83 c8 03             	or     $0x3,%eax
140046224:	89 45 bf             	mov    %eax,-0x41(%rbp)
140046227:	44 8b 45 5f          	mov    0x5f(%rbp),%r8d
14004622b:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140046230:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140046235:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
14004623a:	48 8d 45 6f          	lea    0x6f(%rbp),%rax
14004623e:	44 8b ce             	mov    %esi,%r9d
140046241:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140046246:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14004624b:	e8 08 5a ff ff       	call   0x14003bc58
140046250:	e8 53 ff fe ff       	call   0x1400361a8
140046255:	84 c0                	test   %al,%al
140046257:	74 34                	je     0x14004628d
140046259:	85 ff                	test   %edi,%edi
14004625b:	74 30                	je     0x14004628d
14004625d:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140046262:	4d 8b c6             	mov    %r14,%r8
140046265:	f2 0f 10 44 24 40    	movsd  0x40(%rsp),%xmm0
14004626b:	8b cf                	mov    %edi,%ecx
14004626d:	f2 0f 10 5d 6f       	movsd  0x6f(%rbp),%xmm3
140046272:	8b 55 67             	mov    0x67(%rbp),%edx
140046275:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14004627a:	f2 0f 11 44 24 28    	movsd  %xmm0,0x28(%rsp)
140046280:	f2 0f 11 74 24 20    	movsd  %xmm6,0x20(%rsp)
140046286:	e8 f5 fd ff ff       	call   0x140046080
14004628b:	eb 1c                	jmp    0x1400462a9
14004628d:	8b cf                	mov    %edi,%ecx
14004628f:	e8 20 5d ff ff       	call   0x14003bfb4
140046294:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140046299:	ba c0 ff 00 00       	mov    $0xffc0,%edx
14004629e:	e8 d9 5f ff ff       	call   0x14003c27c
1400462a3:	f2 0f 10 44 24 40    	movsd  0x40(%rsp),%xmm0
1400462a9:	48 8b 4d ef          	mov    -0x11(%rbp),%rcx
1400462ad:	48 33 cc             	xor    %rsp,%rcx
1400462b0:	e8 4b e8 fd ff       	call   0x140024b00
1400462b5:	0f 28 b4 24 d0 00 00 	movaps 0xd0(%rsp),%xmm6
1400462bc:	00
1400462bd:	48 81 c4 e0 00 00 00 	add    $0xe0,%rsp
1400462c4:	41 5e                	pop    %r14
1400462c6:	5f                   	pop    %rdi
1400462c7:	5e                   	pop    %rsi
1400462c8:	5b                   	pop    %rbx
1400462c9:	5d                   	pop    %rbp
1400462ca:	c3                   	ret
1400462cb:	cc                   	int3
1400462cc:	48 8b c4             	mov    %rsp,%rax
1400462cf:	55                   	push   %rbp
1400462d0:	53                   	push   %rbx
1400462d1:	56                   	push   %rsi
1400462d2:	57                   	push   %rdi
1400462d3:	41 56                	push   %r14
1400462d5:	48 8d 68 c9          	lea    -0x37(%rax),%rbp
1400462d9:	48 81 ec e0 00 00 00 	sub    $0xe0,%rsp
1400462e0:	0f 29 70 c8          	movaps %xmm6,-0x38(%rax)
1400462e4:	48 8b 05 2d bd 02 00 	mov    0x2bd2d(%rip),%rax        # 0x140072018
1400462eb:	48 33 c4             	xor    %rsp,%rax
1400462ee:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
1400462f2:	8b f2                	mov    %edx,%esi
1400462f4:	4c 8b f1             	mov    %rcx,%r14
1400462f7:	ba c0 ff 00 00       	mov    $0xffc0,%edx
1400462fc:	b9 80 1f 00 00       	mov    $0x1f80,%ecx
140046301:	41 8b f9             	mov    %r9d,%edi
140046304:	49 8b d8             	mov    %r8,%rbx
140046307:	e8 70 5f ff ff       	call   0x14003c27c
14004630c:	8b 4d 5f             	mov    0x5f(%rbp),%ecx
14004630f:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140046314:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
140046318:	f3 0f 10 44 24 40    	movss  0x40(%rsp),%xmm0
14004631e:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140046323:	f3 0f 11 44 24 40    	movss  %xmm0,0x40(%rsp)
140046329:	e8 ba fd ff ff       	call   0x1400460e8
14004632e:	f3 0f 10 75 77       	movss  0x77(%rbp),%xmm6
140046333:	85 c0                	test   %eax,%eax
140046335:	75 40                	jne    0x140046377
140046337:	83 7d 7f 02          	cmpl   $0x2,0x7f(%rbp)
14004633b:	75 11                	jne    0x14004634e
14004633d:	8b 45 bf             	mov    -0x41(%rbp),%eax
140046340:	83 e0 e1             	and    $0xffffffe1,%eax
140046343:	f3 0f 11 75 af       	movss  %xmm6,-0x51(%rbp)
140046348:	83 c8 01             	or     $0x1,%eax
14004634b:	89 45 bf             	mov    %eax,-0x41(%rbp)
14004634e:	44 8b 45 5f          	mov    0x5f(%rbp),%r8d
140046352:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140046357:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14004635c:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
140046361:	48 8d 45 6f          	lea    0x6f(%rbp),%rax
140046365:	44 8b ce             	mov    %esi,%r9d
140046368:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14004636d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140046372:	e8 11 5c ff ff       	call   0x14003bf88
140046377:	e8 2c fe fe ff       	call   0x1400361a8
14004637c:	84 c0                	test   %al,%al
14004637e:	74 41                	je     0x1400463c1
140046380:	85 ff                	test   %edi,%edi
140046382:	74 3d                	je     0x1400463c1
140046384:	f3 0f 10 44 24 40    	movss  0x40(%rsp),%xmm0
14004638a:	4d 8b c6             	mov    %r14,%r8
14004638d:	f3 0f 10 5d 6f       	movss  0x6f(%rbp),%xmm3
140046392:	8b cf                	mov    %edi,%ecx
140046394:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140046399:	8b 55 67             	mov    0x67(%rbp),%edx
14004639c:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1400463a1:	0f 5a c0             	cvtps2pd %xmm0,%xmm0
1400463a4:	0f 5a ce             	cvtps2pd %xmm6,%xmm1
1400463a7:	f2 0f 11 44 24 28    	movsd  %xmm0,0x28(%rsp)
1400463ad:	0f 5a db             	cvtps2pd %xmm3,%xmm3
1400463b0:	f2 0f 11 4c 24 20    	movsd  %xmm1,0x20(%rsp)
1400463b6:	e8 c5 fc ff ff       	call   0x140046080
1400463bb:	f2 0f 5a c0          	cvtsd2ss %xmm0,%xmm0
1400463bf:	eb 1c                	jmp    0x1400463dd
1400463c1:	8b cf                	mov    %edi,%ecx
1400463c3:	e8 ec 5b ff ff       	call   0x14003bfb4
1400463c8:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
1400463cd:	ba c0 ff 00 00       	mov    $0xffc0,%edx
1400463d2:	e8 a5 5e ff ff       	call   0x14003c27c
1400463d7:	f3 0f 10 44 24 40    	movss  0x40(%rsp),%xmm0
1400463dd:	48 8b 4d ef          	mov    -0x11(%rbp),%rcx
1400463e1:	48 33 cc             	xor    %rsp,%rcx
1400463e4:	e8 17 e7 fd ff       	call   0x140024b00
1400463e9:	0f 28 b4 24 d0 00 00 	movaps 0xd0(%rsp),%xmm6
1400463f0:	00
1400463f1:	48 81 c4 e0 00 00 00 	add    $0xe0,%rsp
1400463f8:	41 5e                	pop    %r14
1400463fa:	5f                   	pop    %rdi
1400463fb:	5e                   	pop    %rsi
1400463fc:	5b                   	pop    %rbx
1400463fd:	5d                   	pop    %rbp
1400463fe:	c3                   	ret
1400463ff:	cc                   	int3
140046400:	48 b8 00 00 00 00 00 	movabs $0x8000000000000,%rax
140046407:	00 08 00
14004640a:	48 0b c8             	or     %rax,%rcx
14004640d:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140046412:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
140046418:	c3                   	ret