140048e3c:	90                   	nop
140048e3d:	90                   	nop
140048e3e:	90                   	nop
140048e3f:	90                   	nop
140048e40:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140048e45:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140048e4a:	57                   	push   %rdi
140048e4b:	48 83 ec 20          	sub    $0x20,%rsp
140048e4f:	48 8b 79 10          	mov    0x10(%rcx),%rdi
140048e53:	8b f2                	mov    %edx,%esi
140048e55:	48 8b d9             	mov    %rcx,%rbx
140048e58:	48 85 ff             	test   %rdi,%rdi
140048e5b:	74 2d                	je     0x140048e8a
140048e5d:	48 83 61 10 00       	andq   $0x0,0x10(%rcx)
140048e62:	83 c8 ff             	or     $0xffffffff,%eax
140048e65:	f0 0f c1 47 08       	lock xadd %eax,0x8(%rdi)
140048e6a:	83 f8 01             	cmp    $0x1,%eax
140048e6d:	75 1b                	jne    0x140048e8a
140048e6f:	33 d2                	xor    %edx,%edx
140048e71:	48 8b 07             	mov    (%rdi),%rax
140048e74:	48 8b cf             	mov    %rdi,%rcx
140048e77:	48 8b 40 10          	mov    0x10(%rax),%rax
140048e7b:	ff 15 af 9f 1c 00    	call   *0x1c9faf(%rip)        # 0x140212e30
140048e81:	48 8b cf             	mov    %rdi,%rcx
140048e84:	ff 15 b6 9c 1c 00    	call   *0x1c9cb6(%rip)        # 0x140212b40
140048e8a:	40 f6 c6 01          	test   $0x1,%sil
140048e8e:	74 0e                	je     0x140048e9e
140048e90:	48 85 db             	test   %rbx,%rbx
140048e93:	74 09                	je     0x140048e9e
140048e95:	48 8b cb             	mov    %rbx,%rcx
140048e98:	ff 15 a2 9c 1c 00    	call   *0x1c9ca2(%rip)        # 0x140212b40
140048e9e:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140048ea3:	48 8b c3             	mov    %rbx,%rax
140048ea6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140048eab:	48 83 c4 20          	add    $0x20,%rsp
140048eaf:	5f                   	pop    %rdi
140048eb0:	c3                   	ret
140048eb1:	90                   	nop
140048eb2:	90                   	nop
140048eb3:	90                   	nop
140048eb4:	48 8b c4             	mov    %rsp,%rax
140048eb7:	48 89 58 08          	mov    %rbx,0x8(%rax)
140048ebb:	48 89 68 10          	mov    %rbp,0x10(%rax)
140048ebf:	48 89 70 18          	mov    %rsi,0x18(%rax)
140048ec3:	4c 89 48 20          	mov    %r9,0x20(%rax)
140048ec7:	57                   	push   %rdi
140048ec8:	41 54                	push   %r12
140048eca:	41 55                	push   %r13
140048ecc:	41 56                	push   %r14
140048ece:	41 57                	push   %r15
140048ed0:	48 83 ec 30          	sub    $0x30,%rsp
140048ed4:	4d 8b e8             	mov    %r8,%r13
140048ed7:	4c 8b f2             	mov    %rdx,%r14
140048eda:	48 8b e9             	mov    %rcx,%rbp
140048edd:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
140048ee4:	9c f2 cb
140048ee7:	33 c9                	xor    %ecx,%ecx
140048ee9:	42 0f b6 04 01       	movzbl (%rcx,%r8,1),%eax
140048eee:	48 33 f8             	xor    %rax,%rdi
140048ef1:	48 ba b3 01 00 00 00 	movabs $0x100000001b3,%rdx
140048ef8:	01 00 00
140048efb:	48 0f af fa          	imul   %rdx,%rdi
140048eff:	48 ff c1             	inc    %rcx
140048f02:	48 83 f9 08          	cmp    $0x8,%rcx
140048f06:	72 e1                	jb     0x140048ee9
140048f08:	48 8b 45 30          	mov    0x30(%rbp),%rax
140048f0c:	48 23 c7             	and    %rdi,%rax
140048f0f:	48 03 c0             	add    %rax,%rax
140048f12:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140048f16:	48 8b 5c c1 08       	mov    0x8(%rcx,%rax,8),%rbx
140048f1b:	48 8d 55 08          	lea    0x8(%rbp),%rdx
140048f1f:	4c 8b 22             	mov    (%rdx),%r12
140048f22:	49 3b dc             	cmp    %r12,%rbx
140048f25:	75 08                	jne    0x140048f2f
140048f27:	49 8b dc             	mov    %r12,%rbx
140048f2a:	4d 8b fc             	mov    %r12,%r15
140048f2d:	eb 4a                	jmp    0x140048f79
140048f2f:	48 8b 14 c1          	mov    (%rcx,%rax,8),%rdx
140048f33:	49 8b 00             	mov    (%r8),%rax
140048f36:	eb 09                	jmp    0x140048f41
140048f38:	48 3b da             	cmp    %rdx,%rbx
140048f3b:	74 32                	je     0x140048f6f
140048f3d:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140048f41:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140048f45:	75 f1                	jne    0x140048f38
140048f47:	49 89 1e             	mov    %rbx,(%r14)
140048f4a:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140048f4f:	49 8b c6             	mov    %r14,%rax
140048f52:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140048f57:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140048f5c:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140048f61:	48 83 c4 30          	add    $0x30,%rsp
140048f65:	41 5f                	pop    %r15
140048f67:	41 5e                	pop    %r14
140048f69:	41 5d                	pop    %r13
140048f6b:	41 5c                	pop    %r12
140048f6d:	5f                   	pop    %rdi
140048f6e:	c3                   	ret
140048f6f:	4c 8b e3             	mov    %rbx,%r12
140048f72:	4c 8b fb             	mov    %rbx,%r15
140048f75:	48 8d 55 08          	lea    0x8(%rbp),%rdx
140048f79:	48 b8 55 55 55 55 55 	movabs $0x555555555555555,%rax
140048f80:	55 55 05
140048f83:	48 39 45 10          	cmp    %rax,0x10(%rbp)
140048f87:	75 0e                	jne    0x140048f97
140048f89:	48 8d 0d 70 f2 1f 00 	lea    0x1ff270(%rip),%rcx        # 0x140248200
140048f90:	ff 15 92 97 1c 00    	call   *0x1c9792(%rip)        # 0x140212728
140048f96:	cc                   	int3
140048f97:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140048f9c:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
140048fa2:	0f ae e8             	lfence
140048fa5:	b9 30 00 00 00       	mov    $0x30,%ecx
140048faa:	ff 15 a0 9b 1c 00    	call   *0x1c9ba0(%rip)        # 0x140212b50
140048fb0:	48 8b f0             	mov    %rax,%rsi
140048fb3:	48 85 c0             	test   %rax,%rax
140048fb6:	75 07                	jne    0x140048fbf
140048fb8:	ff 15 72 9b 1c 00    	call   *0x1c9b72(%rip)        # 0x140212b30
140048fbe:	cc                   	int3
140048fbf:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140048fc4:	49 8b 45 00          	mov    0x0(%r13),%rax
140048fc8:	48 89 46 10          	mov    %rax,0x10(%rsi)
140048fcc:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
140048fd1:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140048fd5:	48 8b 02             	mov    (%rdx),%rax
140048fd8:	48 89 46 18          	mov    %rax,0x18(%rsi)
140048fdc:	48 89 4e 20          	mov    %rcx,0x20(%rsi)
140048fe0:	45 33 ed             	xor    %r13d,%r13d
140048fe3:	4c 89 2a             	mov    %r13,(%rdx)
140048fe6:	4c 89 6a 08          	mov    %r13,0x8(%rdx)
140048fea:	48 8b 42 10          	mov    0x10(%rdx),%rax
140048fee:	4c 89 6a 10          	mov    %r13,0x10(%rdx)
140048ff2:	48 89 46 28          	mov    %rax,0x28(%rsi)
140048ff6:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140048ffa:	48 83 c1 01          	add    $0x1,%rcx
140048ffe:	0f 57 c0             	xorps  %xmm0,%xmm0
140049001:	78 07                	js     0x14004900a
140049003:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140049008:	eb 15                	jmp    0x14004901f
14004900a:	48 8b c1             	mov    %rcx,%rax
14004900d:	48 d1 e8             	shr    $1,%rax
140049010:	83 e1 01             	and    $0x1,%ecx
140049013:	48 0b c1             	or     %rcx,%rax
140049016:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14004901b:	f3 0f 58 c0          	addss  %xmm0,%xmm0
14004901f:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
140049023:	0f 57 c9             	xorps  %xmm1,%xmm1
140049026:	48 85 c9             	test   %rcx,%rcx
140049029:	78 07                	js     0x140049032
14004902b:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
140049030:	eb 15                	jmp    0x140049047
140049032:	48 8b c1             	mov    %rcx,%rax
140049035:	48 d1 e8             	shr    $1,%rax
140049038:	83 e1 01             	and    $0x1,%ecx
14004903b:	48 0b c1             	or     %rcx,%rax
14004903e:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140049043:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140049047:	f3 0f 5e c1          	divss  %xmm1,%xmm0
14004904b:	0f 2f 45 00          	comiss 0x0(%rbp),%xmm0
14004904f:	76 50                	jbe    0x1400490a1
140049051:	48 8b cd             	mov    %rbp,%rcx
140049054:	e8 d7 00 00 00       	call   0x140049130
140049059:	48 8b cf             	mov    %rdi,%rcx
14004905c:	48 23 4d 30          	and    0x30(%rbp),%rcx
140049060:	48 03 c9             	add    %rcx,%rcx
140049063:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140049067:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
14004906c:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
140049070:	48 3b c3             	cmp    %rbx,%rax
140049073:	74 1f                	je     0x140049094
140049075:	4c 8b 04 ca          	mov    (%rdx,%rcx,8),%r8
140049079:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14004907d:	eb 0c                	jmp    0x14004908b
14004907f:	48 8b d8             	mov    %rax,%rbx
140049082:	49 3b c0             	cmp    %r8,%rax
140049085:	74 4b                	je     0x1400490d2
140049087:	48 8b 40 08          	mov    0x8(%rax),%rax
14004908b:	48 3b 48 10          	cmp    0x10(%rax),%rcx
14004908f:	75 ee                	jne    0x14004907f
140049091:	48 8b 18             	mov    (%rax),%rbx
140049094:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140049099:	4c 8b fb             	mov    %rbx,%r15
14004909c:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
1400490a1:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1400490a5:	48 ff 45 10          	incq   0x10(%rbp)
1400490a9:	4c 89 26             	mov    %r12,(%rsi)
1400490ac:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1400490b0:	48 89 31             	mov    %rsi,(%rcx)
1400490b3:	48 89 73 08          	mov    %rsi,0x8(%rbx)
1400490b7:	48 8b 45 18          	mov    0x18(%rbp),%rax
1400490bb:	48 23 7d 30          	and    0x30(%rbp),%rdi
1400490bf:	48 03 ff             	add    %rdi,%rdi
1400490c2:	48 8b 14 f8          	mov    (%rax,%rdi,8),%rdx
1400490c6:	48 3b 55 08          	cmp    0x8(%rbp),%rdx
1400490ca:	75 0d                	jne    0x1400490d9
1400490cc:	48 89 34 f8          	mov    %rsi,(%rax,%rdi,8)
1400490d0:	eb 19                	jmp    0x1400490eb
1400490d2:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400490d7:	eb c0                	jmp    0x140049099
1400490d9:	49 3b d7             	cmp    %r15,%rdx
1400490dc:	75 06                	jne    0x1400490e4
1400490de:	48 89 34 f8          	mov    %rsi,(%rax,%rdi,8)
1400490e2:	eb 0c                	jmp    0x1400490f0
1400490e4:	48 39 4c f8 08       	cmp    %rcx,0x8(%rax,%rdi,8)
1400490e9:	75 05                	jne    0x1400490f0
1400490eb:	48 89 74 f8 08       	mov    %rsi,0x8(%rax,%rdi,8)
1400490f0:	49 89 36             	mov    %rsi,(%r14)
1400490f3:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
1400490f8:	e9 52 fe ff ff       	jmp    0x140048f4f
1400490fd:	cc                   	int3
1400490fe:	90                   	nop
1400490ff:	90                   	nop
140049100:	40 53                	rex push %rbx
140049102:	48 83 ec 20          	sub    $0x20,%rsp
140049106:	48 8b d9             	mov    %rcx,%rbx
140049109:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14004910d:	48 85 c9             	test   %rcx,%rcx
140049110:	74 09                	je     0x14004911b
140049112:	48 83 c1 18          	add    $0x18,%rcx
140049116:	e8 21 fc ff ff       	call   0x140048d3c
14004911b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14004911f:	48 85 c9             	test   %rcx,%rcx
140049122:	74 06                	je     0x14004912a
140049124:	ff 15 16 9a 1c 00    	call   *0x1c9a16(%rip)        # 0x140212b40
14004912a:	48 83 c4 20          	add    $0x20,%rsp
14004912e:	5b                   	pop    %rbx
14004912f:	c3                   	ret
140049130:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140049135:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14004913a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14004913f:	41 56                	push   %r14
140049141:	48 83 ec 20          	sub    $0x20,%rsp
140049145:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140049149:	48 8b f1             	mov    %rcx,%rsi
14004914c:	48 83 c2 01          	add    $0x1,%rdx
140049150:	48 8b 59 38          	mov    0x38(%rcx),%rbx
140049154:	0f 57 c0             	xorps  %xmm0,%xmm0
140049157:	78 07                	js     0x140049160
140049159:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
14004915e:	eb 15                	jmp    0x140049175
140049160:	48 8b c2             	mov    %rdx,%rax
140049163:	83 e2 01             	and    $0x1,%edx
140049166:	48 d1 e8             	shr    $1,%rax
140049169:	48 0b c2             	or     %rdx,%rax
14004916c:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140049171:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140049175:	f3 0f 5e 01          	divss  (%rcx),%xmm0
140049179:	e8 10 d9 1b 00       	call   0x140206a8e
14004917e:	f3 0f 10 0d 3a 6f 27 	movss  0x276f3a(%rip),%xmm1        # 0x1402c00c0
140049185:	00
140049186:	33 c9                	xor    %ecx,%ecx
140049188:	0f 2f c1             	comiss %xmm1,%xmm0
14004918b:	72 16                	jb     0x1400491a3
14004918d:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140049191:	0f 2f c1             	comiss %xmm1,%xmm0
140049194:	73 0d                	jae    0x1400491a3
140049196:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14004919d:	00 00 80
1400491a0:	48 8b c8             	mov    %rax,%rcx
1400491a3:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1400491a8:	48 03 c1             	add    %rcx,%rax
1400491ab:	b9 08 00 00 00       	mov    $0x8,%ecx
1400491b0:	48 3b c1             	cmp    %rcx,%rax
1400491b3:	48 0f 47 c8          	cmova  %rax,%rcx
1400491b7:	48 3b d9             	cmp    %rcx,%rbx
1400491ba:	73 15                	jae    0x1400491d1
1400491bc:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
1400491c3:	73 09                	jae    0x1400491ce
1400491c5:	48 c1 e3 03          	shl    $0x3,%rbx
1400491c9:	48 3b d9             	cmp    %rcx,%rbx
1400491cc:	73 03                	jae    0x1400491d1
1400491ce:	48 8b d9             	mov    %rcx,%rbx
1400491d1:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
1400491d8:	ff ff 0f
1400491db:	48 0f bd c8          	bsr    %rax,%rcx
1400491df:	b8 01 00 00 00       	mov    $0x1,%eax
1400491e4:	48 d3 e0             	shl    %cl,%rax
1400491e7:	48 3b d8             	cmp    %rax,%rbx
1400491ea:	76 0e                	jbe    0x1400491fa
1400491ec:	48 8d 0d dd ef 1f 00 	lea    0x1fefdd(%rip),%rcx        # 0x1402481d0
1400491f3:	ff 15 2f 95 1c 00    	call   *0x1c952f(%rip)        # 0x140212728
1400491f9:	cc                   	int3
1400491fa:	48 8d 43 ff          	lea    -0x1(%rbx),%rax
1400491fe:	bf 01 00 00 00       	mov    $0x1,%edi
140049203:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140049207:	48 83 c8 01          	or     $0x1,%rax
14004920b:	48 0f bd c8          	bsr    %rax,%rcx
14004920f:	4c 8b c3             	mov    %rbx,%r8
140049212:	ff c1                	inc    %ecx
140049214:	48 d3 e7             	shl    %cl,%rdi
140049217:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
14004921b:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
14004921f:	e8 20 46 fc ff       	call   0x14000d844
140049224:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140049228:	48 89 7e 38          	mov    %rdi,0x38(%rsi)
14004922c:	48 89 46 30          	mov    %rax,0x30(%rsi)
140049230:	48 8b 46 08          	mov    0x8(%rsi),%rax
140049234:	48 8b 00             	mov    (%rax),%rax
140049237:	48 8b c8             	mov    %rax,%rcx
14004923a:	48 3b c3             	cmp    %rbx,%rax
14004923d:	0f 84 c7 00 00 00    	je     0x14004930a
140049243:	48 8b 09             	mov    (%rcx),%rcx
140049246:	49 bb 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r11
14004924d:	9c f2 cb
140049250:	45 33 c0             	xor    %r8d,%r8d
140049253:	42 0f b6 54 00 10    	movzbl 0x10(%rax,%r8,1),%edx
140049259:	49 b9 b3 01 00 00 00 	movabs $0x100000001b3,%r9
140049260:	01 00 00
140049263:	4c 33 da             	xor    %rdx,%r11
140049266:	49 ff c0             	inc    %r8
140049269:	4d 0f af d9          	imul   %r9,%r11
14004926d:	49 83 f8 08          	cmp    $0x8,%r8
140049271:	72 e0                	jb     0x140049253
140049273:	4c 23 5e 30          	and    0x30(%rsi),%r11
140049277:	48 8b 7e 18          	mov    0x18(%rsi),%rdi
14004927b:	4d 03 db             	add    %r11,%r11
14004927e:	4a 39 1c df          	cmp    %rbx,(%rdi,%r11,8)
140049282:	75 0b                	jne    0x14004928f
140049284:	4a 89 04 df          	mov    %rax,(%rdi,%r11,8)
140049288:	4a 89 44 df 08       	mov    %rax,0x8(%rdi,%r11,8)
14004928d:	eb 6f                	jmp    0x1400492fe
14004928f:	4e 8b 54 df 08       	mov    0x8(%rdi,%r11,8),%r10
140049294:	48 8b 50 10          	mov    0x10(%rax),%rdx
140049298:	49 3b 52 10          	cmp    0x10(%r10),%rdx
14004929c:	75 35                	jne    0x1400492d3
14004929e:	4d 8b 12             	mov    (%r10),%r10
1400492a1:	4c 3b d0             	cmp    %rax,%r10
1400492a4:	74 e2                	je     0x140049288
1400492a6:	4c 8b 48 08          	mov    0x8(%rax),%r9
1400492aa:	49 89 09             	mov    %rcx,(%r9)
1400492ad:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1400492b1:	4d 89 10             	mov    %r10,(%r8)
1400492b4:	49 8b 52 08          	mov    0x8(%r10),%rdx
1400492b8:	48 89 02             	mov    %rax,(%rdx)
1400492bb:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400492bf:	4c 89 49 08          	mov    %r9,0x8(%rcx)
1400492c3:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400492c7:	eb bf                	jmp    0x140049288
1400492c9:	4d 8b 52 08          	mov    0x8(%r10),%r10
1400492cd:	49 3b 52 10          	cmp    0x10(%r10),%rdx
1400492d1:	74 4d                	je     0x140049320
1400492d3:	4e 39 14 df          	cmp    %r10,(%rdi,%r11,8)
1400492d7:	75 f0                	jne    0x1400492c9
1400492d9:	4c 8b 48 08          	mov    0x8(%rax),%r9
1400492dd:	49 89 09             	mov    %rcx,(%r9)
1400492e0:	4c 8b 41 08          	mov    0x8(%rcx),%r8
1400492e4:	4d 89 10             	mov    %r10,(%r8)
1400492e7:	49 8b 52 08          	mov    0x8(%r10),%rdx
1400492eb:	48 89 02             	mov    %rax,(%rdx)
1400492ee:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400492f2:	4c 89 49 08          	mov    %r9,0x8(%rcx)